# Row 115 (#1609) round 1: a closed decision sends the raising role a message Brief: docs/plans/2026-10-14_decision-close-message.md. Mos found the gap. Jason resolved decision 03130d08, and the PM, which raised it, never got a turn, because a close wrote only `decision_events` and nothing reached the role. BASE: 94ece491f05ecbb737227da8a7ba1d57a1ac75fd. I built the candidate on 54b7c7b3e and moved the worktree to 94ece491f before the mutants and the gate. The commits between them touch only packages/ledger, docs/SESSIONS.md and the queue files, none of the manifest paths. Candidate: build.patch against BASE. candidate-manifest.sha256 lists the 5 files. I applied the patch to a fresh `git archive 94ece491f` export and every digest matched (DIGESTS_OK). ## What changed ### The close message packages/bus/src/broker.mjs, the `decision.resolve`/`decision.seen`/`decision.withdraw` case. After the `decision_events` insert and the human's `human.input` answer event, a close with `op !== 'seen'` by a human, or by a run other than `raised_by_run`, inserts one message: | Column | Value | |---|---| | `from_role`, `from_run` | `human`, `human-cli` for a human close; the closing role and run for a role close | | `to_role` | `d.raised_by_role` | | `class` | `DECISION` | | `decision` | the decision's id | | `in_reply_to`, `corrects` | null | | `body` | `Decision on was resolved by : (