Skip to content

v0.2.0

Choose a tag to compare

@rsasaki0109 rsasaki0109 released this 21 May 13:29
· 26 commits to main since this release

What's New

Contract-first readiness reporting

bagx now positions itself as a readiness checker for recorded ROS2 bags — answering whether a bag is usable for SLAM, navigation, perception, manipulation, Autoware validation, or your custom robot stack.

Structured findings (eval --json)

JSON output now includes a machine-readable findings array with stable ids, alongside the human-facing recommendations:

{
  "id": "sync.delay.high",
  "severity": "warning",
  "category": "sync_quality",
  "domain": "slam",
  "affected_topics": ["/imu", "/lidar"],
  "evidence": [{"metric": "mean_delay_ms", "observed": 25.6, "expected": "<20", "unit": "ms"}]
}

Ids follow <domain>.<area>.<qualifier> so passing states are also benchmark-checkable.

Benchmark expected_findings

Benchmark manifests can now gate on stable finding ids instead of recommendation text:

{"expect": {"expected_findings": [{"id": "nav2.detected", "severity": "info"}]}}

Custom rules

  • Load custom domain rules from JSON files, BAGX_RULE_PLUGIN_PATH, or installed bagx.rules entry points
  • Bundled plugin: warehouse_bot example
  • Schema validation reports all errors at once with field paths
  • bagx rules list CLI command

Generic action / service / workflow observability

  • Auto-detects action_msgs/msg/GoalStatusArray, action result topics, and service events
  • Reports success rate, terminal failures, and top failure reasons
  • Workflow findings emitted as workflow.<topic>.{action_failures,result_failures,missing_service_responses}

Generic control-loop evaluation

  • Domain-agnostic input → output latency measurement
  • Works on bags without Nav2/Autoware/MoveIt topic names

Non-SLAM domain expansion

  • New built-in domains: perception, robotarm
  • Expanded Nav2/Autoware/MoveIt detection (e.g. relaxed Autoware to 1 /sensing/ topic)

Versioned report contract

  • JSON outputs include schema_version (now 1.1.0), report_type, bagx_version, and finding_ids
  • Benchmark suites: benchmarks/open_data_suite.json, benchmarks/non_slam_suite.json

Tests & dogfooding

  • 378 tests
  • CLI and batch regression tests
  • Dogfooded against real Nav2, Autoware, MoveIt bags

Full Changelog

v0.1.3...v0.2.0