Skip to content

spec: fallback.md — bounded polls with RECOMMENDED ceiling, malformed-pong decline, broadcast-poll equivalence#110

Draft
JarbasAl wants to merge 1 commit into
devfrom
spec/fallback
Draft

spec: fallback.md — bounded polls with RECOMMENDED ceiling, malformed-pong decline, broadcast-poll equivalence#110
JarbasAl wants to merge 1 commit into
devfrom
spec/fallback

Conversation

@JarbasAl

@JarbasAl JarbasAl commented Jul 4, 2026

Copy link
Copy Markdown
Member

Refines OVOS-FALLBACK-1 for internal purity and self-consistency (per-file split of the consistency audit).

Changes

  • Bounded polls, tunable ceiling (§6.1): the plugin MUST bound each per-skill wait — an unbounded wait stalls the whole utterance behind one unresponsive skill — while the ceiling itself is a RECOMMENDED default of 0.5 s (matching the analogous OVOS-CONVERSE-1 §4.2 and OVOS-STOP-1 §4.1 polls), deployer-adjustable.
  • Absent/malformed pong = can_handle: false (§6.1): silence, a missing or non-boolean can_handle, or a mismatched skill_id all decline and skip — uniform with the companion protocols' silence rules.
  • Broadcast-poll optimisation (§6.1): a single broadcast to the effective pool is permitted as an observably equivalent alternative to the sequential cycle — selection stays keyed on pool order, never response-arrival order, so outcomes are identical while waits overlap.
  • Priority bands stay RECOMMENDED (§3.3): the three confidence tiers are a convention; different band conventions map by band membership, not numeric rescale. Catch-all last-entry ordering stated as SHOULD.
  • Topic rule: registration events and ping/pong are dotted non-dispatch topics; the only colon topic is the genuine dispatch <skill_id>:fallback.
  • §6.3 utterance = first element of the candidate list (PIPELINE-1 §4.1); cross-protocol note that the poll boolean's name (can_handle) is protocol-local; citations corrected (blacklisted_skills → PIPELINE-1 §5.3, session registry → SESSION-1 §2.2, ovos.intent.unmatched → PIPELINE-1 §9.3; SESSION-1 canonical title).

Principle

MUST/MUST NOT mark correctness/interop invariants (bounded waits, pool-order selection, decline-on-malformed); numbers (ceilings, priority bands) are RECOMMENDED defaults. Colon <x>:<y> is reserved for the orchestrator dispatch shape (MSG-1 §2.1.1); polls and registrations are dotted.

Version stays 2: VERSIONING.md defines the field as the V0-compatibility class, which these edits do not change.

🤖 Generated with Claude Code

…rmed-pong rule, broadcast-poll equivalence

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: b5d3fd4d-c235-45c2-9599-adf157d08fbc

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/fallback

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