# the collector's standing decisions log

## D1 — Spooky drop glitch (2026-08-27): ALL THREE as variants
the collector's ruling: either #205 or #207 could be the glitch, PLUS a third candidate he
added — **#206 "Skullbot spookyGAN" (0o15), essence `grain`** — the only spooky NOT in a
Halloween costume (it is a robot; the drop's theme is costumes, so being uncostumed
breaks the theme). Selection among {205 grace D4, 206 grain D5, 207 grant D3} depends on
the selection criterion in play; be flexible and RUN ALL THREE AS VARIANTS in candidate
solutions. The three cover Dims {3,4,5}, so Sudoku assemblies can choose per slot need.

## Pending
- D2: ratify the ten deliberate pairs + which anchor completes them to eleven.
- D3: Sudoku backbone review.
- D4: true-class namings for the mislabel eleven.

## D2 — Pair ratification (2026-08-27): 9 confirmed + 1 rejected + replacement
Grades: CONFIRM 14+75, 479+480 ("nothing else in the collection with these colors"),
209+300, 489+491, 130+133, 165+207 (confirmed but "suss — could be coincidence of the
inference"), 363+473 (+ the collector's open idea: TRUE/FALSE may be a statement on each
piece's relationship to its own drop), 175+205 (+ #175 is a skull/robot hybrid, unusual
for its drop in other ways), 16+100 (the collector conditional-confirmed; byte-verified: both
chain names carry "Primoridal", the only two in 512 -> CONFIRMED).
REJECT 150+179 ("179 is definitely a ghost" — label fits, no swap; 150 borderline).
Candidate replacement 10th events: {465,466} hex-radix pair (0x20/0x21, name-visible,
mint-adjacent 607/608 — note mint indices EXIST, older mint=None notes are stale) or
{390} double-mint.
ANCHOR: use #357 seed OR #512 final as the 11th, never both; if seed, also try phrase-
INITIAL position (the collector's instruction).
Sweeps: q0827d — all 12 essence-register variants (hex/dbl390 x first/last-speaks x
357mint/357first/512last) NEGATIVE, plant-validated. The pairs SELECTION stands; the
essence register on it is now exhausted -> next registers: pair-relation reads.

## D3 (partial) — Sudoku review (2026-08-27): brute-force the closed space
the collector: "everything you showed me seemed viable" -> run the FULL pairs-x-Sudoku closed
space (127,920 orderings). Weak point flagged: "the first slot of the shimmerGANs seemed
weakest" = slot 2 / Dim-2, occupied by the Shimmer splice twins {67,71}. If the space
dies, slot 2 is the first suspect: hunt alternative Dim-2 candidates beyond the shimmers.

## D5 — Burnt-piece eligibility (2026-08-27): RUN BOTH AS VARIANTS
Finding (the collector spotted): all 32 burns happened BEFORE the clue (Oct12-Dec17 2021; clue
Feb 5 2022). Burns only in first 3 drops: 16 skull, 6 robo, 7 spooky; none in
solstice/ghost/review. Burnt GANs: see burnt_gans_set.json. ALL THREE D1 spooky candidates
(#205,#206,#207) are burnt; #204 in the mislabel-11 is burnt. In pairs/sudoku pools only
#205,#207 are burnt.
RULING: burnt-status is an AXIS, not an exclusion. Sweep candidate sets BOTH with and
without burnt pieces. Non-burnt spooky survivors (the 9 real-at-clue-time spookies):
#193,195,196,197,199,200,201,202,203. Deck now carries a `Burnt` boolean.
GUARDRAIL for SOLUTION_SPACE: add "burnt-eligible vs burnt-excluded" as a selection axis.

## D4 — Mislabel true-class review (2026-08-27): CLASS MOSTLY FAILS + 2 real mislabels
the collector graded 11 mislabel candidates + 3 blind controls. Result: the mislabel-eleven as
a SELECTION does NOT hold — 9 of 11 labels actually MATCH the art to his eye. The
"11 label-liars" glitch class is CLOSED as a selection (independent of word/order — this
is a triple-discipline SELECTION kill, not a word/order kill).
CONTROLS validated his eye: #300, #179, #67 correctly marked "matches"; and he caught
#357 (which I slipped in as a control) as a genuine contradiction.
Two REAL mislabels surfaced:
 - #423 Rainbow skullGAN — "almost entirely blue and greens, not rainbow" (ess cruel, D5).
 - #357 Shy skullGAN (OUR SEED ANCHOR) — "doesn't hide/disappear at all, don't know why
   it'd be Shy" (ess seed, D4). Its Shy SubType is suspect; #357 already over-determined
   as a color-glitch (yellow-where-cyan). True class not yet named by the collector.
UNSURE: #204 (clown not zombie, but BURNT flaming piece used to forge Cyber Zombie 10,366;
the flaming-forge requirement explains its Flaming SubType), #150 (has red=flaming but a
long fully-blue stretch — possible contradiction; already flagged 'Art contradicts SubType'
+ 'No on-chain traits'), #511 (not that inverted, "common in corrupted GANs").
DATA UPDATE: #491 Frozen skullGAN — the collector confirms it has the COLOR-SPEEDUP effect (log
it; it's the scanline-pair member 489+491). #204 has 'Burnt in forge' flag confirmed.

## D4b — True-class descriptions for the two real mislabels (2026-08-27)
#357 (anchor): skullGAN, mostly YELLOW top / blue bottom; ALMOST an invader icon on the
shirt but not quite; head shape reminiscent of Sol/Luna but the left/right/top spikes
never quite materialize. => a piece that ALMOST becomes several other things and doesn't.
True-class BIP39 candidates: yellow (over-determined — matches his original "yellow where
cyan expected" color-glitch finding), blue, half, almost, shy, alien, spike.
#423: blue/green skullGAN with skulls in background; brief pop of color "like the
RECYCLING symbol of the Eclectic Method artist GAN". => references Eclectic Method (one of
the 4 original cryptoArtGANs). True-class BIP39 candidates: recycle (standout — the
Eclectic Method motif), blue, green, echo, mirror.
PATTERN NOTICED (candidate NEW glitch class): both confirmed mislabels are INCOMPLETE /
NEAR-MISS HOMAGES — the piece almost renders as another entity (invader, Sol/Luna,
Eclectic Method) but fails to complete. Fits Pindar lore ("trying to come into focus but
couldn't"; "transforming into a different bitGАН"). Worth a census as a selection idea;
do NOT overcommit on two data points.
ACTION TAKEN: add #357->yellow anchor variants to targeted sweep (yellow is independently
over-determined). #423->recycle where it appears.

## D6 — Materials update (2026-08-27): anomaly ledger + new registers
Built theories/anomaly_ledger.json (per-GAN, 797 records / 405 GANs, additive; 108 GANs
still clean). Added to SOLUTION_SPACE: near-miss-homage glitch class, W22 image-
association word register, W23 homage-target word register. STANDING RULE: every new
anomaly appends to the ledger. The homage / image-association idea is parked for future
exploration (the collector: "interesting... explore further in the future").

## Claude visual validation — static pass complete (2026-08-27)
All 512 pieces reviewed by Claude's eye on 13 mid-frame sheets (theories/
claude_visual_validation.json). Temporal types (splice/flash/speedup/reverse/brief-eyes)
still need frame-strip pass. Headlines: tag families largely CONFIRM (backgrounds,
costumes, invaders, giant-eyes 449-456, tributes, corrupted, black-bg); NEW misses found:
#174 invader-form in robo drop, #253 robot-in-solstice, #412 pig, #276 quadruped,
#474 FIGURELESS invader wallpaper, letter-eyes #470-472, three-eye + eye-grid censuses,
second-head/echo family ~12 candidates beyond tags; dotted-bg tag mis-defined (family
texture). All pending the collector's ratification — his eye remains authority.

## Frame-complete re-validation (2026-08-27, after the collector's method correction)
the collector falsified the #474 'figureless' claim -> new STANDING RULE: all-frames review
required before asserting any untagged find. Re-validated all 24 contested finds:
RETRACTED 5 (474 figureless, 9 echo, 412 pig, 409/495 absence), REASSIGNED 3 (245->
letter-eyes[solstice!], 276->two-creature morph, 429->eye-multiplication), SURVIVED 15
(echo family 47/75/103/109/122/124/125; 253 robot-in-solstice; 174 invader-form; letter-
eyes 470-472; 264 turkey; 268 alien-morph; 50 hammerhead-phase). NEW from corrections:
#121 is a persistent TWIN at Dim 2 (slot-2 relevant!); candidate type 'two-creature
morph' (276,268,495,50). Full record: theories/claude_visual_validation.json.

## D7 — Twin census RATIFIED + ENTANGLED class discovered (2026-08-27)
the collector graded all 17 twin candidates on the all-frames page:
TWIN (13/13 named confirmed): 73 (+partial third head = also Morai echo), 298 (inner
eyes shared/merged), 59 (second head never fully forms but Twin positioning), 121, 124
(Ghost tag explains visibility; the two MERGE from frame 36 to 1 across the loop), 47
("many frames of clearly defined twins"), 373 Twinvader, 379 Spin Twins (converge =
interact; PLUS collector SEES LETTERS "AI" CLEARLY frames 24-30 — painted-letters channel!),
132, 139, 157 (robo tiling dialect), 323 (borderline, ghost disappearing accepted), 395.
NEITHER -> NEW CLASS "ENTANGLED": 281, 226 (bodies consistently intermingled), 225
(maybe), 100 ("entangled before Pindar had language for it"; Primordial sloppier look).
NAME VERIFICATION: #281 = "Entangled glitchGAN", #226 = "Entangled bitGAN" — the visual
definition matches Pindar's naming class. 15 Entangled-named pieces exist (7 solstice,
2 ghost, 6 review): 217,222,226,244,260,263,281,411,436,450,465,473,481,489,499.
QUANTUM THREAD (the collector): entangled is quantum vocabulary — qubitGAN #130 -> Entangled
pieces -> #512 Quantum Glitch -> next collection (quantum computers). Twin=classical
pair; Entangled=quantum pair (intermingled/shared state); Spin Twins=interacting (spin).

## D8 — Name-census discoveries (2026-08-27, meticulous full-collection pass)
Censused EVERY word in all 512 chain names (name_word_census.json). Findings:
1. PALINDROME/nagaGAN class is EXACT and COMPLETE: 8 pieces, palindrome names, occupying
   ALL EIGHT 6-bit binary palindrome positions, with mirror-loop animation. Triple-coded.
2. TWIN name-family = exactly the 13 the collector ratified (Twin n=8 + Twinbot 2 + Bit-Twins +
   Twinvader + Spin Twins). Name channel and eye channel AGREE completely.
3. ENTANGLED n=15 — new class, quantum vocabulary, essences include key/solution/book.
4. Hapax names (used exactly once) = the Named pieces; a ready selection pool.
5. Decimal-palindrome piece numbers cross-referenced with anomaly-richness (#191 err0r
   carries 13 distinct anomaly types — the single most over-determined piece found).
All added to ledger (2069+ records) and SOLUTION_SPACE Addendum 2 with new S1/S2/S3
entries and five new SELECTION vectors (V1-V5).

## D9 — GLYPH CHANNEL RULING (2026-08-28): CLOSED except one piece
the collector graded all 17 glyph candidates. Result: 15 TEXTURE, 1 PAYLOAD, 1 unresolved.
- TEXTURE (not payload): 207, 281, 196, 457, 459-463, 467, 470-473, 481.
  His reasons: "binary roboGANs have binary codes for faces — this looks normal";
  "that's just the binary background"; "just the eyes"; "just the background".
- PAYLOAD (confirmed): #379 "AI" frames 24-30 — the ONLY confirmed glyph payload.
- #196 (my strongest new candidate): "nothing, ignore". RETRACTED.
- #165 "unsure | bad frame choice?" -> my frame SAMPLING was at fault, not the finding;
  his known 8941 exists. Same likely for #207's "#4" (his own prior find, graded texture
  on my frames). ACTION: re-render both ALL-frames full-frame for him to locate.
