devagent-physical-engine 2.3.0__tar.gz → 2.4.0__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 (375) hide show
  1. {devagent_physical_engine-2.3.0/src/devagent_physical_engine.egg-info → devagent_physical_engine-2.4.0}/PKG-INFO +39 -7
  2. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/README.md +38 -6
  3. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/pyproject.toml +7 -1
  4. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/__init__.py +1 -1
  5. devagent_physical_engine-2.4.0/src/devagent_physical_engine/imported_twin_execution_v24.py +719 -0
  6. devagent_physical_engine-2.4.0/src/devagent_physical_engine/imported_twin_promotion_v24.py +71 -0
  7. devagent_physical_engine-2.4.0/src/devagent_physical_engine/imported_twin_qualification_cli_v24.py +326 -0
  8. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/one_command_v16.py +2 -1
  9. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/one_command_v22.py +18 -5
  10. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/one_command_v23.py +17 -1
  11. devagent_physical_engine-2.4.0/src/devagent_physical_engine/readiness_explanation_v24.py +672 -0
  12. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/report_test_execution.py +11 -4
  13. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/report_test_execution_strict.py +82 -2
  14. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/abb_irb1200.py +25 -5
  15. devagent_physical_engine-2.4.0/src/devagent_physical_engine/ros2/abb_irb1200_verified.py +891 -0
  16. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/industrial_arm_task_adapters.py +5 -0
  17. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/trajectory.py +52 -7
  18. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/trajectory_action_probe.py +66 -6
  19. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/selective_verification_v190.py +25 -4
  20. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/twin_materialization.py +120 -4
  21. devagent_physical_engine-2.4.0/src/devagent_physical_engine/user_cli_v22.py +288 -0
  22. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0/src/devagent_physical_engine.egg-info}/PKG-INFO +39 -7
  23. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine.egg-info/SOURCES.txt +7 -0
  24. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine.egg-info/entry_points.txt +1 -0
  25. devagent_physical_engine-2.4.0/tests/test_abb_gazebo_resource_path_v2.py +491 -0
  26. devagent_physical_engine-2.4.0/tests/test_abb_reference_project_v24.py +95 -0
  27. devagent_physical_engine-2.4.0/tests/test_golden_abb_showcase.py +216 -0
  28. devagent_physical_engine-2.4.0/tests/test_imported_abb_execution_v24.py +111 -0
  29. devagent_physical_engine-2.4.0/tests/test_readiness_explanation_v24.py +190 -0
  30. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_ros_trajectory_v09.py +31 -1
  31. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_twin_materialization_v10.py +49 -0
  32. devagent_physical_engine-2.3.0/src/devagent_physical_engine/ros2/abb_irb1200_verified.py +0 -434
  33. devagent_physical_engine-2.3.0/src/devagent_physical_engine/user_cli_v22.py +0 -75
  34. devagent_physical_engine-2.3.0/tests/test_abb_gazebo_resource_path_v2.py +0 -140
  35. devagent_physical_engine-2.3.0/tests/test_golden_abb_showcase.py +0 -103
  36. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/NOTICE +0 -0
  37. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/setup.cfg +0 -0
  38. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/agent/__init__.py +0 -0
  39. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/agent/compiler.py +0 -0
  40. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/agent/contracts.py +0 -0
  41. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/agent/coordinator.py +0 -0
  42. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/agent/critic.py +0 -0
  43. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/agent/evidence.py +0 -0
  44. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/agent/interpreter.py +0 -0
  45. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/agent/planner.py +0 -0
  46. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/agent/recovery.py +0 -0
  47. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/agent/routing.py +0 -0
  48. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/agent/runtime.py +0 -0
  49. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/agent/semantic.py +0 -0
  50. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/agent/structured.py +0 -0
  51. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ai_cli.py +0 -0
  52. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/cli.py +0 -0
  53. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/commercial.py +0 -0
  54. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/commercial_campaign.py +0 -0
  55. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/commercial_cli.py +0 -0
  56. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/commercial_importer.py +0 -0
  57. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/commercial_intelligence.py +0 -0
  58. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/commercial_readiness.py +0 -0
  59. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/commercial_repository.py +0 -0
  60. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/commissioning_agent.py +0 -0
  61. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/commissioning_agent_cli.py +0 -0
  62. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/commissioning_evidence.py +0 -0
  63. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/commissioning_readiness.py +0 -0
  64. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/continuous_clearance.py +0 -0
  65. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/controller_runtime_hotfix_v181.py +0 -0
  66. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/doctor.py +0 -0
  67. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/dynamic_verification_runtime_v190.py +0 -0
  68. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/engineering_agent.py +0 -0
  69. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/engineering_findings.py +0 -0
  70. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/engineering_request.py +0 -0
  71. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/evidence_provider_cli.py +0 -0
  72. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/evidence_provider_gateway.py +0 -0
  73. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/evidence_provider_policy.py +0 -0
  74. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/evidence_replay.py +0 -0
  75. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/evidence_trust.py +0 -0
  76. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/execution.py +0 -0
  77. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/guided_intake_cli.py +0 -0
  78. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/guided_intake_v23.py +0 -0
  79. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/industrial_motion_hotfix_v170.py +0 -0
  80. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/industrial_motion_v170.py +0 -0
  81. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/industrial_motion_v182.py +0 -0
  82. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/models.py +0 -0
  83. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/one_command.py +0 -0
  84. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/one_command_runtime.py +0 -0
  85. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/one_command_v15.py +0 -0
  86. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/operating_envelope.py +0 -0
  87. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/optimization/__init__.py +0 -0
  88. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/optimization/benchmark.py +0 -0
  89. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/optimization/candidates.py +0 -0
  90. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/optimization/contracts.py +0 -0
  91. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/optimization/evaluator.py +0 -0
  92. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/optimization/evidence.py +0 -0
  93. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/optimization/experience.py +0 -0
  94. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/optimization/measured.py +0 -0
  95. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/optimization/optimizer.py +0 -0
  96. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/optimization/orchestrator.py +0 -0
  97. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/physical_campaign.py +0 -0
  98. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/physical_evidence.py +0 -0
  99. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/physical_evidence_v190.py +0 -0
  100. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/physical_motion.py +0 -0
  101. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/planning.py +0 -0
  102. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/pose_math.py +0 -0
  103. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/preexecution_contract.py +0 -0
  104. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/production_authority.py +0 -0
  105. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/production_grade.py +0 -0
  106. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/project.py +0 -0
  107. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/provider_adapters/__init__.py +0 -0
  108. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/provider_adapters/anthropic.py +0 -0
  109. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/provider_adapters/common.py +0 -0
  110. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/provider_adapters/factory.py +0 -0
  111. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/provider_adapters/gemini.py +0 -0
  112. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/provider_adapters/openai.py +0 -0
  113. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/provider_criterion.py +0 -0
  114. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/provider_qualification.py +0 -0
  115. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/providers.py +0 -0
  116. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/qualification.py +0 -0
  117. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/qualification_cli.py +0 -0
  118. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/qualification_harness.py +0 -0
  119. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/reference_workcell.py +0 -0
  120. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/report_requirements_v190.py +0 -0
  121. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/robot_exercise_cli.py +0 -0
  122. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/robot_platform.py +0 -0
  123. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/robot_qualification_acceptance.py +0 -0
  124. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/robot_qualification_acceptance_cli.py +0 -0
  125. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/robot_qualification_cli.py +0 -0
  126. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/robot_qualification_report_store.py +0 -0
  127. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/robot_simulation_promotion_v211.py +0 -0
  128. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/robot_support_contract.py +0 -0
  129. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/robot_support_industrial_v2.py +0 -0
  130. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/robot_support_v18.py +0 -0
  131. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/robots.py +0 -0
  132. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/__init__.py +0 -0
  133. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/abb_irb1200_preview.py +0 -0
  134. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/abb_runtime_probe.py +0 -0
  135. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/acceptance.py +0 -0
  136. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/commands.py +0 -0
  137. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/continuous_clearance_probe.py +0 -0
  138. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/controller_action_probe.py +0 -0
  139. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/destination_support_contact_v182.py +0 -0
  140. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/direct_controller_discovery_runner.py +0 -0
  141. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/doctor.py +0 -0
  142. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/fanuc_crx10ia.py +0 -0
  143. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/fanuc_crx10ia_physics.py +0 -0
  144. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/fk_pose.py +0 -0
  145. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/fk_probe.py +0 -0
  146. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/frame_alignment.py +0 -0
  147. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/gazebo_cli.py +0 -0
  148. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/gazebo_overlay_support.py +0 -0
  149. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/gazebo_pose.py +0 -0
  150. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/gazebo_world.py +0 -0
  151. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/industrial_arm_runtime_gate.py +0 -0
  152. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/industrial_arm_runtime_probe.py +0 -0
  153. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/industrial_arm_task_runtime.py +0 -0
  154. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/industrial_sequence_planner_v170.py +0 -0
  155. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/industrial_sequence_planner_v171.py +0 -0
  156. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/industrial_sequence_planner_v172.py +0 -0
  157. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/industrial_sequence_planner_v182.py +0 -0
  158. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/joint_state_probe.py +0 -0
  159. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/joint_state_recorder.py +0 -0
  160. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/kuka_kr6_r900_2.py +0 -0
  161. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/kuka_kr6_r900_2_verified.py +0 -0
  162. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/measured_motion.py +0 -0
  163. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/moveit_joint_plan_probe.py +0 -0
  164. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/moveit_joint_plan_v161_probe.py +0 -0
  165. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/moveit_scene.py +0 -0
  166. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/moveit_task_planner.py +0 -0
  167. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/pilz_sequence_plan_probe.py +0 -0
  168. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/pilz_sequence_plan_probe_v182.py +0 -0
  169. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/preexecution.py +0 -0
  170. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/qualification.py +0 -0
  171. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/qualification_multivendor.py +0 -0
  172. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/qualification_provenance.py +0 -0
  173. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/qualification_v10.py +0 -0
  174. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/qualification_v11.py +0 -0
  175. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/qualification_v12.py +0 -0
  176. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/report_test_visualization.py +0 -0
  177. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/report_test_visualization_v170.py +0 -0
  178. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/robot_description_probe.py +0 -0
  179. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/ros_gz_pose_service_probe.py +0 -0
  180. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/ros_python_runtime.py +0 -0
  181. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/runtime_quiescence.py +0 -0
  182. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/runtime_quiescence_probe.py +0 -0
  183. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/scene_probe.py +0 -0
  184. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/state_validity_probe.py +0 -0
  185. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/support_contact_acm_probe_v170.py +0 -0
  186. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/support_contact_acm_semantics_v189.py +0 -0
  187. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/support_contact_lease_v170.py +0 -0
  188. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/support_contact_runner_v161.py +0 -0
  189. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/support_contact_v161.py +0 -0
  190. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/task_adapter.py +0 -0
  191. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/task_adapter_v190.py +0 -0
  192. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/task_motion_diagnostics_v190.py +0 -0
  193. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/task_visualization.py +0 -0
  194. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/tf_probe.py +0 -0
  195. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/tool_scene.py +0 -0
  196. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/tool_scene_probe.py +0 -0
  197. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/trajectory_feedback_tracking_v189.py +0 -0
  198. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/trajectory_runtime_v190.py +0 -0
  199. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/trajectory_tracking.py +0 -0
  200. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/ur5e.py +0 -0
  201. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/ur5e_adapter.py +0 -0
  202. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/ur5e_v10_adapter.py +0 -0
  203. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/workpiece_carrier_v190.py +0 -0
  204. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/workpiece_entity_replace_probe_v190.py +0 -0
  205. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/workpiece_follow.py +0 -0
  206. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/workpiece_gazebo_follower.py +0 -0
  207. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/workpiece_scene.py +0 -0
  208. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/workpiece_scene_probe.py +0 -0
  209. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/workpiece_scene_probe_v186.py +0 -0
  210. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/workpiece_scene_probe_v187.py +0 -0
  211. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/workpiece_scene_probe_v188.py +0 -0
  212. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/workpiece_scene_probe_v189.py +0 -0
  213. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/ros2/workpiece_transport.py +0 -0
  214. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/selective_verification.py +0 -0
  215. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/selective_verification_v16.py +0 -0
  216. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/setup_profile.py +0 -0
  217. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/sim_real_qualification.py +0 -0
  218. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/simulation.py +0 -0
  219. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/simulation_platform.py +0 -0
  220. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/smooth_motion_hotfix_v162.py +0 -0
  221. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/support_contact_hotfix_v161.py +0 -0
  222. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/tool_collision.py +0 -0
  223. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/trajectory_qualification.py +0 -0
  224. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/twin.py +0 -0
  225. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/twin_builder.py +0 -0
  226. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/twin_codec.py +0 -0
  227. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/user_cli.py +0 -0
  228. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/user_cli_v15.py +0 -0
  229. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/user_cli_v16.py +0 -0
  230. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/user_cli_v18.py +0 -0
  231. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/user_cli_v191.py +0 -0
  232. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/user_cli_v23.py +0 -0
  233. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/verification.py +0 -0
  234. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/verification_capabilities_v190.py +0 -0
  235. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/verification_scope_authority.py +0 -0
  236. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine/workpiece_lifecycle.py +0 -0
  237. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine.egg-info/dependency_links.txt +0 -0
  238. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine.egg-info/requires.txt +0 -0
  239. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/src/devagent_physical_engine.egg-info/top_level.txt +0 -0
  240. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_abb_clock_provenance_v2.py +0 -0
  241. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_abb_irb1200_visual_v18.py +0 -0
  242. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_abb_robot_description_bootstrap_v2.py +0 -0
  243. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_abb_robot_description_payload_gate_v2.py +0 -0
  244. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_abb_runtime_direct_probe_v2.py +0 -0
  245. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_abb_sim_clock_v2.py +0 -0
  246. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_agent_core.py +0 -0
  247. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_agent_semantic_hardening.py +0 -0
  248. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_ai_cli.py +0 -0
  249. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_ai_cli_v07.py +0 -0
  250. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_commercial_importer_v1.py +0 -0
  251. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_commercial_intelligence_v15.py +0 -0
  252. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_commercial_readiness_v1.py +0 -0
  253. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_commercial_v1.py +0 -0
  254. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_commissioning_agent_orchestrator_v22.py +0 -0
  255. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_commissioning_core_v20.py +0 -0
  256. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_commissioning_evidence_graph_v20.py +0 -0
  257. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_continuous_clearance_v011.py +0 -0
  258. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_controller_failure_diagnostics_v190.py +0 -0
  259. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_controller_runtime_hotfix_v181.py +0 -0
  260. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_core.py +0 -0
  261. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_destination_support_contact_v182.py +0 -0
  262. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_dynamic_report_batch_v190.py +0 -0
  263. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_dynamic_report_contract_end_to_end_v190.py +0 -0
  264. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_dynamic_verification_capabilities_v190.py +0 -0
  265. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_engineering_request_v07.py +0 -0
  266. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_evidence_provider_gateway_v2.py +0 -0
  267. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_evidence_replay_v12.py +0 -0
  268. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_evidence_trust_coverage_v12.py +0 -0
  269. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_evidence_trust_transport_v12.py +0 -0
  270. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_evidence_trust_v12.py +0 -0
  271. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_evidence_viewer_palette_v130.py +0 -0
  272. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_explicit_detach_world_reassert_v189.py +0 -0
  273. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_external_evidence_campaign_authority_v2.py +0 -0
  274. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_fanuc_physics_tolerance_v2.py +0 -0
  275. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_fresh_simulation_cli_v191.py +0 -0
  276. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_fresh_simulation_service_v191.py +0 -0
  277. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_gazebo_cli_v0122.py +0 -0
  278. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_golden_abb_runner_v171.py +0 -0
  279. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_guided_intake_v23.py +0 -0
  280. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_handoff_authority_v190.py +0 -0
  281. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_industrial_arm_functional_parity_v192.py +0 -0
  282. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_industrial_arm_replay_authority_v192.py +0 -0
  283. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_industrial_motion_v170.py +0 -0
  284. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_industrial_robot_simulation_v2.py +0 -0
  285. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_interpreter_profiles_v08.py +0 -0
  286. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_joint_state_metric_authority_v190.py +0 -0
  287. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_joint_state_probe_v0125.py +0 -0
  288. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_kuka_verified_runtime_v2.py +0 -0
  289. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_live_provider_qualification.py +0 -0
  290. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_loaded_place_stability_v190.py +0 -0
  291. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_measured_motion_v10.py +0 -0
  292. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_metric_authority_surface_v190.py +0 -0
  293. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_motion_handoff_stability_v190.py +0 -0
  294. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_moveit_planning_diagnostics_v0125.py +0 -0
  295. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_moveit_scene_v0123.py +0 -0
  296. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_multivendor_runtime_hardening_v2.py +0 -0
  297. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_multivendor_sim_promotion_v211.py +0 -0
  298. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_multivendor_sim_qualification_v2.py +0 -0
  299. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_natural_language_agent_v07.py +0 -0
  300. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_one_command_hardening_v13.py +0 -0
  301. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_one_command_pose_hardening_v15.py +0 -0
  302. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_one_command_regression_v141.py +0 -0
  303. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_one_command_v13.py +0 -0
  304. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_one_command_v190_injection.py +0 -0
  305. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_openai_strict_schema_v0113.py +0 -0
  306. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_optimization_v05.py +0 -0
  307. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_package_metadata_v184.py +0 -0
  308. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_physical_campaign_v09.py +0 -0
  309. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_physical_evidence_v09.py +0 -0
  310. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_physical_motion_v09.py +0 -0
  311. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_place_preexecution_acm_v189.py +0 -0
  312. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_planning_fallback_v012.py +0 -0
  313. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_pose_math_v0125.py +0 -0
  314. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_preexecution_contract_v10.py +0 -0
  315. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_production_authority_v11.py +0 -0
  316. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_production_external_evidence_v11.py +0 -0
  317. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_production_grade_coverage_v11.py +0 -0
  318. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_production_grade_v11.py +0 -0
  319. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_project_spine_v013.py +0 -0
  320. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_provider_and_qualification.py +0 -0
  321. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_provider_criterion_v15.py +0 -0
  322. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_qualification_cli_lifecycle_v06.py +0 -0
  323. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_qualification_harness_v06.py +0 -0
  324. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_readme_pypi.py +0 -0
  325. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_real_provider_adapters.py +0 -0
  326. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_reference_workcell_ros_frames_v0125.py +0 -0
  327. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_reference_workcell_v012.py +0 -0
  328. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_release_resting_pose_v189.py +0 -0
  329. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_release_transaction_v189.py +0 -0
  330. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_report_orchestration_v190.py +0 -0
  331. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_report_test_contract_coverage_v16.py +0 -0
  332. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_report_test_lineage_v16.py +0 -0
  333. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_report_test_visual_execution_v16.py +0 -0
  334. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_robot_platform_v08.py +0 -0
  335. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_robot_qualification_acceptance_v2.py +0 -0
  336. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_robot_qualification_review_fixes_v2.py +0 -0
  337. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_robot_support_contract_v2.py +0 -0
  338. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_ros2_production_receipts_v011.py +0 -0
  339. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_ros2_simulation.py +0 -0
  340. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_ros_process_group_cleanup_v2.py +0 -0
  341. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_runtime_quiescence_v2.py +0 -0
  342. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_selective_verification_v14.py +0 -0
  343. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_setup_profile.py +0 -0
  344. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_sim_real_qualification_v011.py +0 -0
  345. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_simulation_platform_v08.py +0 -0
  346. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_smooth_motion_hotfix_v162.py +0 -0
  347. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_support_contact_acm_semantics_v189.py +0 -0
  348. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_support_contact_hotfix_v161.py +0 -0
  349. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_tool_collision_v011.py +0 -0
  350. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_tool_scene_v0124.py +0 -0
  351. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_trajectory_action_contract_v189.py +0 -0
  352. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_trajectory_action_probe_v0125.py +0 -0
  353. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_trajectory_feedback_tracking_v189.py +0 -0
  354. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_trajectory_qualification_v09.py +0 -0
  355. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_trajectory_tracking_v0125.py +0 -0
  356. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_transfer_controller_policy_v189.py +0 -0
  357. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_transfer_place_diagnostic_v172.py +0 -0
  358. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_twin_v08.py +0 -0
  359. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_ur5e_adapter_scopes_v09.py +0 -0
  360. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_ur5e_v10_adapter_scopes.py +0 -0
  361. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_user_cli_interactive_v131.py +0 -0
  362. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_user_cli_progress_v131.py +0 -0
  363. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_user_cli_report_visual_v16.py +0 -0
  364. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_user_cli_selective_v14.py +0 -0
  365. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_user_cli_v15.py +0 -0
  366. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_user_cli_v15_hotfix_inheritance.py +0 -0
  367. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_v052_stabilization.py +0 -0
  368. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_v08_catalog_mapping_regression.py +0 -0
  369. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_verification_scope_authority_v20.py +0 -0
  370. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_workpiece_attach_semantics_v183.py +0 -0
  371. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_workpiece_carrier_v190.py +0 -0
  372. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_workpiece_lifecycle_v011.py +0 -0
  373. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_workpiece_scene_probe_v185.py +0 -0
  374. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_workpiece_semantic_lifecycle_v186.py +0 -0
  375. {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.4.0}/tests/test_workpiece_transport_v189.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devagent-physical-engine
3
- Version: 2.3.0
3
+ Version: 2.4.0
4
4
  Summary: Verification-first multi-vendor commissioning control plane with flexible guided customer-file intake, deterministic source/evidence authority, exact-Twin lineage, regression, FAT reporting, and pre-site readiness.
5
5
  Author: Tom Ha
6
6
  License: All Rights Reserved
@@ -81,7 +81,7 @@ DevAgent turns customer engineering inputs into a bounded, evidence-driven pre-s
81
81
 
82
82
  <p align="center"><sub><b>Real engine screenshots — not product renders.</b> ROS 2 Jazzy · Gazebo Harmonic · MoveIt 2 · Pilz · UR5e exact-Twin verification.</sub></p>
83
83
 
84
- ## v2.3 commissioning verification flow
84
+ ## v2.4 commissioning verification flow
85
85
 
86
86
  ```text
87
87
  Customer engineering files
@@ -120,12 +120,38 @@ NOT_READY_FOR_PRE_SITE_COMMISSIONING
120
120
 
121
121
  That decision means the declared pre-site engineering scope has complete, current evidence according to DevAgent's installed authority contracts. It does **not** mean the real site is commissioned.
122
122
 
123
+ ## v2.4 highlights
124
+
125
+ v2.4 adds customer-facing readiness explanations and a workstation-qualified ABB IRB1200 imported-Twin simulation path while keeping engineering authority fail-closed.
126
+
127
+ Key additions:
128
+
129
+ - `devagent> explain detail` for root blockers, per-test evidence authority, and exact next actions;
130
+ - persisted customer-facing readiness explanation and composite FAT report;
131
+ - imported ABB IRB1200 exact-Twin candidate execution and non-promoting qualification CLI;
132
+ - executable `ABB_IRB1200_LOAD_MOTION_REFERENCE_V1` reference project;
133
+ - corrected spatial center-pose showcase geometry;
134
+ - slow-Gazebo trajectory watchdog hardening;
135
+ - deterministic Gazebo camera, lighting, and readable scene materials;
136
+ - verified ABB visual-mesh resolution through ROS 2 colcon symlink-install workspaces;
137
+ - explicit native-SDF preflight plus fixed `world -> base_link` anchor for floor-mounted ABB simulation.
138
+
139
+ The ABB imported-Twin path remains bounded:
140
+
141
+ ```text
142
+ measurement_promoted = false
143
+ site_qualification = false
144
+ real_execution_allowed = false
145
+ ```
146
+
147
+ A successful simulation smoke proves the bounded simulator/runtime path for that exact candidate; it does not grant customer FAT, site, functional-safety, or real-robot execution authority.
148
+
123
149
  ## Quick start
124
150
 
125
151
  Python 3.11+ is required.
126
152
 
127
153
  ```bash
