| Filename | Latest commit message | Latest commit date |
|---|---|---|
Ghostlight's independently run campaign named what the documents could not say: a report's promises, a ruling's authority, a finding's origin, and a resolution's referents as anything but unparsed text. Zero new kinds, no key moves, epoch unchanged. Added: RulingAuthority and FindingOrigin as unit enums; Promise beside LandedName, identified by its report and label like a TargetInvariant; promises on the cut report, authority on the ruling, origin on the finding, and promise plus a bounded mutations list on a verdict claim. Retyped: MutationRecord carries a key-safe label, a location, the exact before and after, and the commit it ran against; the cut spec's estimate is a StructuralDelta, the same shape as the report's actual, so the two compare on every axis; ResolutionOutcome's referents are PipelineRefs, Superseded a list of at most eight (its maxItems carried by schemars extend, since the enum is outside value_types!), Fixed a Sha with an optional record (ruling B). The Bounded impl is the replacement written whole: the list validates every item, and every arm names its field. Five tests pin the shapes: a referent is a full id of the kind it declares, with a wrong-kind forgery at by[1] refused by field, and an id no resolution derives left to admission; a fix's commit is lowercase hex; a mutation's label is dot-free and its commit a sha; a claim's promise and mutations are labels, nine mutations refused at eight; the sample spec estimates a net addition of 900 lines and equals the sample report's actual. Six schemas regenerate from the derivation test's temp directory: ruling, cut_spec, cut_report, verdict, finding, resolution. index.json and the other seven are byte-identical. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> |
||
| .. | ||
| cultnet | ||
| README.md | ||
Schemas
This folder is the canonical paperwork shrine for Epiphany's shared state contracts.
If a Persona field or Mind document matters enough to steer the machine, it should have a receipt here instead of living only in one Rust struct or one developer's damp recollection.
Canonical surfaces
- cultnet/gamecult.persona_state.v0.schema.json:
portable Persona state contract for Epiphany Persona, VoidBot repo Personas, and
Ghostlight characters. It carries explicit provenance, public presentation
metadata, typed
candidateActions, and a non-authoritative extension bag for source-specific fields; social bonds, status reads, and doctrine stances are typed affect records rather than generic thought blobs. Timestamps use JSON Schemadate-time,presentationis required, andcustomenum values have companion custom-label fields. - cultnet/epiphany.work_organ_state.v0.schema.json: light function-shaped state for Epiphany internal work organs.
- cultnet/README.md: JSON Schema publication artifacts for typed CultNet boundaries. Live providers own their schema-catalog responses.
Source Of Truth
The living implementation is in code:
The rule is simple:
- code owns executable truth
- this folder owns human-readable contract receipts
- vendored copies are downstream, not the throne
Update Discipline
When changing any of the following, update this folder in the same pass:
- canonical organ-state or Persona family names
- standing role trait names
- schema version identifiers
If a change lands in code without a matching receipt here, assume the machine has started whispering to itself in the walls again.