Files
ss-tools/specs/038-dashboard-scenario-model/traceability.md
busya d874a4dca6 feat(speckit): workflow architecture upgrades + rework 038 spec per new flow
Add prototype/openapi/validate/resume commands, wire edge-failure matrix into UX,
enforce traceability + validation gates, mandate C4/C5 belief-runtime verification.
Rework 038-dashboard-scenario-model artifacts: applicability, structured edge cases,
24-class UX state matrix, interactive HTML prototype, standardized OpenAPI 3.1 (7 ops),
full RTM with coverage gate, 56-task backlog, and PASS validation report.
2026-07-31 11:25:43 +03:00

6.3 KiB
Raw Blame History

#region DashboardScenarioModel.Traceability [C:3] [TYPE ADR] [SEMANTICS traceability,rtm,scenario] @defgroup Trace Matrix Requirements → Screen+State → Model → API → Contract → Task → Test for feature 038.

Applicability

  • Feature type: Fullstack (backend compiler/validator/resolver core + thin UI preview consumed by 039 + agent tools)
  • UI surface: Yes — scenario graph preview, coverage, resolution, pack states (DTOs supplied to 039)
  • API surface: Yes — 7 operations in contracts/openapi.yaml

Traceability Matrix

Story / Req UX Screen + State Screen Model API operationId Contract Backend Task Frontend Task Test
US1: Build Scenario Graph preview (loading → loaded) N/A — DTO only compileDashboardScenario ScenarioGraph.Compiler.Compile T009T012 N/A — UI in 039 Test.Scenario.Compiler
AGSCN-FR-001/002/009 preview (loaded) N/A — DTO only compileDashboardScenario ScenarioGraph.Compiler.Compile T005T012 N/A — UI in 039 Test.Scenario.Schema
US2: Validate Safety preview (blocked) N/A — DTO only validateDashboardScenario ScenarioGraph.Validator.Validate T013T017 N/A — UI in 039 Test.Scenario.Validator
AGSCN-FR-004/005 preview (blocked) N/A — DTO only validateDashboardScenario ScenarioGraph.Validator.Validate T014T016 N/A — UI in 039 Test.Scenario.Validator.Edge
US3: Checklist Coverage preview (coverage panel) N/A — DTO only compileDashboardScenario ScenarioGraph.CapabilityMapper.Map T006T008 N/A — UI in 039 Test.Scenario.Capability
AGSCN-FR-006 preview (coverage panel) N/A — DTO only compileDashboardScenario ScenarioGraph.Catalog.Load T001T004 N/A — UI in 039 Test.Scenario.Catalog
US4: Parameters/Checkpoints preview (resolution) N/A — DTO only resolveDashboardScenario ScenarioGraph.Resolver.Resolve T022T025 N/A — UI in 039 Test.Scenario.Resolver
AGSCN-FR-007/008 preview (resolution) N/A — DTO only resolveDashboardScenario + compile ScenarioGraph.Serializer.Canonical T018T021 N/A — UI in 039 Test.Scenario.Serializer
US5: Capture/VLM/Disposition preview (vlm findings) N/A — DTO only captureScenarioScreenshot, analyzeScenarioScreenshot, disposeVlmFindings ScenarioGraph.Capture.Dispatch, ScenarioGraph.Vlm.Analyze, ScenarioGraph.Human.Disposition T037T047 N/A — UI in 039 Test.Scenario.Capture, Test.Scenario.Vlm, Test.Scenario.Disposition
AGSCN-FR-010 preview (capture) N/A — DTO only captureScenarioScreenshot ScenarioGraph.Capture.Dispatch T037T039 N/A — UI in 039 Test.Scenario.Capture
AGSCN-FR-011 preview (vlm) N/A — DTO only analyzeScenarioScreenshot ScenarioGraph.Vlm.Analyze T040T042 N/A — UI in 039 Test.Scenario.Vlm
AGSCN-FR-012 preview (disposition) N/A — DTO only disposeVlmFindings ScenarioGraph.Human.Disposition T043T044 N/A — UI in 039 Test.Scenario.Disposition
Draft pack (pack compiler) preview (preview_only / save_eligible) N/A — DTO only compileScenarioDraftPack ScenarioGraph.PackCompiler.Generate T026T030 N/A — UI in 039 Test.Scenario.Pack
Edge E6 (409 stale) preview (stale409 modal) N/A — DTO only resolveDashboardScenario ScenarioGraph.Resolver.Resolve T023 N/A — UI in 039 Test.Scenario.Resolver.Edge
Edge E9 (429) preview (rate limited) N/A — DTO only any scenario op ScenarioGraph.Api T031T032 N/A — UI in 039 Test.Api.Scenarios.Edge
Edge E11 (malformed VLM) preview (vlm inconclusive) N/A — DTO only analyzeScenarioScreenshot ScenarioGraph.Vlm.Analyze T040 N/A — UI in 039 Test.Scenario.Vlm.Edge
Edge E13 (injection) preview (pack blocked) N/A — DTO only compileScenarioDraftPack ScenarioGraph.PackCompiler.Generate T026, T034 N/A — UI in 039 Test.Scenario.Pack.Security
NFR: determinism N/A — infra N/A — infra N/A — no API ScenarioGraph.Compiler.Compile T012, T021 N/A — backend-only Test.Scenario.Serializer
NFR: RBAC N/A — infra N/A — infra N/A — security ScenarioGraph.Api T032 N/A — backend-only Test.Api.Scenarios.Rbac

N/A Rationale Key

  • N/A — UI in 039: 038 renders no UI; it supplies DTOs consumed by feature 039 preview
  • N/A — DTO only: Screen Model pattern not needed; state lives in 039 components bound to 038 DTOs
  • N/A — infra: Shared infrastructure, not user-facing
  • N/A — no API: Determinism/RBAC are cross-cutting invariants, not endpoints
  • N/A — backend-only: No frontend task for backend-only work

Impact Analysis Quick Reference

If you change... These fixtures verify it These tests verify it These screens depend
ScenarioGraph.Compiler.Compile FX_Scenario.Valid, FX_Scenario.Shuffled Test.Scenario.Compiler, Test.Scenario.Serializer preview (039)
ScenarioGraph.Validator.Validate FX_Scenario.Cycle, FX_Scenario.MissingRef, FX_Scenario.RawBaseline Test.Scenario.Validator preview (039)
ScenarioGraph.PackCompiler.Generate FX_Scenario.PreviewOnly, FX_Scenario.InjectedCode Test.Scenario.Pack preview (039)
ScenarioGraph.Vlm.Analyze FX_Scenario.VlmTyped, FX_Scenario.VlmStalePrompt Test.Scenario.Vlm preview (039)
contracts/openapi.yaml FX_Api.Compile.* Test.Api.Scenarios preview (039)
ScenarioGraph.Catalog.Load FX_Scenario.Catalog19 Test.Scenario.Catalog preview coverage (039)

Coverage Gate

  • Every user story (US1US5) has at least one row
  • Every functional requirement (AGSCN-FR-001..012) has at least one row
  • Every API endpoint has at least one row for success AND at least one row for an error state (E6 409, E9 429, E11, E13)
  • Every Screen Model column is N/A with rationale (038 is DTO-only; 039 owns rendering)
  • Every N/A cell carries a rationale from the key above
  • Every contract referenced appears in contracts/modules.md
  • Every task ID (Txxx) appears in tasks.md
  • Impact table covers every contract with downstream dependents

#endregion DashboardScenarioModel.Traceability