Skip to main content

DevAgent Smart Physical Engine

PyPI Python Status: Production/Stable Sponsor DevAgent Physical Engine

Verification-first commissioning engineering for robotics and industrial automation.

DevAgent turns customer engineering inputs into a bounded, evidence-driven pre-site commissioning workflow. AI may help interpret and propose; deterministic engines validate, compile, execute qualified verification, measure evidence, detect regression, and gate promotion.

OEM robot controllers, PLCs, safety PLCs, certified safety systems, and qualified site processes remain authoritative. DevAgent does not convert simulation into site qualification or functional-safety certification.

Engine in action

DevAgent Smart Physical Engine exact-Twin UR5e workcell running in Gazebo Harmonic

Exact-Twin simulation in Gazebo Harmonic
Real DevAgent engine run with the bounded UR5e workcell, customer-cell entities, physics, and simulation state visible.

DevAgent Smart Physical Engine robot task execution in Gazebo
Robot task execution
Gazebo view during the bounded pick–transport–place workflow.
DevAgent Smart Physical Engine MoveIt motion planning scene in RViz
MoveIt motion planning
RViz planning-scene view used alongside the qualified ROS 2 / MoveIt execution path.

Real engine screenshots — not product renders. ROS 2 Jazzy · Gazebo Harmonic · MoveIt 2 · Pilz · UR5e exact-Twin verification.

v2.1 commissioning verification flow

Customer engineering files
        ↓
Immutable project + Twin revision
        ↓
Engineering review
        ↓
Requirements + findings + risks + changes
        ↓
Deterministic criterion mapping
        ↓
Requirement-driven verification plan
        ↓
Verification-scope authority
        ↓
Deterministic checks + qualified physical evidence
        ↓
Evidence Graph
        ↓
PASS / FAIL / NOT_TESTED
        ↓
Change Impact + Regression
        ↓
FAT Report + Evidence Bundle
        ↓
Immutable pre-site commissioning decision

The final bounded decision is one of:

READY_FOR_PRE_SITE_COMMISSIONING
NOT_READY_FOR_PRE_SITE_COMMISSIONING

That decision means the declared pre-site engineering scope has complete, current evidence according to DevAgent's installed authority contracts. It does not mean the real site is commissioned.

Quick start

Python 3.11+ is required.

python -m pip install --upgrade devagent-physical-engine==2.1.0

Verify the installed package:

python -c "import devagent_physical_engine as d; print(d.__version__)"

Expected:

2.1.0

Run the normal customer workflow:

devagent verify ./customer-project

Request qualified simulation where available:

devagent verify ./customer-project --simulate

Open the Evidence Viewer and keep the engineering terminal active:

devagent verify ./customer-project --simulate --open

Machine-readable CI output:

devagent verify ./customer-project --json

Default locations:

Evidence database: ~/.devagent/projects.db
Results:           <customer-project>/devagent-results/

Commercial commissioning workflow

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.

devagent-commercial is the lower-level immutable project/evidence/control-plane interface. It is useful for explicit artifact operations, CI, audit, and commissioning-readiness inspection.

Example low-level operations:

devagent-commercial --db ~/.devagent/projects.db init CELL-01 \
  --name "Customer Cell" \
  --site SITE-01 \
  --workcell CNC-LOAD

devagent-commercial --db ~/.devagent/projects.db import-twin CELL-01 ./customer-project

devagent-commercial --db ~/.devagent/projects.db requirements CELL-01 requirements.yaml

devagent-commercial --db ~/.devagent/projects.db engineering-review CELL-01 <requirement-set-artifact-id>

devagent-commercial --db ~/.devagent/projects.db verification-plan CELL-01 verification.yaml

devagent-commercial --db ~/.devagent/projects.db campaign CELL-01 requirements.yaml \
  --measurement <physical-measurement-artifact-id>

devagent-commercial --db ~/.devagent/projects.db fat-report CELL-01 <campaign-artifact-id>

devagent-commercial --db ~/.devagent/projects.db evidence-bundle CELL-01 <campaign-artifact-id>

devagent-commercial --db ~/.devagent/projects.db commissioning-readiness CELL-01

devagent-commercial --db ~/.devagent/projects.db commissioning-status CELL-01

verification-plan records an explicit deterministic plan from the supplied spec. It does not invent a requirement→case mapping. Final commissioning readiness requires exact current requirement-to-case lineage; the one-command workflow records that mapping, and low-level/custom integrations must record equivalent immutable lineage instead of bypassing the gate.

