spec: OVOS-MSG-1 — deterministic reply source, unified unknown-key rule, decomposed-topic hygiene - #137
spec: OVOS-MSG-1 — deterministic reply source, unified unknown-key rule, decomposed-topic hygiene#137JarbasAl wants to merge 1 commit into
Conversation
|
Warning Review limit reached
Next review available in: 36 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…le, decomposed-topic hygiene Squashed from: - spec: OVOS-MSG-1 — §5.4 correlation exemplar updated to query_id - spec: OVOS-MSG-1 — deterministic reply source, unified unknown-key rule, decomposed-topic hygiene Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
916ba0a to
b76a5a2
Compare
Audit fixes for OVOS-MSG-1. Within-class refinement of Version 2 — no version bump. Only
msg-1.mdandCHANGELOG.mdare touched.Blockers
sourceto the identifier of the component producing the reply, whatever shape the source Message'sdestinationhad. No assigned identifier meanssourceis omitted, never copied out ofcontext; an absentC.sourceyields a broadcast reply. Previously a reply copiedC.destinationforward, so a poll response was addressed to the original utterance emitter instead of the component that asked — on a bridged deployment the bridge relayed the internal poll response out to the satellite. This is the load-bearing change the poll-family specs cite: the converse and fallback ping/pong round-trips, the common-query contest, and the PIPELINE-1 §7.1 dispatch claim (sourceis the orchestrator) are all unsatisfiable under the old rule.contextkeys MUST be ignored and MUST NOT cause rejection; a key's owning specification MAY prescribe rejection for a malformed value of its own key. That is what SESSION-1 §2.5 does for a non-objectsessioncarrier.skill_idsuch aswiki.testinwiki.test.converse.ping), and CONVERSE-1 §4.2 cites MSG-1 for the opposite conclusion. Hygiene now binds only shapes a consumer splits back into identifiers; shapes assembled for exact subscription are exempt. A topic-defining spec states which it is; absent a statement, decomposed.Major
active_handlerspush, which the old blanket prohibition forbade.sourcewith the identifier it assigned the peer, routing keys are never proof of identity.responsearithmetic scoped to topics that neither end in.responsenor contain a:; askers MUST NOT assume<request>.responseunless the defining spec says so (siblings hand-name their answering topics).:and is definable only by a specification in this family; component-owned contracts are dotted-only, reconciling §1.Minor and nits
destination(BRIDGE-1's membership test).source/destinationforbidden on the producer side, treated as absent on the consumer side.data/contextare optional).typebullets merged; derivation count corrected to two plus theresponseshorthand; redundant RFC 8259 restatement dropped; §2 rationale marked informative.Deliberately not in this PR
The GLOSSARY rows, the GLOSSARY
Sessionattribute repoint, the README version row, the CONVERSE-1 §4.2 citation fix, and the family-wide sweep of implementation method names belong to their own PRs. The layer-2 definition lands here in §3.4 so nothing in this file references an undefined term.