128
- python -m pip install --upgrade devagent-physical-engine==2.3.0
154
+ python -m pip install --upgrade devagent-physical-engine==2.4.0
129
155
  ```
130
156
 
131
157
  Verify the installed package:
@@ -137,7 +163,7 @@ python -c "import devagent_physical_engine as d; print(d.__version__)"
137
163
  Expected:
138
164
 
139
165
  ```text
140
- 2.3.0
166
+ 2.4.0
141
167
  ```
142
168
 
143
169
  Run the normal customer workflow:
@@ -648,9 +674,9 @@ devagent-physical-ai optional provider-backed engineering front end
648
674
 
649
675
  # Project status
650
676
 
651
- **v2.3.0 — Production/Stable software workflow; Flexible Guided Multi-Vendor Intake + deterministic commissioning authority**
677
+ **v2.4.0 — Production/Stable software workflow; detailed readiness explanation + bounded imported ABB simulation qualification**
652
678
 
653
- v2.3.0 makes the customer entry workflow flexible without weakening verification authority. Customers can provide the engineering files they already have instead of conforming to one mandatory DevAgent project schema. DevAgent inventories and hashes the raw sources, recognizes supported vendor/file roles, detects exact duplicates and source ambiguity, validates current intake provenance, and exposes which verification capabilities are available before the existing deterministic commissioning workflow continues.
679
+ v2.4.0 retains the flexible v2.3 customer entry workflow and adds detailed customer-facing readiness explanations plus an exact imported ABB IRB1200 simulation / qualification candidate path. The ABB reference workflow now includes canonical center-pose scene validation, exact MoveIt planning, FollowJointTrajectory execution, controller-feedback lineage, deterministic Gazebo visualization, verified local mesh resolution, native-SDF preflight, and a fixed world-to-base anchor appropriate for the floor-mounted reference robot. The ABB path remains non-promoting: successful simulator qualification does not create customer FAT, site, functional-safety, or real-execution authority.
654
680
 
655
681
  Missing files are allowed. Missing evidence reduces verification scope or remains `NOT_TESTED`; it never becomes a synthetic `FAIL` or an invented PASS. Multiple distinct same-vendor source sets require confirmation instead of being selected from filenames such as `final`, `latest`, or `backup`. Source changes during verification invalidate the current intake snapshot and block readiness until the project is rerun from a stable source state.
656
682
 
@@ -693,7 +719,7 @@ immutable multi-context agent snapshots + stale-context abort
693
719
  opt-in human-promoted advisory engineering memory
694
720
  ```
