Repository navigation
docs(compass): design topic stale-post check for managers (RIG-1714) - #24
Open
rigel-mintaka wants to merge 4 commits into
Open
rigel-mintaka wants to merge 4 commits into
rigel-mintaka wants to merge 4 commits into
Conversation
Moved from RigelBuild/compass#2136 under the design-records-to-docs-repo directive. Co-authored-by: Matt Wilkinson <matt@rigel.build>
rigel-mintaka
force-pushed
the
compass-comms/rig-1714-topic-locks-design
branch
from
October 18, 2026 14:52
af4f415 to
0e5c3a9
Compare
|
Rigel public design docs preview: https://compass-comms-rig-1714-topic.docs-2ui.pages.dev Deployed from |
The compass design records this record builds on now live here, and the compass blob URLs 404. Point the links at the in-repo copies. Co-authored-by: Matt Wilkinson <matt@rigel.build>
…714) Scope the lock-wait test to its own blocked backend, commit staged views on every flush path, ack refused ids without a DELIVER injection, name the topic from the list tool, and write session entries at commit points only. Co-authored-by: Matt Wilkinson <matt@rigel.build>
Co-authored-by: Matt Wilkinson <matt@rigel.build>
Contributor
Author
|
Head note at
|
rigel-mintaka
marked this pull request as ready for review
October 18, 2026 15:07
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moved
docs/designs/compass/.mainblob URLs.Summary
Design record for RIG-1714: stop Manager agents from double-answering in a topic. Instead of the per-topic write lock the issue proposed, the record designs an optimistic stale-post check. An agent post carries the newest message the agent has seen in the topic (
last_seen_message_id) and a capped set of messages seen out of order (seen_message_ids). The server refuses the post when another author posted a message the agent has not seen. The refusal returns those messages so the model can decide whether to post again. There is no lock state, so nothing can wedge, and human posts are never checked.Record:
docs/designs/agent/compass-topic-write-locks/design.mdDecisions (all pending Matt)
PostMessageRequest.last_seen_message_id = 10,seen_message_ids = 11; refuse when an unseen message from another author exists. No lock, TTL or waiter queue.FOR NO KEY UPDATElock on the topic row, so seq order matches commit order. AnswerAsk locks the topic before the message.PostMessageResponse.stale_post = 3, the same shape as #2120'scost_estimate. The idempotent retry is checked first. Tools never retry on their own.Open questions for Matt (RIG-5137)
OQ1 to OQ6 are load-bearing: feature shape, seen set, whether human authors count, refusal shape, order against the #2120 hold, and whether the public RPC honours the fields. Recommendation: A, A, A, B, A, A. The Plan builds the recommendations, and each OQ lists the Plan change for the other options. This PR must not merge until the OQs are ruled.
Cross-record numbering
PostMessageRequest8 and 9 andPostMessageResponse2 belong to #2120.CommsCallRequestarms 13 and 14 belong to #2078.Review
turn_start, the AnswerAsk lock order, tracker persistence, the refusal render budget, and merging T1 and T2 so the check never ships without a caller.Checks
Spec-impact: none
Ledger-impact: adds DL-472 to DL-476 (docs/designs/decisions/agent/)
Refs RIG-1714
Co-authored-by: Matt Wilkinson matt@rigel.build