Use finding-disposition to record an immutable engineering disposition. A blocking finding cannot be resolved without current-Twin evidence.

What DevAgent proves

DevAgent separates planning, execution, measurement, verdicts, and authority.

Requirement / report test
        ↓
Declarative verification capability
        ↓
Exact Twin revision/hash
        ↓
Exact verification plan + case mapping
        ↓
Qualified evidence reuse or qualified execution
        ↓
Measured evidence
        ↓
Deterministic verdict
        ↓
PASS / FAIL / NOT_TESTED

A generated plan is not physical proof. A replay is not a new execution. An AI response is not engineering evidence. A simulation result does not grant site qualification.

Engineering findings and risk authority

The v2 commissioning line records first-class immutable artifacts for:

engineering_finding
engineering_review
engineering_finding_disposition

High and critical findings are structurally blocking. AI or a human reviewer may propose findings, but findings do not create PASS authority.

A blocking finding may be marked resolved only when the disposition references evidence bound to the current Twin scope. Acknowledged, deferred, or accepted-risk records remain explicit and do not silently promote readiness.

Verification-scope authority

A verification plan is not trusted merely because it belongs to the same Twin.

VerificationScopeAuthority deterministically reconstructs the expected test space from the exact current campaign requirements and compares the stored plan and requirement-to-case mapping with that expected scope.

If a requirement change alters payload, boundary, or fault coverage but an old plan/map is reused, readiness fails closed.

Physical evidence authority

Internal simulation / hardware-shadow evidence

A standalone measurement JSON cannot grant final readiness merely by claiming gazebo_moveit, a run ID, and a qualification reference.

Internal evidence must preserve an exact immutable chain:

physical_measurement
        ↓
runtime_measurement_binding
        ↓
physical_motion_plan
        ↓
exact Twin + run + qualification lineage

External simulator evidence

External evidence is imported as candidate evidence and is independently gated by installed provider policy.

Built-in provider identities include:

ABB RobotStudio
FANUC ROBOGUIDE
KUKA.Sim
Visual Components
RoboDK
Siemens Process Simulate

These identities do not imply qualification. A provider remains candidate-only unless a code-reviewed policy explicitly qualifies its version/export schema and binds exact source provenance, candidate evidence, Twin hash, metrics, and qualification reference.

Whole-project staleness

Each pre-site decision records a deterministic readiness-state snapshot hash.

A previous READY result becomes stale when readiness-relevant state changes, including:

Twin revision
requirement set
engineering review
finding / disposition
verification plan
requirement-case mapping
physical measurement / runtime binding
campaign
change impact
regression
FAT report
evidence bundle

This also catches same-Twin changes. commissioning-status verifies both the decision hash and the current project-state snapshot before reporting READY.

Evidence Graph and replay

The read-only Evidence Graph links requirements, Twin revisions, campaigns, findings, dispositions, measurements, motion plans, regressions, FAT reports, evidence bundles, and final readiness decisions.

devagent-commercial --db ~/.devagent/projects.db evidence-graph CELL-01

Write a self-contained viewer:

devagent-commercial --db ~/.devagent/projects.db evidence-viewer CELL-01 \
  --output ./EVIDENCE.html

Replay reconstructs persisted evidence identity. It never commands Gazebo, MoveIt, a robot, PLC, or safety PLC.

Interactive engineering session

Use --interactive, or --open from a real terminal, to keep a bounded prompt:

status
tests
test SELECTOR
simulate SELECTOR
simulate all
simulate --fresh SELECTOR
simulate --fresh all
rerun SELECTOR
rerun failed
rerun blocked
rerun affected
rerun all
replay
report
log
help
quit

test SELECTOR evaluates existing evidence without commanding the simulator.

simulate TEST-X reuses exact qualified evidence when available and executes only when the mapped physical case is missing.

simulate --fresh TEST-X and physical rerun ... explicitly request new execution and append new immutable evidence.

Report-wide fresh execution still deduplicates shared physical case IDs.

Qualified visual-execution scope

Measured report-test execution remains intentionally narrow:

robot:       UR5e
operation:   load
case scope:  qualified mapped physical report cases within the packaged authority
runtime:     Ubuntu 24.04 + ROS 2 Jazzy + Gazebo Harmonic + MoveIt/Pilz

