Spaces:
Running
Running
Commit History
22 days ago
-
fix(findings): Wave 1 of the findings triage — stop the noise, show the real failures
Three days of Slack (2026-10-12..15, 47 SE builds): ~600 of 662 warnings were `bound_not_inferable`, noise that buried the pile-ups, the mirrored column and the weak insights under "… and N more". Four deploy failures were unprovisioned ThoughtSpot users reported only as "authentication failed". Plan: dev_notes/PLAN_findings_triage_2026_10_15.md, section 4, Wave 1. A1 the post-load gate reads the blueprint's fmt / signed / kind per measure: DatasetColumn carries them, quality_gate.measure_formats collects them, chat_interface threads them (the MCP path runs the same controller), so an int count or a currency amount is non-negative, not "unclassified" A2 infer_bound returns a `signed` MeasureBound — unbounded by design, no gap, hard=False — for NET_/MARGIN/VARIANCE/FLOW names, declared-signed measures and difference formulas, instead of the same None as "no class matched"; every consumer checks .unbounded / .hard and does nothing A3 quality.findings.dedupe: a…c6a9e6a
28 days ago
-
fix(mcp): ISS-22 login precheck before a build takes a slot
A user with no ThoughtSpot account on the target cluster (Patrick Case, Kris Lefebvre, James Ward) or a cluster in standby (sebe, 2026-10-06) cost 2-4 minutes of data generation and a Snowflake load (orphan schema), then failed at login as "ThoughtSpot authentication failed" - for standby, behind a JSON parse error. build_demo_from_brief now makes ONE trusted-auth token request for the owner (same body/headers/username as the deployer's own login, (3, 7) s timeout) after resolving target and owner and before taking a build slot: - no account / other ThoughtSpot 400-401-403 / standby page -> failed at once with the real reason; intake + result rows still written (run_id) - timeout, connection error, 429, 5xx, unrecognised answer -> build goes ahead, outcome logged The outcome (login_precheck) rides on the intake and result rows. The deployer's authenticate_trusted() names a non-JSON 200 (standby page, or "non-JSON response, content-type X") instead of the parse error and no longer…30d7d85
-
feat(gates): warn and ship — severity on the rule, proportional data gate, geo/liveboard fallbacks, findings to Slack + demo_findings
Reviewer handoff 2026-09-22: 13 of 35 failed/partial runs since Aug 13 died on problems that were not unbuildable. A build now dies only when the demo is genuinely impossible to produce; everything else warns, is recorded as a Finding, and ships. - F DemoBlueprint.findings() / directive_findings() emit Findings with the severity decided by the rule; build_demo reads blocking() and raises BlueprintAborted (carries the records). _STRUCTURAL_KEYWORDS, _COSMETIC_MARKERS, _structural_problems deleted. - A dimension floor 3, warn at 2, abort at 0-1 (Symbotic SHIFT, Bronco PERIOD_TYPE) - B placeholder names never abort; _placeholder_values needs >=2 stamped members in one dimension (Spendflo DEPARTMENT=Product is clean) - C QUESTION_GENERATION_ATTEMPTS=3, then deploy_all ships model + schema with a no_liveboard warning finding, liveboard_creation_path='none', MCP 'partial' (boone confirmed 09-22) - D strip geo_config and re-import when ThoughtSpot rejects t…2f5718d
-
fix: recover liveboard creation after MCP answer failures
mike boone827eb22
-
fix: restore MCP-first liveboard answer flow
mike boonec3449ec
-
feat: add deployment notifications and tested demo updates
mike boone3c65377