diff --git a/schemas/cultnet/README.md b/schemas/cultnet/README.md index b21a5244..2f367dd6 100644 --- a/schemas/cultnet/README.md +++ b/schemas/cultnet/README.md @@ -38,8 +38,11 @@ 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 `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. +field with a serde default keeps `epiphany.pipeline.epoch.v1`, and so does +widening an enum such as `PipelineKind`, because these readers are ours and each +ships with the variants it knows -- one that meets a kind it has never heard of +refuses it on the kind, not on the epoch. A breaking change bumps the epoch, and +the new binary refuses the old store. Provider request contracts are owned by their provider boundary. The shared Codex contract lives in `GameCult/CodexConnector`; Epiphany's closed durable