Campaign eureka-substrate, the Mind fixes the operator ruled next after idunn-watchdog. Typed target and rulings live in Eureka's mind. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4.2 KiB
Eureka substrate: target
Status: target, Self, 2026-10-01. Campaign eureka-substrate in Eureka's mind
(instance eureka). Its questions, rulings, cut specs, verification and the
substrate gaps themselves are typed documents there. This page keeps the
rationale and the design truths the campaign produces. The cut map's body facts
and model page will live in eureka-substrate-map.md.
Why
The first typed campaign, idunn-watchdog (postmortem: Idunn
docs/watchdog-reporting-postmortem.md, 6667f0f), ran its whole pipeline
through Huginn and found the substrate's defects by hitting them. The operator
ruled, 2026-10-01:
Yep, fixing Mind issues is highest priority, immediately once this campaign closes
The defects that cost the most:
- A finding can be admitted that can never be resolved. A key's local part
is bounded at 64 bytes as a whole, and only when it is composed
(
epiphany-pipelineLOCAL_MAX). A resolution's local embeds its subject's local plusfinding./follow_up.and.n<seq>. So a subject whose own key fits can have no admissible resolution, under any outcome. Six findings inidunn-watchdogare stuck in force this way. - A shape refusal arrives labelled
Unavailable. Huginn's admission maps the leaf's key error throughanyhowintoMindRefusal::Unavailable. The skill tells every agent thatUnavailablemeans the organ is down: retry once, then stop. A faithful agent would halt a campaign over a key that was too long. - Substrate gaps have no home every campaign can see. Follow-ups are
campaign-rooted, so 20
gap-*follow-ups sit underidunn-watchdog, and a later campaign's recipe cannot see them. - Smaller defects:
- Revising one spec forced a revision of every spec that named it in
depends_on, twice, when the dependency was on a cut. - A short sha and the full sha of one commit are different values to admission.
- A finding cannot be deferred to the cut that fixes it, only to a pointer follow-up.
- The faculty is named Life, but the enum says
MindSteward. - Stewardship is universal (operator, 2026-09-30), yet admission demands a per-repo stewardship record that decides nothing.
- Revising one spec forced a revision of every spec that named it in
The code the live mind runs sits on two long-lived branches: Huginn
eureka/memory-organ (release 9dd6d80), and Epiphany
codex/eureka-pipeline-state, where the leaf Huginn pins lives. The operator
ruled that they merge to main first.
Design truths this campaign produces
- Every admitted subject stays resolvable. If admission accepts a document whose kind can be resolved, every outcome its subject allows can be admitted for it, up to a stated sequence bound. A grammar that cannot hold a key refuses the subject at admission, not its resolution later.
- A refusal names what was wrong. A document that breaks a shape, bound or
key rule is refused as a typed document refusal.
Unavailablemeans only that the organ could not serve. - Stored documents stay valid. No change in this campaign re-keys,
re-encodes or invalidates a document already in the mind. The epoch stays
epiphany.pipeline.epoch.v2. Every change is a widening, an added variant, or an admission rule that judges new batches only. - One home for substrate gaps. This campaign is the standing home for gaps in the mind's own substrate. The skill's recipe names its root, and every campaign reads it.
- The mind's code comes from main. The Huginn daemon, the leaf and the
eureka-stateclient the live mind runs are built from commits on Huginn's and Epiphany's main. - The live mind survives its own upgrade. Each deploy upgrades
/var/lib/gamecult/huginn/minds/eureka/mind.redbin place under a release symlink that can be flipped back. Every document admitted before the upgrade reads back after it.
Not this campaign
- Verify-stopgap gaps (artifact return,
rgin the image, sibling repos): Idunn's verify campaign. - CultNet selection (
gap-citer-faculty-hop): CultLib. - The cold-embed timeout and a session-id tool: recorded follow-ups.
- Leasing stewardship between agents and
hand_off: Huginn Cut 12, parked. - Re-encoding stewardship ids into a readable form, which would re-key stored documents.
- Persona-state reading in Huginn.