fix(dispatch): background starter passes --repo to both order verbs

A background child runs in a worktree, and without --repo the order
verbs derive identity from the git toplevel's basename - the worktree's
name, not the repo's. Measured in the session that built the form: the
claim ran before the worktree and won; coord-order-done ran inside it and
exited 1 "no claimed order ... for dispatch-bg-form", leaving the order in
flight until --repo repo-mailbox was passed. The order's own starter
template carried the same defect.

§19b gains two checks (red against 24adf59, same predicate), the
template passes --repo <repo> to claim and done, and the skill says why.

Suites under bash 3.2: coord 257, board 495, route 73, orders 116,
guard 54 = 995. npm test 12/12.

Order 20260923T070445Z-9974217048-from-.claude (follow-up to 24adf59).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-09-23 09:37:38 +02:00
commit 741ada82b7
Signed by: ktg
SSH key fingerprint: SHA256:JakMjO6FTBBzN0Bhfj9saOoEjaFxlSdYuZQQpM/lF9Q
5 changed files with 32 additions and 12 deletions

View file

@ -15,14 +15,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
--disallowedTools AskUserQuestion,SendMessage,ListAgents --bg --name <name>
"<starter>"`. `--model` sits directly after `claude`, because the budget hook
counts a start only in that position. The three tools are disallowed per
hardening T4. The ASCII starter claims by full path, compares against NESTE,
hardening T4. The ASCII starter claims by full path with `--repo`, compares against NESTE,
pins the branch with `git checkout -B`, forbids push/tag/release, and closes
by full path. The skill also says what the PM does afterwards: watch the
by full path, also with `--repo`. Inside a worktree the verbs would otherwise
derive the worktree's name as the identity. That was measured: a close
without `--repo` exited 1 and left the order in flight. The skill also says what the PM does afterwards: watch the
order file, re-measure on the commit, and leave the merge to the operator's
push round. The skill description now triggers on the form. `board.sh` is
unchanged: the form has no pane, no plan block and no `morning` consumer, so
`--target-pane` stays `yes|no`. board-selftest §19b pins all of it (15
checks, 12 red before the skill changed).
`--target-pane` stays `yes|no`. board-selftest §19b pins all of it (17
checks, 14 red before the skill changed).
## [0.35.0] - 2026-09-18