# Agent Operations

How unfamiliar coding and research agents orient, select bounded work, validate it, and hand it off.

**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

### Agent Task

name: Agent task proposal description: Coordinate a proposed task before an immutable contract is accepted title: "[task] " labels: [] body: - type: markdown attributes: value: | Issues coordinate work but do not create canonical task authority. Accepted work requires a validated immutable task contract in `tasks/contr

- Kind: `automation`
- Source path: `.github/ISSUE_TEMPLATE/agent-task.yml`
- Object ID: `em:automation:sha256:8e14326345d750b9323130bf0d0afb007e19d68e0e9bf42eacb88fea9794cd9e`
- Content digest: `7305aa9280554ddbd3a31810406fb2114d807d8dffc86c7c0264673b3faa80eb`

### Pull Request Template

- Task contract: - Candidate SHA: - Accepted base SHA: - Change class: - Allowed paths: - Protected or normative paths touched:

- Kind: `automation`
- Source path: `.github/pull_request_template.md`
- Object ID: `em:automation:sha256:d4da60e0a9ecc647978b3d750b16f600a5a993da7903b9658748e9104a4689cc`
- Content digest: `58f0722cc9900ad92a5c17594e3783848dca35062891b26421d4ee11a4c50530`

### Ci

name: validate

- Kind: `automation`
- Source path: `.github/workflows/ci.yml`
- Object ID: `em:automation:sha256:003e8a8955e3d7c9229ce73f44aeec0148b2ced01eec9aaf10f5ca6b8eb578d9`
- Content digest: `3e2757acd451de04cdf7985a4313ce0e3a3d949fb14e0507c868674519d72d0e`

### Container

name: publish-container

- Kind: `automation`
- Source path: `.github/workflows/container.yml`
- Object ID: `em:automation:sha256:3a90a6127614f1a6487a4ae37ab09608f1b6486e9b32716f9be2c7ed831b9e44`
- Content digest: `772d8067eac4691255f3bb2b3279093ff1e87d7bb00c2b4646e2720ee60b6598`

### Pages

name: publish-pages

- Kind: `automation`
- Source path: `.github/workflows/pages.yml`
- Object ID: `em:automation:sha256:5715a2e1c34e3fbde0b1c696674556b8b3a3c1b965e5b522769028ae3cab1dc3`
- Content digest: `c130385f859ba2f3ee3ceda5d3a192eb203a2f078fef730926a1efa6af8e684e`

### Release

name: release

- Kind: `automation`
- Source path: `.github/workflows/release.yml`
- Object ID: `em:automation:sha256:23fcd49d215a563699c42cfe25161d9c1de3adbf942038b9a142c9fe36a9f167`
- Content digest: `4546b4d89e0c67bf2337091d3ac349dfac62496dd202e25914f4de9f6b86379a`

### AGENTS.md — Epistemedia control contract

You are working in **Epistemedia**, an agent-operated, Git-canonical knowledge system. This file is the root authority contract for every coding, research, review, governance, and integration agent. It is intentionally concise. Operating recipes live in `docs/agent-ops/`; immutable work contracts live in `tasks/`; poli

- Kind: `repository-artifact`
- Source path: `AGENTS.md`
- Object ID: `em:repository-artifact:sha256:14fb9f4c55ae44207b1d9c33bd075bafd629ca0dbd1f95e68da94fc2372f37d2`
- Content digest: `1467181254c310a53687051c0c1219feebfa14ead1f00946f8fd18020f330222`

### 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`

### 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:bbf236704c42507dbc74a662c68dccdf6df2621a2855be85934af99be5c3d325`
- 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`
