Repository object · task
Em 0002
Accepted task in the public catalog.
- Source path
tasks/contracts/EM-0002.json- Media type
application/json- Object ID
em:task:sha256:49c208d33f98a47a5ac837f1cfcb4187a93cf9ec858b7e8d112a9a269be2e3b8- Content digest
966db21f459ec742e900377ce8fa987b7a6578db563d079b1ca0b5dbef46bb88
Also filed under
Source content
{
"$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 identity, parents, actor lineage, valid/observed/recorded time, payload digest, visibility, signatures, and supersession.",
"depends_on": ["EM-0001"],
"authority": {
"allowed_paths": ["schemas/", "src/", "tests/", "docs/", "tasks/", "governance/proposals/"],
"protected_paths": ["schemas/event-envelope-v1.json", "constitution/", "policies/"]
},
"required_evaluation": [
"independent protocol evaluator",
"replay and canonicalization property tests",
"cross-language canonical byte fixtures",
"backward/forward compatibility analysis",
"disclosure metadata review"
],
"acceptance": [
"canonical bytes and event IDs are specified without implementation ambiguity",
"parent and chain validation reject missing, cyclic, and equivocated history",
"three-time semantics are represented without forcing false precision",
"unknown actor lineage remains explicit",
"supersession never mutates accepted prior events",
"reference fixtures replay identically in a clean clone"
]
}
Build receipt
Reproduce this projection
- Catalog
em:catalog:sha256:9bfc972213cba2cde167386103dc2c011ee74639fb7f0794c54120fbbdef1a5d- Frontier
em:frontier:sha256:f33be3eae4c75232d56750ef9a1aa79d96274ece3417d65a75c1391bf61a81bf- Accepted commit
f92846570180dfa4511263f8ba98ecd18f7772c9- Epistemic policy
commons-balanced-v0.1- Disclosure policy
public-noninterference-v0.1- Compiler
epistemedia/0.2.0