Repository navigation
feat(omnibase_infra): add circuit breaker event emission [OMN-5293] - #873
Conversation
- Add SUFFIX_CIRCUIT_BREAKER_STATE topic constant (onex.evt.omnibase-infra.circuit-breaker.v1) - Create ModelCircuitBreakerStateEvent with state, previous_state, failure_count, threshold fields - Create CircuitBreakerEventPublisher that emits state-transition events (CLOSED/OPEN/HALF_OPEN) - Register topic in ALL_OMNIBASE_INFRA_TOPIC_SPECS and allowlist parity gate - Add validation_exemptions.yaml exemption for service_name field - Regenerate topic enums (enum_omnibase_infra_topic.py) - Add 8 unit tests covering all transitions, bus error swallowing, and topic format
…nit__ [OMN-5293] Adds CircuitBreakerEventPublisher to the services module public API so callers can import it from the standard services path without needing to reference the implementation module directly.
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (10)
✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Comment |
Summary
SUFFIX_CIRCUIT_BREAKER_STATEtopic constant (onex.evt.omnibase-infra.circuit-breaker.v1)ModelCircuitBreakerStateEventPydantic model withservice_name,state,previous_state,failure_count,threshold,timestampCircuitBreakerEventPublisherthat publishes state-transition events for CLOSED→OPEN, OPEN→HALF_OPEN, HALF_OPEN→CLOSED transitionsALL_OMNIBASE_INFRA_TOPIC_SPECS(3 partitions, 7-day retention)service_namefieldenum_omnibase_infra_topic.pyTest plan
uv run pytest tests/unit/services/test_circuit_breaker_event_publisher.py— 8/8 passed