695
721
 
696
- Production/Stable describes the bounded software workflow. The target-proven UR5e claim remains limited to the qualified packaged scope and acceptance environment. v2.3.0 does not claim arbitrary customer cells are physically qualified, site-qualified, functionally safe, commissioned, or authorized for autonomous real execution. Flexible intake changes how customer artifacts enter the workflow; it does not weaken evidence authority. The AI agent remains advisory and cannot grant PASS/FAIL/NOT_TESTED, evidence qualification, pre-site readiness, or real-execution authority.
722
+ Production/Stable describes the bounded software workflow. The target-proven UR5e claim remains limited to its qualified packaged scope and acceptance environment. The v2.4.0 imported ABB path is separately bounded to the exact simulator/reference qualification scope and remains non-promoting. v2.4.0 does not claim arbitrary customer cells are physically qualified, site-qualified, functionally safe, commissioned, or authorized for autonomous real execution. Flexible intake changes how customer artifacts enter the workflow; it does not weaken evidence authority. The AI agent remains advisory and cannot grant PASS/FAIL/NOT_TESTED, evidence qualification, pre-site readiness, or real-execution authority.
697
723
 
698
724
  Current hard authority boundaries remain:
699
725
 
@@ -714,6 +740,12 @@ https://github.com/tomha85/devagent-physical-engine/blob/main/docs/FLEXIBLE_GUID
714
740
  Commissioning Agent Orchestrator:
