.pre-commit-config.yaml
AGENTS.md
CONCURRENCY.md
CONTRIBUTING.md
DEVELOPMENT_PRINCIPLES.md
LICENSE.txt
MANIFEST.in
README.md
budgets.jsonl
codecov.yml
deployment-configuration.md
install.sh
justfile
pyproject.toml
requirements.txt
rosotacom.yaml
run_session_in_container.py
session-configuration.md
stop_session_in_container.py
terminology.md
.devcontainer/devcontainer.json.template
.devcontainer/re_generate_devcontainer_json.py
.github/CODEOWNERS
.github/PULL_REQUEST_TEMPLATE.md
.github/dependabot.yml
.github/ISSUE_TEMPLATE/documentation-audit.md
.github/ISSUE_TEMPLATE/implementation-cleanup.md
.github/ISSUE_TEMPLATE/quality-workflow.md
.github/ISSUE_TEMPLATE/redesign.md
.github/ISSUE_TEMPLATE/release-process.md
.github/ISSUE_TEMPLATE/repository-diagnosis.md
.github/ISSUE_TEMPLATE/test-ci-audit.md
.github/ISSUE_TEMPLATE/work-item.md
.github/actions/setup-just/action.yml
.github/workflows/benchmark-calibrate.yml
.github/workflows/benchmark-gate.yml
.github/workflows/dev-release.yml
.github/workflows/image-scan.yml
.github/workflows/nightly-e2e.yml
.github/workflows/pr-lightweight.yml
.github/workflows/pr-merge-gate.yml
.github/workflows/release.yml
calibration/README.md
calibration/capacity-size-tight-cyclone.json
calibration/probe-loss-gop-tight-cyclone.json
calibration/probe-loss-nominal-cyclone.json
calibration/probe-loss-tight-cyclone.json
calibration/probe-loss-tight-fastdds.json
calibration/probe-loss-tight-zenoh.json
docs/benchmark-ab.md
docs/benchmark-bag-as-load.md
docs/ci.md
docs/ffmpeg-keyframes.md
docs/forensics-report.md
docs/geo-link-map.md
docs/github-repository-settings.md
docs/link-bandwidth.md
docs/link-trace.md
docs/owner-runbook.md
docs/performance-bands.md
docs/quality-model.md
docs/release.md
docs/testing.md
docs/work-items.md
docs/findings/README.md
docs/findings/cyclone-spdp-discovery-bursts.md
docs/findings/delay-alone-no-loss.md
docs/findings/head-of-line-irregularity.md
docs/findings/jitter-loss-bandwidth-latency.md
docs/findings/lighter-message-loss.md
docs/findings/zero-loss-boundaries-18kb-20hz.md
docs/playbooks/README.md
docs/release-notes/TEMPLATE.md
docs/release-notes/v2.1.md
docs/release-notes/v2.2.md
docs/release-notes/v2.3.md
docs/release-notes/v2.4.md
docs/rfcs/0001-expectation-driven-test-suite.md
docs/rfcs/0002-expectation-concepts.md
docs/rfcs/0003-metric-backbone.md
docs/rfcs/0004-network-profiles.md
docs/rfcs/0005-benchmark-genres-and-ci.md
docs/rfcs/0006-dynamic-qos.md
docs/rfcs/0007-regression-gate.md
docs/rfcs/README.md
media/control_center.png
media/echo_test.png
media/forensics-report-example.png
media/host.png
media/vehicle.png
src/rosotacom/__init__.py
src/rosotacom/__main__.py
src/rosotacom/anonymize.py
src/rosotacom/bag_ground_truth.py
src/rosotacom/benched_set.py
src/rosotacom/benchmark.py
src/rosotacom/benchmark_delta.py
src/rosotacom/bundle_check.py
src/rosotacom/cli.py
src/rosotacom/cli_benchmark.py
src/rosotacom/deployment.py
src/rosotacom/ffmpeg_packet.py
src/rosotacom/forensics.py
src/rosotacom/geomap.py
src/rosotacom/image_cache.py
src/rosotacom/network_profiles.py
src/rosotacom/network_shaper.py
src/rosotacom/plots.py
src/rosotacom/py.typed
src/rosotacom/status_eval.py
src/rosotacom/stream_stats.py
src/rosotacom/trace_profiles.py
src/rosotacom/transit.py
src/rosotacom/video_quality.py
src/rosotacom/resources/benched-set.yaml
src/rosotacom/resources/ros2docker.json.example
src/rosotacom/resources/examples/.gitignore
src/rosotacom/resources/examples/README.md
src/rosotacom/resources/examples/__init__.py
src/rosotacom/resources/examples/deployment.example.yaml
src/rosotacom/resources/examples/profiles.yaml
src/rosotacom/resources/examples/ros2docker.json
src/rosotacom/resources/examples/rosotacom.yaml
src/rosotacom/resources/examples/bags/8_drop_reference/metadata.yaml
src/rosotacom/resources/examples/scenarios/2_native_chatter/scenario-definition.yaml
src/rosotacom/resources/examples/scripts/1_heartbeat/run_machine_a.sh
src/rosotacom/resources/examples/scripts/1_heartbeat/run_machine_b.sh
src/rosotacom/resources/examples/scripts/2_native_chatter/machine_a/external.ros2docker.json
src/rosotacom/resources/examples/scripts/2_native_chatter/machine_a/run_communication.sh
src/rosotacom/resources/examples/scripts/2_native_chatter/machine_a/run_external.py
src/rosotacom/resources/examples/scripts/2_native_chatter/machine_a/wait_for_echo_topic.sh
src/rosotacom/resources/examples/scripts/2_native_chatter/machine_b/external.ros2docker.json
src/rosotacom/resources/examples/scripts/2_native_chatter/machine_b/run_communication.sh
src/rosotacom/resources/examples/scripts/2_native_chatter/machine_b/run_external.py
src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/external.ros2docker.json
src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/external_session.yaml
src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/foxglove.json
src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/run_communication.sh
src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/run_external.py
src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/external.ros2docker.json
src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/run_communication.sh
src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/run_external.py
src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/costmap_1second/costmap_1second_0.mcap
src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/costmap_1second/metadata.yaml
src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/external.ros2docker.json
src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/external_session.yaml
src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/foxglove.json
src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/run_communication.sh
src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/run_external.py
src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/external.ros2docker.json
src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/run_communication.sh
src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/run_external.py
src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/costmap_1second/costmap_1second_0.mcap
src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/costmap_1second/metadata.yaml
src/rosotacom/resources/examples/scripts/5_sized_payload/machine_a/external.ros2docker.json
src/rosotacom/resources/examples/scripts/5_sized_payload/machine_a/external_session.yaml
src/rosotacom/resources/examples/scripts/5_sized_payload/machine_a/run_communication.sh
src/rosotacom/resources/examples/scripts/5_sized_payload/machine_a/run_external.py
src/rosotacom/resources/examples/scripts/5_sized_payload/machine_b/external.ros2docker.json
src/rosotacom/resources/examples/scripts/5_sized_payload/machine_b/external_session.yaml
src/rosotacom/resources/examples/scripts/5_sized_payload/machine_b/run_communication.sh
src/rosotacom/resources/examples/scripts/5_sized_payload/machine_b/run_external.py
src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_a/external.ros2docker.json
src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_a/external_session.yaml
src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_a/run_communication.sh
src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_a/run_external.py
src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_b/external.ros2docker.json
src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_b/external_session.yaml
src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_b/run_communication.sh
src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_b/run_external.py
src/rosotacom/resources/examples/sessions/10_restamp/session-definition.yaml
src/rosotacom/resources/examples/sessions/11_trickle/session-definition.yaml
src/rosotacom/resources/examples/sessions/12_content_integrity/session-definition.yaml
src/rosotacom/resources/examples/sessions/13_link_latency/session-definition.yaml
src/rosotacom/resources/examples/sessions/14_remote_assist_anonymized/session-definition.yaml
src/rosotacom/resources/examples/sessions/15_remote_assist_anonymized_costmap/session-definition.yaml
src/rosotacom/resources/examples/sessions/16_remote_assist_anonymized_camera/session-definition.yaml
src/rosotacom/resources/examples/sessions/17_synthetic_camera_quality/session-definition.yaml
src/rosotacom/resources/examples/sessions/1_heartbeat/session-definition.yaml
src/rosotacom/resources/examples/sessions/1_heartbeat_status/session-definition.yaml
src/rosotacom/resources/examples/sessions/2_native_chatter/session-definition.yaml
src/rosotacom/resources/examples/sessions/3_comp_occ_grid/session-definition.yaml
src/rosotacom/resources/examples/sessions/4_comp_occ_grid_zen/session-definition.yaml
src/rosotacom/resources/examples/sessions/5_sized_payload/session-definition.yaml
src/rosotacom/resources/examples/sessions/6_sized_payload_zen/session-definition.yaml
src/rosotacom/resources/examples/sessions/7_latched_static/session-definition.yaml
src/rosotacom/resources/examples/sessions/8_drop/session-definition.yaml
src/rosotacom/resources/examples/sessions/9_throttle/session-definition.yaml
src/rosotacom/resources/examples/sessions/bench_1_1_capacity/session-definition.yaml
src/rosotacom/resources/examples/sessions/bench_1_2_load_sweep/session-definition.yaml
src/rosotacom/resources/examples/sessions/bench_1_3_ramp/session-definition.yaml
src/rosotacom/resources/examples/sessions/bench_1_4_recovery/session-definition.yaml
src/rosotacom/resources/examples/sessions/bench_1_5_camera/session-definition.yaml
src/rosotacom/resources/ws/.vscode/c_cpp_properties.json
src/rosotacom/resources/ws/.vscode/settings.json
src/rosotacom/resources/ws/ota_configs/create_zenoh_json5.py
src/rosotacom/resources/ws/ota_configs/cyclonedds_local_participants.xml.template
src/rosotacom/resources/ws/ota_configs/cyclonedds_minimal.xml.template
src/rosotacom/resources/ws/ota_configs/cyclonedds_tuned.xml.template
src/rosotacom/resources/ws/ota_configs/fastdds_unicast.xml.template
src/rosotacom/resources/ws/ota_configs/get_ota_xml.py
src/rosotacom/resources/ws/ota_configs/utils.py
src/rosotacom/resources/ws/ota_configs/zenoh.json5.template
src/rosotacom/resources/ws/ota_configs/archive/fastdds_easy_mode.xml.template
src/rosotacom/resources/ws/ota_configs/archive/fastdds_initial_peer_list.xml.template
src/rosotacom/resources/ws/ota_configs/archive/fastdds_v2.xml.template
src/rosotacom/resources/ws/ota_configs/archive/fastdds_v3.xml.template
src/rosotacom/resources/ws/ota_configs/archive/fastdds_v4.xml.template
src/rosotacom/resources/ws/ota_configs/archive/fastdds_v5.xml.template
src/rosotacom/resources/ws/ros2src/.gitkeep
src/rosotacom/resources/ws/ros2src/com_cpp/CMakeLists.txt
src/rosotacom/resources/ws/ros2src/com_cpp/COLCON_IGNORE
src/rosotacom/resources/ws/ros2src/com_cpp/LICENSE.txt
src/rosotacom/resources/ws/ros2src/com_cpp/package.xml
src/rosotacom/resources/ws/ros2src/com_cpp/src/hz_monitor.cpp
src/rosotacom/resources/ws/ros2src/com_cpp/src/universal_compressor.cpp
src/rosotacom/resources/ws/ros2src/com_cpp/src/universal_decompressor.cpp
src/rosotacom/resources/ws/ros2src/com_msgs/CMakeLists.txt
src/rosotacom/resources/ws/ros2src/com_msgs/LICENSE.txt
src/rosotacom/resources/ws/ros2src/com_msgs/package.xml
src/rosotacom/resources/ws/ros2src/com_msgs/msg/CompressedData.msg
src/rosotacom/resources/ws/ros2src/com_msgs/msg/EchoHeartbeat.msg
src/rosotacom/resources/ws/ros2src/com_msgs/msg/OtaStamped.msg
src/rosotacom/resources/ws/ros2src/com_msgs/msg/SizedPayload.msg
src/rosotacom/resources/ws/ros2src/com_py/LICENSE.txt
src/rosotacom/resources/ws/ros2src/com_py/package.xml
src/rosotacom/resources/ws/ros2src/com_py/setup.cfg
src/rosotacom/resources/ws/ros2src/com_py/setup.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/__init__.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/base_bridge_relay.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/bridge_in.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/bridge_out.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/heartbeat_echo.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/hz_monitor.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/image_bandwidth_reducer.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/image_pixel_capper.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/lanelet_saver.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/latch_relay.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/link_bytes.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/link_trace.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/local_global_frame_bridge.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/localization_map_split_reduce_saver.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/msg_transform.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/pair_management.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/pub_sub_pair.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/qos.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/relay_in.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/relay_out.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/restamp.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/sized_publisher.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/stage_latency.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/stage_latency_core.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/status_overview.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/status_overview_core.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/tf_map_to_cart_saver.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/topic_monitor.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/topic_resolution.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/trickle.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/universal_compressor.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/universal_decompressor.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/universal_ota_unwrapper.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/universal_ota_wrapper.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/costmap_remapper.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/marker_remapper.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/speed_test.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/tf_remapper.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/traffic_monitor.py
src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/wifi_network_analysis_1.py
src/rosotacom/resources/ws/ros2src/com_py/resource/com_py
src/rosotacom/resources/ws/ros2src/com_py/test/test_copyright.py
src/rosotacom/resources/ws/ros2src/com_py/test/test_flake8.py
src/rosotacom/resources/ws/ros2src/com_py/test/test_pep257.py
src/rosotacom/resources/ws/session/content/base/session_plugin_base.yaml
src/rosotacom/resources/ws/session/content/network/up_connectivity.py
src/rosotacom/resources/ws/session/content/network/wifi_network_analysis_2.py
src/rosotacom/resources/ws/session/creation/anonymize_bag.py
src/rosotacom/resources/ws/session/creation/catmux_log_setup.sh
src/rosotacom/resources/ws/session/creation/create_session_yaml.py
src/rosotacom/resources/ws/session/creation/generate_session_files.py
src/rosotacom/resources/ws/session/creation/run_session.py
src/rosotacom/resources/ws/session/creation/run_session_in_external_terminal.py
src/rosotacom/resources/ws/session/creation/strip_ansi.py
src/rosotacom_dev.egg-info/PKG-INFO
src/rosotacom_dev.egg-info/SOURCES.txt
src/rosotacom_dev.egg-info/dependency_links.txt
src/rosotacom_dev.egg-info/entry_points.txt
src/rosotacom_dev.egg-info/requires.txt
src/rosotacom_dev.egg-info/scm_file_list.json
src/rosotacom_dev.egg-info/scm_version.json
src/rosotacom_dev.egg-info/top_level.txt
tests/contract/test_benched_set_registry.py
tests/contract/test_findings.py
tests/contract/test_markdown_links.py
tests/contract/test_ota_source_bundle.py
tests/contract/test_package_metadata.py
tests/contract/test_packaged_resources.py
tests/contract/test_profile_covers_generated_commands.py
tests/contract/test_pytest_policy.py
tests/contract/test_readme_examples.py
tests/contract/test_security_maintenance_config.py
tests/contract/test_session_configuration_doc.py
tests/contract/test_session_template_substitution.py
tests/contract/test_workflow_contracts.py
tests/e2e/conftest.py
tests/e2e/test_anonymize_e2e.py
tests/e2e/test_benchmark_ab.py
tests/e2e/test_benchmark_capacity.py
tests/e2e/test_benchmark_replay.py
tests/e2e/test_parallel_smoke.py
tests/e2e/test_smoke.py
tests/e2e/test_timeline_stepping.py
tests/e2e/test_video_quality_e2e.py
tests/sessions/generate_rmw_matrix.py
tests/sessions/rmw_matrix/1_heartbeat_cyclone-local_zenoh-ros2dds-ota/session-definition.yaml
tests/sessions/rmw_matrix/1_heartbeat_cyclone-ota/session-definition.yaml
tests/sessions/rmw_matrix/1_heartbeat_cyclone-ota-tuned/session-definition.yaml
tests/sessions/rmw_matrix/1_heartbeat_fastdds/session-definition.yaml
tests/sessions/rmw_matrix/1_heartbeat_zen-endpoints/session-definition.yaml
tests/unit/test_anonymize.py
tests/unit/test_bag_ground_truth.py
tests/unit/test_benched_set.py
tests/unit/test_benchmark.py
tests/unit/test_benchmark_delta.py
tests/unit/test_bundle_check.py
tests/unit/test_catmux_pane_logging.py
tests/unit/test_cli.py
tests/unit/test_cli_benchmark.py
tests/unit/test_concurrency.py
tests/unit/test_deployment.py
tests/unit/test_ffmpeg_packet.py
tests/unit/test_forensics.py
tests/unit/test_geomap.py
tests/unit/test_image_cache.py
tests/unit/test_link_bytes.py
tests/unit/test_link_trace.py
tests/unit/test_network_profiles.py
tests/unit/test_network_shaper.py
tests/unit/test_ota_unwrapper.py
tests/unit/test_ota_wrapper.py
tests/unit/test_ota_xml.py
tests/unit/test_plots.py
tests/unit/test_session_pipeline.py
tests/unit/test_stage_latency.py
tests/unit/test_status_eval.py
tests/unit/test_status_overview.py
tests/unit/test_status_overview_observer.py
tests/unit/test_stream_stats.py
tests/unit/test_trace_profiles.py
tests/unit/test_transit.py
tests/unit/test_video_quality.py