devagent-physical-engine 2.1.1__tar.gz → 2.3.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 (364) hide show
  1. {devagent_physical_engine-2.1.1/src/devagent_physical_engine.egg-info → devagent_physical_engine-2.3.0}/PKG-INFO +162 -11
  2. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/README.md +160 -9
  3. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/pyproject.toml +3 -3
  4. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/__init__.py +51 -2
  5. devagent_physical_engine-2.3.0/src/devagent_physical_engine/commissioning_agent.py +981 -0
  6. devagent_physical_engine-2.3.0/src/devagent_physical_engine/commissioning_agent_cli.py +122 -0
  7. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/commissioning_readiness.py +63 -1
  8. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/evidence_trust.py +26 -0
  9. devagent_physical_engine-2.3.0/src/devagent_physical_engine/guided_intake_cli.py +65 -0
  10. devagent_physical_engine-2.3.0/src/devagent_physical_engine/guided_intake_v23.py +663 -0
  11. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/one_command.py +13 -5
  12. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/one_command_v15.py +16 -9
  13. devagent_physical_engine-2.3.0/src/devagent_physical_engine/one_command_v22.py +103 -0
  14. devagent_physical_engine-2.3.0/src/devagent_physical_engine/one_command_v23.py +307 -0
  15. devagent_physical_engine-2.3.0/src/devagent_physical_engine/user_cli_v22.py +75 -0
  16. devagent_physical_engine-2.3.0/src/devagent_physical_engine/user_cli_v23.py +74 -0
  17. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0/src/devagent_physical_engine.egg-info}/PKG-INFO +162 -11
  18. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine.egg-info/SOURCES.txt +10 -0
  19. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine.egg-info/entry_points.txt +1 -1
  20. devagent_physical_engine-2.3.0/tests/test_commissioning_agent_orchestrator_v22.py +390 -0
  21. devagent_physical_engine-2.3.0/tests/test_guided_intake_v23.py +472 -0
  22. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_industrial_motion_v170.py +0 -3
  23. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_package_metadata_v184.py +7 -2
  24. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_transfer_place_diagnostic_v172.py +1 -2
  25. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/NOTICE +0 -0
  26. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/setup.cfg +0 -0
  27. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/agent/__init__.py +0 -0
  28. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/agent/compiler.py +0 -0
  29. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/agent/contracts.py +0 -0
  30. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/agent/coordinator.py +0 -0
  31. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/agent/critic.py +0 -0
  32. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/agent/evidence.py +0 -0
  33. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/agent/interpreter.py +0 -0
  34. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/agent/planner.py +0 -0
  35. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/agent/recovery.py +0 -0
  36. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/agent/routing.py +0 -0
  37. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/agent/runtime.py +0 -0
  38. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/agent/semantic.py +0 -0
  39. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/agent/structured.py +0 -0
  40. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ai_cli.py +0 -0
  41. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/cli.py +0 -0
  42. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/commercial.py +0 -0
  43. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/commercial_campaign.py +0 -0
  44. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/commercial_cli.py +0 -0
  45. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/commercial_importer.py +0 -0
  46. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/commercial_intelligence.py +0 -0
  47. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/commercial_readiness.py +0 -0
  48. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/commercial_repository.py +0 -0
  49. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/commissioning_evidence.py +0 -0
  50. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/continuous_clearance.py +0 -0
  51. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/controller_runtime_hotfix_v181.py +0 -0
  52. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/doctor.py +0 -0
  53. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/dynamic_verification_runtime_v190.py +0 -0
  54. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/engineering_agent.py +0 -0
  55. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/engineering_findings.py +0 -0
  56. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/engineering_request.py +0 -0
  57. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/evidence_provider_cli.py +0 -0
  58. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/evidence_provider_gateway.py +0 -0
  59. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/evidence_provider_policy.py +0 -0
  60. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/evidence_replay.py +0 -0
  61. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/execution.py +0 -0
  62. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/industrial_motion_hotfix_v170.py +0 -0
  63. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/industrial_motion_v170.py +0 -0
  64. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/industrial_motion_v182.py +0 -0
  65. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/models.py +0 -0
  66. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/one_command_runtime.py +0 -0
  67. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/one_command_v16.py +0 -0
  68. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/operating_envelope.py +0 -0
  69. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/optimization/__init__.py +0 -0
  70. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/optimization/benchmark.py +0 -0
  71. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/optimization/candidates.py +0 -0
  72. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/optimization/contracts.py +0 -0
  73. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/optimization/evaluator.py +0 -0
  74. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/optimization/evidence.py +0 -0
  75. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/optimization/experience.py +0 -0
  76. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/optimization/measured.py +0 -0
  77. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/optimization/optimizer.py +0 -0
  78. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/optimization/orchestrator.py +0 -0
  79. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/physical_campaign.py +0 -0
  80. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/physical_evidence.py +0 -0
  81. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/physical_evidence_v190.py +0 -0
  82. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/physical_motion.py +0 -0
  83. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/planning.py +0 -0
  84. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/pose_math.py +0 -0
  85. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/preexecution_contract.py +0 -0
  86. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/production_authority.py +0 -0
  87. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/production_grade.py +0 -0
  88. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/project.py +0 -0
  89. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/provider_adapters/__init__.py +0 -0
  90. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/provider_adapters/anthropic.py +0 -0
  91. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/provider_adapters/common.py +0 -0
  92. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/provider_adapters/factory.py +0 -0
  93. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/provider_adapters/gemini.py +0 -0
  94. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/provider_adapters/openai.py +0 -0
  95. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/provider_criterion.py +0 -0
  96. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/provider_qualification.py +0 -0
  97. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/providers.py +0 -0
  98. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/qualification.py +0 -0
  99. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/qualification_cli.py +0 -0
  100. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/qualification_harness.py +0 -0
  101. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/reference_workcell.py +0 -0
  102. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/report_requirements_v190.py +0 -0
  103. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/report_test_execution.py +0 -0
  104. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/report_test_execution_strict.py +0 -0
  105. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/robot_exercise_cli.py +0 -0
  106. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/robot_platform.py +0 -0
  107. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/robot_qualification_acceptance.py +0 -0
  108. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/robot_qualification_acceptance_cli.py +0 -0
  109. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/robot_qualification_cli.py +0 -0
  110. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/robot_qualification_report_store.py +0 -0
  111. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/robot_simulation_promotion_v211.py +0 -0
  112. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/robot_support_contract.py +0 -0
  113. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/robot_support_industrial_v2.py +0 -0
  114. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/robot_support_v18.py +0 -0
  115. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/robots.py +0 -0
  116. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/__init__.py +0 -0
  117. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/abb_irb1200.py +0 -0
  118. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/abb_irb1200_preview.py +0 -0
  119. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/abb_irb1200_verified.py +0 -0
  120. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/abb_runtime_probe.py +0 -0
  121. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/acceptance.py +0 -0
  122. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/commands.py +0 -0
  123. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/continuous_clearance_probe.py +0 -0
  124. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/controller_action_probe.py +0 -0
  125. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/destination_support_contact_v182.py +0 -0
  126. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/direct_controller_discovery_runner.py +0 -0
  127. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/doctor.py +0 -0
  128. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/fanuc_crx10ia.py +0 -0
  129. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/fanuc_crx10ia_physics.py +0 -0
  130. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/fk_pose.py +0 -0
  131. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/fk_probe.py +0 -0
  132. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/frame_alignment.py +0 -0
  133. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/gazebo_cli.py +0 -0
  134. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/gazebo_overlay_support.py +0 -0
  135. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/gazebo_pose.py +0 -0
  136. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/gazebo_world.py +0 -0
  137. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/industrial_arm_runtime_gate.py +0 -0
  138. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/industrial_arm_runtime_probe.py +0 -0
  139. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/industrial_arm_task_adapters.py +0 -0
  140. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/industrial_arm_task_runtime.py +0 -0
  141. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/industrial_sequence_planner_v170.py +0 -0
  142. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/industrial_sequence_planner_v171.py +0 -0
  143. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/industrial_sequence_planner_v172.py +0 -0
  144. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/industrial_sequence_planner_v182.py +0 -0
  145. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/joint_state_probe.py +0 -0
  146. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/joint_state_recorder.py +0 -0
  147. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/kuka_kr6_r900_2.py +0 -0
  148. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/kuka_kr6_r900_2_verified.py +0 -0
  149. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/measured_motion.py +0 -0
  150. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/moveit_joint_plan_probe.py +0 -0
  151. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/moveit_joint_plan_v161_probe.py +0 -0
  152. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/moveit_scene.py +0 -0
  153. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/moveit_task_planner.py +0 -0
  154. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/pilz_sequence_plan_probe.py +0 -0
  155. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/pilz_sequence_plan_probe_v182.py +0 -0
  156. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/preexecution.py +0 -0
  157. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/qualification.py +0 -0
  158. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/qualification_multivendor.py +0 -0
  159. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/qualification_provenance.py +0 -0
  160. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/qualification_v10.py +0 -0
  161. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/qualification_v11.py +0 -0
  162. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/qualification_v12.py +0 -0
  163. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/report_test_visualization.py +0 -0
  164. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/report_test_visualization_v170.py +0 -0
  165. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/robot_description_probe.py +0 -0
  166. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/ros_gz_pose_service_probe.py +0 -0
  167. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/ros_python_runtime.py +0 -0
  168. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/runtime_quiescence.py +0 -0
  169. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/runtime_quiescence_probe.py +0 -0
  170. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/scene_probe.py +0 -0
  171. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/state_validity_probe.py +0 -0
  172. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/support_contact_acm_probe_v170.py +0 -0
  173. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/support_contact_acm_semantics_v189.py +0 -0
  174. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/support_contact_lease_v170.py +0 -0
  175. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/support_contact_runner_v161.py +0 -0
  176. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/support_contact_v161.py +0 -0
  177. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/task_adapter.py +0 -0
  178. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/task_adapter_v190.py +0 -0
  179. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/task_motion_diagnostics_v190.py +0 -0
  180. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/task_visualization.py +0 -0
  181. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/tf_probe.py +0 -0
  182. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/tool_scene.py +0 -0
  183. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/tool_scene_probe.py +0 -0
  184. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/trajectory.py +0 -0
  185. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/trajectory_action_probe.py +0 -0
  186. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/trajectory_feedback_tracking_v189.py +0 -0
  187. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/trajectory_runtime_v190.py +0 -0
  188. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/trajectory_tracking.py +0 -0
  189. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/ur5e.py +0 -0
  190. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/ur5e_adapter.py +0 -0
  191. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/ur5e_v10_adapter.py +0 -0
  192. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/workpiece_carrier_v190.py +0 -0
  193. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/workpiece_entity_replace_probe_v190.py +0 -0
  194. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/workpiece_follow.py +0 -0
  195. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/workpiece_gazebo_follower.py +0 -0
  196. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/workpiece_scene.py +0 -0
  197. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/workpiece_scene_probe.py +0 -0
  198. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/workpiece_scene_probe_v186.py +0 -0
  199. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/workpiece_scene_probe_v187.py +0 -0
  200. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/workpiece_scene_probe_v188.py +0 -0
  201. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/workpiece_scene_probe_v189.py +0 -0
  202. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/ros2/workpiece_transport.py +0 -0
  203. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/selective_verification.py +0 -0
  204. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/selective_verification_v16.py +0 -0
  205. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/selective_verification_v190.py +0 -0
  206. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/setup_profile.py +0 -0
  207. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/sim_real_qualification.py +0 -0
  208. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/simulation.py +0 -0
  209. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/simulation_platform.py +0 -0
  210. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/smooth_motion_hotfix_v162.py +0 -0
  211. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/support_contact_hotfix_v161.py +0 -0
  212. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/tool_collision.py +0 -0
  213. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/trajectory_qualification.py +0 -0
  214. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/twin.py +0 -0
  215. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/twin_builder.py +0 -0
  216. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/twin_codec.py +0 -0
  217. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/twin_materialization.py +0 -0
  218. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/user_cli.py +0 -0
  219. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/user_cli_v15.py +0 -0
  220. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/user_cli_v16.py +0 -0
  221. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/user_cli_v18.py +0 -0
  222. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/user_cli_v191.py +0 -0
  223. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/verification.py +0 -0
  224. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/verification_capabilities_v190.py +0 -0
  225. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/verification_scope_authority.py +0 -0
  226. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine/workpiece_lifecycle.py +0 -0
  227. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine.egg-info/dependency_links.txt +0 -0
  228. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine.egg-info/requires.txt +0 -0
  229. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/src/devagent_physical_engine.egg-info/top_level.txt +0 -0
  230. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_abb_clock_provenance_v2.py +0 -0
  231. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_abb_gazebo_resource_path_v2.py +0 -0
  232. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_abb_irb1200_visual_v18.py +0 -0
  233. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_abb_robot_description_bootstrap_v2.py +0 -0
  234. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_abb_robot_description_payload_gate_v2.py +0 -0
  235. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_abb_runtime_direct_probe_v2.py +0 -0
  236. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_abb_sim_clock_v2.py +0 -0
  237. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_agent_core.py +0 -0
  238. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_agent_semantic_hardening.py +0 -0
  239. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_ai_cli.py +0 -0
  240. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_ai_cli_v07.py +0 -0
  241. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_commercial_importer_v1.py +0 -0
  242. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_commercial_intelligence_v15.py +0 -0
  243. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_commercial_readiness_v1.py +0 -0
  244. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_commercial_v1.py +0 -0
  245. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_commissioning_core_v20.py +0 -0
  246. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_commissioning_evidence_graph_v20.py +0 -0
  247. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_continuous_clearance_v011.py +0 -0
  248. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_controller_failure_diagnostics_v190.py +0 -0
  249. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_controller_runtime_hotfix_v181.py +0 -0
  250. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_core.py +0 -0
  251. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_destination_support_contact_v182.py +0 -0
  252. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_dynamic_report_batch_v190.py +0 -0
  253. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_dynamic_report_contract_end_to_end_v190.py +0 -0
  254. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_dynamic_verification_capabilities_v190.py +0 -0
  255. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_engineering_request_v07.py +0 -0
  256. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_evidence_provider_gateway_v2.py +0 -0
  257. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_evidence_replay_v12.py +0 -0
  258. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_evidence_trust_coverage_v12.py +0 -0
  259. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_evidence_trust_transport_v12.py +0 -0
  260. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_evidence_trust_v12.py +0 -0
  261. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_evidence_viewer_palette_v130.py +0 -0
  262. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_explicit_detach_world_reassert_v189.py +0 -0
  263. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_external_evidence_campaign_authority_v2.py +0 -0
  264. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_fanuc_physics_tolerance_v2.py +0 -0
  265. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_fresh_simulation_cli_v191.py +0 -0
  266. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_fresh_simulation_service_v191.py +0 -0
  267. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_gazebo_cli_v0122.py +0 -0
  268. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_golden_abb_runner_v171.py +0 -0
  269. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_golden_abb_showcase.py +0 -0
  270. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_handoff_authority_v190.py +0 -0
  271. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_industrial_arm_functional_parity_v192.py +0 -0
  272. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_industrial_arm_replay_authority_v192.py +0 -0
  273. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_industrial_robot_simulation_v2.py +0 -0
  274. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_interpreter_profiles_v08.py +0 -0
  275. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_joint_state_metric_authority_v190.py +0 -0
  276. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_joint_state_probe_v0125.py +0 -0
  277. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_kuka_verified_runtime_v2.py +0 -0
  278. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_live_provider_qualification.py +0 -0
  279. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_loaded_place_stability_v190.py +0 -0
  280. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_measured_motion_v10.py +0 -0
  281. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_metric_authority_surface_v190.py +0 -0
  282. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_motion_handoff_stability_v190.py +0 -0
  283. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_moveit_planning_diagnostics_v0125.py +0 -0
  284. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_moveit_scene_v0123.py +0 -0
  285. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_multivendor_runtime_hardening_v2.py +0 -0
  286. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_multivendor_sim_promotion_v211.py +0 -0
  287. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_multivendor_sim_qualification_v2.py +0 -0
  288. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_natural_language_agent_v07.py +0 -0
  289. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_one_command_hardening_v13.py +0 -0
  290. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_one_command_pose_hardening_v15.py +0 -0
  291. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_one_command_regression_v141.py +0 -0
  292. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_one_command_v13.py +0 -0
  293. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_one_command_v190_injection.py +0 -0
  294. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_openai_strict_schema_v0113.py +0 -0
  295. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_optimization_v05.py +0 -0
  296. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_physical_campaign_v09.py +0 -0
  297. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_physical_evidence_v09.py +0 -0
  298. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_physical_motion_v09.py +0 -0
  299. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_place_preexecution_acm_v189.py +0 -0
  300. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_planning_fallback_v012.py +0 -0
  301. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_pose_math_v0125.py +0 -0
  302. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_preexecution_contract_v10.py +0 -0
  303. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_production_authority_v11.py +0 -0
  304. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_production_external_evidence_v11.py +0 -0
  305. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_production_grade_coverage_v11.py +0 -0
  306. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_production_grade_v11.py +0 -0
  307. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_project_spine_v013.py +0 -0
  308. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_provider_and_qualification.py +0 -0
  309. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_provider_criterion_v15.py +0 -0
  310. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_qualification_cli_lifecycle_v06.py +0 -0
  311. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_qualification_harness_v06.py +0 -0
  312. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_readme_pypi.py +0 -0
  313. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_real_provider_adapters.py +0 -0
  314. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_reference_workcell_ros_frames_v0125.py +0 -0
  315. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_reference_workcell_v012.py +0 -0
  316. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_release_resting_pose_v189.py +0 -0
  317. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_release_transaction_v189.py +0 -0
  318. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_report_orchestration_v190.py +0 -0
  319. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_report_test_contract_coverage_v16.py +0 -0
  320. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_report_test_lineage_v16.py +0 -0
  321. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_report_test_visual_execution_v16.py +0 -0
  322. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_robot_platform_v08.py +0 -0
  323. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_robot_qualification_acceptance_v2.py +0 -0
  324. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_robot_qualification_review_fixes_v2.py +0 -0
  325. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_robot_support_contract_v2.py +0 -0
  326. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_ros2_production_receipts_v011.py +0 -0
  327. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_ros2_simulation.py +0 -0
  328. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_ros_process_group_cleanup_v2.py +0 -0
  329. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_ros_trajectory_v09.py +0 -0
  330. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_runtime_quiescence_v2.py +0 -0
  331. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_selective_verification_v14.py +0 -0
  332. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_setup_profile.py +0 -0
  333. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_sim_real_qualification_v011.py +0 -0
  334. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_simulation_platform_v08.py +0 -0
  335. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_smooth_motion_hotfix_v162.py +0 -0
  336. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_support_contact_acm_semantics_v189.py +0 -0
  337. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_support_contact_hotfix_v161.py +0 -0
  338. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_tool_collision_v011.py +0 -0
  339. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_tool_scene_v0124.py +0 -0
  340. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_trajectory_action_contract_v189.py +0 -0
  341. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_trajectory_action_probe_v0125.py +0 -0
  342. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_trajectory_feedback_tracking_v189.py +0 -0
  343. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_trajectory_qualification_v09.py +0 -0
  344. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_trajectory_tracking_v0125.py +0 -0
  345. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_transfer_controller_policy_v189.py +0 -0
  346. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_twin_materialization_v10.py +0 -0
  347. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_twin_v08.py +0 -0
  348. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_ur5e_adapter_scopes_v09.py +0 -0
  349. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_ur5e_v10_adapter_scopes.py +0 -0
  350. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_user_cli_interactive_v131.py +0 -0
  351. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_user_cli_progress_v131.py +0 -0
  352. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_user_cli_report_visual_v16.py +0 -0
  353. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_user_cli_selective_v14.py +0 -0
  354. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_user_cli_v15.py +0 -0
  355. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_user_cli_v15_hotfix_inheritance.py +0 -0
  356. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_v052_stabilization.py +0 -0
  357. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_v08_catalog_mapping_regression.py +0 -0
  358. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_verification_scope_authority_v20.py +0 -0
  359. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_workpiece_attach_semantics_v183.py +0 -0
  360. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_workpiece_carrier_v190.py +0 -0
  361. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_workpiece_lifecycle_v011.py +0 -0
  362. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_workpiece_scene_probe_v185.py +0 -0
  363. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_workpiece_semantic_lifecycle_v186.py +0 -0
  364. {devagent_physical_engine-2.1.1 → devagent_physical_engine-2.3.0}/tests/test_workpiece_transport_v189.py +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devagent-physical-engine
