fix(dispatch): background report signs with --from; coord-send refuses a worktree-derived sender
In a linked worktree basename(git toplevel) is the worktree's name, so the background child's report was signed `from: dispatch-bg-form` (measured by the PM on741ada8) - a mailbox no session holds. - skills/dispatch: the starter reports by full path with `coord-send.sh --from <repo> --to <sender>`; board-selftest §19b gains the check (red on741ada8) plus a known-negative control that runs the same predicate against the old "via coord-send" wording. - coord-send.sh: a DERIVED sender inside a linked worktree exits 2, naming --from and the repo the worktree belongs to. Chose refusal over a warning because stderr is where a session least looks and the mail would already be delivered, and over a silent redirect for the reason the retired ktg-plugin-marketplace address is rejected rather than redirected. Linked-ness is git's own test (git-dir != git-common-dir), not ".git is a file", because a submodule has that too. coord-selftest section 39: 9 checks, 3 red before the fix; controls for submodule, main checkout, explicit --from and a worktree named like its repo. - Six other scripts derive identity the same way; named as a bounded gap in CLAUDE.md, not changed (not ordered). Suites under /bin/bash 3.2: coord 266, board 497, route 73, orders 116, guard 54 = 1006 (was 995). npm test 12/12. Order 20260923T082933Z-466405184-from-.claude. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
741ada82b7
commit
7b09114cd6
7 changed files with 136 additions and 8 deletions
16
CHANGELOG.md
16
CHANGELOG.md
|
|
@ -26,6 +26,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
`--target-pane` stays `yes|no`. board-selftest §19b pins all of it (17
|
||||
checks, 14 red before the skill changed).
|
||||
|
||||
### Fixed
|
||||
|
||||
- **The background starter signs its report with `--from <repo>`, and
|
||||
`coord-send` refuses a sender derived inside a linked git worktree.** In a
|
||||
worktree, `basename(git toplevel)` is the worktree's name, so the child's
|
||||
report was signed `from: dispatch-bg-form` (measured on 741ada8), a mailbox
|
||||
no session holds. The starter now reports by full path with `--from`
|
||||
(board-selftest §19b, red before the skill changed, with a known-negative
|
||||
control). `coord-send` exits 2 on a derived sender inside a linked worktree,
|
||||
naming `--from` and the repo the worktree belongs to. Linked-ness is git's
|
||||
own test (git-dir differs from git-common-dir), so a submodule, the main
|
||||
checkout, an explicit `--from` and a worktree named like its repo all still
|
||||
send (coord-selftest section 39, 9 checks, 3 red before the fix). The six
|
||||
other scripts that derive identity the same way are unchanged and named as a
|
||||
gap in CLAUDE.md.
|
||||
|
||||
## [0.35.0] - 2026-09-18
|
||||
|
||||
### Added
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue