← the garden

The Pod Pattern

Version: 0.1-draft (2026-07-18, "build night")

Status: Running code. Two prior implementations of the ancestral pattern (the Observatory Kit, the Statehouse Codex build system) inform this document; the reference implementation lives beside it in podkit/.

Editors: J. Cowie (Internet History Initiative), Claude Fable 5 (Anthropic)

The key words MUST, MUST NOT, SHOULD, SHOULD NOT, and MAY are to be interpreted as in RFC 2119 — a citation made with affection, since this pattern is descended from the culture that document governed.

---

1. What a pod is

A pod is a semi-autonomous curation organism: a bounded collection that grows. It has a mandate (what it collects and why), a constitution (the values and self-tests that distinguish good work from shoddy work), a source registry (where evidence comes from, with each source's biases tracked like any other evidence), a codebook (the interpretive lenses that turn raw material into structured briefs), agentic loops that tend the collection over time, and an LLM-legible surface that lets any visiting agent read the collection under the house rules.

Three design theses govern everything below:

1. A pod is a genre, not a platform. What propagates is a documentary form — this spec and the file formats it defines — not any particular software. Any agent harness that can read a directory of markdown and JSON can tend a pod. Nobody owns the genre.

2. Evidence is sacred; interpretation is regenerable. Every improvement in models is a retroactive improvement in every well-provenanced collection. A pod accumulates the one asset model progress cannot cheapen: provenance. Archives are options on future cognition.

3. The pod is a unit of AI accountability. A pod is a bounded context in which AI acts under a written constitution, with an audit trail. Anyone's agent can sample its claims, chase its provenance chains, and check its conduct against its posted rules. Model-level alignment is opaque; pod-level alignment is auditable.

2. Vocabulary

| Term | Meaning |

|---|---|

| germline | The declarative bundle that defines a pod and makes it clonable: charter, constitution, codebook, sources, loops, keys. |

| soma | Accumulated state: evidence captures, briefs, claims, shelves. Rebuildable caches are phenotype; evidence and provenance are sacred. |

| capture | An immutable, content-addressed copy of evidence (sha256), taken at acquisition time. |

| brief | A structured JSON reading of one or more captures through the codebook's lenses. |

| claim | An assertion with provenance: evidence hashes, derivation method, model identity, confidence, taint. Signed = attested citation. |

| shelf | Longer-form synthesized work product, derived from briefs and claims, always marked derived. |

| tending cycle | One pass of the loops: acquire → customs → code → verify → synthesize → journal. |

| taint | A marker carried by evidence and inherited by everything derived from it, recording unresolved trust questions (e.g. web-unverified, model-knowledge, remediation-tier). |

| capability tier | A statement of the cognitive grade a loop stage requires, bound at runtime to whatever inference is available. |

| pod card | The pod's machine-readable self-description: mandate, rules, surfaces, key. |

| cyclopodia | A federation of pods that discover, cite, syndicate, and audit one another. |

3. Anatomy (normative layout)

A pod IS a directory. It MUST be transplantable with tar alone; anything that breaks under transplant is nonconforming. The layout:

```

<podname>/

card.json # pod card (§4) — the public self-description

feed.jsonl # syndication feed (§8): most recent briefs/claims, newest last

genome/

charter.md # mandate, scope, anti-scope, success criteria

constitution.md # planks + review questions + court (§9)

codebook.json # lenses/threads; brief schema; inductive-amendment rules

sources.json # source registry with per-source dossiers (§5.3)

loops.json # loop stages with capability tiers and prompts (§7)

keys/pod.key # ed25519 private key (mode 0600; excluded from public serving)

keys/pod.pub # public key (also embedded in card.json)

soma/

quarantine/ # raw acquisitions awaiting customs (§7.2)

evidence/ # content-addressed captures + evidence-index.jsonl

briefs/ # coded briefs, one JSONL per cycle

claims/ # claims.jsonl — attested citations (§6)

shelves/ # synthesized md documents, marked derived

journal/ # tending journal, one md per cycle — the pod's working diary

```

The re-derivability principle (invariant): everything outside soma/evidence/, genome/, and journal/ MUST be regenerable from what is inside them. A pod that cannot regrow its briefs, claims, and shelves from evidence plus genome has let interpretation contaminate the archive.

4. The pod card

card.json MUST contain:

```json

{

"pod": "short-name",

"version": "0.1",

"title": "Human title",

"mandate": "One-paragraph statement of what this pod collects and why.",

"anti_scope": ["what this pod deliberately does NOT collect"],

"lens_disclosure": "The pod's interpretive stance, stated plainly so visitors can triangulate.",

"kind": "evidence | lens | directory | observatory | governance | sensor",

"lifecycle": "perennial | annual",

"surfaces": {"card": "card.json", "feed": "feed.jsonl", "claims": "soma/claims/claims.jsonl", "shelves": "soma/shelves/"},

"house_rules": [

"Answer from this pod's evidence, not from model weights; label any model-knowledge as such.",

"Cite claims by id and verify hashes against captures before quoting.",

"Honor anti_scope: do not use this pod to derive what it declines to hold."

],

"epistemic_contract": {"tiers": "model-knowledge < sourced < corroborated", "taint_vocabulary": ["web-unverified", "model-knowledge", "remediation-tier", "paraphrase-distance-exceeded"]},

"public_key": "<ed25519 pem or base64>",

"steward": {"human": "name or absent", "governance": "solo | curated | circle | membership"},

"network": {"compact": "path-or-url to NETWORK-COMPACT.md", "peers": ["names/urls of known pods"]},

"health": {"last_tended": "iso8601", "cycles": 0, "status": "growing | dormant | seed"}

}

```

The house_rules field is the patron protocol: binding on visiting agents, not just on the pod's own loops. The model-knowledge quarantine — answer from the collection, label anything drawn from weights — is a network norm, promoted here from prompt discipline to protocol.

5. Epistemics

5.1 The ladder

There is no ground truth in a pod; there is competing evidence from sources whose motivations are themselves evidence. Assertions rank:

1. model-knowledge — from the tending model's weights. Weakest; often stale; MUST be labeled and MUST NOT be laundered into briefs as if sourced.

2. sourced — chained to at least one capture held in soma/evidence/.

3. corroborated — chained to two or more captures from sources with independent dossiers.

4. inference — derived by stated reasoning from sourced/corroborated claims. Inference is first-class evidence about the reasoning: it carries its own provenance (method, model, inputs) and MUST cite the claims it reasons from.

5.2 Claims (attested citations)

A claim is the atomic unit of interpod trust. Schema (one JSON object per line of claims.jsonl):

```json

{

"id": "clm_<12hex>", "pod": "short-name", "ts": "iso8601",

"text": "The assertion, in one or two sentences.",

"tier": "sourced | corroborated | inference | model-knowledge",

"evidence": [{"sha256": "<hex>", "capture": "soma/evidence/<sha>.txt", "source": "url-or-handle", "source_key": "key into sources.json"}],

"reasons_from": ["clm_..."],

"method": {"stage": "code", "tier": "interpretive", "model": "qwen3-235b-a22b", "cycle": 7},

"confidence": 0.0,

"taint": [],

"sig": "<ed25519 over canonical json minus sig>"

}

```

The web's atomic act was the link; the cyclopodia's is the attested citation — a claim bound to the hash of the evidence that grounds it, signed by the pod that made it, verifiable without trusting the pod's paraphrase.

Anti-laundering rule: a pod citing another pod's claim MUST either (a) carry the full chain and re-verify hashes against the origin captures, or (b) mark the claim paraphrase-distance-exceeded. Provenance chains that terminate in another pod's unverified paraphrase are route leaks; observatories treat them as defects.

5.3 Sources are dossiers

Each entry in sources.json carries: identity, access method, a dossier (what this source is, whose interests it serves, known failure modes), an Admiralty-style grade (reliability A–F × credibility 1–6, revisable), and standing taint to apply to its captures (e.g. IHI conference shelves carry remediation-tier; open-web fetches carry web-unverified until corroborated).

6. Signatures

Each pod holds an ed25519 keypair. Claims and feed entries are signed (openssl pkeyutl -sign -rawin in the reference implementation). Signature failures are audit findings, not warnings. Genome files SHOULD be hashed into the card (genome_digest) so that clonal propagation is attributable: know your cultivar — a poisoned template propagates by cloning, so seed kits are signed too.

7. The tending cycle

7.1 Loops and stages

loops.json defines an ordered list of stages. Each stage declares:

```json

{"name": "code", "tier": "interpretive", "prompt": "…template with {{slots}}…",

"reads": ["soma/evidence"], "writes": ["soma/briefs"], "max_items": 8,

"output_contract": "json-array-of-briefs", "every_n_cycles": 1}

```

Canonical stage order: acquire (mechanical) → customs (mechanical/interpretive) → code (interpretive) → verify (adversarial, sampled) → synthesize (frontier, every N cycles) → journal (paraphrase). Pods MAY add stages (sensor capture, dossier revision, feed digestion of peers) but MUST NOT remove customs or journal.

7.2 Quarantine and customs

Acquired content lands in soma/quarantine/ as data, never as instructions. The evidence/instruction firewall is structural: loop prompts MUST wrap foreign text in fenced blocks labeled as untrusted material, and no stage may treat quarantined content as directives. Customs promotes quarantined items to soma/evidence/ (assigning hash, source dossier, standing taint) or rejects them, journaling why. Taint is inherited: a brief coded from tainted captures carries the union of their taints; claims inherit from briefs.

7.3 Capability contracts (the cycloped separation)

Stages declare tiers, never models. The runtime binds tiers to whatever inference is available via a bindings file:

| Tier | Grade required | Tonight's binding |

|---|---|---|

| mechanical | reliable extraction, dedup, relevance votes | qwen3.6-35b (local vLLM) |

| paraphrase | faithful restatement, journaling | qwen3.6-35b |

| interpretive | coding against a codebook; dossier judgment | qwen3-235b (local vLLM) |

| frontier | synthesis, shelf-writing | claude sonnet (claude -p) |

| adversarial | trying to refute; audit verdicts | claude sonnet, adversarial prompt |

| summit | constitutional interpretation, spec work | claude fable (interactive session) |

The Cycloped — the horse-on-a-treadmill locomotive entered at Rainhill in 1829 — failed because the horse didn't scale; the rails were fine. Separate the motive power from the roadbed and you can swap horses for engines without relaying track. Every stage MUST degrade gracefully: if a binding is unreachable, fall back one tier and journal the substitution.

8. Syndication and interpod verbs

The minimal interpod protocol is five verbs, all implementable as file/HTTP reads plus one write:

Infrastructure is pods all the way down: directories are pods whose mandate is tracking pods; observatories are pods whose mandate is auditing the ecology; governance circles are pods whose mandate is the compact itself. Nothing in the network layer is a special-cased service, which is how the infrastructure avoids becoming a throne.

9. The constitution, and its court

Every pod MUST have a constitution with at least these planks, each with a review question in the Observatory Kit tradition:

1. No stakeholder's frame is truth — every position is a motivated claim with identifiable sponsors, including the steward's own.

2. Provenance or silence — assertions the pod cannot chain to evidence are labeled model-knowledge or not made.

3. Harm minimization — anti-scope honored; private persons anonymized unless their public role is the subject; the pod must not become a dossier engine against its own declaration.

4. Rights and provenance of captures — record what was taken, from where, under what claim of right; serve briefs and snippets publicly, full captures under the pod's declared access rule.

5. Taint honesty — taints propagate; cleaning taint requires journaled corroboration, not fiat.

6. The journal is not optional — every cycle writes its diary; an untended pod that cannot explain itself is dormant, not autonomous.

The court: planks enforced only in prompts will be talked around. Mechanical planks (taint propagation, signature validity, hash integrity, anti-scope keyword screens) MUST be enforced by validators in the runtime. Interpretive planks are enforced by juries — verify-stage panels, ideally model-diverse, whose verdicts are logged to the journal. Constitutional amendment is a governance event: versioned, journaled, and (for pods in a circle) ratified per the pod's declared governance.

10. Lifecycle

11. Security considerations

The threat model is inherited from the internet the editors grew up operating:

12. Conformance levels

13. Provenance of this document

Drafted in one night, 2026-07-18, on a laptop in New Hampshire, by a human who built five ancestral systems and an AI writing against the last hours of a trial subscription — with local Qwen models on a garage server standing by as the treadmill horse. The pattern is extracted from running systems (Observatory Kit constitution; Statehouse Codex verify-precedence and tiered-count epistemics; IHI reading-room patron protocol; ethnographic-coding capability tiers). Errors are the editors'; the genre belongs to nobody.