The target-proven UR5e path retains controller-manager/action readiness binding, canonical Twin/PlanningScene verification, conservative Pilz PTP/LIN motion, workpiece attach/carry/release semantics, controller-feedback tracking evidence, and post-release settle verification.

Unsupported customer Twins, unqualified robot profiles, boundary/fault cases outside the qualified scope, ambiguous case mappings, or incomplete lineage fail closed.

Exact ABB IRB1200, FANUC CRX-10iA, and KUKA KR6 R900-2 simulation qualification infrastructure is included in v2.1.0. Their packaged simulation tiers remain EXPERIMENTAL until accepted target-workstation reports are reviewed and a separate authority-promotion change is merged. Generic ABB/FANUC/KUKA family profiles remain MODEL_ONLY.

Inspect robot support:

devagent robots
devagent robot doctor abb_irb1200
devagent robot doctor fanuc_crx10ia
devagent robot doctor kuka_kr6_r900_2

Customer input

A customer folder can contain the engineering material the team already has:

ACME_CNC_CELL_TEST/
├── project.yaml
├── requirements.xlsx
├── devagent-twin.yaml
├── robot.urdf
├── robot.urdf.xacro
├── robot.srdf
├── tcp.yaml
├── calibration.yaml
├── layout/
│   ├── cell_layout.yaml
│   └── meshes/
├── robot_program/
│   └── mission.yaml
└── expected/
    └── expected_findings.json

Important rule:

file discovered != engineering fact proven

DevAgent fingerprints and classifies files, but filenames do not prove poses, TCPs, calibrations, collision geometry, safety behavior, or physical performance.

If critical information is missing or ambiguous, DevAgent asks for information instead of inventing engineering facts.

Results and evidence

Typical output:

customer-project/
└── devagent-results/
    ├── RUN.log
    ├── SUMMARY.json
    ├── INTAKE.json
    ├── QUESTIONS.md
    ├── normalized/
    │   ├── requirements.csv
    │   └── devagent-twin.yaml
    ├── report-test-visualization/
    ├── FAT_REPORT.html
    └── EVIDENCE.html

EVIDENCE.html is read-only engineering evidence. RUN.log is a human progress/debug trace and does not replace immutable evidence artifacts.

Physical simulation setup

pip install does not install ROS 2, Gazebo, MoveIt, OEM drivers, or privileged operating-system packages.

Reference stack:

Ubuntu 24.04
ROS 2 Jazzy
Gazebo Harmonic
gz_ros2_control
MoveIt 2

UR5e measured report-test execution additionally uses the Universal Robots ROS 2 driver, ur_simulation_gz, and Pilz Industrial Motion Planner.

Preview UR5e setup:

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

Apply explicitly:

devagent-physical setup --profile ur5e-sim --yes

Check runtime prerequisites:

devagent-physical ros doctor
devagent robot doctor abb_irb1200

Hosted CI validates deterministic software contracts. It does not pretend to execute a graphical ROS/Gazebo/MoveIt target stack. Target-stack acceptance must run on the intended workstation.

Optional AI providers

AI is optional and advisory.

python -m pip install "devagent-physical-engine[openai]"
python -m pip install "devagent-physical-engine[anthropic]"
python -m pip install "devagent-physical-engine[gemini]"
python -m pip install "devagent-physical-engine[ai]"

Typical credentials:

export OPENAI_API_KEY="..."
export ANTHROPIC_API_KEY="..."
export GEMINI_API_KEY="..."

Provider-backed interpretation cannot grant physical truth, site qualification, functional-safety certification, or real-execution authority.

Installed CLIs

devagent             one-command verification, interactive report testing, robot support/visualization
devagent-commercial  project, evidence, findings, FAT, regression, commissioning-readiness workflow
devagent-physical    deterministic core + ROS/qualification tools
devagent-physical-ai optional provider-backed engineering front end

Simple Mode exit codes

Exit Meaning
0 bounded full verification is release-ready
10 customer input or operational contract failure
30 more engineering information is required
31 requested simulation is blocked/unqualified
32 verification completed but full release readiness is false

Project status

v2.1.0 — Production/Stable software workflow; commissioning verification control plane with fail-closed multivendor simulation qualification

v2.1.0 preserves the v2.0 commissioning-verification authority model and adds exact-model ABB/FANUC/KUKA qualification infrastructure with direct runtime readiness probes, verified simulation-clock and robot-description contracts, authoritative joint-state measurement, controller-feedback tracking, immutable qualification reports, software-provenance hashing, and a three-report multivendor acceptance gate. Exact ABB/FANUC/KUKA simulation tiers are promoted only after accepted target-workstation evidence and a code-reviewed authority change.

