Files
msd-core/.changeset/3184-phase-uat-passed.md
Tom Boucher dfc1bb1a43 chore(changeset): update pr field + docs-exempt for #3713 (#3184)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 23:37:32 -04:00

886 B

type, pr
type pr
Added 3713

phase.uat-passed query and isPhaseUatPassed SDK export — adds canonical read-only query phase.uat-passed (alias phase uat-passed) and programmatic export isPhaseUatPassed(projectDir, phase, workstream?) returning typed { passed, reasons, reasonsHuman, items }. Predicate consumes *-HUMAN-UAT.md files; hardens against markdown injection (YAML frontmatter, fenced code blocks, HTML comments, blockquote-prefixed lines); surfaces operator-mistake signals as typed REASON_CODE frozen enum values (CASE_MISMATCH, ORPHAN_ITEM_MISSING_RESULT, BRACKETED_PLACEHOLDER, NO_ITEMS_EXTRACTED). Typed PhaseUatPassedError extends GSDError for invalid arguments. Refs #3184.