feat: distinguish worker completion evidence states - #4892
jasonlgong wants to merge 6 commits into
Conversation
|
Speaking as Kun's firstmate: HEAD Attestation: MATCH (body Contract-class: restore. Tip vs main: existing ship/scout completion handoff path already promised distinct ready signals ( VISION.md (per rule)
Outcome: waiting-ci. Firstmate flag: no. Security FYI: none. |
Gate report-bearing ship retirement on explicit canonical report metadata. Preserve the scout discard boundary. Label worker checkpoints and require passing-check evidence before reporting green CI; expose skipped and absent checks. Validation: brief and crew-state suites, new report retirement cases, pinned lint, documentation audience checks, and Bash syntax pass. The full teardown suite stops at herdr-preflight-missing-adapter; the unchanged base commit reproduces that same failure.
b8c8609 to
a984be9
Compare
Intent
Build the 'canonical handoff bundles' firstmate improvement so a worker's completion can never be misread as more than it is. From the session retro (data/fm-session-retro-review/report.md, prioritized system recommendation #3): validate that a worker's report exists at its canonical path before the worker retires, and make status/handoff evidence distinguish committed vs tested vs published vs green-CI, so a 'done: committed' checkpoint cannot be read as 'green CI' and a reviewer never opens to an advertised-but-absent report. This session hit both problems: reviewers found fix reports absent at their canonical data//report.md paths and had to read worktree checkpoints instead, and a 'done: committed' nearly read as shipped.
What Changed
publishedandgreen-CIhandoff signals while retaining legacy PR lines.Risk Assessment
✅ Low: The changed completion vocabulary, CI evidence classification, and PR extraction paths are internally consistent, and no additional source-verifiable defect was found in the reviewed diff.
Testing
Ran the three focused product-level shell test suites. All scenarios passed, and no transient worktree artifacts remained. No UI surface applies, so no screenshot was needed.
./tests/fm-brief.test.sh./tests/fm-crew-state.test.sh./tests/fm-inactive-reconcile.test.shEvidence: Targeted validation output
Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
✅ **Review** - passed
✅ No issues found.
✅ **Test** - passed
✅ No issues found.
./tests/fm-brief.test.sh./tests/fm-crew-state.test.sh./tests/fm-inactive-reconcile.test.sh./tests/fm-brief.test.sh./tests/fm-crew-state.test.sh./tests/fm-inactive-reconcile.test.shgit status --short✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.