3
- Version: 2.1.1
4
- Summary: Verification-first robotics commissioning control plane with immutable engineering findings, deterministic pre-site readiness, evidence authority, exact-Twin lineage, selective simulation, regression, replay, and FAT reporting.
3
+ Version: 2.3.0
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
7
7
  Project-URL: Homepage, https://github.com/tomha85/devagent-physical-engine
@@ -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.1 commissioning verification flow
84
+ ## v2.3 commissioning verification flow
85
85
 
86
86
  ```text
87
87
  Customer engineering files
@@ -125,7 +125,7 @@ That decision means the declared pre-site engineering scope has complete, curren
125
125
  Python 3.11+ is required.
126
126
 
127
127
  ```bash
128
- python -m pip install --upgrade devagent-physical-engine==2.1.1
128
+ python -m pip install --upgrade devagent-physical-engine==2.3.0
129
129
  ```
130
130
 
131
131
  Verify the installed package:
@@ -137,7 +137,7 @@ python -c "import devagent_physical_engine as d; print(d.__version__)"
137
137
  Expected:
138
138
 
139
139
  ```text
140
- 2.1.1
140
+ 2.3.0
141
141
  ```
142
142
 
143
143
  Run the normal customer workflow:
@@ -171,6 +171,107 @@ Evidence database: ~/.devagent/projects.db
171
171
  Results: <customer-project>/devagent-results/
172
172
  ```
173
173
 
174
+ ## Flexible guided project intake
175
+
176
+ **You do not need to prepare a special DevAgent project format.** Put the engineering files you already have into one customer project folder and run:
177
+
178
+ ```bash
179
+ devagent verify ./customer-project
180
+ ```
181
+
182
+ That is the normal workflow. `devagent verify` performs guided intake automatically before verification.
183
+
184
+ If you only want to inspect what DevAgent can use, without running the full verification workflow:
185
+
186
+ ```bash
187
+ devagent intake ./customer-project
188
+ ```
189
+
190
+ ### What files should I provide?
191
+
192
+ Provide whatever is available. More current engineering sources can increase verification coverage, but there is no global mandatory checklist.
193
+
194
+ Typical inputs may include:
195
+
196
+ ```text
197
+ customer-project/
198
+ ├── requirements.xlsx # optional
199
+ ├── PLC/ # optional Siemens/Rockwell/Schneider exports
200
+ ├── Robot/ # optional ABB/FANUC/KUKA exports
201
+ ├── cell.step # optional CAD / geometry
202
+ ├── FAT_results.xlsx # optional existing test evidence
203
+ ├── calibration/ # optional TCP / frame / calibration data
204
+ ├── drawings.pdf # optional engineering documentation
205
+ └── anything_else_the_customer_has/
206
+ ```
207
+
208
+ A project with only requirements can still be reviewed and normalized. A project without PLC, robot, CAD, or existing FAT evidence is still accepted; DevAgent simply limits the verification scope to what the supplied sources can prove.
209
+
210
+ ### Missing files do not become failures
211
+
212
+ DevAgent keeps these meanings separate:
213
+
214
+ ```text
215
+ authoritative evidence disproves a criterion -> FAIL
216
+ required evidence is unavailable -> NOT_TESTED / reduced scope
217
+ evidence belongs to an old project revision -> STALE
218
+ multiple possible current source revisions -> NEEDS_CONFIRMATION
219
+ unsupported file -> inventoried, not authority
220
+ optional file missing -> no intake failure
221
+ ```
222
+
223
+ DevAgent does not invent substitute evidence to make a project pass.
224
+
225
+ ### How source authority is handled
226
+
227
+ Every raw customer file is hashed and inventoried. DevAgent recognizes common Siemens, Rockwell, Schneider, ABB, FANUC, and KUKA exports together with requirements, CAD/model files, structured engineering data, PDFs, and existing FAT/test evidence.
228
+
229
+ When one source is unambiguous, DevAgent can use it automatically. Multi-file PLC or robot projects are kept as a bounded source set.
230
+
231
+ If multiple distinct source sets from the same vendor could represent different revisions, DevAgent **does not guess** using names such as `final`, `latest`, `backup`, or filesystem modification time. The affected source role becomes `NEEDS_CONFIRMATION`; unrelated verification scope can still continue.
232
+
233
+ For an ambiguous project, an optional `devagent-intake.yaml` can explicitly select the current sources:
234
+
235
+ ```yaml
236
+ authoritative_sources:
237
+ requirements: requirements_rev_c.xlsx
238
+
239
+ plc_project:
240
+ - PLC/current_controller.L5X
241
+ - PLC/current_tags.L5X
242
+
243
+ robot_project:
244
+ - Robot/MainModule.mod
245
+ - Robot/ToolModule.mod
246
+ ```
247
+
248
+ This file is optional. Normal unambiguous projects do not need it.
249
+
250
+ ### What DevAgent creates
251
+
252
+ The customer source files remain read-only. DevAgent writes its own outputs under `devagent-results/`:
253
+
254
+ ```text
255
+ devagent-results/
256
+ ├── SOURCE_MANIFEST.json
257
+ ├── INTAKE_READINESS.json
258
+ ├── INTAKE_GUIDE.md
259
+ ├── SUMMARY.json
260
+ ├── PRE_SITE_READINESS.json
261
+ ├── FAT_REPORT.html # when current FAT lineage exists
262
+ └── EVIDENCE.html
263
+ ```
264
+
265
+ `SOURCE_MANIFEST.json` records hashes and source provenance. `INTAKE_READINESS.json` shows which source roles are usable or need confirmation. `INTAKE_GUIDE.md` explains optional files that could strengthen coverage.
266
+
267
+ If customer files change while verification is running, the run is marked as a stale source snapshot and cannot be promoted as current readiness. Add or replace files when needed, then rerun the same command:
268
+
269
+ ```bash
270
+ devagent verify ./customer-project
271
+ ```
272
+
273
+ See `docs/FLEXIBLE_GUIDED_INTAKE_V23.md` for the full intake authority contract.
274
+
174
275
  ## Commercial commissioning workflow
175
276
 
176
277
  The normal end-to-end customer path is `devagent verify`. It performs requirement normalization, deterministic mapping, requirement-driven case planning/mapping, verification orchestration, evidence recording, regression, and reporting within the qualified scope.
@@ -500,10 +601,36 @@ export GEMINI_API_KEY="..."
500
601
 
501
602
  Provider-backed interpretation cannot grant physical truth, site qualification, functional-safety certification, or real-execution authority.
502
603
 
604
+ ### Commissioning Agent Orchestrator
605
+
606
+ The default verification path now reconciles deterministic engineering review, change impact, regression, FAT, Evidence Bundle, and immutable pre-site readiness before agent reasoning.
607
+
608
+ Run the bounded project-aware agent on an existing project:
609
+
610
+ ```bash
611
+ devagent agent commission PROJECT_ID \
612
+ --provider openai \
613
+ --model YOUR_MODEL
614
+ ```
615
+
616
+ Or point it at a customer project directory:
617
+
618
+ ```bash
619
+ devagent agent commission ./ACME_CELL \
620
+ --provider openai \
621
+ --model YOUR_MODEL
622
+ ```
623
+
624
+ The agent uses immutable multi-context snapshots, reviewer→critic bounded revisions, stale-context abort, full model/provider traces, deterministic recovery recommendations, and opt-in project-scoped advisory memory. It cannot grant PASS/FAIL, readiness, evidence qualification, or real execution authority.
625
+
626
+ Learning is off by default. `--learn` creates only a memory candidate; explicit human promotion is required before that memory can be reused, and promoted memory remains advisory.
627
+
628
+ See `docs/COMMISSIONING_AGENT_ORCHESTRATOR_V1.md`.
629
+
503
630
  ## Installed CLIs
504
631
 
505
632
  ```text
506
- devagent one-command verification, interactive report testing, robot support/visualization
633
+ devagent guided project intake, one-command verification, commissioning agent, interactive report testing, robot support/visualization
507
634
  devagent-commercial project, evidence, findings, FAT, regression, commissioning-readiness workflow
508
635
  devagent-physical deterministic core + ROS/qualification tools
509
636
  devagent-physical-ai optional provider-backed engineering front end
@@ -513,7 +640,7 @@ devagent-physical-ai optional provider-backed engineering front end
513
640
 
514
641
  | Exit | Meaning |
515
642
  | ---: | --- |
516
- | `0` | bounded full verification is release-ready |
643
+ | `0` | deterministic current project state is READY_FOR_PRE_SITE_COMMISSIONING |
517
644
  | `10` | customer input or operational contract failure |
518
645
  | `30` | more engineering information is required |
519
646
  | `31` | requested simulation is blocked/unqualified |
@@ -521,14 +648,23 @@ devagent-physical-ai optional provider-backed engineering front end
521
648
 
522
649
  # Project status
523
650
 
524
- **v2.1.1 — Production/Stable software workflow; accepted ABB/FANUC/KUKA simulation authority promotion**
651
+ **v2.3.0 — Production/Stable software workflow; Flexible Guided Multi-Vendor Intake + deterministic commissioning authority**
652
+
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.
654
+
655
+ 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.
525
656
 
526
- v2.1.1 promotes exact ABB IRB1200, FANUC CRX-10iA, and KUKA KR6 R900-2 kinematic/physics/visual simulation authority from the accepted v2.1 evidence. The promotion is bound to immutable report hashes and does not grant measured FAT, hardware-shadow, sim-real, site, safety, or real-execution authority.
657
+ The v2.2 Commissioning Agent Orchestrator remains advisory-only above the deterministic core. Existing ABB/FANUC/KUKA bounded simulation authority remains unchanged and does not grant measured FAT, hardware-shadow, sim-real, site, safety, commissioning-completed, or real-execution authority.
527
658
 
528
659
  Production-oriented software capabilities include:
529
660
 
530
661
  ```text
531
- one-command customer intake
662
+ flexible guided multi-vendor customer intake
663
+ read-only source inventory + SHA256 provenance
664
+ optional source files; partial verification allowed
665
+ deterministic source ambiguity / duplicate handling
666
+ stable inventory + authority fingerprints
667
+ source-mutation detection during verification
532
668
  XLSX/CSV/YAML/JSON requirement normalization
533
669
  immutable project/Twin lineage
534
670
  engineering review + first-class risk findings
@@ -552,9 +688,12 @@ professional FAT report
552
688
  Evidence Bundle + replay
553
689
  immutable READY / NOT_READY pre-site commissioning decision
554
690
  provider-neutral optional AI front end
691
+ bounded project-aware Commissioning Agent Orchestrator
692
+ immutable multi-context agent snapshots + stale-context abort
693
+ opt-in human-promoted advisory engineering memory
555
694
  ```
556
695
 
557
- Production/Stable describes the bounded software workflow. The target-proven UR5e claim remains limited to the qualified packaged scope and acceptance environment. v2.1.1 does not claim arbitrary customer cells are physically qualified, site-qualified, functionally safe, commissioned, or authorized for autonomous real execution.
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.
558
697
 
559
698
  Current hard authority boundaries remain:
560
699
 
@@ -569,6 +708,18 @@ unless separately proven by an appropriate qualified process.
569
708
 
570
709
  ## Documentation
571
710
 
711
+ Flexible Guided Intake:
712
+ https://github.com/tomha85/devagent-physical-engine/blob/main/docs/FLEXIBLE_GUIDED_INTAKE_V23.md
713
+
714
+ Commissioning Agent Orchestrator:
715
+ https://github.com/tomha85/devagent-physical-engine/blob/main/docs/COMMISSIONING_AGENT_ORCHESTRATOR_V1.md
716
+
717
+ v2.3.0 release notes:
718
+ https://github.com/tomha85/devagent-physical-engine/blob/main/docs/RELEASE_NOTES_V2_3_0.md
719
+
720
+ v2.2.0 release notes:
721
+ https://github.com/tomha85/devagent-physical-engine/blob/main/docs/RELEASE_NOTES_V2_2_0.md
722
+
572
723
  v2.1.1 release notes:
573
724
  https://github.com/tomha85/devagent-physical-engine/blob/main/docs/RELEASE_NOTES_V2_1_1.md
574
725
 
@@ -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.1 commissioning verification flow
42
+ ## v2.3 commissioning verification flow
43
43
 
44
44
  ```text
45
45
  Customer engineering files
@@ -83,7 +83,7 @@ That decision means the declared pre-site engineering scope has complete, curren
83
83
  Python 3.11+ is required.
84
84
 
85
85
  ```bash
86
- python -m pip install --upgrade devagent-physical-engine==2.1.1
86
+ python -m pip install --upgrade devagent-physical-engine==2.3.0
87
87
  ```
88
88
 
89
89
  Verify the installed package:
@@ -95,7 +95,7 @@ python -c "import devagent_physical_engine as d; print(d.__version__)"
95
95
  Expected:
96
96
 
97
97
  ```text
98
- 2.1.1
98
+ 2.3.0
99
99
  ```
100
100
 
101
101
  Run the normal customer workflow:
@@ -129,6 +129,107 @@ Evidence database: ~/.devagent/projects.db
129
129
  Results: <customer-project>/devagent-results/
130
130
  ```
131
131
 
132
+ ## Flexible guided project intake
133
+
134
+ **You do not need to prepare a special DevAgent project format.** Put the engineering files you already have into one customer project folder and run:
135
+
136
+ ```bash
137
+ devagent verify ./customer-project
138
+ ```
139
+
140
+ That is the normal workflow. `devagent verify` performs guided intake automatically before verification.
141
+
142
+ If you only want to inspect what DevAgent can use, without running the full verification workflow:
143
+
144
+ ```bash
145
+ devagent intake ./customer-project
146
+ ```
147
+
148
+ ### What files should I provide?
149
+
150
+ Provide whatever is available. More current engineering sources can increase verification coverage, but there is no global mandatory checklist.
151
+
152
+ Typical inputs may include:
153
+
154
+ ```text
155
+ customer-project/
156
+ ├── requirements.xlsx # optional
157
+ ├── PLC/ # optional Siemens/Rockwell/Schneider exports
158
+ ├── Robot/ # optional ABB/FANUC/KUKA exports
159
+ ├── cell.step # optional CAD / geometry
160
+ ├── FAT_results.xlsx # optional existing test evidence
161
+ ├── calibration/ # optional TCP / frame / calibration data
162
+ ├── drawings.pdf # optional engineering documentation
163
+ └── anything_else_the_customer_has/
164
+ ```
165
+
166
+ A project with only requirements can still be reviewed and normalized. A project without PLC, robot, CAD, or existing FAT evidence is still accepted; DevAgent simply limits the verification scope to what the supplied sources can prove.
167
+
168
+ ### Missing files do not become failures
169
+
170
+ DevAgent keeps these meanings separate:
171
+
172
+ ```text
173
+ authoritative evidence disproves a criterion -> FAIL
174
+ required evidence is unavailable -> NOT_TESTED / reduced scope
175
+ evidence belongs to an old project revision -> STALE
176
+ multiple possible current source revisions -> NEEDS_CONFIRMATION
177
+ unsupported file -> inventoried, not authority
178
+ optional file missing -> no intake failure
179
+ ```
180
+
181
+ DevAgent does not invent substitute evidence to make a project pass.
182
+
183
+ ### How source authority is handled
184
+
185
+ Every raw customer file is hashed and inventoried. DevAgent recognizes common Siemens, Rockwell, Schneider, ABB, FANUC, and KUKA exports together with requirements, CAD/model files, structured engineering data, PDFs, and existing FAT/test evidence.
186
+
187
+ When one source is unambiguous, DevAgent can use it automatically. Multi-file PLC or robot projects are kept as a bounded source set.
188
+
189
+ If multiple distinct source sets from the same vendor could represent different revisions, DevAgent **does not guess** using names such as `final`, `latest`, `backup`, or filesystem modification time. The affected source role becomes `NEEDS_CONFIRMATION`; unrelated verification scope can still continue.
190
+
191
+ For an ambiguous project, an optional `devagent-intake.yaml` can explicitly select the current sources:
192
+
193
+ ```yaml
194
+ authoritative_sources:
195
+ requirements: requirements_rev_c.xlsx
196
+
197
+ plc_project:
198
+ - PLC/current_controller.L5X
199
+ - PLC/current_tags.L5X
200
+
201
+ robot_project:
202
+ - Robot/MainModule.mod
203
+ - Robot/ToolModule.mod
204
+ ```
205
+
206
+ This file is optional. Normal unambiguous projects do not need it.
207
+
208
+ ### What DevAgent creates
209
+
210
+ The customer source files remain read-only. DevAgent writes its own outputs under `devagent-results/`:
211
+
212
+ ```text
213
+ devagent-results/
214
+ ├── SOURCE_MANIFEST.json
215
+ ├── INTAKE_READINESS.json
216
+ ├── INTAKE_GUIDE.md
217
+ ├── SUMMARY.json
218
+ ├── PRE_SITE_READINESS.json
219
+ ├── FAT_REPORT.html # when current FAT lineage exists
220
+ └── EVIDENCE.html
221
+ ```
222
+
223
+ `SOURCE_MANIFEST.json` records hashes and source provenance. `INTAKE_READINESS.json` shows which source roles are usable or need confirmation. `INTAKE_GUIDE.md` explains optional files that could strengthen coverage.
224
+
225
+ If customer files change while verification is running, the run is marked as a stale source snapshot and cannot be promoted as current readiness. Add or replace files when needed, then rerun the same command:
226
+
227
+ ```bash
228
+ devagent verify ./customer-project
229
+ ```
230
+
231
+ See `docs/FLEXIBLE_GUIDED_INTAKE_V23.md` for the full intake authority contract.
232
+
132
233
  ## Commercial commissioning workflow
133
234
 
134
235
  The normal end-to-end customer path is `devagent verify`. It performs requirement normalization, deterministic mapping, requirement-driven case planning/mapping, verification orchestration, evidence recording, regression, and reporting within the qualified scope.
@@ -458,10 +559,36 @@ export GEMINI_API_KEY="..."
458
559
 
459
560
  Provider-backed interpretation cannot grant physical truth, site qualification, functional-safety certification, or real-execution authority.
460
561
 
562
+ ### Commissioning Agent Orchestrator
563
+
564
+ The default verification path now reconciles deterministic engineering review, change impact, regression, FAT, Evidence Bundle, and immutable pre-site readiness before agent reasoning.
565
+
566
+ Run the bounded project-aware agent on an existing project:
567
+
568
+ ```bash
569
+ devagent agent commission PROJECT_ID \
570
+ --provider openai \
571
+ --model YOUR_MODEL
572
+ ```
573
+
574
+ Or point it at a customer project directory:
575
+
576
+ ```bash
577
+ devagent agent commission ./ACME_CELL \
578
+ --provider openai \
579
+ --model YOUR_MODEL
580
+ ```
581
+
582
+ The agent uses immutable multi-context snapshots, reviewer→critic bounded revisions, stale-context abort, full model/provider traces, deterministic recovery recommendations, and opt-in project-scoped advisory memory. It cannot grant PASS/FAIL, readiness, evidence qualification, or real execution authority.
583
+
584
+ Learning is off by default. `--learn` creates only a memory candidate; explicit human promotion is required before that memory can be reused, and promoted memory remains advisory.
585
+
586
+ See `docs/COMMISSIONING_AGENT_ORCHESTRATOR_V1.md`.
587
+
461
588
  ## Installed CLIs
462
589
 
463
590
  ```text
