devagent-physical-engine 0.13.0__tar.gz → 1.0.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 (177) hide show
  1. devagent_physical_engine-1.0.0/PKG-INFO +398 -0
  2. devagent_physical_engine-1.0.0/README.md +357 -0
  3. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/pyproject.toml +8 -7
  4. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/__init__.py +23 -1
  5. devagent_physical_engine-1.0.0/src/devagent_physical_engine/commercial.py +873 -0
  6. devagent_physical_engine-1.0.0/src/devagent_physical_engine/commercial_campaign.py +118 -0
  7. devagent_physical_engine-1.0.0/src/devagent_physical_engine/commercial_cli.py +185 -0
  8. devagent_physical_engine-1.0.0/src/devagent_physical_engine/commercial_importer.py +84 -0
  9. devagent_physical_engine-1.0.0/src/devagent_physical_engine/commercial_readiness.py +157 -0
  10. devagent_physical_engine-1.0.0/src/devagent_physical_engine/commercial_repository.py +42 -0
  11. devagent_physical_engine-1.0.0/src/devagent_physical_engine.egg-info/PKG-INFO +398 -0
  12. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine.egg-info/SOURCES.txt +9 -0
  13. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine.egg-info/entry_points.txt +1 -0
  14. devagent_physical_engine-1.0.0/tests/test_commercial_importer_v1.py +78 -0
  15. devagent_physical_engine-1.0.0/tests/test_commercial_readiness_v1.py +141 -0
  16. devagent_physical_engine-1.0.0/tests/test_commercial_v1.py +227 -0
  17. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_readme_pypi.py +2 -1
  18. devagent_physical_engine-0.13.0/PKG-INFO +0 -456
  19. devagent_physical_engine-0.13.0/README.md +0 -415
  20. devagent_physical_engine-0.13.0/src/devagent_physical_engine.egg-info/PKG-INFO +0 -456
  21. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/NOTICE +0 -0
  22. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/setup.cfg +0 -0
  23. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/agent/__init__.py +0 -0
  24. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/agent/compiler.py +0 -0
  25. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/agent/contracts.py +0 -0
  26. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/agent/coordinator.py +0 -0
  27. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/agent/critic.py +0 -0
  28. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/agent/evidence.py +0 -0
  29. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/agent/interpreter.py +0 -0
  30. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/agent/planner.py +0 -0
  31. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/agent/recovery.py +0 -0
  32. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/agent/routing.py +0 -0
  33. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/agent/runtime.py +0 -0
  34. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/agent/semantic.py +0 -0
  35. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/agent/structured.py +0 -0
  36. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ai_cli.py +0 -0
  37. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/cli.py +0 -0
  38. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/continuous_clearance.py +0 -0
  39. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/doctor.py +0 -0
  40. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/engineering_agent.py +0 -0
  41. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/engineering_request.py +0 -0
  42. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/execution.py +0 -0
  43. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/models.py +0 -0
  44. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/operating_envelope.py +0 -0
  45. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/optimization/__init__.py +0 -0
  46. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/optimization/benchmark.py +0 -0
  47. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/optimization/candidates.py +0 -0
  48. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/optimization/contracts.py +0 -0
  49. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/optimization/evaluator.py +0 -0
  50. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/optimization/evidence.py +0 -0
  51. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/optimization/experience.py +0 -0
  52. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/optimization/measured.py +0 -0
  53. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/optimization/optimizer.py +0 -0
  54. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/optimization/orchestrator.py +0 -0
  55. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/physical_campaign.py +0 -0
  56. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/physical_evidence.py +0 -0
  57. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/physical_motion.py +0 -0
  58. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/planning.py +0 -0
  59. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/pose_math.py +0 -0
  60. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/preexecution_contract.py +0 -0
  61. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/project.py +0 -0
  62. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/provider_adapters/__init__.py +0 -0
  63. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/provider_adapters/anthropic.py +0 -0
  64. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/provider_adapters/common.py +0 -0
  65. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/provider_adapters/factory.py +0 -0
  66. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/provider_adapters/gemini.py +0 -0
  67. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/provider_adapters/openai.py +0 -0
  68. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/provider_qualification.py +0 -0
  69. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/providers.py +0 -0
  70. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/qualification.py +0 -0
  71. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/qualification_cli.py +0 -0
  72. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/qualification_harness.py +0 -0
  73. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/reference_workcell.py +0 -0
  74. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/robot_platform.py +0 -0
  75. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/robots.py +0 -0
  76. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/__init__.py +0 -0
  77. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/acceptance.py +0 -0
  78. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/commands.py +0 -0
  79. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/continuous_clearance_probe.py +0 -0
  80. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/doctor.py +0 -0
  81. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/fk_pose.py +0 -0
  82. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/fk_probe.py +0 -0
  83. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/frame_alignment.py +0 -0
  84. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/gazebo_cli.py +0 -0
  85. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/gazebo_pose.py +0 -0
  86. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/gazebo_world.py +0 -0
  87. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/joint_state_probe.py +0 -0
  88. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/joint_state_recorder.py +0 -0
  89. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/measured_motion.py +0 -0
  90. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/moveit_joint_plan_probe.py +0 -0
  91. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/moveit_scene.py +0 -0
  92. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/moveit_task_planner.py +0 -0
  93. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/preexecution.py +0 -0
  94. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/qualification.py +0 -0
  95. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/qualification_v10.py +0 -0
  96. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/qualification_v11.py +0 -0
  97. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/qualification_v12.py +0 -0
  98. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/scene_probe.py +0 -0
  99. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/state_validity_probe.py +0 -0
  100. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/task_adapter.py +0 -0
  101. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/task_visualization.py +0 -0
  102. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/tf_probe.py +0 -0
  103. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/tool_scene.py +0 -0
  104. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/tool_scene_probe.py +0 -0
  105. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/trajectory.py +0 -0
  106. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/trajectory_action_probe.py +0 -0
  107. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/trajectory_tracking.py +0 -0
  108. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/ur5e.py +0 -0
  109. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/ur5e_adapter.py +0 -0
  110. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/ur5e_v10_adapter.py +0 -0
  111. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/workpiece_follow.py +0 -0
  112. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/workpiece_gazebo_follower.py +0 -0
  113. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/workpiece_scene.py +0 -0
  114. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/ros2/workpiece_scene_probe.py +0 -0
  115. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/setup_profile.py +0 -0
  116. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/sim_real_qualification.py +0 -0
  117. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/simulation.py +0 -0
  118. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/simulation_platform.py +0 -0
  119. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/tool_collision.py +0 -0
  120. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/trajectory_qualification.py +0 -0
  121. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/twin.py +0 -0
  122. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/twin_builder.py +0 -0
  123. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/twin_materialization.py +0 -0
  124. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/verification.py +0 -0
  125. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine/workpiece_lifecycle.py +0 -0
  126. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine.egg-info/dependency_links.txt +0 -0
  127. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine.egg-info/requires.txt +0 -0
  128. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/src/devagent_physical_engine.egg-info/top_level.txt +0 -0
  129. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_agent_core.py +0 -0
  130. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_agent_semantic_hardening.py +0 -0
  131. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_ai_cli.py +0 -0
  132. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_ai_cli_v07.py +0 -0
  133. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_continuous_clearance_v011.py +0 -0
  134. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_core.py +0 -0
  135. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_engineering_request_v07.py +0 -0
  136. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_gazebo_cli_v0122.py +0 -0
  137. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_interpreter_profiles_v08.py +0 -0
  138. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_joint_state_probe_v0125.py +0 -0
  139. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_live_provider_qualification.py +0 -0
  140. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_measured_motion_v10.py +0 -0
  141. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_moveit_planning_diagnostics_v0125.py +0 -0
  142. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_moveit_scene_v0123.py +0 -0
  143. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_natural_language_agent_v07.py +0 -0
  144. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_openai_strict_schema_v0113.py +0 -0
  145. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_optimization_v05.py +0 -0
  146. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_physical_campaign_v09.py +0 -0
  147. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_physical_evidence_v09.py +0 -0
  148. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_physical_motion_v09.py +0 -0
  149. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_planning_fallback_v012.py +0 -0
  150. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_pose_math_v0125.py +0 -0
  151. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_preexecution_contract_v10.py +0 -0
  152. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_project_spine_v013.py +0 -0
  153. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_provider_and_qualification.py +0 -0
  154. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_qualification_cli_lifecycle_v06.py +0 -0
  155. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_qualification_harness_v06.py +0 -0
  156. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_real_provider_adapters.py +0 -0
  157. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_reference_workcell_ros_frames_v0125.py +0 -0
  158. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_reference_workcell_v012.py +0 -0
  159. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_robot_platform_v08.py +0 -0
  160. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_ros2_production_receipts_v011.py +0 -0
  161. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_ros2_simulation.py +0 -0
  162. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_ros_trajectory_v09.py +0 -0
  163. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_setup_profile.py +0 -0
  164. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_sim_real_qualification_v011.py +0 -0
  165. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_simulation_platform_v08.py +0 -0
  166. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_tool_collision_v011.py +0 -0
  167. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_tool_scene_v0124.py +0 -0
  168. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_trajectory_action_probe_v0125.py +0 -0
  169. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_trajectory_qualification_v09.py +0 -0
  170. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_trajectory_tracking_v0125.py +0 -0
  171. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_twin_materialization_v10.py +0 -0
  172. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_twin_v08.py +0 -0
  173. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_ur5e_adapter_scopes_v09.py +0 -0
  174. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_ur5e_v10_adapter_scopes.py +0 -0
  175. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_v052_stabilization.py +0 -0
  176. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_v08_catalog_mapping_regression.py +0 -0
  177. {devagent_physical_engine-0.13.0 → devagent_physical_engine-1.0.0}/tests/test_workpiece_lifecycle_v011.py +0 -0
@@ -0,0 +1,398 @@
1
+ Metadata-Version: 2.4
2
+ Name: devagent-physical-engine
3
+ Version: 1.0.0
4
+ Summary: Verification-first commercial engineering, simulation, traceability, 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 commercial engineering, customer Twin import, requirement traceability, regression analysis, and FAT evidence for robotic and industrial automation.**
49
+
50
+ > **AI proposes. Deterministic engines validate, compile, verify, simulate, measure, and gate promotion. Existing certified robot controllers, PLCs, and safety systems remain authoritative.**
51
+
52
+ DevAgent Smart Physical Engine helps an engineer move from a customer workcell definition to evidence-backed engineering review without giving an LLM direct robot-control authority. Commercial V1 adds a durable customer workflow around the existing provider-neutral AI, canonical physical Twin, ROS 2 / Gazebo / MoveIt simulation, deterministic verification, and evidence infrastructure.
53
+
54
+ ## Commercial V1 outcome
55
+
56
+ A customer project can now be handled as one durable evidence chain:
57
+
58
+ ```text
59
+ CUSTOMER PROJECT / SITE / WORKCELL
60
+ |
61
+ v
62
+ CUSTOMER FILE INVENTORY + devagent-twin MANIFEST
63
+ |
64
+ v
65
+ CANONICAL TWIN + IMMUTABLE twin-r000N REVISION
66
+ |
67
+ v
68
+ REQUIREMENT SET
69
+ |
70
+ v
71
+ DETERMINISTIC REQUIREMENT CAMPAIGN
72
+ |
73
+ v
74
+ REGRESSION COMPARISON
75
+ |
76
+ v
77
+ CUSTOMER-READY FAT EVIDENCE REPORT
78
+ ```
79
+
80
+ The commercial workflow is intentionally fail-closed. A CAD, URDF, mesh, YAML, or CSV file being present does **not** prove a robot base pose, TCP, dimension, coordinate frame, collision model, calibration, or physics property. Those facts must be explicitly declared or measured before DevAgent promotes them as engineering evidence.
81
+
82
+ ## Install
83
+
84
+ Python 3.11+ is required.
85
+
86
+ ```bash
87
+ python -m pip install devagent-physical-engine
88
+ ```
89
+
90
+ Optional AI providers:
91
+
92
+ ```bash
93
+ python -m pip install "devagent-physical-engine[openai]"
94
+ python -m pip install "devagent-physical-engine[anthropic]"
95
+ python -m pip install "devagent-physical-engine[gemini]"
96
+ # or all supported provider SDKs
97
+ python -m pip install "devagent-physical-engine[ai]"
98
+ ```
99
+
100
+ `pip install` does not install ROS, Gazebo, MoveIt, OEM robot drivers, or privileged operating-system dependencies.
101
+
102
+ ## Commercial quick start
103
+
104
+ Create durable customer identity:
105
+
106
+ ```bash
107
+ devagent-commercial init warehouse-cnc-04 \
108
+ --name "Warehouse CNC Loading Cell 04" \
109
+ --site atl-01 \
110
+ --workcell cnc-04
111
+ ```
112
+
113
+ Import a customer folder:
114
+
115
+ ```bash
116
+ devagent-commercial import-twin warehouse-cnc-04 ./customer-cell
117
+ ```
118
+
119
+ The folder may contain supported engineering assets such as:
120
+
121
+ ```text
122
+ customer-cell/
123
+ ├── devagent-twin.yaml
124
+ ├── robot.urdf
125
+ ├── robot.srdf
126
+ ├── meshes/
127
+ │ ├── gripper.stl
128
+ │ └── fixture.stl
129
+ └── notes-or-export.json
130
+ ```
131
+
132
+ Commercial V1 inventories `.urdf`, `.xacro`, `.srdf`, `.stl`, `.dae`, `.obj`, `.step`, `.stp`, `.iges`, `.igs`, `.yaml`, `.yml`, `.json`, and `.csv` files. Customer assets are SHA-256 fingerprinted with bounded streaming I/O; individual inventoried assets are limited to 512 MiB. A `devagent-twin.yaml`, `devagent-twin.yml`, or `devagent-twin.json` manifest is required before file inventory becomes physical Twin evidence.
133
+
134
+ If the manifest or required physical facts are missing, DevAgent returns `needs_information` with explicit engineering questions instead of inventing values.
135
+
136
+ Import requirements:
137
+
138
+ ```bash
139
+ devagent-commercial requirements warehouse-cnc-04 requirements.csv
140
+ ```
141
+
142
+ Run deterministic requirement verification against the latest Twin revision:
143
+
144
+ ```bash
145
+ devagent-commercial campaign warehouse-cnc-04 requirements.csv
146
+ ```
147
+
148
+ Or bind the campaign to an exact immutable revision:
149
+
150
+ ```bash
151
+ devagent-commercial campaign warehouse-cnc-04 requirements.csv \
152
+ --revision twin-r0002
153
+ ```
154
+
155
+ Compare a previous campaign with a current campaign:
156
+
157
+ ```bash
158
+ devagent-commercial regression warehouse-cnc-04 \
159
+ art-BASELINE \
160
+ art-CURRENT
161
+ ```
162
+
163
+ Generate a FAT Markdown report:
164
+
165
+ ```bash
166
+ devagent-commercial fat-report warehouse-cnc-04 \
167
+ art-CURRENT \
168
+ --regression art-REGRESSION \
169
+ --output FAT_REPORT.md
170
+ ```
171
+
172
+ Inspect commercial readiness and immutable evidence:
173
+
174
+ ```bash
175
+ devagent-commercial status warehouse-cnc-04
176
+ devagent-commercial artifacts warehouse-cnc-04
177
+ ```
178
+
179
+ The default commercial evidence database is:
180
+
181
+ ```text
182
+ ~/.devagent/projects.db
183
+ ```
184
+
185
+ ## Customer Twin manifest
186
+
187
+ Commercial V1 is manifest-driven so engineering facts have explicit provenance. A minimal structure is:
188
+
189
+ ```yaml
190
+ schema_version: 1
191
+ length_unit: mm
192
+ angle_unit: deg
193
+
194
+ engineering_request:
195
+ robot: ur5e
196
+ operation: load
197
+ object_id: BOX_101
198
+ source: conveyor_a
199
+ destination: cnc_04
200
+ tool: parallel_gripper
201
+ payload_kg: 1.5
202
+ purpose: simulate
203
+
204
+ robot_base_pose:
205
+ x: 0
206
+ y: 0
207
+ z: 0
208
+ origin: measured
209
+ source_ref: site-survey
210
+
211
+ entities:
212
+ - id: conveyor_a
213
+ type: conveyor
214
+ pose: {x: 700, y: 0, z: 850}
215
+ geometry:
216
+ kind: box
217
+ dimensions: [2000, 600, 800]
218
+
219
+ - id: cnc_04
220
+ type: machine
221
+ pose: {x: 1200, y: 400, z: 0}
222
+ geometry:
223
+ kind: box
224
+ dimensions: [1400, 1200, 1800]
225
+
226
+ - id: BOX_101
227
+ type: workpiece
228
+ pose: {x: 700, y: 0, z: 900}
229
+ geometry:
230
+ kind: box
231
+ dimensions: [200, 100, 50]
232
+
233
+ tool:
234
+ id: parallel_gripper
235
+ tcp:
236
+ x: 0
237
+ y: 0
238
+ z: 180
239
+ origin: measured
240
+ geometry:
241
+ kind: box
242
+ dimensions: [120, 80, 200]
243
+ max_payload_kg:
244
+ value: 5.0
245
+ origin: imported
246
+ ```
247
+
248
+ A mesh can be referenced by relative asset path, for example:
249
+
250
+ ```yaml
251
+ geometry:
252
+ kind: mesh
253
+ asset: meshes/fixture.stl
254
+ ```
255
+
256
+ The referenced file must have been discovered inside the customer source root. Absolute paths, `..` traversal, and symlinked customer assets are rejected.
257
+
258
+ ## Requirement traceability
259
+
260
+ CSV example:
261
+
262
+ ```csv
263
+ requirement_id,text,check,target,expected,severity
264
+ REQ-001,Twin shall be planning ready,planning_allowed,,true,must
265
+ REQ-002,Workpiece shall exist,entity_present,BOX_101,true,must
266
+ REQ-003,Unit mismatch shall be absent,validation_issue_absent,possible_unit_mismatch,true,must
267
+ ```
268
+
269
+ Commercial V1 deterministic checks are deliberately small and auditable:
270
+
271
+ - `planning_allowed`
272
+ - `physics_allowed`
273
+ - `entity_present`
274
+ - `validation_issue_absent`
275
+ - `twin_state`
276
+
277
+ A prose requirement without a supported deterministic check is reported as `NOT_TESTED`. It is never auto-passed by an LLM. A required (`must`) item that fails or remains untested blocks customer-review readiness.
278
+
279
+ ## Evidence and regression
280
+
281
+ Project, Twin, import, campaign, regression, and FAT artifacts are stored with stable identities and content hashes. Twin revisions are monotonic and immutable (`twin-r0001`, `twin-r0002`, ...).
282
+
283
+ Regression analysis explicitly identifies a requirement that changed from `PASS` in the baseline campaign to any non-pass state in the current campaign. A regression blocks release readiness.
284
+
285
+ The FAT report includes project/site/workcell identity, exact Twin revision and hash, requirement counts, pass/fail/not-tested results, coverage, regression state, and bounded release readiness.
286
+
287
+ `READY FOR CUSTOMER REVIEW` means the declared/imported Twin scope and mapped deterministic requirements passed the commercial evidence gates. It does **not** mean functional-safety certification, site qualification, commissioning approval, or permission to move a production robot.
288
+
289
+ ## AI engineering layer
290
+
291
+ The runtime remains provider-neutral. OpenAI, Anthropic, and Gemini can be used for interpretation, planning, critique, and recovery while deterministic code owns schema validation, semantic policy, Twin validation, collision/clearance contracts, evidence, qualification, and execution gating.
292
+
293
+ Check a provider:
294
+
295
+ ```bash
296
+ devagent-physical-ai doctor --provider openai
297
+ ```
298
+
299
+ Run an engineering request:
300
+
301
+ ```bash
302
+ devagent-physical-ai engineer \
303
+ "Use a UR5e to load BOX_101 from conveyor_a to cnc_04. Simulate and verify the plan." \
304
+ --provider openai \
305
+ --model <model-id>
306
+ ```
307
+
308
+ Use `--quiet` for machine-readable JSON without progress messages on stdout.
309
+
310
+ ## Physical simulation
311
+
312
+ The repository retains the evidence-gated ROS 2 / Gazebo / MoveIt physical simulation stack and the packaged UR5e reference workcell. The reference stack target is:
313
+
314
+ ```text
315
+ Ubuntu 24.04
316
+ ROS 2 Jazzy
317
+ Gazebo Harmonic
318
+ gz_ros2_control
319
+ Universal Robots ROS 2 driver
320
+ ur_simulation_gz
321
+ MoveIt 2
322
+ ```
323
+
324
+ Useful commands:
325
+
326
+ ```bash
327
+ devagent-physical setup --profile ur5e-sim --dry-run
328
+ devagent-physical setup --profile ur5e-sim
329
+ devagent-physical ros doctor
330
+ devagent-physical ros demo
331
+ devagent-physical ros qualify-trajectory-runtime
332
+ ```
333
+
334
+ Hosted Python CI cannot truthfully exercise a graphical Gazebo process, MoveIt `move_group`, TF, ROS controllers, or Gazebo services. Those paths retain separate executable target qualification. A registry entry for FANUC, KUKA, ABB, or another robot family does not imply identical physical simulation qualification.
335
+
336
+ ## Safety and authority boundary
337
+
338
+ Commercial V1 is an engineering verification product, not a safety controller. It intentionally preserves these boundaries:
339
+
340
+ ```text
341
+ AI / COMMERCIAL WORKFLOW
342
+ |
343
+ v
344
+ DETERMINISTIC DEVAGENT EVIDENCE
345
+ |
346
+ v
347
+ SIMULATION / ENGINEERING REVIEW
348
+ |
349
+ X
350
+ NO AUTOMATIC PRODUCTION-HARDWARE AUTHORITY
351
+ ```
352
+
353
+ Simulation success does not override OEM controllers, PLC interlocks, safety PLCs, risk assessments, guarding, functional-safety validation, site commissioning procedures, or engineer approval.
354
+
355
+ Commercial outputs therefore continue to report:
356
+
357
+ ```text
358
+ site_qualification=false
359
+ real_execution_allowed=false
360
+ ```
361
+
362
+ unless a separately implemented and evidence-qualified authority path explicitly proves otherwise. Commercial V1 does not add such a path.
363
+
364
+ ## Software verification and releases
365
+
366
+ Repository CI verifies Python 3.11, 3.12, and 3.13, compilation, unit regression, Ruff correctness, branch coverage, package build, clean wheel installation, and runtime dependency vulnerability audit.
367
+
368
+ A green `main` release is tied to the exact CI-tested commit. Release artifacts are rebuilt from the exact tag, checked with Twine, clean-installed, accompanied by a CycloneDX runtime SBOM and SHA-256 checksums, attached to the GitHub Release, and published to PyPI through Trusted Publishing with digital attestations.
369
+
370
+ ## Documentation
371
+
372
+ - [Commercial V1](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/COMMERCIAL_V1.md)
373
+ - [Commercial project spine](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/COMMERCIAL_PROJECT_SPINE.md)
374
+ - [Production readiness](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/PRODUCTION_READINESS.md)
375
+ - [Architecture](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/ARCHITECTURE.md)
376
+ - [Agent Core](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/AGENT_CORE.md)
377
+ - [AI providers](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/AI_PROVIDERS.md)
378
+ - [Natural-language engineering](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/NATURAL_LANGUAGE_ENGINEERING.md)
379
+ - [Robot platform and Twin](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/ROBOT_PLATFORM_AND_TWIN.md)
380
+ - [Measured physical runtime](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/MEASURED_PHYSICAL_RUNTIME.md)
381
+ - [Qualification](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/QUALIFICATION.md)
382
+ - [Optimization](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/OPTIMIZATION.md)
383
+ - [Workstation setup](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/SETUP.md)
384
+ - [PyPI release process](https://github.com/tomha85/devagent-physical-engine/blob/main/docs/PYPI_RELEASE.md)
385
+
386
+ ## Project status
387
+
388
+ **v1.0.0 — Production/Stable software / commercial engineering workflow with evidence-gated customer Twin import, requirement traceability, regression analysis, and FAT reporting.**
389
+
390
+ Production/Stable describes the shipped software/API/CLI and release process for the bounded V1 scope. Physical and site readiness remain evidence- and adapter-specific. Arbitrary CAD/URDF content is inventoried and fingerprinted but is not semantically trusted merely because a file exists; customer physical facts are promoted only through explicit manifest/evidence contracts. Real robot execution remains locked by default. Functional-safety certification and customer-site commissioning are not claimed.
391
+
392
+ ## Ownership
393
+
394
+ DevAgent Smart Physical Engine
395
+ Copyright © 2026 Tom Ha
396
+ Original creator: Tom Ha
397
+ Original project: https://github.com/tomha85/devagent-physical-engine
398
+ All rights reserved.