A2W lets AI agents author, validate, run, verify, and evolve workflows over a narrow deterministic JSON IR. Everyday runs are reproducible byte-for-byte and never touch an LLM — and the system reports calibrated evidence that the outcome is correct, not just that it ran.
Tap any stage. Items flow through a concurrent DAG with guaranteed lineage; the loop turns a verified run into reusable, searchable expertise.
The pipeline is the product: a deterministic engine makes correctness testing nearly free, so every run can be verified and the good ones compound into a skill library.
A2W’s engine is deterministic and per-item-independent by construction, so a class of checks holds for any valid workflow. Those verify the engine, not the outcome — and the report never lets one read as the other.
totalprice ×k scales total ×k intentA workflow that computes total from the wrong field passes every engine-invariant — yet a spec-derived semantic relation catches it. Engine-verified ≠ outcome-verified.
Evolution ranks candidates by a fitness plan — so the fitness score is no longer independent evidence about the winner. A2W re-scores the winner on a disjoint holdout (a checked-disjoint contract) and reports the holdout score; any overfit gap is surfaced, never hidden.
Reported, certified score is the holdout. overfit_gap = 0.40 is surfaced — the “perfect” fitness was constraint-satisfaction, not correctness.
The flagship workflows weren’t only unit-tested — they were driven over real HTTP against a running server, then checked by a second agent that never touched A2W.
webhook → fetch → loop → normalize → branch → {load · quarantine} → merge
GET /users → 200, 10 real users 282 / 491 msPOST /posts → 201 Created real writeEach authored a workflow and drove every stage against a running server with API-key auth and an AES-256-GCM vault. Production runs were zero-token; promotion gated on a disjoint holdout.
5 / 5 agents passed all 6 steps — area · discount · distance · invoice · payroll. Skills, runs & step records confirmed by reading the SQLite file directly.
A narrow IR at the core; everything else is a thin, testable layer around it.
a2w-ir · a2w-validator · a2w-expr — a narrow JSON IR with reject-before-execute static validity and a sandboxed, deterministic expression DSL.
a2w-engine · a2w-nodes — a concurrent async DAG with guaranteed item lineage; 14 tested node kinds; bounded fan-out; zero-token by design.
a2w-verify — spec assertions, golden fixtures, semantic relations, cross-checks → a calibrated report separating engine guarantees from outcome evidence.
a2w-skills · a2w-search — promote verified workflows into a signature-indexed library; evolve seeds with validity-preserving, holdout-certified search.
a2w-mcp · a2w-server · a2w-store — MCP tools + REST over a sqlite store with an AES-256-GCM vault; the loop runs through the persisted surface.
SSRF IP-pinning, fail-closed vault, MCP env denylist, WASM sandbox, loopback + bearer auth. Eight adversarial audit rounds, converged.
# build + test the workspace (deterministic, network-free) cargo test --workspace # serve the REST API + dashboard with the credential vault enabled A2W_MASTER_KEY="$(head -c 32 /dev/urandom | base64)" \ A2W_API_KEY="dev-key" cargo run -p a2w-server # → http://127.0.0.1:8080 (POST /verify · POST /skills · GET /skills)