feat(brief): add pipeline wait rule to no-mistakes ship briefs - #45
Merged
Merged
Conversation
…of done Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
TastyTom13
force-pushed
the
fm/fm-brief-pipeline-wait-rule
branch
from
September 30, 2026 08:26
5ef3a75 to
899abd7
Compare
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.
Intent
Said 2026-09-29 evening: "we have been burning tokens at a rate faster then usual. I wonder why."
Context found by firstmate: the generated crew instructions say nothing about how to wait for the no-mistakes pipeline, so workers improvise. Pi workers ran
sleep 180; no-mistakes axi statusloops for hours, one model turn every three minutes per worker, which emptied the ChatGPT pool. A Claude worker put a change monitor onno-mistakes axi status, whose elapsed timers change every second, and received 60 events in 30 minutes, each a model turn.What Changed
bin/fm-dod-lib.sh: the generated no-mistakes crew brief now has a "Waiting on the pipeline" section. It tells workers to keep the drive call's--waitwithin their harness command limit and to wait with a singlesleep 540call betweenno-mistakes axi statuschecks. It forbids change monitors or watch tools onaxi statusoutput, because its timers change every second. It also tells workers to append apaused: awaiting pipeline <step> on <branch or PR>line to the status file, and to add a new line only when the step changes.tests/fm-brief.test.sh: no-mistakes briefs must contain the new section, the harness-bounded--waitrule and the paused declaration. Direct-PR and local-only briefs must not contain the section.Risk Assessment
✅ Low: The change adds a short wait-rule section to the no-mistakes brief and a test that checks the generated brief; the earlier review fixes (verb from the shared variable, waits under the harness cap) are in place.
Testing
I ran the real brief generator in a throwaway home for all three modes and once with the paused verb overridden. The no-mistakes brief has the wait rule, the other two do not, and the override shows up in the brief. I also ran the whole brief test file and it passed. No UI is involved. I could not run a live worker to see if it obeys the text, because that needs a real model run.
holding:notpaused:Evidence: Generated briefs across modes and verb override
Source: Generated briefs across modes and verb override
Evidence: fm-brief.test.sh output
Source: fm-brief.test.sh 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.
holding:notpaused:FM_HOME=<tmp> bin/fm-brief.sh b-<mode> some-proj --mode no-mistakes|direct-PR|local-only, then inspected the generated brief.md filesFM_CLASSIFY_PAUSED_VERB=holding bin/fm-brief.sh ... --mode no-mistakesand checked the rendered declarationbash tests/fm-brief.test.sh(whole file, exit 0)✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.
Built by: claude/sonnet at medium