Skip to content

spec: PIPELINE-1 — resolve-lang-once, timeout defaults, match-phase liveness, reserved-name stamping suppression#109

Draft
JarbasAl wants to merge 2 commits into
devfrom
spec/pipeline-1
Draft

spec: PIPELINE-1 — resolve-lang-once, timeout defaults, match-phase liveness, reserved-name stamping suppression#109
JarbasAl wants to merge 2 commits into
devfrom
spec/pipeline-1

Conversation

@JarbasAl

@JarbasAl JarbasAl commented Jul 4, 2026

Copy link
Copy Markdown
Member

Internal-purity refinement of OVOS-PIPELINE-1.

Changes

  • Resolve language once (§4, §9.1): when ovos.utterance.handle carries no authoritative lang, the orchestrator MUST resolve the utterance language once from OVOS-SESSION-1 §3.2 evidence and pass the resolved tag to every plugin's match call. 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.lang stays the plugin's declaration.
  • Match-phase timeout (§4.4): RECOMMENDED default of 10 s (tuning value, not a MUST); an applied bound MUST be at least as large as any stage-internal collection ceiling, or the stage is killed mid-collection on every utterance it handles.
  • Context decay alignment (§6.1): the post-match turns_remaining decrement 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.
  • Orchestrator liveness (§6.5): the bus loop MUST keep servicing subscriptions — including poll replies destined for an in-flight plugin — while a match call is in flight; a bus loop that blocks on the synchronous return deadlocks every bus-round-trip match strategy.
  • Stamping suppression (§7.1, §7.3): the session.active_handlers push suppression MUST key on the Match's intent_name appearing in the §7.3 reserved-name registry, never on the producing pipeline_id — stated identically at both sites.
  • Citation and language hygiene: SESSION-1 registry citations corrected to §2.2; "reservations currently in force" and "in their own PR" replaced with timeless wording.

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

JarbasAl and others added 2 commits July 4, 2026 13:48
…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>
@coderabbitai

coderabbitai Bot commented Jul 4, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: af1217b4-b13a-4985-be28-8f86153236d2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch spec/pipeline-1

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant