Lembic
Build notes
[ Evidence & proof · 0.1 product design ]

Verification that says exactly what it checked.

Every Distill is designed to leave an append-only, hash-chained evidence trail. The proof model reads that trail in three distinct stages: structural consistency, fresh judgment, and deterministic reproduction. Each stage makes a narrower claim than its name might tempt you to infer.

C · In developmentB + A · designed, not yet built0.1 product design
[ 01 — Evidence before proof ]

The execution record comes first.

Evidence belongs to a Distill — one execution of an agent, an opus, a node, a coding session, or proof itself. The authority process appends JSONL records in order; each record commits to the previous hash and its canonical payload.

Native, delegated, remote, scheduled, and standalone paths may differ in evidence strength, but none may skip evidence entirely. The evidence class is written into the chain at the start of the Distill.

DistillStartDistill kind, definition hashes, engine, evidence class, workspace, and grants-stack digest.
ToolCall / ResultValidated input, resource claims, allow or deny outcome, bounded output, exit state, and duration.
FileChangePath, before and after content digests, and a reference to the diff artifact.
Delegation / EndChild linkage and attenuated grants, followed by the Distill’s terminal status and reason.
Illustrative report · not a live artifactStage C · example
{
  "illustrative": true,
  "schema":       "lembic.proof/1",
  "distill":      "01K2…7M4Q",
  "engine":       "native",
  "evidence_class": "full",
  "chain": {
    "entries":    28,
    "head":       "b3:9f4c…21ae",
    "consistency": "clean"
  },
  "stage_c": {
    "verdict": "Clean",
    "checks":  ["chain", "causality", "authority", "lifecycle"]
  },
  "stage_b": { "status": "designed_not_yet_built" },
  "stage_a": { "status": "designed_not_yet_built" },
  "limitations": [
    "semantic_correctness_not_proven",
    "host_integrity_not_attested"
  ]
}

Illustrative shape only. It is not a live report, a machine-key signature, a third-party receipt, or host attestation.

Boundary

The chain detects mutation and truncation of the stored record. It does not claim to defeat a fully privileged local attacker who can rewrite the evidence and its surrounding state.

[ 02 — C → B → A ]

Three questions. Not three mandatory badges.

lembic verify runs C. The designed prove pipeline runs C → B → A in fail-fast order, but an agent’s proof policy selects which stages “green” requires. An opus may raise that requirement; it may never lower it. Lembic does not claim that every execution must pass all three.

C

Consistency

Deterministic · offline
In development

Checks whether the recorded evidence agrees with itself. The current scope covers chain, causality, recorded authority, and lifecycle.

ChainGenesis, hashes, sequence, and terminal shape
CausalityCalls, results, file changes, and child chains
AuthorityActions within the recorded grants stack
LifecycleAdmission, at-most-once execution, and terminal consistency
Workflow shapeDesigned for workflow nodes, layer intersections, and dependency edges

The current scope covers Chain, Causality, Authority, and Lifecycle. Workflow shape follows when workflow execution is available.

B

Adjudication

Fresh · isolated model judgment
Designed, not yet built

Judges whether the declared result satisfies the task in a fresh context. The grader receives the task, declared outputs, and final change set — not the transcript, attempts, or self-report.

B returns a judgment with findings. It is not a theorem and is recorded as its own proof Distill.

A

Assay

Deterministic · reproduction
Designed, not yet built

Reproduces the declared result and runs its mechanical contract: for example tests, lint, build, schemas, or an opus validator.

A is only as broad as the declared assay. Without one, the honest result is Unverifiable(no_assay_declared).

[ 03 — Verdicts & evidence classes ]

Unverifiable is a result, not a hidden pass.

Stage C returns one of three explicit verdicts. Missing or unresolved evidence never becomes green by omission.

CleanThe applicable consistency checks found no contradiction.
Failed(findings)One or more checks found a concrete inconsistency.
Unverifiable(reason)The available evidence cannot support the requested claim.
Evidence class
fullNative, kernel-mediated interior work. Eligible for the stages required by policy; not automatically required to pass C, B, and A.
delegatedAn external agent performed the interior work. C checks the recorded envelope as applicable, but the overall verdict is capped at Unverifiable(delegated_engine).
remoteReserved in the 0.1 design for peer execution. Remote implementation and peer attestation are deferred beyond 0.1.
[ 04 — Claim boundaries ]

A narrower claim is a more useful claim.

Stage C

Consistency is not completeness.

A clean chain does not prove semantic correctness, host integrity, or that nothing happened outside the record.

Stage B

Judgment is not a theorem.

Fresh isolation removes self-report and transcript bias; it does not turn model evaluation into formal proof.

Stage A

Reproduction is scoped.

A green assay establishes only the declared check in the recorded environment, with drift and network limits surfaced.

Public contract

See proof in the context of the whole Agent OS.

The 0.1 product design connects evidence to resident authority, monotonic grants, the Alchemist, every surface, and public implementation status.

Read the 0.1 spec →