715
741
  https://github.com/tomha85/devagent-physical-engine/blob/main/docs/COMMISSIONING_AGENT_ORCHESTRATOR_V1.md
716
742
 
743
+ v2.4.0 release notes:
744
+ https://github.com/tomha85/devagent-physical-engine/blob/main/docs/RELEASE_NOTES_V2_4_0.md
745
+
746
+ v2.3.1 release notes:
747
+ https://github.com/tomha85/devagent-physical-engine/blob/main/docs/RELEASE_NOTES_V2_3_1.md
748
+
717
749
  v2.3.0 release notes:
718
750
  https://github.com/tomha85/devagent-physical-engine/blob/main/docs/RELEASE_NOTES_V2_3_0.md
719
751
 
@@ -39,7 +39,7 @@ DevAgent turns customer engineering inputs into a bounded, evidence-driven pre-s
39
39
 
40
40
  <p align="center"><sub><b>Real engine screenshots — not product renders.</b> ROS 2 Jazzy · Gazebo Harmonic · MoveIt 2 · Pilz · UR5e exact-Twin verification.</sub></p>
41
41
 
42
- ## v2.3 commissioning verification flow
42
+ ## v2.4 commissioning verification flow
43
43
 
44
44
  ```text
45
45
  Customer engineering files
@@ -78,12 +78,38 @@ NOT_READY_FOR_PRE_SITE_COMMISSIONING
78
78
 
79
79
  That decision means the declared pre-site engineering scope has complete, current evidence according to DevAgent's installed authority contracts. It does **not** mean the real site is commissioned.
80
80
 
81
+ ## v2.4 highlights
82
+
83
+ v2.4 adds customer-facing readiness explanations and a workstation-qualified ABB IRB1200 imported-Twin simulation path while keeping engineering authority fail-closed.
84
+
85
+ Key additions:
86
+
87
+ - `devagent> explain detail` for root blockers, per-test evidence authority, and exact next actions;
88
+ - persisted customer-facing readiness explanation and composite FAT report;
89
+ - imported ABB IRB1200 exact-Twin candidate execution and non-promoting qualification CLI;
90
+ - executable `ABB_IRB1200_LOAD_MOTION_REFERENCE_V1` reference project;
91
+ - corrected spatial center-pose showcase geometry;
92
+ - slow-Gazebo trajectory watchdog hardening;
93
+ - deterministic Gazebo camera, lighting, and readable scene materials;
94
+ - verified ABB visual-mesh resolution through ROS 2 colcon symlink-install workspaces;
95
+ - explicit native-SDF preflight plus fixed `world -> base_link` anchor for floor-mounted ABB simulation.
96
+
97
+ The ABB imported-Twin path remains bounded:
98
+
99
+ ```text
100
+ measurement_promoted = false
101
+ site_qualification = false
102
+ real_execution_allowed = false
103
+ ```
104
+
105
+ A successful simulation smoke proves the bounded simulator/runtime path for that exact candidate; it does not grant customer FAT, site, functional-safety, or real-robot execution authority.
106
+
81
107
  ## Quick start
82
108
 
83
109
  Python 3.11+ is required.
84
110
 
85
111
  ```bash
