rosotacom-dev 2.4__tar.gz → 2.5.dev1__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.
Files changed (339) hide show
  1. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/.github/workflows/dev-release.yml +7 -2
  2. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/PKG-INFO +1 -1
  3. rosotacom_dev-2.5.dev1/docs/github-repository-settings.md +81 -0
  4. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/release.md +11 -5
  5. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom_dev.egg-info/PKG-INFO +1 -1
  6. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom_dev.egg-info/scm_version.json +2 -2
  7. rosotacom_dev-2.4/docs/github-repository-settings.md +0 -46
  8. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/.devcontainer/devcontainer.json.template +0 -0
  9. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/.devcontainer/re_generate_devcontainer_json.py +0 -0
  10. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/.github/CODEOWNERS +0 -0
  11. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/.github/ISSUE_TEMPLATE/documentation-audit.md +0 -0
  12. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/.github/ISSUE_TEMPLATE/implementation-cleanup.md +0 -0
  13. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/.github/ISSUE_TEMPLATE/quality-workflow.md +0 -0
  14. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/.github/ISSUE_TEMPLATE/redesign.md +0 -0
  15. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/.github/ISSUE_TEMPLATE/release-process.md +0 -0
  16. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/.github/ISSUE_TEMPLATE/repository-diagnosis.md +0 -0
  17. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/.github/ISSUE_TEMPLATE/test-ci-audit.md +0 -0
  18. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/.github/ISSUE_TEMPLATE/work-item.md +0 -0
  19. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  20. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/.github/dependabot.yml +0 -0
  21. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/.github/workflows/benchmark-calibrate.yml +0 -0
  22. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/.github/workflows/benchmark-gate.yml +0 -0
  23. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/.github/workflows/image-scan.yml +0 -0
  24. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/.github/workflows/nightly-e2e.yml +0 -0
  25. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/.github/workflows/pr-lightweight.yml +0 -0
  26. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/.github/workflows/pr-merge-gate.yml +0 -0
  27. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/.github/workflows/release.yml +0 -0
  28. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/.pre-commit-config.yaml +0 -0
  29. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/AGENTS.md +0 -0
  30. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/CONCURRENCY.md +0 -0
  31. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/CONTRIBUTING.md +0 -0
  32. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/DEVELOPMENT_PRINCIPLES.md +0 -0
  33. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/LICENSE.txt +0 -0
  34. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/MANIFEST.in +0 -0
  35. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/README.md +0 -0
  36. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/budgets.jsonl +0 -0
  37. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/calibration/README.md +0 -0
  38. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/calibration/capacity-size-tight-cyclone.json +0 -0
  39. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/calibration/probe-loss-gop-tight-cyclone.json +0 -0
  40. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/calibration/probe-loss-nominal-cyclone.json +0 -0
  41. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/calibration/probe-loss-tight-cyclone.json +0 -0
  42. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/calibration/probe-loss-tight-fastdds.json +0 -0
  43. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/calibration/probe-loss-tight-zenoh.json +0 -0
  44. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/codecov.yml +0 -0
  45. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/deployment-configuration.md +0 -0
  46. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/benchmark-ab.md +0 -0
  47. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/benchmark-bag-as-load.md +0 -0
  48. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/ci.md +0 -0
  49. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/ffmpeg-keyframes.md +0 -0
  50. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/findings/README.md +0 -0
  51. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/findings/cyclone-spdp-discovery-bursts.md +0 -0
  52. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/findings/delay-alone-no-loss.md +0 -0
  53. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/findings/head-of-line-irregularity.md +0 -0
  54. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/findings/jitter-loss-bandwidth-latency.md +0 -0
  55. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/findings/lighter-message-loss.md +0 -0
  56. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/findings/zero-loss-boundaries-18kb-20hz.md +0 -0
  57. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/forensics-report.md +0 -0
  58. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/geo-link-map.md +0 -0
  59. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/link-trace.md +0 -0
  60. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/owner-runbook.md +0 -0
  61. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/performance-bands.md +0 -0
  62. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/playbooks/README.md +0 -0
  63. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/quality-model.md +0 -0
  64. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/release-notes/TEMPLATE.md +0 -0
  65. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/release-notes/v2.1.md +0 -0
  66. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/release-notes/v2.2.md +0 -0
  67. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/release-notes/v2.3.md +0 -0
  68. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/release-notes/v2.4.md +0 -0
  69. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/rfcs/0001-expectation-driven-test-suite.md +0 -0
  70. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/rfcs/0002-expectation-concepts.md +0 -0
  71. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/rfcs/0003-metric-backbone.md +0 -0
  72. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/rfcs/0004-network-profiles.md +0 -0
  73. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/rfcs/0005-benchmark-genres-and-ci.md +0 -0
  74. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/rfcs/0006-dynamic-qos.md +0 -0
  75. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/rfcs/0007-regression-gate.md +0 -0
  76. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/rfcs/README.md +0 -0
  77. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/testing.md +0 -0
  78. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/docs/work-items.md +0 -0
  79. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/install.sh +0 -0
  80. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/justfile +0 -0
  81. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/media/control_center.png +0 -0
  82. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/media/echo_test.png +0 -0
  83. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/media/forensics-report-example.png +0 -0
  84. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/media/host.png +0 -0
  85. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/media/vehicle.png +0 -0
  86. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/pyproject.toml +0 -0
  87. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/requirements.txt +0 -0
  88. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/rosotacom.yaml +0 -0
  89. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/run_session_in_container.py +0 -0
  90. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/session-configuration.md +0 -0
  91. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/setup.cfg +0 -0
  92. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/__init__.py +0 -0
  93. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/__main__.py +0 -0
  94. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/anonymize.py +0 -0
  95. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/bag_ground_truth.py +0 -0
  96. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/benched_set.py +0 -0
  97. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/benchmark.py +0 -0
  98. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/bundle_check.py +0 -0
  99. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/cli.py +0 -0
  100. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/cli_benchmark.py +0 -0
  101. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/deployment.py +0 -0
  102. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/ffmpeg_packet.py +0 -0
  103. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/forensics.py +0 -0
  104. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/geomap.py +0 -0
  105. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/network_profiles.py +0 -0
  106. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/network_shaper.py +0 -0
  107. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/plots.py +0 -0
  108. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/py.typed +0 -0
  109. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/benched-set.yaml +0 -0
  110. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/.gitignore +0 -0
  111. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/README.md +0 -0
  112. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/__init__.py +0 -0
  113. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/bags/8_drop_reference/metadata.yaml +0 -0
  114. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/deployment.example.yaml +0 -0
  115. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/profiles.yaml +0 -0
  116. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/ros2docker.json +0 -0
  117. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/rosotacom.yaml +0 -0
  118. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scenarios/2_native_chatter/scenario-definition.yaml +0 -0
  119. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/1_heartbeat/run_machine_a.sh +0 -0
  120. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/1_heartbeat/run_machine_b.sh +0 -0
  121. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_a/external.ros2docker.json +0 -0
  122. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_a/run_communication.sh +0 -0
  123. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_a/run_external.py +0 -0
  124. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_a/wait_for_echo_topic.sh +0 -0
  125. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_b/external.ros2docker.json +0 -0
  126. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_b/run_communication.sh +0 -0
  127. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_b/run_external.py +0 -0
  128. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/external.ros2docker.json +0 -0
  129. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/external_session.yaml +0 -0
  130. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/foxglove.json +0 -0
  131. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/run_communication.sh +0 -0
  132. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/run_external.py +0 -0
  133. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/costmap_1second/costmap_1second_0.mcap +0 -0
  134. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/costmap_1second/metadata.yaml +0 -0
  135. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/external.ros2docker.json +0 -0
  136. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/run_communication.sh +0 -0
  137. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/run_external.py +0 -0
  138. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/external.ros2docker.json +0 -0
  139. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/external_session.yaml +0 -0
  140. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/foxglove.json +0 -0
  141. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/run_communication.sh +0 -0
  142. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/run_external.py +0 -0
  143. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/costmap_1second/costmap_1second_0.mcap +0 -0
  144. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/costmap_1second/metadata.yaml +0 -0
  145. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/external.ros2docker.json +0 -0
  146. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/run_communication.sh +0 -0
  147. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/run_external.py +0 -0
  148. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_a/external.ros2docker.json +0 -0
  149. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_a/external_session.yaml +0 -0
  150. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_a/run_communication.sh +0 -0
  151. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_a/run_external.py +0 -0
  152. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_b/external.ros2docker.json +0 -0
  153. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_b/external_session.yaml +0 -0
  154. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_b/run_communication.sh +0 -0
  155. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_b/run_external.py +0 -0
  156. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_a/external.ros2docker.json +0 -0
  157. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_a/external_session.yaml +0 -0
  158. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_a/run_communication.sh +0 -0
  159. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_a/run_external.py +0 -0
  160. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_b/external.ros2docker.json +0 -0
  161. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_b/external_session.yaml +0 -0
  162. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_b/run_communication.sh +0 -0
  163. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_b/run_external.py +0 -0
  164. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/sessions/10_restamp/session-definition.yaml +0 -0
  165. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/sessions/11_trickle/session-definition.yaml +0 -0
  166. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/sessions/12_content_integrity/session-definition.yaml +0 -0
  167. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/sessions/13_link_latency/session-definition.yaml +0 -0
  168. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/sessions/14_remote_assist_anonymized/session-definition.yaml +0 -0
  169. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/sessions/15_remote_assist_anonymized_costmap/session-definition.yaml +0 -0
  170. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/sessions/16_remote_assist_anonymized_camera/session-definition.yaml +0 -0
  171. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/sessions/17_synthetic_camera_quality/session-definition.yaml +0 -0
  172. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/sessions/1_heartbeat/session-definition.yaml +0 -0
  173. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/sessions/1_heartbeat_status/session-definition.yaml +0 -0
  174. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/sessions/2_native_chatter/session-definition.yaml +0 -0
  175. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/sessions/3_comp_occ_grid/session-definition.yaml +0 -0
  176. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/sessions/4_comp_occ_grid_zen/session-definition.yaml +0 -0
  177. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/sessions/5_sized_payload/session-definition.yaml +0 -0
  178. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/sessions/6_sized_payload_zen/session-definition.yaml +0 -0
  179. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/sessions/7_latched_static/session-definition.yaml +0 -0
  180. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/sessions/8_drop/session-definition.yaml +0 -0
  181. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/sessions/9_throttle/session-definition.yaml +0 -0
  182. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/sessions/bench_1_1_capacity/session-definition.yaml +0 -0
  183. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/sessions/bench_1_2_load_sweep/session-definition.yaml +0 -0
  184. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/sessions/bench_1_3_ramp/session-definition.yaml +0 -0
  185. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/sessions/bench_1_4_recovery/session-definition.yaml +0 -0
  186. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/examples/sessions/bench_1_5_camera/session-definition.yaml +0 -0
  187. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ros2docker.json.example +0 -0
  188. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/.vscode/c_cpp_properties.json +0 -0
  189. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/.vscode/settings.json +0 -0
  190. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_easy_mode.xml.template +0 -0
  191. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_initial_peer_list.xml.template +0 -0
  192. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_v2.xml.template +0 -0
  193. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_v3.xml.template +0 -0
  194. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_v4.xml.template +0 -0
  195. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_v5.xml.template +0 -0
  196. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ota_configs/create_zenoh_json5.py +0 -0
  197. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ota_configs/cyclonedds_minimal.xml.template +0 -0
  198. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ota_configs/cyclonedds_tuned.xml.template +0 -0
  199. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ota_configs/fastdds_unicast.xml.template +0 -0
  200. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ota_configs/get_ota_xml.py +0 -0
  201. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ota_configs/utils.py +0 -0
  202. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ota_configs/zenoh.json5.template +0 -0
  203. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/.gitkeep +0 -0
  204. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_cpp/CMakeLists.txt +0 -0
  205. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_cpp/COLCON_IGNORE +0 -0
  206. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_cpp/LICENSE.txt +0 -0
  207. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_cpp/package.xml +0 -0
  208. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_cpp/src/hz_monitor.cpp +0 -0
  209. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_cpp/src/universal_compressor.cpp +0 -0
  210. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_cpp/src/universal_decompressor.cpp +0 -0
  211. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_msgs/CMakeLists.txt +0 -0
  212. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_msgs/LICENSE.txt +0 -0
  213. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_msgs/msg/CompressedData.msg +0 -0
  214. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_msgs/msg/EchoHeartbeat.msg +0 -0
  215. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_msgs/msg/OtaStamped.msg +0 -0
  216. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_msgs/msg/SizedPayload.msg +0 -0
  217. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_msgs/package.xml +0 -0
  218. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/LICENSE.txt +0 -0
  219. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/__init__.py +0 -0
  220. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/base_bridge_relay.py +0 -0
  221. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/bridge_in.py +0 -0
  222. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/bridge_out.py +0 -0
  223. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/heartbeat_echo.py +0 -0
  224. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/hz_monitor.py +0 -0
  225. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/image_bandwidth_reducer.py +0 -0
  226. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/image_pixel_capper.py +0 -0
  227. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/lanelet_saver.py +0 -0
  228. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/latch_relay.py +0 -0
  229. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/costmap_remapper.py +0 -0
  230. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/marker_remapper.py +0 -0
  231. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/speed_test.py +0 -0
  232. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/tf_remapper.py +0 -0
  233. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/traffic_monitor.py +0 -0
  234. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/wifi_network_analysis_1.py +0 -0
  235. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/link_bytes.py +0 -0
  236. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/link_trace.py +0 -0
  237. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/local_global_frame_bridge.py +0 -0
  238. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/localization_map_split_reduce_saver.py +0 -0
  239. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/msg_transform.py +0 -0
  240. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/pair_management.py +0 -0
  241. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/pub_sub_pair.py +0 -0
  242. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/qos.py +0 -0
  243. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/relay_in.py +0 -0
  244. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/relay_out.py +0 -0
  245. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/restamp.py +0 -0
  246. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/sized_publisher.py +0 -0
  247. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/stage_latency.py +0 -0
  248. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/stage_latency_core.py +0 -0
  249. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/status_overview.py +0 -0
  250. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/status_overview_core.py +0 -0
  251. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/tf_map_to_cart_saver.py +0 -0
  252. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/topic_monitor.py +0 -0
  253. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/topic_resolution.py +0 -0
  254. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/trickle.py +0 -0
  255. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/universal_compressor.py +0 -0
  256. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/universal_decompressor.py +0 -0
  257. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/universal_ota_unwrapper.py +0 -0
  258. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/com_py/universal_ota_wrapper.py +0 -0
  259. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/package.xml +0 -0
  260. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/resource/com_py +0 -0
  261. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/setup.cfg +0 -0
  262. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/setup.py +0 -0
  263. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/test/test_copyright.py +0 -0
  264. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/test/test_flake8.py +0 -0
  265. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/ros2src/com_py/test/test_pep257.py +0 -0
  266. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/session/content/base/session_plugin_base.yaml +0 -0
  267. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/session/content/network/up_connectivity.py +0 -0
  268. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/session/content/network/wifi_network_analysis_2.py +0 -0
  269. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/session/creation/anonymize_bag.py +0 -0
  270. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/session/creation/catmux_log_setup.sh +0 -0
  271. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/session/creation/create_session_yaml.py +0 -0
  272. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/session/creation/generate_session_files.py +0 -0
  273. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/session/creation/run_session.py +0 -0
  274. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/session/creation/run_session_in_external_terminal.py +0 -0
  275. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/resources/ws/session/creation/strip_ansi.py +0 -0
  276. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/status_eval.py +0 -0
  277. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/stream_stats.py +0 -0
  278. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/trace_profiles.py +0 -0
  279. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/transit.py +0 -0
  280. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom/video_quality.py +0 -0
  281. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom_dev.egg-info/SOURCES.txt +0 -0
  282. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom_dev.egg-info/dependency_links.txt +0 -0
  283. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom_dev.egg-info/entry_points.txt +0 -0
  284. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom_dev.egg-info/requires.txt +0 -0
  285. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom_dev.egg-info/scm_file_list.json +0 -0
  286. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/src/rosotacom_dev.egg-info/top_level.txt +0 -0
  287. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/stop_session_in_container.py +0 -0
  288. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/terminology.md +0 -0
  289. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/contract/test_benched_set_registry.py +0 -0
  290. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/contract/test_findings.py +0 -0
  291. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/contract/test_markdown_links.py +0 -0
  292. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/contract/test_ota_source_bundle.py +0 -0
  293. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/contract/test_package_metadata.py +0 -0
  294. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/contract/test_packaged_resources.py +0 -0
  295. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/contract/test_profile_covers_generated_commands.py +0 -0
  296. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/contract/test_pytest_policy.py +0 -0
  297. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/contract/test_readme_examples.py +0 -0
  298. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/contract/test_security_maintenance_config.py +0 -0
  299. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/contract/test_workflow_contracts.py +0 -0
  300. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/e2e/conftest.py +0 -0
  301. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/e2e/test_anonymize_e2e.py +0 -0
  302. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/e2e/test_benchmark_ab.py +0 -0
  303. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/e2e/test_benchmark_capacity.py +0 -0
  304. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/e2e/test_benchmark_replay.py +0 -0
  305. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/e2e/test_parallel_smoke.py +0 -0
  306. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/e2e/test_smoke.py +0 -0
  307. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/e2e/test_timeline_stepping.py +0 -0
  308. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/e2e/test_video_quality_e2e.py +0 -0
  309. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/sessions/generate_rmw_matrix.py +0 -0
  310. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/sessions/rmw_matrix/1_heartbeat_cyclone-local_zenoh-ros2dds-ota/session-definition.yaml +0 -0
  311. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/sessions/rmw_matrix/1_heartbeat_cyclone-ota/session-definition.yaml +0 -0
  312. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/sessions/rmw_matrix/1_heartbeat_cyclone-ota-tuned/session-definition.yaml +0 -0
  313. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/sessions/rmw_matrix/1_heartbeat_fastdds/session-definition.yaml +0 -0
  314. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/sessions/rmw_matrix/1_heartbeat_zen-endpoints/session-definition.yaml +0 -0
  315. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/unit/test_anonymize.py +0 -0
  316. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/unit/test_bag_ground_truth.py +0 -0
  317. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/unit/test_benched_set.py +0 -0
  318. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/unit/test_benchmark.py +0 -0
  319. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/unit/test_bundle_check.py +0 -0
  320. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/unit/test_cli.py +0 -0
  321. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/unit/test_cli_benchmark.py +0 -0
  322. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/unit/test_concurrency.py +0 -0
  323. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/unit/test_deployment.py +0 -0
  324. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/unit/test_ffmpeg_packet.py +0 -0
  325. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/unit/test_forensics.py +0 -0
  326. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/unit/test_geomap.py +0 -0
  327. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/unit/test_link_bytes.py +0 -0
  328. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/unit/test_link_trace.py +0 -0
  329. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/unit/test_network_profiles.py +0 -0
  330. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/unit/test_network_shaper.py +0 -0
  331. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/unit/test_ota_xml.py +0 -0
  332. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/unit/test_plots.py +0 -0
  333. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/unit/test_stage_latency.py +0 -0
  334. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/unit/test_status_eval.py +0 -0
  335. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/unit/test_status_overview.py +0 -0
  336. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/unit/test_stream_stats.py +0 -0
  337. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/unit/test_trace_profiles.py +0 -0
  338. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/unit/test_transit.py +0 -0
  339. {rosotacom_dev-2.4 → rosotacom_dev-2.5.dev1}/tests/unit/test_video_quality.py +0 -0
