INTENT-4: session-scoped registration + required_slots#45
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ 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 |
|
Merge-ready (MERGEABLE, dev merged in). Template conformance: header present, RFC-2119 boilerplate present, §11 session-scoped registration section well-formed with sub-sections 11.1–11.5. Added: CHANGELOG entry for the §11 addition (normative content was added without one). |
ecba169 to
8fc2ac7
Compare
… class) Narrowed from the multi-spec union-slots PR to ovos-intent-1.md only, per the 1-file-1-PR rule. The INTENT-3 required_slots half moves to the INTENT-3 PR, the INTENT-4 payload field to the INTENT-4 PR (#45), and the orchestrator backstop to the PIPELINE-1 PR. - §5.5 — slot-consistency narrowed to .dialog only. A .intent file MAY now declare different slot sets across templates (union semantics); the engine extracts only the slots of the best-matching template. .dialog keeps the strict consistency rule. - §6.2 — engine obligation updated: verify a consistent slot set for .dialog training data; accept differing slot sets for .intent. - appendix/patterns.md §3.4 (non-normative) — authoring patterns for union slot sets and required_slots. This relaxes a prior constraint, so every previously-valid file stays valid: backwards-compatible. INTENT-1 is already V2 (the <name> inline-vocabulary token); this addition does not change the class, so the Version stays 2. Also drops the stray VERSIONING.md / ngi.png / README edits the original branch carried, which were unrelated to this change. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
eb2fea8 to
43128cd
Compare
43128cd to
607d602
Compare
Companion issue: #47
Summary
Every intent registration is automatically keyed by
session_idfromcontext.session.session_id— no wire-shape change needed."default"is the global/inherited scope; all sessions inherit it. Session-scoped registrations extend the pool; the existing blacklist fields are the sole narrowing mechanism.Effective pool for session X:
defaultintents ∪session-Xintents − blacklisted entriesDispatch of session-scoped intents routes back through the bridge transparently via existing MSG-1 destination-based routing (BRIDGE-1 §3.2).
Changes
(session_id, skill_id, intent_name, lang, method);session_idread fromcontext.session.session_id, never frommessage.dataovos.skill.deregistergains optionalsession_idfield for bulk satellite cleanup on disconnectovos.intent.listgains optionalsession_idfilter returning the effective pool (default ∪ session-specific); response entries includesession_idCompanion
BRIDGE-1 §4.4 (PR #43) documents the satellite skill registration pattern this spec enables.