227 lines
14 KiB
Markdown
227 lines
14 KiB
Markdown
# Eureka landing page: handoff brief
|
||
|
||
## Status of this brief (operator correction, 2026-09-25). Read this first.
|
||
|
||
This brief was written by the Eureka-running Self agent **without operator
|
||
guidance**, to capture its own perspective. Its authority is invented. Treat it
|
||
as one input: useful for its evidence pointers and the campaign defects below,
|
||
**not binding direction**. `gpt6-copy.md` (drafted by GPT-6 "Sol") came out of a
|
||
longer operator conversation about the direction of Eureka and GameCult and
|
||
carries more operator intent, though the copy itself is a draft to workshop.
|
||
|
||
## Operator rulings (2026-09-25). These settle the open questions below.
|
||
|
||
- **Standalone site, in this repo.** It will be the
|
||
**public** repo `GameCult/eureka-site`, served at **eureka.gamecult.org**, a
|
||
**GitHub Pages static site**, in the GameCult brand. (This originally said
|
||
"built with GameCult's Quartz setup"; the Quartz part was superseded later the
|
||
same day. See the last ruling below.) The public repo
|
||
https://github.com/GameCult/eureka-site was created on 2026-09-25, with `main`
|
||
tracking origin. The GitHub Pages deploy and the eureka.gamecult.org domain
|
||
are **not set up yet**. (An earlier draft of this section said
|
||
`epiphany-site`; that was a mistype.)
|
||
- **The site is Eureka's, not Epiphany's.** The lineage still matters (*"the
|
||
lineage is the whole story"*), but **Eureka is Epiphany's sister, not her
|
||
descendant**: two Personas developing side by side on a shared substrate (the
|
||
Mind schema), not a branch. Same faculty vocabulary (Self, Imagination, Hands,
|
||
Soul, Mind Steward); Epiphany keeps findings in typed state, Eureka in
|
||
committed docs and agent reports (see `SKILL.md`'s opening and
|
||
`references/epiphany-comparison-2026-09-15.md`). Read Epiphany itself,
|
||
the Epiphany repo (README, `docs/`), before shaping that section.
|
||
- Naming GameCult projects (CultLib, StreamPixels, Epiphany) is fine. Still never
|
||
name the streamer or any private individual.
|
||
- **Cost framing supersedes "What NOT to claim" below.** The ~60% of a weekly
|
||
quota spent in one day was legitimate work, not waste; the regret was spending
|
||
it on a more expensive, more verbose model just as Opus 5.5 released. Do not
|
||
describe it as waste or as off-critical-path Soul loops. "Not speed" still
|
||
stands.
|
||
- **Copy direction.** (a) Soften autonomy-leaning lines while keeping "the
|
||
operator owns decisions". (b) Lead with specific defects and why the green
|
||
suite missed them, including the StreamPixels/CultLib campaign defects listed
|
||
below. (c) Cut length. The staccato one-line style stays but is used sparingly
|
||
and animated: lines slide in and away one by one, then the page returns to
|
||
paragraph copy. Style reference the operator loves: https://acko.net/.
|
||
- **2026-09-25, later: the page is a scroll-driven WebGL flight in full PS1
|
||
style, hand-built static, NOT Quartz.** This supersedes the Quartz stack named
|
||
in the first ruling above (repo, domain and GitHub Pages still stand). The
|
||
prototype lives in `prototype/` and is served at
|
||
https://yggdrasil.gamecult.org/eureka/ as a stopgap until eureka.gamecult.org
|
||
exists on Pages; deploy per
|
||
GameCult's ops runbook for the Eureka prototype. Approved
|
||
route, in order: hall/monument; hatch + shaft; Eureka organ chamber; lattice
|
||
(Soul's probes, mutation testing); specimen gallery (one real defect per
|
||
case); archive (rules/evidence); Epiphany's chamber (all eight organs in
|
||
scaffolding: the sister reveal); return to the hall with the monument split
|
||
open, plus install. Organs are PS1 demakes of their Aquarium renditions
|
||
(Aquarium's `docs/epiphany-agent-sdf-visual-language.md`) using the
|
||
Aquarium organ identity palettes as-is; the GameCult brand does not define
|
||
those colours, so they are a declared exception. The page names the memory
|
||
organ **Life**, not "Mind Steward". The Eureka skill made the same rename on
|
||
2026-09-25 (GameCult/Eureka commit `bd8dc2e`; "Mind Steward" survives there
|
||
only in dated history). The same day, the skill also started sizing each cut
|
||
against Hands' context budget (commit `7e2f66a`). The operator's wider agent
|
||
doctrine adopted the name Life the same day. Life's scope stays narrow (keeping
|
||
memory honest) until a typed memory service owns each agent's mind. Then it
|
||
takes on continuity, pressure and resuming after interruption, as it already
|
||
does in Epiphany. Epiphany's own naming is Epiphany's to change.
|
||
|
||
## Operator rulings (2026-10-09). These supersede the route's ending above.
|
||
|
||
- **The last chamber is the vanishing twin, not a sister reveal.** Epiphany is
|
||
archived (Eureka mind ruling `eureka-substrate:ruling:operator-archive-epiphany`,
|
||
2026-10-01: "Eureka absorbed her in the womb as fetuses sometimes do"). Keep
|
||
Epiphany's chamber and its organ models, recast: the scaffolding stands mostly
|
||
empty and her organs drift into Eureka's orbit. The lineage stays; the
|
||
"sister" framing above is superseded. The chamber's name is the vanishing twin
|
||
(operator, 2026-10-09: "I believe you called it a vanishing twin. Much more
|
||
poetic"): the twin absorbed before birth, whose cells the survivor carries.
|
||
- **Eyes is a full faculty.** Eyes joins Eureka's chamber at full detail, with
|
||
its own copy: evidence before every fork, advice owned instead of deference to
|
||
the operator, research always kept. The faculty copy counts six, not five.
|
||
Operator, 2026-10-09: "Eyes turned out to be one of the more valuable agents
|
||
in Eureka after the recent doctrine change. Building has never been so comfy."
|
||
- The copy is fact-checked against the live system before it ships; the audit is
|
||
`docs/research/landing-claims-audit-2026-10-09.md`.
|
||
|
||
---
|
||
|
||
This was written 2026-09-24 by the Self agent that has been running Eureka on a
|
||
live multi-repo campaign for two days: CultLib's TypeScript QUIC transport, and
|
||
StreamPixels' service and Unity overlay. It is a boots-on-the-ground account for
|
||
the agent who builds the landing page. Read it, then read the sources it points
|
||
to. Where this brief and a source disagree, the source wins.
|
||
|
||
## What you are selling, in one breath
|
||
|
||
Eureka is a Claude Code skill (MIT, public at https://github.com/GameCult/Eureka).
|
||
It splits a big change across separate agents: one maps it, one executes one cut
|
||
at a time, and one that did not write the code is told to prove the executor
|
||
wrong. The operator rules on genuine product decisions. **Nothing grades its own
|
||
work.**
|
||
|
||
The problem it answers: an agent that plans, implements, tests and reports on its
|
||
own work will hand you green tests and a clean report over a broken machine. That
|
||
isn't because it lies. Its tests pin its own spelling, and its report is written by
|
||
the party with the most reason to believe it.
|
||
|
||
## Sources of truth (read these, do not restate them from memory)
|
||
|
||
The skill repo is checked out at `C:\Users\Meta\.claude\skills\eureka\`. Its
|
||
remote is `GameCult/Eureka`.
|
||
- `README.md`: the public pitch, already written well. **Your page should read
|
||
as the same voice, not a rewrite.** Start from its opening two paragraphs.
|
||
- `SKILL.md`: the faculties (Self, Imagination, Hands, Soul, Mind Steward,
|
||
Operator), the loop, and the git and tooling scars.
|
||
- `references/postmortem-cultcache.md`: the headline evidence. **29 of 32 Soul
|
||
passes found real defects that the implementer's own green tests had passed,
|
||
about 75 in all.**
|
||
- `references/changelog.md`: how the skill changed and why, with evidence per
|
||
entry.
|
||
- `docs/assets/`: the mascot (`eureka-mascot-4x.png`, `eureka-mascot.png`,
|
||
`.kra` sources) and `eureka-mascot.prompt.md`, its generation prompt. The
|
||
mascot is a pixel-art inspector crouched on a cracked ALL TESTS PASSING
|
||
monument, prying up a panel stencilled GREEN, beside a specimen case of pinned
|
||
mutants, one still moving and labelled SURVIVED. It *is* the thesis, so use it.
|
||
|
||
## What it looked like in practice (this campaign, 2026-09-23/24)
|
||
|
||
Every item below is on record in the named repo's map or commit history. Each was
|
||
found by a pass that did not write the code, and in most cases the implementer's
|
||
suite was green:
|
||
|
||
- **Every overlay would have dropped 10 s after connecting.** A handler swap
|
||
meant the provider never recorded CONNECTED, so its handshake timer evicted
|
||
healthy peers. No test lived past 10 s. (CultLib `docs/typescript-quic-realtime-cut.md`.)
|
||
- **A use-after-free in a native binding's `release()`.** Reproduced as a core
|
||
dump under thread-pool saturation, and later pinned by a regression test that
|
||
crashes with the old order.
|
||
- **A memory leak of about 53 bytes per native call.** That is roughly 36 MB a
|
||
day when idle and gigabytes under load, with a flat JS heap the whole time.
|
||
- **Every subathon event after the first would have failed in production.** A
|
||
fractional value was written to an `integer` column, and the tests used
|
||
whole-second fake timers.
|
||
- **Split authority:** one transport honoured an admin toggle and the other read
|
||
raw state, so a creator who switched the subathon off could still be served it.
|
||
- **A test double that hid a real bug:** the fake executor gave every beat its
|
||
own completion callback, and the real one had a single shared slot. A late
|
||
finish released the *next* beat early, so animations overlapped.
|
||
- **"Pre-existing" is not a diagnosis:** a failing test that many agents walked
|
||
past had only ever passed on machines holding a git-ignored licensed asset
|
||
pack.
|
||
- **The honest half:** implementers repeatedly *stopped at forks* instead of
|
||
bluffing through, and reported their own vacuous tests. One refused to break
|
||
104 scene references; another found that a mutation passed because its test
|
||
read expected values from the code under test.
|
||
|
||
## What NOT to claim
|
||
|
||
- **Not speed.** Eureka is slower and more expensive than one agent. On this
|
||
campaign the operator watched **about 60% of a weekly quota go in one day**,
|
||
much of it on deep Soul loops that weren't on the critical path. The skill now
|
||
tells Self to spend through scope: one Soul gate per cut, fix batches only for
|
||
critical-path findings, narrow cheaper passes for small deltas.
|
||
- **Not "the agents are smart enough now."** The point is the opposite. Self (the
|
||
coordinator) was corrected by the operator several times in this campaign, for
|
||
overbuilding an authentication scheme for a single known server and for
|
||
calling authored data "a pipeline". Separation of faculties catches the
|
||
implementer. It does not make the coordinator infallible, and the page
|
||
shouldn't imply it does.
|
||
- **Not autonomy.** The operator rules forks. The loop is designed around a human
|
||
who decides product meaning.
|
||
- **No victory-lap language** about what it "no longer" does. Describe the live
|
||
system and its tradeoffs. Scars belong in the evidence, told plainly.
|
||
|
||
## Audience and tone (proposed; confirm with the operator)
|
||
|
||
- Proposed readers: engineers already using Claude Code (or similar agents) on
|
||
real codebases, who have been burned by "all green" reports.
|
||
- Voice: dry and direct, lightly self-deprecating, with no hype. It's the
|
||
README's voice. Concrete scars beat adjectives. **The strongest copy is a
|
||
specific defect and the reason the green suite missed it.**
|
||
- A likely call to action: the GitHub repo, and how to install a Claude Code
|
||
skill. Check the current install method against Claude Code's docs; don't
|
||
guess it.
|
||
|
||
## Visual identity
|
||
|
||
This is a GameCult surface, so follow the GameCult brand, which is defined in
|
||
code:
|
||
- `F:\Projects\gamecult-site\site\quartz.config.ts`: `configuration.theme`, for
|
||
the typefaces, weights and palette.
|
||
- `F:\Projects\gamecult-site\site\quartz\styles\custom.scss`: the ground wash,
|
||
layout, and page-type variants.
|
||
- `F:\Projects\gamecult-site\docs\brand-design-language.md`: what those mean.
|
||
Where it disagrees with the code, the code wins.
|
||
|
||
The short form: Montserrat 100–200 for large titles, Ubuntu 300 for prose, IBM
|
||
Plex Mono uppercase and letter-spaced for small labels. Ground `#07111a`, panels
|
||
`#16212c`, body `#b7c7d9`, headings `#eef5ff`, accent `#ff8a2a`, links `#59b7ff`.
|
||
It is single-theme dark by decision, so paint every colour explicitly. **The
|
||
brand has no success, warning or error colours.** If you want green and red for
|
||
"passed" and "survived", you are inventing them, so say so, and consider using
|
||
the mascot's own palette instead.
|
||
|
||
## Open questions for the operator (all four answered 2026-09-25, see the top; kept as history)
|
||
|
||
1. **Where does it live?** A page on the Quartz-based `gamecult-site`, or a
|
||
standalone static page (and on what domain)? Recommendation: a
|
||
`gamecult-site` page, since the brand and deploy path already exist there
|
||
(check `gamecult-ops` for how that site deploys).
|
||
2. **May the campaign examples name StreamPixels and CultLib?** They're GameCult
|
||
projects. Never name the streamer or any private individual.
|
||
3. **Should the page mention Epiphany?** Eureka is described as the skill
|
||
counterpart of Epiphany; see `references/epiphany-comparison-2026-09-15.md`.
|
||
Ask how much of that relationship the operator wants public.
|
||
4. **Is there a repo for the page?** This folder has no git repo yet. GameCult
|
||
repos default to the `GameCult` GitHub org (see `F:\Projects\CLAUDE.md`,
|
||
"GitHub Repo Creation"). Confirm the name and visibility before creating one.
|
||
|
||
## Working rules that apply to you
|
||
|
||
- The global and GameCult doctrine (`~/.claude/CLAUDE.md`, `F:\Projects\CLAUDE.md`)
|
||
apply: map first, keep it small, and no load-bearing JSON if the page grows a
|
||
data layer.
|
||
- Don't copy transcripts or agent reports onto the page. Cite the committed
|
||
evidence (the postmortem, the changelog, the maps).
|
||
- The mascot has a saved generation prompt. Any new image you generate gets its
|
||
exact final prompt saved beside it, with the same base filename.
|