@@ -42,8 +42,13 @@ jobs:
42
42
  if: >-
43
43
  github.event.workflow_run.conclusion == 'success'
44
44
  && github.event.workflow_run.event == 'push'
45
- # Same authorization as release.yml: the per-repo Trusted Publisher,
46
- # registered with a blank environment. No token, no environment admin.
45
+ # Authorized by a Trusted Publisher registered with a blank environment. No
46
+ # token, no environment admin.
47
+ #
48
+ # PyPI matches the OIDC claims of the *workflow file*, so this needs its own
49
+ # registration for `dev-release.yml`; release.yml's does not cover it. Until
50
+ # that exists the build succeeds and the upload fails with
51
+ # `invalid-publisher`. See docs/github-repository-settings.md.
47
52
  permissions:
48
53
  id-token: write
49
54
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rosotacom-dev
3
- Version: 2.4
3
+ Version: 2.5.dev1
4
4
  Summary: Host CLI for ROS OTA communication sessions.
5
5
  Author: develNor
6
6
  License-Expression: BSD-3-Clause
@@ -0,0 +1,81 @@
1
+ # GitHub Repository Settings
2
+
3
+ These settings live outside git and must be verified separately in every
4
+ repository using this shared codebase. The GitHub UI, CLI, and API remain the
5
+ live source of truth.
6
+
7
+ ## Branch Protection
8
+
9
+ Expected shared state:
10
+
11
+ - `main` is the protected release line.
12
+ - The repository's active development/default branch is protected.
13
+ - Pull requests are required.
14
+ - The required status check is `ci-success`.
15
+ - Squash merges are allowed.
16
+ - CodeQL default setup is enabled for Actions and Python.
17
+ - The `release` environment and `PYPI_PUBLISH_URL` variable point at this
18
+ repository's intended package index.
19
+
20
+ Verify:
21
+
22
+ ```bash
23
+ REPO="$(gh repo view --json nameWithOwner --jq .nameWithOwner)"
24
+ DEFAULT_BRANCH="$(gh repo view --repo "$REPO" --json defaultBranchRef --jq .defaultBranchRef.name)"
25
+ gh ruleset list --repo "$REPO" --parents
26
+ gh ruleset check "$DEFAULT_BRANCH" --repo "$REPO"
27
+ gh ruleset check main --repo "$REPO"
28
+ gh api "repos/$REPO/code-scanning/default-setup"
29
+ gh variable get PYPI_PUBLISH_URL --repo "$REPO"
30
+ ```
31
+
32
+ `gh ruleset check` reports which rules apply, not which status checks they
33
+ require. A ruleset can be named for CI and still carry no
34
+ `required_status_checks` rule, in which case auto-merge will merge a pull
35
+ request whose checks are red. Read the rule types out directly:
36
+
37
+ ```bash
38
+ gh api "repos/$REPO/rulesets" --jq '.[].id' \
39
+ | xargs -I{} gh api "repos/$REPO/rulesets/{}" \
40
+ --jq '{name, rules: [.rules[] | select(.type=="required_status_checks")
41
+ | .parameters.required_status_checks[].context]}'
42
+ ```
43
+
44
+ Expected output names `ci-success`. An empty list is the drift this section
45
+ exists to catch.
46
+
47
+ ## Trusted Publishers
48
+
49
+ PyPI authorizes an upload by matching the OIDC claims of the *workflow file*
50
+ that requests it, so a publisher registration is per filename, not per
51
+ repository. This codebase publishes from two:
52
+
53
+ | Workflow | Publishes | Registration |
54
+ |---|---|---|
55
+ | `release.yml` | stable `vX.Y.Z` tags | required |
56
+ | `dev-release.yml` | `X.Y.devN` from the development branch | required for the development channel |
57
+
58
+ A missing registration fails at upload with `invalid-publisher: valid token, but
59
+ no corresponding publisher`, after a completely successful build. The message
60
+ prints the claims it presented; `workflow_ref` is the filename to register.
61
+
62
+ Register on PyPI under the project's *Publishing* settings: owner, repository,
63
+ the workflow filename, and an empty environment (this codebase deliberately uses
64
+ no GitHub environment, so that no repository sharing it needs environment-admin
65
+ rights).
66
+
67
+ ## Repository Metadata
68
+
69
+ Expected topics include `ros2`, `docker`, `robotics`, `teleoperation`, and
70
+ `communication`.
71
+
72
+ Verify:
73
+
74
+ ```bash
75
+ gh repo view --json description,homepageUrl,repositoryTopics
76
+ ```
77
+
78
+ ## Drift Handling
79
+
80
+ If GitHub state differs from this document, either update the live setting to
81
+ match the documented contract or update this document in a PR if policy changed.
@@ -86,11 +86,17 @@ distribution, and `SHA256SUMS`. Manual workflow dispatch validates and builds
86
86
  artifacts but does not publish; publishing a stable version requires a
