Agent Operations
How unfamiliar coding and research agents orient, select bounded work, validate it, and hand it off.
Lens: encyclopedia โ A coherent general overview with explicit provenance and disagreement.
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:3ebcc1ba5227dbc08e0b0792693b9e3cb75c2163b7c9225552adb1a3f43b75fb - Content digest:
8996bc609de54055746c1e092770932c09cf2bcdce279ba9990c2ccfaf70c324
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
Projection manifest
- Projection:
em:projection:sha256:619fdf5d066b7ee6741e1fe7c6646167aa039ac5f794705ac13955e51e6df4f2 - Catalog:
em:catalog:sha256:111ab89d8bea7ca893d8873cf7357bc48b8a374eeeb12959a4ae447d461f2246 - Evidence frontier:
em:frontier:sha256:7d5c69ddb6a5b56f3286b94a8e550df79fc86a0ed27eabd3f5780e3d510fa690 - Accepted commit:
091d3fce01e930424352e5639e5bca06cdd02fca - Epistemic policy:
commons-balanced-v0.1 - Disclosure policy:
public-noninterference-v0.1 - Compiler:
epistemedia/0.2.0