feat: readiness check — continuous topic health monitor#25
Merged
shreyasgokhale merged 7 commits intotrunkfrom Apr 15, 2026
Merged
feat: readiness check — continuous topic health monitor#25shreyasgokhale merged 7 commits intotrunkfrom
shreyasgokhale merged 7 commits intotrunkfrom
Conversation
TopicCheck, TopicResult, ReadinessReport dataclasses for topic health verification. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
CAPABILITY_TOPICS mapping and build_topic_checks() that derives expected topics from RDF capabilities and task verb requirements. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Parallel topic subscription via Twisted reactor. Each topic gets a subscribe-and-wait-for-one-message probe. Total wall time bounded by slowest topic timeout. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
10s polling loop checks topic readiness via transport. Emits health events on status change. Pre-mission warning when topics are missing. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Status bar displays topic health with green/yellow indicators. /status prints per-topic breakdown with latency. Health events routed to activity log. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
One-shot topic health probe. Connects to rosbridge, checks all expected topics, prints table, exits 0 (OK) or 1 (failures). Supports --rdf and --task flags to derive expected topics. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Move _last_health_ready check inside lock for thread safety - Add proper TYPE_CHECKING type hints to TransportBase.check_readiness() - Remove unused world_path/bridge_config_path params from build_topic_checks() - Remove dead _make_report helper from test_readiness.py Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
build_topic_checks(), not hardcodedDefinedSessionwith status-change-only event emission✓ 8/8 topics OKor⚠ 5/6 — /map MISSINGdefined checkCLI command for one-shot readiness probe (exit 0/1)session.latest_readinessproperty for E2E test assertionsSpec:
knowledge_base/specs/readiness-check.mdKey files
transport/readiness.py— data model (TopicCheck, TopicResult, ReadinessReport) + topic buildertransport/rosbridge.py— parallel subscribe via Twisted reactormission/session.py— health monitor thread, pre-mission warningtui/panels/status_bar.py— health reactive fieldmain.py—defined checkCLI commandTest plan
defined checkdefined check, verify all topics green🤖 Generated with Claude Code