mirror of
https://github.com/max-sixty/worktrunk.git
synced 2026-09-14 20:00:38 +08:00
06a0315efb
Nightly survey finding. The signal-handling clawpatch spec lists `src/commands/command_approval.rs` as a context file with the reason "FailureStrategy::Warn must not swallow signal-derived errors" — but that file contains no reference to `FailureStrategy`, signals, or interrupts. `grep -n "signal\|Interrupt\|FailureStrategy" src/commands/command_approval.rs` returns nothing, and `git log -S FailureStrategy -- src/commands/command_approval.rs` is empty, so the entry has been wrong since the spec was added in #2859 rather than having drifted. `FailureStrategy` is declared and consumed entirely in `src/commands/command_executor.rs`, which the spec already lists as an owned file. So this drops the misfiled context entry and folds its claim — the one detail the owned-file reason didn't carry, that the interrupt check runs *before* any `FailureStrategy` branch — into that entry, matching how CLAUDE.md → Signal Handling states it. Nothing is lost from the spec; it just points at the file that implements the invariant. I checked the rest of the specs the same way: every `path` in `entrypoints` / `ownedFiles` / `contextFiles` / `tests` across all 14 `.config/clawpatch/features/*.json` resolves, every `entrypoints[].symbol` appears in its named file, and this was the only reason string naming a symbol its file doesn't contain. No regression test — the change is metadata prose in a file no test reads, and the mismatch isn't expressible as an assertion without inventing a schema check for `reason` strings, which would be a larger and more speculative change than the fix. Co-authored-by: worktrunk-bot <254187624+worktrunk-bot@users.noreply.github.com>