Production-oriented software capabilities include:

one-command customer intake
XLSX/CSV/YAML/JSON requirement normalization
immutable project/Twin lineage
engineering review + first-class risk findings
evidence-backed finding dispositions
validated Requirement → Criterion mapping
optional provider-backed advisory criterion proposals
requirement-driven nominal / boundary / fault case generation
verification-scope authority against current requirements
exact Requirement → Mapping → Verification Plan → Case provenance
case-centric qualified evidence reuse
explicit fresh physical execution
verification-owned simulator lifecycle cleanup
mixed deterministic + physical report orchestration
truthful PASS / FAIL / NOT_TESTED
runtime-bound internal physical evidence authority
policy-bound external simulator evidence authority
commissioning-aware Evidence Graph
whole-project readiness staleness detection
change impact + regression
professional FAT report
Evidence Bundle + replay
immutable READY / NOT_READY pre-site commissioning decision
provider-neutral optional AI front end

Production/Stable describes the bounded software workflow. The target-proven UR5e claim remains limited to the qualified packaged scope and acceptance environment. v2.1.0 does not claim arbitrary customer cells are physically qualified, site-qualified, functionally safe, commissioned, or authorized for autonomous real execution.

Current hard authority boundaries remain:

site_qualification = false
functional_safety_certification = false
commissioning_completed = false
real_execution_allowed = false

unless separately proven by an appropriate qualified process.

Documentation

v2.1.0 release notes: https://github.com/tomha85/devagent-physical-engine/blob/main/docs/RELEASE_NOTES_V2_1_0.md

v2.0.0 release notes: https://github.com/tomha85/devagent-physical-engine/blob/main/docs/RELEASE_NOTES_V2_0_0.md

v1.9.1 release notes: https://github.com/tomha85/devagent-physical-engine/blob/main/docs/RELEASE_NOTES_V1_9_1.md

v1.9.0 release notes: https://github.com/tomha85/devagent-physical-engine/blob/main/docs/RELEASE_NOTES_V1_9_0.md

One-command verification: https://github.com/tomha85/devagent-physical-engine/blob/main/docs/ONE_COMMAND_VERIFY_V13.md

Evidence Trust / replay / viewer: https://github.com/tomha85/devagent-physical-engine/blob/main/docs/EVIDENCE_TRUST_V12.md

Measured physical runtime: https://github.com/tomha85/devagent-physical-engine/blob/main/docs/MEASURED_PHYSICAL_RUNTIME.md

Commercial project spine: https://github.com/tomha85/devagent-physical-engine/blob/main/docs/COMMERCIAL_PROJECT_SPINE.md

Architecture: https://github.com/tomha85/devagent-physical-engine/blob/main/docs/ARCHITECTURE.md

Canonical Twin runtime: https://github.com/tomha85/devagent-physical-engine/blob/main/docs/CANONICAL_TWIN_RUNTIME.md

Laptop acceptance: https://github.com/tomha85/devagent-physical-engine/blob/main/docs/LAPTOP_ACCEPTANCE.md

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.

See repository LICENSE, NOTICE, and COPYRIGHT for complete ownership and usage terms.

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-2.1.0.tar.gz (608.8 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-2.1.0-py3-none-any.whl (571.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: devagent_physical_engine-2.1.0.tar.gz
  • Upload date:
  • Size: 608.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for devagent_physical_engine-2.1.0.tar.gz
Algorithm Hash digest
SHA256 c3d7e0947e8f8f4aec9fd080f16c4458ff81285f270eda666fea99b90b028458
MD5 b38572bd8d12df171adf6d5a322f883c
BLAKE2b-256 7545e41f00d0f70edf94e92d7dfbd85b0ebb316f4ad3b76615a5480ad2ada693

See more details on using hashes here.

Provenance

The following attestation bundles were made for devagent_physical_engine-2.1.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-2.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for devagent_physical_engine-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 33db994fef807c612eaec52bf3fb6efcf3bd6f476457fabda8ada96d0ebfe723
MD5 0d5fc1cefdae0daa6282195ab4ffcb47
BLAKE2b-256 99cbb5e84d74a0246424da7afb279ecad75190495b8ac22a42bf718e763ff5c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for devagent_physical_engine-2.1.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

This release

2.1.0 This release

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

0.10.0

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