rosotacom-dev 2.5.dev7__tar.gz → 2.5.dev8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/PKG-INFO +1 -1
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/cli.py +50 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom_dev.egg-info/PKG-INFO +1 -1
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom_dev.egg-info/scm_version.json +2 -2
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/unit/test_cli.py +37 -1
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.devcontainer/devcontainer.json.template +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.devcontainer/re_generate_devcontainer_json.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.github/CODEOWNERS +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.github/ISSUE_TEMPLATE/documentation-audit.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.github/ISSUE_TEMPLATE/implementation-cleanup.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.github/ISSUE_TEMPLATE/quality-workflow.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.github/ISSUE_TEMPLATE/redesign.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.github/ISSUE_TEMPLATE/release-process.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.github/ISSUE_TEMPLATE/repository-diagnosis.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.github/ISSUE_TEMPLATE/test-ci-audit.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.github/ISSUE_TEMPLATE/work-item.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.github/dependabot.yml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.github/workflows/benchmark-calibrate.yml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.github/workflows/benchmark-gate.yml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.github/workflows/dev-release.yml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.github/workflows/image-scan.yml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.github/workflows/nightly-e2e.yml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.github/workflows/pr-lightweight.yml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.github/workflows/pr-merge-gate.yml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.github/workflows/release.yml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.pre-commit-config.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/AGENTS.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/CONCURRENCY.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/CONTRIBUTING.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/DEVELOPMENT_PRINCIPLES.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/LICENSE.txt +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/MANIFEST.in +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/README.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/budgets.jsonl +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/calibration/README.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/calibration/capacity-size-tight-cyclone.json +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/calibration/probe-loss-gop-tight-cyclone.json +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/calibration/probe-loss-nominal-cyclone.json +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/calibration/probe-loss-tight-cyclone.json +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/calibration/probe-loss-tight-fastdds.json +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/calibration/probe-loss-tight-zenoh.json +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/codecov.yml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/deployment-configuration.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/benchmark-ab.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/benchmark-bag-as-load.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/ci.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/ffmpeg-keyframes.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/findings/README.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/findings/cyclone-spdp-discovery-bursts.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/findings/delay-alone-no-loss.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/findings/head-of-line-irregularity.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/findings/jitter-loss-bandwidth-latency.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/findings/lighter-message-loss.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/findings/zero-loss-boundaries-18kb-20hz.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/forensics-report.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/geo-link-map.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/github-repository-settings.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/link-trace.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/owner-runbook.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/performance-bands.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/playbooks/README.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/quality-model.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/release-notes/TEMPLATE.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/release-notes/v2.1.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/release-notes/v2.2.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/release-notes/v2.3.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/release-notes/v2.4.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/release.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/rfcs/0001-expectation-driven-test-suite.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/rfcs/0002-expectation-concepts.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/rfcs/0003-metric-backbone.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/rfcs/0004-network-profiles.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/rfcs/0005-benchmark-genres-and-ci.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/rfcs/0006-dynamic-qos.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/rfcs/0007-regression-gate.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/rfcs/README.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/testing.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/work-items.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/install.sh +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/justfile +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/media/control_center.png +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/media/echo_test.png +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/media/forensics-report-example.png +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/media/host.png +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/media/vehicle.png +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/pyproject.toml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/requirements.txt +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/rosotacom.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/run_session_in_container.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/session-configuration.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/setup.cfg +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/__init__.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/__main__.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/anonymize.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/bag_ground_truth.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/benched_set.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/benchmark.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/bundle_check.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/cli_benchmark.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/deployment.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/ffmpeg_packet.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/forensics.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/geomap.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/network_profiles.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/network_shaper.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/plots.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/py.typed +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/benched-set.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/.gitignore +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/README.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/__init__.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/bags/8_drop_reference/metadata.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/deployment.example.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/profiles.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/rosotacom.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scenarios/2_native_chatter/scenario-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/1_heartbeat/run_machine_a.sh +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/1_heartbeat/run_machine_b.sh +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_a/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_a/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_a/run_external.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_a/wait_for_echo_topic.sh +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_b/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_b/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_b/run_external.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/external_session.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/foxglove.json +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/run_external.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/costmap_1second/costmap_1second_0.mcap +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/costmap_1second/metadata.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/run_external.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/external_session.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/foxglove.json +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/run_external.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/costmap_1second/costmap_1second_0.mcap +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/costmap_1second/metadata.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/run_external.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_a/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_a/external_session.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_a/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_a/run_external.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_b/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_b/external_session.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_b/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_b/run_external.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_a/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_a/external_session.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_a/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_a/run_external.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_b/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_b/external_session.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_b/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_b/run_external.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/sessions/10_restamp/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/sessions/11_trickle/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/sessions/12_content_integrity/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/sessions/13_link_latency/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/sessions/14_remote_assist_anonymized/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/sessions/15_remote_assist_anonymized_costmap/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/sessions/16_remote_assist_anonymized_camera/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/sessions/17_synthetic_camera_quality/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/sessions/1_heartbeat/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/sessions/1_heartbeat_status/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/sessions/2_native_chatter/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/sessions/3_comp_occ_grid/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/sessions/4_comp_occ_grid_zen/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/sessions/5_sized_payload/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/sessions/6_sized_payload_zen/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/sessions/7_latched_static/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/sessions/8_drop/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/sessions/9_throttle/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/sessions/bench_1_1_capacity/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/sessions/bench_1_2_load_sweep/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/sessions/bench_1_3_ramp/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/sessions/bench_1_4_recovery/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/sessions/bench_1_5_camera/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ros2docker.json.example +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/.vscode/c_cpp_properties.json +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/.vscode/settings.json +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_easy_mode.xml.template +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_initial_peer_list.xml.template +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_v2.xml.template +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_v3.xml.template +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_v4.xml.template +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_v5.xml.template +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ota_configs/create_zenoh_json5.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ota_configs/cyclonedds_minimal.xml.template +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ota_configs/cyclonedds_tuned.xml.template +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ota_configs/fastdds_unicast.xml.template +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ota_configs/get_ota_xml.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ota_configs/utils.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ota_configs/zenoh.json5.template +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/.gitkeep +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_cpp/CMakeLists.txt +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_cpp/COLCON_IGNORE +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_cpp/LICENSE.txt +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_cpp/package.xml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_cpp/src/hz_monitor.cpp +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_cpp/src/universal_compressor.cpp +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_cpp/src/universal_decompressor.cpp +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_msgs/CMakeLists.txt +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_msgs/LICENSE.txt +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_msgs/msg/CompressedData.msg +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_msgs/msg/EchoHeartbeat.msg +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_msgs/msg/OtaStamped.msg +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_msgs/msg/SizedPayload.msg +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_msgs/package.xml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/LICENSE.txt +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/__init__.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/base_bridge_relay.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/bridge_in.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/bridge_out.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/heartbeat_echo.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/hz_monitor.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/image_bandwidth_reducer.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/image_pixel_capper.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/lanelet_saver.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/latch_relay.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/costmap_remapper.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/marker_remapper.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/speed_test.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/tf_remapper.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/traffic_monitor.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/wifi_network_analysis_1.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/link_bytes.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/link_trace.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/local_global_frame_bridge.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/localization_map_split_reduce_saver.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/msg_transform.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/pair_management.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/pub_sub_pair.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/qos.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/relay_in.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/relay_out.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/restamp.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/sized_publisher.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/stage_latency.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/stage_latency_core.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/status_overview.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/status_overview_core.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/tf_map_to_cart_saver.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/topic_monitor.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/topic_resolution.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/trickle.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/universal_compressor.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/universal_decompressor.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/universal_ota_unwrapper.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/com_py/universal_ota_wrapper.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/package.xml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/resource/com_py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/setup.cfg +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/setup.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/test/test_copyright.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/test/test_flake8.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/ros2src/com_py/test/test_pep257.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/session/content/base/session_plugin_base.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/session/content/network/up_connectivity.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/session/content/network/wifi_network_analysis_2.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/session/creation/anonymize_bag.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/session/creation/catmux_log_setup.sh +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/session/creation/create_session_yaml.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/session/creation/generate_session_files.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/session/creation/run_session.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/session/creation/run_session_in_external_terminal.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/ws/session/creation/strip_ansi.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/status_eval.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/stream_stats.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/trace_profiles.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/transit.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/video_quality.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom_dev.egg-info/SOURCES.txt +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom_dev.egg-info/dependency_links.txt +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom_dev.egg-info/entry_points.txt +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom_dev.egg-info/requires.txt +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom_dev.egg-info/scm_file_list.json +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom_dev.egg-info/top_level.txt +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/stop_session_in_container.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/terminology.md +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/contract/test_benched_set_registry.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/contract/test_findings.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/contract/test_markdown_links.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/contract/test_ota_source_bundle.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/contract/test_package_metadata.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/contract/test_packaged_resources.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/contract/test_profile_covers_generated_commands.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/contract/test_pytest_policy.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/contract/test_readme_examples.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/contract/test_security_maintenance_config.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/contract/test_workflow_contracts.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/e2e/conftest.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/e2e/test_anonymize_e2e.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/e2e/test_benchmark_ab.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/e2e/test_benchmark_capacity.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/e2e/test_benchmark_replay.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/e2e/test_parallel_smoke.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/e2e/test_smoke.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/e2e/test_timeline_stepping.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/e2e/test_video_quality_e2e.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/sessions/generate_rmw_matrix.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/sessions/rmw_matrix/1_heartbeat_cyclone-local_zenoh-ros2dds-ota/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/sessions/rmw_matrix/1_heartbeat_cyclone-ota/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/sessions/rmw_matrix/1_heartbeat_cyclone-ota-tuned/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/sessions/rmw_matrix/1_heartbeat_fastdds/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/sessions/rmw_matrix/1_heartbeat_zen-endpoints/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/unit/test_anonymize.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/unit/test_bag_ground_truth.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/unit/test_benched_set.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/unit/test_benchmark.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/unit/test_bundle_check.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/unit/test_cli_benchmark.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/unit/test_concurrency.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/unit/test_deployment.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/unit/test_ffmpeg_packet.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/unit/test_forensics.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/unit/test_geomap.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/unit/test_link_bytes.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/unit/test_link_trace.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/unit/test_network_profiles.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/unit/test_network_shaper.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/unit/test_ota_xml.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/unit/test_plots.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/unit/test_stage_latency.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/unit/test_status_eval.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/unit/test_status_overview.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/unit/test_stream_stats.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/unit/test_trace_profiles.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/unit/test_transit.py +0 -0
- {rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/tests/unit/test_video_quality.py +0 -0
|
@@ -2319,6 +2319,30 @@ def _infer_active_ota_smoke_run(
|
|
|
2319
2319
|
)
|
|
2320
2320
|
|
|
2321
2321
|
|
|
2322
|
+
def _ota_latest_state_for(
|
|
2323
|
+
runtime: RuntimeConfig, target: InteractiveSmokeTarget, instance_id: str | None
|
|
2324
|
+
) -> str | None:
|
|
2325
|
+
"""The newest `ota-deployment.yaml` for this target, if one is on disk.
|
|
2326
|
+
|
|
2327
|
+
Instances are laid out `<instances>/<date>/<session>_<time>_<instance-id>/`,
|
|
2328
|
+
so a named instance can be matched by suffix and an unnamed one by
|
|
2329
|
+
modification time. Returns None rather than raising: not finding a state is
|
|
2330
|
+
a normal outcome (nothing was ever started here), and the caller has a
|
|
2331
|
+
command line to fall back to.
|
|
2332
|
+
"""
|
|
2333
|
+
root = _session_instances_root(runtime)
|
|
2334
|
+
if not root.is_dir():
|
|
2335
|
+
return None
|
|
2336
|
+
candidates = sorted(
|
|
2337
|
+
(path for path in root.glob("*/*/ota-deployment.yaml")),
|
|
2338
|
+
key=lambda path: path.stat().st_mtime,
|
|
2339
|
+
reverse=True,
|
|
2340
|
+
)
|
|
2341
|
+
if instance_id:
|
|
2342
|
+
candidates = [path for path in candidates if path.parent.name.endswith(f"_{instance_id}")]
|
|
2343
|
+
return str(candidates[0]) if candidates else None
|
|
2344
|
+
|
|
2345
|
+
|
|
2322
2346
|
def _resolve_ota_smoke_context(
|
|
2323
2347
|
args: argparse.Namespace,
|
|
2324
2348
|
) -> tuple[RuntimeConfig, OtaSmokePlan, InteractiveSmokeTarget]:
|
|
@@ -2327,6 +2351,21 @@ def _resolve_ota_smoke_context(
|
|
|
2327
2351
|
getattr(args, "target", None), runtime, getattr(args, "target_type", "auto")
|
|
2328
2352
|
)
|
|
2329
2353
|
state_file = getattr(args, "state_file", None)
|
|
2354
|
+
if not state_file and getattr(args, "stop", False):
|
|
2355
|
+
# Stopping has to reach the run that exists, and the only record of how
|
|
2356
|
+
# that run was deployed is the state a start wrote. Reconstructing a
|
|
2357
|
+
# plan from the command line instead means guessing the install mode,
|
|
2358
|
+
# and the default guess is `source` — which points the stop at
|
|
2359
|
+
# `/tmp/rosotacom_ota/source/.venv/bin/rosotacom` for peers that were
|
|
2360
|
+
# started from their own checkouts. Observed on 2026-08-11: every peer
|
|
2361
|
+
# stop failed silently (they are best-effort), the containers stayed up,
|
|
2362
|
+
# and the only visible action was a cleanup removing a staging directory
|
|
2363
|
+
# that had never been created. Usually the live tmux session carries the
|
|
2364
|
+
# state path; when it does not — a killed session, a run started from
|
|
2365
|
+
# another terminal — the instance directory still does.
|
|
2366
|
+
state_file = _ota_latest_state_for(runtime, target, getattr(args, "instance_id", None))
|
|
2367
|
+
if state_file:
|
|
2368
|
+
print(f"OTA smoke: stopping the run recorded in {state_file}")
|
|
2330
2369
|
if state_file:
|
|
2331
2370
|
plan = _ota_load_state(state_file)
|
|
2332
2371
|
else:
|
|
@@ -3594,6 +3633,17 @@ def _list_ota_smoke(args: argparse.Namespace) -> int:
|
|
|
3594
3633
|
|
|
3595
3634
|
|
|
3596
3635
|
def _ota_cleanup_hosts(plan: OtaSmokePlan, *, dry_run: bool) -> None:
|
|
3636
|
+
if plan.state_path is None:
|
|
3637
|
+
# No recorded state means this plan came from the command line, so its
|
|
3638
|
+
# install mode is a default rather than a fact about the run. Removing a
|
|
3639
|
+
# workdir on that basis is a destructive act taken on a guess: it is how
|
|
3640
|
+
# a stop that reached no peer still reported doing something. Say what
|
|
3641
|
+
# is missing instead.
|
|
3642
|
+
print(
|
|
3643
|
+
"OTA smoke: skipping cleanup — no deployment state for this run, so its install mode is unknown. "
|
|
3644
|
+
"Pass --state-file if a workdir really needs removing."
|
|
3645
|
+
)
|
|
3646
|
+
return
|
|
3597
3647
|
if plan.install_mode == "checkout":
|
|
3598
3648
|
# The workdir is the user's repository here. `rm -rf` on it would delete
|
|
3599
3649
|
# a checkout with its untracked work — bags, instance artefacts, local
|
|
@@ -12,6 +12,7 @@ import sys
|
|
|
12
12
|
import tarfile
|
|
13
13
|
import zlib
|
|
14
14
|
from collections.abc import Callable
|
|
15
|
+
from dataclasses import replace
|
|
15
16
|
from pathlib import Path
|
|
16
17
|
|
|
17
18
|
import pytest
|
|
@@ -3083,7 +3084,7 @@ def test_ota_cleanup_never_removes_a_checkout(tmp_path: Path, capsys: pytest.Cap
|
|
|
3083
3084
|
# `--cleanup` exists to undo staging. In checkout mode the workdir is the
|
|
3084
3085
|
# user's repository, so the same `rm -rf` would delete a checkout — with
|
|
3085
3086
|
# its bags and untracked work — to remove files that were never created.
|
|
3086
|
-
plan = _ota_checkout_plan(_write_checkout_project(tmp_path))
|
|
3087
|
+
plan = replace(_ota_checkout_plan(_write_checkout_project(tmp_path)), state_path=tmp_path / "state.yaml")
|
|
3087
3088
|
calls: list[str] = []
|
|
3088
3089
|
|
|
3089
3090
|
original = rosotacom._ota_run
|
|
@@ -3108,3 +3109,38 @@ def test_ota_checkout_state_round_trips_the_peer_checkouts(tmp_path: Path) -> No
|
|
|
3108
3109
|
# A --stop or --state-file resume must reach the same checkout the start
|
|
3109
3110
|
# used; losing it would run the stop in the staging directory instead.
|
|
3110
3111
|
assert rosotacom._ota_load_state(str(plan.state_path)) == plan
|
|
3112
|
+
|
|
3113
|
+
|
|
3114
|
+
def test_ota_stop_recovers_the_recorded_plan_instead_of_guessing(tmp_path: Path) -> None:
|
|
3115
|
+
# A stop that reconstructs its plan from the command line guesses the
|
|
3116
|
+
# install mode, and the default guess points at a staged interpreter that a
|
|
3117
|
+
# checkout-mode run never installed: every peer stop then fails silently
|
|
3118
|
+
# (they are best-effort) while the containers stay up.
|
|
3119
|
+
runtime, _resolved = _write_test_scenario_project(tmp_path)
|
|
3120
|
+
plan = _ota_checkout_plan(_write_checkout_project(tmp_path))
|
|
3121
|
+
target = rosotacom._resolve_interactive_smoke_target("demo", runtime, "auto")
|
|
3122
|
+
instance = rosotacom._resolve_session_instance(runtime, target.session, "ota")
|
|
3123
|
+
written = rosotacom._ota_write_state(instance, plan)
|
|
3124
|
+
|
|
3125
|
+
found = rosotacom._ota_latest_state_for(runtime, target, "ota")
|
|
3126
|
+
|
|
3127
|
+
assert found == str(written.state_path)
|
|
3128
|
+
assert rosotacom._ota_load_state(found).install_mode == "checkout"
|
|
3129
|
+
assert rosotacom._ota_latest_state_for(runtime, target, "no-such-instance") is None
|
|
3130
|
+
|
|
3131
|
+
|
|
3132
|
+
def test_ota_cleanup_refuses_to_act_on_a_guessed_plan(capsys: pytest.CaptureFixture[str]) -> None:
|
|
3133
|
+
# Without recorded state the install mode is a default, not a fact. Removing
|
|
3134
|
+
# a workdir on that basis is a destructive act taken on a guess.
|
|
3135
|
+
plan = rosotacom._ota_plan_from_bindings(_ota_bindings(), workdir="/tmp/rosotacom_ota")
|
|
3136
|
+
calls: list[str] = []
|
|
3137
|
+
|
|
3138
|
+
original = rosotacom._ota_run
|
|
3139
|
+
try:
|
|
3140
|
+
rosotacom._ota_run = lambda *args, **kwargs: calls.append(str(args)) # type: ignore[assignment]
|
|
3141
|
+
rosotacom._ota_cleanup_hosts(plan, dry_run=False)
|
|
3142
|
+
finally:
|
|
3143
|
+
rosotacom._ota_run = original # type: ignore[assignment]
|
|
3144
|
+
|
|
3145
|
+
assert calls == []
|
|
3146
|
+
assert "no deployment state" in capsys.readouterr().out
|
|
File without changes
|
{rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.devcontainer/re_generate_devcontainer_json.py
RENAMED
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.github/ISSUE_TEMPLATE/documentation-audit.md
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.github/ISSUE_TEMPLATE/implementation-cleanup.md
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.github/ISSUE_TEMPLATE/quality-workflow.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/.github/ISSUE_TEMPLATE/repository-diagnosis.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/calibration/capacity-size-tight-cyclone.json
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/calibration/probe-loss-gop-tight-cyclone.json
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/calibration/probe-loss-nominal-cyclone.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/findings/cyclone-spdp-discovery-bursts.md
RENAMED
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/findings/head-of-line-irregularity.md
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/findings/jitter-loss-bandwidth-latency.md
RENAMED
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/findings/zero-loss-boundaries-18kb-20hz.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/docs/rfcs/0001-expectation-driven-test-suite.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/.gitignore
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/README.md
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/profiles.yaml
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/ros2docker.json
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev7 → rosotacom_dev-2.5.dev8}/src/rosotacom/resources/examples/rosotacom.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|