Mechanical rename produced by scripts/msd-rename.cjs: gsd/Gsd/GSD -> msd/Msd/MSD across contents and paths, upstream package/repo coordinates -> @golem15/msd-core and golem15com/msd-core. Deep links into upstream history, sibling upstream packages, the GSD-2 import feature, CHANGELOG.md and .changeset/ are kept as-is. Hand edits on top: MSD block-letter banner and logos, LICENSE copyright line, package/plugin identity, regenerated lockfile, install-tree fixtures, derived registries and benchmark baseline; migration checksum baseline re-locked (MSD keeps its own install state, so no install had applied the old sums); sort-order and regex-escaped expectations in tests adjusted.
2.7 KiB
id, title, group
| id | title | group |
|---|---|---|
| 40 | Verification Debt Tracking | Infrastructure Features |
Command: /msd-audit-uat
Purpose: Prevent silent loss of UAT/verification items when projects advance past phases with outstanding tests. Surfaces verification debt across all prior phases so items are never forgotten.
Components:
1. Cross-Phase Health Check (progress.md Step 1.6)
Every /msd-progress call scans ALL phases in the current milestone for outstanding items (pending, skipped, blocked, human_needed, gaps_found). Displays a non-blocking warning section with actionable links.
A verification report counts as outstanding under EITHER terminal non-passing status: human_needed contributes its human_verification: entries, and gaps_found contributes both its human_verification: and its gaps: entries, excluding any already closed. What counts as closed is per key: a gaps: entry closes on status: resolved and nothing else — the same rule the ## Gaps markdown reader applies, so one authored entry cannot read closed in one reader and open in the other — while a human_verification: entry also closes on a bare resolution: field, provided no status: contradicts it (#3850).
2. status: partial (verify-work.md, UAT.md)
New UAT status that distinguishes between "session ended" and "all tests resolved". Prevents status: complete when tests are still pending, blocked, or skipped without reason.
3. result: blocked with blocked_by tag (verify-work.md, UAT.md)
New test result type for tests blocked by external dependencies (server, physical device, release build, third-party services). Categorized separately from skipped tests.
4. HUMAN-UAT.md Persistence (execute-phase.md)
When verification returns human_needed, items are persisted as a trackable HUMAN-UAT.md file with status: partial. Feeds into the cross-phase health check and audit systems.
5. Phase Completion Warnings (phase.cjs, transition.md)
phase complete CLI returns verification debt warnings in its JSON output. Transition workflow surfaces outstanding items before confirmation.
Requirements:
- REQ-DEBT-01: System MUST surface outstanding UAT/verification items from ALL prior phases in
/msd-progress - REQ-DEBT-02: System MUST distinguish incomplete testing (partial) from completed testing (complete)
- REQ-DEBT-03: System MUST categorize blocked tests with
blocked_bytags - REQ-DEBT-04: System MUST persist human_needed verification items as trackable UAT files
- REQ-DEBT-05: System MUST warn (non-blocking) during phase completion and transition when verification debt exists
- REQ-DEBT-06:
/msd-audit-uatMUST scan all phases, categorize items by testability, and produce a human test plan