Repository navigation
feat(cli): take the settings from the config file - #30
Merged
Merged
Conversation
baton pane, baton feature start and baton start read the config file for the repo of the origin remote's URL (decision 49, fact 32): each role's model, reasoning effort and AI credits cap, the orchestrator's extra tools, the round cap and the branch prefix. repo.Remote runs git remote get-url origin; a repo without an origin gets the top's settings. The cli tests run with an empty HOME of their own.
|
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.



Step
config-cliof docs/plan.md: baton's commands take their settings from the config file thatconfig(#29) reads.What changes
baton panegives each role's copilot its model, and its reasoning effort and AI credits cap when the file sets them (--model,--reasoning-effort,--max-ai-credits, the cap in plain digits, as1000000.5). The orchestrator gets its settings too, and its extra tools from the file in place of the fixed nudge tools.baton feature starttakes the round cap and the branch prefix (<prefix><slug>).baton startchecks the file before it makes the orchestrator's session, so a mistake shows in the user's shell and not in a pane that ends. It doesn't check when the session already runs.repo.Remoterunsgit remote get-url origin, which applies the user'sinsteadOfrewrites. A repo withoutorigingets the top's settings.HOMEof their own and withoutXDG_CONFIG_HOMEandXDG_CACHE_HOME, so they never read the user's config.TestMainfails the run if a test leaves files in that home.Lead's calls (flagged in decision 49)
originremote only. Withoutorigin, the top's settings apply, even when other remotes exist.baton panereads the file after it writes the plugin and before it waits, for the orchestrator's pane too. So a mistake stops a pane before its role picks up work. A pane outside a repo now refuses with "find the origin remote: fatal: not a git repository…", and the orchestrator's pane now needs a repo.baton startchecks the file only when it makes the session.Checks
mise run checkis green: lint 0 issues, vuln clean, coverage 99.1% total. cli is at 99.8%. The one uncovered branch iswaitForWork'sopenStoreerror, which can't fire onceloadSettingshas run git in the same folder; it stays as a guard.TestMain's cleanup and leave the tests' home folder, so AGENTS.md now says to remove it after such a run.env -u TMUX -u TMUX_PANE, with its ownTMUX_TMPDIRandHOME, on a server started with-f /dev/null, and a stand-in copilot:--model gpt-5.6-sol --reasoning-effort high(the top's).--max-ai-credits 1000000.5.--model claude-sonnet-5.5 --max-ai-credits 30with no extra tools ([]).smoke/demo-1with "round 1 of 2".roundCapand a mistyped model were each refused with the file's path, and nothing was made.