docs(config): document R1 turn budgets and add a [goal] example - #5996
docs(config): document R1 turn budgets and add a [goal] example#59967jrxt42BxFZo4iAnN4CX wants to merge 2 commits into
Conversation
|
Thanks @7jrxt42BxFZo4iAnN4CX for taking the time to contribute. This repository is observing a maintainer-managed PR intake gate in dry-run mode, so this pull request is staying open. This note helps maintainers prepare the allowlist before any enforcement is considered. Please read |
Add providers.openrouter.vendor with strict upstream fallback suppression. Preserve pins across clients, model switches, config reload boundaries, auxiliary requests, and the app-server proxy. Preserve caller restrictions. Capture vendor routing in existing billing, child, and persisted turn receipts; report routing-dependent unknown cost until vendor-specific pricing exists. Correct unsupported routing suffix claims and the stale #5996 goal-step docs. Validation on this isolated d6698f1-based worktree: - codewhale-config lib: 648 passed, 0 failed, 1 ignored. - codewhale-protocol lib: 68 passed, 0 failed. - codewhale-app-server lib: 101 passed, 0 failed. - codewhale-tui lib vendor filter: 20 passed, 0 failed. - TUI cost_status: 19 passed; protocol_parity: 5; route_receipt: 6. Two cost tests overlap the vendor filter; 48 unique TUI tests passed. - web npm test: 411 passed; check:docs and check:facts passed. - cargo fmt --all -- --check and git diff --check passed. - Requested root npm test and npm run check:web: both failed with Missing script because the root package defines neither script. Logs retained. - Mutation proof: disabling shared vendor serialization caused the gateway capture regression to fail (0 passed, 1 failed); exact source restored, then the full gateway suite passed 101/101 again. All request tests use local fixtures. No real provider call, hosted CI, public push, merge, deployment, tag, or release performed. Refs #6007, #5996
Reviewed values against turn_budget.rs and goal configuration resolvers. Web tests 407 passed, 0 failed; docs parity passes. Root npm test/check:web scripts remain unavailable. Preserve original contributor history. Signed-off-by: CodeWhale Bot <bot@codewhale.net>
|
The requested goal example and turn-budget documentation are now on public main. The step policy has since changed: ordinary turns are uncapped by default, explicit ceilings remain available, and active goals use their separate step policy. This PR's 200-step default would now be inaccurate, so I am closing it as superseded while retaining its useful documentation intent. Thank you for documenting these controls. |
Summary
[tui].max_model_stepsand[tui].turn_wall_clock_secs(the R1 finite turnbudgets) were documented only in
config.example.tomlcomments, not in thedocs/CONFIGURATION.mdkey reference. Conversely, the[goal]loop wasdescribed in prose in
CONFIGURATION.mdbut had no commented example block inconfig.example.toml. This PR closes both gaps so a user can find and seteither knob without reading source.
What changed
docs/CONFIGURATION.md: added two bullets to "Core keys" documentingtui.max_model_steps(default 200, clamp 1..=100000,0= default / nounlimited sentinel, ~80% soft landing, exhaustion →
Failedafter onebounded final-report turn, applies to every turn including a single goal
pass) and
tui.turn_wall_clock_secs(default 3600, clamp 30..=86400, humanapproval time excluded, stops before the next billable request). All values
verified against
crates/tui/src/core/engine/turn_budget.rsandturn_loop.rs.config.example.toml: added a fully commented# [goal]example block(
max_continuationsdefault 0 = unlimited,continuation_delay_secondsdefault 0 / cap 86400), matching the "uncomment to enable" style of the file
and mirroring the Goal loop section of
CONFIGURATION.md.No code changes. No behavior changes. Reviewed against the config reference
and the R1/goal sources across two review iterations (0 Critical/Major
remaining).