Repository navigation
fix(dispatch,gate): release settled attempt records, read a bold Lane header - #660
Merged
Merged
Conversation
… header Two follow-ups from the same session. commands/dispatch.md Step 6 never called attempt-state.sh release, so every dispatched task left a record in kit-attempts/ for the life of the checkout. Step 6 now releases a settled task first in the per-goal GC sequence and says that release keeps nothing. hooks/ship-gate.sh parsed the spec lane with '^Lane:' only, so a spec written as '**Lane**: full' was BLOCKED for having no lane header. The three parsers (ship-gate.sh, commands/ship.md, commands/mega.md) now accept the two bold forms through one grep and one sed. A leading list marker stays refused: specs use '- **Lane:** ...' in prose, and accepting it would parse a sentence as the lane. commands/spec.md now emits the plain canonical line, which its template omitted entirely. hooks/codex-hooks.json re-pins the ship-gate.sh content hash.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two follow-ups from the same session, one PR. Spec:
docs/specs/SPEC-293-attempt-release-lane-header.md(Lane: full). Proof:docs/verification/attempt-release-lane-header.md. Impl notes:docs/implementation-notes/attempt-release-lane-header.md. Board: ID-885.1. dispatch Step 6 never released an attempt record
SPEC-290 wired most
attempt-state.shverbs intocommands/dispatch.mdand left outrelease, sokit-attempts/grew for the life of the checkout. Step 6 now releases a settled task first in the per-goal GC sequence, and says plainly thatreleasedeletes the record whole (attempt history included), so the durable trail is the merged branch and the run ledger.2. the ship-gate could not read a bold Lane header
A worker wrote
**Lane**: fulland the push was BLOCKED with "Spec has no 'Lane:' header". The three parsers now share one expression:hooks/ship-gate.sh,commands/ship.md,commands/mega.md. A leading-list marker is refused on purpose: specs use- **Lane:** ...in prose, and accepting it would parse a sentence as the lane.commands/spec.mdnow emits the plain canonicalLane:line, which its template omitted entirely.hooks/codex-hooks.jsonre-pins the ship-gate content hash.Verification
bash tests/run-all.sh-> all 151 suites passed, 0 skipped.tests/test-ship-gate-fail-closed.shcovers the three accepted header shapes and keeps the missing-header BLOCKED case.tests/test-meta.shpins theattempt-state.sh releasecall incommands/dispatch.md.tests/test-attempt-state.shcase 21 already covered thereleaseverb.Negative control (
lib/gate/negctl.sh): reverting the grep to^Lane:takes the suite RED (exit 1), restore returns it green. Verdict PASS.