87
87
  deliberate `vX.Y.Z` tag.
88
88
 
89
- Development-channel uploads use the same Trusted Publisher and the same
90
- `PYPI_PUBLISH_URL`. They are triggered by the CI workflow *completing
91
- successfully* on `develop`, not by the push itself, so a commit whose checks
92
- failed is never published. They skip the TestPyPI rehearsal: the dev channel is
93
- already the rehearsal.
89
+ Development-channel uploads use the same `PYPI_PUBLISH_URL`. They are triggered
90
+ by the CI workflow *completing successfully* on `develop`, not by the push
91
+ itself, so a commit whose checks failed is never published. They skip the
92
+ TestPyPI rehearsal: the dev channel is already the rehearsal.
93
+
94
+ They need their **own** Trusted Publisher, because PyPI matches the OIDC claims
95
+ of the workflow file and this one is `dev-release.yml`. Registering it is a
96
+ one-time step, listed with the other out-of-git settings in
97
+ [github-repository-settings.md](github-repository-settings.md). Without it the
98
+ build succeeds and the upload fails with `invalid-publisher` — which reads like
99
+ a code problem and is not one.
94
100
 
95
101
  The target index is set per repository by the `PYPI_PUBLISH_URL` Actions
96
102
  variable, and authorization is granted by the Trusted Publisher registered for
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rosotacom-dev
3
- Version: 2.4
3
+ Version: 2.5.dev1
4
4
  Summary: Host CLI for ROS OTA communication sessions.
