Artifact Transfer Protocol (ATP) is a binary protocol for distributing discrete units of work, called artifacts, across dynamic sets of workers. It is designed for systems where computation must scale at runtime, tolerate partial results, and support cancellation without restarting applications or nodes.
ATP is a work-leasing protocol. It is not a job scheduler, not a container system, and not a machine learning framework.
- Immutable work units (artifacts)
- Time-bounded leasing instead of permanent assignment
- First-class cancellation
- Partial and incremental results
- Hot join and hot leave of workers
- Clear separation of control plane and execution plane
ATP favors explicit semantics, debuggability, and correctness.
- Game tree search (chess, Go, planning)
- AI agents with speculative execution
- Hybrid symbolic and neural AI systems
- Distributed rendering and simulation
- Build systems and analysis pipelines
.
├── docs
│ ├── ATP_SPEC.md
│ ├── ATP_WIRE.md
│ ├── ATP_REGISTRY.md
│ ├── ATP_RATIONALE.md
│ ├── ATP_GOVERNANCE.md
│ └── ATP_DIAGRAMS.md
├── reference
│ └── zig
│ ├── src
│ │ └── atp.zig
│ ├── examples
│ │ ├── master_demo.zig
│ │ └── worker_demo.zig
│ ├── build.zig
│ └── README.md
├── README.md
├── AXIOM_INTEGRATION.md
├── LICENSE
└── .gitignore
ATP v1 is a stable specification intended for implementation and experimentation.
The Zig code is a reference implementation, not production software.
BSD 2-Clause License. See LICENSE.