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.
- {devagent_physical_engine-1.8.9/src/devagent_physical_engine.egg-info → devagent_physical_engine-1.9.0}/PKG-INFO +112 -21
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/README.md +109 -19
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/pyproject.toml +3 -2
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/__init__.py +1 -1
- devagent_physical_engine-1.9.0/src/devagent_physical_engine/dynamic_verification_runtime_v190.py +242 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/industrial_motion_hotfix_v170.py +31 -6
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/industrial_motion_v182.py +26 -4
- devagent_physical_engine-1.9.0/src/devagent_physical_engine/one_command_v16.py +147 -0
- devagent_physical_engine-1.9.0/src/devagent_physical_engine/physical_evidence_v190.py +138 -0
- devagent_physical_engine-1.9.0/src/devagent_physical_engine/report_requirements_v190.py +279 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/report_test_execution.py +26 -10
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/report_test_execution_strict.py +12 -19
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/task_adapter.py +101 -4
- devagent_physical_engine-1.9.0/src/devagent_physical_engine/ros2/task_adapter_v190.py +166 -0
- devagent_physical_engine-1.9.0/src/devagent_physical_engine/ros2/task_motion_diagnostics_v190.py +22 -0
- devagent_physical_engine-1.9.0/src/devagent_physical_engine/ros2/trajectory_runtime_v190.py +78 -0
- devagent_physical_engine-1.9.0/src/devagent_physical_engine/ros2/workpiece_carrier_v190.py +330 -0
- devagent_physical_engine-1.9.0/src/devagent_physical_engine/ros2/workpiece_entity_replace_probe_v190.py +149 -0
- devagent_physical_engine-1.9.0/src/devagent_physical_engine/selective_verification_v16.py +562 -0
- devagent_physical_engine-1.9.0/src/devagent_physical_engine/selective_verification_v190.py +835 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/user_cli_v16.py +97 -47
- devagent_physical_engine-1.9.0/src/devagent_physical_engine/verification_capabilities_v190.py +348 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0/src/devagent_physical_engine.egg-info}/PKG-INFO +112 -21
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine.egg-info/SOURCES.txt +22 -0
- devagent_physical_engine-1.9.0/tests/test_controller_failure_diagnostics_v190.py +101 -0
- devagent_physical_engine-1.9.0/tests/test_dynamic_report_batch_v190.py +92 -0
- devagent_physical_engine-1.9.0/tests/test_dynamic_report_contract_end_to_end_v190.py +210 -0
- devagent_physical_engine-1.9.0/tests/test_dynamic_verification_capabilities_v190.py +111 -0
- devagent_physical_engine-1.9.0/tests/test_handoff_authority_v190.py +88 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_industrial_motion_v170.py +2 -21
- devagent_physical_engine-1.9.0/tests/test_joint_state_metric_authority_v190.py +106 -0
- devagent_physical_engine-1.9.0/tests/test_loaded_place_stability_v190.py +44 -0
- devagent_physical_engine-1.9.0/tests/test_metric_authority_surface_v190.py +131 -0
- devagent_physical_engine-1.9.0/tests/test_motion_handoff_stability_v190.py +138 -0
- devagent_physical_engine-1.9.0/tests/test_one_command_v190_injection.py +41 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_package_metadata_v184.py +2 -2
- devagent_physical_engine-1.9.0/tests/test_report_orchestration_v190.py +373 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_report_test_visual_execution_v16.py +96 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_transfer_place_diagnostic_v172.py +2 -2
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_user_cli_report_visual_v16.py +67 -14
- devagent_physical_engine-1.9.0/tests/test_workpiece_carrier_v190.py +92 -0
- devagent_physical_engine-1.8.9/src/devagent_physical_engine/one_command_v16.py +0 -97
- devagent_physical_engine-1.8.9/src/devagent_physical_engine/selective_verification_v16.py +0 -128
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/NOTICE +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/setup.cfg +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/agent/__init__.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/agent/compiler.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/agent/contracts.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/agent/coordinator.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/agent/critic.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/agent/evidence.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/agent/interpreter.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/agent/planner.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/agent/recovery.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/agent/routing.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/agent/runtime.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/agent/semantic.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/agent/structured.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ai_cli.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/cli.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/commercial.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/commercial_campaign.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/commercial_cli.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/commercial_importer.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/commercial_intelligence.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/commercial_readiness.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/commercial_repository.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/continuous_clearance.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/controller_runtime_hotfix_v181.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/doctor.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/engineering_agent.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/engineering_request.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/evidence_replay.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/evidence_trust.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/execution.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/industrial_motion_v170.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/models.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/one_command.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/one_command_runtime.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/one_command_v15.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/operating_envelope.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/optimization/__init__.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/optimization/benchmark.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/optimization/candidates.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/optimization/contracts.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/optimization/evaluator.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/optimization/evidence.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/optimization/experience.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/optimization/measured.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/optimization/optimizer.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/optimization/orchestrator.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/physical_campaign.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/physical_evidence.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/physical_motion.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/planning.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/pose_math.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/preexecution_contract.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/production_authority.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/production_grade.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/project.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/provider_adapters/__init__.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/provider_adapters/anthropic.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/provider_adapters/common.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/provider_adapters/factory.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/provider_adapters/gemini.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/provider_adapters/openai.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/provider_criterion.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/provider_qualification.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/providers.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/qualification.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/qualification_cli.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/qualification_harness.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/reference_workcell.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/robot_platform.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/robot_support_v18.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/robots.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/__init__.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/abb_irb1200.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/abb_irb1200_preview.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/acceptance.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/commands.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/continuous_clearance_probe.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/controller_action_probe.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/destination_support_contact_v182.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/doctor.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/fk_pose.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/fk_probe.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/frame_alignment.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/gazebo_cli.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/gazebo_pose.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/gazebo_world.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/industrial_sequence_planner_v170.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/industrial_sequence_planner_v171.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/industrial_sequence_planner_v172.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/industrial_sequence_planner_v182.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/joint_state_probe.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/joint_state_recorder.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/measured_motion.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/moveit_joint_plan_probe.py +0 -0
- {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
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/moveit_scene.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/moveit_task_planner.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/pilz_sequence_plan_probe.py +0 -0
- {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
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/preexecution.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/qualification.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/qualification_v10.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/qualification_v11.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/qualification_v12.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/report_test_visualization.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/report_test_visualization_v170.py +0 -0
- {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
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/scene_probe.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/state_validity_probe.py +0 -0
- {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
- {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
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/support_contact_lease_v170.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/support_contact_runner_v161.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/support_contact_v161.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/task_visualization.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/tf_probe.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/tool_scene.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/tool_scene_probe.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/trajectory.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/trajectory_action_probe.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/trajectory_feedback_tracking_v189.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/trajectory_tracking.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/ur5e.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/ur5e_adapter.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/ur5e_v10_adapter.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/workpiece_follow.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/workpiece_gazebo_follower.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/workpiece_scene.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/workpiece_scene_probe.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/workpiece_scene_probe_v186.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/workpiece_scene_probe_v187.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/workpiece_scene_probe_v188.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/workpiece_scene_probe_v189.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/ros2/workpiece_transport.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/selective_verification.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/setup_profile.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/sim_real_qualification.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/simulation.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/simulation_platform.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/smooth_motion_hotfix_v162.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/support_contact_hotfix_v161.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/tool_collision.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/trajectory_qualification.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/twin.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/twin_builder.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/twin_codec.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/twin_materialization.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/user_cli.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/user_cli_v15.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/user_cli_v18.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/verification.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine/workpiece_lifecycle.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine.egg-info/dependency_links.txt +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine.egg-info/entry_points.txt +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine.egg-info/requires.txt +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/src/devagent_physical_engine.egg-info/top_level.txt +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_abb_irb1200_visual_v18.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_agent_core.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_agent_semantic_hardening.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_ai_cli.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_ai_cli_v07.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_commercial_importer_v1.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_commercial_intelligence_v15.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_commercial_readiness_v1.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_commercial_v1.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_continuous_clearance_v011.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_controller_runtime_hotfix_v181.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_core.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_destination_support_contact_v182.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_engineering_request_v07.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_evidence_replay_v12.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_evidence_trust_coverage_v12.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_evidence_trust_transport_v12.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_evidence_trust_v12.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_evidence_viewer_palette_v130.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_explicit_detach_world_reassert_v189.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_gazebo_cli_v0122.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_golden_abb_runner_v171.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_golden_abb_showcase.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_interpreter_profiles_v08.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_joint_state_probe_v0125.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_live_provider_qualification.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_measured_motion_v10.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_moveit_planning_diagnostics_v0125.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_moveit_scene_v0123.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_natural_language_agent_v07.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_one_command_hardening_v13.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_one_command_pose_hardening_v15.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_one_command_regression_v141.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_one_command_v13.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_openai_strict_schema_v0113.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_optimization_v05.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_physical_campaign_v09.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_physical_evidence_v09.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_physical_motion_v09.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_place_preexecution_acm_v189.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_planning_fallback_v012.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_pose_math_v0125.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_preexecution_contract_v10.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_production_authority_v11.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_production_grade_coverage_v11.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_production_grade_v11.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_project_spine_v013.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_provider_and_qualification.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_provider_criterion_v15.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_qualification_cli_lifecycle_v06.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_qualification_harness_v06.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_readme_pypi.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_real_provider_adapters.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_reference_workcell_ros_frames_v0125.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_reference_workcell_v012.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_release_resting_pose_v189.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_release_transaction_v189.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_report_test_contract_coverage_v16.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_report_test_lineage_v16.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_robot_platform_v08.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_ros2_production_receipts_v011.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_ros2_simulation.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_ros_trajectory_v09.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_selective_verification_v14.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_setup_profile.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_sim_real_qualification_v011.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_simulation_platform_v08.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_smooth_motion_hotfix_v162.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_support_contact_acm_semantics_v189.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_support_contact_hotfix_v161.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_tool_collision_v011.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_tool_scene_v0124.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_trajectory_action_contract_v189.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_trajectory_action_probe_v0125.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_trajectory_feedback_tracking_v189.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_trajectory_qualification_v09.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_trajectory_tracking_v0125.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_transfer_controller_policy_v189.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_twin_materialization_v10.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_twin_v08.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_ur5e_adapter_scopes_v09.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_ur5e_v10_adapter_scopes.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_user_cli_interactive_v131.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_user_cli_progress_v131.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_user_cli_selective_v14.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_user_cli_v15.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_user_cli_v15_hotfix_inheritance.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_v052_stabilization.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_v08_catalog_mapping_regression.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_workpiece_attach_semantics_v183.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_workpiece_lifecycle_v011.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_workpiece_scene_probe_v185.py +0 -0
- {devagent_physical_engine-1.8.9 → devagent_physical_engine-1.9.0}/tests/test_workpiece_semantic_lifecycle_v186.py +0 -0
- {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.
|
|
4
|
-
Summary: Verification-first robotics commissioning runtime with
|
|
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
|
[](https://pypi.org/project/devagent-physical-engine/)
|
|
45
46
|
[](https://pypi.org/project/devagent-physical-engine/)
|
|
46
47
|
[](#project-status)
|
|
48
|
+
[](https://github.com/sponsors/tomha85)
|
|
47
49
|
|
|
48
50
|
**Verification-first commissioning engineering for robotics and industrial automation.**
|
|
49
51
|
|
|
50
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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
|
|
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:
|
|
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-
|
|
517
|
-
|
|
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
|
|
601
|
+
`test SELECTOR` evaluates the selected criterion from existing qualified evidence without commanding the simulator.
|
|
525
602
|
|
|
526
|
-
`simulate TEST-X`
|
|
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.
|
|
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
|
-
|
|
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
|
|
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
|
[](https://pypi.org/project/devagent-physical-engine/)
|
|
4
4
|
[](https://pypi.org/project/devagent-physical-engine/)
|
|
5
5
|
[](#project-status)
|
|
6
|
+
[](https://github.com/sponsors/tomha85)
|
|
6
7
|
|
|
7
8
|
**Verification-first commissioning engineering for robotics and industrial automation.**
|
|
8
9
|
|
|
9
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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
|
|
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:
|
|
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-
|
|
476
|
-
|
|
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
|
|
559
|
+
`test SELECTOR` evaluates the selected criterion from existing qualified evidence without commanding the simulator.
|
|
484
560
|
|
|
485
|
-
`simulate TEST-X`
|
|
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.
|
|
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
|
-
|
|
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
|
|
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
|
-
description = "Verification-first robotics commissioning runtime with
|
|
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"
|