86
- python -m pip install --upgrade devagent-physical-engine==2.3.0
112
+ python -m pip install --upgrade devagent-physical-engine==2.4.0
87
113
  ```
88
114
 
89
115
  Verify the installed package:
@@ -95,7 +121,7 @@ python -c "import devagent_physical_engine as d; print(d.__version__)"
95
121
  Expected:
96
122
 
97
123
  ```text
98
- 2.3.0
124
+ 2.4.0
99
125
  ```
100
126
 
101
127
  Run the normal customer workflow:
@@ -606,9 +632,9 @@ devagent-physical-ai optional provider-backed engineering front end
606
632
 
607
633
  # Project status
608
634
 
609
- **v2.3.0 — Production/Stable software workflow; Flexible Guided Multi-Vendor Intake + deterministic commissioning authority**
635
+ **v2.4.0 — Production/Stable software workflow; detailed readiness explanation + bounded imported ABB simulation qualification**
610
636
 
611
- v2.3.0 makes the customer entry workflow flexible without weakening verification authority. Customers can provide the engineering files they already have instead of conforming to one mandatory DevAgent project schema. DevAgent inventories and hashes the raw sources, recognizes supported vendor/file roles, detects exact duplicates and source ambiguity, validates current intake provenance, and exposes which verification capabilities are available before the existing deterministic commissioning workflow continues.
637
+ v2.4.0 retains the flexible v2.3 customer entry workflow and adds detailed customer-facing readiness explanations plus an exact imported ABB IRB1200 simulation / qualification candidate path. The ABB reference workflow now includes canonical center-pose scene validation, exact MoveIt planning, FollowJointTrajectory execution, controller-feedback lineage, deterministic Gazebo visualization, verified local mesh resolution, native-SDF preflight, and a fixed world-to-base anchor appropriate for the floor-mounted reference robot. The ABB path remains non-promoting: successful simulator qualification does not create customer FAT, site, functional-safety, or real-execution authority.
612
638
 
613
639
  Missing files are allowed. Missing evidence reduces verification scope or remains `NOT_TESTED`; it never becomes a synthetic `FAIL` or an invented PASS. Multiple distinct same-vendor source sets require confirmation instead of being selected from filenames such as `final`, `latest`, or `backup`. Source changes during verification invalidate the current intake snapshot and block readiness until the project is rerun from a stable source state.
614
640
 
@@ -651,7 +677,7 @@ immutable multi-context agent snapshots + stale-context abort
651
677
  opt-in human-promoted advisory engineering memory
652
678
  ```