5
5
  Author: develNor
6
6
  License-Expression: BSD-3-Clause
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "tag": "2.4",
3
- "distance": 0,
4
- "node": "g0a7b86d4f37a96ea154eba5a70dc12aa6b2317a7",
3
+ "distance": 1,
4
+ "node": "ga1220fae8fd4fb89add803f4548e99a2c8dce0fd",
5
5
  "dirty": false,
6
6
  "branch": "HEAD",
7
7
  "node_date": "2026-08-07"
@@ -1,46 +0,0 @@
1
- # GitHub Repository Settings
2
-
3
- These settings live outside git and must be verified separately in every
4
- repository using this shared codebase. The GitHub UI, CLI, and API remain the
5
- live source of truth.
6
-
7
- ## Branch Protection
8
-
9
- Expected shared state:
10
-
11
- - `main` is the protected release line.
12
- - The repository's active development/default branch is protected.
13
- - Pull requests are required.
14
- - The required status check is `ci-success`.
15
- - Squash merges are allowed.
16
- - CodeQL default setup is enabled for Actions and Python.
17
- - The `release` environment and `PYPI_PUBLISH_URL` variable point at this
18
- repository's intended package index.
19
-
20
- Verify:
21
-
22
- ```bash
23
- REPO="$(gh repo view --json nameWithOwner --jq .nameWithOwner)"
24
- DEFAULT_BRANCH="$(gh repo view --repo "$REPO" --json defaultBranchRef --jq .defaultBranchRef.name)"
25
- gh ruleset list --repo "$REPO" --parents
26
- gh ruleset check "$DEFAULT_BRANCH" --repo "$REPO"
27
- gh ruleset check main --repo "$REPO"
28
- gh api "repos/$REPO/code-scanning/default-setup"
29
- gh variable get PYPI_PUBLISH_URL --repo "$REPO"
30
- ```
31
-
32
- ## Repository Metadata
33
-
34
- Expected topics include `ros2`, `docker`, `robotics`, `teleoperation`, and
35
- `communication`.
36
-
37
- Verify:
38
-
39
- ```bash
40
- gh repo view --json description,homepageUrl,repositoryTopics
41
- ```
42
-
43
- ## Drift Handling
44
-
45
- If GitHub state differs from this document, either update the live setting to
46
- match the documented contract or update this document in a PR if policy changed.
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes