devagent-physical-engine 1.8.9__tar.gz → 1.9.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 (295) hide show
  1. {devagent_physical_engine-1.8.9/src/devagent_physical_engine.egg-info → devagent_physical_engine-1.9.0}/PKG-INFO +112 -21
  2. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/README.md +109 -19
  3. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/pyproject.toml +3 -2
  4. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/__init__.py +1 -1
  5. devagent_physical_engine-1.9.0/src/devagent_physical_engine/dynamic_verification_runtime_v190.py +242 -0
  6. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/industrial_motion_hotfix_v170.py +31 -6
  7. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/industrial_motion_v182.py +26 -4
  8. devagent_physical_engine-1.9.0/src/devagent_physical_engine/one_command_v16.py +147 -0
  9. devagent_physical_engine-1.9.0/src/devagent_physical_engine/physical_evidence_v190.py +138 -0
  10. devagent_physical_engine-1.9.0/src/devagent_physical_engine/report_requirements_v190.py +279 -0
  11. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/report_test_execution.py +26 -10
  12. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/report_test_execution_strict.py +12 -19
  13. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/task_adapter.py +101 -4
  14. devagent_physical_engine-1.9.0/src/devagent_physical_engine/ros2/task_adapter_v190.py +166 -0
  15. devagent_physical_engine-1.9.0/src/devagent_physical_engine/ros2/task_motion_diagnostics_v190.py +22 -0
  16. devagent_physical_engine-1.9.0/src/devagent_physical_engine/ros2/trajectory_runtime_v190.py +78 -0
  17. devagent_physical_engine-1.9.0/src/devagent_physical_engine/ros2/workpiece_carrier_v190.py +330 -0
  18. devagent_physical_engine-1.9.0/src/devagent_physical_engine/ros2/workpiece_entity_replace_probe_v190.py +149 -0
  19. devagent_physical_engine-1.9.0/src/devagent_physical_engine/selective_verification_v16.py +562 -0
  20. devagent_physical_engine-1.9.0/src/devagent_physical_engine/selective_verification_v190.py +835 -0
  21. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/user_cli_v16.py +97 -47
  22. devagent_physical_engine-1.9.0/src/devagent_physical_engine/verification_capabilities_v190.py +348 -0
  23. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0/src/devagent_physical_engine.egg-info}/PKG-INFO +112 -21
  24. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine.egg-info/SOURCES.txt +22 -0
  25. devagent_physical_engine-1.9.0/tests/test_controller_failure_diagnostics_v190.py +101 -0
  26. devagent_physical_engine-1.9.0/tests/test_dynamic_report_batch_v190.py +92 -0
  27. devagent_physical_engine-1.9.0/tests/test_dynamic_report_contract_end_to_end_v190.py +210 -0
  28. devagent_physical_engine-1.9.0/tests/test_dynamic_verification_capabilities_v190.py +111 -0
  29. devagent_physical_engine-1.9.0/tests/test_handoff_authority_v190.py +88 -0
  30. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_industrial_motion_v170.py +2 -21
  31. devagent_physical_engine-1.9.0/tests/test_joint_state_metric_authority_v190.py +106 -0
  32. devagent_physical_engine-1.9.0/tests/test_loaded_place_stability_v190.py +44 -0
  33. devagent_physical_engine-1.9.0/tests/test_metric_authority_surface_v190.py +131 -0
  34. devagent_physical_engine-1.9.0/tests/test_motion_handoff_stability_v190.py +138 -0
  35. devagent_physical_engine-1.9.0/tests/test_one_command_v190_injection.py +41 -0
  36. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_package_metadata_v184.py +2 -2
  37. devagent_physical_engine-1.9.0/tests/test_report_orchestration_v190.py +373 -0
  38. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_report_test_visual_execution_v16.py +96 -0
  39. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_transfer_place_diagnostic_v172.py +2 -2
  40. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_user_cli_report_visual_v16.py +67 -14
  41. devagent_physical_engine-1.9.0/tests/test_workpiece_carrier_v190.py +92 -0
  42. devagent_physical_engine-1.8.9/src/devagent_physical_engine/one_command_v16.py +0 -97
  43. devagent_physical_engine-1.8.9/src/devagent_physical_engine/selective_verification_v16.py +0 -128
  44. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/NOTICE +0 -0
  45. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/setup.cfg +0 -0
  46. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/agent/__init__.py +0 -0
  47. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/agent/compiler.py +0 -0
  48. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/agent/contracts.py +0 -0
  49. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/agent/coordinator.py +0 -0
  50. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/agent/critic.py +0 -0
  51. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/agent/evidence.py +0 -0
  52. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/agent/interpreter.py +0 -0
  53. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/agent/planner.py +0 -0
  54. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/agent/recovery.py +0 -0
  55. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/agent/routing.py +0 -0
  56. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/agent/runtime.py +0 -0
  57. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/agent/semantic.py +0 -0
  58. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/agent/structured.py +0 -0
  59. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ai_cli.py +0 -0
  60. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/cli.py +0 -0
  61. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/commercial.py +0 -0
  62. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/commercial_campaign.py +0 -0
  63. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/commercial_cli.py +0 -0
  64. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/commercial_importer.py +0 -0
  65. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/commercial_intelligence.py +0 -0
  66. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/commercial_readiness.py +0 -0
  67. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/commercial_repository.py +0 -0
  68. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/continuous_clearance.py +0 -0
  69. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/controller_runtime_hotfix_v181.py +0 -0
  70. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/doctor.py +0 -0
  71. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/engineering_agent.py +0 -0
  72. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/engineering_request.py +0 -0
  73. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/evidence_replay.py +0 -0
  74. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/evidence_trust.py +0 -0
  75. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/execution.py +0 -0
  76. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/industrial_motion_v170.py +0 -0
  77. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/models.py +0 -0
  78. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/one_command.py +0 -0
  79. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/one_command_runtime.py +0 -0
  80. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/one_command_v15.py +0 -0
  81. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/operating_envelope.py +0 -0
  82. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/optimization/__init__.py +0 -0
  83. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/optimization/benchmark.py +0 -0
  84. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/optimization/candidates.py +0 -0
  85. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/optimization/contracts.py +0 -0
  86. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/optimization/evaluator.py +0 -0
  87. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/optimization/evidence.py +0 -0
  88. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/optimization/experience.py +0 -0
  89. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/optimization/measured.py +0 -0
  90. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/optimization/optimizer.py +0 -0
  91. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/optimization/orchestrator.py +0 -0
  92. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/physical_campaign.py +0 -0
  93. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/physical_evidence.py +0 -0
  94. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/physical_motion.py +0 -0
  95. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/planning.py +0 -0
  96. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/pose_math.py +0 -0
  97. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/preexecution_contract.py +0 -0
  98. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/production_authority.py +0 -0
  99. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/production_grade.py +0 -0
  100. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/project.py +0 -0
  101. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/provider_adapters/__init__.py +0 -0
  102. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/provider_adapters/anthropic.py +0 -0
  103. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/provider_adapters/common.py +0 -0
  104. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/provider_adapters/factory.py +0 -0
  105. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/provider_adapters/gemini.py +0 -0
  106. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/provider_adapters/openai.py +0 -0
  107. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/provider_criterion.py +0 -0
  108. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/provider_qualification.py +0 -0
  109. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/providers.py +0 -0
  110. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/qualification.py +0 -0
  111. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/qualification_cli.py +0 -0
  112. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/qualification_harness.py +0 -0
  113. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/reference_workcell.py +0 -0
  114. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/robot_platform.py +0 -0
  115. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/robot_support_v18.py +0 -0
  116. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/robots.py +0 -0
  117. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/__init__.py +0 -0
  118. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/abb_irb1200.py +0 -0
  119. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/abb_irb1200_preview.py +0 -0
  120. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/acceptance.py +0 -0
  121. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/commands.py +0 -0
  122. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/continuous_clearance_probe.py +0 -0
  123. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/controller_action_probe.py +0 -0
  124. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/destination_support_contact_v182.py +0 -0
  125. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/doctor.py +0 -0
  126. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/fk_pose.py +0 -0
  127. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/fk_probe.py +0 -0
  128. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/frame_alignment.py +0 -0
  129. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/gazebo_cli.py +0 -0
  130. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/gazebo_pose.py +0 -0
  131. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/gazebo_world.py +0 -0
  132. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/industrial_sequence_planner_v170.py +0 -0
  133. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/industrial_sequence_planner_v171.py +0 -0
  134. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/industrial_sequence_planner_v172.py +0 -0
  135. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/industrial_sequence_planner_v182.py +0 -0
  136. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/joint_state_probe.py +0 -0
  137. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/joint_state_recorder.py +0 -0
  138. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/measured_motion.py +0 -0
  139. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/moveit_joint_plan_probe.py +0 -0
  140. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/moveit_joint_plan_v161_probe.py +0 -0
  141. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/moveit_scene.py +0 -0
  142. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/moveit_task_planner.py +0 -0
  143. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/pilz_sequence_plan_probe.py +0 -0
  144. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/pilz_sequence_plan_probe_v182.py +0 -0
  145. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/preexecution.py +0 -0
  146. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/qualification.py +0 -0
  147. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/qualification_v10.py +0 -0
  148. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/qualification_v11.py +0 -0
  149. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/qualification_v12.py +0 -0
  150. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/report_test_visualization.py +0 -0
  151. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/report_test_visualization_v170.py +0 -0
  152. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/ros_gz_pose_service_probe.py +0 -0
  153. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/scene_probe.py +0 -0
  154. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/state_validity_probe.py +0 -0
  155. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/support_contact_acm_probe_v170.py +0 -0
  156. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/support_contact_acm_semantics_v189.py +0 -0
  157. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/support_contact_lease_v170.py +0 -0
  158. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/support_contact_runner_v161.py +0 -0
  159. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/support_contact_v161.py +0 -0
  160. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/task_visualization.py +0 -0
  161. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/tf_probe.py +0 -0
  162. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/tool_scene.py +0 -0
  163. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/tool_scene_probe.py +0 -0
  164. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/trajectory.py +0 -0
  165. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/trajectory_action_probe.py +0 -0
  166. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/trajectory_feedback_tracking_v189.py +0 -0
  167. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/trajectory_tracking.py +0 -0
  168. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/ur5e.py +0 -0
  169. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/ur5e_adapter.py +0 -0
  170. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/ur5e_v10_adapter.py +0 -0
  171. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/workpiece_follow.py +0 -0
  172. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/workpiece_gazebo_follower.py +0 -0
  173. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/workpiece_scene.py +0 -0
  174. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/workpiece_scene_probe.py +0 -0
  175. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/workpiece_scene_probe_v186.py +0 -0
  176. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/workpiece_scene_probe_v187.py +0 -0
  177. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/workpiece_scene_probe_v188.py +0 -0
  178. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/workpiece_scene_probe_v189.py +0 -0
  179. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/workpiece_transport.py +0 -0
  180. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/selective_verification.py +0 -0
  181. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/setup_profile.py +0 -0
  182. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/sim_real_qualification.py +0 -0
  183. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/simulation.py +0 -0
  184. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/simulation_platform.py +0 -0
  185. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/smooth_motion_hotfix_v162.py +0 -0
  186. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/support_contact_hotfix_v161.py +0 -0
  187. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/tool_collision.py +0 -0
  188. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/trajectory_qualification.py +0 -0
  189. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/twin.py +0 -0
  190. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/twin_builder.py +0 -0
  191. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/twin_codec.py +0 -0
  192. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/twin_materialization.py +0 -0
  193. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/user_cli.py +0 -0
  194. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/user_cli_v15.py +0 -0
  195. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/user_cli_v18.py +0 -0
  196. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/verification.py +0 -0
  197. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/workpiece_lifecycle.py +0 -0
  198. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine.egg-info/dependency_links.txt +0 -0
  199. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine.egg-info/entry_points.txt +0 -0
  200. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine.egg-info/requires.txt +0 -0
  201. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine.egg-info/top_level.txt +0 -0
  202. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_abb_irb1200_visual_v18.py +0 -0
  203. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_agent_core.py +0 -0
  204. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_agent_semantic_hardening.py +0 -0
  205. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_ai_cli.py +0 -0
  206. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_ai_cli_v07.py +0 -0
  207. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_commercial_importer_v1.py +0 -0
  208. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_commercial_intelligence_v15.py +0 -0
  209. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_commercial_readiness_v1.py +0 -0
  210. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_commercial_v1.py +0 -0
  211. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_continuous_clearance_v011.py +0 -0
  212. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_controller_runtime_hotfix_v181.py +0 -0
  213. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_core.py +0 -0
  214. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_destination_support_contact_v182.py +0 -0
  215. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_engineering_request_v07.py +0 -0
  216. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_evidence_replay_v12.py +0 -0
  217. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_evidence_trust_coverage_v12.py +0 -0
  218. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_evidence_trust_transport_v12.py +0 -0
  219. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_evidence_trust_v12.py +0 -0
  220. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_evidence_viewer_palette_v130.py +0 -0
  221. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_explicit_detach_world_reassert_v189.py +0 -0
  222. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_gazebo_cli_v0122.py +0 -0
  223. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_golden_abb_runner_v171.py +0 -0
  224. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_golden_abb_showcase.py +0 -0
  225. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_interpreter_profiles_v08.py +0 -0
  226. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_joint_state_probe_v0125.py +0 -0
  227. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_live_provider_qualification.py +0 -0
  228. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_measured_motion_v10.py +0 -0
  229. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_moveit_planning_diagnostics_v0125.py +0 -0
  230. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_moveit_scene_v0123.py +0 -0
  231. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_natural_language_agent_v07.py +0 -0
  232. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_one_command_hardening_v13.py +0 -0
  233. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_one_command_pose_hardening_v15.py +0 -0
  234. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_one_command_regression_v141.py +0 -0
  235. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_one_command_v13.py +0 -0
  236. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_openai_strict_schema_v0113.py +0 -0
  237. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_optimization_v05.py +0 -0
  238. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_physical_campaign_v09.py +0 -0
  239. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_physical_evidence_v09.py +0 -0
  240. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_physical_motion_v09.py +0 -0
  241. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_place_preexecution_acm_v189.py +0 -0
  242. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_planning_fallback_v012.py +0 -0
  243. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_pose_math_v0125.py +0 -0
  244. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_preexecution_contract_v10.py +0 -0
  245. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_production_authority_v11.py +0 -0
  246. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_production_grade_coverage_v11.py +0 -0
  247. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_production_grade_v11.py +0 -0
  248. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_project_spine_v013.py +0 -0
  249. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_provider_and_qualification.py +0 -0
  250. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_provider_criterion_v15.py +0 -0
  251. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_qualification_cli_lifecycle_v06.py +0 -0
  252. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_qualification_harness_v06.py +0 -0
  253. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_readme_pypi.py +0 -0
  254. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_real_provider_adapters.py +0 -0
  255. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_reference_workcell_ros_frames_v0125.py +0 -0
  256. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_reference_workcell_v012.py +0 -0
  257. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_release_resting_pose_v189.py +0 -0
  258. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_release_transaction_v189.py +0 -0
  259. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_report_test_contract_coverage_v16.py +0 -0
  260. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_report_test_lineage_v16.py +0 -0
  261. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_robot_platform_v08.py +0 -0
  262. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_ros2_production_receipts_v011.py +0 -0
  263. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_ros2_simulation.py +0 -0
  264. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_ros_trajectory_v09.py +0 -0
  265. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_selective_verification_v14.py +0 -0
  266. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_setup_profile.py +0 -0
  267. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_sim_real_qualification_v011.py +0 -0
  268. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_simulation_platform_v08.py +0 -0
  269. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_smooth_motion_hotfix_v162.py +0 -0
  270. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_support_contact_acm_semantics_v189.py +0 -0
  271. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_support_contact_hotfix_v161.py +0 -0
  272. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_tool_collision_v011.py +0 -0
  273. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_tool_scene_v0124.py +0 -0
  274. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_trajectory_action_contract_v189.py +0 -0
  275. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_trajectory_action_probe_v0125.py +0 -0
  276. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_trajectory_feedback_tracking_v189.py +0 -0
  277. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_trajectory_qualification_v09.py +0 -0
  278. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_trajectory_tracking_v0125.py +0 -0
  279. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_transfer_controller_policy_v189.py +0 -0
  280. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_twin_materialization_v10.py +0 -0
  281. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_twin_v08.py +0 -0
  282. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_ur5e_adapter_scopes_v09.py +0 -0
  283. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_ur5e_v10_adapter_scopes.py +0 -0
  284. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_user_cli_interactive_v131.py +0 -0
  285. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_user_cli_progress_v131.py +0 -0
  286. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_user_cli_selective_v14.py +0 -0
  287. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_user_cli_v15.py +0 -0
  288. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_user_cli_v15_hotfix_inheritance.py +0 -0
  289. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_v052_stabilization.py +0 -0
  290. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_v08_catalog_mapping_regression.py +0 -0
  291. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_workpiece_attach_semantics_v183.py +0 -0
  292. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_workpiece_lifecycle_v011.py +0 -0
  293. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_workpiece_scene_probe_v185.py +0 -0
  294. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_workpiece_semantic_lifecycle_v186.py +0 -0
  295. {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_workpiece_transport_v189.py +0 -0
@@ -1,12 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devagent-physical-engine
3
- Version: 1.8.9
4
- Summary: Verification-first robotics commissioning runtime with exact-Twin evidence, qualified UR5e Gazebo/MoveIt report execution, truthful robot support tiers, selective verification, replay, regression, and FAT reporting.
3
+ Version: 1.9.0
4
+ Summary: Verification-first robotics commissioning runtime with declarative customer report tests, case-centric evidence reuse, qualified UR5e Gazebo/MoveIt execution, exact-Twin lineage, selective verification, regression, replay, and FAT reporting.
5
5
  Author: Tom Ha
6
6
  License: All Rights Reserved
7
7
  Project-URL: Homepage, https://github.com/tomha85/devagent-physical-engine
8
8
  Project-URL: Repository, https://github.com/tomha85/devagent-physical-engine
9
9
  Project-URL: Issues, https://github.com/tomha85/devagent-physical-engine/issues
10
+ Project-URL: Sponsor, https://github.com/sponsors/tomha85
10
11
  Keywords: robotics,industrial-automation,agentic-ai,ros2,gazebo,moveit,pilz,verification,selective-testing,digital-twin,fat-testing,regression,evidence,replay
11
12
  Classifier: Development Status :: 5 - Production/Stable
12
13
  Classifier: Intended Audience :: Developers
@@ -44,23 +45,56 @@ Dynamic: license-file
44
45
  [![PyPI](https://img.shields.io/pypi/v/devagent-physical-engine.svg)](https://pypi.org/project/devagent-physical-engine/)
45
46
  [![Python](https://img.shields.io/pypi/pyversions/devagent-physical-engine.svg)](https://pypi.org/project/devagent-physical-engine/)
46
47
  [![Status: Production/Stable](https://img.shields.io/badge/status-production%2Fstable-blue.svg)](#project-status)
48
+ [![Sponsor DevAgent Physical Engine](https://img.shields.io/badge/Sponsor-DevAgent%20Physical%20Engine-EA4AAA?logo=githubsponsors&logoColor=white)](https://github.com/sponsors/tomha85)
47
49
 
48
50
  **Verification-first commissioning engineering for robotics and industrial automation.**
49
51
 
50
- DevAgent turns a customer engineering folder into a bounded verification workflow with immutable Digital Twin lineage, deterministic requirement verdicts, requirement-driven test cases, exact-Twin measured simulation evidence, regression analysis, FAT reporting, replay inspection, and selective retesting.
52
+ > ❤️ **DevAgent Smart Physical Engine is independently developed.** If it saves your team engineering time, consider [sponsoring continued development](https://github.com/sponsors/tomha85).
53
+
54
+ ## Engine in action
55
+
56
+ <p align="center">
57
+ <img src="docs/assets/readme/Screenshot%20from%202026-09-02%2015-14-21.png" width="100%" alt="DevAgent Smart Physical Engine exact-Twin UR5e workcell running in Gazebo Harmonic">
58
+ </p>
59
+
60
+ <p align="center">
61
+ <b>Exact-Twin simulation in Gazebo Harmonic</b><br>
62
+ <sub>Real DevAgent engine run with the bounded UR5e workcell, customer-cell entities, physics, and simulation state visible.</sub>
63
+ </p>
64
+
65
+ <table>
66
+ <tr>
67
+ <td width="50%" align="center">
68
+ <img src="docs/assets/readme/Screenshot%20from%202026-09-02%2015-15-17.png" width="100%" alt="DevAgent Smart Physical Engine robot task execution in Gazebo">
69
+ <br><b>Robot task execution</b><br>
70
+ <sub>Gazebo view during the bounded pick–transport–place workflow.</sub>
71
+ </td>
72
+ <td width="50%" align="center">
73
+ <img src="docs/assets/readme/Screenshot%20from%202026-09-02%2015-14-32.png" width="100%" alt="DevAgent Smart Physical Engine MoveIt motion planning scene in RViz">
74
+ <br><b>MoveIt motion planning</b><br>
75
+ <sub>RViz planning-scene view used alongside the qualified ROS 2 / MoveIt execution path.</sub>
76
+ </td>
77
+ </tr>
78
+ </table>
79
+
80
+ <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>
81
+
82
+ DevAgent turns a customer engineering folder into a bounded verification workflow with immutable Digital Twin lineage, declarative customer report tests, deterministic requirement verdicts, requirement-driven physical cases, exact-Twin measured simulation evidence, regression analysis, FAT reporting, replay inspection, and selective retesting.
51
83
 
52
84
  ```text
53
85
  customer engineering files
54
86
 
55
87
  intake + SHA-256 inventory
56
88
 
57
- validated Requirement Criterion mapping
89
+ customer report test IDs + declarative verification contracts
58
90
 
59
91
  immutable Digital Twin revision
60
92
 
61
93
  requirement-driven nominal / boundary / fault cases
62
94
 
63
- qualified exact-Twin simulation when supported
95
+ reuse exact qualified case evidence when available
96
+
97
+ execute each missing qualified physical case once
64
98
 
65
99
  measured evidence
66
100
 
@@ -76,7 +110,7 @@ regression + FAT report + Evidence Viewer
76
110
  Python 3.11+ is required.
77
111
 
78
112
  ```bash
79
- python -m pip install --upgrade devagent-physical-engine==1.8.9
113
+ python -m pip install --upgrade devagent-physical-engine==1.9.0
80
114
  ```
81
115
 
82
116
  Verify the installed package:
@@ -88,7 +122,7 @@ python -c "import devagent_physical_engine as d; print(d.__version__)"
88
122
  Expected:
89
123
 
90
124
  ```text
91
- 1.8.9
125
+ 1.9.0
92
126
  ```
93
127
 
94
128
  Run the normal customer workflow:
@@ -140,15 +174,15 @@ Results: <customer-project>/devagent-results/
140
174
  DevAgent separates planning, execution, measurement, verdicts, and authority.
141
175
 
142
176
  ```text
143
- requirement
177
+ report test / requirement
144
178
 
145
- verification criterion
179
+ declarative verification capability
146
180
 
147
- verification case
181
+ verification case when physical execution is required
148
182
 
149
183
  exact Twin revision/hash
150
184
 
151
- qualified simulation when available
185
+ qualified evidence reuse or qualified simulation when available
152
186
 
153
187
  measured evidence
154
188
 
@@ -475,6 +509,49 @@ MoveIt DETACH is deterministic. DevAgent removes attachment ownership while the
475
509
 
476
510
  This qualification is intentionally bounded to the packaged UR5e nominal report-test scope. It does not grant arbitrary customer-cell qualification, site qualification, functional-safety certification, or autonomous real-robot execution authority.
477
511
 
512
+ ## v1.9.0 dynamic customer report verification
513
+
514
+ v1.9.0 changes report orchestration from test-name-driven behavior to declarative verification capabilities while preserving the target-proven v1.8.9 physical runtime.
515
+
516
+ Customer test IDs are opaque. A report row can declare its verification behavior with fields such as:
517
+
518
+ ```text
519
+ test_id
520
+ verification_mode
521
+ metric
522
+ comparator
523
+ target / expected
524
+ evidence_authority
525
+ ```
526
+
527
+ For example, `FAT-CUSTOM-947` can request the physical metric `max_workpiece_tilt_deg <= 3.0` without adding a `TEST-FAT-CUSTOM-947` code branch.
528
+
529
+ Interactive execution is case-centric:
530
+
531
+ ```text
532
+ devagent> simulate FAT-CUSTOM-947
533
+ → resolve the exact report contract
534
+ → resolve Requirement → Mapping → Plan → Case lineage
535
+ → reuse exact qualified case evidence first
536
+ → execute the mapped physical case only when evidence is missing
537
+ → evaluate the requested metric generically
538
+
539
+ devagent> simulate all
540
+ → evaluate deterministic report rows without simulation
541
+ → deduplicate physical case identities
542
+ → reuse existing qualified measurements
543
+ → execute each missing unique qualified physical case once
544
+ → share each measurement across compatible report rows
545
+ ```
546
+
547
+ A requested metric that the qualified adapter does not measure remains `NOT_TESTED`. DevAgent does not fabricate the value and does not repeatedly rerun the robot merely because the metric is unavailable.
548
+
549
+ The typed physical evidence path now permits bounded finite numeric/boolean customer metrics while retaining stricter semantic consistency validation for known safety metrics. This expands the report schema, not simulator authority: a qualified adapter must actually produce the requested measurement.
550
+
551
+ Hosted regression includes an arbitrary customer report test using `FAT-CUSTOM-947` and `max_workpiece_tilt_deg`, proving preservation through intake, campaign creation, case mapping, selective simulation, verdict evaluation, and later `simulate all` evidence reuse.
552
+
553
+ Full release notes: https://github.com/tomha85/devagent-physical-engine/blob/main/docs/RELEASE_NOTES_V1_9_0.md
554
+
478
555
  ## Qualified visual-execution scope
479
556
 
480
557
  Measured report-test execution remains intentionally narrow:
@@ -482,7 +559,7 @@ Measured report-test execution remains intentionally narrow:
482
559
  ```text
483
560
  robot: UR5e
484
561
  operation: load
485
- case scope: one nominal mapped physical report case
562
+ case scope: qualified mapped physical report cases within the packaged authority
486
563
  runtime: Ubuntu 24.04 + ROS 2 Jazzy + Gazebo Harmonic + MoveIt/Pilz
487
564
  ```
488
565
 
@@ -510,20 +587,22 @@ help
510
587
  quit
511
588
  ```
512
589
 
513
- Selectors can be requirement IDs, test IDs, or bounded groups:
590
+ Selectors can be customer-defined requirement IDs, customer-defined test IDs, or bounded groups:
514
591
 
515
592
  ```text
516
- REQ-PERF-001
517
- TEST-PERF-001
593
+ CUSTOM-REQ-77
594
+ FAT-CUSTOM-947
518
595
  failed
519
596
  blocked
520
597
  affected
521
598
  all
522
599
  ```
523
600
 
524
- `test SELECTOR` evaluates deterministic/evidence checks without commanding the simulator.
601
+ `test SELECTOR` evaluates the selected criterion from existing qualified evidence without commanding the simulator.
525
602
 
526
- `simulate TEST-X` requests qualified execution of the selected mapped physical report case.
603
+ `simulate TEST-X` executes or reuses only the physical case required by that report row.
604
+
605
+ `simulate all` creates a report-wide capability execution plan, evaluates deterministic rows directly, deduplicates physical cases, reuses exact qualified evidence first, and executes only missing unique qualified cases.
527
606
 
528
607
  `replay` reconstructs persisted evidence identity; it never commands Gazebo, MoveIt, a robot, PLC, or safety PLC.
529
608
 
@@ -675,20 +754,29 @@ devagent-physical-ai optional provider-backed engineering front end
675
754
 
676
755
  # Project status
677
756
 
678
- **v1.8.9 — Production/Stable software workflow; target-proven qualified UR5e nominal Pick–Transport–Place report path**
757
+ **v1.9.0 — Production/Stable software workflow; dynamic customer report verification with target-proven qualified UR5e physical baseline**
758
+
759
+ v1.9.0 adds data-driven report verification on top of the target-proven v1.8.9 physical runtime. Customer test IDs are opaque, report behavior is routed from declarative capability fields, arbitrary finite typed physical metrics can flow through evidence when a qualified adapter measures them, and report-wide simulation deduplicates physical cases so one qualified case measurement can satisfy multiple compatible KPIs without repeated robot motion.
679
760
 
680
- v1.8.9 is the first release in this line whose exact candidate completed the entire bounded UR5e nominal report lifecycle on the intended workstation: exact Twin readback, five-group Pilz preflight, approach, verified MoveIt GRASP, lift with scoped source-support contact, Gazebo carry, transfer, place, physical release/settle, explicit MoveIt detach/world reassert, retreat, and final verification. The selected target test returned `PASSED` with measured evidence recorded.
761
+ The physical qualification claim itself remains grounded in the v1.8.9 target acceptance: the exact candidate completed the bounded UR5e nominal report lifecycle on the intended workstation with exact Twin readback, Pilz preflight, verified GRASP, scoped support contact, Gazebo carry, transfer/place, physical release/settle, explicit MoveIt detach/world reassert, retreat, and final verification.
681
762
 
682
763
  Production-oriented software capabilities include:
683
764
 
684
765
  ```text
685
766
  one-command customer intake
686
- XLSX requirement normalization
767
+ XLSX/CSV/YAML/JSON requirement normalization
768
+ opaque customer-defined report test IDs
769
+ declarative verification mode / metric / comparator / target / evidence authority
770
+ generic finite numeric/boolean physical metrics with bounded validation
687
771
  validated Requirement → Criterion mapping
688
772
  optional provider-backed advisory criterion proposals
689
773
  requirement-driven nominal / boundary / fault case generation
690
774
  immutable project/Twin lineage
691
775
  exact Requirement → Mapping → Verification Plan → Case provenance
776
+ case-centric qualified evidence reuse
777
+ report-wide physical-case deduplication
778
+ mixed deterministic + physical `simulate all` orchestration
779
+ truthful NOT_TESTED for unavailable/unsupported evidence
692
780
  truthful robot support tiers
693
781
  qualified UR5e report-test visual execution contract
694
782
  direct UR5e controller-manager/action readiness binding
@@ -717,10 +805,13 @@ change impact + regression
717
805
  provider-neutral optional AI front end
718
806
  ```
719
807
 
720
- Production/Stable describes the bounded software workflow. The target-proven UR5e claim is limited to the qualified packaged nominal report path and exact acceptance environment. It does not claim arbitrary customer cells are physically qualified, site-qualified, functionally safe, or authorized for autonomous real execution.
808
+ Production/Stable describes the bounded software workflow. The target-proven UR5e claim remains limited to the qualified packaged nominal report path and exact acceptance environment. It does not claim arbitrary customer cells are physically qualified, site-qualified, functionally safe, or authorized for autonomous real execution.
721
809
 
722
810
  ## Documentation
723
811
 
812
+ v1.9.0 release notes:
813
+ https://github.com/tomha85/devagent-physical-engine/blob/main/docs/RELEASE_NOTES_V1_9_0.md
814
+
724
815
  One-command verification:
725
816
  https://github.com/tomha85/devagent-physical-engine/blob/main/docs/ONE_COMMAND_VERIFY_V13.md
726
817
 
@@ -3,23 +3,56 @@
3
3
  [![PyPI](https://img.shields.io/pypi/v/devagent-physical-engine.svg)](https://pypi.org/project/devagent-physical-engine/)
4
4
  [![Python](https://img.shields.io/pypi/pyversions/devagent-physical-engine.svg)](https://pypi.org/project/devagent-physical-engine/)
5
5
  [![Status: Production/Stable](https://img.shields.io/badge/status-production%2Fstable-blue.svg)](#project-status)
6
+ [![Sponsor DevAgent Physical Engine](https://img.shields.io/badge/Sponsor-DevAgent%20Physical%20Engine-EA4AAA?logo=githubsponsors&logoColor=white)](https://github.com/sponsors/tomha85)
6
7
 
7
8
  **Verification-first commissioning engineering for robotics and industrial automation.**
8
9
 
9
- DevAgent turns a customer engineering folder into a bounded verification workflow with immutable Digital Twin lineage, deterministic requirement verdicts, requirement-driven test cases, exact-Twin measured simulation evidence, regression analysis, FAT reporting, replay inspection, and selective retesting.
10
+ > ❤️ **DevAgent Smart Physical Engine is independently developed.** If it saves your team engineering time, consider [sponsoring continued development](https://github.com/sponsors/tomha85).
11
+
12
+ ## Engine in action
13
+
14
+ <p align="center">
15
+ <img src="docs/assets/readme/Screenshot%20from%202026-09-02%2015-14-21.png" width="100%" alt="DevAgent Smart Physical Engine exact-Twin UR5e workcell running in Gazebo Harmonic">
16
+ </p>
17
+
18
+ <p align="center">
19
+ <b>Exact-Twin simulation in Gazebo Harmonic</b><br>
20
+ <sub>Real DevAgent engine run with the bounded UR5e workcell, customer-cell entities, physics, and simulation state visible.</sub>
21
+ </p>
22
+
23
+ <table>
24
+ <tr>
25
+ <td width="50%" align="center">
26
+ <img src="docs/assets/readme/Screenshot%20from%202026-09-02%2015-15-17.png" width="100%" alt="DevAgent Smart Physical Engine robot task execution in Gazebo">
27
+ <br><b>Robot task execution</b><br>
28
+ <sub>Gazebo view during the bounded pick–transport–place workflow.</sub>
29
+ </td>
30
+ <td width="50%" align="center">
31
+ <img src="docs/assets/readme/Screenshot%20from%202026-09-02%2015-14-32.png" width="100%" alt="DevAgent Smart Physical Engine MoveIt motion planning scene in RViz">
32
+ <br><b>MoveIt motion planning</b><br>
33
+ <sub>RViz planning-scene view used alongside the qualified ROS 2 / MoveIt execution path.</sub>
34
+ </td>
35
+ </tr>
36
+ </table>
37
+
38
+ <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>
39
+
40
+ DevAgent turns a customer engineering folder into a bounded verification workflow with immutable Digital Twin lineage, declarative customer report tests, deterministic requirement verdicts, requirement-driven physical cases, exact-Twin measured simulation evidence, regression analysis, FAT reporting, replay inspection, and selective retesting.
10
41
 
11
42
  ```text
12
43
  customer engineering files
13
44
 
14
45
  intake + SHA-256 inventory
15
46
 
16
- validated Requirement Criterion mapping
47
+ customer report test IDs + declarative verification contracts
17
48
 
18
49
  immutable Digital Twin revision
19
50
 
20
51
  requirement-driven nominal / boundary / fault cases
21
52
 
22
- qualified exact-Twin simulation when supported
53
+ reuse exact qualified case evidence when available
54
+
55
+ execute each missing qualified physical case once
23
56
 
24
57
  measured evidence
25
58
 
@@ -35,7 +68,7 @@ regression + FAT report + Evidence Viewer
35
68
  Python 3.11+ is required.
36
69
 
37
70
  ```bash
38
- python -m pip install --upgrade devagent-physical-engine==1.8.9
71
+ python -m pip install --upgrade devagent-physical-engine==1.9.0
39
72
  ```
40
73
 
41
74
  Verify the installed package:
@@ -47,7 +80,7 @@ python -c "import devagent_physical_engine as d; print(d.__version__)"
47
80
  Expected:
48
81
 
49
82
  ```text
50
- 1.8.9
83
+ 1.9.0
51
84
  ```
52
85
 
53
86
  Run the normal customer workflow:
@@ -99,15 +132,15 @@ Results: <customer-project>/devagent-results/
99
132
  DevAgent separates planning, execution, measurement, verdicts, and authority.
100
133
 
101
134
  ```text
102
- requirement
135
+ report test / requirement
103
136
 
104
- verification criterion
137
+ declarative verification capability
105
138
 
106
- verification case
139
+ verification case when physical execution is required
107
140
 
108
141
  exact Twin revision/hash
109
142
 
110
- qualified simulation when available
143
+ qualified evidence reuse or qualified simulation when available
111
144
 
112
145
  measured evidence
113
146
 
@@ -434,6 +467,49 @@ MoveIt DETACH is deterministic. DevAgent removes attachment ownership while the
434
467
 
435
468
  This qualification is intentionally bounded to the packaged UR5e nominal report-test scope. It does not grant arbitrary customer-cell qualification, site qualification, functional-safety certification, or autonomous real-robot execution authority.
436
469
 
470
+ ## v1.9.0 dynamic customer report verification
471
+
472
+ v1.9.0 changes report orchestration from test-name-driven behavior to declarative verification capabilities while preserving the target-proven v1.8.9 physical runtime.
473
+
474
+ Customer test IDs are opaque. A report row can declare its verification behavior with fields such as:
475
+
476
+ ```text
477
+ test_id
478
+ verification_mode
479
+ metric
480
+ comparator
481
+ target / expected
482
+ evidence_authority
483
+ ```
484
+
485
+ For example, `FAT-CUSTOM-947` can request the physical metric `max_workpiece_tilt_deg <= 3.0` without adding a `TEST-FAT-CUSTOM-947` code branch.
486
+
487
+ Interactive execution is case-centric:
488
+
489
+ ```text
490
+ devagent> simulate FAT-CUSTOM-947
491
+ → resolve the exact report contract
492
+ → resolve Requirement → Mapping → Plan → Case lineage
493
+ → reuse exact qualified case evidence first
494
+ → execute the mapped physical case only when evidence is missing
495
+ → evaluate the requested metric generically
496
+
497
+ devagent> simulate all
498
+ → evaluate deterministic report rows without simulation
499
+ → deduplicate physical case identities
500
+ → reuse existing qualified measurements
501
+ → execute each missing unique qualified physical case once
502
+ → share each measurement across compatible report rows
503
+ ```
504
+
505
+ A requested metric that the qualified adapter does not measure remains `NOT_TESTED`. DevAgent does not fabricate the value and does not repeatedly rerun the robot merely because the metric is unavailable.
506
+
507
+ The typed physical evidence path now permits bounded finite numeric/boolean customer metrics while retaining stricter semantic consistency validation for known safety metrics. This expands the report schema, not simulator authority: a qualified adapter must actually produce the requested measurement.
508
+
509
+ Hosted regression includes an arbitrary customer report test using `FAT-CUSTOM-947` and `max_workpiece_tilt_deg`, proving preservation through intake, campaign creation, case mapping, selective simulation, verdict evaluation, and later `simulate all` evidence reuse.
510
+
511
+ Full release notes: https://github.com/tomha85/devagent-physical-engine/blob/main/docs/RELEASE_NOTES_V1_9_0.md
512
+
437
513
  ## Qualified visual-execution scope
438
514
 
439
515
  Measured report-test execution remains intentionally narrow:
@@ -441,7 +517,7 @@ Measured report-test execution remains intentionally narrow:
441
517
  ```text
442
518
  robot: UR5e
443
519
  operation: load
444
- case scope: one nominal mapped physical report case
520
+ case scope: qualified mapped physical report cases within the packaged authority
445
521
  runtime: Ubuntu 24.04 + ROS 2 Jazzy + Gazebo Harmonic + MoveIt/Pilz
446
522
  ```
447
523
 
@@ -469,20 +545,22 @@ help
469
545
  quit
470
546
  ```
471
547
 
472
- Selectors can be requirement IDs, test IDs, or bounded groups:
548
+ Selectors can be customer-defined requirement IDs, customer-defined test IDs, or bounded groups:
473
549
 
474
550
  ```text
475
- REQ-PERF-001
476
- TEST-PERF-001
551
+ CUSTOM-REQ-77
552
+ FAT-CUSTOM-947
477
553
  failed
478
554
  blocked
479
555
  affected
480
556
  all
481
557
  ```
482
558
 
483
- `test SELECTOR` evaluates deterministic/evidence checks without commanding the simulator.
559
+ `test SELECTOR` evaluates the selected criterion from existing qualified evidence without commanding the simulator.
484
560
 
485
- `simulate TEST-X` requests qualified execution of the selected mapped physical report case.
561
+ `simulate TEST-X` executes or reuses only the physical case required by that report row.
562
+
563
+ `simulate all` creates a report-wide capability execution plan, evaluates deterministic rows directly, deduplicates physical cases, reuses exact qualified evidence first, and executes only missing unique qualified cases.
486
564
 
487
565
  `replay` reconstructs persisted evidence identity; it never commands Gazebo, MoveIt, a robot, PLC, or safety PLC.
488
566
 
@@ -634,20 +712,29 @@ devagent-physical-ai optional provider-backed engineering front end
634
712
 
635
713
  # Project status
636
714
 
637
- **v1.8.9 — Production/Stable software workflow; target-proven qualified UR5e nominal Pick–Transport–Place report path**
715
+ **v1.9.0 — Production/Stable software workflow; dynamic customer report verification with target-proven qualified UR5e physical baseline**
716
+
717
+ v1.9.0 adds data-driven report verification on top of the target-proven v1.8.9 physical runtime. Customer test IDs are opaque, report behavior is routed from declarative capability fields, arbitrary finite typed physical metrics can flow through evidence when a qualified adapter measures them, and report-wide simulation deduplicates physical cases so one qualified case measurement can satisfy multiple compatible KPIs without repeated robot motion.
638
718
 
639
- v1.8.9 is the first release in this line whose exact candidate completed the entire bounded UR5e nominal report lifecycle on the intended workstation: exact Twin readback, five-group Pilz preflight, approach, verified MoveIt GRASP, lift with scoped source-support contact, Gazebo carry, transfer, place, physical release/settle, explicit MoveIt detach/world reassert, retreat, and final verification. The selected target test returned `PASSED` with measured evidence recorded.
719
+ The physical qualification claim itself remains grounded in the v1.8.9 target acceptance: the exact candidate completed the bounded UR5e nominal report lifecycle on the intended workstation with exact Twin readback, Pilz preflight, verified GRASP, scoped support contact, Gazebo carry, transfer/place, physical release/settle, explicit MoveIt detach/world reassert, retreat, and final verification.
640
720
 
641
721
  Production-oriented software capabilities include:
642
722
 
643
723
  ```text
644
724
  one-command customer intake
645
- XLSX requirement normalization
725
+ XLSX/CSV/YAML/JSON requirement normalization
726
+ opaque customer-defined report test IDs
727
+ declarative verification mode / metric / comparator / target / evidence authority
728
+ generic finite numeric/boolean physical metrics with bounded validation
646
729
  validated Requirement → Criterion mapping
647
730
  optional provider-backed advisory criterion proposals
648
731
  requirement-driven nominal / boundary / fault case generation
649
732
  immutable project/Twin lineage
650
733
  exact Requirement → Mapping → Verification Plan → Case provenance
734
+ case-centric qualified evidence reuse
735
+ report-wide physical-case deduplication
736
+ mixed deterministic + physical `simulate all` orchestration
737
+ truthful NOT_TESTED for unavailable/unsupported evidence
651
738
  truthful robot support tiers
652
739
  qualified UR5e report-test visual execution contract
653
740
  direct UR5e controller-manager/action readiness binding
@@ -676,10 +763,13 @@ change impact + regression
676
763
  provider-neutral optional AI front end
677
764
  ```
678
765
 
679
- Production/Stable describes the bounded software workflow. The target-proven UR5e claim is limited to the qualified packaged nominal report path and exact acceptance environment. It does not claim arbitrary customer cells are physically qualified, site-qualified, functionally safe, or authorized for autonomous real execution.
766
+ Production/Stable describes the bounded software workflow. The target-proven UR5e claim remains limited to the qualified packaged nominal report path and exact acceptance environment. It does not claim arbitrary customer cells are physically qualified, site-qualified, functionally safe, or authorized for autonomous real execution.
680
767
 
681
768
  ## Documentation
682
769
 
770
+ v1.9.0 release notes:
771
+ https://github.com/tomha85/devagent-physical-engine/blob/main/docs/RELEASE_NOTES_V1_9_0.md
772
+
683
773
  One-command verification:
684
774
  https://github.com/tomha85/devagent-physical-engine/blob/main/docs/ONE_COMMAND_VERIFY_V13.md
685
775
 
@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "devagent-physical-engine"
7
- version = "1.8.9"
8
- description = "Verification-first robotics commissioning runtime with exact-Twin evidence, qualified UR5e Gazebo/MoveIt report execution, truthful robot support tiers, selective verification, replay, regression, and FAT reporting."
7
+ version = "1.9.0"
8
+ description = "Verification-first robotics commissioning runtime with declarative customer report tests, case-centric evidence reuse, qualified UR5e Gazebo/MoveIt execution, exact-Twin lineage, selective verification, regression, replay, and FAT reporting."
9
9
  readme = { file = "README.md", content-type = "text/markdown" }
10
10
  requires-python = ">=3.11"
11
11
  dependencies = ["PyYAML>=6.0,<7"]
@@ -45,6 +45,7 @@ dev = [
45
45
  Homepage = "https://github.com/tomha85/devagent-physical-engine"
46
46
  Repository = "https://github.com/tomha85/devagent-physical-engine"
47
47
  Issues = "https://github.com/tomha85/devagent-physical-engine/issues"
48
+ Sponsor = "https://github.com/sponsors/tomha85"
48
49
 
49
50
  [project.scripts]
50
51
  devagent = "devagent_physical_engine.user_cli_v18:main"
@@ -219,4 +219,4 @@ install_industrial_motion_v170()
219
219
  install_controller_runtime_hotfix_v181()
220
220
  install_one_command_runtime()
221
221
 
222
- __version__ = "1.8.9"
222
+ __version__ = "1.9.0"