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

@ -1955,6 +1955,15 @@ printf '%s\n' "$dsk_bg" | grep -q 'bash [^ ]*/scripts/coord-order-claim\.sh '
check "background starter claims by FULL path to coord-order-claim.sh" $?
printf '%s\n' "$dsk_bg" | grep -q 'bash [^ ]*/scripts/coord-order-done\.sh '
check "background starter closes by FULL path to coord-order-done.sh" $?
# ...and both carry --repo. A background child runs in a WORKTREE, whose git
# toplevel basename is the worktree's name, not the repo's, so a verb that
# derives its identity looks in the wrong queue. Measured 2026-09-23 in the
# session that built this section: claim ran before the worktree and won;
# done ran inside it and exited 1 "no claimed order ... for dispatch-bg-form".
printf '%s\n' "$dsk_bg" | grep -q 'coord-order-claim\.sh --repo [^ ]* '
check "background starter claims with --repo (a worktree's name is not the repo's)" $?
printf '%s\n' "$dsk_bg" | grep -q 'coord-order-done\.sh --repo [^ ]* '
check "background starter closes with --repo (a worktree's name is not the repo's)" $?
if printf '%s\n' "$dsk_bg" | grep -qE '^[[:space:]]*coord-order-(claim|done) '; then rc=1; else rc=0; fi
check "background section has no bare coord-order-claim/-done command line" "$rc"
# The description is what makes a skill trigger; a form it does not mention is