This was generated by AI during triage.
Surfaced during the cross-repo workflow envelope pass (skills#180/#181 conventions; PR #113 here covered the three onboarded proposal loops but deliberately left this file alone).
.github/workflows/integration-gate.yml's boot-verify step invokes headless claude -p with no --model flag at all — it rides the CLI's floating default, so an unattended gate run silently inherits whatever model the default resolves to next. It also carries no --max-budget-usd backstop.
Recommendation
- Pin
--model claude-sonnet-4-6 (exact ID, not an alias) with the standard deliberate-pin comment — bump only after testing the gate on a new model.
- Add
--max-budget-usd 1.00: ledger shows n=2, ~$0.03/run, so $1 is a generous backstop that can never trip a healthy boot-verify but stops a runaway well short of the job timeout.
Both are one-line additions to the existing invocation; the run already emits total_cost_usd to the cost ledger, so no metering change needed.
Surfaced during the cross-repo workflow envelope pass (skills#180/#181 conventions; PR #113 here covered the three onboarded proposal loops but deliberately left this file alone).
.github/workflows/integration-gate.yml's boot-verify step invokes headlessclaude -pwith no--modelflag at all — it rides the CLI's floating default, so an unattended gate run silently inherits whatever model the default resolves to next. It also carries no--max-budget-usdbackstop.Recommendation
--model claude-sonnet-4-6(exact ID, not an alias) with the standard deliberate-pin comment — bump only after testing the gate on a new model.--max-budget-usd 1.00: ledger shows n=2, ~$0.03/run, so $1 is a generous backstop that can never trip a healthy boot-verify but stops a runaway well short of the job timeout.Both are one-line additions to the existing invocation; the run already emits
total_cost_usdto the cost ledger, so no metering change needed.