spec: stop-1.md — recency-targeted stop (no escalation on silence), RECOMMENDED timeouts, shared_pipeline_id defined#117
spec: stop-1.md — recency-targeted stop (no escalation on silence), RECOMMENDED timeouts, shared_pipeline_id defined#117JarbasAl wants to merge 1 commit into
Conversation
…COMMENDED ping timeout, shared_pipeline_id defined 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. ✨ 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 |
Refines OVOS-STOP-1 for internal purity and self-consistency (per-file split of the consistency audit).
Changes
active_handlersentry and MUST NOT escalate toglobal_stop. A pong can be absent for reasons unrelated to stoppability (busy handler thread, satellite round-trip beyond the ping window); escalating a missed sub-second reply to a session-wide wipe destroys converse state, response modes, and unrelated skills' activity. Recency-targeted stop degrades gracefully — at worst the dispatch is a no-op.global_stopnow has exactly two triggers: explicit global-stop vocabulary and emptyactive_handlers.<shared_pipeline_id>defined precisely (§5.2): thepipeline_idof the stop plugin instance whosematchproduced the Match — the identity theglobal_stopdispatch addresses and PIPELINE-1 §7.1 stamps; "shared" across multiple §3.1session.pipelineentries resolving to that instance, which MUST deduplicate to exactly oneovos.stopbroadcast per global stop event per session (dedup stays MUST).blacklisted_intentsoperationalised (§6.3): the plugin MUST NOT return a Match whose<Match.skill_id>:<Match.intent_name>appears in the list; a stop utterance resolving toglobal_stopis governed by theglobal_stopentry.can_handle) is protocol-local (CONVERSE usesresult, COMMON-QUERYcan_answer).Principle
MUST/MUST NOT mark correctness invariants (dedup-to-one-
ovos.stop, no escalation on silence, blacklist honouring); timing values are RECOMMENDED defaults. Silence is evidence of latency, not of absence of activity — destructive escalation must require positive intent (explicit vocabulary), never a timeout.Versionstays2: VERSIONING.md defines the field as the V0-compatibility class, which these edits do not change.🤖 Generated with Claude Code