From d17cc4415f3ff8b1a0eda00f6f0d997b50d51f0e Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Wed, 16 Sep 2026 11:40:25 +0200 Subject: [PATCH] Stop telling readers pipeline state lives in a repo The Main Families entry still said pipeline state is "stored per repo at `.epiphany/pipeline/pipeline.cc`", which Cut 4 deleted, and the wire note still sent these contracts to the voidbot projection. Both describe a machine that no longer exists. Pipeline state now lives in an instance's mind, owned by the Huginn memory organ, and the contracts cross to that organ and its `eureka-state` client. The three kinds this branch added are named, since the list is the entry's point. The `[value]` payload sentence, the derivation sentence and the Q2 evolution sentence stand; the derivation sentence now says which package runs the check. Documentation only: no build, no test. Co-Authored-By: Claude Opus 5 --- schemas/cultnet/README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/schemas/cultnet/README.md b/schemas/cultnet/README.md index 2ca319c8..b21a5244 100644 --- a/schemas/cultnet/README.md +++ b/schemas/cultnet/README.md @@ -26,14 +26,17 @@ hand-maintained JSON registry. - `gamecult.persona_state.v0`: portable public Persona state. - `epiphany.work_organ_state.v0`: portable state for lean work organs. - `epiphany.pipeline.*.v1`: Eureka pipeline state (campaign, target, question, - ruling, cut spec, cut report, verdict, finding, follow-up, resolution), stored - per repo at `.epiphany/pipeline/pipeline.cc`. + ruling, cut spec, cut report, verdict, finding, follow-up, resolution, plus + instance, stewardship and hand-off), stored in an instance's mind and owned by + the Huginn memory organ. A store is canonical to exactly one instance, so the + instance document carries the identity, stewardship records which repos that + instance is assigned, and a hand-off records a reassignment in both minds. Pipeline wire note: each document payload is `[value]`, a one-element MessagePack array whose element is the named map the schema describes. These -contracts cross to Eureka MCP clients and the voidbot projection. The files are +contracts cross to the Huginn organ and its `eureka-state` client. The files are derived from the Rust value types and checked byte-for-byte by -`pipeline_published_schemas_match_derivation`; text bounds are UTF-8 bytes and +`epiphany-pipeline`'s `pipeline_published_schemas_match_derivation`; text bounds are UTF-8 bytes and enforced by admission, not by the schema. Evolution is additive: a new named field with a serde default keeps `epiphany.pipeline.epoch.v1`; a breaking change bumps the epoch, and the new binary refuses the old store.