fix: serialize decision ledger writes

This commit is contained in:
User
2026-07-14 15:30:06 +02:00
parent 333874a755
commit 9d4e057426
5 changed files with 77 additions and 6 deletions
@@ -36,8 +36,8 @@ the configured model activity.
F4 calls to `reviewer_decide` whose merit decisions are all `join_modified` become a read-only
`join-review` widget. Each proposed join is rendered as an informational card with its name,
join expression, and rationale. `Continue` returns every join id; the gate accepts only that exact
complete response and persists all decisions through one atomic ledger replacement. Malformed or
partial responses re-present the widget. `Other — specify` returns textual feedback without
complete response and persists all decisions through one atomic ledger replacement serialized by
a per-session cross-process lock. Malformed or partial responses re-present the widget. `Other — specify` returns textual feedback without
persisting the current proposal, so the model must revise and present the complete join set again.
Mixed join/non-join calls remain regular
multiselects, and the skill instructs the model to keep joins in a separate call.