653
679
 
654
- Production/Stable describes the bounded software workflow. The target-proven UR5e claim remains limited to the qualified packaged scope and acceptance environment. v2.3.0 does not claim arbitrary customer cells are physically qualified, site-qualified, functionally safe, commissioned, or authorized for autonomous real execution. Flexible intake changes how customer artifacts enter the workflow; it does not weaken evidence authority. The AI agent remains advisory and cannot grant PASS/FAIL/NOT_TESTED, evidence qualification, pre-site readiness, or real-execution authority.
680
+ Production/Stable describes the bounded software workflow. The target-proven UR5e claim remains limited to its qualified packaged scope and acceptance environment. The v2.4.0 imported ABB path is separately bounded to the exact simulator/reference qualification scope and remains non-promoting. v2.4.0 does not claim arbitrary customer cells are physically qualified, site-qualified, functionally safe, commissioned, or authorized for autonomous real execution. Flexible intake changes how customer artifacts enter the workflow; it does not weaken evidence authority. The AI agent remains advisory and cannot grant PASS/FAIL/NOT_TESTED, evidence qualification, pre-site readiness, or real-execution authority.
655
681
 
656
682
  Current hard authority boundaries remain:
657
683
 
@@ -672,6 +698,12 @@ https://github.com/tomha85/devagent-physical-engine/blob/main/docs/FLEXIBLE_GUID
672
698
  Commissioning Agent Orchestrator:
