Huginn/schemas/cultnet
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Eureka e939d246b8 Source query takes texts: wire field, door and published schemas
SourceQuery gains `texts` (one to eight, SOURCE_TEXTS_MAX) beside the
transitional `text`; check() refuses neither, both, more than eight and blank
entries, naming `texts`. SourceHit.score documents cosine versus reciprocal-rank
sum. Published request and response schemas regenerated. Cut
gamecult-chat:cut_spec:cut-source-query-texts.r1, commit 1.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-11 15:59:52 +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.desk_answer.v2.schema.json desk: header facts derive whether an answer counts at the read's snapshot; refusals keep what was sent 2026-11-10 17:38:36 +00:00
epiphany.pipeline.finding.v2.schema.json eureka-pipeline: the desk_answer kind, tagged DeskOutcome and its key 2026-11-10 15:15:48 +00:00
epiphany.pipeline.follow_up.v2.schema.json eureka-pipeline: the desk_answer kind, tagged DeskOutcome and its key 2026-11-10 15:15:48 +00: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 eureka-pipeline: the desk_answer kind, tagged DeskOutcome and its key 2026-11-10 15:15:48 +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: the desk_answer kind, tagged DeskOutcome and its key 2026-11-10 15:15:48 +00: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 eureka-pipeline: the desk_answer kind, tagged DeskOutcome and its key 2026-11-10 15:15:48 +00:00
epiphany.pipeline.reply.v2.schema.json eureka-pipeline: the desk_answer kind, tagged DeskOutcome and its key 2026-11-10 15:15:48 +00:00
epiphany.pipeline.research.v2.schema.json eureka-pipeline: the desk_answer kind, tagged DeskOutcome and its key 2026-11-10 15:15:48 +00:00
epiphany.pipeline.resolution.v2.schema.json eureka-pipeline: the desk_answer kind, tagged DeskOutcome and its key 2026-11-10 15:15:48 +00:00
epiphany.pipeline.ruling.v2.schema.json pipeline: RulingAuthority::Steward names a peer steward's decision, her stewardship and her words 2026-11-11 11:39:17 +00:00
epiphany.pipeline.run.v2.schema.json eureka-pipeline: the desk_answer kind, tagged DeskOutcome and its key 2026-11-10 15:15:48 +00: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 eureka-pipeline: the desk_answer kind, tagged DeskOutcome and its key 2026-11-10 15:15:48 +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.desk_request.v1.schema.json Desk reads: Mind::desk_forks and desk_fork project card, record and entry at one snapshot 2026-11-10 23:57:27 +00:00
huginn.desk_response.v1.schema.json Desk door: DeskForkTooLarge becomes the not-stored refusal fork_too_large (list only), text names fork id and order; schemas regenerated 2026-11-11 00:56:36 +00:00
huginn.mind_request.v1.schema.json Source query takes texts: wire field, door and published schemas 2026-11-11 15:59:52 +00:00
huginn.mind_response.v1.schema.json Source query takes texts: wire field, door and published schemas 2026-11-11 15:59:52 +00:00
index.json Desk wire envelope: DeskRequest with Libby's wire names, deciders per call (max 64), generic envelope cores, desk schemas 2026-11-10 20:31:21 +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.