464
- devagent one-command verification, interactive report testing, robot support/visualization
591
+ devagent guided project intake, one-command verification, commissioning agent, interactive report testing, robot support/visualization
465
592
  devagent-commercial project, evidence, findings, FAT, regression, commissioning-readiness workflow
466
593
  devagent-physical deterministic core + ROS/qualification tools
467
594
  devagent-physical-ai optional provider-backed engineering front end
@@ -471,7 +598,7 @@ devagent-physical-ai optional provider-backed engineering front end
471
598
 
472
599
  | Exit | Meaning |
473
600
  | ---: | --- |
474
- | `0` | bounded full verification is release-ready |
601
+ | `0` | deterministic current project state is READY_FOR_PRE_SITE_COMMISSIONING |
475
602
  | `10` | customer input or operational contract failure |
476
603
  | `30` | more engineering information is required |
477
604
  | `31` | requested simulation is blocked/unqualified |
@@ -479,14 +606,23 @@ devagent-physical-ai optional provider-backed engineering front end
479
606
 
480
607
  # Project status
481
608
 
482
- **v2.1.1 — Production/Stable software workflow; accepted ABB/FANUC/KUKA simulation authority promotion**
609
+ **v2.3.0 — Production/Stable software workflow; Flexible Guided Multi-Vendor Intake + deterministic commissioning authority**
610
+
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.
612
+
613
+ 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.
483
614
 
484
- v2.1.1 promotes exact ABB IRB1200, FANUC CRX-10iA, and KUKA KR6 R900-2 kinematic/physics/visual simulation authority from the accepted v2.1 evidence. The promotion is bound to immutable report hashes and does not grant measured FAT, hardware-shadow, sim-real, site, safety, or real-execution authority.
615
+ The v2.2 Commissioning Agent Orchestrator remains advisory-only above the deterministic core. Existing ABB/FANUC/KUKA bounded simulation authority remains unchanged and does not grant measured FAT, hardware-shadow, sim-real, site, safety, commissioning-completed, or real-execution authority.
485
616
 
486
617
  Production-oriented software capabilities include:
487
618
 
488
619
  ```text
489
- one-command customer intake
620
+ flexible guided multi-vendor customer intake
621
+ read-only source inventory + SHA256 provenance
622
+ optional source files; partial verification allowed
623
+ deterministic source ambiguity / duplicate handling
624
+ stable inventory + authority fingerprints
625
+ source-mutation detection during verification
490
626
  XLSX/CSV/YAML/JSON requirement normalization
491
627
  immutable project/Twin lineage
492
628
  engineering review + first-class risk findings
@@ -510,9 +646,12 @@ professional FAT report
510
646
  Evidence Bundle + replay
511
647
  immutable READY / NOT_READY pre-site commissioning decision
512
648
  provider-neutral optional AI front end
649
+ bounded project-aware Commissioning Agent Orchestrator
650
+ immutable multi-context agent snapshots + stale-context abort
651
+ opt-in human-promoted advisory engineering memory
513
652
  ```
514
653
 
515
- Production/Stable describes the bounded software workflow. The target-proven UR5e claim remains limited to the qualified packaged scope and acceptance environment. v2.1.1 does not claim arbitrary customer cells are physically qualified, site-qualified, functionally safe, commissioned, or authorized for autonomous real execution.
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.
516
655
 
517
656
  Current hard authority boundaries remain:
518
657
 
@@ -527,6 +666,18 @@ unless separately proven by an appropriate qualified process.
527
666
 
528
667
  ## Documentation
529
668
 
669
+ Flexible Guided Intake:
670
+ https://github.com/tomha85/devagent-physical-engine/blob/main/docs/FLEXIBLE_GUIDED_INTAKE_V23.md
671
+
672
+ Commissioning Agent Orchestrator:
673
+ https://github.com/tomha85/devagent-physical-engine/blob/main/docs/COMMISSIONING_AGENT_ORCHESTRATOR_V1.md
674
+
675
+ v2.3.0 release notes:
676
+ https://github.com/tomha85/devagent-physical-engine/blob/main/docs/RELEASE_NOTES_V2_3_0.md
677
+
678
+ v2.2.0 release notes:
679
+ https://github.com/tomha85/devagent-physical-engine/blob/main/docs/RELEASE_NOTES_V2_2_0.md
680
+
530
681
  v2.1.1 release notes:
531
682
  https://github.com/tomha85/devagent-physical-engine/blob/main/docs/RELEASE_NOTES_V2_1_1.md
532
683
 
@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "devagent-physical-engine"
7
- version = "2.1.1"
8
- description = "Verification-first robotics commissioning control plane with immutable engineering findings, deterministic pre-site readiness, evidence authority, exact-Twin lineage, selective simulation, regression, replay, and FAT reporting."
7
+ version = "2.3.0"
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"
11
11
  dependencies = ["PyYAML>=6.0,<7"]
@@ -48,7 +48,7 @@ Issues = "https://github.com/tomha85/devagent-physical-engine/issues"
48
48
  Sponsor = "https://github.com/sponsors/tomha85"
49
49
 
50
50
  [project.scripts]
51
- devagent = "devagent_physical_engine.user_cli_v191:main"
51
+ 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"
@@ -35,6 +35,21 @@ from .commissioning_readiness import (
35
35
  CommissioningReadinessStatus,
36
36
  PreSiteCommissioningReadinessEvaluator,
37
37
  )
38
+ from .commissioning_agent import (
39
+ COMMISSIONING_AGENT_SCHEMA_VERSION,
40
+ CommissioningAgentOrchestrator,
41
+ CommissioningAgentResult,
42
+ CommissioningContextAssembler,
43
+ CommissioningContextSnapshot,
44
+ CommissioningLifecycleCoordinator,
45
+ CommissioningLifecycleResult,
46
+ CommissioningReviewAgent,
47
+ CommissioningReviewCriticAgent,
48
+ CommissioningReviewCoordinator,
49
+ CommissioningReviewProposal,
50
+ EngineeringMemoryStore,
51
+ EvidenceAwareRecoveryPolicy,
52
+ )
38
53
  from .controller_runtime_hotfix_v181 import install_controller_runtime_hotfix_v181
39
54
  from .engineering_findings import (
40
55
  ENGINEERING_FINDINGS_SCHEMA_VERSION,
@@ -69,7 +84,18 @@ from .one_command import (
69
84
  OneCommandError,
70
85
  )
71
86
  from .one_command_runtime import install_one_command_runtime
72
- from .one_command_v16 import OneCommandVerifier, SimpleVerifyResult
87
+ from .guided_intake_v23 import (
88
+ GUIDED_INTAKE_SCHEMA_VERSION,
89
+ AuthorityGroup,
90
+ Capability as IntakeCapability,
91
+ GuidedIntakeError,
92
+ IntakeAnalysis,
93
+ SourceRecord,
94
+ analyze_source,
95
+ write_intake_reports,
96
+ )
97
+ from .one_command_v22 import CommissioningVerifyResult, SimpleVerifyResult
98
+ from .one_command_v23 import FlexibleVerifyResult, OneCommandVerifier
73
99
  from .physical_motion import JointTrajectoryPoint, MotionExecutionMetrics, PhysicalMotionPlan
74
100
  from .production_authority import (
75
101
  PhysicalEvidenceRecorder,
@@ -191,6 +217,19 @@ __all__ = [
191
217
  "COMMISSIONING_READINESS_SCHEMA_VERSION",
192
218
  "CommissioningReadinessStatus",
193
219
  "PreSiteCommissioningReadinessEvaluator",
220
+ "COMMISSIONING_AGENT_SCHEMA_VERSION",
221
+ "CommissioningAgentOrchestrator",
222
+ "CommissioningAgentResult",
223
+ "CommissioningContextAssembler",
224
+ "CommissioningContextSnapshot",
225
+ "CommissioningLifecycleCoordinator",
226
+ "CommissioningLifecycleResult",
227
+ "CommissioningReviewAgent",
228
+ "CommissioningReviewCriticAgent",
229
+ "CommissioningReviewCoordinator",
230
+ "CommissioningReviewProposal",
231
+ "EngineeringMemoryStore",
232
+ "EvidenceAwareRecoveryPolicy",
194
233
  "CommissioningEvidenceGraphBuilder",
195
234
  "CommissioningEvidenceViewer",
196
235
  "VerificationScopeAuthority",
@@ -206,6 +245,16 @@ __all__ = [
206
245
  "OneCommandError",
207
246
  "OneCommandVerifier",
208
247
  "SimpleVerifyResult",
248
+ "CommissioningVerifyResult",
249
+ "FlexibleVerifyResult",
250
+ "GUIDED_INTAKE_SCHEMA_VERSION",
251
+ "GuidedIntakeError",
252
+ "IntakeAnalysis",
253
+ "SourceRecord",
254
+ "AuthorityGroup",
255
+ "IntakeCapability",
256
+ "analyze_source",
257
+ "write_intake_reports",
209
258
  "COMMERCIAL_INTELLIGENCE_SCHEMA_VERSION",
210
259
  "CommercialIntelligenceRecorder",
211
260
  "CriterionProposal",
@@ -249,4 +298,4 @@ install_industrial_motion_v170()
249
298
  install_controller_runtime_hotfix_v181()
250
299
  install_one_command_runtime()
251
300
 
252
- __version__ = "2.1.1"
301
+ __version__ = "2.3.0"