A failed kanban completion still binds the pull request
The card was still blocked. hermes kanban show --json listed completion_contract as https://github.com/acme/repo/pull/7. Create, a few seconds earlier, had stored acme/repo. Complete had exited 1. Stderr was one sentence: cannot complete t_ab9031f6 (unknown id or terminal state). The id was the one create had printed. The status was not terminal. No gh process had been started for that card.
The kanban page already says which login must read a pull request. It does not say that a failed read rewrites the stored contract, or that complete reports the refusal as a missing id. Those two results are what this binary recorded.