Examples¶
RoboCI examples are designed to run from the repository root with no private data. For installed-package smoke checks without a checkout, use roboci demo, roboci demo --openloop, or roboci benchmarks run smoke; those commands resolve packaged demo assets automatically.
Closed-Loop Passing Run¶
roboci run \
--suite examples/suites/smoke.yaml \
--agent examples/agents/rule_based_agent.py \
--sim mock
Expected output: a passing run with local artifacts under runs/<run_id>/.
Closed-Loop Failure Run¶
roboci run \
--suite examples/suites/failing_collision.yaml \
--agent examples/agents/collision_test_agent.py \
--sim mock
Expected output: a non-zero exit after RoboCI writes collision metrics, replay artifacts, failures.json, and static reports. The non-zero exit is intentional because this suite demonstrates failure analysis.
Open-Loop Dataset Run¶
roboci openloop run \
--dataset examples/datasets/sample_openloop \
--model examples/agents/rule_based_agent.py \
--task trajectory_prediction
Expected output: aggregate and per-sample open-loop metrics under runs/<run_id>/.
Reports¶
roboci report --run runs/latest
roboci report --run runs/latest --format markdown
Expected output: report.html and report.md in the selected run directory.
Baselines And Regression Gates¶
roboci baseline create smoke --from runs/latest --description "Known-good smoke run"
roboci compare --current runs/latest --baseline-name smoke --max-regression-percent 5
Expected output: a regression summary and a CI-friendly exit code. The compare command exits non-zero when regressions exceed the configured threshold.
Example Inventory¶
examples/agents/: Python, C++, and Rust agent examples.examples/simulators/: Python, C++, Rust, and YAML simulator examples.examples/suites/: runnable suite definitions for smoke tests, failures, marketplace packs, and simulator adapter examples.examples/scenarios/: individual scenario YAML files.examples/datasets/sample_openloop/: minimal open-loop dataset.examples/ros2_bridge/: reference ROS2 bridge files.