2026-10-09 14:07:58 +02:00
|
|
|
# Schemas
|
|
|
|
|
|
2026-10-09 14:09:16 +02:00
|
|
|
This folder is the canonical paperwork shrine for the state contracts Huginn
|
|
|
|
|
publishes and the pipeline leaf derives.
|
2026-10-09 14:07:58 +02:00
|
|
|
|
|
|
|
|
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](./cultnet/gamecult.persona_state.v0.schema.json):
|
2026-10-09 14:09:16 +02:00
|
|
|
portable Persona state contract for Eureka's Persona, VoidBot repo Personas, and
|
2026-10-09 14:07:58 +02:00
|
|
|
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
|
|
|
|
|
Schema `date-time`, `presentation` is required, and `custom` enum values have
|
|
|
|
|
companion custom-label fields.
|
|
|
|
|
- [cultnet/README.md](./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:
|
|
|
|
|
|
2026-10-09 14:09:16 +02:00
|
|
|
- [eureka-pipeline](../crates/eureka-pipeline/src/lib.rs): the pipeline document types and their derived schemas
|
2026-10-09 14:07:58 +02:00
|
|
|
|
|
|
|
|
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.
|