Skip to main content

DevAgent Smart Physical Engine

Verification-first agentic engineering, planning, optimization, simulation, and evidence runtime for robotic and industrial automation.

AI proposes. Deterministic engines validate, compile, verify, simulate, measure, and gate promotion. Existing certified controllers remain authoritative.

DevAgent Smart Physical Engine is designed to add AI-assisted engineering to existing automation without replacing robot controllers, PLCs, safety controllers, or real-time servo loops. The core is provider-neutral and keeps engineering authority separated from model output.

Current version

v0.10.0 — Alpha

The Python software stack is regression-tested in GitHub Actions on Python 3.11, 3.12, and 3.13. The UR5e Gazebo/MoveIt canonical physical-simulation runtime is implemented but remains EXPERIMENTAL until executable target-workstation qualification promotes its individual scopes.

Real robot execution remains locked. Functional-safety certification is not claimed.

What v0.10.0 includes

Area Status
Provider-neutral Agent Core Implemented
OpenAI structured provider adapter Implemented
Anthropic structured provider adapter Implemented
Gemini structured provider adapter Implemented
Planner / Critic / Recovery Implemented
Natural-language engineering request front door Implemented
Deterministic request/compiler/policy gates Implemented
Multi-vendor robot profile registry Implemented
UR5e / FANUC CRX / KUKA KR / ABB IRB profile abstraction Implemented
Evidence-aware canonical TwinSpec Implemented
Deterministic Twin validation and confidence levels Implemented
Bounded candidate generation and Pareto optimization Implemented
Replayable qualification/evidence primitives Implemented
Canonical physical motion contract Implemented
Measured joint-state trajectory runtime Implemented
Canonical Twin -> Gazebo + MoveIt materialization Implemented
Gazebo / TF / MoveIt backend read-back verification Implemented
Sampled MoveIt pre-execution state-validity checks Implemented, discrete only
Measured motion duration / joint travel Implemented
MoveIt FK TCP path length / final TCP error Implemented
UR5e canonical Gazebo/MoveIt adapter EXPERIMENTAL
Continuous collision checking qualification Not qualified
Minimum-clearance measurement Not qualified
Sim-real correlation Not qualified
Site qualification Not qualified
Real robot execution Locked
Functional-safety certification Not claimed

Trust chain

flowchart TD
    USER[Engineer / customer application] --> REQUEST[Natural-language engineering request]
    REQUEST --> INTERPRETER[Requirement Interpreter]

    INTERPRETER --> OAI[OpenAI]
    INTERPRETER --> CLAUDE[Anthropic]
    INTERPRETER --> GEMINI[Gemini]

    OAI --> AGENTS[Planner / Critic / Recovery]
    CLAUDE --> AGENTS
    GEMINI --> AGENTS

    AGENTS --> COMPILE[Deterministic compile + policy]
    COMPILE --> VERIFY[Verified plan artifact]
    VERIFY --> TWIN[Canonical TwinSpec + SHA256]
    TWIN --> MATERIALIZE[Canonical materialization]

    MATERIALIZE --> GZ[Gazebo world]
    MATERIALIZE --> MOVEIT[MoveIt PlanningScene]
    MATERIALIZE --> TF[TF / frame model]

    GZ --> READBACK[Backend read-back verification]
    MOVEIT --> READBACK
    TF --> READBACK

    READBACK --> PRECHECK[Pre-execution verification]
    PRECHECK --> MOTION[Exact PhysicalMotionPlan]
    MOTION --> SIM[Gazebo / ROS 2 execution]
    SIM --> MEASURE[Measured joint states + MoveIt FK]
    MEASURE --> EVIDENCE[Replayable evidence]
    EVIDENCE --> PROMOTION[Evidence-driven promotion gate]

    PROMOTION --> LOCKED[Real execution remains locked]

The v0.10 architecture is specifically designed to prevent DevAgent from validating one Twin while MoveIt plans against a different scene and Gazebo executes a different world. One canonical Twin fingerprint is carried through materialization, backend read-back, pre-execution verification, motion execution, and evidence.

Safety and qualification boundary

A successful software test or simulation run does not automatically create a commissioning or real-hardware claim.

The v0.10 canonical qualification report deliberately keeps:

physical_qualification      = false
commissioning_qualification = false
continuous_collision_check  = false
minimum_clearance_measured  = false
real_execution_allowed      = false
site_qualification          = false

A reference campaign can produce promotion-candidate evidence for an experimental scope, but promotion remains evidence-driven and scope-specific.

Installation from source

Python 3.11+ is required.

git clone https://github.com/tomha85/devagent-physical-engine.git
cd devagent-physical-engine
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e .

Optional AI provider SDKs:

python -m pip install -e ".[openai]"
python -m pip install -e ".[anthropic]"
python -m pip install -e ".[gemini]"
python -m pip install -e ".[ai]"

pip install does not install ROS/Gazebo system packages or perform privileged OS changes.

AI providers

Credentials stay outside the world model:

export OPENAI_API_KEY='...'
export ANTHROPIC_API_KEY='...'
export GEMINI_API_KEY='...'

Check a provider without making a network qualification call:

devagent-physical-ai doctor --provider openai

Run live provider qualification:

devagent-physical-ai qualify --provider openai --model <model-id>

Interpret an engineering request:

devagent-physical-ai request \
  "Use a UR5e to move a part from conveyor_a to cnc_04" \
  --provider openai \
  --model <model-id>

Run the natural-language engineering pipeline:

devagent-physical-ai engineer \
  "Use a UR5e to move a part from conveyor_a to cnc_04" \
  --provider openai \
  --model <model-id>

Equivalent provider commands support Anthropic and Gemini. Live AI routing is simulation-only and does not unlock real execution.

