This release is a pre-release and may not be stable for production use.
PDX Artifact Engine
PDX Artifact Engine is a model-optional, deterministic artifact orchestration framework. It turns structured plans into skill calls, verification results, and checksummed manifests.
No trained PDX model weights are included in this repository. Plans may be supplied manually, by rules, or later by an external model provider. PDX-5B-1B+ experts are an optional future bundle, not a v0.1.0 requirement.
v0.3.0a1 prerelease: the repository ships pdx_artifact_core execution
contracts plus bounded snapshots, replay-safe resume primitives, repository
ports, external-operation reconciliation, execution context/cancellation,
publication receipts, and ordered run events. Legacy Dispatcher compatibility
and the frozen compatibility v1 surface remain available.
Positioning
| Claim | Status |
|---|---|
pdx_execution_plan_v1 + ToolRequest/Result schemas |
Available (core 0.3.0a1) |
v0→v1 plan translator (rejects unresolved expert) |
Available (core) |
Run state machine (awaiting_* → running) |
Available (core) |
| Bounded run snapshot + step receipt contracts | Available (core 0.3.0a1) |
| Checkpoint CAS + decision record-once repository ports | Available (core) |
| Replay-safe pending-only snapshot resume | Available (engine) |
| External-operation pending/unknown/reconcile lifecycle | Available (core) |
| Execution context, cooperative cancellation, receipts, ordered events | Available (core) |
Validate plan.json against v0 schema |
Available |
| Load skill registry + dispatch skills | Available (v0 kinds) |
| Deterministic fixture staging | Available |
| Mock skill execution for CI / demos | Available |
Write artifact_manifest.json + run_manifest.json |
Available |
RulePlanner / ManualPlanner |
Available (to move out of Core per plan) |
ProDocuX HTTP /v1 adapter |
Available (alpha) (adapters/prodocux/) |
| Real ProDocuX / FreeCAD / Blender subprocess execution | Register executors |
LlamaCppPlanner / GGUF download / hot-swap |
Planned |
Shipped PDX-Core-1B weights |
Not included (separate release) |
Target architecture (not present in v0.1.0): a future 8 GB mode may keep a
PDX-Core-1B router resident and hot-swap specialists. That is a roadmap goal,
not a current runtime capability.
Core thesis
plan.json (manual | rules | future model provider)
-> skill dispatch
-> artifact outputs
-> verification
-> artifact_manifest.json + run_manifest.json
Small models should eventually plan and repair. Skills should execute artifact creation with deterministic tools. v0.1.0 proves the second half without the first.
Install
pip install -e ".[dev]"
Install the published GitHub prerelease wheel with:
pip install "https://github.com/prodocux/pdx-artifact-engine/releases/download/v0.3.0a1/pdx_artifact_engine-0.3.0a1-py3-none-any.whl"
Requires Python 3.11+.
The product-neutral ProDocuX HTTP adapter ships in the main distribution. The media identity/probe adapter is optional and has its own package:
pip install ./adapters/media
See docs/RELEASE.md for package boundaries and release
verification.
The active coordinated ProDocuX/PDX prerelease surface is recorded in
compatibility/pdx_prodocux_compatibility_v2.json.
The immutable v1 manifest remains packaged in the repository as historical
compatibility evidence.
Deterministic demo (no LLM)
From the repository root:
python -m pdx_artifact_engine.cli.run \
--plan examples/plans/pif_deterministic_plan.json \
--output-dir .tmp/pif-deterministic \
--mock
Or generate a plan with RulePlanner:
python -m pdx_artifact_engine.cli.run \
--rule-request examples/requests/pif_rule_request.json \
--output-dir .tmp/pif-rule \
--mock
Both write:
run_manifest.json— overallcompleted/completed_with_review/failed/blockedartifact_manifest.json— files, provenance, verification
CLI exit code is 1 when status is failed or blocked.
Aspirational plan (contains expert step)
examples/plans/pif_workflow_plan.json still includes a PDX-Doc-1B expert step
to document the future shape. Without --mock, that plan blocks. With
--mock, the expert is simulated and the run is marked completed_with_review.
Planner providers
| Provider | v0.1.0 |
|---|---|
ManualPlanner (--plan) |
Yes |
RulePlanner (--rule-request) |
Yes |
ExternalPlanner |
Stub (raises) |
LlamaCppPlanner |
Stub (raises; reserved for v0.2.0+) |
Future PDXCorePlanner |
Not started |
Schemas
| Schema | Purpose |
|---|---|
schemas/plan.schema.json |
Workflow plan (+ optional depends_on) |
schemas/skill.schema.json |
One skill's metadata |
schemas/skill_registry.schema.json |
Registry document |
schemas/artifact_manifest.schema.json |
Deliverable manifest |
schemas/run_manifest.schema.json |
Run status |
schemas/model_manifest.schema.json |
Optional model descriptor (no weights) |
schemas/3d_spec.schema.json |
CAD/scene specs |
The packaged Core additionally publishes execution-plan, verifier-result,
workflow-checkpoint, approval, artifact identity, step receipt, run snapshot,
external operation, execution context, publication receipt, and run event v1
contracts. ArtifactRuntime accepts product-owned verifier implementations
through an injected registry; missing verifiers fail closed unless the host
explicitly selects review policy. Serialized snapshot resume validates plan,
subject, evidence, artifact, and receipt digests and executes only pending
steps. Provider polling, durable databases, scheduling, and domain policy stay
outside Core.
Model weights stay outside git. Describe them with
examples/models/*.manifest.json and docs/model-cards/.
Repository layout
docs/ Architecture, roadmap, model cards
schemas/ JSON contracts
examples/ Plans, fixtures, rule requests, model manifests
notebooks/kaggle/ Training plans (no weights)
runtime/ Python package `pdx_artifact_engine`
skills/ Sample skill registry
evals/ Eval notes
tests/ pytest
v0.1.0 release criteria
- Apache-2.0 license
- Unified skill + registry contract
- README states model-optional clearly
-
depends_on+$step.outputwiring - Honest run status (no silent success on blocked experts)
- Deterministic E2E example without LLM
-
model_manifestschema (weights out of band) - Path traversal rejection for
file_exists/ mock outputs - Unknown skill / executor errors always write schema-valid failed manifests
- Cycle detection covered by tests
- Fresh Python 3.12 venv pytest green
License
Apache License 2.0. See LICENSE.
Near-term roadmap
- Register real ProDocuX skill executors (M1).
- Convert ProDocuX runs into planner traces.
- Train and publish
PDX-Core-1Bout of band; wireLlamaCppPlanner(v0.2.0). - Low-RAM hot-swap runtime (M7).
Acknowledgments
Codex and Cursor contributed implementation support, contract hardening, and cross-review during the v0.3 prerelease upgrade. Final design and release decisions remain with the project maintainers.
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 pdx_artifact_engine-0.3.0a1.tar.gz.
File metadata
- Download URL: pdx_artifact_engine-0.3.0a1.tar.gz
- Upload date:
- Size: 69.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e7e012d2405a5700c31ec94afe4a11745099166ff976795da5d088f07bca12a8
|
|
| MD5 |
9eaf2bac2e0985d51c06ab094467905d
|
|
| BLAKE2b-256 |
5c1abeed54401b577f00a488d4ac1d32073eafe00195a1e98ad1a9a442d3bc45
|
Provenance
The following attestation bundles were made for pdx_artifact_engine-0.3.0a1.tar.gz:
Publisher:
release.yml on prodocux/pdx-artifact-engine
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pdx_artifact_engine-0.3.0a1.tar.gz -
Subject digest:
e7e012d2405a5700c31ec94afe4a11745099166ff976795da5d088f07bca12a8 - Sigstore transparency entry: 2564864513
- Sigstore integration time:
-
Permalink:
prodocux/pdx-artifact-engine@f2363b942d4d33e68b8fc0e8381d1913cfae310c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/prodocux
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f2363b942d4d33e68b8fc0e8381d1913cfae310c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file pdx_artifact_engine-0.3.0a1-py3-none-any.whl.
File metadata
- Download URL: pdx_artifact_engine-0.3.0a1-py3-none-any.whl
- Upload date:
- Size: 73.3 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 |
30f42c15c2994b5b0f743fa04ecd6ff28abb7ff5a4fc0d73511b74b76f1eb0c3
|
|
| MD5 |
33b084f891edc5db4d424016beb7df9d
|
|
| BLAKE2b-256 |
4bfe1e77b3543d1366fe90a5d3fd5bb75e5b565c32c4c662102986c108cafdeb
|
Provenance
The following attestation bundles were made for pdx_artifact_engine-0.3.0a1-py3-none-any.whl:
Publisher:
release.yml on prodocux/pdx-artifact-engine
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pdx_artifact_engine-0.3.0a1-py3-none-any.whl -
Subject digest:
30f42c15c2994b5b0f743fa04ecd6ff28abb7ff5a4fc0d73511b74b76f1eb0c3 - Sigstore transparency entry: 2564864537
- Sigstore integration time:
-
Permalink:
prodocux/pdx-artifact-engine@f2363b942d4d33e68b8fc0e8381d1913cfae310c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/prodocux
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f2363b942d4d33e68b8fc0e8381d1913cfae310c -
Trigger Event:
workflow_dispatch
-
Statement type: