diff --git a/docs/research/2026-10-30-mind-inheritance-prior-art.md b/docs/research/2026-10-30-mind-inheritance-prior-art.md new file mode 100644 index 0000000..534d340 --- /dev/null +++ b/docs/research/2026-10-30-mind-inheritance-prior-art.md @@ -0,0 +1,108 @@ +# Mind inheritance from Eureka: fork, distill, or a shared mind (2026-10-30) + +Serves question `eureka-body:question:mind-inheritance-from-eureka` under ruling `eureka-body:ruling:persona-workshop-from-lore-and-journeys`; precedent `eureka-body:ruling:foreign-mind-ref-instance` (shared store + pokes, 2026-10-10) and follow-up `atlas-shared-store-and-pokes`. Eyes facts, no recommendation. + +Facts with pointers. No recommendation. "Not measured" marks what I could not reach. + +## 1. What the Eureka mind holds + +whoami (instance eureka, rudp://10.77.0.1:17872): 12,967 documents, 4,477 receipts, schema_epoch epiphany.pipeline.epoch.v2, persona Stored 2026-10-29T19:20Z. + +Counts by kind (eureka-state query, `matched` per schema, as_of receipt 4477): +resolution 4,226 | finding 2,818 | ruling 1,222 | follow_up 1,111 | cut_report 1,100 | verdict 948 (derived: first attempt timed out at 15 s, retry matched 948) | cut_spec 837 | question 583 | target 79 | campaign 35 | instance 1 (stewardship 6, hand_off 0, run 1, plus 9 instance-rooted docs under root `eureka`). Sum of the kinds = 12,967 (within rounding of my verdict retry). +Everything is one wire family `epiphany.pipeline..v2` (names to be renamed `eureka.pipeline..v3` before the first hosted mind; eureka-body-map.md:505). + +Per-campaign document counts (query with `fields: [{index:"root", op:"any_of", values:[...]}]`, limit 1, read `matched`). Only these roots were counted (35 queries was over budget): +- aetheria-release 3,746 +- aetheria-ew 1,273 (grouped query with living-world, arena, fauna, gravity returned 1,273 total because the first four slugs matched; treat as a floor for the five Aetheria design campaigns) +- eureka-body 1,189 +- web-customize 998 (grouped with rps, motion-pipeline, lodur: the grouped query returned web-customize's campaign doc; the 998 is the sum of that group, not web-customize alone) +- variants 902 +- cultlib-gaps 857 +- eureka-substrate 619 +- ghostlight-verse 572 +- gamecult-chat 357 +- thing2 116 +- root `eureka` (instance, stewardship, run, their resolutions) 9 +Not counted: idunn-watchdog, thing, thing-family/providers/verse, site-masthead, asura, cultmath-tapes, concept-mill-votes, brush-tree, persona-poses, brokkr-msgpack, aetheria-gravity/fauna/arena/living-world individually, idunn-reincarnation, idunn-deploy-provenance, joystick, cultmesh-ts-content, cultmesh-garden-path, weksa-lowering, lodur, rps, motion-pipeline. +Caveat: the sum of the counted roots (~10.6k) is dominated by Aetheria (release + ew group) and eureka-body; the long tail is uncounted. + +35 campaigns, with their `repos` field (query kind campaign): +- Eureka-steward repos (Huginn, Eureka, gamecult-ops, CodexConnector, Epiphany, Bifrost, Idunn): idunn-watchdog (Idunn, Bifrost, ops), eureka-substrate (Huginn, Epiphany, Eureka, ops), eureka-body (Huginn, Eureka, ops, CodexConnector, Epiphany, Bifrost), idunn-reincarnation (Idunn, ops), idunn-deploy-provenance (Idunn, ops), persona-poses (site, ops, Huginn, Bifrost), thing2 (Eve, ops). +- Heimdall/Bifrost: concept-mill-votes (Bifrost, ops, AetheriaLore), joystick (Heimdall, StreamPixels, ops), gamecult-chat (ops, Bifrost, Heimdall, Idunn, gamecult-chat). +- Kiko (StreamPixels, Vili, Mimir, Muninn): web-customize, rps, motion-pipeline (Vili, StreamPixels). +- Libby (CultLib and listed repos): cultlib-gaps, variants (CultLib, Aetheria), cultmath-tapes (CultLib, site), cultmesh-ts-content, cultmesh-garden-path, brokkr-msgpack (Brokkr, CultLib), brush-tree (Csg, Brokkr, Aetheria), thing-family (Thing* repos, CultLib, Ymir). +- Nibu (Aetheria, AetheriaLore, Asura, Lodur, BadDaySimulator): aetheria-release, aetheria-ew, aetheria-fauna, aetheria-gravity, aetheria-arena, aetheria-living-world, asura (Asura, CultLib, Aetheria), lodur (Lodur, BadDaySimulator). +- Weksa: weksa-lowering (Weksa); ghostlight-verse (Ghostlight, AetheriaLore, ops). +- Void: site-masthead (gamecult-site). +- Multi-steward: thing-providers (StreamPixels, Vili, Stonks, Weksa, repixelizer, Sai, Loki, AquaSynth) spans kiko/libby/void/weksa/aqua; thing-verse (Odin, Ghostlight, Heimdall, Muninn, Mimir, Gjallar, Hermodr, Bifrost) spans eureka/weksa/heimdall/kiko/archive. +Campaign-to-steward mapping above is my join of the campaign `repos` lists to stewardship-final.md (steward column); it is not a stored relation. + +Stewardship in the mind: 6 `stewardship` documents, all instance eureka, keys `eureka:stewardship:gamecult_-.n1`: Bifrost, gamecult-ops, Idunn (2026-09-30), Epiphany, Eureka, Huginn (2026-10-01). The 66-repo steward table (stewardship-final.md, 9 eureka / 7 nibu / 7 void / 7 weksa / 6 libby / 5 kiko / 4 aqua / 3 heimdall / 18 archive) is operator-confirmed on 2026-10-29 but is not in the mind as stewardship documents. + +Cross-cutting content every Mind would meet (eureka-state ruling titles, label in parentheses): +- eureka-body: persona-per-mind, persona-workshop-from-lore-and-journeys (2026-10-30, the ruling quoted in the brief), foreign-mind-ref-instance, swarm-governance-in-bifrost, swarm-decides-without-operator, governance-estate-blocks, brake-anyone-pulls-motion-releases, swarm-shares-log-bound, swarm-lead-steward-router, swarm-membership-operator-rules, self-run-result-to-classifier, always-open-source, she-owns-her-body, self-runs-through-connector. +- eureka-substrate: operator-means-shape-ends, authority-thresholds, mind-rules-which-forks (cited in swarm-revival-target.md). +- Process/charter law is mostly outside the mind: CLAUDE.md, ~/.claude/agents/*.md (Eureka repo), ~/.claude/doctrine; and a prose layer under prose-knowledge-target.md (forks, rulings still in prose). +Eureka-only content: eureka-body Huginn body-map cuts (connector, claude-code backend, self-waker, run claims, repetition breaker), idunn-watchdog/reincarnation, eureka-substrate gaps (docs/eureka-body-map.md, eureka-substrate-map.md). +Steward-owned content (by campaign repos): the Aetheria, StreamPixels, CultLib, Ghostlight, Weksa campaigns listed above, each with its own rulings, cut specs, reports, findings. +Counts for "commons vs steward-owned vs Eureka-only" as documents: not measured (needs paging 12,967 ids; the daemon CLI `huginn` is not built locally, only the MCP binary exists at F:\Projects\Huginn\target\release\eureka-state.exe). + +Eureka's Persona (persona_get, personaId eureka, updated 2026-10-29T19:20Z): publicName Eureka, she/her, jurisdiction = the eureka mind and coordination of the swarm in Matrix, home context matrix #gamecult space (#swarm, #burn, #operator); voiceSummary (dry, direct, cult vocabulary turned toward revealing); affect.socialBonds for operator, weksa, libby, heimdall, kiko, aqua, nibu, void (each "shortlisted cast Mind with Matrix account, no mind or mouth yet"); agencyPressure: operator-move, swarm-bring-up (wanted running 2026-10-30), burn-visible; thoughtMemory memories epiphany-absorbed, one-persona-per-mind; six values (coherence over velocity, nothing grades itself, reveal-not-obscure, visible consent, open source, community cannot betray); activationProfile empty; privateNotes (rehydrate from typed state, appearance canon, operator rapport). Provenance authority canonical, source system huginn. +Eureka-specific fields: personaId, jurisdiction, voice, bonds, pressures, memories; the mind holds who she is in the Persona document and project truth in typed pipeline state (privateNotes says so). + +## 2. Huginn mechanics for moving knowledge + +Source: F:\Projects\Huginn at 096b142 (local; GitHub main 7db86f7 was not fetched). + +Identity rules: +- One Huginn daemon per mind: `serve.rs` takes exactly one `--instance`; store opens fail-closed; Qdrant collection per instance (`huginn_mind_`) (docs/swarm-revival-target.md "Body"). +- `Mind::open` (crates/huginn-mind/src/lib.rs:1-10) refuses a foreign type, foreign epoch, missing identity or foreign identity; takes the per-path lock; redb lock held for the daemon's lifetime (gamecult-ops/runbooks/huginn-yggdrasil.md:16-17). +- Admission A5 (`refuse_foreign_instance`, crates/huginn-mind/src/admission.rs:310-320): instance/stewardship/run documents must name this mind; a hand_off must name it on one side. +- Keys embed identity: instance-rooted keys `:instance:self`, `:stewardship:.n`, `:run: