feat: add bounded stop conditions to crewmate briefs#423
Conversation
97a028a to
075a3d3
Compare
|
Thanks for the PR! This branch currently has a merge conflict with the base branch. When you get a chance, please rebase onto (or merge) the latest base branch, resolve the conflict, and push. After that, checks will re-run and the PR will get looked at again. Noted for firstmate#423 at |
4cd8433 to
4e1014b
Compare
4e1014b to
70ec3d1
Compare
|
Thanks for the PR! This branch currently has a merge conflict with the base branch. When you get a chance, please rebase onto (or merge) the latest base branch, resolve the conflict, and push. After that, checks will re-run and the PR will get looked at again. Noted for firstmate#423 at |
6aeb38e to
e1867dc
Compare
2e3d290 to
f5113f9
Compare
|
Thanks for the PR! This branch currently has a merge conflict with the base branch. When you get a chance, please rebase onto (or merge) the latest base branch, resolve the conflict, and push. After that, checks will re-run and the PR will get looked at again. Noted for firstmate#423 at |
f5113f9 to
59058c1
Compare
kunchenguid
left a comment
There was a problem hiding this comment.
Two concerns with the stop-condition/budget framing:
-
Naming inconsistency: The feature is called "budget" in some places (e.g.
--budgetflag, thetask-specific budgetprose) and "stop condition" in others. If this is purely advisory guidance to the AI agent, the terminology should be consistent throughout — pick one term and use it everywhere. "Stop condition" is the more accurate description for honor-system guidance. -
Enforcement gap: If this is intended as a real budget (a hard cap), it must be deterministically enforced — an external watchdog, action counter, or timer — not left to the agent's self-reporting. A purely honor-system instruction is not a budget; it is a guideline. Either rename it to reflect that it is guidance only, or implement deterministic enforcement.
Please either:
- Rename all uses of "budget" to "stop condition" and remove any implication of hard enforcement, or
- Implement actual deterministic enforcement and keep the "budget" terminology.
|
No description provided. |
…ocale-safe Herdr regex
59058c1 to
e32c45f
Compare
|
Addressed the requested changes and rebased the PR branch onto current
|
Intent
Add explicit stop conditions and bounded work caps to firstmate's standard ship and scout crewmate brief scaffolds, closing the gap where new obstacles can consume unbounded time without a supervisor-actionable update. Include a default of roughly two hours or 50 significant actions with no supervisor-actionable phase change, while making clear that expected waiting on validation or long test suites is not exhaustion. Add an optional --budget '' task-specific hard cap that renders in the same block. Report early and stop if the task is clearly larger than briefed. Preserve the existing status protocol, isolation assertion, Herdr-lab gate, delivery-mode definitions of done, and shared scaffold structure. Keep the change focused, extend the existing fm-brief tests for ship and scout defaults, the budget override, and unregressed sections, and keep shell scripts shellcheck-clean. Document --budget in AGENTS.md section 11 and docs/scripts.md as an optional per-task control for unattended or long-running task shapes, and fix the fm-brief.sh usage() range so --help includes its entire script contract.
What Changed
Captain, this covers the full branch delta.
--budget '<text>'for task-specific hard caps, with argument validation and expanded brief-rendering coverage.Risk Assessment
✅ Low: Captain, the change is well-bounded, preserves existing brief invariants, validates ambiguous budget arguments, and includes focused regression coverage.
Testing
The supplied full tmux-backed baseline and focused brief tests passed; manual CLI generation demonstrated default and custom budget caps, preserved ship/scout contracts, complete help and documentation, with reviewer-visible transcript evidence and no worktree residue.
Evidence: End-user fm-brief CLI transcript
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.
command -v tmux >/dev/null || { echo "tmux is required for e2e tests" >&2; exit 1; }; tmux -V; rc=0; for t in tests/*.test.sh; do echo "== $t =="; bash "$t" || rc=1; done; exit "$rc"Supplied successful baseline:command -v tmux >/dev/null || { echo "tmux is required for e2e tests" >&2; exit 1; }; tmux -V; rc=0; for t in tests/*.test.sh; do echo "== $t =="; bash "$t" || rc=1; done; exit "$rc"bash tests/fm-brief.test.shbin/fm-brief.sh --helpGenerated default ship, direct-PR, local-only, Herdr-lab, and budgeted scout briefs usingbin/fm-brief.shVerified stop caps, waiting exception, early scope stop, status protocol, isolation, delivery definitions, and documentation in the rendered outputgit status --shortbefore and after evidence capture✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.