fix(proxy): start the budget above the model's reasoning floor #366
No reviewers
Labels
No labels
move-to-repo
coilyco-bridge-deploy
move-to-repo
coilyco-flight-deck-agent-compose
move-to-repo
coilyco-gaming-eco-app
move-to-repo
coilysiren-inbox
move-to-repo
unknown
🔒⚠️📦⚠️🔒 SANDBOXED 🔒⚠️📦⚠️🔒
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
c#
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-gaming/sirens-echo!366
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/budget-base-above-the-reasoning-floor"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
closes #364
The slice of #360 that lands without new measurement. 360 stays open for whether 1800 is the right number and for the confirming battery run.
The change
baseCompletionTokens900 → 1800. Olaf measured 4.1–4.4 KB ofreasoning_contentbefore any content, on the order of a thousand tokens, so 900 made the first call structurally unable to succeed rather than unlucky. About 15% of turns paid for two model calls to answer once, and every one of them passed, so no instrument reported it.max_tokensis a ceiling, not a target. A turn that finishes in 400 tokens is unaffected. What changes is that the turns which needed a second call stop needing one.The one-line version is wrong, and an existing test caught it
The ladder clamps at
maxCompletionTokens = 3600. With a base of 900 it read 900 → 1800 → 3600 and every rung was real. With a base of 1800 the second raise clamps to 3600 twice, so the turn retries at a budget identical to the one that just failed — which the comment three lines above already forbids:TestCompleteStopsRaisingAfterTheAllowedAttemptsfailed withmodel calls = 2, want 3the moment I changed the base.So
budgetRaisesAllowedbecomes 1, which is now the truth rather than an overstatement, and the raise is extracted intonextCompletionBudgetwhich reports whether it actually raised. Exhaustion covers both the count and the ceiling, so the invariant survives the constants moving again.That existing test then passes unchanged. The constant was wrong, not the test — I did not touch anyone's assertion to make my change fit.
What moved with it, all mechanical and all pinned by tests
docs/sirens-echo-budget.mdWhat I did not do
Re-measure. The prediction is that the doubled calls disappear and the retry share of model time goes to zero. Confirming that is a live battery run and belongs to whoever runs the next cycle.
ward exec gategreen: build, policy-check, vet, test, test-skips, pre-commit.