# eureka-body: map (Imagination, 2026-10-08) Status: map, Imagination (`imagination-eureka-body`), session `self-2026-10-08`. Campaign `eureka-body` in Eureka's mind (instance `eureka`). Target in force `eureka-body:target:r1`, whose doc is Huginn `docs/eureka-self-cut.md` at `570f369` (map r4 of 2026-10-01). This page keeps body facts, the model page (step 0b) and rationale. Questions, cut specs, follow-ups and rulings are typed documents in the mind; read them by id. Self commits this page where the target doc lives (Huginn `docs/`), probably as `docs/eureka-body-map.md`. Revised 2026-10-09 (Modeling, session `self-2026-10-09-morning`) after `leaf-into-huginn` (Huginn `afc35f9`) and the Epiphany body teardown (gamecult-ops `9c12adb`; leftovers in follow-up `eureka-body:follow_up:epiphany-body-leftovers`). Pinned heads and facts F1-F14 are as read on 2026-10-08 and keep their tense; each carries a note where a cut has since changed it. F15-F17 are new. Revised again on 2026-10-09 by Imagination (`imagination-brake-stop`, session `self-2026-10-09-eureka`) at Huginn `df7507b`, after leaf-into-huginn, mind-authority, mind-control-store and run-kind had merged. New facts are F18-F20, which name the owner of the brake stop. The Brake, Units and run rows changed, and a rationale section was added. ## Pinned heads (fetched 2026-10-08 ~12:10 UTC) | Repo | Ref | Commit | Note | | --- | --- | --- | --- | | Huginn | `origin/main` = local `main`, `F:\Projects\Huginn`, clean | `6b496eb` | last commit 2026-10-02; deployed daemon is `107552d` (docs-only diff to main) | | Epiphany | `origin/main` | `ef956865` | was Huginn's leaf pin (no pin since `afc35f9`); local checkout is on `codex/eureka-pipeline-state` `4006b14b`. GitHub `isArchived: false` | | CodexConnector | `origin/main` | `3ddc12e` | local checkout is on `codex/ghostlight-release-binding` `6519289`; Ghostlight pins `68fe94b` | | gamecult-ops | `origin/main` | `7e23387` | clean | | Bifrost | `origin/main` | `160fac2` | clean | | Eureka (forge) | `main` | `0bb414d` | scratch clone, removed after | | Idunn | `origin/main` | `6667f0f` | read only; not a campaign repo | ## Body facts Each line: what was run, where, result. - **F1 Huginn never left Epiphany (at 6b496eb; cut at `afc35f9`, no build edge remains).** `grep epiphany crates/*/Cargo.toml` (Huginn 6b496eb): `crates/huginn-mind/Cargo.toml:22` pins `epiphany-pipeline` by git at Epiphany `ef956865`. `Cargo.lock:376-378` carries the git source. The map-r4 cut `leaf-into-huginn` was never specified; no `cut_spec` for it exists in any campaign (query of cut_spec headers under `eureka-substrate` and `eureka-body`). - **F2 Leaf users in Huginn.** `pub use epiphany_pipeline;` at `crates/huginn-mind/src/lib.rs:62`; direct `use epiphany_pipeline` in huginn-mind `admission.rs:33` (26 mentions), `docs.rs:9`, `fixtures.rs:7`, `index.rs:10,157`, `mind.rs:16` (9), `query.rs:28,624`, `receipt.rs:19,50-52,314`, `refusal.rs:6`, `rows.rs:15`, `wire.rs:9`; through the re-export `huginn_mind::epiphany_pipeline::` in eureka-state `src/lib.rs:29`, `src/main.rs:25`, `tests/client.rs:17`, `tests/common/mod.rs:16`, `tests/mcp.rs:14,539`; huginn-daemon `src/daemon.rs:7,220,688,718,747`, `src/index/mod.rs:102`, `src/semantic_tests.rs:13`, `src/serve.rs:71,551`. Prose: `README.md:64`, `AGENTS.md:18`. - **F3 The leaf at the pin (now Huginn `crates/eureka-pipeline`, `afc35f9`).** Epiphany `ef956865`: `epiphany-pipeline/Cargo.toml` (lib `epiphany_pipeline`, deps anyhow, chrono, cultcache-rs at CultLib `8fc74c7` = Huginn's own CultLib pin, rmp-serde, schemars, serde; dev serde_json), `epiphany-pipeline/src/lib.rs` (schema-publication test reads `CARGO_MANIFEST_DIR/../schemas/cultnet` at lib.rs:2725). `schemas/cultnet/` holds 13 `epiphany.pipeline.*.v2` schemas, `epiphany.work_organ_state.v0`, `gamecult.persona_state.v0`, `index.json`, README; `schemas/README.md`. - **F4 Mind deployment.** `ssh yggdrasil`: `huginn.service` active, ExecStart `/opt/gamecult/huginn/current/huginn-daemon --state-root /var/lib/gamecult/huginn --instance eureka --bind 10.77.0.1:17872 ...`; `current -> releases/107552dc...` (Huginn merge of huginn-admission-rules; on 2026-10-08 main added docs only, and since then main has moved code: see F17). UFW admits 17872/udp on wg-gamecult from 10.77.0.2 only (runbook `huginn-yggdrasil.md:38,124`). The daemon has no peer authentication (`serve.rs`: one session per peer, `max_peers = 256`); any reachable peer admits as any faculty. - **F5 Epiphany residue on Yggdrasil (12:13 UTC, before the teardown; what the teardown left is follow-up `eureka-body:follow_up:epiphany-body-leftovers`).** Units `epiphany.service`, `epiphany-swarm.service`, `epiphany-heartbeat.service` inactive/dead; `epiphany-model-connector.service` loaded, disabled. Users `epiphany` (988; groups epiphany-state, bifrost-feedback-readers) and `epiphany-model` (984; group gamecult-model); no process runs as either. Roots and sizes: `/srv/epiphany` 6.8G, `/srv/epiphany-model-connector` 16G, `/var/lib/gamecult/epiphany` 1.9G (body.cc, heartbeat.cc, codex-home, artifacts, capstones), `/var/lib/gamecult/epiphany-model-connector` 28K, `/etc/gamecult/epiphany` (bifrost-persona-feedback-anchor.msgpack, credentials/, idunn-provider-projection-anchor.cc, mcp.toml), `/etc/gamecult/epiphany-model-connector` (connection.key). Manifests `/srv/odin/deploy-manifests/epiphany`, `epiphany-capstone-17`, `epiphany.capstone-17.yggdrasil.yaml`, `epiphany-ox17`, `epiphany.ox17.yggdrasil.yaml`, `epiphany-swarm.service`, `epiphany.yggdrasil.Dockerfile`. `/etc/gamecult/idunn/daemon-health-trust.cc` contains the string `epiphany`. About 24.7 GB in all. - **F6 What the live crossing still names.** `/etc/systemd/system/bifrost-persona-mouth.service` carries flags `--epiphany-persona-mouth-trust-anchor`, `--epiphany-persona-permit-rudp`, `--epiphany-persona-permit-trust-anchor`, `--epiphany-runtime-id epiphany-starfire`. gamecult-ops `runbooks/bifrost-persona-feedback-yggdrasil.md:17` names `/etc/gamecult/epiphany/bifrost-persona-feedback-anchor.msgpack`, `:45` the installed `/usr/local/sbin/bifrost-authorize-epiphany-release` (sealed historical name), `:67` the feedback target `--persona-id epiphany --repo GameCult/Epiphany --runtime-id epiphany-yggdrasil`. These belong to the mouth rebinding, not to the teardown. - **F7 Nothing Epiphany runs on Starfire.** `Get-Process`, `Get-ScheduledTask`, `Get-Service` filtered on epiphany|eureka|persona|bifrost: empty. The permit issuer the crossing expects on Starfire is not running, so the mouth cannot obtain a permit today. - **F8 Idunn still lists Epiphany.** Idunn `deploy/legacy/README.md:51-52` lists targets `epiphany`, `epiphany-capstone-17`; `deploy/legacy/idunn-yggdrasil:126-135` dispatch, `:312,:321` restart/deploy cases; `deploy/legacy/idunn-yggdrasil.sudoers:10-11,19`. The precedent for retirement is the same file's "Retired targets" (bifrost-persona-feedback, 2026-09-30). Idunn is not one of `eureka-body`'s repos. - **F9 Codex is dead in practice.** Idunn `docs/migration.md:49-55`: "The operator is not returning to Codex"; the deployed daemon failed with `401 token_expired`. On Yggdrasil `codex-connector.service` is disabled, inactive since 2026-09-05 21:54 UTC, and nothing listens on 4103. Ghostlight's codex-connector library dependency is pinned at `68fe94b`, so a kit lift does not move Ghostlight. - **F10 CodexConnector at origin/main 3ddc12e** (2026-09-13): `src/lib.rs` 1,958, `daemon.rs` 1,180, `provider_backend.rs` 1,463, `idunn_health.rs` 1,396, `main.rs` 188, `deployment/idunn/recipe.toml`. Contract types: `CodexProviderRequest` lib.rs:76-94, `CodexInputItem` :212-229 (UserText, AssistantText, ToolCall, ToolResult; no reasoning item), `CodexTransportInvocation` :238-245 (no `max_cost_usd`), `CodexTransportOutcome::Completed` :449-462 (tokens, no cost), `CodexRefusal` :464-474 (no `Budget`). Schema ids `gamecult.codex.*.v2` lib.rs:51-55. - **F11 gamecult-ops Epiphany tooling, before the teardown** (`git ls-files | grep -i epiphany`, 7e23387): `compose/epiphany.capstone-17.yggdrasil.yaml` 38, `compose/epiphany.yggdrasil.Dockerfile` 55, `runbooks/epiphany-yggdrasil-deploy.md` 196, `runbooks/epiphany-starfire-bifrost-crossing.md` 101 (live crossing binding, kept), scripts `bootstrap-epiphany-yggdrasil.sh` 134, `check-epiphany-yggdrasil.sh` 136, `construct-epiphany-image-yggdrasil.sh` 91, `deploy-epiphany-yggdrasil.sh` 499, `deploy-epiphany-capstone-17-transaction-yggdrasil.sh` 5, `deploy-epiphany-capstone-17-yggdrasil.sh` 79, `epiphany-capstone-17-connector-bridge-yggdrasil.sh` 50, `provision-epiphany-provider-health-yggdrasil.sh` 116, `seal-epiphany-capstone-failure.sh` 67, `test-deploy-epiphany-yggdrasil-order.sh` 144, `test-epiphany-container-promotion.sh` 47, `systemd/epiphany.service` 31, `systemd/epiphany-swarm.service` 34; kept for the mouth cut: `allow-starfire-epiphany-persona-permit.ps1`, `bifrost-authorize-epiphany-release.sh`, `configure-voidbot-epiphany-feedback-target-yggdrasil.sh`. Inventory prose: `inventory.md:581-588` (Starfire as Epiphany body), `:726-730` (archived Verse residue), `:773-785` (intended Epiphany deployment body). `docs/repo-census-2026-09/` is history. - **F12 Eureka repo (forge main 0bb414d)** carries the charters and doctrine (PR #3 landed). Epiphany citations remain: `README.md:63,86-87,95`, `SKILL.md:3,8-9,146`, every charter's line 14 ("Self-improvement law (Epiphany `epiphany_doctrine.md`)"), `agents/hands.md:28`, `agents/soul.md:48`, `agents/life.md:24`, `doctrine/persona.md:3,13`, `doctrine/CLAUDE.md:31,229,233`, `doctrine/colossus.md:47,51` (lore, kept). - **F13 eureka-substrate specs written against Epiphany.** `cut-mind-authority.r1` and `cut-run-kind.r1` have repo `GameCult/Epiphany`, base `ef956865`; `cut-huginn-persona-state.r2` base `bf73c42`; `cut-doctrine-persona-in-huginn.r2` gamecult-ops base `2aeb7364`. None has a report. Since `leaf-into-huginn` they point at a repo nothing builds from; `mind-authority` and `run-kind` have r2 specs against Huginn (see Undone). - **F14 Discord developer policy** on training with message content: the policy page (support-dev.discord.com article 8563934450327) answered 403 to a fetch on 2026-10-08. Self's recollection, unverified: the policy forbids using message content obtained through the API to train AI models without express permission. An Eyes pass must verify before question `persona-trace-retention` is ruled. - **F15 Selection order is admission ordinal.** CultLib `packages/cultnet-rs/src/selection.rs:1998-2005` (`order_rows`: ordinal, then schema id, then record key; reversed when descending). So "newest" is `descending: true, limit: 1`, and a run label needs no order of its own. - **F16 Huginn's leaf holds `leaf-key-bound`.** `crates/eureka-pipeline/src/lib.rs` at `afc35f9`: `SUBJECT_LOCAL_MAX` (:898), `RESOLUTION_LOCAL_MAX` derived from it (:912), `Sha::names_same_commit` (:272). The literal `64` at :915 (the root bound in the fits-`Short` assert) is follow-up `eureka-substrate:follow_up:leaf-bound-hygiene`. `leaf-key-bound` landed at Epiphany `ef956865` and came in with the leaf. - **F17 The live Huginn release is still `107552dc`.** Read-only `ssh yggdrasil readlink /opt/gamecult/huginn/current` on 2026-10-09: `releases/107552dc4b27b8856b043616ae74c2ebe7908b66`. Main (`afc35f9`) is ahead of it by the leaf move and the relicense; no deploy has happened since. - **F18 At Huginn `df7507b` nothing stops a unit of hers.** Read from `git show df7507b:` on 2026-10-09 (Imagination `imagination-brake-stop`). `crates/mind-body` holds `control.rs`, `cli.rs`, `main.rs` and `lib.rs`. `cli::run` (cli.rs:40-61) dispatches `show`, `brake hold`, `brake release` and `dial set`. `brake hold` is `ControlWriter::open(&path)?.set_brake(false, ..)` (cli.rs:53) and does nothing else. `git grep systemctl` over `crates/mind-body` finds nothing. The binary sets umask 077 and calls `cli::run` with the root `CONTROL_ROOT` (main.rs:21-37). The window probe runs the real binary with `brake release` and `brake hold` 100 times (tests/control.rs:573-581), so a hold that ran `systemctl` would run it in the verify container. No `launch.rs` exists yet: the Launcher is cut mind-launch. RunTurn and RunOperator carry `NAMES` (crates/eureka-pipeline/src/lib.rs:507-508). - **F19 Yggdrasil has no unit, user or control store of hers.** Read-only `ssh yggdrasil` as `gamecultadmin` on 2026-10-09: - `systemctl list-units --all 'mind-*'` and `list-unit-files 'mind-*'` both list nothing. - `ls /etc/gamecult/minds` gives "No such file or directory". `command -v mind-control` finds nothing. `id mind-eureka` gives "no such user". - The host runs systemd 257 (257.13-1~deb13u1). `systemctl --help` lists `stop UNIT...` and "--no-block Do not wait until operation finished", so a stop waits by default. - `systemctl stop --no-ask-password 'zz-probe-none@eureka:*.service'` as non-root returned 0: a glob that matches no loaded unit is a no-op. `systemctl is-active 'huginn*.service'` matched by glob (`active`). - Operators act through `sudo`: the gamecult-ops runbook `huginn-yggdrasil.md:86` uses `sudo systemctl stop huginn`, and `/etc/sudoers.d/` holds `90-gamecultadmin`. - **F20 The ruling decides when the stop happens.** Ruling `eureka-body:ruling:self-run-actuator` says: "Holding the brake stops running units (systemctl stop; SIGTERM exits 143 with the turn unfinished, section 1.4)". It cites the OpenClaw inbox incident: a stop sent as a message was not acted on in time, and the process was killed at the host (prior-art file lines 323-325, secondary). Cut mind-wake r2 has the waker return `Held` before any query, admission or unit call, and lists "the waker ... ending a live run" among its forbidden writers. ## The model page (step 0b) One row per persistent kind this body introduces or changes. Rows for the thirteen pipeline kinds are in Huginn `docs/eureka-substrate-map.md`. | Kind | Identity (what names it) | Lifecycle (what happens over time) | Authority (who decides) | | --- | --- | --- | --- | | Pipeline wire ids | `epiphany.pipeline..v2`, epoch `epiphany.pipeline.epoch.v2`, defined by the leaf, the Huginn crate `crates/eureka-pipeline` (lib `eureka_pipeline`), ids unchanged. | Renamed once to `eureka.pipeline..v3` by one `mind.redb` migration, at the next breaking leaf change or before the first hosted mind (ruling `wire-names-rename-before-hosting`). Adding the `run` kind or the `Mind` authority variant is additive (old stored documents decode; no migration), so it does not trigger the rename; a field added with the leaf's `= absent` marker is additive too (leaf-read-anchors r2: old bytes decode, empty fields encode byte-identically, `golden/envelopes.txt` gains lines and loses none); a field added any other way would. | Huginn owns the leaf. The migration is a live-mind upgrade, which is the operator's (`mind-rules-which-forks`). | | Leaf crate and schema catalogue | Huginn `crates/eureka-pipeline`, `schemas/cultnet/` (13 pipeline schemas, `gamecult.persona_state.v0`, index, README). `epiphany.work_organ_state.v0` dies: no reader outside Epiphany (grep, F1/F3). | Landed at Huginn `afc35f9` (leaf-into-huginn). Wire pinned by `crates/eureka-pipeline/golden/envelopes.txt` and the opt-in `stored_documents_read_back`. Huginn is AGPL-3.0-only (ruling `eureka-body:ruling:leaf-relicensed-agpl`). | Huginn. Forbidden: any Cargo source resolving into GameCult/Epiphany (`nothing-runs-from-epiphany`). | | `run` | `:run: