devagent-physical-engine 1.0.0__tar.gz → 1.1.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 (182) hide show
  1. devagent_physical_engine-1.1.0/PKG-INFO +281 -0
  2. devagent_physical_engine-1.1.0/README.md +240 -0
  3. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/pyproject.toml +2 -2
  4. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/__init__.py +23 -1
  5. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/commercial_cli.py +121 -25
  6. devagent_physical_engine-1.1.0/src/devagent_physical_engine/production_authority.py +241 -0
  7. devagent_physical_engine-1.1.0/src/devagent_physical_engine/production_grade.py +1073 -0
  8. devagent_physical_engine-1.1.0/src/devagent_physical_engine.egg-info/PKG-INFO +281 -0
  9. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine.egg-info/SOURCES.txt +5 -0
  10. devagent_physical_engine-1.1.0/tests/test_production_authority_v11.py +282 -0
  11. devagent_physical_engine-1.1.0/tests/test_production_grade_coverage_v11.py +379 -0
  12. devagent_physical_engine-1.1.0/tests/test_production_grade_v11.py +342 -0
  13. devagent_physical_engine-1.0.0/PKG-INFO +0 -398
  14. devagent_physical_engine-1.0.0/README.md +0 -357
  15. devagent_physical_engine-1.0.0/src/devagent_physical_engine.egg-info/PKG-INFO +0 -398
  16. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/NOTICE +0 -0
  17. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/setup.cfg +0 -0
  18. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/agent/__init__.py +0 -0
  19. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/agent/compiler.py +0 -0
  20. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/agent/contracts.py +0 -0
  21. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/agent/coordinator.py +0 -0
  22. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/agent/critic.py +0 -0
  23. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/agent/evidence.py +0 -0
  24. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/agent/interpreter.py +0 -0
  25. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/agent/planner.py +0 -0
  26. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/agent/recovery.py +0 -0
  27. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/agent/routing.py +0 -0
  28. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/agent/runtime.py +0 -0
  29. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/agent/semantic.py +0 -0
  30. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/agent/structured.py +0 -0
  31. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ai_cli.py +0 -0
  32. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/cli.py +0 -0
  33. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/commercial.py +0 -0
  34. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/commercial_campaign.py +0 -0
  35. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/commercial_importer.py +0 -0
  36. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/commercial_readiness.py +0 -0
  37. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/commercial_repository.py +0 -0
  38. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/continuous_clearance.py +0 -0
  39. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/doctor.py +0 -0
  40. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/engineering_agent.py +0 -0
  41. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/engineering_request.py +0 -0
  42. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/execution.py +0 -0
  43. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/models.py +0 -0
  44. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/operating_envelope.py +0 -0
  45. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/optimization/__init__.py +0 -0
  46. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/optimization/benchmark.py +0 -0
  47. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/optimization/candidates.py +0 -0
  48. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/optimization/contracts.py +0 -0
  49. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/optimization/evaluator.py +0 -0
  50. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/optimization/evidence.py +0 -0
  51. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/optimization/experience.py +0 -0
  52. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/optimization/measured.py +0 -0
  53. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/optimization/optimizer.py +0 -0
  54. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/optimization/orchestrator.py +0 -0
  55. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/physical_campaign.py +0 -0
  56. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/physical_evidence.py +0 -0
  57. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/physical_motion.py +0 -0
  58. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/planning.py +0 -0
  59. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/pose_math.py +0 -0
  60. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/preexecution_contract.py +0 -0
  61. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/project.py +0 -0
  62. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/provider_adapters/__init__.py +0 -0
  63. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/provider_adapters/anthropic.py +0 -0
  64. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/provider_adapters/common.py +0 -0
  65. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/provider_adapters/factory.py +0 -0
  66. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/provider_adapters/gemini.py +0 -0
  67. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/provider_adapters/openai.py +0 -0
  68. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/provider_qualification.py +0 -0
  69. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/providers.py +0 -0
  70. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/qualification.py +0 -0
  71. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/qualification_cli.py +0 -0
  72. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/qualification_harness.py +0 -0
  73. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/reference_workcell.py +0 -0
  74. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/robot_platform.py +0 -0
  75. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/robots.py +0 -0
  76. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/__init__.py +0 -0
  77. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/acceptance.py +0 -0
  78. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/commands.py +0 -0
  79. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/continuous_clearance_probe.py +0 -0
  80. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/doctor.py +0 -0
  81. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/fk_pose.py +0 -0
  82. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/fk_probe.py +0 -0
  83. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/frame_alignment.py +0 -0
  84. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/gazebo_cli.py +0 -0
  85. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/gazebo_pose.py +0 -0
  86. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/gazebo_world.py +0 -0
  87. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/joint_state_probe.py +0 -0
  88. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/joint_state_recorder.py +0 -0
  89. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/measured_motion.py +0 -0
  90. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/moveit_joint_plan_probe.py +0 -0
  91. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/moveit_scene.py +0 -0
  92. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/moveit_task_planner.py +0 -0
  93. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/preexecution.py +0 -0
  94. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/qualification.py +0 -0
  95. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/qualification_v10.py +0 -0
  96. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/qualification_v11.py +0 -0
  97. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/qualification_v12.py +0 -0
  98. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/scene_probe.py +0 -0
  99. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/state_validity_probe.py +0 -0
  100. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/task_adapter.py +0 -0
  101. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/task_visualization.py +0 -0
  102. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/tf_probe.py +0 -0
  103. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/tool_scene.py +0 -0
  104. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/tool_scene_probe.py +0 -0
  105. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/trajectory.py +0 -0
  106. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/trajectory_action_probe.py +0 -0
  107. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/trajectory_tracking.py +0 -0
  108. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/ur5e.py +0 -0
  109. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/ur5e_adapter.py +0 -0
  110. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/ur5e_v10_adapter.py +0 -0
  111. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/workpiece_follow.py +0 -0
  112. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/workpiece_gazebo_follower.py +0 -0
  113. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/workpiece_scene.py +0 -0
  114. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/ros2/workpiece_scene_probe.py +0 -0
  115. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/setup_profile.py +0 -0
  116. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/sim_real_qualification.py +0 -0
  117. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/simulation.py +0 -0
  118. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/simulation_platform.py +0 -0
  119. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/tool_collision.py +0 -0
  120. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/trajectory_qualification.py +0 -0
  121. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/twin.py +0 -0
  122. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/twin_builder.py +0 -0
  123. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/twin_materialization.py +0 -0
  124. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/verification.py +0 -0
  125. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine/workpiece_lifecycle.py +0 -0
  126. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine.egg-info/dependency_links.txt +0 -0
  127. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine.egg-info/entry_points.txt +0 -0
  128. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine.egg-info/requires.txt +0 -0
  129. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/src/devagent_physical_engine.egg-info/top_level.txt +0 -0
  130. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_agent_core.py +0 -0
  131. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_agent_semantic_hardening.py +0 -0
  132. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_ai_cli.py +0 -0
  133. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_ai_cli_v07.py +0 -0
  134. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_commercial_importer_v1.py +0 -0
  135. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_commercial_readiness_v1.py +0 -0
  136. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_commercial_v1.py +0 -0
  137. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_continuous_clearance_v011.py +0 -0
  138. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_core.py +0 -0
  139. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_engineering_request_v07.py +0 -0
  140. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_gazebo_cli_v0122.py +0 -0
  141. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_interpreter_profiles_v08.py +0 -0
  142. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_joint_state_probe_v0125.py +0 -0
  143. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_live_provider_qualification.py +0 -0
  144. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_measured_motion_v10.py +0 -0
  145. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_moveit_planning_diagnostics_v0125.py +0 -0
  146. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_moveit_scene_v0123.py +0 -0
  147. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_natural_language_agent_v07.py +0 -0
  148. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_openai_strict_schema_v0113.py +0 -0
  149. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_optimization_v05.py +0 -0
  150. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_physical_campaign_v09.py +0 -0
  151. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_physical_evidence_v09.py +0 -0
  152. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_physical_motion_v09.py +0 -0
  153. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_planning_fallback_v012.py +0 -0
  154. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_pose_math_v0125.py +0 -0
  155. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_preexecution_contract_v10.py +0 -0
  156. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_project_spine_v013.py +0 -0
  157. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_provider_and_qualification.py +0 -0
  158. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_qualification_cli_lifecycle_v06.py +0 -0
  159. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_qualification_harness_v06.py +0 -0
  160. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_readme_pypi.py +0 -0
  161. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_real_provider_adapters.py +0 -0
  162. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_reference_workcell_ros_frames_v0125.py +0 -0
  163. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_reference_workcell_v012.py +0 -0
  164. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_robot_platform_v08.py +0 -0
  165. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_ros2_production_receipts_v011.py +0 -0
  166. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_ros2_simulation.py +0 -0
  167. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_ros_trajectory_v09.py +0 -0
  168. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_setup_profile.py +0 -0
  169. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_sim_real_qualification_v011.py +0 -0
  170. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_simulation_platform_v08.py +0 -0
  171. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_tool_collision_v011.py +0 -0
  172. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_tool_scene_v0124.py +0 -0
  173. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_trajectory_action_probe_v0125.py +0 -0
  174. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_trajectory_qualification_v09.py +0 -0
  175. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_trajectory_tracking_v0125.py +0 -0
  176. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_twin_materialization_v10.py +0 -0
  177. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_twin_v08.py +0 -0
  178. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_ur5e_adapter_scopes_v09.py +0 -0
  179. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_ur5e_v10_adapter_scopes.py +0 -0
  180. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_v052_stabilization.py +0 -0
  181. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_v08_catalog_mapping_regression.py +0 -0
  182. {devagent_physical_engine-1.0.0 → devagent_physical_engine-1.1.0}/tests/test_workpiece_lifecycle_v011.py +0 -0