See docs/AI_PROVIDERS.md and docs/NATURAL_LANGUAGE_ENGINEERING.md.

Deterministic verification

Core checks:

python -m compileall -q src tests
python -m unittest discover -s tests -v
devagent-physical doctor
devagent-physical qualify
devagent-physical simulate --robot fanuc_crx --inject-collision

The repository CI performs editable installation, compileall, and the full unittest regression matrix on Python 3.11 / 3.12 / 3.13.

UR5e ROS 2 / Gazebo target stack

Current reference target:

Ubuntu 24.04
ROS 2 Jazzy
Gazebo Harmonic
gz_ros2_control
Universal Robots ROS 2 driver
ur_simulation_gz
MoveIt 2

Inspect workstation changes without modifying the system:

devagent-physical setup --profile ur5e-sim --dry-run

Explicitly install/verify the supported workstation profile:

devagent-physical setup --profile ur5e-sim

Then run:

devagent-physical ros doctor
devagent-physical ros demo

The visual demo launches the official UR5e Gazebo + MoveIt/RViz stack, waits for controller readiness and /joint_states, performs a motion smoke, verifies measured joint-state movement, and records evidence.

Trajectory-runtime-only qualification is also available:

devagent-physical ros qualify-trajectory-runtime

That command qualifies only its defined scope and does not promote commissioning or real-hardware execution.

v0.10 canonical Twin qualification

The executable reference campaign is intentionally separate from ordinary GitHub CI because it requires the ROS/Gazebo/MoveIt target stack:

python -m devagent_physical_engine.ros2.qualification_v10 \
  --log-dir ~/.devagent/v10-canonical-qualification

The campaign requires canonical Gazebo/MoveIt materialization, TF alignment, backend scene read-back, sampled pre-execution validity, measured joint-state motion, and MoveIt FK evidence across the reference trajectories.

Even a green reference campaign remains an experimental-scope promotion candidate until the missing commissioning gates—such as continuous collision checking and qualified minimum-clearance measurement—are implemented and evidenced.

See docs/CANONICAL_TWIN_RUNTIME.md and docs/MEASURED_PHYSICAL_RUNTIME.md.

Optimization semantics

DevAgent does not claim a mathematical global optimum. It selects the best evaluated verified candidate among the candidates and motion variants that were actually generated, verified, and measured under the configured objective profile.

A candidate is ineligible when deterministic verification/simulation fails, a hard violation is reported, required metrics are unknown, or configured quality gates fail. Weighted scoring cannot make an unsafe or unverified plan acceptable.

See docs/OPTIMIZATION.md.

Documentation

Release policy

v0.10.0 is the first tagged GitHub release of this repository. It is an alpha engineering release, not a declaration of functional-safety certification, site qualification, or authorization for autonomous real-robot execution.

Future capability promotion must remain evidence-driven and must not silently upgrade experimental simulator results into commissioning claims.

Ownership

DevAgent Smart Physical Engine
Copyright © 2026 Tom Ha
Original creator: Tom Ha
Original project: https://github.com/tomha85/devagent-physical-engine
All rights reserved.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

devagent_physical_engine-0.10.0.tar.gz (161.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

devagent_physical_engine-0.10.0-py3-none-any.whl (165.9 kB view details)

Uploaded Python 3

File details

Details for the file devagent_physical_engine-0.10.0.tar.gz.

File metadata

File hashes

Hashes for devagent_physical_engine-0.10.0.tar.gz
Algorithm Hash digest
SHA256 dd155d08dc8183ba9e697d0aaa69d0ac8088ec560993d0ba36102c49e662e894
MD5 d6b19270161afa689f6bc23888c1c0eb
BLAKE2b-256 9d9d776bf240999a3ca36d0df691744279fb52837ae35c216589c4dc1bfd9e53

See more details on using hashes here.

Provenance

The following attestation bundles were made for devagent_physical_engine-0.10.0.tar.gz:

Publisher: release.yml on tomha85/devagent-physical-engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file devagent_physical_engine-0.10.0-py3-none-any.whl.

File metadata

File hashes

Hashes for devagent_physical_engine-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 18356cc52d82c71f07eaa9ee5307b8def2606bf45da5ac0dd84d318feca3a689
MD5 ad777bf15afc030e1d85d2f6c0386f2c
BLAKE2b-256 dc8921d721a706fe52fdf7ded1de872e063811bd60bb2cdaa86f7d1108cf59e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for devagent_physical_engine-0.10.0-py3-none-any.whl:

Publisher: release.yml on tomha85/devagent-physical-engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

2.4.0

2 files

2.3.1

2 files

2.3.0

2 files

2.2.0

2 files

2.1.1

2 files

2.1.0

2 files

2.0.0

2 files

1.9.1

2 files

1.9.0

2 files

1.8.9

2 files

1.8.8

2 files

1.8.6

2 files

1.8.5

2 files

1.8.4

2 files

1.8.2

2 files

1.8.1

2 files

1.8.0

2 files

1.7.2

2 files

1.7.1

2 files

1.7.0

2 files

1.6.2

2 files

1.6.1

2 files

1.6.0

2 files

1.5.0

2 files

1.4.1

2 files

1.4.0

2 files

1.3.1

2 files

1.3.0

2 files

1.2.0

2 files

1.1.0

2 files

1.0.0

2 files

0.13.0

2 files

0.12.5

2 files

0.12.4

2 files

0.12.3

2 files

0.12.2

2 files

0.12.1

2 files

0.12.0

2 files

0.11.6

2 files

0.11.5

2 files

0.11.4

2 files

0.11.3

2 files

0.11.2

2 files

This release

0.10.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page