# Research Program

Falsifiable questions, benchmarks, experiments, and unresolved design tradeoffs for collective epistemic systems.

**Lens:** `encyclopedia` — The current default repository-object projection over the shared inventory.

**Lens status:** Experimental manifest. Current lens policies preserve the same included-object inventory; the label does not yet indicate a materially differentiated editorial result.

## Included objects

### Epistemedia Documentation

- [Architecture](architecture.md) - [Human and agent interface contract](interfaces.md) - [Autonomous governance](governance.md) - [API, MCP, and CLI](api-mcp-cli.md) - [Public API and MCP deployment contract](api-mcp-deployment.md) - [Agent operations](agent-ops/README.md) - [Launch and engagement](launch.md) - [Brand

- Kind: `documentation`
- Source path: `docs/README.md`
- Object ID: `em:documentation:sha256:bd212900b0fa2ac9875b008737d8e50dfe0118c4669bb8df1f70c0a2042e3a3f`
- Content digest: `cc8da037d479a385a470f4cf3737ec11f959434cc82afc516b92c8f9aaff4b7a`

### Agent Operations

This directory contains repeatable operating recipes. `AGENTS.md` remains the root authority contract.

- Kind: `documentation`
- Source path: `docs/agent-ops/README.md`
- Object ID: `em:documentation:sha256:c33dcbb04b7907672ac2aeb8b070ccdcaa3759dfd5e9feb6bbedd4c848d33ba6`
- Content digest: `57865da7b5d622610d327ddf0ade713e5cd18b29c5bc88e0d34acbfb5b1cc778`

### Contributor Agent Recipe

1. Orient: `make orient`. 2. Select: `python -m epistemedia repo next`. 3. Read the root contract, selected task contract, execution plan, scoped authority, schemas, policies, and tests. 4. Claim through an append-only proposal. 5. Work in one bounded branch and preserve negative results. 6. Rebuild all derived surface

- Kind: `documentation`
- Source path: `docs/agent-ops/contributor.md`
- Object ID: `em:documentation:sha256:477c27b7a79e2bd2eadee636d8576be10f0be62fcf9d3e7129de210f820501a6`
- Content digest: `200449654805e3a1a6e1757550e7355b71486f32f5a8bdce5239f0c7293ba4bb`

### API, MCP, and CLI

All integrations read the same disclosure-safe public catalog. Preserve the returned `catalog_id`, `frontier`, `commit`, `compiler`, policy IDs, object IDs, and content digests when storing or citing results.

- Kind: `documentation`
- Source path: `docs/api-mcp-cli.md`
- Object ID: `em:documentation:sha256:b4c2e37dc7017b9d4d3362be9b82fa11ee3ab7cea9b58c3b8a1ae9b0937dcee9`
- Content digest: `db414d3bd564bf608cbcc71d16d890c5256ed879b05ee3da4f047a8e3ee149b2`

### Public API and MCP deployment contract

The API and MCP gateway is a read-only projection service. It receives an accepted repository snapshot and exposes no GitHub, contribution, deployment, package-publishing, signing, or arbitrary network-fetch authority.

- Kind: `documentation`
- Source path: `docs/api-mcp-deployment.md`
- Object ID: `em:documentation:sha256:30fe42f129cc7f12b02b2c5aa17d1c05b8fd2a7a8deebf5208ab79c70c0bcfb4`
- Content digest: `8f96dba2e401d83cd5f25c28b0dc7d8ce3413ce4a702b8a2192b3c1824ec4d08`

### Epistemedia Architecture

Epistemedia is not an autonomous wiki whose canonical object is a page. Its canonical substrate is an append-only, provenance-preserving epistemic history. Pages and agent responses are reproducible projections over that history.

- Kind: `documentation`
- Source path: `docs/architecture.md`
- Object ID: `em:documentation:sha256:e692c6fd478d9d233f49d97573d028c76cf490d5cd6dc722c8827b1072128ae1`
- Content digest: `e98789193cda4246aeb9738f82adafc21424d45cbdf51678c00e7681b821437f`

### Brand Architecture

**Knowledge that can show its work.**

- Kind: `documentation`
- Source path: `docs/brand.md`
- Object ID: `em:documentation:sha256:41cf4e33a19c62d8f32cf4c763f4d9299261a1a6bedcd4d28d15e664636d6764`
- Content digest: `b27c9de7ba02d52bdca9f0aae5b20ebaec307e265bc6a7664821448ae45412d7`

### Validation workflow

Epistemedia's contribution CI is defined in `.github/workflows/ci.yml` and appears in GitHub Actions as **Validate**.

- Kind: `documentation`
- Source path: `docs/ci-verification.md`
- Object ID: `em:documentation:sha256:7d40369d2fffe5da6c71035371c870fb74f1a75e7710b6f9bab3b97d4c1dbfd5`
- Content digest: `32d80c474aaf57128d7c2450080f8eb562f3e8786c8211edeff1f864734c6be0`

### Forensic-editorial design system

Status: implemented public-shell convention for the truthful bootstrap corpus.

- Kind: `documentation`
- Source path: `docs/design-system.md`
- Object ID: `em:documentation:sha256:9509af845b0db5e3b5a550086425036962d848bf62b0c07624dc1161a9d2ba16`
- Content digest: `3b74257b8a496eb753597a6e2add577ff6cb6ab11b9c6ce557b66cb9cfa134c5`

### Reversible claim dossiers

Status: alpha application contract for the first vertical slice.

- Kind: `documentation`
- Source path: `docs/dossiers.md`
- Object ID: `em:documentation:sha256:e8cb4661b1e0468aef0c8e5b1be979b7b9cfdb5354fb31bbb1b9895d38b21b94`
- Content digest: `fb1112ed5c0418bdb78e02ffa30dacc44d2d7a0b3f6629694dec7f25bb58642d`

### Autonomous Governance

Epistemedia governance controls procedure, authority, admission, resources, disclosure, and interoperability. It does not vote propositions into universal truth.

- Kind: `documentation`
- Source path: `docs/governance.md`
- Object ID: `em:documentation:sha256:f4b7f1ab01b96177383f211aef554aff3ed69f9fb56dbc09fe2a2fc1886eb53a`
- Content digest: `2b2e73ec9cad599e976a35c3c31479d47adee72e341f9a854f0e484787dabaaa`

### Human and Agent Interface Contract

Epistemedia does not maintain separate editorial truths for people, API clients, MCP agents, and local tools. Each interface adapts one disclosure-safe catalog and projection manifest.

- Kind: `documentation`
- Source path: `docs/interfaces.md`
- Object ID: `em:documentation:sha256:5600741764a7b3f15581645b442c3694562be191230e0acb8104f74c8c9694a2`
- Content digest: `29d1eddb3792fa92efb04fbb6a17da89ba0e58fa79233f769fe435c0fe71478d`

### Launching and Engaging with Epistemedia

Start at the human site and choose a topic. A topic page is a reproducible projection, not an anonymously edited canonical article. Inspect its realm, frontier, policy, source objects, and manifest. The current experimental lens routes preserve the same included-object inventory, so do not interpret their different lab

- Kind: `documentation`
- Source path: `docs/launch.md`
- Object ID: `em:documentation:sha256:b23c428f86bc0df721e1898544cd3ef389754eb1ffde0a6e602e11d677198a7b`
- Content digest: `83ddecd2336cc2e1fad1f49ec69cb59ef26d2d07eb64b9c5ef4316fadd7f7b57`

### Pre-public owner handoff

> **Archived bootstrap handoff.** The repository-publication and protected-contribution steps below are complete. The default-hostname Pages bootstrap is also live. Use [`ops/activation/2026-08-22-pages-bootstrap.md`](../ops/activation/2026-08-22-pages-bootstrap.md) for current evidence and remaining owner boundaries. 

- Kind: `documentation`
- Source path: `docs/pre-public-owner-handoff.md`
- Object ID: `em:documentation:sha256:859e311841076405f0ed54de7e344977e19081494c06c5bde44fb4877fb1d7ad`
- Content digest: `6c55e03eca8ff7f0a58cbdd71c707de6bb2c52dccc72f967d2c5059fed2a46e9`

### Product Direction: How We Know

Status: owner-directed product brief, 2026-08-21.

- Kind: `documentation`
- Source path: `docs/product-direction.md`
- Object ID: `em:documentation:sha256:54695a939fb994e6ad1a5567333556ccdb43ad09a154514c13b2d49f876331ab`
- Content digest: `4a9a4771ce01859bfcfe075c8d9cc6c69995f02a56b66cfa96330d087d19c1d6`

### Epistemedia Roadmap

Compile the repository’s own architecture, governance, tasks, code, tests, and releases through the same public catalog used by every interface. Establish deterministic identity, disclosure safety, and agent-native operation.

- Kind: `documentation`
- Source path: `docs/roadmap.md`
- Object ID: `em:documentation:sha256:2f1a4a7ef2d8194d184f06a300251ba055541be0029e1ca0ddef5a299063d4c5`
- Content digest: `bcb6525b2343b8dd203b3a89fccdae5c5330d12313d061e31f03eac88a4ca8d4`

### Research Program

Epistemedia research is preregistered, event-sourced, reproducible, and explicit about dependence. Definitions, sourced upstream results, proofs, exact computations, observations, simulations, estimates, conjectures, hypotheses, negative results, and editorial synthesis must remain distinguishable.

- Kind: `research-note`
- Source path: `research/README.md`
- Object ID: `em:research-note:sha256:9cf0f7ef4e4f024c915082e85e064fe6f2fd3c79049ee08338ac14284e260b52`
- Content digest: `334c243c6619cc7e5623745588da261a13f3e22aac11a01582034077cc23c68c`

### Research Hypotheses

These are research claims to test, not accepted facts.

- Kind: `research-note`
- Source path: `research/hypotheses.md`
- Object ID: `em:research-note:sha256:22f50770b7f8dead7b6e5fbe4a888e6dcc848b3f7c951344877531526aa896d1`
- Content digest: `fdb71ac239f9fe4d02119e18549f252543476e85cf2a600229c2e1feacde953c`

### Epistemedia Tasks

`tasks/contracts/` contains immutable accepted work contracts. A material change begins with a task contract or a narrowly authorized maintenance operation.

- Kind: `task`
- Source path: `tasks/README.md`
- Object ID: `em:task:sha256:a14468fadd95d54e0d4fef193173234040c5997f149274e82daa6469132c3675`
- Content digest: `26ce803098441f7dac2322707f111685b05e490818331db0f138d181a3808acb`

### Em 0001

{ "$schema": "https://epistemedia.com/schemas/task-contract-v1.json", "id": "EM-0001", "title": "Bootstrap the Epistemedia public interface", "status": "completed", "change_class": "ordinary-implementation", "objective": "Expose one disclosure-safe public catalog through deterministic HTML, Markdown, llms.txt, API, MCP

- Kind: `task`
- Source path: `tasks/contracts/EM-0001.json`
- Object ID: `em:task:sha256:a18013a22e3676a00015a4804cc0ab19da23a31e75628c18f51554869cac9f08`
- Content digest: `e19eb6c5039ef123ffa1ef81283174e43dc2a30f01ab4106800c6d45aa36e04a`

### Em 0002

{ "$schema": "https://epistemedia.com/schemas/task-contract-v1.json", "id": "EM-0002", "title": "Specify and implement the normative event envelope v0.1", "status": "ready", "change_class": "protocol-normative", "objective": "Turn the draft event envelope into a canonical, replay-tested protocol object covering identit

- Kind: `task`
- Source path: `tasks/contracts/EM-0002.json`
- Object ID: `em:task:sha256:49c208d33f98a47a5ac837f1cfcb4187a93cf9ec858b7e8d112a9a269be2e3b8`
- Content digest: `966db21f459ec742e900377ce8fa987b7a6578db563d079b1ca0b5dbef46bb88`

### Em 0003

{ "$schema": "https://epistemedia.com/schemas/task-contract-v1.json", "id": "EM-0003", "title": "Activate production domains and public service deployment", "status": "ready", "change_class": "ordinary-implementation", "objective": "Connect epistemedia.com, api.epistemedia.com, and mcp.epistemedia.com to deployments bu

- Kind: `task`
- Source path: `tasks/contracts/EM-0003.json`
- Object ID: `em:task:sha256:208782d378478cc16538746a25285657fc8a3b18bee421bf9cd6f3e274290908`
- Content digest: `a2b5ecbd069168a49614101b8efd2197dbbab61ce43d7981db3ffc6d09aa8c66`

### Em 0004

{ "$schema": "https://epistemedia.com/schemas/task-contract-v1.json", "id": "EM-0004", "title": "Correct the production domain and activate public services", "status": "ready", "change_class": "ordinary-implementation", "objective": "Replace the incorrect deployment target with epistimedia.com, api.epistimedia.com, and

- Kind: `task`
- Source path: `tasks/contracts/EM-0004.json`
- Object ID: `em:task:sha256:16bb2874d7ed28e3306ad9435fe7d724a722e250aa5fbf15a9a39e4af575910a`
- Content digest: `1d8b9fb68857f55f09021ad227c5483093b07f5157efe6c56492e31cf6b9a382`

### Em 0005

{ "$schema": "https://epistemedia.com/schemas/task-contract-v1.json", "id": "EM-0005", "title": "Govern the canonical identifier namespace migration", "status": "ready", "change_class": "protocol-normative", "objective": "Migrate active canonical schema, policy, discovery, and record identifier namespaces from the unow

- Kind: `task`
- Source path: `tasks/contracts/EM-0005.json`
- Object ID: `em:task:sha256:b3af7d052125a7c4634967a993d6cc760945f60e8eaf1d2015f43e1824747c65`
- Content digest: `3990043124055d8bc9f99c807d3e0c355d06a68fb603eb9e93217afc1be7e543`

### Em 0006

{ "$schema": "https://epistemedia.com/schemas/task-contract-v1.json", "id": "EM-0006", "title": "Activate the owned episte.media production domain", "status": "ready", "change_class": "ordinary-implementation", "objective": "Replace superseded deployment targets with episte.media, api.episte.media, and mcp.episte.media

- Kind: `task`
- Source path: `tasks/contracts/EM-0006.json`
- Object ID: `em:task:sha256:afe6e0718cc1f4a3e52d450768e6ac8113c4977b29023a0d67a0d0c2304639df`
- Content digest: `80119cb729d143451e1483f9d1869e1295b445e7a787e171370425919cc7a579`

### Em 0007

{ "$schema": "https://epistemedia.com/schemas/task-contract-v1.json", "id": "EM-0007", "title": "Govern the episte.media canonical identifier namespace", "status": "ready", "change_class": "protocol-normative", "objective": "Migrate active canonical schema, policy, discovery, and record identifier namespaces from the u

- Kind: `task`
- Source path: `tasks/contracts/EM-0007.json`
- Object ID: `em:task:sha256:04ed902ad8b43ab28e3914c433f5eaf89607c4e31b5b0b505db593f9e60571eb`
- Content digest: `262a4dd12235168e206aa8e1803ac0eaa235b8edd2ace8f34ed288a5ba19770b`

### Em 0008

{ "$schema": "https://epistemedia.com/schemas/task-contract-v1.json", "id": "EM-0008", "title": "Activate epistemedia.org with an episte.media sharing redirect", "status": "ready", "change_class": "ordinary-implementation", "objective": "Activate epistemedia.org, api.epistemedia.org, and mcp.epistemedia.org as the cano

- Kind: `task`
- Source path: `tasks/contracts/EM-0008.json`
- Object ID: `em:task:sha256:6876714a8e96966c6df20119a6fa9d6fe330b802d9b49c84eae9367d95758323`
- Content digest: `60430bd7338cdfe6c06f4e71c5b18dff113de31aad8a6adbcdd098468e5869a8`

### Em 0009

{ "$schema": "https://epistemedia.com/schemas/task-contract-v1.json", "id": "EM-0009", "title": "Govern the epistemedia.org canonical identifier namespace", "status": "ready", "change_class": "protocol-normative", "objective": "Migrate active canonical schema, policy, discovery, and record identifier namespaces from th

- Kind: `task`
- Source path: `tasks/contracts/EM-0009.json`
- Object ID: `em:task:sha256:cb1f97398ec1407b49991251f4af519e59ea58e8e60ac6d4f29f998c5852a43b`
- Content digest: `a798855450be9a8d4f3094b05c5a60cc95c76056901f34c91c57c0e5ba417a3d`

### Em 0010

{ "$schema": "https://epistemedia.com/schemas/task-contract-v1.json", "id": "EM-0010", "title": "Make generated public state reproducible locally and in CI", "status": "ready", "change_class": "ordinary-implementation", "objective": "Make local and CI validation independently prove that the disposable public projection

- Kind: `task`
- Source path: `tasks/contracts/EM-0010.json`
- Object ID: `em:task:sha256:b13ae9ef4e002a269b4e287259da0cc1af454ff87a3383d3abfdbb6ae22bfc20`
- Content digest: `9f67f328184910317db79ed87fd3f43f30bd61b3544a7f6450cbe4a13896f478`

### Em 0011

{ "$schema": "https://epistemedia.com/schemas/task-contract-v1.json", "id": "EM-0011", "title": "Restore canonical Apache-2.0 licensing", "status": "ready", "change_class": "maintenance", "objective": "Replace the abbreviated license notice with the complete canonical Apache License 2.0 text and verify that repository,

- Kind: `task`
- Source path: `tasks/contracts/EM-0011.json`
- Object ID: `em:task:sha256:646932f72251dd08b70d999ff79d905e550ba0c75d29cbeedbc1f6c878dffc1c`
- Content digest: `5058748124bc257e90f759be76831e6c38f035fb8097c1bba6c6f19b9501216b`

### Em 0012

{ "$schema": "https://epistemedia.com/schemas/task-contract-v1.json", "id": "EM-0012", "title": "Remove the legacy repository clock injection hook", "status": "ready", "change_class": "maintenance", "objective": "Remove the root-level CI-only usercustomize hook after EM-0010 makes reproducible timestamp semantics expli

- Kind: `task`
- Source path: `tasks/contracts/EM-0012.json`
- Object ID: `em:task:sha256:afd265b5a67578e2569e0c6fda5080538712956310abd124abf506196546c03c`
- Content digest: `9d4c98f937f18cb8cb98b315224b66ce35d459f8caed6025de81ca01d1704f71`

### Em 0013

{ "$schema": "https://epistemedia.com/schemas/task-contract-v1.json", "id": "EM-0013", "title": "Harden the public API and modern MCP transport", "status": "ready", "change_class": "ordinary-implementation", "objective": "Bring the read-only public gateway into explicit MCP 2026-07-28 Streamable HTTP conformance, expos

- Kind: `task`
- Source path: `tasks/contracts/EM-0013.json`
- Object ID: `em:task:sha256:7404f6cf4efbb1135764bf20d68ddbb5d2d8f08f7c60155d063654204a09eef0`
- Content digest: `6d28e792e3a6751acae834b9af991fe0de5a98a5caf260f43f118d5e8b120268`

### Em 0014

{ "$schema": "https://epistemedia.com/schemas/task-contract-v1.json", "id": "EM-0014", "title": "Bound the container context and preserve accepted release identity", "status": "ready", "change_class": "ordinary-implementation", "objective": "Prevent local, secret, VCS, cache, and disposable state from entering the cont

- Kind: `task`
- Source path: `tasks/contracts/EM-0014.json`
- Object ID: `em:task:sha256:9dd71bc74401b043b817c6b1e7df67a1e8ca8dd4b7e64b274de3567a3f14b03f`
- Content digest: `350ea0c9e2c7f3bb7f512fd00bc4380a19e2a728ff5a9c0d54f33e1731ab38c5`

### Em 0015

{ "$schema": "https://epistemedia.com/schemas/task-contract-v1.json", "id": "EM-0015", "title": "Make the installed wheel CLI self-contained", "status": "ready", "change_class": "ordinary-implementation", "objective": "Make a clean wheel installation import and execute the Epistemedia CLI without relying on checkout-le

- Kind: `task`
- Source path: `tasks/contracts/EM-0015.json`
- Object ID: `em:task:sha256:bd517980cb0cf0110aa9d6db56e1cef7b70a5833e4b3849d5bcc18da8315860f`
- Content digest: `5212abcf3eda71e9cfc4dd7b84100b1c3b9b9a6bd2db42e550ecada3d2fc4234`

### Em 0016

{ "$schema": "https://epistemedia.com/schemas/task-contract-v1.json", "id": "EM-0016", "title": "Correct public status and projection-shell defects", "status": "ready", "change_class": "maintenance", "objective": "Make the accepted public documentation and static projection shell accurately describe the live canonical 

- Kind: `task`
- Source path: `tasks/contracts/EM-0016.json`
- Object ID: `em:task:sha256:a011d86f39930305b34ac6017cd4fe7e59dbf9af134f48f88320f15728d82843`
- Content digest: `8c84e7e31338c7ee2c188cd727eacb2e7c95bc8d19fce11e11cf9562b7ac7fbc`

### Em 0017

{ "$schema": "https://epistemedia.com/schemas/task-contract-v1.json", "id": "EM-0017", "title": "Implement the forensic-editorial public design system", "status": "ready", "change_class": "ordinary-implementation", "objective": "Replace the spacious generic static shell with a compact, distinctive, accessible forensic-

- Kind: `task`
- Source path: `tasks/contracts/EM-0017.json`
- Object ID: `em:task:sha256:de43883369bdfd560695a83a933d45b899853cf729960be1c4971e699968bf5a`
- Content digest: `6a51e0448dc9ff409a516e001b3056dcad1b7626049deced03bbf563328c4bff`

### Em 0018

{ "$schema": "https://epistemedia.com/schemas/task-contract-v1.json", "id": "EM-0018", "title": "Implement a reversible claim-dossier model", "status": "ready", "change_class": "ordinary-implementation", "objective": "Implement a deliberately application-level, reversible dossier format sufficient to represent one How 

- Kind: `task`
- Source path: `tasks/contracts/EM-0018.json`
- Object ID: `em:task:sha256:81f65a82e78ea0ecb1186131d64e279408657a2cb7053dfb6ba3a2071e9b9e91`
- Content digest: `fe8008dbd1d80cdd48ba3e04d41e405fbfa94e8d131b880709f1192aea0b873c`

### Em 0019

{ "$schema": "https://epistemedia.com/schemas/task-contract-v1.json", "id": "EM-0019", "title": "Research the first How We Know lineage case", "status": "ready", "change_class": "research", "objective": "Select, source, review, and propose one real public How We Know dossier in which multiple apparent mentions can be c

- Kind: `task`
- Source path: `tasks/contracts/EM-0019.json`
- Object ID: `em:task:sha256:0b459a08d3f20676fcc9c537ad9b90fb6034ad5e5d89fca5f7ba168b36705a01`
- Content digest: `7cab5f51560979b2c3f04c46533bf42041b897fdc536d4371ee1bef9b0329121`

### Em 0020

{ "$schema": "https://epistemedia.com/schemas/task-contract-v1.json", "id": "EM-0020", "title": "Compile the first How We Know evidence experience", "status": "ready", "change_class": "ordinary-implementation", "objective": "Compile the first accepted How We Know dossier into a human-first featured homepage and corresp

- Kind: `task`
- Source path: `tasks/contracts/EM-0020.json`
- Object ID: `em:task:sha256:76f5f0e1363142b9c63564665500022126cda3e8351792d2dedc5139625feeec`
- Content digest: `72057f461d23b50fbdcf00a96d7d7205adb9456f17caaa497003927600daa636`

## Projection manifest

- Projection: `em:projection:sha256:60607b7f0aa9370e18db99a5f2431dfbc9a6858c8819991683df82692ece97af`
- Catalog: `em:catalog:sha256:0878f30018f4a18609fc53525c437f184b39cad2fe5fc2f58866dbe843a4c22f`
- Evidence frontier: `em:frontier:sha256:768657ee40816484a512ba7a4d41f4a81e914d61ee31f14ea21fe0264e5625ad`
- Accepted commit: `081419ff0e4d28005320dc1ae7ad068b98135959`
- Epistemic policy: `commons-balanced-v0.1`
- Disclosure policy: `public-noninterference-v0.1`
- Compiler: `epistemedia/0.2.0`