673
699
  https://github.com/tomha85/devagent-physical-engine/blob/main/docs/COMMISSIONING_AGENT_ORCHESTRATOR_V1.md
674
700
 
701
+ v2.4.0 release notes:
702
+ https://github.com/tomha85/devagent-physical-engine/blob/main/docs/RELEASE_NOTES_V2_4_0.md
703
+
704
+ v2.3.1 release notes:
705
+ https://github.com/tomha85/devagent-physical-engine/blob/main/docs/RELEASE_NOTES_V2_3_1.md
706
+
675
707
  v2.3.0 release notes:
676
708
  https://github.com/tomha85/devagent-physical-engine/blob/main/docs/RELEASE_NOTES_V2_3_0.md
677
709
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "devagent-physical-engine"
7
- version = "2.3.0"
7
+ version = "2.4.0"
8
8
  description = "Verification-first multi-vendor commissioning control plane with flexible guided customer-file intake, deterministic source/evidence authority, exact-Twin lineage, regression, FAT reporting, and pre-site readiness."
9
9
  readme = { file = "README.md", content-type = "text/markdown" }
10
10
  requires-python = ">=3.11"
@@ -52,6 +52,7 @@ devagent = "devagent_physical_engine.user_cli_v23:main"
52
52
  devagent-physical = "devagent_physical_engine.cli:main"
53
53
  devagent-physical-ai = "devagent_physical_engine.ai_cli:main"
54
54
  devagent-commercial = "devagent_physical_engine.commercial_cli:main"
55
+ devagent-imported-abb-qualify = "devagent_physical_engine.imported_twin_qualification_cli_v24:main"
55
56
 
56
57
  [tool.setuptools.packages.find]
57
58
  where = ["src"]
@@ -94,6 +95,11 @@ omit = [
94
95
  "src/devagent_physical_engine/ros2/kuka_kr6_r900_2.py",
95
96
  "src/devagent_physical_engine/ros2/industrial_arm_task_runtime.py",
96
97
  "src/devagent_physical_engine/ros2/industrial_arm_task_adapters.py",
98
+ # Imported-Twin candidate execution and its qualification CLI orchestrate a real
99
+ # ROS/Gazebo/MoveIt target stack. Pure contracts/gates are still exercised by
100
+ # hosted tests; executable target behavior is qualified on the workstation.
101
+ "src/devagent_physical_engine/imported_twin_execution_v24.py",
102
+ "src/devagent_physical_engine/imported_twin_qualification_cli_v24.py",
97
103
  ]
98
104
 
99
105
  [tool.coverage.report]
@@ -298,4 +298,4 @@ install_industrial_motion_v170()
298
298
  install_controller_runtime_hotfix_v181()
299
299
  install_one_command_runtime()
300
300
 
301
- __version__ = "2.3.0"
301
+ __version__ = "2.4.0"