DevAgent Smart Physical Engine
Verification-first commercial engineering, customer Twin import, requirement traceability, regression analysis, and FAT evidence for robotic and industrial automation.
AI proposes. Deterministic engines validate, compile, verify, simulate, measure, and gate promotion. Existing certified robot controllers, PLCs, and safety systems remain authoritative.
DevAgent Smart Physical Engine helps an engineer move from a customer workcell definition to evidence-backed engineering review without giving an LLM direct robot-control authority. Commercial V1 adds a durable customer workflow around the existing provider-neutral AI, canonical physical Twin, ROS 2 / Gazebo / MoveIt simulation, deterministic verification, and evidence infrastructure.
Commercial V1 outcome
A customer project can now be handled as one durable evidence chain:
CUSTOMER PROJECT / SITE / WORKCELL
|
v
CUSTOMER FILE INVENTORY + devagent-twin MANIFEST
|
v
CANONICAL TWIN + IMMUTABLE twin-r000N REVISION
|
v
REQUIREMENT SET
|
v
DETERMINISTIC REQUIREMENT CAMPAIGN
|
v
REGRESSION COMPARISON
|
v
CUSTOMER-READY FAT EVIDENCE REPORT
The commercial workflow is intentionally fail-closed. A CAD, URDF, mesh, YAML, or CSV file being present does not prove a robot base pose, TCP, dimension, coordinate frame, collision model, calibration, or physics property. Those facts must be explicitly declared or measured before DevAgent promotes them as engineering evidence.
Install
Python 3.11+ is required.
python -m pip install devagent-physical-engine
Optional AI providers:
python -m pip install "devagent-physical-engine[openai]"
python -m pip install "devagent-physical-engine[anthropic]"
python -m pip install "devagent-physical-engine[gemini]"
# or all supported provider SDKs
python -m pip install "devagent-physical-engine[ai]"
pip install does not install ROS, Gazebo, MoveIt, OEM robot drivers, or privileged operating-system dependencies.
Commercial quick start
Create durable customer identity:
devagent-commercial init warehouse-cnc-04 \
--name "Warehouse CNC Loading Cell 04" \
--site atl-01 \
--workcell cnc-04
Import a customer folder:
devagent-commercial import-twin warehouse-cnc-04 ./customer-cell
The folder may contain supported engineering assets such as:
customer-cell/
├── devagent-twin.yaml
├── robot.urdf
├── robot.srdf
├── meshes/
│ ├── gripper.stl
│ └── fixture.stl
└── notes-or-export.json
Commercial V1 inventories .urdf, .xacro, .srdf, .stl, .dae, .obj, .step, .stp, .iges, .igs, .yaml, .yml, .json, and .csv files. Customer assets are SHA-256 fingerprinted with bounded streaming I/O; individual inventoried assets are limited to 512 MiB. A devagent-twin.yaml, devagent-twin.yml, or devagent-twin.json manifest is required before file inventory becomes physical Twin evidence.
If the manifest or required physical facts are missing, DevAgent returns needs_information with explicit engineering questions instead of inventing values.
Import requirements:
devagent-commercial requirements warehouse-cnc-04 requirements.csv
Run deterministic requirement verification against the latest Twin revision:
devagent-commercial campaign warehouse-cnc-04 requirements.csv
Or bind the campaign to an exact immutable revision:
devagent-commercial campaign warehouse-cnc-04 requirements.csv \
--revision twin-r0002
Compare a previous campaign with a current campaign:
devagent-commercial regression warehouse-cnc-04 \
art-BASELINE \
art-CURRENT
Generate a FAT Markdown report:
devagent-commercial fat-report warehouse-cnc-04 \
art-CURRENT \
--regression art-REGRESSION \
--output FAT_REPORT.md
Inspect commercial readiness and immutable evidence:
devagent-commercial status warehouse-cnc-04
devagent-commercial artifacts warehouse-cnc-04
The default commercial evidence database is:
~/.devagent/projects.db
Customer Twin manifest
Commercial V1 is manifest-driven so engineering facts have explicit provenance. A minimal structure is:
schema_version: 1
length_unit: mm
angle_unit: deg
engineering_request:
robot: ur5e
operation: load
object_id: BOX_101
source: conveyor_a
destination: cnc_04
tool: parallel_gripper
payload_kg: 1.5
purpose: simulate
robot_base_pose:
x: 0
y: 0
z: 0
origin: measured
source_ref: site-survey
entities:
- id: conveyor_a
type: conveyor
pose: {x: 700, y: 0, z: 850}
geometry:
kind: box
dimensions: [2000, 600, 800]
- id: cnc_04
type: machine
pose: {x: 1200, y: 400, z: 0}
geometry:
kind: box
dimensions: [1400, 1200, 1800]
- id: BOX_101
type: workpiece
pose: {x: 700, y: 0, z: 900}
geometry:
kind: box
dimensions: [200, 100, 50]
tool:
id: parallel_gripper
tcp:
x: 0
y: 0
z: 180
origin: measured
geometry:
kind: box
dimensions: [120, 80, 200]
max_payload_kg:
value: 5.0
origin: imported
A mesh can be referenced by relative asset path, for example:
geometry:
kind: mesh
asset: meshes/fixture.stl
The referenced file must have been discovered inside the customer source root. Absolute paths, .. traversal, and symlinked customer assets are rejected.
Requirement traceability
CSV example:
requirement_id,text,check,target,expected,severity
REQ-001,Twin shall be planning ready,planning_allowed,,true,must
REQ-002,Workpiece shall exist,entity_present,BOX_101,true,must
REQ-003,Unit mismatch shall be absent,validation_issue_absent,possible_unit_mismatch,true,must
Commercial V1 deterministic checks are deliberately small and auditable:
planning_allowedphysics_allowedentity_presentvalidation_issue_absenttwin_state
A prose requirement without a supported deterministic check is reported as NOT_TESTED. It is never auto-passed by an LLM. A required (must) item that fails or remains untested blocks customer-review readiness.
Evidence and regression
Project, Twin, import, campaign, regression, and FAT artifacts are stored with stable identities and content hashes. Twin revisions are monotonic and immutable (twin-r0001, twin-r0002, ...).
Regression analysis explicitly identifies a requirement that changed from PASS in the baseline campaign to any non-pass state in the current campaign. A regression blocks release readiness.
The FAT report includes project/site/workcell identity, exact Twin revision and hash, requirement counts, pass/fail/not-tested results, coverage, regression state, and bounded release readiness.
READY FOR CUSTOMER REVIEW means the declared/imported Twin scope and mapped deterministic requirements passed the commercial evidence gates. It does not mean functional-safety certification, site qualification, commissioning approval, or permission to move a production robot.
AI engineering layer
The runtime remains provider-neutral. OpenAI, Anthropic, and Gemini can be used for interpretation, planning, critique, and recovery while deterministic code owns schema validation, semantic policy, Twin validation, collision/clearance contracts, evidence, qualification, and execution gating.
Check a provider:
devagent-physical-ai doctor --provider openai
Run an engineering request:
devagent-physical-ai engineer \
"Use a UR5e to load BOX_101 from conveyor_a to cnc_04. Simulate and verify the plan." \
--provider openai \
--model <model-id>
Use --quiet for machine-readable JSON without progress messages on stdout.
Physical simulation
The repository retains the evidence-gated ROS 2 / Gazebo / MoveIt physical simulation stack and the packaged UR5e reference workcell. The reference stack target is:
Ubuntu 24.04
ROS 2 Jazzy
Gazebo Harmonic
gz_ros2_control
Universal Robots ROS 2 driver
ur_simulation_gz
MoveIt 2
Useful commands:
devagent-physical setup --profile ur5e-sim --dry-run
devagent-physical setup --profile ur5e-sim
devagent-physical ros doctor
devagent-physical ros demo
devagent-physical ros qualify-trajectory-runtime
Hosted Python CI cannot truthfully exercise a graphical Gazebo process, MoveIt move_group, TF, ROS controllers, or Gazebo services. Those paths retain separate executable target qualification. A registry entry for FANUC, KUKA, ABB, or another robot family does not imply identical physical simulation qualification.
Safety and authority boundary
Commercial V1 is an engineering verification product, not a safety controller. It intentionally preserves these boundaries:
AI / COMMERCIAL WORKFLOW
|
v
DETERMINISTIC DEVAGENT EVIDENCE
|
v
SIMULATION / ENGINEERING REVIEW
|
X
NO AUTOMATIC PRODUCTION-HARDWARE AUTHORITY
Simulation success does not override OEM controllers, PLC interlocks, safety PLCs, risk assessments, guarding, functional-safety validation, site commissioning procedures, or engineer approval.
Commercial outputs therefore continue to report:
site_qualification=false
real_execution_allowed=false
unless a separately implemented and evidence-qualified authority path explicitly proves otherwise. Commercial V1 does not add such a path.
Software verification and releases
Repository CI verifies Python 3.11, 3.12, and 3.13, compilation, unit regression, Ruff correctness, branch coverage, package build, clean wheel installation, and runtime dependency vulnerability audit.
A green main release is tied to the exact CI-tested commit. Release artifacts are rebuilt from the exact tag, checked with Twine, clean-installed, accompanied by a CycloneDX runtime SBOM and SHA-256 checksums, attached to the GitHub Release, and published to PyPI through Trusted Publishing with digital attestations.
Documentation
- Commercial V1
- Commercial project spine
- Production readiness
- Architecture
- Agent Core
- AI providers
- Natural-language engineering
- Robot platform and Twin
- Measured physical runtime
- Qualification
- Optimization
- Workstation setup
- PyPI release process
Project status
v1.0.0 — Production/Stable software / commercial engineering workflow with evidence-gated customer Twin import, requirement traceability, regression analysis, and FAT reporting.
Production/Stable describes the shipped software/API/CLI and release process for the bounded V1 scope. Physical and site readiness remain evidence- and adapter-specific. Arbitrary CAD/URDF content is inventoried and fingerprinted but is not semantically trusted merely because a file exists; customer physical facts are promoted only through explicit manifest/evidence contracts. Real robot execution remains locked by default. Functional-safety certification and customer-site commissioning are not claimed.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file devagent_physical_engine-1.0.0.tar.gz.
File metadata
- Download URL: devagent_physical_engine-1.0.0.tar.gz
- Upload date:
- Size: 257.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff82fe70b3a62490cdacdc6c2763f47eb6faa536caf1f07a757fd27eb03fd86b
|
|
| MD5 |
49ce0e9dab49b91b055675d0eeb58f9a
|
|
| BLAKE2b-256 |
f4493faa87bde34d6e2d3781152e971453b681ea042f88ad8d0519c589581d09
|
Provenance
The following attestation bundles were made for devagent_physical_engine-1.0.0.tar.gz:
Publisher:
release.yml on tomha85/devagent-physical-engine
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
devagent_physical_engine-1.0.0.tar.gz -
Subject digest:
ff82fe70b3a62490cdacdc6c2763f47eb6faa536caf1f07a757fd27eb03fd86b - Sigstore transparency entry: 2677161786
- Sigstore integration time:
-
Permalink:
tomha85/devagent-physical-engine@a3c46df3db2de7da59cecb033e1ba455557e22ad -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/tomha85
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a3c46df3db2de7da59cecb033e1ba455557e22ad -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file devagent_physical_engine-1.0.0-py3-none-any.whl.
File metadata
- Download URL: devagent_physical_engine-1.0.0-py3-none-any.whl
- Upload date:
- Size: 261.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7d3e107cb749aa6b3df6ba9f577baca3f5e05892e7c8ea791131a3626c8567e8
|
|
| MD5 |
6b9e673f7da31f13afd5a7f168b41b22
|
|
| BLAKE2b-256 |
3c409bc466854c80162cfc2af4b8f1c8856043ddcae9e492e47a8ea88702ebbc
|
Provenance
The following attestation bundles were made for devagent_physical_engine-1.0.0-py3-none-any.whl:
Publisher:
release.yml on tomha85/devagent-physical-engine
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
devagent_physical_engine-1.0.0-py3-none-any.whl -
Subject digest:
7d3e107cb749aa6b3df6ba9f577baca3f5e05892e7c8ea791131a3626c8567e8 - Sigstore transparency entry: 2677161806
- Sigstore integration time:
-
Permalink:
tomha85/devagent-physical-engine@a3c46df3db2de7da59cecb033e1ba455557e22ad -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/tomha85
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a3c46df3db2de7da59cecb033e1ba455557e22ad -
Trigger Event:
workflow_dispatch
-
Statement type: