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