docs(specs): complete dashboard testing contracts

This commit is contained in:
2026-07-23 14:08:09 +03:00
parent eeb3a05e42
commit fb6327e92b
28 changed files with 2164 additions and 139 deletions

View File

@@ -1,5 +1,7 @@
#region DashboardScenarioModel.Modules [C:5] [TYPE ADR] [SEMANTICS contracts,scenario,graph,validator,compiler]
@BRIEF C3+ contracts for checklist mapping, deterministic graph compilation, validation, resolution, serialization, and safe draft packs.
@RATIONALE The scenario graph is the reviewable intermediate boundary between agent intent and generated artifacts; it centralizes safety, determinism, and capability coverage.
@REJECTED Direct agent-to-script generation — rejected because missing refs, unsafe actions, and baseline truth would be discovered only after artifact generation or runtime.
@RELATION DEPENDS_ON -> [DashboardScenarioModel.DataModel]
@RELATION DEPENDS_ON -> [DashboardScenarioModel.ChecklistCatalog]
@RELATION DEPENDS_ON -> [SupersetBaselineEngine.Modules]
@@ -34,6 +36,8 @@
# @POST Every catalog case is automated, human_checkpoint, unsupported, or needs_context with rationale.
# @SIDE_EFFECT None.
# @DATA_CONTRACT ChecklistCase[] + DashboardCapabilities -> CapabilityMapping[]
# @RATIONALE Capability mapping keeps checklist intent reusable while allowing each dashboard to receive only safe, applicable step templates.
# @REJECTED One-size-fits-all scripts and user-facing low-level tool selection — rejected because capabilities, safety, and available evidence vary per dashboard.
# @INVARIANT No case is dropped and no tool is selected outside its registered capabilities.
# @TEST_EDGE xlsx_unavailable -> C04C06 manual/unsupported with rationale.
# @TEST_EDGE technical_without_dataset_fields -> human checkpoint, no SQL.
@@ -61,6 +65,8 @@
# @POST Valid is true only with zero errors/blockers; findings are stably ordered and actionable.
# @SIDE_EFFECT None.
# @DATA_CONTRACT DashboardTestScenario -> ScenarioValidationResult
# @RATIONALE Validation is a hard safety boundary between agent-produced intent and artifact generation; deterministic findings give the user a recoverable explanation instead of a runtime surprise.
# @REJECTED Silent graph repair or best-effort artifact generation — rejected because auto-fixing refs, cycles, or unsafe actions can change business intent without review.
# @INVARIANT Cycles, missing/duplicate refs, unregistered tools, SQL, raw metric truth, and path traversal block compilation.
# @TEST_EDGE cycle -> error contains cycle path.
# @TEST_EDGE duplicate_output -> both producer ids reported.