at-run #
at-run is a PDS-first execution system for AT Protocol code. Authors keep code
in their own repositories; runners resolve a code record, fetch its blob from
the author's PDS, prepare its public runtime, and execute it inside a constrained
container.
This repository is the Rust rewrite of the proof of concept that lives under
streamhut/packages/at-run.
Status #
The project is an early beta V2 implementation. The first slice contains:
- the
dev.mainasara.at-run.beta.v2.*Lexicons; - the architecture and protocol invariants;
- core Rust types for runtime binding, record, and archive validation;
- verified DID/PDS record and blob retrieval;
- a portable Docker Engine boundary backed by Bollard;
- exact Docker-daemon platform selection;
- non-executing runtime-image and PDS-code materialization into separate Docker volumes;
- bounded newline-delimited JSON invocation types; and
- hardened creation of the fixed runner-owned main container in a stopped state.
See docs/architecture.md and docs/runtimes.md for the language/runtime contract, plus lexicons/README.md for schema invariants.
Workspace #
at-run-core: protocol-independent records and validation.at-run-atproto: DID resolution and verified code/runtime retrieval from PDSs.at-runner: the runner process and container-engine adapter.
Development #
cargo test --workspace
cargo fmt --all --check
The live Docker test uses a local scratch fixture so it never needs registry
access:
docker build \
--tag at-run-runtime-fixture:local \
crates/at-runner/tests/fixtures/runtime-image
cargo test -p at-runner \
-- --ignored
The fixture has an intentionally unusable entrypoint. A successful test proves that materialization only creates stopped containers and never invokes the network-selected image.