Context
Follow-up implementation track from #2127 and #2122. The migration matrix groups gh*.sh, repo*.sh, and setup_diagnostics_fallback.sh because their nested subcommands own different grammars and may forward GitHub or tool options.
Scope
Create and execute a leaf-by-leaf parser migration plan that:
- records runtime-help and argv baselines for each selected leaf
- identifies Bash-owned options, nested subcommands, forwarded options, positional rules, and shell-stateful behavior
- migrates only the selected leaf grammar at a time, using
base_arg_parse where its contract fits
- preserves help precedence, forwarded GitHub/tool arguments, duplicate and equals-form behavior, status codes, stdout/stderr ownership, and side-effect boundaries
- adds focused regression coverage before each leaf changes
- updates the migration matrix as leaves are completed
Start with the smallest self-contained leaf and keep each implementation PR reviewable. The tracking issue may remain open while successive leaf PRs land.
Coordination
Coordinate with #2117 for repo.sh ownership splitting; this issue does not authorize or require that structural refactor. Keep command metadata centralization in #1606 out of scope.
Out of scope
Do not rewrite gh.sh or repo.sh wholesale, change GitHub workflows or APIs, or alter shell-stateful behavior without a separate contract and tests.
Related: #2127
Context
Follow-up implementation track from #2127 and #2122. The migration matrix groups
gh*.sh,repo*.sh, andsetup_diagnostics_fallback.shbecause their nested subcommands own different grammars and may forward GitHub or tool options.Scope
Create and execute a leaf-by-leaf parser migration plan that:
base_arg_parsewhere its contract fitsStart with the smallest self-contained leaf and keep each implementation PR reviewable. The tracking issue may remain open while successive leaf PRs land.
Coordination
Coordinate with #2117 for
repo.shownership splitting; this issue does not authorize or require that structural refactor. Keep command metadata centralization in #1606 out of scope.Out of scope
Do not rewrite
gh.shorrepo.shwholesale, change GitHub workflows or APIs, or alter shell-stateful behavior without a separate contract and tests.Related: #2127