CONSEQUENCE: the letters/numbers-in-art channel is CLOSED as a selection vector. It is
NOT a source of eleven pieces. Confirmed carriers: #379 + (pending) #165, #207.
The criterion from Addendum 3 (does the glyph survive the creature?) is validated by his
ruling — everything that survives the subject he called texture.
METHOD NOTE: my 3-frame sampling repeatedly missed transient marks. Any future visual
claim must use ALL frames (already the standing rule after the #474 correction).

## D10 — CORRECTION to my reasoning + the #165 signature (2026-08-28)
collector'S CORRECTION (I had it wrong): I wrote "if hand-painted marks are a class, three
is not the count that matters — eleven is." FALSE. His doctrine: "If we can find different
types in different drops we may be able to MIX AND MATCH these things." A 3-member
hand-painted set is a valid CONTRIBUTOR to the eleven, stacked with twins/inverted/
palindromes/etc. Never again require a single class to reach 11 on its own.
#165 SIGNATURE (his description, Claude verified): the 8941 is NOT a static painted
number. It is the SAME REGION ABOVE THE HEAD transforming through digit states across
frames 12-21. Claude sees 4-5 glyph cells (vertical bar | box-with-slot | thin bar |
solid bar) morphing over those ~10 frames, ABOVE the head — i.e. OUTSIDE the head crop
my sweeps used. This is a TEMPORAL glyph, not a spatial one.
SEARCH CONSEQUENCE: the correct target signature = a fixed region (often above/beside the
figure) that persists across consecutive frames while morphing through glyph-like states.
Single-frame and sampled-frame searches are structurally blind to it.

## D11 — Skull drop painted-mark hunt, first half (2026-08-28)
Skull #1-#64 re-swept at EVERY FRAME, FULL FRAME (fixing the head-crop blindness), using
#165's frames 12-21 as calibration and the collector's texture rulings as hard exclusions.
RESULT: ZERO high, ZERO medium. One LOW (#12, frames 15-20, above head) flagged by the
hunter itself as probably the creature's antenna/headgear degrading.
13 candidates examined at 3.5-9x and REJECTED with stated reasons (recorded in ledger so
they are never re-hunted): 1,3,16,24,27,34,35,40,44,45,47,59,61. Notable: #45 morphs
convincingly above the head but resolves to the square eye band; #24's dashes hold
position while the creature morphs = background; #47's '|||' spans full width = wallpaper.
=> Skull #1-64 is CLEAN of the #165 signature. This is now a TESTED negative, not an
artifact of cropping. Second half (#65-128) still running.

## D12 — Skull drop painted-mark hunt COMPLETE (2026-08-28)
#65-#128 re-swept every-frame/full-frame. ZERO high. ONE medium: **#119** (frames 1-6,
above head, detached, dark blue/black '7'-glyph + stroke + 2-3 dot cells, re-forms each
frame while holding position, vanishes as creature fades). Claude verified present,
localized, morphing = structurally the #165 signature. Hunter held at MEDIUM because it
sits where a horn/hair tuft would.
*** CONVERGENCE: #119 is one of only TWO pieces Pindar ever publicly flagged as puzzle-
relevant — "(119/128) is only Odd number of Type E (typo or important?)... These are not
'Hidden Typos', but part of the puzzle that will only be solvable after some more drops.
Hold on to this info for later." The single skull piece bearing the painted-mark
signature is a promise piece. Traits: ess `attract`, Dim 3, Flaming, NOT burnt, mint 193.
NEW RULED-TEXTURE FAMILY: "chest emblem" — glyph-like cell clusters on the torso, recurs
on 66,67,70,72,87,90,91,106,108,110,114,126 => family feature, not hand marks.
18 further regions examined+rejected (logged) incl. #117 (closest call: localized blue
'A'+block but resolves to detached ghost-face fragment with dashes running to frame edge).
=> SKULL DROP CLOSED except #119. Painted-mark carriers now: #379, #165, #207, +#119(med).

## D13 — #119 REJECTED (2026-08-28)
the collector: "That is just an eye remnant." The #119 above-head glyph is an eye remnant, not a
painted mark. SKULL DROP (#1-#128) IS NOW FULLY CLEAN of painted marks — a tested negative
at every-frame/full-frame resolution.
SCOREBOARD (honest): every confirmed painted mark in the collection was found by collector'S
EYE (#165 8941, #207 #4, #379 AI). Agent sweeps: 0 confirmed finds, 3 rejected candidates
(#196 'nothing, ignore', #119 eye remnant, plus 15/17 glyph candidates ruled texture).
Method is now sound (every-frame, full-frame, texture-vs-payload criterion, logged
rejections) but yield from automated hunting is so far zero.
STILL UNSCANNED at correct resolution: #129-#512 (384 pieces) — robo, spooky, solstice,
ghost, review. These were only covered by the FLAWED head-crop/3-frame sweep, which is
provably blind to the #165 signature.

## D14 — Painted-mark persistence threshold (2026-08-28)
the collector (approving the Phase V #129-512 hunt): "the painted mark needs to be visible in
at least 2-3 frames, otherwise it's probably just transitory noise."
RULING: a painted-mark candidate must persist across AT LEAST 2-3 consecutive frames
(holding position, optionally morphing through glyph states like #165). Single-frame
flickers are transitory noise — reject at hunter level, log the rejection.
Consistency check: all three confirmed marks pass easily (#165 frames 12-21, #379
frames 24-30, #207 "#4" persistent). Applied as a hard gate in the Phase V hunt.
Phase V design note: confirmed carriers #165 (slice robo), #207 (spooky), #379 (ghost)
are left IN the hunt range as blind positive controls — a slice whose hunter misses its
known mark has a suspect negative.

## D15 — #207 painted-mark LOCATION pinned by the collector (2026-08-28)
On the all-frames location-review page, the collector graded #207 CONFIRMED and pinned it:
  frames = "52-7 is where it is most clear." (i.e. wraps the loop: f52,53,54,0..7 ~ 11 frames)
  region = "bottom left written in green on the orange body"
  reads  = "4"
CORRECTION to prior records: the mark is "4", NOT "#4". It is GREEN on the ORANGE body,
BOTTOM-LEFT (not above the head like #165). Persists across the loop-wrap, passing the
D14 2-3-frame gate easily. Extraction coordinate for later index-reads: bottom-left
region, green glyph, frames 52-54+0-7. Ledger updated.
#165 pin still pending the collector on the same page.

## D16 — #165 painted-mark LOCATION pinned by the collector (2026-08-28)
On the all-frames location-review page, the collector graded #165 CONFIRMED and pinned it:
  frames = "11/12 - 19."
  region = "Top center above the head between two \"antennas\" of the roboGAN"
  note   = "The thing that is most clear and sits longest is the number 81 at f12/14/15"
KEY REVISION: the clearest, most stable painted content on #165 is "81" (frames 12,14,15),
NOT the full "8941" carried in prior records. "8941" may be the morphing sequence across
f11-19, but the LONGEST-HELD, CLEAREST reading is "81". Location: top-center above head,
between the two antennas (roboGAN). #165 IS a roboGAN (robo drop 129-192).
Extraction implication (Phase M, not now): if painted numbers are indices, the stable
values are #165->"81" and #207->"4". Candidate reads: wordlist[81], wordlist[4], or piece
pointers. Do NOT sweep yet — logged for the recipe pools.
Ledger updated. Both painted-mark location pins (D15 #207, D16 #165) now complete.

## D17 — Phase V hunt: #379 false-negative + DURABILITY RESTRUCTURE (2026-08-28)
CONTROL RESULT (blind positive controls #165/#207/#379 left in the hunt un-flagged):
  #165 RECOVERED (129-192 hunter, HIGH) | #207 RECOVERED (193-256 hunter, HIGH) |
  #379 MISSED (321-384 hunter logged only 2 rejections, never examined #379).
=> The 321-384 ghost slice "clean" verdict is VOID and must be fully re-hunted. The
   blind-control design worked exactly as intended: it caught a lazy sweep.
COMPLETED & DURABLE ON DISK (survived a mid-run credit exhaustion): 129-192, 193-256,
  257-320, 449-512. PARTIAL: 385-448 died at #432 (need 433-448). VOID: 321-384.
NEW CANDIDATES surfaced (for the collector's adjudication, NOT yet confirmed):
  #184 MEDIUM (robo, crown ornament morphing through "4"), #179 LOW (robo, likely
  mouth-grammar), #414 MEDIUM (ghost, reads "13"/"I3"), #424 MEDIUM (ghost, reads
  "F"/"E"), #256 observation (blue squares top-right, off-silhouette, hunter graded out).
DURABILITY SPINE (the collector's ask after credits ran out): phaseV_status.py recomputes
  phaseV_manifest.json from the small per-chunk finds files + a control check. Fresh
  session runs it FIRST to see done/partial/void/remaining without reading transcripts.
  Rules now standing for all hunts: (1) chunks <=16 pieces; (2) hunters write their
  painted_finds_<lo>_<hi>.json INCREMENTALLY every ~4 sheets; (3) shared HUNTER_BRIEF.md
  holds the method so re-dispatch prompts stay tiny. Remaining chunks: 321-336, 337-352,
  353-368, 369-384, 433-448 (80 pieces).

## D18 — #379 "AI" DISPUTED by thorough re-hunt (2026-08-28) — needs the collector's re-ruling
The 369-384 re-hunt examined #379 carefully (per instruction, frames 20-32) and logged it
in REJECTIONS, not finds. Its reasoned call: the text-like "AI"/"F" fragments appear at the
BOTTOM EDGE of the frame where the creature silhouette crops the tiled GHOST-family
wallpaper glyph (two square eye-holes + forked base), i.e. a wallpaper CROP ARTIFACT, not a
painted mark. It found no independent letter/digit inside the twin-convergence itself.
CONFLICT with D7/D9: the collector ratified #379 "AI" (frames 24-30) as the ONLY confirmed glyph
payload. The hunter cites overlapping frames (24,26,28,31,32) but calls it texture.
STATUS: this is a genuine texture-vs-payload disagreement, NOT a lazy miss (the hunter
examined it and reasoned). New control state added to phaseV_status.py: DISPUTED (control
in rejections w/ reasoning) vs MISSED (control in neither = lazy = VOID). #379 = DISPUTED.
ACTION: put #379 on the adjudication page as a PRIORITY item with the competing readings +
all frames, and ask the collector to re-apply the texture-vs-payload criterion (does the "AI"
live and die with the creature, or persist as background?). Do NOT overturn D7/D9 — only
the collector's eye can. New candidate from this chunk: #380 MEDIUM ("IE"/"1E", green on blue, chest).

## D19 — PHASE V ADJUDICATION COMPLETE (2026-08-28): #179 NEW CONFIRMED CARRIER
the collector graded all 13 cards on the adjudication page. Verbatim export:
  #379 confirmed | #256 reject | #354 reject | #184 reject | #324 reject | #327 reject
  #362 reject | #380 reject | #414 unsure | #424 reject | #179 confirmed "maybe a 10 . 00"
  #364 reject | #441 reject
RULINGS:
1. **#379 "AI" RE-CONFIRMED as payload.** The hunter's wallpaper-crop-artifact argument is
   OVERRULED by the collector's eye. D7/D9 stand. The dispute is closed.
2. **#179 is a NEW CONFIRMED painted-mark carrier** — the first agent-found, the collector-
   confirmed painted mark in project history. Region: the mouth-band position (hunter:
   hollow digit boxes, frames 16-31, robo drop). the collector's reading: "maybe a 10 . 00".
   Note the irony: the hunter itself graded this LOW and leaned "mouth-grammar texture";
   the collector's eye saw through the caution. #179 is also the piece from the REJECTED pair
   {150,179} (D2: "179 is definitely a ghost — label fits") and the R2 label-swap idea.
3. **#414 held UNSURE** (ghost, reads "13"/"I3" f36-46). Not confirmed, not killed. Park.
4. All other candidates REJECTED: 256, 354 (the HIGH), 184, 324, 327, 362, 380, 424, 364,
   441 — logged as adjudicated-rejected in the ledger; never re-hunt.
PAINTED-MARK CLASS ROSTER (post-Phase-V, the class is now CLOSED census — all 512 scanned
at every-frame/full-frame, skull clean D13, 129-512 adjudicated here):
  #165 robo   -> "81"   (D16, top-center between antennas, f12/14/15 clearest)
  #179 robo   -> "10 . 00" (maybe) (mouth-band boxes, f16-31)
  #207 spooky -> "4"    (D15, green on orange body, bottom-left, f52-7)
  #379 ghost  -> "AI"   (D7, f24-30, re-confirmed here)
  (+ #414 UNSURE only)
SCOREBOARD UPDATE: agent hunting is no longer 0-for-N — Phase V recovered both blind
controls AND produced one new confirmed carrier (#179). Method (every-frame/full-frame/
persistence-gate/texture-criterion) is validated end-to-end.
EXTRACTION VALUES for Phase M (park, do NOT sweep): 81, 10.00 (or 1000?), 4, AI.

## D20 — Ledger reconciliation + STALE-STATUS correction (2026-08-28)
Trigger: the collector caught #206 showing no glitch rating (its D1 theme-breaker ruling was
never ledgered). A full DECISIONS-vs-ledger reconciliation ran: 164 piece-level claims
checked, 141 already covered, 26 backfills reviewed and applied (all cite their D-ruling
or validation-round source).
IMPORTANT CORRECTION surfaced by the audit: the "Frame-complete re-validation" entry
above lists #253 (robot-in-solstice) and #429 among SURVIVED finds — but the collector's later
ratification round 2 REJECTED both ("not a robot"; "movement artifact"). Also rejected in
rounds 1/2: #75 ring, #109 echo, #125 (ghost behavior); reassigned: #122 (nebulous),
#495 (ghost-disappearance); corrected ID: #264 is a DOG, not a turkey. The ledger now
carries the FINAL rulings; the earlier 'survived' language in this file is superseded.
Also now ledgered: D2's {165,207} pair confirmation (with the 'suss' caveat), the
{150,179} pair REJECTION, the TRUE/FALSE drop-relation interpretation on {363,473},
#204's forge-pair explanation, the D4 'matches' controls (#67,#179,#300), #117's
closest-call rejection.
PUZZLE-BOOK DATA POLICY (the collector's ruling, this session): the Collection tab is FACTS
ONLY — dictionary confidence eye/confirmed/eye+byte gates the type filter and signal
badges; heuristic/chat/agent material renders collapsed as 'Provisional — not facts'.
Dictionary relabeled by provenance (42 types) + 41 new definitions; all 186 types defined.

## D21 — Chat-log mining + taxonomy + STANDING AUTO-UPDATE RULE (2026-08-28)
FULL TRANSCRIPT MINE: all 28 sessions in this workspace searched; 156 puzzle-specific
the collector messages reviewed one by one. 49 records backfilled with self-contained descs:
- GLITCH-NAME LIARS (17, verbatim 2026-08-19 list): 9,15,25,35,45,46,51,56,58,60,72,75,
  84,86,90,102,115 — named Glitch/Shimmer, no visual glitch. Mirror set: Shimmers that DO
  glitch {7,43,67,71} (= the byte-splice core; eye and bytes agree). Plus #166 Rainbot:
  glitches without the name, in a unique TWO-RHYTHM pattern (the collector 2026-08-20).
- MONTAGE GRADES (2026-08-25): 19 mismatches + 2 '(?)' + 7 unsure + the #19 finding (its
  montage tile IS a glitch frame — f20==f40). Channel-as-selection died; grades preserved.
- TRUE/FALSE earliest hypothesis (2026-08-07 verbatim) ledgered on #363/#473.
TAXONOMY RULING (the collector): records split into GLITCH (confirmed, watchable, sortable) /
OBSERVATION (descriptive cue for ideation — 'binary background' is not a glitch) /
BOOKKEEPING. Dictionary carries a 'kind' field; the Collection tab now has TWO filters
(confirmed glitches | traits+visual cues) and cards render three sections.
SITE RULINGS (the collector): Selections tab = SELECTION HYPOTHESES (theories, incl. the new
Montage-glitch-frame, PodGAN-invasion, Glitch-name-liars, Still-eyes, White-zero-eyes);
Extraction/Ordering tabs = plain METHODOLOGY explainers (how each might work); the
recipe BUILDER tab is KILLED (recipe.html retained on disk, off the site).
DROP BOUNDARIES CANON (from the collector's own doubling note, fixes my wrong 320/444 bands):
skull 1-128, robo 129-192, spooky 193-208, solstice 209-300 (92), ghost 301-444 (144),
review 445-512 (68). Deck _drop_label is authoritative; never hand-code ranges.
STANDING RULE (the collector): every new finding updates ALL materials AND the site,
immediately. Mechanism: append to ledger/dictionary -> run ./update_all.sh (rebuilds
workbench, pieces/sheet/methods/content/recipe data, stages the serve dir). No finding
sits only in chat ever again.
## D22 — Tag-membership FACT CHECK + data corrections (2026-08-28)
the collector asked whether the glitch categories/tags themselves are fact-checked. Built
verify_tags.py (now step 5 of update_all.sh): re-derives every mechanically checkable
tag family from raw data and compares against the ledger. All 9 families VERIFIED after
these corrections:
1. **BURNT SET CORRECTED: 30 pieces, not 29.** burnt_gans_set.json was stale — the chain
   burn events (burnt_final.json, 32 events) include #66. True set: 2,9,11,20,32,33,49,
   66,69,74,86,87,95,111,117,123,125,135,138,144,149,153,168,194,198,204,205,206,207,208.
   NOTE: promise piece #32 IS burnt. #66 (the chain-vs-Arweave SubType oddity) IS burnt.
   Phase N's earlier "burnt n==29 VERIFIED" checked against the stale file — superseded.
2. **'flag:No on-chain traits' RECLASSIFIED as bookkeeping** — it is a Blockscout CACHE
   artifact (its own desc says so); full chain records exist for all pieces. It was
   wrongly presenting as a confirmed glitch on 120 cards.
3. **Radix corruption finally tagged** on #465/#466 (was in DECISIONS/dictionary only).
4. **Frame counts now byte-authoritative**: frame_counts.json (all 512 measured from GIF
   bytes) feeds sheet.json; the deck's FrameCount_measured field had gaps.
5. **'Name contains BIP39 word' rule clarified**: it marks BIP words in PROPER-NAME
   (formula-breaking) titles only — 16 pieces; each claim spot-verified against chain
   name + wordlist. Formula vocabulary (ghost, smoke...) intentionally excluded.
6. Four weak/placeholder dictionary definitions rewritten (name_anomaly was literally
   "definition pending"). All 192 types now defined with kind + confidence.
Eye-ruled tags cannot be machine-checked; verified instead that every collector_* record
carries provenance (100% do). Readability rewrite of legacy record descs in progress
(three editorial reviewers, proposals pending my review).

## D23 — RIGOROUS REVIEW: master audit + workbook doctrine + readability apply (2026-08-28)
the collector: "do a rigorous review to make sure nothing we've talked about has been left out
or catalogued wrong." Executed:
1. MASTER AUDIT (master_audit.py): 63 claims — every ratified roster, his verbatim lists
   (invader-shirt 28 + heads {465,466} + backgrounds {473-476}, pod-symbol 16, liars 17,
   shimmer-glitchers 4) name-resolved against exact chain names, pairs, byte facts, and
   D-ruling specifics. 4 gaps found and fixed (#205 D1-variant, pair {16,100} records,
   #511 D4-unsure, #32 promise+burnt). NOW 63/63 OK; 11/11 tag families verified.
2. DESKTOP WORKBOOK INCORPORATED (bitGAN_MASTER_annotated.xlsx) — MAJOR catalog gaps:
   - GLITCH GROUND TRUTH: the collector's corrected definition (one frame re-inserting with
     gaps shrinking 5,3,2,1,1 = backwards Fibonacci); detector matches his eye on all 21
     hand-checks; 46 pieces glitch; **EXACTLY ELEVEN carry the complete run:
     148,152,158,160,166,170,172,176,182,190,287** -> new selection SEL-FIB-ELEVEN,
     per-piece records, dictionary types, fact-check roster. Extracted to
     glitch_ground_truth.json.
   - PRIME RULE: skull glitch iff prime-and-not-Fibonacci (25/26); Pindar encoded the
     classes on-chain in unpublished HiddenType ('b' = glitchers). Exceptions recorded:
     #47 (should, doesn't — the Twin), #5 (shouldn't, does — the whale).
   - Old held-frame "glitchers" {231,256,274,474,479} are NOT recurrence-glitchers (kept
     as the separate byte-negative/timing classes they are).
3. READABILITY APPLY: 3 editorial passes over all ~2,400 records; 592 rewrites + 15
   salvages applied (originals preserved in orig_desc); 262 misattributed chat fragments
   marked hidden (never deleted; site skips them). Root causes fixed: chat_mined records
   were stored 200-char-truncated AND rebuild_workbench.py truncated all descs to 200 for
   display — display truncation removed.
4. OPEN ITEMS PAGE for the collector: verify_open.html (nagas 147/159/162 still-eyes; #225
   entangled-maybe; #370 Eye Swarm fuzzy; two un-numbered color-flash pieces; two
   un-numbered montage observations; glitch-vs-observation kind vetoes).
REMAINING: workbook's other sheets (Candidate Elevens, What We Have Ruled Out, Burn &
Forge partners, XMP Provenance...) being diffed vs catalog by agent — proposals to review.

## D24 — the collector's verification verdicts + FAMILY LADDER + workbook incorporation (2026-08-28)
VERDICTS (verify_open export): #159 Dog God HAS still-eyes; #147 Taco Cat and #162 Star
Rats do NOT. => STILL-EYES FINAL: {129,130,141,159,161,174,180,192} — eight pieces, six
of eight nagas + qubitGAN + #161. CONCLUSION: NOT naga family grammar — a deliberately
chosen class of eight. (#162, a naga WITHOUT it, has essence "twin".) Also: #225 parked
permanently-unsure on entangled; #370 Eye Swarm CONFIRMED in the invader-shirt set; the
two un-numbered claims (color-flash pieces, montage robo notes) DROPPED per the collector.
TAXONOMY RULING (the collector): treat unique things as unique, small clusters as valid, AND
ladder up to inclusive parents (miscase + transposition are each specific; both are Name
Anomalies). Implemented: every dictionary type carries a `family` (12 families); the
Collection filter groups by family with whole-family options. #194's vague name_anomaly
record replaced with its exact defects (leet '8bit' cross-drop + selective double-space
+ formula skip).
RECORD-QUALITY BAR (the collector): a record on a specific piece must state EXACTLY what is
wrong with THAT piece — generic definitions belong to the type, not the record.
WORKBOOK DIFF (agent, reviewed): ~120 claims; key incorporations —
 - #130 qubitGAN contract DESCRIPTION says "1024 animations" (all other robos: 2048).
   Digit-string channel no word sweep could see; 1024 = half the 2048 wordlist. Recorded.
 - Burn & Forge parent-pair table: 30 per-piece forge_pair records (each burnt piece's
   named partner + the SuperRare output from the artist's own Burned-bitGANs trait),
   including the pair burnt but NEVER forged — an outstanding on-chain debt.
 - HONESTY CORRECTION: the backwards-Fibonacci eleven's status downgraded from "ground
   truth" to "exact-11 (detector caveat applies)" — the Theories log warns the two glitch
   detectors disagree badly and NO eleven, including this one, is confident until
   resolved. The caveat is now stated wherever the class appears.
 - Claimed #192-HiddenType error CHECKED AND REJECTED: chain shows #192 HiddenType='F'
   (so does #193); the ledger was right, the sheet's self-contradiction is the artifact.
REMAINING from the diff (to review next): Descriptions-sheet rows (14 more), Candidate-
Elevens constructions (18), What-We-Have-Ruled-Out entries (5), rare-frame-eleven
contradiction, File-Structure gaps (#188 canvas, #228 five-field outlier).
COLOR SWEEP: deterministic scan of all 512 done; flash detector being calibrated against
the known members {462,463,464,497} before candidates go to the collector.

## D25 — the collector's definitions-review calls applied + NORMALIZED TAXONOMY (2026-08-28)
the collector graded ~95 legacy types and asked for ONE review surface. All calls applied:
DATA CORRECTIONS from his eye:
 - **#5 does NOT glitch** — detector false positive; recurrence set 46 -> 45; the Prime
   Rule now holds 25-of-26 with #47 the ONLY exception (#5 follows the rule).
 - **#43 removed from larger-eyes.**
 - **Burnt clarified**: wallet holds 32 items = 30 Act-1 pieces + 2 from OTHER
   collections (Noun GAN Study 3/63; reneGANs 0110) — cross-collection burns fed forges.
 - Def fixes in his words: inverted = inserted frame is the NEGATIVE of normal frames;
   #204 forge-pair = explains the anomalous Zombie SubType (named for what it BECAME);
   chain-corrupt-side/corrupted-essence defs made concrete.
NOTABLE STATUS CALLS: TWIN -> observation (his call — the ratified twin census stays,
but twins are context, not glitches); missing-element -> GLITCH (absence-as-glitch);
xmp:primes_missing and byte-identical pair -> GLITCH; resave sessions/burnt/description
anomaly/invaders/figure-resemblance -> observation; shimmer/quantum-vocab -> bookkeeping.
CUTS (15 types retired into a 'pending re-audit' bin, records preserved): glitch
(hodgepodge; his note: #474 "doesn't glitch at all"), signature_violator, the chat/
collector color buckets (rainbow/glow/flaming), duplicate eye types, precursor,
painted location/reconfirmed variants (folded into the one painted-mark concept).
TAXONOMY v2: 96 concepts (from 199 types); statuses 47 confirmed-glitch / 4 candidate /
38 observation / 7 process; 44 concepts pre-approved from his calls; SIX flagged gold
needing his wording (two-tier glitch def, montage-glitch-frame def, HiddenType-F def,
name-misc 'Thre…' truncated note, missing-element-as-glitch definition, label-mismatch
carve-up). Review surface: taxonomy_review.html ONLY — definitions_review retired.
NOTE on his "I rely on you to confirm" items (xmp/file/chain claims): those families are
machine-verified — Phase N re-derived them from bytes and verify_tags re-checks 11
families on every update. His reliance is backed by standing automated checks.

## D28 — Ran the open hypotheses; re-save sessions + glitch-geometry RULED OUT (2026-08-29)
Ran the two computable open threads, plant-validated, pushed to the live site (Hypotheses #148/#149):
- RE-SAVE SESSIONS as the eleven: 11 sessions (firsts 7,129,159,203,246,239,211,300,302,407,446;
  lasts 127,147,159,203,264,239,294,300,439,407,512). Piece-word reads (essence/piece#/mint#/name
  x 4 orderings) AND date-number reads (day-of-year/MMDD/month/days-from-first -> wordlist) all DEAD.
- FIB-ELEVEN GLITCH GEOMETRY: position-sum / first-pos / last-pos / frame-count -> wordlist, DEAD.
  gap-sequence 5,3,2,1,1 is identical per piece (non-discriminating). Only eyes-as-binary (#150) remains.
Open hypotheses now 7. #150 eyes-as-binary still blocked on eye-position extraction (needs Michael eye/detector).
SITE: Selection tab REMOVED (Michael: tags+hypotheses cover it better). Nav now Puzzle/Collection/
Definitions/Extraction/Ordering/Hypotheses.

## D27 — Overnight sweep campaign + PRIME-POSITION DISCOVERY (2026-08-28 night)
Authorized by the collector ("run down the queue... if negative, new hypotheses via
recipes"), consideration set now stable (taxonomy ratified). All local/free, plant-validated.
DISCOVERY: the Prime Rule extends to the ROBO drop on BINARY position (the (010011) suffix
in each name), not decimal piece number. Every glitching robo sits at a prime-not-Fibonacci
binary position (15 of 15); the only clean primes are 2,3,5 (the Fibonacci primes); zero
non-prime glitchers. Same rule as skull drop, keyed to each drop's native numbering. The
workbook missed it by testing robo PIECE numbers. Recorded on 15 robos as
prime_position_glitch. Caveat: clean only for the two frame-splice drops; other drops
glitch in other media and can't be frame-tested.
SWEEPS (all NEGATIVE, plant-validated): fib11 (essence + all number registers + geometry ×
7 orderings); chaincorrupt11 (exact-11); entangled11 (all 1365 subsets, essence×mint);
quantummeta11, still-eyes+wilds, glitch-liars-11, painted+pairs mix; prime-15 robos (all
C(15,11), essence + binpos). => essence and simple-number registers now DEAD on every
ratified exact-eleven. Queues: q_night_1 (1581), q_night_2 (2730); logs *_w1.log.
NEW HYPOTHESES (OVERNIGHT-BRIEF-2026-08-28.md): H-1 glitch's own number as the word
(binpos swept dead; gap-sequence/repeat-count unbuilt); H-2 eyes-as-binary on white-zero
pieces (needs eye-position extraction); H-3 the eleven = the eleven RE-SAVE SESSIONS not
pieces (dates as words, Solstice-style, wholly unbuilt); H-4 prime-rule cross-drop selection;
H-5 painted numbers as pointers (MAP component); H-6 Fibonacci-position skulls (HODL eleven)
via number registers. Recommend building H-3 (sessions) and H-1 (gap-sequence) next.

## D26 — TAXONOMY RATIFIED (2026-08-28) + verification re-runs ordered
The collector graded all 96 concepts. Applied:
- 56 concepts RATIFIED. 19 CUT (incl. all process bins — process records stay in the
  ledger but get no taxonomy node; dupes folded into his approved originals: color-flash,
  scanline, morai-echo). Two-rhythm #166 = "a normal glitch" -> merged into frame splice.
  Frame-recurrence merged into frame splice (flagged for his confirm). Renamed per his
  instruction: Quantum-Glitch-Prelude (#501-504). Status flips: cross-drop hybrid,
  deliberate pairs, quantum thread -> observation. #205 REMOVED from theme-breaker (his
  catch: its D1-variant record is process info, not theme-breaking).
- Taxonomy now: 72 concepts; 66 legacy aliases excluded from the taxonomy view.
- NINE gold follow-ups remain (merge targets / status calls with no note: timing split,
  montage-glitch-frame home, hidden-element, radix home, CORRUPTED-type home, channel-
  banding, hiddentype, tributes, missing-files) + TWO piece decisions (#150 Firebot
  blue-stretch, #511 Inverted) now presented as proper cards with art.
- MISSING-FILES ANSWERED + RE-VERIFIED: the Arweave store only ever covered 339/512;
  173 pieces have no Arweave file (whole ranges). #134/#446 absences are from Pindar's
  own drive folders; display copies came from OpenSea snapshots.
- VERIFICATION RE-RUNS (his order): the frame-recurrence detector REBUILT from scratch
  (the original script was never saved) and re-running over all 512 to independently
  re-derive the 45 glitchers + the backwards-Fibonacci eleven. Chain/metadata families
  already re-verified continuously by verify_tags (11 families) + master_audit (63 claims).
NEXT once gold answers land: switch the Collection tab's filter from legacy types to the
ratified concepts (the taxonomy becomes the site's single vocabulary).

LORE FACTS mined for the record: (1) Pindar had no master plan — drops evolved over a
year, cross-drop structure is retconned (the collector 2026-08-20). (2) Act 1 Review minted at
the same time as the ghost drop; Pindar held all 68 and auctioned them later. (3) the collector
authored the community 'portal glitch' puzzle (Fibonacci Caesar shift) — Pindar promoted
it. (4) the collector believes GAN #0 was published AFTER the puzzle launched (verify on-chain
before using #0 in any selection). (5) The prize GAN is a COLLECTOR tribute (Colborn,
essence 'collect'), the counterpart of the artist GANs.

## D29 — Lore-catalog run-down + abnormal-HiddenType eleven (2026-08-31)
Michael pasted the 46-item GAN-culture catalog (A1-A20, B1-B26, written 8/26, pre-D28)
and asked to run everything down autonomously. Ran 10 parallel censuses + targeted
plant-validated sweeps. Full triage: theories/LORE-CATALOG-TRIAGE-2026-08-31.md;
consolidated findings + reports: lore_catalog_runs/FINDINGS-2026-08-31.md.

NEW LEAD (selection, not a solve): the ABNORMAL-HiddenType eleven. HiddenType encodes
each piece's number-class (skull a=Fibonacci, b=prime-not-Fib=glitchers, c=squares).
The 11 pieces OUTSIDE the documented a-e/A-E scheme: F (9 = the 8 binary-palindrome
robos {129,141,147,159,162,174,180,192} + spooky #193) and "32" (#32,#161). Clean,
deterministic, on-chain selection of eleven, invisible to letter-only readers.
SWEEP: DEAD on 16 registers (essence/pnum/mint/binpos/pos/name x mint/gan/binpos/rev
orderings), plant-validated, registered. Mint-order essences advance alpha awkward cat
dog news twin olive wolf zero glue were untested pre-today; now dead. STATUS: a
ratified-QUALITY selection for the mix-and-match pool; NEEDS Michael's eye to endorse
"out-of-scheme HiddenType" as a glitch class and for un-computable registers.

CLEAN NEGATIVES this session (all catalog items, none land on 11): gallery archaeology
(only pre-clue snapshot = known forge collection, plain order 1-11), journal images
(clue post: no barcode/QR/marked word), walk-shapes, distinguished-index sequence,
perfect-fakes/event-counting, odd-file bespoke reads (+ container census: disposal=none
100%, 0 comment/local-palette/trailing bytes on all 512), near-duplicates (new cross-
drop pair #150<->#458 flagged), tile-scans, forge inheritance (never-forged pair =
#49+#20; cross-contract anomalies=8 not 11), depth census (single-field template
transfers to no field). CORRECTIONS to the catalog: "crispy" POSTDATES the clue (mint
2022-05-25) so not an Act-1 glitch; the "four skipped BIP39 words" claim is FALSE
(only 2 skull-essence deviations, 1 unused word). Confirmed curios: 39-triple, 92-vs-93.

PROTOCOL: registry audit confirms 100% full-128-ending coverage (no literal-ending
gaps), BUT the BIP-39 PASSPHRASE dimension was essentially never run. Launched a
passphrase sweep (universe/infinite as passphrase + universe as literal word-12) over
144 strong dead sets x 2 orderings — a genuinely new dimension. RESULT: 74,720
derivations, plant-validated, NO HIT. The passphrase/word-12 'universe' dimension is
DEAD on these families. 'before the first, after the last' as a passphrase does not
rescue the strong dead sets.
Also novel for a future run: Union-eleven index-transplants -> mint-rank/montage/
title-alphabetical orderings.

## D30 — HiddenType number-class scheme FULLY DECODED + extension + bookend sweeps (2026-08-31)
Michael asked to (1) extend HiddenType across the collection, (2) try anchor/bookend
variants freeing 9- and 10-size glitch sets, (3) confirm the #150/#458 near-pair, and
(4) test backwards-Fib ordering by first-insertion location.

HIDDENTYPE DECODE (the field is Pindar's on-chain number-class encoding):
  a=Fibonacci  b=prime(non-Fib)  c=perfect-square  d=odd-composite  e=even
Identical scheme across all THREE labeled drops, each on its native numbering:
  skull=decimal piece#, robo=binary position (with F=palindrome OVERRIDE class,
  the 8 nagas), spooky=octal position. Solstice/ghost/review carry NO HiddenType,
  so the scheme does not extend past spooky (no label = nothing to misplace).
FOUR AUTHORED MISPLACEMENTS (label contradicts number-class) — the real anomalies:
  #32  literal "32" (skull) — Pindar-flagged promise piece
  #119 odd number in class e/even (should be d) — Pindar-flagged promise piece
  #161 literal "32" (robo)
  #187 even in class C/square (should be e) — essence 'mirror'
=> #32 and #119 are BOTH the hidden-types promise pieces; #161/#187 are their robo
twins. This is a clean 4-member CONTRIBUTOR class (mix-and-match), NOT an eleven. It
corrects D29's "F+32 eleven": F-in-robo is the legit palindrome class, not corruption.

#150/#458 NEAR-PAIR: confirmed DISTINCT from byte-identical {14,75} and double-mint
#390. #150=Firebot roboGAN (robo, ess fire), #458=review (ess soup). Best-FRAME match
150.f4 vs 458.f32 = cosine 0.085 (means were "close but not that close"; frames match
much better) — a clean color-transformation, visually unmistakable. BUT the systematic
"every Review GAN transforms a specific earlier GAN" hypothesis is NOT supported as a
68-wide map: no distance elbow, no earlier-drop clustering (matches spread ~ drop size),
non-injective (55 targets for 68 pieces, GAN360 hit 3x). 458->150 is a real deliberate
tribute in generic noise; the wholesale reprise-map is not there. review_transform_map.json.

BACKWARDS-FIB LOCATION ORDERING (Michael's Q): first-insertion onset frame IS partly
discriminating — 7 pieces share onset 37; #182=19,#287=22,#166=27,#190=29. Swept the
new composite orderings (onset_then_mint, onset_then_mint_rev, drop_then_onset,
onset_desc_mint) x {essence, piece#, binary-position} registers. plant-validated, NO HIT.
Location as an ordering key is dead (glitch-onset was already in the D27 fib11 sweep).

BOOKEND SWEEPS (Michael's anchor idea — anchors #0=universe, #1=abandon, #512=final):
  Tier 1 (64 curated configs): pairs-first9/last9 + {#0,#512}/{#1,#512}/reverse bookends;
  fib_robos10 + #512; palindrome8/still_eyes8 + {#0,#1,#512}. essence+piece#+mint registers
  x mint/gan/revmint orderings. plant-validated, NO HIT.
  Tier 2 (27,742 tasks, ~3.5M seeds): ALL C(n,9) and C(n,10) subsets of twin(13),
  entangled(14 usable), prime_robos(15), bookended by {#0/#1 .. #512} and {.. #512},
  essence register, mint order. RESULT: 19/19 chunks, plant-validated, NO HIT.
  Tier 3 (1,270 tasks): ALL 512 one-member-per-pair combos (cross-drop, since pairs span
  skull/robo/solstice/ghost/review) + drop-native skull-11/solstice-11 trimmed to 9/10 +
  review-9 + spooky+ghost union, bookended. plant-validated, NO HIT.
  => the entire bookend campaign (T1 curated + T2 class-subsets + T3 pairs/drop combos)
  is DEAD on the essence register. The anchor structure does not rescue any ratified
  glitch set. Registered ~28k new keys.
FRAME-BY-FRAME (Michael's Review-reprise ask): every frame of all 68 review pieces vs all
  22,753 earlier frames. NO authored reprise set: best-frame distribution min 0.085 (that
  lone outlier = #458 soup <-> #150 fire, cosine 0.915), median 0.215; identity=1.000,
  adjacent-frame=0.972. #150/#458 confirmed coincidental family resemblance (Michael's read).
PRIMER: published artifact 'The Hidden-Type Misfiles' explaining the scheme + 4 misfiles
  with embedded animations (lore_catalog_runs/hiddentype_primer.html).
Pool + builders: lore_catalog_runs/glitch_pool.json, build_bookend*.py, q_bookend*.

## D31 — Global number-class scoring + full materials/site update (2026-08-31)
Michael: (1) extend the HiddenType number-class principle to the WHOLE collection as one
0-512 sequence (not drop-native), record as properties; (2) profile the global-Fibonacci set.

GLOBAL NUMBER-CLASS: scored every piece by its absolute GAN number (0-index) and mint
index using the same classes (fib/prime/square/odd-composite/even). Recorded as deck
properties GlobalNumClass_gan / GlobalNumClass_mint (513 rows) + pieces.json + dictionary
prop:GlobalNumClass. Data: lore_catalog_runs/global_numclass.json.
YIELD (honest): the drop-native prime-not-Fibonacci glitch rule does NOT extend globally
(only 13 of 73 ratified glitch pieces are globally prime-not-fib); no ratified glitch class
maps to a single global number-class. So the HiddenType scheme is DROP-NATIVE, not global.
Global class counts (0..512): fib14 sq20 prime91 oddcomp146 even242.

GLOBAL-FIBONACCI SET = {0,1,2,3,5,8,13,21,34,55,89,144,233,377} (14 pieces):
- The first 11 (0-89) ARE exactly the HODL/Named/Fibonacci eleven (Pindar's own published
  eleven; the Named pieces). Carry the first BIP39 words by the skull essence rule.
- The extra 3 (beyond HODL) each sit in a different later drop and each has an anomaly:
  #144 robo, ess flame, BURNT-in-forge (144=12^2, the unique square+Fibonacci; forge-linked);
  #233 solstice, ess basket, signature_violator / no-on-chain-traits;
  #377 ghost, ess drip, VISUAL SPACE INVADER + podgan_background (in the pod-invasion set).
- NONE of the 14 are in the ratified VISUAL glitch classes (twin/entangled/palindrome/
  painted/fib11) — the Fibonacci pieces are the Named/archetype pieces, a separate axis.
- #21 (Fibonacci) carries the 'Essence out of sequence' flag (bean vs expected basket).
- #5 (Fibonacci) is the prime_rule_exception (5 is prime AND Fibonacci -> protected).

MATERIALS + SITE UPDATED (standing rule): ledger (HiddenType misfiles + selection),
DECISIONS D29/D30/D31, dictionary (HiddenType defs enriched + GlobalNumClass prop),
build_methods.py (new SEL-HIDDENTYPE-MISFILE, 22 selections), build_pb_content.py (prose),
deck_512.json (GlobalNumClass cols), regenerated pieces.json/sheet.json/methods.json/
pb_content.json/taxonomy.json, registry (+~29k bookend keys). Site rebuilt: the workbench
rebuild targeted a DEAD scratchpad serve dir (prior-session UUID) — built pieces.json
directly instead (lore_catalog_runs/build_pieces_direct.py), fixed a live 'tc is not
defined' bug in puzzlebook.html header, re-staged to this session's serve dir, repointed
launch.json puzzle chdir. Verified live at localhost:8899: header renders, 22 selections
incl. HiddenType misfiles, numclass in piece data.
NOTE for next session: rebuild_workbench.py (SP=92176c78...) and update_all.sh
(REV=d9ce74a2...) still hardcode dead scratchpad UUIDs; they need their paths repointed
to the running session before update_all.sh will work end-to-end.

## D32 — "32 as building block" brainstorm swarm + Tier-A results (2026-08-31)
Michael: brainstorm all ways the number 32 (the collection's building block) could decode
the puzzle; then do both remaining Tier-A ideas. 7-lens swarm -> 49 ideas -> 24 deduped,
tiered. Board artifact: lore_catalog_runs/brainstorm32_board.html; full doc BRAINSTORM_32.md.
TIER-A RESULTS (all 5 top picks resolved):
- ±32 hop: KILLED by control (20.0% landing vs shift-16's 30.6%; 32 not special).
- doubling-eleven {0,1,2,4,8,16,32,64,128,256,512}: swept dead (essence+number x 4 orders).
- pixel-diff 32x32 grid-cell -> 11-bit index (fib-eleven): swept dead (16 variants). The
  glitch is a re-inserted WHOLE frame, so the whole figure redraws -> no isolated signal cell
  (top1/top2 ratio 1.00-1.07). First pixel-layer read attempt; method doesn't fit this glitch.
- bitGANg 1001 roster: DEAD END. It's a 22-for-2022 auction NFT = GIF of "32 unique bitGANs"
  (rainbow ghost faces), framed in lore as a sneak-peek at the NEXT drop's style -> NOT
  members of the 512; tile-to-deck shape match ambiguous. Intersection not well-defined.
- {#32,#95} burn pair: VERIFIED real (same-tx burn 2021-10-14T14:49:06); candidate for D2's
  10th-pair slot. Essence read as 10th-pair+anchor (first/last-speaks x 357/512 x mint/pairorder)
  swept dead. The PAIR stands as a structural finding; its word-read does not.
NET: 4 of 5 Tier-A picks negative on word-reading; the {#32,#95} pair is the one durable new
observation. Structural keeper: #129<->#161 (both still-eyes, differ by exactly the 32-bit).
Remaining open (board): mint-as-pointer-nonskull, 16-blocks-of-32 histogram (extend), base-32
radix, 64-page split, 32-based reading orders (pair w/ non-essence register), 32-row bitstring,
distance-from-32, base32-text. Consistent lesson: 32 is a real structural axis but every
32-based WORD-READING tried is dead — same essence-register death seen project-wide.

## D33 — 32 as selection + base-system analysis (2026-08-31)
Michael: can 32 PICK the GANs? And how does 32 sit in base-32 / octal / binary?
SELECTION (does not isolate 11): GAN mult-of-32 = 16-17 pieces (4 glitch); no residue
mod 32 lands on 11 or concentrates glitches; 16-blocks-of-32 FAILS because glitches
cluster in the robo drop (blocks 4-5 hold ~33 of 73), not one-per-block. Uniform
32-partition can't select eleven.
BASE SYSTEMS:
- 32 = 100000 bin = 2^5 (6th bit) = 0o40 octal = "10" base-32.
- Base-32 exists (duotrigesimal / RFC-4648 Base32). Every GAN 0-511 = two base-32 digits
  (hi = block 0-15, lo = position 0-31) = the 16-blocks structure; glitches cluster in
  hi-digit 4,5 -> not a clean base-32 selector.
- Drop sizes: skull 128=2^7, robo 64=2^6, spooky 16=2^4 ARE powers of two; 2^5=32 is the
  conspicuously MISSING drop size while being the universal 32x32 building block. bitGANg
  1001 is a 32-set but not a drop.
- KEY INSIGHT (explains why exactly TWO "32" corruptions exist): each of the first three
  drops has its own base and its own position range where a "32" could be planted -
  skull decimal 1-128 (32 valid -> #32), robo binary 0-63 (32 = 100000 valid -> #161),
  spooky octal 0-15 (32 = 0o40 OUT OF RANGE -> impossible). So 32 is plantable only in
  skull and robo, and both carry exactly one "32" -> the count of two is forced by the
  base structure, not arbitrary.
- #161 = binary 100000 sits at the robo drop's exact top-bit midpoint (boundary between
  lower-32 pos 0-31 and upper-32 pos 32-63); it is simultaneously the "32" corruption and
  the base-2 midpoint marker. But robo glitches split 17 lower / 16 upper - near-even, no
  selection signal from the split.
VERDICT: 32 is a genuine cross-base BOUNDARY / building-block (2^5, the missing drop, the
robo bit-split, the base-32 cell) and the two "32" pieces are base-aware position markers -
but 32 does not act as a selector that isolates eleven. Structural, not selective (same
pattern as its word-reading death, D32).

## D33b — "32" extended to all 6 drops + 0-vs-1 indexing (2026-08-31)
Native numbering per drop (from on-chain names): skull decimal /128 (1-indexed), robo
binary 6-bit (0-indexed), spooky octal 0o (0-indexed), solstice ABSOLUTE #209-300, ghost
decimal /144 (1-indexed), review ABSOLUTE 445/512. Two families: per-drop counters
(skull/robo/spooky/ghost) vs absolute global numbers (solstice/review).
WHERE "32" LANDS per drop's own system, and glitch status:
- skull  1-idx 32/128 -> #32  (GLITCH: corruption + promise piece)   [0-idx -> #33 clean]
- robo   0-idx bin 100000 -> #161 (GLITCH: corruption + still-eyes)   [1-idx 32nd -> #160, also glitch/still-eyes/fib]
- spooky -> none (max 0o17 = 15)
- ghost  1-idx 32/144 -> #332 'spider' (CLEAN, gc0)                   [0-idx -> #333 'trophy' clean]
- solstice absolute -> NO native '32' (32nd solstice = #240 'before' clean; #241 'begin' clean)
- review  absolute  -> NO native '32' (32nd review = #476 'unique' clean; #477 'december' gc1)
FINDINGS:
1. Extending "32" to the other three drops adds NO new glitches. The "32 = a glitch"
   pattern is confined to skull + robo — exactly the two drops that have BOTH a HiddenType
   field to corrupt AND a position 32 that fits. ghost has a native 32 (#332) but it's clean
   (no HiddenType field there to corrupt); solstice/review use absolute numbering so a
   per-drop "32" doesn't even exist.
2. The two real corruptions use OPPOSITE indexing: skull #32 is 1-indexed (32/128), robo
   #161 is 0-indexed (binary value 32). There is no uniform global "32" - it is base- and
   index-relative to each drop. Under global absolute numbering, "32" = #32 only.
3. Mild curiosity (clean, likely coincidence): solstice's 32nd/33rd pieces #240/#241 carry
   'before'/'begin' (beginning vocabulary). Noted, not load-bearing.
VERDICT: the native-"32" pointer set = {skull#32, robo#161, ghost#332} - only 2 of 3 are
glitches, doesn't build toward eleven. 32 remains structural, not a selector, across all
six drops and both indexings.

## D34 — Untested-methods swarm + mirror-image search (2026-08-31)
Michael: (1) do any Review GANs mirror earlier GANs (even one frame)? (2) swarm the
website's UNTESTED selection/extraction/ordering principles against our uncovered glitches.

MIRROR SEARCH (task 1): NEGATIVE. Every review frame's horizontal flip vs all 22,753
earlier frames, with flip-gain + self-symmetry controls. Strict gate (mirror<0.05 AND
flip-gain>0.03 AND beats self-symmetry): 0 pieces. Max flip-gain anywhere +0.024 (flipping
barely helps). Close matches = washed-out noise frames snapping to hub frame #77. No Review
piece is a deliberate mirror of a specific earlier piece — generic pixel-art symmetry only.
Report: lore_catalog_runs/mirror_report.md.

METHODS SWARM (task 2): 4-family workflow, 28 recipes over 14 untested word-registers +
calendar/gallery orderings x every glitch set. 4 Tier-A sweepable sets; on VERIFICATION:
- A1 radix-decode on fib-eleven = ALREADY DEAD (re-derives the binary-position register;
  both index variants in registry). Caught before sweeping - the "most promising" was a repeat.
- A2 tribute-11 (new selection: 14 person-tribute pieces minus 3 founder-anchors =
  {210,211,228,246,264,282,447,448,482,445,446}; words champion/escape/potato/mask/acid/
  recycle/cloud/elder/test/prize/flower): SWEPT DEAD. Caveat: 5 of 11 words rest on external
  artist-bio guesses + #447's word = its essence, so a miss doesn't fully close the register -
  the tribute-word register needs Michael's eye on the actual words.
- A3/A4 Silver-SubType-11: SWEPT DEAD (degenerate, 1-4 distinct words).
- B1 TWIN-13->11 classifier (EC40): #157,#298 are the only 2 twins that invert Twin into
  Type instead of SubType -> a clean mechanical 13->11 cut. Swept the 11-set (essence +
  number registers): DEAD. Selector is clean but needs a live word register.
Full recipe doc + tiers: lore_catalog_runs/METHODS_RECIPES.md.
RESIDUES NEEDING BUILD OR MICHAEL'S EYE (not mechanically sweepable, genuinely uncomputed):
- S2-W16 filename-descriptor words: 72 pieces carry an Arweave hand-written filename word
  (ancient/elder/heart/warrior/whale...) appearing nowhere in their metadata - a real
  uncomputed register; worth building a per-selection extraction.
- S2-W13 tribute-word register: needs Michael's word confirmations (6/11 solid).
- S2-W17/OC17 date/calendar decode on ENTANGLED (10/15 resolved); EC45 negative-space
  ('action','seven' the only unused words - 2 total); S2-W21 absence (7 words, short of 11).
NET: no hit. The swarm's value is a verified map of the non-essence register space: most
untested registers either collapse into already-dead ones, fall short of 11, or need
semantic judgment. The cleanest genuinely-uncomputed mechanical register left is S2-W16
(filename descriptors).

## D35 — Filename-descriptor register + TWIN-inverter pointers + tribute eye-need (2026-08-31)
Michael: "go and do these things" (the 3 residues from D34).
1. S2-W16 FILENAME-DESCRIPTOR register: extracted BIP39 filename words not in metadata ->
   92 pieces carry one, but they are overwhelmingly SKULL, so only the Fibonacci/HODL
   selections are reachable (robo/palindrome/still-eyes files are just binary, 0 coverage).
   HODL descriptors are dominated by generic "skull"; swept the skull-descriptor set and the
   creature-hybrid set (creature-word where BIP39 else essence): DEAD, plant-validated.
   FINDING: the DISTINCTIVE filename words are the Named pieces' true creature identities -
   #5 whale, #13 spirit, #34 heart, #55 warrior, #1 ancient (all BIP39) - a real "true-class
   / creature-word" register, but only 5-6 of 11 HODL members have a BIP39 creature word
   (charred/scholar/blob/beanie/shark are not BIP39), so it cannot fill eleven alone. Parked
   as a genuine partial register (data: lore_catalog_runs/filename_descriptors.json).
2. EC40 TWIN-INVERTERS as pointers: #157 (SubType Binary/Type Twins, ess lonely, robo) and
   #298 (SubType Slender/Type Twins, ess brick, solstice) are the only 2 twins that invert.
   Pointer reads: #157 lonely->idx1053 (out of GAN range); #298 brick->idx221=#221 (entangled,
   a weak coincidence); GAN/mint pointers land nowhere marked; diff 141, sum 455. NO clean
   pointer. Dead as a pointer mechanism.
3. S2-W13 TRIBUTE register: the mechanical 6-solid-word version already swept dead (A2, D34).
   The 5 uncertain slots need Michael's eye (see report). Staged as an eye-question, not
   fabricated.
NET: no hit. Filename register + creature-hybrid + twin-inverter pointers all dead. The one
genuine partial that survives is the creature/true-class word register (5-6 BIP39 of 11) -
which points back, again, at the true-class/Named-relation register as the real open frontier.

## D36 — NO-GUESS / MUST-BE-OBJECTIVE doctrine (Michael, 2026-08-31)
Michael's ruling on the tribute-word register: "If we have to guess the words, that
probably won't work unless you can see them in the image." Formalized as a standing
principle that RETROACTIVELY invalidates a whole class of registers:
THE WORD MUST BE OBJECTIVELY PRESENT — readable by anyone from the piece itself — via one of:
  (a) a metadata FIELD value (essence/subtype/type/name/date/hiddentype/filename), or
  (b) a mark actually RENDERED in the art (painted number/letter, an inscription), or
  (c) a visually UNAMBIGUOUS identity (you can SEE it is a whale -> 'whale').
It must NEVER require inference from outside knowledge or interpretation. This matches
Pindar's "no judge" rule (the seed is objectively there) and his three solved puzzles
(all mechanical: a field, the clue words, painted frames).
CONSEQUENCE — these untested registers are DEAD by this principle (they require guessing):
  S2-W13 artist-tribute words (needs artist-bio knowledge: Abosch->potato etc.),
  S2-W23 homage-target word (needs interpreting what a piece "half-becomes"),
  EC46 GAN-vocabulary/lore-thematic words (pure interpretation),
  and the guess-dependent slots of any semantic register.
WHAT SURVIVES as objective+visible: (1) the 4 confirmed painted marks (#165 '81', #207 '4',
#179 '10.00', #379 'AI') - already a closed census; (2) the creature-identity true-class
register where the creature is visually unambiguous AND a BIP39 word (whale/spirit/heart/
warrior/ancient) - but only 5-6 of 11 Fibonacci pieces qualify, so it can't fill eleven alone.
The exhaustive all-frames painted-mark census (Michael-adjudicated) already answered the
"is a word visibly rendered?" question for all 512: only 4 carriers, NONE are tribute pieces.
=> The tribute/homage/lore-inference registers are closed. The objective-word frontier is
narrow: painted marks (4) + visually-unambiguous creature words (partial). Sweeps that
require a guessed word are not worth running.

## D37 — Objective-word frontier: #300 / creature census / painted marks (2026-08-31)
Michael: "do all of those" (the 3 objective-word directions).
1. #300 BYTEGAN DEEP-READ: NEGATIVE. Full byte/XMP/8BIM extraction of #300 "Lunar
   skullGAN": no Photoshop layers, no history, no 8BIM/PSD fragment, no seed keywords, no
   ordered BIP-39 run, no 11/12-item list. PREMISE CORRECTED: #300 is NOT the lone PSD file
   — ALL 512 carry a Photoshop CreatorTool, 16 share exactly "23.0 Windows", 511/512 have
   DerivedFrom; #299/#301 are structurally identical. #300's only uniqueness = an
   OriginalDocumentID save-path fingerprint, not a designed payload. byteGAN rhyme dead.
2. VISIBLE-CREATURE CENSUS (objective, D36-compliant): built for 511 pieces (26 creature
   words, 17 BIP-39, coverage 459/511). KEY FIND: exactly 11 RARE (<=2 occurrence) creatures
   are BIP-39 words -> an objective, visible, non-essence, exactly-eleven candidate:
   whale(5) spirit(13) heart(34) warrior(55) cat(147) dog(159|276) wolf(180) clown(204)
   turkey(264) alien(268) pig(412). Word set FIXED, only order + dog-piece vary.
   SWEPT 17 orderings (mint/gan/alpha/pos-in-drop/drop-mint/ess-alpha/wordidx/reverses, both
   dog variants), plant-validated: ALL DEAD, including mint order (the solved precedent).
   Strong negative — if this were the selection, mint should have hit. Data:
   lore_catalog_runs/creature_census.json. Slender-family is the other exact-11 creature set
   (11x'slender', degenerate). 15 one-off creatures catalogued.
3. PAINTED MARKS as pointers/indices: #165'81'->bip39[81]=any / GAN#81; #207'4'->above / #4;
   #179'10.00'->access / #10 (ambiguous 10/100/1000); #379'AI'=letters, NOT numeric. Only
   3-4 objective items, one non-numeric -> a stacked COMPONENT of <=4, no complementary
   objective 7-register alive to pair with. Pointer-targets (#81,#4,#10) are all Silver/
   Flaming skulls. Closed as too-small component.
NET: no hit. The objective-word frontier (the space D36 leaves open) is now largely
exhausted: #300 dead, painted marks too small, creature-11 (the best objective exact-eleven)
dead across all principled orderings. RESIDUE FOR MICHAEL'S EYE: the creature-11 selection
was built from filenames + prior validation, not his direct adjudication — if a creature ID
is wrong (#268 alien? dog 159 vs 276? exactly these 11?) the set shifts. Worth his eye
before fully closing, since it is the cleanest objective exact-eleven the project has found.

## D38 — Creature-11 CLOSED by Michael's eye (2026-08-31)
Michael adjudicated the Creature Review artifact. Corrections: #264 (census 'turkey') is a
DOG — but it is the Killer Acid tribute (cryptoArtGAN, name 'Killer acidGAN'), not a rare
creature; #268 (census 'alien') is a BIRD — name is literally 'Bird monsterGAN' ess 'bird';
#412 (census 'pig') is a MONSTER — name 'Ultra monsterGAN'; #276 (a dog candidate) is NOT a
creature (Nebulous bitGAN / Type Cloud) -> dog = #159 confirmed; #50 not a creature.
CONSEQUENCE: the filename/visual census MISLABELED 3 solstice/ghost pieces. The clean "11
rare one-off BIP39 creatures" was a census ARTIFACT: #264/#268/#412 are actually a tribute
and two monsters (monster is a common Type, not a rare creature). The genuine rare one-off
BIP39 creatures number ~8: whale(5) spirit(13) heart(34) warrior(55) cat(147) dog(159)
wolf(180) clown(204) -> 5 Fibonacci-Named + 3 nagas (Taco Cat/Dog God/Flow Wolf) + clown.
Not eleven.
Swept Michael's CORRECTED 11-piece reading anyway (whale spirit heart warrior cat dog wolf
clown dog bird monster, 7 orderings incl mint): DEAD. Both the census version (17 orderings,
D37) and the corrected version (7 orderings) are dead.
=> The visible-creature word register does NOT yield a valid eleven. The objective-word
frontier that D36 left open is now EXHAUSTED: #300 dead, painted marks too small (<=4),
creature register doesn't produce 11. 
STRATEGIC CONCLUSION: the entire "select 11 pieces + read each via register X" space is
comprehensively closed (essence, all number registers, bookends, 32-everything, passphrase,
pixel, mirror, all untested word-registers incl objective ones). This strongly implies the
seed is NOT distributed across 11 individually-selected pieces. Next frontier = the
phrase-lives-in-ONE-artifact shape (byteGAN precedent: 12 words in one file/composite):
inventory + byteGAN-read every composite Pindar published (montage/all.jpg, the finaldrop &
review grids, bitGANg-1001 rainbow-ghost image, the clue-post images), and re-open the
gallery-arrangement channel with fresh archive angles.

## D38b — Creature register EXHAUSTIVELY closed (2026-08-31)
Per Michael "try all iterations + essence words + orderings": swept all 128 combinations
of creature-word-vs-essence-word for the 11 pieces {5,13,34,55,147,159,180,204,264,268,412}
x 7 orderings (mint/gan/alpha/reverses/pos-in-drop/drop-mint) = 512 unique sets, 65,536
seeds, plant-validated: DEAD. (Note: cat/dog/wolf/bird have essence==creature; the naga
trio + the Bird monsterGAN.) Combined with D37 (census-11, 17 orderings) and D38 (corrected-
11, 7 orderings): the visible-creature/essence register on this selection is COMPREHENSIVELY
dead across ~530 combination-orderings.
FINAL: the objective-word frontier (D36) is exhausted, and with it the entire "select 11
pieces + read each via ANY register (essence/number/creature/filename/painted) in ANY
ordering" space. No hit anywhere. This is the session's decisive structural negative.
NEXT (recommended): abandon the distributed-11 shape; pursue the byteGAN "one artifact holds
all 12 words" shape — byteGAN-read every composite Pindar published (montage/all.jpg, the
finaldrop & review grids, the bitGANg-1001 rainbow-ghost image, the clue-post face GIFs) and
re-open the gallery-arrangement channel.

## D39 — PINDAR CONFIRMS metadata errors are intentional glitches (Discord 2022-01-01)
Michael found a verbatim pre-clue Pindar message. @Krum: "All bitGANs have Type and SubType.
The SubType only for this one is mis[sing]…" (re: a RAINBOW skull). VanArman (Never DMs),
2022-01-01 5:16 PM: "There are some glitch bitGANs with intentional errors - you will find
others - they are glitched."
IDENTIFIES: Krum's piece = #58 "Rainbow Glitch skullGAN" — chain has Type='Rainbow' and NO
SubType (the SubType-value 'Rainbow' displaced into Type, SubType field emptied). Also #383
"Space-Clops" has the trait KEY misspelled 'Subtype' (lowercase t).
UPGRADE: this confirms METADATA/trait errors as an intentional GLITCH channel ("they are
glitched") with MORE to find ("you will find others"). It ratifies the CHAIN-CORRUPT-11 =
{16,17,44,48,58,62,66,81,173,281,309} — exactly eleven pieces where the on-chain trait is
the corrupted side — from candidate to PINDAR-CONFIRMED intentional-glitch class. #58 (Krum's)
is a member. Status: SEL-CHAIN-CORRUPT-11 -> confirmed-by-artist.
THE ERROR TAXONOMY (Michael's "divine why" — each error is a distinct type):
 #16 TRANSPOSE (Primoridal); #17 SUBSTITUTE title (Ghost->Glitch); #44 SUBSTITUTE title
 (Ancient->Primordial); #48 REVERSE (Rainbow->wobniaR); #58 DELETE/DISPLACE (SubType gone);
 #62 SWAP (Type<->SubType); #66 SUBSTITUTE (Rainbow->Flaming); #81 DELETE suffix (skullGAN->GAN);
 #173 SUBSTITUTE type (Ghost->Smoke); #281 SUBSTITUTE gang (glitchGAN->bitGAN); #309 DELETE
 suffix (ghostGAN->Ghost).
ROSETTA STONE: the THREE Rainbow pieces show the same value 'Rainbow' glitched three ways —
 #48 reversed (wobniaR), #58 deleted, #66 substituted (Flaming) — a teaching device for the
 glitch grammar.
EXTRACTION STATUS: essence register DEAD (D27). Corrupt-values BIP39 only 2/11; correct-values
 3/11; reversed-essences 0/11 — so the word is NOT in the trait values. Per Solstice ("they
 hide their true BIP39 nature elsewhere"), the BIP39 word for these confirmed glitches lives
 in an unread channel. Most promising untested register: EC28 glitch-as-INSTRUCTION (the
 corruption names the operation: reverse/delete/swap/substitute).

## D40 — Glitch-as-instruction (EC28) on the Pindar-confirmed corrupt-11: SWEPT DEAD (2026-09-01)
Michael: treat each error type as a VERB (transpose/substitute/reverse/delete/swap) and ask
what OPERAND it acts on (essence, BIP# 0/1-based, GAN, mint, name words, trait values).
Full menu enumerated (lore_catalog_runs/instruction_menu.json): ~90 candidate words across
11 slots; raw product 2.4e9 — the tell that a real cipher needs ONE consistent operand.
Consistent-operand schemes: BIP-index families FAIL on #66/#281 (their 'substitute' has no
BIP-39 true value: rainbow/glitchGAN); trait-value family fails on most. Only three fill
all 11 slots: GAN/0b (12 combos), mint/1b (36), mint/0b (36). All 168 word-sets (mint +
reverse orders) swept, plant-validated: DEAD. The three canonical phrases were word-salad
(no authored texture), consistent with the negative.
CONCLUSION: the corruption verbs are NOT digit-operations applied to the piece numbers.
'substitute' (5 of 11) has no clean numeric semantics and is what breaks the BIP families.
The surviving reading: the verbs describe how each TRUE word was HIDDEN (reversed/deleted/
substituted) — recovery = UNDO the operation on an operand not yet identified — rather than
applying the verb to a number we already hold. The corrupt-11 remains Pindar-CONFIRMED as
the glitch set; its word-register is still open.

## D41 — Undo-the-corruption POINTER reading on corrupt-11: SWEPT DEAD (2026-09-01)
Michael: undo each corruption to its TRUE value, treat that value as a pointer. Undone values:
#16 Primordial, #17 Ghost, #44 Ancient, #48/#58/#66 Rainbow, #62 Nebulous, #81 skullGAN,
#173 Ghost, #281 glitchGAN, #309 ghostGAN. FINDING: they point at SETS not pieces —
Rainbow=82 pieces, Ghost=105, skullGAN=167, Primordial=29, Nebulous=19, ghostGAN=64;
only glitchGAN=8 and Ancient=8 (filename) are small. Only Ghost/Ancient are BIP39 words.
Collapse rules swept (9 schemes, 16 sets incl reverses, plant-validated): set-count->word
(1b/0b), first-member essence, Nth-occurrence-member essence (GAN & mint), last-member
essence, direct-BIP39-else-count hybrid, first-member-GAN->word (1b/0b). ALL DEAD.
CUMULATIVE on the Pindar-confirmed corrupt-11: essence (D27), trait values (D39),
instruction-on-numbers (D40), undo-pointers (D41) — all dead. The selection is the most
artist-ratified eleven in the project; its word-register remains unidentified after four
independent register families. Words are not in its metadata, its numbers, or the sets its
true values name.

## D42 — Verb-by-LOGIC matrix + the missed GAN@1b logic swept (2026-09-01)
Michael: don't mix operands (Pindar wouldn't); show every reading grouped by verb AND by
operand-logic so picking one logic is visible across all eleven. Built
lore_catalog_runs/glitch_verbs_by_logic.html (Part 1 by verb w/ full name, corrupted trait,
correction, operand matrix; Part 2 by operand logic w/ the 11-piece phrase per logic).
LOGIC FILL COUNTS (a logic is sweepable only if it fills all 11): BIP#1b→1b/0b 6/11,
BIP#0b→1b/0b 6/11 (the five 'substitute' pieces have no numeric op on a BIP#), essence-
letters 0/11, trait-value 6/11, GAN→word@1b 11/11, GAN→word@0b 11/11, mint→1b 11/11,
mint→0b 11/11.
CORRECTION to D40: the consistent-scheme code excluded any result equal to the piece's own
essence, which silently dropped the GAN→word@1b family (for skulls, 'substitute index with
GAN' reproduces the essence). D40 therefore swept only GAN@0b + mint@1b/0b. GAN@1b is a real,
distinct, previously UNSWEPT full logic: always acoustic air apology {above|abstract}
{add|amateur} amused {abandon|abstract} better cart {absurd|admit|age} — 48 combos
(mint + reverse). Swept, plant-validated: DEAD.
NET: all four operand logics that fill eleven (GAN@1b, GAN@0b, mint@1b, mint@0b) are now
swept dead; the six that don't fill cannot form an eleven. Under the constraint 'one operand,
applied consistently', glitch-as-instruction on the corrupt-eleven is fully exhausted.

## D43 — "Glitches TEACH the method" swarm: recipes swept (2026-09-01)
Michael: apply the corrupt-eleven insight (a glitch is a lesson demonstrating a METHOD applied
elsewhere) across every glitch class. 6-lens swarm -> 41 recipes -> TEACHING_RECIPES.md.
META-PATTERN (all lenses converge): the glitches never hide the word in a piece's own
essence/number (that space is closed); they teach INDIRECTION — a correct index/rank/value
aimed at the WRONG list, column, or direction (podGALLERY's "right index, wrong list").
The most consistent TARGET is the BIP-39 wordlist itself approached sideways (reversed,
re-based, transplanted), not any piece's own field. Secondary: structural glitches (splice
gaps, held frames, palindrome mirroring) may encode the phrase's SLOT ORDER, not words.
TIER-A SWEPT (all plant-validated, DEAD): A1 index-transplant (corrupt-11 mint-rank ->
title-alphabetical rank -> essence: goat fox bullet cross air grab goddess blind eight divide
bean) + my two independent recomputes; A2 reversed-wordlist read of fib11 binary-suffix
N-values (work wonder wisdom winter win width whisper wheel welcome weapon swing — a list-
MIRROR, distinct from the banned letter-reversal family) + recomputes on GAN/GAN-1/mint.
19 sets incl reverses. VERIFICATION NOTE: independent recompute reproduced A1 to within one
sort-tie word and confirmed A2's operand = robo binary position read from the list's END.
NEW FINDING from the swarm: the deck-wide typo/deliberate-pair census lands on EXACTLY 11
pairs = 9 ratified + {9,73} + {170,175}; #175 sits in two pairs. One-per-pair elevens
(essence, mint order) being swept now (D43b).

## D43b — The 11-pair eleven swept DEAD (2026-09-01)
Deck-wide typo/deliberate-pair census = exactly 11 pairs: the 9 ratified {14,75}{479,480}
{209,300}{489,491}{130,133}{165,207}{363,473}{16,100}{175,205} + two new {9,73} (shared
filename typo) and {170,175} (shared name anomaly). #175 sits in two pairs, so combos picking
#175 twice were excluded (not eleven distinct pieces). All 1,536 distinct one-member-per-pair
elevens, essence register, mint order: 196,608 seeds, plant-validated, NO HIT. Dead.
The 11-pairs count remains a real structural fact (recorded); its essence read does not open.

## D44 — DELIBERATE-PAIR glitch class created + site pairs view (2026-09-06)
Michael: make the pairs a glitch class and show each pair TOGETHER on the site with WHY they
are paired, everywhere pairs are the glitch.
CLASS (pairs.json, canonical): deliberate_pair = two pieces carrying the SAME one-off anomaly
that appears on exactly those two in 512. ELEVEN pairs: 9 ratified (D2) + 2 new (D43b census,
data-verified 2026-09-06): P10 {9,73} both Arweave filenames spell 'gltich' (Glitch
transposed; #73's Type field carries it too) — #128's 'raindow' is a DIFFERENT typo, excluded;
P11 {170,175} both SubTypes spell 'Raibow' (Rainbow minus n). #175 sits in two pairs (P09 'Gan'
suffix + P11 'Raibow') -> 21 distinct pieces, 22 pair-memberships.
Per-pair REASONS recorded (byte-identical / held-frame+palette / day-night / scanline / same
flash / painted numbers (suss) / TRUE-FALSE / Primoridal / Gan / gltich / Raibow).
MATERIALS: ledger deliberate_pair records (partner+reason) on all 21 pieces; dictionary type
deliberate_pair (kind glitch, eye+byte, family name); taxonomy regenerated (107 concepts);
SEL-PAIRS -> 11 pairs with pairs[] + pair_reasons{} (status ratified-11-pairs); prose updated.
SITE: Selections tab renders each pair as TWO animations side by side with the reason (new
pairs flagged); the Collection piece modal shows a 'Deliberate pair' panel with the partner's
animation + reason (both pairs for #175), click-through to the partner. Staged to serve dir.
Word status unchanged: all 1,536 one-per-pair essence elevens dead (D43b).
D44 NOTE (infra): the preview server spawned by launch.json CANNOT follow symlinks into
~/Desktop (macOS permission) — symlinked pgifs/ and gifs/ 404 even though they resolve on
disk. Assets must be COPIED into the scratchpad serve dir (handoff rule confirmed). Fixed by
copying the 21 pair GIFs + all 512 thumbs as real files, and adding a thumbs/ fallback on
every modal/pair <img>. Full-res GIFs for non-pair pieces fall back to their thumbnail.

## D45 — PUBLIC-SITE GAP closed: bitganspuzzlebook.com now carries today's work (2026-09-06)
Michael: "I'm looking at the public. That's always supposed to update." CORRECTION: all of
the 2026-08-31 -> 09-06 'website' updates went ONLY to the local scratchpad preview. The
public site is a separate Cloudflare Pages + Worker + D1 app (~/Desktop/bitganspuzzlebook)
fed by scripts/build_tags.py -> db/tags.sql -> live D1, and scripts/push_findings.py
(records/concepts/tags/runs). Neither had been run since before this work began.
FIXED TODAY: (1) duplicate-concept bug — my new 'deliberate_pair' ledger type was being
auto-wrapped as a twin of the designed concept (7 members); folded the alias into the
designed concept -> ONE 'Deliberate pair' concept, 21 members, 11 pairs. (2) tags.sql
regenerated (214 tags, 5019 assignments) and applied to live D1. (3) push_findings: today's
records (22 deliberate_pair w/ partner+reason, 4 HiddenType misfiles, 11 visible-creature,
3 global-Fibonacci extras, {32,95} burn pair, abnormal-HiddenType selection), the updated
deliberate_pair concept, 23 negative sweep runs (D29-D43b), and Pindar's 2022-01-01 Discord
quote as intel. (4) pages/index.html: the 11 pairs embedded; selecting the 'Deliberate pair'
tag renders every pair as two animations side by side with the reason (new pairs flagged);
each paired piece's modal shows a 'Deliberate pair' panel with the partner + reason.
Deployed via wrangler pages deploy (project bitganspuzzlebook). (5) update_all.sh now ends
with steps 7/8: regenerate+apply live tags, deploy Pages — so 'update the website' means
the PUBLIC site from now on. Findings still require an explicit push_findings.py payload.

## D46 — 2026-09-08 — BIP-39 color-word essences: complete set, swept dead
FACT: the BIP-39 list holds exactly ten plain color words (black, blue, brown, gold, green, olive, orange, pink,
silver, yellow) and every one is an essence exactly once (5 robo, 3 ghost, 1 solstice #262, 1 spooky #196; none in
skull). Seven color-ish essences also appear once each (color, bright, pumpkin, avocado, coffee, rose, cinnamon).
Rainbow is the most-glitched trait value in the collection (5 corruptions: #48 reverse, #58 delete, #66 substitute,
#170/#175 'Raibow'); 'Rainbot' = Rainbow with w->t, the only truncated robo stem, and its cut lands on the BIP word
'rain' = essence of the first Rainbot #134 (robo essences are hand-chosen). Recorded as observation, not a word source.
SWEEP colors11 (plant-validated, 4 workers): 94,106 orderings / 12.0M seeds — ten colors + each color-ish 11th word
(first/last/inline) under gan/mint/alpha/spectrum/drop orders fwd+rev, plus every eleven from the 17 color-ish words in
those orders. Plant seen (w4). NO HIT. Registry +94,106 keys. Essence register stays dead (D36 unchanged).

## D47 — 2026-09-09 — Public site brought current: theories 151-173, principles refreshed, five new tag families
Michael: "update our puzzlebook website with all the theories we've tried since the last update... clearly and
concisely... include any tags we haven't incorporated."
THEORIES: 23 new plain-English cards (#151-#173) on bitganspuzzlebook.com covering D29-D46: HiddenType decode (151),
abnormal-HT eleven (152), four misfiles (153), global number-class (154), bookends (155), passphrase (156), fib-onset
ordering (157), Review remakes/mirrors (158), 32 board (159), untested-methods swarm (160), filename words (161),
no-guess rule (162), creature eleven (163), #300 (164), painted marks (165), PINDAR-CONFIRMED corrupt eleven (166, OPEN),
verbs-on-numbers (167), undo-pointers (168), teach-the-method (169), eleven deliberate pairs (170), slot-order (171, OPEN),
Rainbow/Rainbot (172), colour words (173). #145 updated to point at 151. Each card = picked / tested / happened / status,
with piece animations where a card is about specific pieces.
PRINCIPLES: all 104 (24 selections, 47 registers, 33 orderings) re-pushed with current status, plain prose, Pindar
rationale and members. Live had every register/ordering as 'untested' and 22 stale selections since the first migration;
now register/ordering status derives from methods.json 'tested' (tested/partial/untested/dead).
TAGS (verified data facts, generated by build_tags.py so they persist): hiddentype_class:<meaning> (decoded letter),
numclass_gan:<class> and numclass_mint:<class> (global number class, D31), filename_word:<word> (85 Arweave filename
words, D35), creature:<word> (visible creature ONLY where the word appears in the piece's own name/type/gang/essence or
Michael adjudicated it, D38), coburned (10 same-transaction burns incl. {32,95}). 241 tags / 6,238 assignments.
INFRA: push_findings.py now accepts 'principles' and 'hypotheses' keys (INSERT OR REPLACE by id).

## D48 — 2026-09-09 — Astra briefing published + public data bundle
Michael: brief a friend's GPT-6 Astra with everything tried, how to use the site, where the files are (ours + Pindar's
Arweave sheet), the high-quality multi-step ideas (glitches-teach-the-method), a fact-check/tag-audit mandate, all Pindar
lore incl. off-site, and a section on what Astra can add.
PUBLISHED: bitganspuzzlebook.com/brief/ (designed page; nine parts: puzzle in one page, Astra capabilities, resource map,
verified facts, dead space, the ideas, mandates, rules of engagement, glossary) + /brief/BRIEF.md (paste version).
DATA BUNDLE: bitganspuzzlebook.com/data/ — 61 files / 35 MB with manifest.json: our spreadsheet (CSV+JSON), deck_512,
Pindar's Arweave properties CSV, chain traits + mismatches, DECISIONS, SOLUTION_SPACE, ledger, dictionary, taxonomy,
methods, pb_content, pairs, interpretation matrix, dead_sets.txt (146,474 sets), harness source + bip39, Michael's visual
notes, burn/forge data, token_index, Arweave tx ids, the long-form syntheses and the self-contained HTML explainers.
NOTE: this makes the working files (incl. Michael's notes and the dead-set registry) publicly downloadable; nothing in
them is secret, but Michael can pull any file by deleting it from pages/data/ and redeploying.
ASTRA RESEARCH (sources in the brief): released 2026-09-03; 1.05M context; text+image in; computer/browser use
(OSWorld 2.0 72.6%), hosted shell, code interpreter, web/file search, MCP; effort up to max; >272K tokens billed 2x.
Value for us: whole dataset in one context, bulk frame-level vision over all 512 GIFs, free browsing of bitgans.com /
Arweave / OpenSea / Etherscan / Discord, independent re-derivation of every claim.

## D49 — 2026-09-13 — Tag schema reorganised by PROVENANCE; evidence shown on the grid; creature narrowed
Michael: distinguish validated traits/metadata from chain-only data and chain discrepancies from visual descriptors
you can only see by watching; no "glitch candidate" group (refile everything); every tag a plain, intuitive,
non-confusable label; when filtering by a tag the grid must show the relevant data without opening each piece.
SCHEMA (tag_schema.py, single source of truth; build_tags.py reads it): seven groups by where the fact comes from —
Drop · Published traits · Chain-only & discrepancies (chain-only facts / "Sheet and chain disagree" / name defects) ·
File facts (frame counts & timing / re-saves & lineage / filenames) · Visual descriptors (motion / figure / eyes /
background / marks / colour) · Number rules (number class / hidden-type code / prime rule) · Relations & lore (pairs /
people / story / collector notes). Second axis = verification chip on every tag: data | eye | candidate | note.
RULINGS: (1) "Glitch candidates" and "Observations" retired as groups; all 72 tags refiled. (2) Sheet-vs-chain
disagreement is ONE direction-neutral sub-group (Michael: neither side is canonical); the five verb tags describe the
kind of difference; which side is the odd one out is stated per piece from the rest of the collection, and for the
substitutions (both values real words) it is a judgement from title + art, shown as such. (3) The eleven machine-
labelled "auto:" tags renamed/refiled; two duplicates merged (quantum group; CORRUPTED-type = Abstract). (4) Visible
creature limited to SPECIFIC creatures {whale, spirit, heart, warrior, shark, blob, cat, dog, wolf, rat, sprite, clown,
bird}, anchored in the piece's own name/type/essence or Michael's eye (D38); species labels (skull, ghost, robot,
monster, invader…) excluded → 15 pieces. (5) Spreadsheet/CSV exports carry a second header row naming the group.
EVIDENCE: piece_tags gained an `evidence` column (migration 0002); build_tags writes a per-piece line for every
assignment (sheet value · chain value for disagreements; measured vs standard frame count; filename; partner + reason
for pairs; the recorded description otherwise). The Collection grid shows the active tag's definition and each card's
evidence lines; the piece page groups tags by the seven groups with evidence inline.
NEW LEDGER FACTS (computed from data): wrong_speed on {155,446,467,468,469,512} (all-0 ms where the drop holds the
first frame 100 ms) and #228 (all 50 ms); timing_hold on {146,479,480} (100 ms hold on a frame inside the loop);
double_mint on #390 (mint slots 519 and 583 both 'Frozen ghostGAN (90/144)', verified in chain_raw_by_mintindex).
CORRECTION: the old note "ten pieces run at 0 ms" conflated the skull drop's normal 0 ms timing with the anomaly.
Review artifact: lore_catalog_runs/tag_schema_review.html (build_tag_review.py).

## D50 — 2026-09-13 — Every non-visual tag re-derived from PRIMARY sources; gaps found and fixed
Michael: revalidate every item in every category except the visual ones; nothing missing, nothing tagged wrong.
METHOD: primary_facts.py recomputes chain/file/number facts from Pindar's Arweave sheet, the raw chain traits,
the GIF bytes (frames, delays, md5, XMP ids with UUID-v1 timestamps), token_index and the burn transfers —
never from the ledger. build_tags.py now takes those tags from primary_facts, so they cannot drift again.
verify_d49.py (first pass, 165 checks) and verify_d50.py (second pass) are the audit trail.
FOUND AND FIXED (now tagged, with evidence, and recorded in the ledger):
 - #66 is burnt on chain but the deck said not → burnt now 30 (from burn transfers). Co-burned = same tx {32,95},
   {11,20,49,74} or same block {205-208}; evidence says which.
 - Sheet-vs-chain recomputed on the complete chain pull: 29 pieces differ (the old diff had 20; it was run on a
   pull that returned no attributes for many tokens). NEW chain-side oddities never tagged: #4 'SkullGAN'
   (capital S), #88 GANg 'skulGAN', #97 title suffix cut to 'Slender Glitch', #100 'Primoridal' (same move as #16),
   #124 'skullGANs' plural, #66 stray backtick after the name, #39 GANg cyclopsGAN vs skullGAN, #509 GANg roboGAN
   vs skullGAN, #33/#290/#315 Dimensions/Eyes differ, and the systematic Twin→Twins SubType rename on all five
   sheet-'Twin' pieces (#47, #59, #73, #121, #124). Tags are direction-neutral (D49); evidence names the rarer side.
 - #174 double space missing from the tag (now 7). #383's misspelled trait KEY 'Subtype' tagged.
 - Chain-only facts added: no Essence trait on chain (every skull and spooky piece, 144); Name only on chain
   (#268, #379, #401); no chain record in our data (14 Review pieces = exactly the ones the sheet numbers in
   binary/hex: #457-466, #497-500) — also tagged 'Numbered in another base'.
 - Description text differs from drop-mates: 7 (was 1): #130 '1024 animations', the portrait/tribute pieces
   #147/#228/#246/#264/#282, and the finale #512.
 - Typos split by where they live: name (#16, #100, #123, #124), trait value (#73 Gltich sheet, #88 skulGAN chain,
   #170 Raibow BOTH sides, #175 Raibow sheet), filename (#9, #73 gltich; #128 raindow).
 - Timing re-measured per frame: later-drop norm is EVERY frame 100 ms (skull 0 ms). Wrong speed = 11 (ten all-0 ms:
   #155, #176, #180, #182, #190, #446, #467, #468, #469, #512; #228 all 50 ms). One held frame in an otherwise
   0 ms file: #479 f27, #480 f24, #146 f0. The deck's deduplicated delay column had hidden #176/#180/#182/#190.
 - Essence not a plain word = {#191 err0r, #363 TRUE, #473 FALSE} (case-sensitive), moved to Published traits.
 - Number-class vocabulary unified; mint numbers verified against token_index (keys are piece numbers).
VERIFIED AS RECORDED: drops; every published trait value; essence order (LIS: #21, #57 skull; #259 bless, #268 bird
solstice); forge pairs = the 30 burnt; prime re-save batch (Photoshop 22.3, 27 Aug 2021 = exactly the primes 7..127
minus #13/#89); #300 the only file with an OriginalDocumentID and a real Photoshop document id; hidden-type letters
and the four misfiles; palindrome F set; number classes.
OPEN FOR MICHAEL: (1) SEL-CHAIN-CORRUPT-11 was ratified on the incomplete diff; the complete diff shows chain-side
oddities on #4, #88, #97, #100 (+#39/#509 as judgement calls) beyond the eleven — the selection is left unchanged and
flagged. (2) #142 sits at robo position 13 (prime AND Fibonacci) yet is in the prime-position set of 15; the rule
as written gives 14. (3) #193's HiddenType F at spooky position 0: palindrome or fifth misfile? (4) Re-save sessions
(86) are not a simple save-day rule; timestamps are now decoded for every file so the rule can be re-stated.
NOT RE-DERIVABLE (lore/judgement, left as recorded): name_bip_proper, error names, tributes, promise pieces,
quantum group/capstone, essence_meta, anachronism, negative frames (byte detector not re-run).

## D51 — 2026-09-13 — Corrupt chain renamed and widened; #193 laid out; save-session rule restated; lore validated
Michael: if the corrupt chain is more than eleven, rename it and add the others; more information on #193; restate the
save-session rule from the data; validate the lore tags and say what cannot be validated.
CORRUPT CHAIN → SEL-SHEET-CHAIN-CORRUPT "Sheet-vs-chain corruptions (26)": every piece where the sheet and the chain
give different values (complete chain pull, D50), excluding the systematic Twin→Twins rename; 14 Review pieces have no
chain record. Members [4,16,17,33,39,44,48,58,62,66,73,81,88,97,100,123,124,128,173,175,281,290,309,315,383,509].
SEL-CHAIN-CORRUPT-11 kept as superseded. Site: union tag "Sheet and chain disagree on a value (all kinds)" + the kind tags.
#193 FACTS (no ruling): the other 15 spooky letters follow the letter scheme exactly on their octal position. #193 is
position 0 (0o0). Robo position 0 (#129 RoboboR) is also F, and every robo F sits on a binary-palindrome position AND a
palindrome name; #193's name is not a palindrome, and the other spooky binary-palindrome positions (#199 0110, #202
1001, #208 1111) are not F. 0 is Fibonacci, so the scheme would give A. Journal 002 defines a–e only and never mentions
F. Tag renamed "Hidden-type letter F" with this evidence; not counted as a misfile.
SAVE SESSIONS restated from data (save_sessions.json): 39 sessions at a 3-hour gap. Two objective tags replace the old
86: "Exported with a point-release Photoshop build" (77: 22.3 prime batch 26; 22.5 five robos; 23.0 solstice 18 incl.
#300 alone on the solstice; 23.1 ghost automated batch 16 + final review session 12) and "Saved alone or as a pair,
outside any batch" (10: #1, #121, #152, #228, #300, #448, #467, #468, #469, #504). The old 86 = these two sets minus
overlap plus a few judgement members; the old rule was never written down as a rule.
LORE VALIDATED: promise pieces #32/#119 confirmed verbatim in journal page 002 (chip → data). Quantum group: 19 by
vocabulary in name/traits (qubit, Entangled, Quantum, Spin); #133 and #501–#504 by the collector's eye only. Named-piece
seed-word tag now data-derived (18; adds #209 Solar, #300 Lunar). Error name #404 'Not Found' at number 404, essence
'crash': confirmed. Day/night #209/#300 confirmed. #512 capstone confirmed. Tributes: #228/#246/#264/#282 confirmed by
the on-chain description; #445/#446/#447/#448/#482 by the name alone (external knowledge; #482 is a joke name); #210/
#211 (solvers), #1/#2/#3 and #130 NOT validated by any data — evidence lines say so. 'Anachronism' (#465/#466) retired:
they are January-2022 Review pieces with spooky-style names; the facts are tagged as odd numbering and wrong base.
Essence-meta (38) is a curated vocabulary and stays a note.

## D52 — 2026-09-13 — #193 ruled: F is a robo-only class, so #193 is the FIFTH hidden-type misfile
Michael: "spookyGANs don't have palindromes. That was only for the Robo Drop." Consequence: the palindrome class F is
defined only in the robo drop (eight robots, each on a binary-palindrome position with a palindrome name). #193 (spooky
position 0, letter F, scheme gives A) is therefore a misfile, joining #32, #119, #161, #187 → SEL-HIDDENTYPE-MISFILE =
5. Tags: "Hidden-type letter is wrong on purpose" (5), "Hidden-type F: robo palindrome" (8). Brief, taxonomy, prose,
theory card 153 updated.

## D53 — 2026-09-13 — "No chain record" was our mistake: all 512 pieces have chain traits
Michael asked whether the 14 missing chain records were a data gap on our side. They were: chain_raw_by_mintindex.json
holds them at mint slots 597-608 and 642-646 with full traits, but the labelling step keyed records by the '(n/512)'
counter in the name and left the binary/hex-numbered Review pieces (#457-466, #497-500) as 'gap'. primary_facts.py now
maps chain records by mint slot via token_index.json (fallback: the label). Result: 512/512 chain records; the fourteen
match the sheet exactly on every field (no new discrepancies; sheet-vs-chain stays 26). Tag 'No chain record in our data'
retired; 'Numbered in another base' (14) stays as the naming fact. Brief, selection text and theory 174 corrected.

## D54 — 2026-09-13 — File facts fully re-derived; number-class descriptions explain Pindar's precedence
FILE FACTS: all eleven file tags now come from the files themselves. Newly re-derived this pass: (1) negative frames —
a calibrated scan of every frame of all 512 GIFs (frame is negative when its colour inverse is far closer to the previous
frame than the frame itself; verified on #231/#479 positive, #5 clean) finds exactly {231,256,274,479}: the trio share
an identical 11-frame list (37,38,43,44,47,48,50-54), #479 has 13. (2) Filename words — recomputed from the archive
filenames by a stated rule (split on separators and digits; keep seed-list words that are not a trait value anywhere in
the collection and not in the piece's own metadata); multi-valued per piece (86 pieces: seasons 29/26/26/20, update 9,
ancient 7, smooth 3, elder 1). 'whale'/'spirit' dropped (they are the piece's own GANg). SOURCE CAVEAT recorded on the
tag: the filenames come from the collector's downloaded archive (339 files); 64 are confirmed verbatim on Pindar's
ArDrive listing (arfs_names.json); 25 pieces have no filename on record (#57, most robos 134-192 range, etc.).
(3) Filename typos {9,73,128} from the same names. Already re-derived in D50: frame count, wrong speed, held frame,
byte identity, point-release build, solo session, prime batch, PSD lineage.
NUMBER CLASSES (Michael: "shouldn't each be half the collection?"): No — Pindar's journal 002 files each number ONCE in
a fixed order (Fibonacci, remaining primes, squares, remaining odd, remaining even), so 'even (remaining)' = 243 not
256 (2, 8, 34, 144 are Fibonacci; 4, 16, 36... are squares). Relabelled to his 'remaining' wording; every number-class
description, the sidebar group text, the taxonomy definition and the brief now explain the precedence and why it matters
(B = the class that glitches, A = the protected set).

## D55 — 2026-09-13 — Everything confirmed against Arweave itself
Michael: "go out on Arweave and confirm everything." Done from Pindar's ArDrive (drive cbbca83e-8cf4-44c0-b193-f886f1352cb6),
enumerated with Arweave GraphQL (241 file entities in 4 folders: bitgans_on_arweave, bitgans_ghostsinthemachine,
bitgans_act1review, noungans) and downloaded through gateways that serve large data in ranged chunks (arweave.fllstck.dev,
permagate.io; arweave.net times out on the archives and ar-io.dev wants payment).
RESULTS: (1) The properties sheet on Arweave (bitgans_act1.csv, tx UwiYOGcO…) is byte-identical to our bitgan_properties.csv
(md5 fb733332…). (2) All 512 GIFs are byte-identical to our local copies: 128 skulls from 01_skullgans.zip, 64 robos from
02_robogans.zip, 16 spookies from 03_specialgans_set1.zip, 92 solstice from 04_solgans.zip, 144 ghosts (zip and loose files
agree), 68 review (zip and loose files agree). The only Arweave GIFs with no local match are the two noun-test files
(#0's blue and red studies), outside the 512. (3) Filenames: all 339 collector-folder names match Pindar's archive names
exactly; the archives supply names for the other 173 (robos '05_000101.gif' style, spookies '0o0.gif', ghosts '423_ghostgan',
review '451_reprise01' etc.). The deliberate-pair {14,75} is a single byte sequence stored under two names on Arweave
(014_rainbow_skull.gif and 075_flaming_glitch.gif). (4) Arweave lastModifiedDate of the archives: skull/robo/spooky/
solstice zips 1 Jan 2022 (the day of Pindar's 'intentional errors' Discord message and journal pages 014/015), ghost and
review zips 31 Jan 2022, the sheet 31 Jan 2022, podGAN montage 15 Feb 2022.
DATA: lore_catalog_runs/ardrive_entities.json, ardrive_meta.json, ar_hash_243.json, ar_zips.json, arweave_filenames.json;
the zips are kept in lore_catalog_runs/arweave_zips/ (~3.4 GB, not in the bundle). primary_facts.FILENAME now comes from
Arweave; tag texts updated; the filename-word and filename-typo sets are unchanged (robo/ghost/review names carry no words).

## D56 — 2026-09-13 — What changed on 31 January 2022 (and the timeline around the clue)
Michael: identify what changed on 31 Jan 2022; differences between that file and the chain may be the place to look.
WHAT 31 JAN WAS: the publication of the complete Act 1 archive. ArDrive: the properties sheet saved 19:42 UTC and
uploaded 19:51; 05_ghostgans.zip and 06_act1review.zip uploaded the same day; journal page 015 updated with every
archive link and archived on Arweave at 20:12 (page:timestamp 1643659557). The four earlier drop archives went up on
1 Jan 2022 (the day of the 'intentional errors' Discord reply). No earlier revision of the sheet exists on ArDrive,
so it cannot be diffed against a prior version.
WHAT DID NOT CHANGE: no GIF in the 31 Jan archives was edited after its Photoshop export (zip entry mtimes equal the
XMP save times to the minute, UTC-6, for all 212 ghost/review files; only #467-469 were re-touched, on 1 Jan 2022 with
the earlier drops). The archived GIFs are byte-identical to ours (D55).
THE SHEET ITSELF (the 31 Jan artifact): 513 rows, UTF-8 BOM, CRLF, no non-ASCII characters. Structural artifact: the
Name cell of every unnamed ghost and review row holds a single space (191 cells), while earlier drops are blank — the
ghost/review block was pasted from a different table. Double spaces in 7 titles (6 spookies + Evil Olive) are in the
sheet as well as on chain. TRUE/FALSE are the only non-lowercase essences. Level = 1 everywhere except #0 'infinite'.
SHEET vs CHAIN, placed in time (Blockscout transfer histories for all 512; first transfer out of Pindar's wallet =
effective mint): every skull-drop disagreement's chain record predates the sheet by five months (first transfers
28-31 Aug 2021), and Krum saw #58's missing SubType on 1 Jan 2022 — so the chain-side oddities (Primoridal ×2, wobniaR,
SkullGAN, skulGAN, cut suffixes, the backtick) were on chain before the sheet was written, and the sheet 'cleans' them;
the sheet-side oddities (Gltich #73, Raibow #170/#175, Cronenber #123, RainbowShimmer #128, Space-clops #383, the Twins
rename, 'Ancient' #44, skullGAN for #39/#509, and the three numeric differences) are what the 31 Jan sheet put in.
Pindar's own journal 003 calls #39 'the cyclopsGAN' → the sheet is the odd side for #39.
RELEASE TIMELINE (new): ghost drop first transfers 1-3 Feb 2022 — between the sheet and the clue; #446/#448 (1 Feb),
#447 (4 Feb); the prize piece #445 moved into the mystery wallet 0x18f8…478d on 5 Feb 2022 11:12 UTC (clue day); #453
on 14 Aug 2022; the rest of the Review drop (incl. all 14 odd-numbered pieces and #512) first transferred 24-28 Aug
2022, bracketing Pindar's 25 Aug 'looking for glitches all wrong' tweet. Per drop: skull 28 Aug-7 Sep 2021, robo
28 Sep-6 Oct 2021, spooky 16-29 Oct 2021, solstice 21 Dec 2021-4 Jan 2022. Recorded as the chain-only value tag
"First left Pindar's wallet: <period>" with the exact time as evidence. Data: lore_catalog_runs/transfers.json,
first_transfers.json, zip_mtimes.json, journal/*.txt (raw pages), arweave_archived_page015.html.
INTEL added to the site: 'These are not Hidden Typos, but part of the puzzle that will only be solvable after some more
drops' (hidden-types page); 'Only 1 clue will ever be given…' (5 Feb post); journal 004 on the prime glitch's Fibonacci
timing (0.5/0.3/0.2/0.1/0.1 s); the 31 Jan timeline; journal 003 on #39.

## D57 — 2026-09-13 — Which side is wrong, decided by three witnesses; the two candidate lists
Michael: Pindar deliberately fixed errors in the sheet that persist on chain, and the sheet introduced others — are
those the ones we were looking at, and aren't both good candidate lists?
METHOD: for every sheet-vs-chain disagreement, three witnesses decide which side is the odd one: (1) usage — is the
value used anywhere else in the collection; (2) the Arweave FILENAME, written by Pindar at export (Aug 2021–Jan 2022,
i.e. between the chain record and the sheet) — when it carries one side's word it is a tie-breaker; (3) Pindar's
journal (003 names #39 'the cyclopsGAN'). Encoded in primary_facts.witness(); shown per piece as evidence.
RESULT (see the tag set 'Sheet corrects a chain error' / 'Sheet introduces the error' / 'Undecidable'):
 - CHAIN WRONG, SHEET CORRECTS: the chain record predates the sheet by months and the sheet holds the value the rest of
   the collection (and the filename) uses. This is the set Michael calls 'the errors Pindar fixed in the sheet'.
 - SHEET WRONG, SHEET INTRODUCES: the sheet holds the odd value against chain + filename (Cronenber #123, RainbowShimmer
   #128, Raibow #175, skullGAN for cyclops #39, Ghost for #17 whose filename says glitch). #73 'Gltich' is in the sheet
   AND the filename (Aug 2021), so it predates the sheet; #170 'Raibow' is on both sides.
 - UNDECIDABLE: both values real, filename silent: #173, #281, #509 and the numeric/case differences #33, #290, #315, #383.
 - CONVENTION: Twin→Twins (#47, #59, #121; also on #73, #124).
Overlap with the old eleven {16,17,44,48,58,62,66,81,173,281,309}: 8 of the chain-wrong set were in it; it also held
#17 (filename now says the sheet is odd), #173 and #281 (undecidable); it lacked #4, #88, #97, #100, #124.
SWEEP (local, plant-validated, authorized standing): every eleven inside the chain-wrong set, and every eleven inside
chain-wrong ∪ sheet-wrong, essence register, mint/gan/reversed orders (sweeps/witness11). Result recorded when done.

## D58 — 2026-09-14 — Pindar's filename layer is his private construction code (verified facts)
From the Arweave archives' filenames (D55): (1) skull 's_' prefix marks the squares that take letter c: #4, #9, #16, #25,
#36, #49, #64, #81, #100 — every square except #1 (Fibonacci takes precedence, letter a) and #121 (11², letter c, file
'121_twin_smoke.gif', the one unmarked square). (2) 'smooth' appears only on #5, #13, #89 — the Fibonacci primes above 3,
the primes protected from the glitch rule. (3) 'Primordial' is written as 'ancient' in 8 skull filenames and as 'elder'
once — on #16, one of the two 'Primoridal' chain errors. Both are seed words; Primordial is not. (4) Solstice filenames
carry the solved puzzle's mechanism: '1221' (the solstice date), a season code 04–10/44 that tracks the chain Date trait
by month, and a running number. (5) Ghost filenames are bare ('N_ghostgan'). (6) Review filenames group the drop:
reprise00…13 with NO reprise07, plus repriseaa, reprisebs, reprisehighdef, repriseline(s), reprisetest, skullall and the
four tribute names. The 14 binary/hex-numbered pieces are exactly reprise04/05/06/08 + repriseaa — the reprises of the
robo, crypto and spooky pieces, numbered the way their originals were. Recorded as facts; interpretation in the reading
given to Michael the same day.

## D59 — 2026-09-14 — Michael: the substitutions echo visual elements the data cannot see
Ruling: every sheet-vs-chain SUBSTITUTION (two different real words for one trait) echoes a visual element of the piece —
the substituted word describes what the art shows; the other side keeps the formula label. Applies to #17 (Ghost→Glitch),
#39 (skullGAN→cyclopsGAN), #44 (Ancient→Primordial), #66 (Rainbow→Flaming), #173 (Ghost→Smoke), #281 (glitchGAN→bitGAN),
#509 (skullGAN→roboGAN). They are therefore NOT errors on either side and leave the 'Sheet corrects a chain error' set,
which becomes the letter-level errors only: {4,16,48,58,62,73,81,88,97,100,124,309} = 12 (#58 displacement and #62 swap
included). 'Sheet introduces the error' = {123,128,175}. Undecided = the numeric/case differences {33,290,315,383}.
New tag 'Substituted word describes what the art shows' (eye, 7). READING: the substitution category teaches that the
picture is the authority over the metadata — a label that disagrees with the field is telling you what the piece IS.
Five of the seven visible truths are seed words or cut to one: robot (#509), bit (#281), smoke (#173), flame/fire (#66),
ancient (#44 via the filename); glitch (#17) and cyclops (#39) are not.
D59 addendum: #66 counts in BOTH sets (its SubType Rainbow→Flaming echoes the art; its title backtick is a chain error),
so 'Sheet corrects a chain error' = 13 and 'Substituted word describes what the art shows' = 7. New VISUAL tag at
Michael's request: 'Name describes a visual element' (Visual › Figure, eye) — a word in the name or traits that names
something visible that the data cannot know; wider than 'Visible creature'. Seeded with the seven substitution pieces;
Michael will adjudicate all 512.
D57 RESULT (2026-09-14): sweeps/witness11 complete — 151,164 orderings / 19.35M seeds (every eleven inside the 14
chain-error pieces, and every eleven inside the 19 = chain-error ∪ sheet-error; essence register; mint, gan, both
reversed; 128 twelfth words; 33 paths). Plant seen (w1). NO HIT. Registry +151,164. The essence read on the artist-
confirmed selection is closed, as the Solstice precedent predicted; the word channel for these pieces is still open.

## D60 — 2026-09-14 — Stacking the discrepancy categories (Michael's question)
Michael: Pindar might stack glitch types; can the other discrepancy categories fill the six words the substitutions
leave, as one block or two, and are the discrepancies spread across drops?
CORRECTION: 'bit' and 'five' are not on the wordlist, so the substitution block yields FOUR words (robot #509, smoke
#173, flame/fire #66, ancient #44), not five.
DISTRIBUTION by drop of the 30 discrepancy pieces: skull 21, robo 3 (#170, #173, #175), solstice 2 (#281, #290),
ghost 3 (#309, #315, #383), review 1 (#509), spooky 0 — the spooky drop's oddities are name defects only (double
spaces ×6, 'Gan' #205, '8bit' #194, F on #193). So a one-per-drop stack cannot be built from discrepancies alone.
WORDS the discrepancies point at, one stated step each (table in the session): substitution → the visible truth
(robot, smoke, flame, ancient); transposed word → its filename translation (elder #16, ancient #100, twin #73);
reversed/deleted/space-dropped Rainbow → cut to 'rain' (#48, #58, #128, #170, #175); skullGAN with a letter added,
dropped or recased → 'skull' (#4, #62, #88, #124); suffix cut → the residue (ghost #81, slender #97, frost #309);
capital changed → 'space' (#383); Twin/Twins → 'twin' (#47, #59, #121). Glitch (#17), cyclops (#39), cronenberg (#123)
and the number changes (#33, #290, #315) yield no seed word. Distinct pool = 12 words: robot smoke flame ancient elder
twin rain skull ghost slender frost space.
SWEEP sweeps/stack12: every 11 of the 12 words, flame or fire, every choice of piece for the repeated words (which
sets the mint order), mint and piece-number order forward and reversed: 2,656 orderings / 340k seeds, plant-validated.
D60 RESULT: sweeps/stack12 HALTED by Michael after 4 of 27 chunks (no hit in what ran; not resumed). STANDING RULE
(2026-09-14): no sweep without a stated three-part hypothesis — selection, word derivation, ordering — agreed first.

## D61 — 2026-09-14 — The moves as instructions, both directions; cipher-history parallels; four statable hypotheses
Michael: repeats are valid; the chain error may teach how to find/transform words; both sheet→chain and chain→sheet may
be valid lessons; think creatively but simply, as Pindar might; look at cryptographic history.
WORDLIST TEST OF THE MOVES (which moves carry a seed word to a seed word): reverse 5 pairs (edit/tide, evil/live,
liar/rail, loop/pool, net/ten); adjacent swap 6 pairs (act/cat, add/dad, alter/later, door/odor, sign/sing, there/three);
drop one letter 198 pairs (brain/rain, cloud/loud, crash/cash, exist/exit, army/arm…). The naga names DEMONSTRATE the
reversal move on words: Evil Olive → evil + olive (both seed words), Flow Wolf → wolf, Dog God → dog, Taco Cat → cat.
CIPHER HISTORY: Kryptos (Sanborn's deliberate misspellings IQLUSION/UNDERGRUUND/DESPARATLY, now argued to encode the
K4 key); null ciphers (errors mark which positions count; 18th-c. log-table errors); Bacon's bilateral (case/typeface
as binary — cf. robo binary positions and #4's capital); Beale/Ottendorf book ciphers (numbers index a public text —
the BIP-39 list is the book).
FOUR COMPLETE HYPOTHESES (none run): (1) UNDO AND CUT — selection = the 11 malformed chain labels the sheet corrects
(set B {4,16,48,58,62,81,88,97,100,124,309} or A {…66 instead of 309}); word = undo the error, restored word cut to its
on-list stem, repeats allowed (skull elder rain rain skull ghost|silver skull slender ancient skull ghost|frost); order =
mint. (2) NULL CIPHER — same selection; the error only marks the piece; word from one unpublished column (filename word,
hidden-type class name); mint. (3) APPLY THE MOVE — same selection; apply each piece's own move to its restored word
until it lands on the list; mint (fails on swaps unless the base word differs). (4) TWO DIRECTIONS — sheet-corrected
errors read restored, sheet-introduced errors read corrupted; both sets; mint. Recommendation: (1) first, B, mint —
a few dozen phrases. Awaiting Michael's pick per the standing rule.

## D62 — 2026-09-14 — The D61 hypotheses run (inside their stated rules only)
Michael: "Run the hypotheses." Each was encoded exactly as stated; a hypothesis that cannot fill eleven slots under its
own rule was reported infeasible, not forced.
RUN (sweeps/hyp61, 1,008 phrases / 129,024 seeds, plant seen by w2): H1 UNDO-AND-CUT on selections A and B — restored
word cut to its on-list stem, repeats allowed; free choices only where a cut suffix reads as the restored token or the
residue, and elder|ancient for Primordial; mint and reverse-mint (240 phrases). H2 NULL-CIPHER with the FILENAME word
as the unpublished column, selections A and B, mint and reverse (768 phrases). RESULT: NO HIT.
INFEASIBLE AS STATED (not run): H2 with the hidden-type class name (only 'square' is a seed word; 7 of 11 pieces have
none). H3 apply-the-move (reverse / adjacent swap / drop a letter applied to each piece's restored trait word lands on
the list for 0 of 11; applied to the essence, 1 of 11: army→arm). H4 two-directions (of the sheet-introduced spellings
only RainbowShimmer cuts to a seed word; Cronenber and Raibow yield none).
STATE: selection A/B + mint order stand; the essence, undo-and-cut and filename registers are now all closed on them.
The word channel for the artist-confirmed errors is still not identified.

## D63 — 2026-09-14 — Site, brief and spreadsheet brought current with D53–D62
Theory cards 175–181 (Arweave confirmation; 31 Jan 2022; three witnesses; substitutions echo the art; the two candidate
elevens and the registers closed on them; the filename layer; the moves as instructions + cipher history). Runs: witness11,
hyp61, and the halted stack12 all on the Runs tab. Selections: SEL-CHAIN-ERROR-A and -B added as candidate exact-elevens
with registers closed; SEL-SHEET-CHAIN-CORRUPT text now states the four witness piles. Tags: filename-layer facts added
under File facts › Filenames ('s_' square mark, the unmarked square, 'smooth', Primordial written as ancient/elder,
Review filename group); the disagreement tags' descriptions rewritten to name the pieces and the witness rule.
Spreadsheet (build_sheet.py + bundle CSV): 15 new columns — Arweave filename, filename words, filename mark, review
group, sheet-vs-chain difference and verdict, chain-error eleven (A/B), first transfer and period, Photoshop save/build/
session, negative frames, decoded HiddenType. Brief: Part 4 (witnesses, filename layer), Part 5 (tests on the elevens),
Part 6 (6i the label bends toward the picture; 6j the moves as instructions).

## D64 — 2026-09-14 — Site tabs audited and brought current; testing rule published
Definitions tab: concept definitions rewritten where stale (resave_sessions → point-release/solo sessions from decoded
XMP; hiddentype → five misfiles incl. #193, F robo-only, precedence order; chain_mismatch → 26 pieces and the four
witness piles; held_frame/wrong_speed/negative_frames/primes_missing/psd_lineage → D50–D54 measured facts; name_typo
split by layer; double_mint and description_anomaly with verified members). Extraction tab: tested notes updated on
S2-W1, S2-W5 (now the leading open register: what the corrected label names visually), S2-W16, EC24, EC28, EC38.
Ordering tab: S3-O13 (39 sessions), OC28 (first transfers known). Hypotheses tab: 142 superseded → theory 177/179;
166 and 174 closed as history (tested); 171 pointed at A/B; 9 and 4 updated with the decoded code and the exact sheet
errors. Brief: Part 8 rule 1 'How a test must be stated before it runs' (selection / word derivation / ordering, each in
a sentence Pindar could have written; enumerate inside, never jam); Part 7 asks the solver to state the three rules;
data bundle index carries the same paragraph. All 104 principles re-pushed.

## D65 — 2026-09-14 — Hypothesis rules lead every brief; the bookend shape is a standing option
Michael: lead the briefs with the rules around hypothesis creation and creativity, and confirm that hypotheses include
the shape 'nine or ten glitch pieces with the Pandimensional skullGAN (#0) and the Quantum glitchGAN (#512) as bookends'.
RULES NOW STATED FIRST in the audit brief (section 0) and the Astra brief (intro): (1) no brute force without a stated
selection + word-derivation + ordering rule, each in a sentence Pindar could have said; enumerate inside, never jam;
motivation not count; repeats allowed. (2) The phrase may be 9 or 10 glitches with #0 (universe / Dimensions infinite)
and #512 (final / Dimension 11) as bookends, or 10 with one bookend; a hypothesis must say which shape it assumes;
Solstice precedent ('begins with sunrise… ends with sunset'); D30's bookend sweeps closed only the essence read.
(3) Creativity in Pindar's register: finds are lessons as much as containers; ask what an oddity teaches before what it
contains; vanilla field reads are exhausted. (4) Check us, do not trust us. SEL-ANCHORS renamed 'Bookends: #0 universe
and #512 final' with members {0, 512, 357} and the shape rule in its text. Memory rule updated to include the bookends.

## D66 — 2026-09-14 — #357 retired as an anchor
Michael: "Kill that as an anchor. It's an interesting observation to keep but that is all." #357 (Shy skullGAN, essence
'seed') leaves SEL-ANCHORS, which is now exactly the two pieces that stand outside the numbered run by their traits:
#0 (universe, Dimensions infinite) and #512 (final, Dimension 11). The D2–D4 idea 'seed or final as the eleventh slot'
is history only. #357 keeps its tags: label contradicts art (does not hide), colour off the drop's rainbow gradient,
near-miss invader, essence 'seed'.

## D67 — 2026-09-16 — the audit dispositions, and the January properties table
Michael marked all 47 findings of the Act 1 data audit. 43 accepted, 2 rejected (claims 1 and 3), 2 deferred
(claim 20 "verify visually", n1 "recheck"). Executing them produced one finding larger than the audit itself.

**#251 is ours, not Arweave's.** Rejected as "probably an Arweave issue"; it is not. The file is on Arweave
(8,077,175 bytes in 04_solgans.zip) and the identical bytes are on OpenSea's mirror. Our worker returns
`{"error":"not found"}` on every try while all four neighbours serve. One file is missing from R2. Needs an
upload, not a re-derivation.

**The January properties table (from n7).** #272's on-chain description points at a different Arweave
transaction from every other piece: the **1 January 2022** capture of journal page 015, not the 31 January one.
That capture carries an inline 300-row properties table with four columns that exist nowhere else — Decimal,
Hidden Type, Strokes and **bip-0039**. On every shared column it agrees with the published sheet exactly, so it
is not an earlier draft; it is the same data with its working columns still attached. #272 left Pindar's wallet
on 4 January, three days after the capture, which is why it alone carries the older link. Full write-up in
FINDINGS-2026-09-16.md; data in page015_jan1/ and page015_jan1/bip39_index.json.

What the extra columns settle: (1) the two journal-002 questions — Pindar's own sheet gives #32 hidden type `e`
and #119 `d`, the correct classes, so both are chain-side errors, while #161, #187 and #193 are identical in both
sources and were carried forward deliberately; that splits the five misfiles 2/3 on evidence, answering Michael's
claim-18 question. (2) #259 and #268 are a transposed pair, not two pieces out of sequence — the bip-0039 column
is strictly ascending through them and only the words swapped. (3) #191's `err0r` decodes to index 615, `error`.
(4) The essences are an injective map into BIP-39 (no index used twice), and indices 1–224 form one solid block:
skulls take 1–128 in piece order, solstice takes 129–224, with six displacements and exactly one unused index,
21 = `action`. Spookies hold a clean block 800–815; robo, ghost and review do not form runs. That answers
claim-16: the drops do not all continue one logic.

**Applied.** `chain:description_anomaly` rebuilt: the old rule asked whether a description was *unique* in its
drop and compared only a 120-character head, so it could not see a defect shared by two pieces or one in the
closing line. It now compares the whole description against the drop's majority, with Arweave links normalised
out. 7 members → 15, adding #272, #301–#306 and #400. Full descriptions now stored in chain_descriptions.json
(the OpenSea tokenURI endpoint — Blockscout's cache is incomplete, 111 of 512 tokens return no traits at all).
Colour-word category widened on Michael's ruling and now catches rose (#446) as well as bronze (#493); the audit
had said bronze only, which was wrong. naga_palindrome and fib_full_reverse descriptions corrected. 27 anomalies
appended to the ledger across 26 pieces.

**Not applied.** Four tag descriptions (entangled, name_error_names, essence_color_word, description_anomaly)
could not be written: the permission classifier blocked further edits to the shared work directory mid-run. The
exact edits are staged in `_backup_2026-09-16/PENDING-tag_schema-edits.py`. Nothing was pushed to D1 or deployed.
Backups of every file touched are in `_backup_2026-09-16/`.

## D68 — 2026-09-17 — security audit before opening the site to the community
Michael asked whether opening the brief, data and API to other people's LLMs would raise the
Cloudflare bill, then for a security audit. Bill: no — 3.3 MB database, ~172k rows/day against a
5M/day free allowance, no bandwidth charges on R2/Workers/Pages. Audit of the whole worker
(worker/src/index.js) and the public bundle found:

1. **Writes trusted a header's presence, not the identity.** `isMichaelViaAccess` only checked
   that `Cf-Access-Authenticated-User-Email` existed. Cloudflare Access does sit in front of
   admin.bitganspuzzlebook.com (verified: even a forged-header POST is bounced to the login), so
   this was safe in practice, but only for as long as that Access rule stays exactly as it is.
   Fixed: the worker now verifies the Access JWT's RS256 signature against the team's published
   keys, checks the audience tag, the expiry, and that the email is the one allowed address
   (wrangler.toml vars ACCESS_TEAM_DOMAIN / ACCESS_AUD / ADMIN_EMAIL). Fails closed.
2. **Every public read hit the database.** No caching on /api/*. Fixed: public GET /api/*
   responses are served from Cloudflare's edge cache for five minutes (caches.default); the
   admin host is never cached so the editor sees its own edits. Verified: second request shows
   cf-cache-status HIT. A runaway agent now costs one database read per URL per five minutes.
3. **Ingest token compared with ===.** Replaced with a constant-time compare.
4. **500 responses returned the raw error message.** Now a generic message; detail goes to logs.
5. **A decoy 12-word mnemonic was in the public bundle** (runs_2026-09-16/plant.json, the seed
   planted to prove a sweep can detect a hit; its address holds nothing). Moved out of pages/
   into _backup_2026-09-16/. Publishing any mnemonic invites confusion.
6. Checked and fine: SQL is fully parameterised; CORS is `*` without credentials, so a hostile
   page cannot ride Michael's Access cookie; hidden records are filtered on every read path;
   no tokens, keys or wrangler config in the bundle; the prize and burn wallet addresses in the
   brief are public by design.

Not done here (dashboard, Michael's): a WAF rate-limit rule on api.bitganspuzzlebook.com
(e.g. 100 requests/minute per IP) as a belt to the cache's braces; and the zone's Browser Cache
TTL is set to 4 hours, which overrides the 5-minute header on the way to browsers — set it to
"Respect existing headers" if people complain of stale reads after an edit. The README's step 5
still describes Access on `bitganspuzzlebook.com/admin*`; the real gate is on the admin
subdomain. Header now carries "Bring your own LLM" links to /brief/, /data/ and the API.

## D69 — 2026-09-17 — the coverage grid, four-word selection statuses, frontier-first axis pages
Michael asked whether the Extraction / Ordering / Hypotheses pages served creative work and
whether they needed a human/LLM split. Ruling: no split; the missing thing for both audiences
was the same — nowhere showed which (selection × extraction × ordering) combinations had been
tried. Built:
- **Coverage grid** on the Hypotheses tab (and `coverage.json` in the bundle): one row per
  selection, showing the extraction and ordering ideas swept with it, coloured by result; grey
  rows have never been swept. Client-rendered from the live API, so it stays current.
- **Runs back-filled.** All 44 sweep runs now carry their recipe. `selection_id` has a foreign
  key to `principles`, so it holds one valid id (31 runs; 13 used ad-hoc selections that never
  had an id — those are named in the recipe line). The full three-part recipe is the first line
  of each run's notes, `[recipe] selection: … | extraction: … | ordering: …`. The back-fill map
  is `runs_2026-09-16/run_backfill_2026-09-17.json`. It is read from labels and notes; runs 15–37
  carried only "registered in theories/_registry.json", so the grid is a floor, not a census.
- **Selection statuses normalised** from 20 free-text values to four words — ratified (15),
  candidate (7), dead (4), superseded (1) — with the originals kept in
  `_backup_2026-09-16/selection_status_history.json`. Added SEL-SCHEME-EXCEPTIONS (the eleven
  from the January table) as a candidate selection.
- **Axis pages reordered:** untested and partial ideas lead each group; tested and dead fold
  below. 14 of 28 selections have never been swept at all.

## D70 — 2026-09-17 — nothing is closed; the recipe builder; the Data tab re-tiered
Michael: "I don't want to say that for sure anything we tried is dead… all options should be
open here for others to try. Especially since as we do more data hygiene there may be mistakes
in our past runs." Ruling: every 'dead', 'closed' and 'ruled out' in this bundle is a note about
one recipe on one day, never a verdict on a piece, a word rule or an ordering. REGISTRY_POLICY
(26 Aug) already said a registry hit is a hint, not a skip; D70 applies that to the whole site.

**Built:** a "Build a recipe" tab — pick one or more selections (28, plus your own piece list
and the #0/#512 bookends), word rules (47) and orderings (33); every combination is laid out
with its words where the site's data can compute them (essence, Pindar's index column [new rule
S2-W24], piece/mint number → index, title/name word, SubType/Type word, filename word,
Eyes decode; the rest say "arrange by hand"). Nothing is disabled or greyed; a past sweep of the
same triple shows as a dated note with the words "a note, not a verdict". Copy-recipe and a
check against the no-hit log are one click; running remains a separate, stated step.

**Data tab:** re-tiered into Pindar's sources / recomputed facts / our reading / hypothesis work /
explainers / code, regenerated from the manifest by scripts/build_data_index.py (it was a
hand-made page frozen at 65 files). READ-ME-FIRST.md states the rule and lists every statement
in older files that later data overturned. glitch_dictionary.json extended with 45 ledger types
it lacked and two definitions corrected (colour words; out-of-sequence). Stale manifest
descriptions rewritten (methods.json and chain_mismatches.json marked as superseded snapshots;
deck/sheet/spreadsheet dated). curated_elevens.md and hiddentype_primer.html carry dated notes
rather than rewrites — the collector's prose is left as written.
