spec: PIPELINE-1 — resolve-lang-once, timeout defaults, match-phase liveness, reserved-name stamping suppression#109
spec: PIPELINE-1 — resolve-lang-once, timeout defaults, match-phase liveness, reserved-name stamping suppression#109JarbasAl wants to merge 3 commits into
Conversation
…own-key relaxation, deterministic reply source Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…imeout defaults, liveness, stamping suppression - Orchestrator resolves utterance language once per utterance when the entry topic carries no authoritative lang; plugins refine, never re-derive (§4, §9.1). - Match-phase timeout: RECOMMENDED 10 s default; applied bound MUST cover stage-internal collection ceilings (§4.4). - Context decay aligned with OVOS-CONTEXT-1 §4: post-match decrement after every match round, fresh entries exempt; §5.1 promotion citations (§6.1). - Orchestrator MUST keep servicing bus subscriptions while a match call is in flight (§6.5). - active_handlers stamping suppression keyed on the reserved intent_name, never the producing pipeline_id (§7.1, §7.3). - SESSION-1 registry citations corrected to §2.2; timeless wording. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Warning Review limit reached
Next review available in: 52 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. 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 Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
msg-1.md is edited by its own PR on spec/msg-1, which carries the same change modulo line wrapping. Two branches rewriting one spec file cannot both land, and this repo keeps one spec file per PR. Drop the msg-1.md edit and its CHANGELOG entry here. The pipeline-1 citations of OVOS-MSG-1 §2.1.1 resolve against the section already on dev, so this PR stands alone and does not wait on the msg-1 PR.
Internal-purity refinement of OVOS-PIPELINE-1.
Changes
ovos.utterance.handlecarries no authoritativelang, the orchestrator MUST resolve the utterance language once from OVOS-SESSION-1 §3.2 evidence and pass the resolved tag to every plugin'smatchcall. Plugins MAY refine the tag but MUST NOT re-derive it independently — per-plugin resolution lets the same utterance match in different languages at different stages.Match.langstays the plugin's declaration.turns_remainingdecrement moves outside the matched branch, running after the match round whether or not any intent matched, with freshly written entries exempt — exactly the OVOS-CONTEXT-1 §4/§4.1 model. Promotion citations corrected to CONTEXT-1 §5.1.matchcall is in flight; a bus loop that blocks on the synchronous return deadlocks every bus-round-trip match strategy.session.active_handlerspush suppression MUST key on the Match'sintent_nameappearing in the §7.3 reserved-name registry, never on the producingpipeline_id— stated identically at both sites.CHANGELOG entry appended under the spec's current class. Version field unchanged: per VERSIONING.md it is a V1/V2 compatibility class, and these refinements do not change class.
🤖 Generated with Claude Code