Repository navigation
Closed
Labels
ready-for-agentFully specified, ready for an AFK agentFully specified, ready for an AFK agent
Description
Parent
What to build
thirdshift reads a User config at ~/.thirdshift/config.toml (TOML, under $HOME) at the start of a Run. This ticket supports only [merge] always. The other sections ([email], [logs]) are added by later tickets.
merge.always = truemakes every Run on the machine a Merge run without themergeword.no-merge/--no-mergestops the Run at ready for review for that one Run.- With no config, or one that says nothing about merging, a Run is a Merge run only when
mergeis given, as today.
A config that can't be parsed, or that has an unknown key or section, stops the Run before any work, naming the file and the offending key. update, version and help never read the config, so a broken config can't block them.
This ticket also rewrites argument parsing so later flags drop in cleanly:
- Run flags (
merge/--merge,no-merge/--no-merge) may appear in any order before or after the Issue URL. - A repeated flag, or
mergetogether withno-merge, is an argument error (exit 2, with the help text). - Any other extra token is still an argument error.
Help lists --no-merge and mentions the User config. The README documents the User config file and merge.always.
Acceptance criteria
- With
merge.always = trueand nomergeword, a Run ends with its pull request merged (a Merge run) - With
merge.always = true,--no-mergeandno-mergeeach make the Run end ready for review without merging - With no config file, and with a config that has no
[merge]section, a Run withoutmergeis not a Merge run -
merge,--merge,no-mergeand--no-mergeare accepted before or after the Issue URL -
mergewithno-merge, or a repeated flag, exits 2 with an error and the help text, before any work - An unparsable config file stops the Run before any work, with an error naming the file
- An unknown key (e.g.
alway) or unknown section stops the Run before any work, with an error naming it -
update,versionandhelpsucceed with a broken config file - Help text and README document
--no-merge, the User config location andmerge.always - Tests drive the compiled binary through the existing end-to-end harness, with a helper that writes the scenario's
config.toml
Blocked by
None (can start immediately)
Metadata
Metadata
Assignees
Labels
ready-for-agentFully specified, ready for an AFK agentFully specified, ready for an AFK agent
Activity