B-BPO4-sdlc-backlog-create-reports-success-after-losing-the-item
One invocation of sdlc backlog create --headline <text> finished with exit
code 0 and captured nothing. No file appeared in the working tree, no commit
reached the rolling backlog-capture branch, and no pull request was touched.
The only sign of trouble was a line in the output:
✗ project-check-docs-drift (9.73 seconds)[exited with code 0]The verb commits in an ephemeral worktree off origin/main and pushes from
there. A pre-commit hook failed inside that worktree, the commit did not
happen, the worktree was removed, and the exit status still said success. A
caller who is not reading the output has no way to know the item was dropped.
Exit status is the only signal a script or a skill can act on, so a capture
verb that swallows a failed commit is worse than one that errors loudly. The
failing hook also deserves a look on its own: a fresh worktree off origin/main
should not have documentation drift, which suggests the hook ran without its
dependencies installed rather than finding real drift.
Two fixes, independent of each other. Propagate the ephemeral worktree’s commit failure into the exit status and say which hook failed. Then work out why that hook fails in a throwaway worktree at all.
Observed once, in a worktree whose dependencies had just been reinstalled after a rebase. Not retried, because a second attempt that succeeds would push a throwaway item onto the shared rolling branch.