# bitGAN Act 1 Puzzle — Handoff Brief (2026-08-28)

**For a fresh workspace.** Read this fully, then `theories/DECISIONS.md` (D1-D13, the
authority on what the collector has ruled) and `theories/SOLUTION_SPACE.md` (+3 addenda).
Work in `/Users/michaelconnery/Desktop/bitgan_puzzle_work/`. The 8/26 handoff
(`HANDOFF-2026-08-26.md`) still holds for goal, hard rules, and the sweep harness;
this brief supersedes it on data, classes, and protocols.

---

## THE GOAL (unchanged)
Recover the 12-word BIP-39 seed for wallet `0x18f87ec9c527aba1db44f715456bf28b0dae478d`.
Clue: "The seed phrase is 11 glitches ending with a random word." Order = mint order
(both solved precedents), unless a stated ordering principle says otherwise.
`RECOVERED_HITS.txt` does not exist => no hit ever. Plant-validate every sweep
(`qbuild.py` + `qrun2.py` — the 2-suffix runner STOPS ALL WORK on a real hit).
Registry (`theories/_registry.json`, ~103k keys) is advisory: de-prioritize, never skip.

## ⚠️ HOW TO WORK WITH collector (over-indexed on purpose — follow exactly)

1. **His eye is the final authority, and it is the project's best instrument.** Every
   breakthrough came through it. Get his visual take EARLY and OFTEN.
2. **When you ask him to adjudicate anything visual, you MUST show him either (a) an
   ALL-FRAMES grid (every frame, numbered, full frame — never cropped, never sampled)
   or (b) the animated GIF playing in motion.** Sampled frames caused every false
   negative and false positive this project has had. This rule exists because a 6-frame
   sample made him mis-grade his own prior finds (#165, #207).
3. Serve review pages through the local server: `.claude/launch.json` in the
   10000futures project has a `puzzle` config (python http.server with a chdir
   workaround — the spawned server CANNOT read Desktop due to macOS permissions).
   **A new session must edit that chdir path to its OWN scratchpad dir and copy
   assets there.** Pattern: stage HTML + images in scratchpad, `preview_start`
   name="puzzle", give the collector `http://localhost:8899/<page>.html`. Every review page:
   one decision per page, grade controls (confirm/reject/unsure + note), localStorage
   persistence, an Export button producing a paste-back text block.
4. **Structured requests only**: a table of contents of what needs deciding, then ONE
   item at a time. No walls of words. If you want approval, explain plainly and say
   "I'm asking you to approve X."
5. **Plain English for all mechanisms** (selection / extraction / ordering): explain at
   a 9th-grade reading level, no jargon. Example of the required register: NOT
   "dimension-distinct sudoku assembly with positional pinning" BUT "each piece has a
   Dimensions number from 2 to 11. The idea: a piece's number tells you which word slot
   it fills. Three slots (1, 9, 10) have no matching number, so three extra pieces fill
   those in mint order."
6. **Mix-and-match doctrine (his correction, D10): never require one glitch class to
   supply all eleven.** Small classes (even n=3) are stackable components across drops.
7. **Triple discipline**: a negative sweep kills one (selection x word-method x
   ordering) combo — NEVER the glitch itself. Encode all three in every sweep label.
8. **All-frames rule (D-frame)**: no visual claim may be asserted from sampled frames.
   Full frames, every frame. Sampling may only GENERATE candidates.
9. **Texture vs payload criterion (validated by his rulings)**: if a glyph/pattern
   survives where the creature has dissolved, or tiles the full width, it is background
   texture — never payload. Real marks live and die with the creature.
10. Never dispatch anything with external cost without his go-ahead. Local sweeps are
   free but ASK before starting new sweep campaigns — he has twice paused sweeping
   because the consideration set was still moving.
11. Record every new anomaly in `theories/anomaly_ledger.json` (append-only) and every
   ruling in `theories/DECISIONS.md`. Update memory sparingly; the files are canon.

## STATE OF THE HUNT (what is RATIFIED, what is DEAD)

### Ratified glitch classes (the collector-graded, all-frames)
- **TWIN (13)**: 47,59,73,121,124,132,139,157,298,323,373,379,395. Two side-by-side
  GANs whose bodies never merge. Per-drop dialects (skull=two figures, robo=tiled
  repetition, ghost=conjoined two-lobe, monster=two heads). #379 "Spin Twins"
  interacts (converges) — the name flags the exception. #73 also has a partial third
  head (Morai echo). #121 is Dim 2 (slot-2 relevant).
- **ENTANGLED (15)**: 217,222,226,244,260,263,281,411,436,450,465,473,481,489,499.
  Bodies consistently INTERMINGLED. Matches Pindar's own "Entangled" naming. Quantum
  thread: qubitGAN #130 -> Entangled -> #512 Quantum Glitch. Essences include key,
  solution, book, believe, false, tragic, draw.
- **PALINDROME/naga (8, mathematically complete)**: 129,141,147,159,162,174,180,192.
  Palindrome names + ALL EIGHT possible 6-bit palindrome binary positions + mirror-loop
  motion. Essences in binary order: alpha awkward cat dog twin olive wolf zero.
- **PAIRS (9 ratified, D2)**: {14,75}{479,480}{209,300}{489,491}{130,133}{165,207}
  {363,473}{16,100}{175,205}. REJECTED: {150,179}. Alternates for a 10th event:
  {465,466} hex pair or {390} double-mint.
- **PAINTED MARKS (3, ALL found by the collector's eye)**: #165 "8941" (a region ABOVE the
  head morphing through digit states, frames 12-21 — a TEMPORAL glyph), #207 "#4",
  #379 "AI" (frames 24-30). Skull drop #1-128 scanned at every-frame/full-frame:
  CLEAN (#119 candidate rejected by the collector as an eye remnant; #12 likewise headgear).
  Agent-found candidates are 0-for-3 on his adjudications — trust the negatives,
  distrust the positives.
- Also standing: anchors #357 (mislabeled "Shy", truly yellow; seed/yellow registers
  swept dead on strong sets) and #512 (only Dim-11); spooky trio variants
  {205,206,207} all burnt — burnt-status is an AXIS (sweep with AND without, D5);
  case-anomaly pairs; morai-echo family; artist eye-vocabulary mapping (Abosch=skull
  eyes, Brinkman=spooky-ghost eyes, others=solstice square-pupils).

### Closed / dead (do not reopen without new evidence)
Mislabel-eleven as a selection (D4). Glyphs/letters as a selection vector (D9: 15/17
ruled texture; robo faces, eye bands, TEST wallpaper, binary backgrounds are family
grammar). Skull drop painted-clean (D11-13). Essence register on: pairs-eleven (all
variants), the FULL pairs-x-Sudoku closed space (127,920 orderings, q0827f), drop-wise
elevens A/B/B2/C, wrong-creature elevens, 357-as-yellow variants, session/mislabel/
transplant/HODL+128 sets. Words-in-clue-page (no marking exists). Montage channel.
Chest-emblem torso clusters (texture). See `theories/CYCLE-SUMMARY-2026-08-27.md` +
registry for the full kill list.

### Paused / stale
Sweep queues q0827g/h/i/j/k were deliberately KILLED mid-run when the collector paused all
sweeping (consideration set was changing). They are STALE — do not resume; rebuild
candidates from the ratified classes when sweeping reopens. He must green-light any
new sweep campaign.

## THE MISSION FOR THE NEXT SESSIONS (the collector-approved plan)
Phase V — finish visual hygiene: scan the 384 unscanned pieces (#129-512) for painted
marks at every-frame/full-frame via ~6 cheap subagent hunters (Sonnet), using #165's
frames 12-21 as calibration and the texture rulings as hard exclusions; pre-filter the
~25 ungraded heuristic tag families so the collector's audit block only sees disagreements;
close twin/entangled stragglers.
Phase N — revalidate every NON-visual claim from raw data (frame counts, delays,
re-saves, chain mismatches, radix, HiddenType, essence-sequence) -> hygiene_report.md
marking each ledger record VERIFIED/FAILED/UNVERIFIABLE; finish the registry
provenance audit (which old NOHITs never got their 128-ending sweep).
Phase M — build the methodology pools ON CLEAN DATA: methods.json (every selection
rule, all 47 extraction registers, all 33 orderings, tested/untested flags); a
STACKING grammar (SELECT x MAP x EXTRACT x TRANSFORM x ORDER) enumerating single and
stacked recipes IN PLAIN ENGLISH (FK grade 9 — the collector must be able to understand
every mechanism); a recipe-builder page in the workbench so he can compose and preview
phrases live. the collector's four never-operationalized ideas go in first: calendar order,
TRUE/FALSE-as-classifier, podGAN transplant w/ condensed renumbering, block-permutation.
MODEL STRATEGY: frontier (Fable/Opus 5) only for adjudication with the collector, synthesis,
and methodology design. Downshift the main session to Opus 4.8 for orchestration/
monitoring/merges. Subagent hunters run on Sonnet. Keep heavy image-reading OUT of the
frontier session (that is what burned the session limits). Tell the collector explicitly
when to /model up or down.

## MATERIALS MAP (new since 8/26; old map still valid)
- `theories/DECISIONS.md` — D1-D13, every the collector ruling. READ SECOND.
- `theories/anomaly_ledger.json` — canonical per-GAN anomaly record (~2,270 records /
  ~455 GANs; append-only; every record carries type/desc/source).
- `theories/SOLUTION_SPACE.md` + Addenda 1-3 — glitch catalog, 47 word registers,
  33 orderings, guardrails w/ opposites, texture-vs-payload criterion.
- `theories/glitch_dictionary.json` — all ~164 anomaly types w/ confidence labels
  (confirmed/eye/heuristic/chat/unknown). Heuristic+chat types still need his audit.
- `theories/claude_visual_validation.json` — my full 512 static pass + temporal strips
  + frame-complete corrections + his ratification rounds.
- `theories/ordering_catalog.json`, `extraction_catalog.json`,
  `ordering_extraction_addendum.md` — the mined method pools (input to Phase M).
- `deck_512.json` / `deck_derived.json` / `rebuild_workbench.py` — the 512-Card Deck
  (all traits + exact-case chain names + the collector notes + burnt + mint + word menus).
  Run `python3 rebuild_workbench.py` after any ledger/dictionary change.
- `workbench/` — deployable site: index.html (filter/build/extract/order + live BIP39
  checksum + 128 endings), audit.html (two-way type audit), thumbs/ (mid-frame
  posters), gifs/ (all 512 full GIFs, local).
- Sheets: `valsheets/` (512 mid-frame), `valstrips/` (temporal), `skullstrips/`
  (skull every-frame full-frame), `glyphsheets/` (head-crop — FLAWED, kept as record).
- Hunters' logs: `glyph_finds_A/B/C.json`, `painted_finds_A/B.json` (incl. logged
  rejections — never re-hunt a logged rejection).
- `name_word_census.json` — every naming word + members. `burnt_gans_set.json` — 29.
- Sweep harness: `qbuild.py`, `qrun2.py` (stop-on-hit), `sweeplib.py`;
  scratch_sweepsets_*.json label the swept sets.

## THE ONE-PARAGRAPH READ ON WHERE THE ANSWER LIKELY HIDES
Selection keeps getting stronger (ratified authored classes with per-drop dialects,
each confirmed by name+eye+bytes agreeing) while the essence register dies on every
principled eleven. Either the word comes from a register nobody has run (true-class
words, pair-relations, class-name words, the calendar/classifier/transplant ideas), or
the eleven mixes SMALL classes across drops (his doctrine): e.g. one twin + one
entangled + one palindrome + one painted + one inverted + ... Phase M exists to
enumerate exactly those stacked recipes in plain English and let the collector pick.
