STRATUM

STRATUM

EPISTEMIC DECISION LEDGER

An append-only ledger for human + AI work. Agentic systems conflate generation with authority: without an evidence ledger, a generated conclusion becomes operational truth merely because it was persisted or repeated — and every later decision inherits it. Stratum stores immutable events and derives the rest. A decision is not authoritative until its evidence is checked, and the record says which.

Every later decision inherits prior unchecked claims — unless the ledger says otherwise.

OPEN THE ATRIUMread the live instrument
~/projects/stratum · zsh
$ stratum decide "Ship the landing page" --pending
at-001 · pending_evidence · not yet authoritative
$ stratum verify at-001 --kind url_check --ref "deployed @ 9f2c1ab"
at-001 · validated · evidence checked
$ stratum tessera
13 decisions · 3 verified · 4 foreclosed · epoch 19
git clone https://github.com/mazze93/stratum && cd stratum && npm i && npm run dev

Runs on Cloudflare Workers · zero-dependency CLI · more install methods

sb-000 · AXIOMATIC · Launch Stratum as a working prototype: full frontend and backend, production-quality Atrium, public deployment at stratum.mazzeleczzare.com, usable for daily d… sb-001 · VERIFIED · The TypeScript port in core/ is the single runtime source of truth for Worker, CLI, and Atrium. The Python reference remains the semantics oracle; divergence i… sb-002 · FORECLOSED · No frontend framework for Atrium v1. Hand-authored ES modules served as static assets; zero build step. sb-003 · VERIFIED · One Durable Object per log is the single-writer gate: appends serialize in a single-threaded scope and every guard runs at one door. Infrastructure expression … sb-004 · FORECLOSED · The simulated agent roster and mock telemetry are cut from Atrium v1. Everything rendered is a projection of a real log. sb-005 · VERIFIED · Public GitHub repository from genesis: clean signed-or-marked history, no secrets in code, event data lives in Durable Object storage rather than git. sb-007 · NARRATIVE · Workflow event data lives on Cloudflare (Durable Object storage), bearer-gated. The sovereignty escape hatch is the contract itself: the export endpoint is ser… sb-008 · FORECLOSED · Cloudflare Access as the v1 auth layer is foreclosed; a single bearer token (wrangler secret) gates writes and private reads. sb-009 · NARRATIVE · The numbering collision flagged in MEMORY_MODEL's header is resolved: the Event Epistemic Contract keeps its MEMORY_MODEL identity (it is a contract, not an AD… sb-010 · NARRATIVE · Flat npm workspaces (core, worker, cli, plus static atrium) rather than the packages/runtime path MEMORY_MODEL's carry-forward sketch used. Same intent, shallo… sb-012 · NARRATIVE · API surface v1: POST events (guarded append), GET projection at any epoch, GET events (export = serialize_log), GET event detail. Contract violations map to HT… sb-013 · NARRATIVE · Visitors get per-session playground logs cloned from the curated demo seed: write-open but capped, isolated per Durable Object, disposable. The canonical demo … sb-014 · FORECLOSED · In-process Worker unit tests (vitest-pool-workers) are deferred for v1; the deployed API is verified by a live end-to-end smoke suite instead. sb-015 · NARRATIVE · Atrium arbitration actions are derived from the transition system at the event's current folded status — the UI can only offer what the guards would accept, an… sb-016 · NARRATIVE · The CLI is the primary daily capture surface: zero-dependency single file, one command per contract motion, config in ~/.config/stratum, exit code 2 reserved f… sb-018 · NARRATIVE · Stratum v0.3.0 is public: stratum.mazzeleczzare.com serves the Atrium over the deployed Worker; the demo log is seeded with this genesis trace — the system's f… sb-019 · NARRATIVE · The human-readable decision record (docs/DECISIONS.md) is a projection of this trace — generated, never hand-edited, drift-guarded in CI alongside the golden p… sb-000AXIOMATIC sb-001VERIFIED sb-002FORECLOSED sb-003VERIFIED sb-004FORECLOSED sb-005VERIFIED sb-007NARRATIVE sb-008FORECLOSED sb-009NARRATIVE sb-010NARRATIVE sb-012NARRATIVE sb-013NARRATIVE sb-014FORECLOSED sb-015NARRATIVE sb-016NARRATIVE sb-018NARRATIVE sb-019NARRATIVE EPOCH 0 EPOCH 9 EPOCH 19 FIG. 1 — SECTION THROUGH THE LEDGER · EPOCH 19 · 13 DECISIONS · 4 FORECLOSURES
EPOCH 19 · HEAD

Every position is a real projection computed by the reference implementation — not an animation. Drag left and watch verified decisions lose their evidence, and foreclosed roads reopen because they had not been closed yet. Status is a fold over the log, never a stored field.

Real data — a section through this repository’s own genesis ledger, drawn from the projection. STATIC PLATE · LIVE PROJECTION UNREACHED

Axiomatic = trust root · Verified = evidence checked · Pending = awaiting evidence · Foreclosed = a road deliberately closed · Narrative = unverified interpretive layer

AXIOMATIC
Accepted premises. Trust roots and human ratifications — authoritative because an authority declared them, carrying no evidence by nature. The bedrock everything else rests on.
VERIFIED
Claims whose evidence was actually checked — a test exit, a merged commit, a signed approval. The bright seam marks where the check landed.
PENDING
Recorded and awaiting evidence. Cited is not checked: a reference with no verification stays here, however plausible it reads.
NARRATIVE
Prose gloss. Recorded, never canonical — no amount of confidence or repetition promotes it. This is the layer that becomes “truth by persistence” in systems without a ledger.
FORECLOSED
A road deliberately closed, kept in the record with its reason and its reopen condition. Distinct from invalidation, where evidence falls over — a foreclosure is a choice, not a refutation.

Select any layer to open its record — claim, evidence, actor, and what closed it.

“The instrument doesn’t know the destination. It simply aligns itself with a field that is otherwise invisible. A navigator reads the instrument. A human decides where to sail.

STRATUM IS THE INSTRUMENT. THE FIELD IS YOUR PROJECT’S DECISION HISTORY. YOU ARE THE NAVIGATOR.

I. Evidence-gated trust

Every event separates evidence (checkable: file hashes, test exits, signed approvals) from claim (LLM prose). Prose never becomes authoritative — no matter how confident it sounds. Evidence cited but unchecked stays cited, not checked.

II. Status is a fold

No event stores a status field. validated, superseded, disputed are computed by folding transition markers over the log — at any epoch. Drag the past back and watch decisions un-verify. Replay is a proof, not a feature.

III. The record keeps its shadows

Each clean decision carries a shadow — the oscillation and discarded branches it had to bury to stay coherent — and foreclosed paths stay in the section as lenses that pinch out. The map shows where you didn’t sail.