Huginn/schemas/cultnet
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Eureka 69ba61f054 AlreadyResolved names the closure in force, so a wrong closure can be corrected
A closed row is corrected by withdrawing its resolution and resolving the
subject again at the next sequence; admission already allows it, in one batch
too (new test). The refusal gave no way to find it: a Mind that tried to
Withdraw or re-resolve the follow-up itself got AlreadyResolved with only the
subject. It now carries closed_by, the resolution key to withdraw.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 11:41:21 +00:00
..
epiphany.pipeline.campaign.v2.schema.json Copy the pipeline leaf and its schema catalogue from Epiphany ef956865 2026-10-09 14:07:58 +02:00
epiphany.pipeline.cut_report.v2.schema.json Golden lines and published schemas derived for CodeLocation.symbol and CutSpec.reads 2026-10-09 21:12:25 +02:00
epiphany.pipeline.cut_spec.v2.schema.json Golden lines and published schemas derived for CodeLocation.symbol and CutSpec.reads 2026-10-09 21:12:25 +02:00
epiphany.pipeline.finding.v2.schema.json thought kind: her stream of thought is a document (cut stream-thoughts step 1) 2026-11-06 22:18:47 +00:00
epiphany.pipeline.follow_up.v2.schema.json eureka-pipeline, huginn-mind: a Sleep turn shares the Persona slot, a consolidation is a pair 2026-11-08 11:01:39 +01:00
epiphany.pipeline.hand_off.v2.schema.json Copy the pipeline leaf and its schema catalogue from Epiphany ef956865 2026-10-09 14:07:58 +02:00
epiphany.pipeline.idea.v2.schema.json thought kind: her stream of thought is a document (cut stream-thoughts step 1) 2026-11-06 22:18:47 +00:00
epiphany.pipeline.instance.v2.schema.json Copy the pipeline leaf and its schema catalogue from Epiphany ef956865 2026-10-09 14:07:58 +02:00
epiphany.pipeline.memory.v2.schema.json eureka-pipeline, huginn-mind: a Sleep turn shares the Persona slot, a consolidation is a pair 2026-11-08 11:01:39 +01:00
epiphany.pipeline.pulse.v2.schema.json schemas: the pulse, request and response schemas re-derived for tempo_vote_withdrawn 2026-10-31 09:07:01 +01:00
epiphany.pipeline.question.v2.schema.json thought kind: her stream of thought is a document (cut stream-thoughts step 1) 2026-11-06 22:18:47 +00:00
epiphany.pipeline.reply.v2.schema.json thought kind: her stream of thought is a document (cut stream-thoughts step 1) 2026-11-06 22:18:47 +00:00
epiphany.pipeline.research.v2.schema.json thought kind: her stream of thought is a document (cut stream-thoughts step 1) 2026-11-06 22:18:47 +00:00
epiphany.pipeline.resolution.v2.schema.json eureka-pipeline: a resolution outcome Moved { to } closes a campaign for the mind that gives it up 2026-11-08 17:47:32 +01:00
epiphany.pipeline.ruling.v2.schema.json thought kind: her stream of thought is a document (cut stream-thoughts step 1) 2026-11-06 22:18:47 +00:00
epiphany.pipeline.run.v2.schema.json eureka-pipeline, huginn-mind: a Sleep turn shares the Persona slot, a consolidation is a pair 2026-11-08 11:01:39 +01:00
epiphany.pipeline.stewardship.v2.schema.json stewardship names: chat names a steward lists, and the Persona and heartbeat address her by them 2026-11-07 00:51:17 +01:00
epiphany.pipeline.target.v2.schema.json campaign-repos: a campaign's repo set changes by target revision; one line_of decides supersession lineage (squash of eureka-substrate/campaign-repos c0a1f2c..4442e1a) 2026-10-22 23:38:20 +02:00
epiphany.pipeline.thought.v2.schema.json stream: soul pass s1 fixes (stale repo news, userinfo bypass, reads, prompt version, poll cost) 2026-11-07 01:14:34 +00:00
epiphany.pipeline.verdict.v2.schema.json Copy the pipeline leaf and its schema catalogue from Epiphany ef956865 2026-10-09 14:07:58 +02:00
gamecult.persona_state.v0.schema.json Copy the pipeline leaf and its schema catalogue from Epiphany ef956865 2026-10-09 14:07:58 +02:00
huginn.mind_request.v1.schema.json huginn-mind: a Moved resolution freezes its campaign's root and the receiver replays the history as an import naming its source 2026-11-08 17:47:43 +01:00
huginn.mind_response.v1.schema.json AlreadyResolved names the closure in force, so a wrong closure can be corrected 2026-11-09 11:41:21 +00:00
index.json thought kind: her stream of thought is a document (cut stream-thoughts step 1) 2026-11-06 22:18:47 +00:00
README.md research and idea: two kinds for what a pass finds and what could be, and the recipes known, pass and ideas (eureka-pipeline, huginn-mind, eureka-state) 2026-11-04 15:13:40 +01:00

Huginn's CultNet contracts

huginn.mind_request.v1 and huginn.mind_response.v1 are the organ's own wire schemas, published from here because Huginn owns them. huginn-daemon serves them on a cultnet.schema_catalog_request.v0; nothing else reads them.

Each file is serde_json::to_string_pretty of schemars::schema_for! over the type of the same name in crates/huginn-mind/src/wire.rs. Regenerate by hand and the test refuses it: cargo test -p huginn-mind --lib -- --exact wire::tests::published_wire_schemas_match_derivation compares file to derivation byte for byte.

The pipeline catalogue

index.json is the publication manifest for every schema here: the eighteen epiphany.pipeline.*.v2 schemas, gamecult.persona_state.v0 and the two huginn.mind_* wire schemas. The pipeline schemas are derived from the value types in crates/eureka-pipeline and checked byte for byte by its pipeline_published_schemas_match_derivation test. Each document payload is [value], a one-element MessagePack array whose element is the named map the schema describes. Text bounds are UTF-8 bytes and enforced by admission, not by the schema. A new named field marked = absent (defaulted on read, omitted on write when empty) keeps epiphany.pipeline.epoch.v2; a breaking change bumps the epoch, and the new binary refuses the old store.