devagent-physical-engine 2.3.0__tar.gz → 2.3.1__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.3.0/src/devagent_physical_engine.egg-info → devagent_physical_engine-2.3.1}/PKG-INFO +9 -6
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/README.md +8 -5
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/pyproject.toml +1 -1
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/__init__.py +1 -1
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/report_test_execution.py +11 -4
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1/src/devagent_physical_engine.egg-info}/PKG-INFO +9 -6
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_golden_abb_showcase.py +48 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/NOTICE +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/setup.cfg +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/agent/__init__.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/agent/compiler.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/agent/contracts.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/agent/coordinator.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/agent/critic.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/agent/evidence.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/agent/interpreter.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/agent/planner.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/agent/recovery.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/agent/routing.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/agent/runtime.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/agent/semantic.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/agent/structured.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ai_cli.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/cli.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/commercial.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/commercial_campaign.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/commercial_cli.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/commercial_importer.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/commercial_intelligence.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/commercial_readiness.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/commercial_repository.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/commissioning_agent.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/commissioning_agent_cli.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/commissioning_evidence.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/commissioning_readiness.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/continuous_clearance.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/controller_runtime_hotfix_v181.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/doctor.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/dynamic_verification_runtime_v190.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/engineering_agent.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/engineering_findings.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/engineering_request.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/evidence_provider_cli.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/evidence_provider_gateway.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/evidence_provider_policy.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/evidence_replay.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/evidence_trust.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/execution.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/guided_intake_cli.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/guided_intake_v23.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/industrial_motion_hotfix_v170.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/industrial_motion_v170.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/industrial_motion_v182.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/models.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/one_command.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/one_command_runtime.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/one_command_v15.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/one_command_v16.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/one_command_v22.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/one_command_v23.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/operating_envelope.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/optimization/__init__.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/optimization/benchmark.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/optimization/candidates.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/optimization/contracts.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/optimization/evaluator.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/optimization/evidence.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/optimization/experience.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/optimization/measured.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/optimization/optimizer.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/optimization/orchestrator.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/physical_campaign.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/physical_evidence.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/physical_evidence_v190.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/physical_motion.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/planning.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/pose_math.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/preexecution_contract.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/production_authority.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/production_grade.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/project.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/provider_adapters/__init__.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/provider_adapters/anthropic.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/provider_adapters/common.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/provider_adapters/factory.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/provider_adapters/gemini.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/provider_adapters/openai.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/provider_criterion.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/provider_qualification.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/providers.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/qualification.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/qualification_cli.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/qualification_harness.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/reference_workcell.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/report_requirements_v190.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/report_test_execution_strict.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/robot_exercise_cli.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/robot_platform.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/robot_qualification_acceptance.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/robot_qualification_acceptance_cli.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/robot_qualification_cli.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/robot_qualification_report_store.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/robot_simulation_promotion_v211.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/robot_support_contract.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/robot_support_industrial_v2.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/robot_support_v18.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/robots.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/__init__.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/abb_irb1200.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/abb_irb1200_preview.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/abb_irb1200_verified.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/abb_runtime_probe.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/acceptance.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/commands.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/continuous_clearance_probe.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/controller_action_probe.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/destination_support_contact_v182.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/direct_controller_discovery_runner.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/doctor.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/fanuc_crx10ia.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/fanuc_crx10ia_physics.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/fk_pose.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/fk_probe.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/frame_alignment.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/gazebo_cli.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/gazebo_overlay_support.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/gazebo_pose.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/gazebo_world.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/industrial_arm_runtime_gate.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/industrial_arm_runtime_probe.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/industrial_arm_task_adapters.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/industrial_arm_task_runtime.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/industrial_sequence_planner_v170.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/industrial_sequence_planner_v171.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/industrial_sequence_planner_v172.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/industrial_sequence_planner_v182.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/joint_state_probe.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/joint_state_recorder.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/kuka_kr6_r900_2.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/kuka_kr6_r900_2_verified.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/measured_motion.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/moveit_joint_plan_probe.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/moveit_joint_plan_v161_probe.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/moveit_scene.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/moveit_task_planner.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/pilz_sequence_plan_probe.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/pilz_sequence_plan_probe_v182.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/preexecution.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/qualification.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/qualification_multivendor.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/qualification_provenance.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/qualification_v10.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/qualification_v11.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/qualification_v12.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/report_test_visualization.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/report_test_visualization_v170.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/robot_description_probe.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/ros_gz_pose_service_probe.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/ros_python_runtime.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/runtime_quiescence.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/runtime_quiescence_probe.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/scene_probe.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/state_validity_probe.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/support_contact_acm_probe_v170.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/support_contact_acm_semantics_v189.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/support_contact_lease_v170.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/support_contact_runner_v161.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/support_contact_v161.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/task_adapter.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/task_adapter_v190.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/task_motion_diagnostics_v190.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/task_visualization.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/tf_probe.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/tool_scene.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/tool_scene_probe.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/trajectory.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/trajectory_action_probe.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/trajectory_feedback_tracking_v189.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/trajectory_runtime_v190.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/trajectory_tracking.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/ur5e.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/ur5e_adapter.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/ur5e_v10_adapter.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/workpiece_carrier_v190.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/workpiece_entity_replace_probe_v190.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/workpiece_follow.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/workpiece_gazebo_follower.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/workpiece_scene.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/workpiece_scene_probe.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/workpiece_scene_probe_v186.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/workpiece_scene_probe_v187.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/workpiece_scene_probe_v188.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/workpiece_scene_probe_v189.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/ros2/workpiece_transport.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/selective_verification.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/selective_verification_v16.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/selective_verification_v190.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/setup_profile.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/sim_real_qualification.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/simulation.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/simulation_platform.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/smooth_motion_hotfix_v162.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/support_contact_hotfix_v161.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/tool_collision.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/trajectory_qualification.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/twin.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/twin_builder.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/twin_codec.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/twin_materialization.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/user_cli.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/user_cli_v15.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/user_cli_v16.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/user_cli_v18.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/user_cli_v191.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/user_cli_v22.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/user_cli_v23.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/verification.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/verification_capabilities_v190.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/verification_scope_authority.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine/workpiece_lifecycle.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine.egg-info/SOURCES.txt +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine.egg-info/dependency_links.txt +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine.egg-info/entry_points.txt +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine.egg-info/requires.txt +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/src/devagent_physical_engine.egg-info/top_level.txt +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_abb_clock_provenance_v2.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_abb_gazebo_resource_path_v2.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_abb_irb1200_visual_v18.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_abb_robot_description_bootstrap_v2.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_abb_robot_description_payload_gate_v2.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_abb_runtime_direct_probe_v2.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_abb_sim_clock_v2.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_agent_core.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_agent_semantic_hardening.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_ai_cli.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_ai_cli_v07.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_commercial_importer_v1.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_commercial_intelligence_v15.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_commercial_readiness_v1.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_commercial_v1.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_commissioning_agent_orchestrator_v22.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_commissioning_core_v20.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_commissioning_evidence_graph_v20.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_continuous_clearance_v011.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_controller_failure_diagnostics_v190.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_controller_runtime_hotfix_v181.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_core.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_destination_support_contact_v182.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_dynamic_report_batch_v190.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_dynamic_report_contract_end_to_end_v190.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_dynamic_verification_capabilities_v190.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_engineering_request_v07.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_evidence_provider_gateway_v2.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_evidence_replay_v12.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_evidence_trust_coverage_v12.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_evidence_trust_transport_v12.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_evidence_trust_v12.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_evidence_viewer_palette_v130.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_explicit_detach_world_reassert_v189.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_external_evidence_campaign_authority_v2.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_fanuc_physics_tolerance_v2.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_fresh_simulation_cli_v191.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_fresh_simulation_service_v191.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_gazebo_cli_v0122.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_golden_abb_runner_v171.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_guided_intake_v23.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_handoff_authority_v190.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_industrial_arm_functional_parity_v192.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_industrial_arm_replay_authority_v192.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_industrial_motion_v170.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_industrial_robot_simulation_v2.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_interpreter_profiles_v08.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_joint_state_metric_authority_v190.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_joint_state_probe_v0125.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_kuka_verified_runtime_v2.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_live_provider_qualification.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_loaded_place_stability_v190.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_measured_motion_v10.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_metric_authority_surface_v190.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_motion_handoff_stability_v190.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_moveit_planning_diagnostics_v0125.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_moveit_scene_v0123.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_multivendor_runtime_hardening_v2.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_multivendor_sim_promotion_v211.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_multivendor_sim_qualification_v2.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_natural_language_agent_v07.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_one_command_hardening_v13.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_one_command_pose_hardening_v15.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_one_command_regression_v141.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_one_command_v13.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_one_command_v190_injection.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_openai_strict_schema_v0113.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_optimization_v05.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_package_metadata_v184.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_physical_campaign_v09.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_physical_evidence_v09.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_physical_motion_v09.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_place_preexecution_acm_v189.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_planning_fallback_v012.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_pose_math_v0125.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_preexecution_contract_v10.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_production_authority_v11.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_production_external_evidence_v11.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_production_grade_coverage_v11.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_production_grade_v11.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_project_spine_v013.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_provider_and_qualification.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_provider_criterion_v15.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_qualification_cli_lifecycle_v06.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_qualification_harness_v06.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_readme_pypi.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_real_provider_adapters.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_reference_workcell_ros_frames_v0125.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_reference_workcell_v012.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_release_resting_pose_v189.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_release_transaction_v189.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_report_orchestration_v190.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_report_test_contract_coverage_v16.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_report_test_lineage_v16.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_report_test_visual_execution_v16.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_robot_platform_v08.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_robot_qualification_acceptance_v2.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_robot_qualification_review_fixes_v2.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_robot_support_contract_v2.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_ros2_production_receipts_v011.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_ros2_simulation.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_ros_process_group_cleanup_v2.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_ros_trajectory_v09.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_runtime_quiescence_v2.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_selective_verification_v14.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_setup_profile.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_sim_real_qualification_v011.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_simulation_platform_v08.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_smooth_motion_hotfix_v162.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_support_contact_acm_semantics_v189.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_support_contact_hotfix_v161.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_tool_collision_v011.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_tool_scene_v0124.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_trajectory_action_contract_v189.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_trajectory_action_probe_v0125.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_trajectory_feedback_tracking_v189.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_trajectory_qualification_v09.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_trajectory_tracking_v0125.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_transfer_controller_policy_v189.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_transfer_place_diagnostic_v172.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_twin_materialization_v10.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_twin_v08.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_ur5e_adapter_scopes_v09.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_ur5e_v10_adapter_scopes.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_user_cli_interactive_v131.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_user_cli_progress_v131.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_user_cli_report_visual_v16.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_user_cli_selective_v14.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_user_cli_v15.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_user_cli_v15_hotfix_inheritance.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_v052_stabilization.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_v08_catalog_mapping_regression.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_verification_scope_authority_v20.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_workpiece_attach_semantics_v183.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_workpiece_carrier_v190.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_workpiece_lifecycle_v011.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_workpiece_scene_probe_v185.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_workpiece_semantic_lifecycle_v186.py +0 -0
- {devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_workpiece_transport_v189.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: devagent-physical-engine
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.1
|
|
4
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
|
|
@@ -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.3.
|
|
128
|
+
python -m pip install --upgrade devagent-physical-engine==2.3.1
|
|
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.3.
|
|
140
|
+
2.3.1
|
|
141
141
|
```
|
|
142
142
|
|
|
143
143
|
Run the normal customer workflow:
|
|
@@ -648,9 +648,9 @@ devagent-physical-ai optional provider-backed engineering front end
|
|
|
648
648
|
|
|
649
649
|
# Project status
|
|
650
650
|
|
|
651
|
-
**v2.3.
|
|
651
|
+
**v2.3.1 — Production/Stable software workflow; Flexible Guided Multi-Vendor Intake + selective-simulation fail-closed hardening**
|
|
652
652
|
|
|
653
|
-
v2.3.0
|
|
653
|
+
v2.3.1 retains the v2.3 flexible customer entry workflow and hardens selective physical simulation so unsupported robot profiles fail closed as bounded `BLOCKED` results instead of surfacing runtime exceptions. v2.3.0 made 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
654
|
|
|
655
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.
|
|
656
656
|
|
|
@@ -693,7 +693,7 @@ immutable multi-context agent snapshots + stale-context abort
|
|
|
693
693
|
opt-in human-promoted advisory engineering memory
|
|
694
694
|
```
|
|
695
695
|
|
|
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.
|
|
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.1 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.
|
|
697
697
|
|
|
698
698
|
Current hard authority boundaries remain:
|
|
699
699
|
|
|
@@ -714,6 +714,9 @@ https://github.com/tomha85/devagent-physical-engine/blob/main/docs/FLEXIBLE_GUID
|
|
|
714
714
|
Commissioning Agent Orchestrator:
|
|
715
715
|
https://github.com/tomha85/devagent-physical-engine/blob/main/docs/COMMISSIONING_AGENT_ORCHESTRATOR_V1.md
|
|
716
716
|
|
|
717
|
+
v2.3.1 release notes:
|
|
718
|
+
https://github.com/tomha85/devagent-physical-engine/blob/main/docs/RELEASE_NOTES_V2_3_1.md
|
|
719
|
+
|
|
717
720
|
v2.3.0 release notes:
|
|
718
721
|
https://github.com/tomha85/devagent-physical-engine/blob/main/docs/RELEASE_NOTES_V2_3_0.md
|
|
719
722
|
|
|
@@ -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.3.
|
|
86
|
+
python -m pip install --upgrade devagent-physical-engine==2.3.1
|
|
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.3.
|
|
98
|
+
2.3.1
|
|
99
99
|
```
|
|
100
100
|
|
|
101
101
|
Run the normal customer workflow:
|
|
@@ -606,9 +606,9 @@ devagent-physical-ai optional provider-backed engineering front end
|
|
|
606
606
|
|
|
607
607
|
# Project status
|
|
608
608
|
|
|
609
|
-
**v2.3.
|
|
609
|
+
**v2.3.1 — Production/Stable software workflow; Flexible Guided Multi-Vendor Intake + selective-simulation fail-closed hardening**
|
|
610
610
|
|
|
611
|
-
v2.3.0
|
|
611
|
+
v2.3.1 retains the v2.3 flexible customer entry workflow and hardens selective physical simulation so unsupported robot profiles fail closed as bounded `BLOCKED` results instead of surfacing runtime exceptions. v2.3.0 made 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
612
|
|
|
613
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.
|
|
614
614
|
|
|
@@ -651,7 +651,7 @@ immutable multi-context agent snapshots + stale-context abort
|
|
|
651
651
|
opt-in human-promoted advisory engineering memory
|
|
652
652
|
```
|
|
653
653
|
|
|
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.
|
|
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.1 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.
|
|
655
655
|
|
|
656
656
|
Current hard authority boundaries remain:
|
|
657
657
|
|
|
@@ -672,6 +672,9 @@ https://github.com/tomha85/devagent-physical-engine/blob/main/docs/FLEXIBLE_GUID
|
|
|
672
672
|
Commissioning Agent Orchestrator:
|
|
673
673
|
https://github.com/tomha85/devagent-physical-engine/blob/main/docs/COMMISSIONING_AGENT_ORCHESTRATOR_V1.md
|
|
674
674
|
|
|
675
|
+
v2.3.1 release notes:
|
|
676
|
+
https://github.com/tomha85/devagent-physical-engine/blob/main/docs/RELEASE_NOTES_V2_3_1.md
|
|
677
|
+
|
|
675
678
|
v2.3.0 release notes:
|
|
676
679
|
https://github.com/tomha85/devagent-physical-engine/blob/main/docs/RELEASE_NOTES_V2_3_0.md
|
|
677
680
|
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "devagent-physical-engine"
|
|
7
|
-
version = "2.3.
|
|
7
|
+
version = "2.3.1"
|
|
8
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"
|
|
@@ -10,6 +10,7 @@ from .commercial_intelligence import SimulationExecutionReceipt
|
|
|
10
10
|
from .commercial_repository import CommercialProjectRepository
|
|
11
11
|
from .production_authority import PhysicalEvidenceRecorder
|
|
12
12
|
from .project import EvidenceArtifactRecord, ProjectError, TwinRevisionRecord
|
|
13
|
+
from .simulation_platform import SimulationPlatformError
|
|
13
14
|
from .twin_codec import twin_from_revision
|
|
14
15
|
from .ros2.commands import SubprocessRosRunner
|
|
15
16
|
from .ros2.report_test_visualization import (
|
|
@@ -238,10 +239,16 @@ class ReportTestExecutionRuntime:
|
|
|
238
239
|
)
|
|
239
240
|
_require_nominal_case(case)
|
|
240
241
|
twin = twin_from_revision(revision)
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
242
|
+
try:
|
|
243
|
+
request = request_from_report_twin(
|
|
244
|
+
twin,
|
|
245
|
+
request_id=f"REQ-REPORT-{project_id}-{revision_id}-{case_id}",
|
|
246
|
+
)
|
|
247
|
+
except SimulationPlatformError as exc:
|
|
248
|
+
code = str(exc).split(":", 1)[0] or type(exc).__name__
|
|
249
|
+
if code == "report_visual_profile_requires_ur5e":
|
|
250
|
+
code = "imported_customer_twin_execution_adapter_not_yet_qualified"
|
|
251
|
+
raise ReportTestExecutionBlocked(code) from exc
|
|
245
252
|
try:
|
|
246
253
|
profile_hash = require_qualified_report_profile(twin, request)
|
|
247
254
|
except Exception as exc:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: devagent-physical-engine
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.1
|
|
4
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
|
|
@@ -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.3.
|
|
128
|
+
python -m pip install --upgrade devagent-physical-engine==2.3.1
|
|
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.3.
|
|
140
|
+
2.3.1
|
|
141
141
|
```
|
|
142
142
|
|
|
143
143
|
Run the normal customer workflow:
|
|
@@ -648,9 +648,9 @@ devagent-physical-ai optional provider-backed engineering front end
|
|
|
648
648
|
|
|
649
649
|
# Project status
|
|
650
650
|
|
|
651
|
-
**v2.3.
|
|
651
|
+
**v2.3.1 — Production/Stable software workflow; Flexible Guided Multi-Vendor Intake + selective-simulation fail-closed hardening**
|
|
652
652
|
|
|
653
|
-
v2.3.0
|
|
653
|
+
v2.3.1 retains the v2.3 flexible customer entry workflow and hardens selective physical simulation so unsupported robot profiles fail closed as bounded `BLOCKED` results instead of surfacing runtime exceptions. v2.3.0 made 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
654
|
|
|
655
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.
|
|
656
656
|
|
|
@@ -693,7 +693,7 @@ immutable multi-context agent snapshots + stale-context abort
|
|
|
693
693
|
opt-in human-promoted advisory engineering memory
|
|
694
694
|
```
|
|
695
695
|
|
|
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.
|
|
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.1 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.
|
|
697
697
|
|
|
698
698
|
Current hard authority boundaries remain:
|
|
699
699
|
|
|
@@ -714,6 +714,9 @@ https://github.com/tomha85/devagent-physical-engine/blob/main/docs/FLEXIBLE_GUID
|
|
|
714
714
|
Commissioning Agent Orchestrator:
|
|
715
715
|
https://github.com/tomha85/devagent-physical-engine/blob/main/docs/COMMISSIONING_AGENT_ORCHESTRATOR_V1.md
|
|
716
716
|
|
|
717
|
+
v2.3.1 release notes:
|
|
718
|
+
https://github.com/tomha85/devagent-physical-engine/blob/main/docs/RELEASE_NOTES_V2_3_1.md
|
|
719
|
+
|
|
717
720
|
v2.3.0 release notes:
|
|
718
721
|
https://github.com/tomha85/devagent-physical-engine/blob/main/docs/RELEASE_NOTES_V2_3_0.md
|
|
719
722
|
|
{devagent_physical_engine-2.3.0 → devagent_physical_engine-2.3.1}/tests/test_golden_abb_showcase.py
RENAMED
|
@@ -8,6 +8,8 @@ import unittest
|
|
|
8
8
|
import xml.etree.ElementTree as ET
|
|
9
9
|
|
|
10
10
|
from devagent_physical_engine.one_command_v16 import OneCommandVerifier
|
|
11
|
+
from devagent_physical_engine.report_test_execution_strict import ReportTestSelectiveExecutor
|
|
12
|
+
from devagent_physical_engine.selective_verification_v190 import SelectiveVerificationServiceV190
|
|
11
13
|
|
|
12
14
|
|
|
13
15
|
FIXTURE = (
|
|
@@ -99,5 +101,51 @@ class GoldenAbbIrb1200ShowcaseTests(unittest.TestCase):
|
|
|
99
101
|
)
|
|
100
102
|
|
|
101
103
|
|
|
104
|
+
def test_selective_physical_simulation_for_abb_fails_closed_without_runtime_execution(self) -> None:
|
|
105
|
+
with tempfile.TemporaryDirectory() as tmp:
|
|
106
|
+
root = Path(tmp)
|
|
107
|
+
source = root / "GOLDEN_ABB_IRB1200_CNC_CELL"
|
|
108
|
+
shutil.copytree(FIXTURE, source)
|
|
109
|
+
output = root / "results"
|
|
110
|
+
verifier = OneCommandVerifier(root / "projects.db")
|
|
111
|
+
result = verifier.verify(source, output_dir=output, simulate=False)
|
|
112
|
+
|
|
113
|
+
visual_calls: list[str] = []
|
|
114
|
+
|
|
115
|
+
def unexpected_visual_runner(*_args, **_kwargs):
|
|
116
|
+
visual_calls.append("called")
|
|
117
|
+
self.fail("UR5e-only report visual runtime must not execute for ABB")
|
|
118
|
+
|
|
119
|
+
executor = ReportTestSelectiveExecutor(
|
|
120
|
+
verifier.repository,
|
|
121
|
+
source_root=source,
|
|
122
|
+
keep_open=False,
|
|
123
|
+
visual_runner=unexpected_visual_runner,
|
|
124
|
+
runner_factory=lambda: object(),
|
|
125
|
+
)
|
|
126
|
+
service = SelectiveVerificationServiceV190(verifier.repository)
|
|
127
|
+
|
|
128
|
+
for selector in ("REQ-ABB-101", "TEST-ABB-101", "all"):
|
|
129
|
+
artifact = service.run_simulation(
|
|
130
|
+
project_id=result.project_id,
|
|
131
|
+
selector=selector,
|
|
132
|
+
parent_campaign_artifact_id=result.campaign_artifact_id,
|
|
133
|
+
executor=executor,
|
|
134
|
+
)
|
|
135
|
+
self.assertEqual(artifact.payload["state"], "blocked")
|
|
136
|
+
self.assertIn(
|
|
137
|
+
"imported_customer_twin_execution_adapter_not_yet_qualified",
|
|
138
|
+
artifact.payload["reason"],
|
|
139
|
+
)
|
|
140
|
+
self.assertFalse(artifact.payload["execution_performed"])
|
|
141
|
+
self.assertFalse(artifact.payload["release_ready"])
|
|
142
|
+
self.assertFalse(artifact.payload["real_execution_allowed"])
|
|
143
|
+
self.assertIsNone(
|
|
144
|
+
artifact.payload.get("physical_measurement_artifact_id")
|
|
145
|
+
)
|
|
146
|
+
|
|
147
|
+
self.assertEqual(visual_calls, [])
|
|
148
|
+
|
|
149
|
+
|
|
102
150
|
if __name__ == "__main__":
|
|
103
151
|
unittest.main()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|