Agents Rule Tomorrow
GhostFactory .ART
GhostFactory builds the control and record layers for AI-agent runs. AI does the work; deterministic systems hold the run together.
Span Chain, the record layer, is live. The control layer is in development — Foreman. Switchyard, Murmur, and Shroud remain design.
Logs are claims. Not evidence. Logs you can verify. Runs you can replay.
01 Switchyard – Plan – DESIGN
Work is decomposed before anything runs. Preparation agents get no tools at all; they produce a plan and hand it to review. Structure is decided deterministically, and the model is only consulted where the ambiguity actually lives.
Role – Work is decomposed before anything runs.
Preparation agents get no tools at all; they produce a plan and hand it to review. Structure is decided deterministically, and the model is only consulted where the ambiguity actually lives.
F-01 Intake – A checklist, not a model.
No definition of done, no acceptance criteria, no labels — the issue bounces back as needs spec before a single token is spent.
F-02 Planner – An LLM drafts the graph. Switchyard accepts the artifact.
Schema-checked, acyclic, with file ownership assigned per node so parallel work cannot collide. The plan is a validated object, not a suggestion.
F-03 Manifest – A ticket goes in. A work order comes out.
Issue ref, compiled prompt, pinned context hashes, write-allowlist, budget, model, escalation policy. Content-addressed. The contract the other stations would run.
02 Murmur – Run – DESIGN
Execution against a plan that already passed review. Working agents receive tools just in time, never ahead of need, and every call crosses a gate on its way out.
Role – Execution against a plan that already passed review.
Working agents receive tools just in time, never ahead of need, and every call crosses a gate on its way out.
F-01 Session – Thousands of agent sessions. One supervision tree.
Each run gets its own lightweight process. One session crashing takes down exactly one session — never the system.
F-02 State – Every transition is persisted as it happens.
A restart reads the log and picks up where work stopped — no orphaned runs, no lost progress. Pending, active, awaiting input, complete, stale — explicit states, not implied ones.
F-03 Escalation – Review loops are bounded.
When the cap is hit, the session moves to awaiting-input and a human decides. Escalation is a state in the machine — not an exception buried in a log.
03 Shroud – Contain – DESIGN
The language boundary is the containment boundary. Work runs sandboxed and cannot reach further than the plan allowed, so a breach stays inside the station it started in.
Role – The language boundary is the containment boundary.
Work runs sandboxed and cannot reach further than the plan allowed, so a breach stays inside the station it started in.
F-01 Workspace – The agent can do anything. Inside the box.
Every task executes in its own worktree, on its own branch. The blast radius of a bad run is one branch.
F-02 Permissions – The Task Manifest is law at the boundary.
Write-allowlist, tool access, and token budget are enforced by the sandbox — not requested politely in the prompt.
F-03 Shield – Deterministic gates run first.
Lint, typecheck, the test suite, AST and pattern rules. No model ever reviews code the machine already rejected. Layer two is an independent verdict in structured JSON, never free text.
04 Span Chain – Record – LIVE / OSS
A self-hosted trace recorder and structural regression-diff layer for AI agents. Ingest OTLP/HTTP JSON spans, compare trace structure and agent configuration, and store what was received in a SHA-256 hash chain. No agent re-execution.
Role – Find where two recorded traces diverge.
Span Chain is a self-hosted trace recorder and structural regression-diff layer for AI agents. Ingest OTLP/HTTP JSON spans, compare trace structure and agent configuration, and store what was received in a SHA-256 hash chain. No agent re-execution.
F-01 Chain – Received spans, linked by SHA-256.
Span Chain stores received spans in a SHA-256 hash chain. Re-verification can detect edits, reordering, and gaps in the middle of that stored history. It cannot detect spans that were never received, spans removed from the end, or a chain rebuilt by the server operator.
F-02 Playback – Cassette re-ingest. No LLM calls.
Re-ingests recorded spans into a fresh chain; it makes no LLM calls and does not re-execute the agent. Structural comparison follows the stored history, not a screenshot of a dashboard.
F-03 Diff – Compare structure and agent configuration.
The comparator reads model, system_prompt_hash, temperature, and version beside structural span differences. Self-hosted. MIT. LIVE / OSS.
Five rungs of trust.
Span Chain stores received spans in a SHA-256 hash chain. Re-verification can detect edits, reordering, and gaps in the middle of that stored history. It cannot detect spans that were never received, spans removed from the end, or a chain rebuilt by the server operator. Rungs four and five are planned.
- 01 Self-report – climbed
- 02 Instrumented capture – climbed
- 03 Hash-chained received history – here
- 04 External anchoring – planned
- 05 Source attestation – planned
The record layer is live.
Span Chain is LIVE / OSS. The control layer is in development — Foreman. The plant is the architecture — plan, run, contain, record — with one door that actually opens.