@@ -0,0 +1,281 @@
1
+ Metadata-Version: 2.4
2
+ Name: devagent-physical-engine
3
+ Version: 1.1.0
4
+ Summary: Production-grade verification-first customer Twin, measured physical evidence, change-impact regression, and FAT evidence runtime for robotics and industrial automation.
5
+ Author: Tom Ha
6
+ License: All Rights Reserved
7
+ Project-URL: Homepage, https://github.com/tomha85/devagent-physical-engine
8
+ Project-URL: Repository, https://github.com/tomha85/devagent-physical-engine
9
+ Project-URL: Issues, https://github.com/tomha85/devagent-physical-engine/issues
10
+ Keywords: robotics,industrial-automation,agentic-ai,ros2,verification,digital-twin,fat-testing,regression
11
+ Classifier: Development Status :: 5 - Production/Stable
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Operating System :: OS Independent
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
19
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
20
+ Requires-Python: >=3.11
21
+ Description-Content-Type: text/markdown
22
+ License-File: NOTICE
23
+ Requires-Dist: PyYAML<7,>=6.0
24
+ Provides-Extra: openai
25
+ Requires-Dist: openai<4,>=3.0; extra == "openai"
26
+ Provides-Extra: anthropic
27
+ Requires-Dist: anthropic<2,>=1.0; extra == "anthropic"
28
+ Provides-Extra: gemini
29
+ Requires-Dist: google-genai<3,>=2.0; extra == "gemini"
30
+ Provides-Extra: ai
31
+ Requires-Dist: openai<4,>=3.0; extra == "ai"
32
+ Requires-Dist: anthropic<2,>=1.0; extra == "ai"
33
+ Requires-Dist: google-genai<3,>=2.0; extra == "ai"
34
+ Provides-Extra: dev
35
+ Requires-Dist: build==1.6.0; extra == "dev"
36
+ Requires-Dist: twine==7.0.0; extra == "dev"
37
+ Requires-Dist: coverage[toml]<8,>=7.6; extra == "dev"
38
+ Requires-Dist: ruff<1,>=0.12; extra == "dev"
39
+ Requires-Dist: pip-audit<3,>=2.9; extra == "dev"
40
+ Dynamic: license-file
41
+
42
+ # DevAgent Smart Physical Engine
43
+
44
+ [![PyPI](https://img.shields.io/pypi/v/devagent-physical-engine.svg)](https://pypi.org/project/devagent-physical-engine/)
45
+ [![Python](https://img.shields.io/pypi/pyversions/devagent-physical-engine.svg)](https://pypi.org/project/devagent-physical-engine/)
46
+ [![Status: Production/Stable](https://img.shields.io/badge/status-production%2Fstable-blue.svg)](#project-status)
47
+
48
+ **Verification-first commissioning engineering: customer Twin import, measured physical evidence, deterministic requirement verification, change-impact regression, and FAT evidence for robotics and industrial automation.**
49
+
50
+ > **AI proposes. Deterministic engines validate, compile, verify, measure, and gate promotion. OEM robot controllers, PLCs, safety PLCs, and certified safety systems remain authoritative.**
51
+
52
+ DevAgent is designed to answer a commercial engineering question: **before engineers travel onsite, what can be proven about this robot cell, what failed, what changed, and what evidence supports the conclusion?**
53
+
54
+ ## Product workflow
55
+
56
+ ```text
57
+ CUSTOMER PROJECT / SITE / WORKCELL
58
+ |
59
+ v
60
+ CUSTOMER ASSETS + EXPLICIT TWIN EVIDENCE
61
+ |
62
+ v
63
+ IMMUTABLE TWIN REVISION
64
+ |
65
+ v
66
+ REQUIREMENTS
67
+ |
68
+ v
69
+ VERIFICATION PLAN
70
+ nominal / boundary / pairwise / faults
71
+ |
72
+ v
73
+ MEASURED PHYSICAL EVIDENCE
74
+ cycle / clearance / TCP / tracking / collision
75
+ |
76
+ v
77
+ DETERMINISTIC VERDICTS
78
+ PASS / FAIL / NOT_TESTED
79
+ |
80
+ v
81
+ CHANGE IMPACT + REGRESSION
82
+ |
83
+ v
84
+ FAT REPORT
85
+ Markdown / HTML / JSON
86
+ ```
87
+
88
+ Unknown facts stay unknown. Unsupported requirements stay `NOT_TESTED`. A CAD/URDF/mesh file does not prove its pose, scale, TCP, calibration, or physics merely because the file exists.
89
+
90
+ ## Install
91
+
92
+ Python 3.11+:
93
+
94
+ ```bash
95
+ python -m pip install devagent-physical-engine
96
+ ```
97
+
98
+ Optional AI providers:
99
+
100
+ ```bash
101
+ python -m pip install "devagent-physical-engine[openai]"
102
+ python -m pip install "devagent-physical-engine[anthropic]"
103
+ python -m pip install "devagent-physical-engine[gemini]"
104
+ python -m pip install "devagent-physical-engine[ai]"
105
+ ```
106
+
107
+ `pip install` does not install ROS 2, Gazebo, MoveIt, OEM drivers, or privileged OS packages.
108
+
109
+ ## Commercial quick start
110
+
111
+ Create project identity:
112
+
113
+ ```bash
114
+ devagent-commercial init warehouse-cnc-04 \
115
+ --name "Warehouse CNC Loading Cell 04" \
116
+ --site atl-01 \
117
+ --workcell cnc-04
118
+ ```
119
+
120
+ Import customer Twin evidence:
121
+
122
+ ```bash
123
+ devagent-commercial import-twin warehouse-cnc-04 ./customer-cell
124
+ ```
125
+
126
+ Supported inventory includes `.urdf`, `.xacro`, `.srdf`, `.stl`, `.dae`, `.obj`, `.step`, `.stp`, `.iges`, `.igs`, `.yaml`, `.yml`, `.json`, and `.csv`. Assets are SHA-256 fingerprinted using bounded streaming I/O. Physical facts are promoted only through an explicit `devagent-twin.yaml|yml|json` evidence manifest.
127
+
128
+ Import requirements:
129
+
130
+ ```bash
131
+ devagent-commercial requirements warehouse-cnc-04 requirements.csv
132
+ ```
133
+
134
+ Generate a deterministic verification plan:
135
+
136
+ ```bash
137
+ devagent-commercial verification-plan warehouse-cnc-04 verification-plan.yaml \
138
+ --revision twin-r0001
139
+ ```
140
+
141
+ Record measured evidence produced by a simulation/hardware-shadow qualification run:
142
+
143
+ ```bash
144
+ devagent-commercial record-measurement warehouse-cnc-04 physical-measurement.json \
145
+ --revision twin-r0001
146
+ ```
147
+
148
+ Run requirements against the exact Twin and measurement artifact:
149
+
150
+ ```bash
151
+ devagent-commercial campaign warehouse-cnc-04 requirements.csv \
152
+ --revision twin-r0001 \
153
+ --measurement art-PHYSICAL
154
+ ```
155
+
156
+ After a Twin revision changes, compute conservative impact:
157
+
158
+ ```bash
159
+ devagent-commercial impact warehouse-cnc-04 \
160
+ twin-r0001 twin-r0002 requirements.csv
161
+ ```
162
+
163
+ Compare baseline/current campaigns:
164
+
165
+ ```bash
166
+ devagent-commercial regression warehouse-cnc-04 \
167
+ art-BASELINE art-CURRENT \
168
+ --impact art-IMPACT
169
+ ```
170
+
171
+ Generate customer evidence as Markdown, HTML, or JSON:
172
+
173
+ ```bash
174
+ devagent-commercial fat-report warehouse-cnc-04 art-CURRENT \
175
+ --regression art-REGRESSION \
176
+ --output FAT_REPORT.html
177
+ ```
178
+
179
+ Inspect readiness and evidence:
180
+
181
+ ```bash
182
+ devagent-commercial status warehouse-cnc-04
183
+ devagent-commercial artifacts warehouse-cnc-04
184
+ ```
185
+
186
+ Default evidence database:
187
+
188
+ ```text
189
+ ~/.devagent/projects.db
190
+ ```
191
+
192
+ ## Deterministic requirement checks
193
+
194
+ Structural/Twin checks:
195
+
196
+ - `planning_allowed`
197
+ - `physics_allowed`
198
+ - `entity_present`
199
+ - `validation_issue_absent`
200
+ - `twin_state`
201
+
202
+ Measured physical checks:
203
+
204
+ - `cycle_time_max_s`
205
+ - `minimum_clearance_m`
206
+ - `final_tcp_error_max_m`
207
+ - `max_tracking_error_rad`
208
+ - `collision_free`
209
+ - `physical_completed`
210
+
211
+ Example:
212
+
213
+ ```csv
214
+ requirement_id,text,check,target,expected,severity
215
+ REQ-001,Twin shall be physics ready,physics_allowed,,true,must
216
+ REQ-101,Cycle time shall be <= 8 s,cycle_time_max_s,8.0,,must
217
+ REQ-102,Minimum clearance shall be >= 30 mm,minimum_clearance_m,0.03,,must
218
+ REQ-103,Final TCP error shall be <= 2 mm,final_tcp_error_max_m,0.002,,must
219
+ REQ-104,Trajectory shall be collision free,collision_free,,true,must
220
+ ```
221
+
222
+ A physical requirement without exact-Twin measured evidence is `NOT_TESTED`; it cannot be promoted by an LLM.
223
+
224
+ ## Evidence trust and readiness
225
+
226
+ DevAgent separates three claims:
227
+
228
+ - `customer_review_ready`: the bounded declared/imported scope and mapped requirements passed.
229
+ - `production_engineering_ready`: mapped physical requirements passed with exact-Twin measurement evidence and explicit run/qualification provenance.
230
+ - `site_qualification` / `real_execution_allowed`: **remain false** in this release.
231
+
232
+ `production_engineering_ready` is engineering evidence readiness, not functional-safety certification or commissioning authorization. Simulation evidence does not override guarding, risk assessment, safety PLC validation, OEM controller validation, site acceptance, or engineer sign-off.
233
+
234
+ The typed Python API can bind `PhysicalMotionPlan` + `MotionExecutionMetrics` directly into project evidence so runtime-owned metrics do not have to be manually retyped into free-form JSON.
235
+
236
+ ## Physical simulation
237
+
238
+ The qualified reference direction remains Ubuntu 24.04 + ROS 2 Jazzy + Gazebo Harmonic + `gz_ros2_control` + Universal Robots ROS 2 driver + `ur_simulation_gz` + MoveIt 2.
239
+
240
+ ```bash
241
+ devagent-physical setup --profile ur5e-sim --dry-run
242
+ devagent-physical setup --profile ur5e-sim
243
+ devagent-physical ros doctor
244
+ devagent-physical ros qualify-trajectory-runtime
245
+ ```
246
+
247
+ Hosted Python CI cannot prove a graphical Gazebo/MoveIt/controller stack. Target physical-simulation qualification must run on the exact workstation/adapter stack. Registry entries for ABB, FANUC, KUKA, or other robots do not imply equal physical qualification.
248
+
249
+ ## Release quality
250
+
251
+ Every PR/main update runs Python 3.11/3.12/3.13 regression, compilation, Ruff correctness checks, branch coverage, package build, clean wheel install, and runtime dependency audit. Production-grade authority contracts also have a dedicated high-coverage gate.
252
+
253
+ Releases are created only from exact green `main`, rebuilt from the exact tag, clean-installed, accompanied by CycloneDX SBOM + SHA-256 checksums, attached to GitHub Release, and published to PyPI through Trusted Publishing.
254
+
255
+ ## Documentation
256
+
257
+ - [Production Grade v1.1](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/PRODUCTION_GRADE_V1_1.md)
258
+ - [Production readiness](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/PRODUCTION_READINESS.md)
259
+ - [Commercial V1](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/COMMERCIAL_V1.md)
260
+ - [Commercial project spine](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/COMMERCIAL_PROJECT_SPINE.md)
261
+ - [Architecture](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/ARCHITECTURE.md)
262
+ - [Robot platform and Twin](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/ROBOT_PLATFORM_AND_TWIN.md)
263
+ - [Measured physical runtime](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/MEASURED_PHYSICAL_RUNTIME.md)
264
+ - [Qualification](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/QUALIFICATION.md)
265
+ - [Optimization](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/OPTIMIZATION.md)
266
+ - [AI providers](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/AI_PROVIDERS.md)
267
+ - [PyPI release process](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/PYPI_RELEASE.md)
268
+
269
+ ## Project status
270
+
271
+ **v1.1.0 — Production/Stable software workflow with measured physical requirement evidence, deterministic verification-plan generation, change-impact regression, and customer FAT Markdown/HTML/JSON reporting.**
272
+
273
+ Production/Stable applies to the bounded software/API/CLI/evidence workflow. Physical qualification remains robot-, adapter-, workstation-, and evidence-specific. Site qualification, functional-safety certification, and production-hardware command authority are not claimed and remain locked by default.
274
+
275
+ ## Ownership
276
+
277
+ DevAgent Smart Physical Engine
278
+ Copyright © 2026 Tom Ha
279
+ Original creator: Tom Ha
280
+ Original project: https://github.com/tomha85/devagent-physical-engine
281
+ All rights reserved.
@@ -0,0 +1,240 @@
1
+ # DevAgent Smart Physical Engine
2
+
3
+ [![PyPI](https://img.shields.io/pypi/v/devagent-physical-engine.svg)](https://pypi.org/project/devagent-physical-engine/)
4
+ [![Python](https://img.shields.io/pypi/pyversions/devagent-physical-engine.svg)](https://pypi.org/project/devagent-physical-engine/)
5
+ [![Status: Production/Stable](https://img.shields.io/badge/status-production%2Fstable-blue.svg)](#project-status)
6
+
7
+ **Verification-first commissioning engineering: customer Twin import, measured physical evidence, deterministic requirement verification, change-impact regression, and FAT evidence for robotics and industrial automation.**
8
+
9
+ > **AI proposes. Deterministic engines validate, compile, verify, measure, and gate promotion. OEM robot controllers, PLCs, safety PLCs, and certified safety systems remain authoritative.**
10
+
11
+ DevAgent is designed to answer a commercial engineering question: **before engineers travel onsite, what can be proven about this robot cell, what failed, what changed, and what evidence supports the conclusion?**
12
+
13
+ ## Product workflow
14
+
15
+ ```text
16
+ CUSTOMER PROJECT / SITE / WORKCELL
17
+ |
18
+ v
19
+ CUSTOMER ASSETS + EXPLICIT TWIN EVIDENCE
20
+ |
21
+ v
22
+ IMMUTABLE TWIN REVISION
23
+ |
24
+ v
25
+ REQUIREMENTS
26
+ |
27
+ v
28
+ VERIFICATION PLAN
29
+ nominal / boundary / pairwise / faults
30
+ |
31
+ v
32
+ MEASURED PHYSICAL EVIDENCE
33
+ cycle / clearance / TCP / tracking / collision
34
+ |
35
+ v
36
+ DETERMINISTIC VERDICTS
37
+ PASS / FAIL / NOT_TESTED
38
+ |
39
+ v
40
+ CHANGE IMPACT + REGRESSION
41
+ |
42
+ v
43
+ FAT REPORT
44
+ Markdown / HTML / JSON
45
+ ```
46
+
47
+ Unknown facts stay unknown. Unsupported requirements stay `NOT_TESTED`. A CAD/URDF/mesh file does not prove its pose, scale, TCP, calibration, or physics merely because the file exists.
48
+
49
+ ## Install
50
+
51
+ Python 3.11+:
52
+
53
+ ```bash
54
+ python -m pip install devagent-physical-engine
55
+ ```
56
+
57
+ Optional AI providers:
58
+
59
+ ```bash
60
+ python -m pip install "devagent-physical-engine[openai]"
61
+ python -m pip install "devagent-physical-engine[anthropic]"
62
+ python -m pip install "devagent-physical-engine[gemini]"
63
+ python -m pip install "devagent-physical-engine[ai]"
64
+ ```
65
+
66
+ `pip install` does not install ROS 2, Gazebo, MoveIt, OEM drivers, or privileged OS packages.
67
+
68
+ ## Commercial quick start
69
+
70
+ Create project identity:
71
+
72
+ ```bash
73
+ devagent-commercial init warehouse-cnc-04 \
74
+ --name "Warehouse CNC Loading Cell 04" \
75
+ --site atl-01 \
76
+ --workcell cnc-04
77
+ ```
78
+
79
+ Import customer Twin evidence:
80
+
81
+ ```bash
82
+ devagent-commercial import-twin warehouse-cnc-04 ./customer-cell
83
+ ```
84
+
85
+ Supported inventory includes `.urdf`, `.xacro`, `.srdf`, `.stl`, `.dae`, `.obj`, `.step`, `.stp`, `.iges`, `.igs`, `.yaml`, `.yml`, `.json`, and `.csv`. Assets are SHA-256 fingerprinted using bounded streaming I/O. Physical facts are promoted only through an explicit `devagent-twin.yaml|yml|json` evidence manifest.
86
+
87
+ Import requirements:
88
+
89
+ ```bash
90
+ devagent-commercial requirements warehouse-cnc-04 requirements.csv
91
+ ```
92
+
93
+ Generate a deterministic verification plan:
94
+
95
+ ```bash
96
+ devagent-commercial verification-plan warehouse-cnc-04 verification-plan.yaml \
97
+ --revision twin-r0001
98
+ ```
99
+
100
+ Record measured evidence produced by a simulation/hardware-shadow qualification run:
101
+
102
+ ```bash
103
+ devagent-commercial record-measurement warehouse-cnc-04 physical-measurement.json \
104
+ --revision twin-r0001
105
+ ```
106
+
107
+ Run requirements against the exact Twin and measurement artifact:
108
+
109
+ ```bash
110
+ devagent-commercial campaign warehouse-cnc-04 requirements.csv \
111
+ --revision twin-r0001 \
112
+ --measurement art-PHYSICAL
113
+ ```
114
+
115
+ After a Twin revision changes, compute conservative impact:
116
+
117
+ ```bash
118
+ devagent-commercial impact warehouse-cnc-04 \
119
+ twin-r0001 twin-r0002 requirements.csv
120
+ ```
121
+
122
+ Compare baseline/current campaigns:
123
+
124
+ ```bash
125
+ devagent-commercial regression warehouse-cnc-04 \
126
+ art-BASELINE art-CURRENT \
127
+ --impact art-IMPACT
128
+ ```
129
+
130
+ Generate customer evidence as Markdown, HTML, or JSON:
131
+
132
+ ```bash
133
+ devagent-commercial fat-report warehouse-cnc-04 art-CURRENT \
134
+ --regression art-REGRESSION \
135
+ --output FAT_REPORT.html
136
+ ```
137
+
138
+ Inspect readiness and evidence:
139
+
140
+ ```bash
141
+ devagent-commercial status warehouse-cnc-04
142
+ devagent-commercial artifacts warehouse-cnc-04
143
+ ```
144
+
145
+ Default evidence database:
146
+
147
+ ```text
148
+ ~/.devagent/projects.db
149
+ ```
150
+
151
+ ## Deterministic requirement checks
152
+
153
+ Structural/Twin checks:
154
+
155
+ - `planning_allowed`
156
+ - `physics_allowed`
157
+ - `entity_present`
158
+ - `validation_issue_absent`
159
+ - `twin_state`
160
+
161
+ Measured physical checks:
162
+
163
+ - `cycle_time_max_s`
164
+ - `minimum_clearance_m`
165
+ - `final_tcp_error_max_m`
166
+ - `max_tracking_error_rad`
167
+ - `collision_free`
168
+ - `physical_completed`
169
+
170
+ Example:
171
+
172
+ ```csv
173
+ requirement_id,text,check,target,expected,severity
174
+ REQ-001,Twin shall be physics ready,physics_allowed,,true,must
175
+ REQ-101,Cycle time shall be <= 8 s,cycle_time_max_s,8.0,,must
176
+ REQ-102,Minimum clearance shall be >= 30 mm,minimum_clearance_m,0.03,,must
177
+ REQ-103,Final TCP error shall be <= 2 mm,final_tcp_error_max_m,0.002,,must
178
+ REQ-104,Trajectory shall be collision free,collision_free,,true,must
179
+ ```
180
+
181
+ A physical requirement without exact-Twin measured evidence is `NOT_TESTED`; it cannot be promoted by an LLM.
182
+
183
+ ## Evidence trust and readiness
184
+
185
+ DevAgent separates three claims:
186
+
187
+ - `customer_review_ready`: the bounded declared/imported scope and mapped requirements passed.
188
+ - `production_engineering_ready`: mapped physical requirements passed with exact-Twin measurement evidence and explicit run/qualification provenance.
189
+ - `site_qualification` / `real_execution_allowed`: **remain false** in this release.
190
+
191
+ `production_engineering_ready` is engineering evidence readiness, not functional-safety certification or commissioning authorization. Simulation evidence does not override guarding, risk assessment, safety PLC validation, OEM controller validation, site acceptance, or engineer sign-off.
192
+
193
+ The typed Python API can bind `PhysicalMotionPlan` + `MotionExecutionMetrics` directly into project evidence so runtime-owned metrics do not have to be manually retyped into free-form JSON.
194
+
195
+ ## Physical simulation
196
+
197
+ The qualified reference direction remains Ubuntu 24.04 + ROS 2 Jazzy + Gazebo Harmonic + `gz_ros2_control` + Universal Robots ROS 2 driver + `ur_simulation_gz` + MoveIt 2.
198
+
199
+ ```bash
200
+ devagent-physical setup --profile ur5e-sim --dry-run
201
+ devagent-physical setup --profile ur5e-sim
202
+ devagent-physical ros doctor
203
+ devagent-physical ros qualify-trajectory-runtime
204
+ ```
205
+
206
+ Hosted Python CI cannot prove a graphical Gazebo/MoveIt/controller stack. Target physical-simulation qualification must run on the exact workstation/adapter stack. Registry entries for ABB, FANUC, KUKA, or other robots do not imply equal physical qualification.
207
+
208
+ ## Release quality
209
+
210
+ Every PR/main update runs Python 3.11/3.12/3.13 regression, compilation, Ruff correctness checks, branch coverage, package build, clean wheel install, and runtime dependency audit. Production-grade authority contracts also have a dedicated high-coverage gate.
211
+
212
+ Releases are created only from exact green `main`, rebuilt from the exact tag, clean-installed, accompanied by CycloneDX SBOM + SHA-256 checksums, attached to GitHub Release, and published to PyPI through Trusted Publishing.
213
+
214
+ ## Documentation
215
+
216
+ - [Production Grade v1.1](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/PRODUCTION_GRADE_V1_1.md)
217
+ - [Production readiness](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/PRODUCTION_READINESS.md)
218
+ - [Commercial V1](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/COMMERCIAL_V1.md)
219
+ - [Commercial project spine](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/COMMERCIAL_PROJECT_SPINE.md)
220
+ - [Architecture](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/ARCHITECTURE.md)
221
+ - [Robot platform and Twin](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/ROBOT_PLATFORM_AND_TWIN.md)
222
+ - [Measured physical runtime](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/MEASURED_PHYSICAL_RUNTIME.md)
223
+ - [Qualification](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/QUALIFICATION.md)
224
+ - [Optimization](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/OPTIMIZATION.md)
225
+ - [AI providers](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/AI_PROVIDERS.md)
226
+ - [PyPI release process](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/PYPI_RELEASE.md)
227
+
228
+ ## Project status
229
+
230
+ **v1.1.0 — Production/Stable software workflow with measured physical requirement evidence, deterministic verification-plan generation, change-impact regression, and customer FAT Markdown/HTML/JSON reporting.**
231
+
232
+ Production/Stable applies to the bounded software/API/CLI/evidence workflow. Physical qualification remains robot-, adapter-, workstation-, and evidence-specific. Site qualification, functional-safety certification, and production-hardware command authority are not claimed and remain locked by default.
233
+
234
+ ## Ownership
235
+
236
+ DevAgent Smart Physical Engine
237
+ Copyright © 2026 Tom Ha
238
+ Original creator: Tom Ha
239
+ Original project: https://github.com/tomha85/devagent-physical-engine
240
+ All rights reserved.
@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "devagent-physical-engine"
7
- version = "1.0.0"
8
- description = "Verification-first commercial engineering, simulation, traceability, regression, and FAT evidence runtime for robotics and industrial automation."
7
+ version = "1.1.0"
8
+ description = "Production-grade verification-first customer Twin, measured physical evidence, change-impact regression, and FAT evidence runtime for robotics and industrial automation."
9
9
  readme = { file = "README.md", content-type = "text/markdown" }
10
10
  requires-python = ">=3.11"
11
11
  dependencies = ["PyYAML>=6.0,<7"]
@@ -21,6 +21,19 @@ from .models import (
21
21
  WorldState,
22
22
  )
23
23
  from .physical_motion import JointTrajectoryPoint, MotionExecutionMetrics, PhysicalMotionPlan
24
+ from .production_authority import (
25
+ PhysicalEvidenceRecorder,
26
+ ProductionCampaignRunner,
27
+ VerificationCaseGenerator,
28
+ )
29
+ from .production_grade import (
30
+ ChangeImpactAnalyzer,
31
+ ProductionFATReportBuilder,
32
+ ProductionProjectStatus,
33
+ ProductionRegressionAnalyzer,
34
+ VerificationCase,
35
+ load_verification_spec,
36
+ )
24
37
  from .project import (
25
38
  EvidenceArtifactRecord,
26
39
  ProjectError,
@@ -77,6 +90,15 @@ __all__ = [
77
90
  "CommercialRegressionAnalyzer",
78
91
  "FATReportBuilder",
79
92
  "CommercialProjectStatus",
93
+ "PhysicalEvidenceRecorder",
94
+ "VerificationCase",
95
+ "VerificationCaseGenerator",
96
+ "ProductionCampaignRunner",
97
+ "ChangeImpactAnalyzer",
98
+ "ProductionRegressionAnalyzer",
99
+ "ProductionFATReportBuilder",
100
+ "ProductionProjectStatus",
101
+ "load_verification_spec",
80
102
  ]
81
103
 
82
- __version__ = "1.0.0"
104
+ __version__ = "1.1.0"