# Audit brief: double-check the bitGAN Act 1 puzzle data after the September 2026 rebuild

## 0. Read this first: how we think, and how we test

**No brute force without a theory.** Nothing is run against the wallet until three rules are written down in plain English, each one Pindar could have stated in a sentence:

1. **Selection.** Which pieces are the "glitches", and why exactly those. A set earns attention by its motivation, never by landing on a convenient count. In a 512-piece collection about 73 trait combinations produce exactly eleven by chance.
2. **Word derivation.** How each selected piece becomes one seed word, by one rule applied the same way to every piece: a field value, a mark visible in the art, or a stated transformation. Repeats are allowed. A word that has to be guessed from outside knowledge is out.
3. **Ordering.** How the words line up. Mint order is the default because both of Pindar's solved puzzles used it; depart from it only under a stated principle.

Enumerating the free choices inside an agreed hypothesis is fine (which of two pieces supplies a repeated word, forward or reverse, the 128 checksum-legal twelfth words). Assembling eleven seed words from mixed rules and trying orders is not, and cheap compute is not a justification. A negative from an unmotivated sweep teaches nothing; a hit from one would be luck, not a solve.

**The phrase may be shorter than eleven glitches.** Pindar's own anchor pieces sit outside the numbered run: #0, the Pandimensional skullGAN (essence "universe", Dimensions "infinite", the piece "before the first"), and #512, the Quantum glitchGAN (essence "final", the only Dimension-11 piece, the last). A hypothesis may therefore be nine or ten glitch pieces with #0 and #512 as bookends, or ten glitches with one bookend, and it should say so explicitly. The Solstice puzzle pinned its ends the same way ("It begins with sunrise and it ends with sunset"). Bookend variants of the ratified visual classes were swept on the essence register in August (D30) with no hit; that closes the essence read, not the shape.

**Be creative, but in Pindar's register.** The clue says the words come from glitches, and Pindar confirmed that intentional metadata errors are glitches, then said everyone had been "looking for glitches all wrong". We take that to mean the interesting finds are lessons as much as containers: a corrupted label may teach a move (reverse it, cut the suffix, read the other column) that is meant to be applied somewhere else. The Kryptos sculptor planted deliberate misspellings that turned out to encode a key; null ciphers use deliberate errors to mark which words count. When you see something odd, ask what it teaches before asking what it contains. Vanilla readings of the obvious fields (the essence, straight) have been exhausted on every principled set and are the least likely place for the answer.

**The collector's eye is the final authority on anything visual.** You are not being asked to re-judge visual tags. Where a visual fact matters to a check, take it as given and say so.

---

## Your task

You are an independent auditor. Between 6 and 14 September 2026 the project re-derived every non-visual fact about the 512 bitGANs from primary sources, reorganised the public site's tags by where each fact comes from, and reached several rulings. Your job is to check that work, not to solve the puzzle. Work from the primary sources named below, not from our derived files, and report where we are wrong or where a claim cannot be reproduced.

Everything you need is public. Do not spend money and do not touch any wallet.

---

## 1. Where the sources are

| source | location | notes |
|---|---|---|
| Pindar's properties sheet (the "sheet") | `https://arweave.net/UwiYOGcO2pp-uRcyLnFxgYeSAwBzKSl91Nzz_wpypuw` | 513 rows (#0 plus 512), UTF-8 BOM, CRLF. MD5 fb7333323f53ec176e264bb58fa6101c. Also in our bundle as `arweave_bitgan_properties.csv`. |
| Pindar's Arweave drive | ArDrive drive id `cbbca83e-8cf4-44c0-b193-f886f1352cb6`; enumerate with Arweave GraphQL on the `Drive-Id` tag | Folders bitgans_on_arweave, bitgans_ghostsinthemachine, bitgans_act1review, noungans. Drop archives 01_skullgans.zip … 06_act1review.zip plus loose ghost and review GIFs. Journal page 015 lists the archive transaction ids. |
| Arweave gateways that serve the large archives | `arweave.fllstck.dev`, `permagate.io` (ranged requests) | `arweave.net` times out on the archives; `ar-io.dev` demands payment. |
| The chain | OpenSea Shared Storefront `0x495f947276749Ce646f68AC8c248420045cb7b5e`; token id = (creator << 96) + (mint slot << 40) + 1, creator `0x55372173689C288552885D897d32f5F706F79aA6` | Mint slot per piece is in our `token_index.json` (keys are piece numbers). |
| Token transfer histories | `https://eth.blockscout.com/api/v2/tokens/0x495f947276749Ce646f68AC8c248420045cb7b5e/instances/{token id}/transfers` (no key) | First transfer out of the creator wallet is the effective mint. |
| The burn wallet | `0xa7c231c6e3de1bd3ca056e6303654f05e4ae1a0c` | 32 tokens, 30 of them bitGANs. |
| Pindar's journal and news pages | `bitgans.com/journal/page002` … `page017`, `bitgans.com/news/hidden-types`, `/news/cryptoartgans`, `/news/pattern-revealed` | Text copies in our bundle under `journal/`. |
| The BIP-39 wordlist | `bip39.txt` in the bundle | 2,048 words. |
| Our site | `https://bitganspuzzlebook.com` and the API at `https://api.bitganspuzzlebook.com/api/{pieces,tags,concepts,principles,records,hypotheses,runs,intel,export.csv}` | The API refuses a default Python user agent; use curl or set a browser-like User-Agent. |
| Our data bundle | `https://bitganspuzzlebook.com/data/` with `manifest.json` | 78 files. `primary_facts.py` is the code that computes every chain, file and number fact; read it to see exactly what we claim. |
| Our decisions log | `DECISIONS.md` in the bundle, entries D49 to D65 | The reasoning behind every change below, dated. |

---

## 2. What changed, and the exact claims to check

Each numbered item is a claim we now make. For each, reproduce it from the primary source, then compare with what the site shows. Report agreement, disagreement, or "could not reproduce", with the piece numbers.

### 2a. Byte-level confirmation against Arweave (D55)

1. All 512 GIFs in the drop archives and loose files are byte-identical to the files we serve at `https://api.bitganspuzzlebook.com/media/gifs/{n}.gif`. Hash them yourself.
2. The properties sheet on Arweave is byte-identical to `arweave_bitgan_properties.csv`.
3. The only Arweave GIFs with no match among the 512 are two studies of piece #0 in `nounganziptest.zip`.
4. The pair #14 and #75 is one byte sequence stored under two filenames (`014_rainbow_skull.gif`, `075_flaming_glitch.gif`).
5. Every piece's filename in `arweave_filenames.json` is the name in Pindar's archive. Robos are `NN_bbbbbb.gif` (decimal position, binary position), spookies `0oN.gif`, ghosts `N_ghostgan.gif`, review `N_repriseXX.gif` or a tribute name.

### 2b. Mapping the sheet to piece numbers

6. The sheet's `Number` column is decimal for skulls (1–128) and for solstice and ghost pieces (209–444); six-digit binary for robos (piece = 129 + value); octal `0oN` for spookies (piece = 193 + value); and for the Review drop the rows are in order 445–512 but fourteen carry binary or hex counters (#457–#466, #497–#500). Confirm the mapping and that no row is lost or doubled.
7. The chain record for every piece must be found by mint slot (`token_index.json`), not by the counter in the name. All 512 have a chain record. We earlier mislabelled the fourteen odd-numbered Review pieces as missing; confirm they exist and match the sheet on every field.

### 2c. Sheet versus chain (D50, D53, D57, D59)

8. Comparing Title (with the trailing counter stripped), GANg, Type, SubType, Essence, Eyes, Dimensions and Name field by field, and ignoring fields a whole drop lacks on chain (skull and spooky pieces have no Essence on chain), exactly 29 pieces differ: 4, 16, 17, 33, 39, 44, 47, 48, 58, 59, 62, 66, 73, 81, 88, 97, 100, 121, 123, 124, 128, 173, 175, 281, 290, 309, 315, 383, 509.
9. Five of those are only the systematic rename Twin (sheet) → Twins (chain): 47, 59, 121, and also on 73 and 124 alongside other differences. We treat the rename as a convention, leaving 26 disagreements.
10. We assign each disagreement a side using three witnesses: is the value used anywhere else in the collection; does the Arweave filename (written at export) carry one side's word; does the journal say anything (page 003 calls #39 "the cyclopsGAN"). Reproduce the four piles:
   - Sheet corrects a chain error (13): 4, 16, 48, 58, 62, 66, 73, 81, 88, 97, 100, 124, 309. Note #73 is here because the "Gltich" spelling is in Pindar's sheet and filename, so the chain's correct spelling is the odd record.
   - Substituted word describes what the art shows (7, the collector's ruling by eye, not derivable from data): 17, 39, 44, 66, 173, 281, 509. #66 is in both piles (its SubType substitution echoes the art; its title has a stray backtick that is a chain error).
   - Sheet introduces the error (3): 123 Cronenber, 128 RainbowShimmer, 175 Raibow.
   - Undecided number or capital differences (4): 33, 290, 315, 383.
11. The kinds of move: two letters swapped (#16, #100 on chain; #73 in the sheet), reversed (#48 wobniaR), a field emptied or displaced (#58), Type and SubType swapped (#62), a stray backtick (#66), a cut suffix (#81, #97, #309), a dropped letter (#88 skulGAN, #123, #175), an added letter (#124 skullGANs), a dropped space (#128), a changed capital (#4 SkullGAN, #383 Space-Clops), a different real word (the seven), a different number (#33, #290, #315).
12. #383 also carries a misspelled trait key on chain: `Subtype` for `SubType`.
13. Three pieces carry a Name on chain that the sheet leaves blank: 268, 379, 401.
14. Seven pieces carry an on-chain description that is not their drop's boilerplate: 130, 147, 228, 246, 264, 282, 512.
15. #390 is minted twice: mint slots 519 and 583 both carry "Frozen ghostGAN (90/144)".

### 2d. The hidden-type code (D30, D52, D54)

16. The on-chain HiddenType letter is the piece's number class in its own drop's numbering, in Pindar's order of precedence from journal 002: Fibonacci, then remaining primes, then squares, then remaining odd, then remaining even. Skulls use the decimal piece number; robos their six-digit binary position; spookies their octal position. Confirm the rule holds for every skull, robo and spooky piece except the misfiles below.
17. The eight robots with letter F are exactly the binary-palindrome positions 0, 12, 18, 30, 33, 45, 51, 63 (#129, #141, #147, #159, #162, #174, #180, #192), and each has a palindrome name. F exists only in the robo drop.
18. Exactly five misfiles: #32 and #161 carry the literal text "32"; #119 is odd but filed as even; #187 is even but filed as square; #193 carries F in the spooky drop at position 0, where the scheme gives A.
19. Applying the same five classes to piece numbers 1–512 gives 242 "even (remaining)", not 256, because even Fibonacci numbers (2, 8, 34, 144) and even squares (4, 16, 36, 64, 100, 196, 256, 324, 400, 484) are filed first. Confirm the count.

### 2e. File facts, measured from the GIFs (D50, D54)

20. Frame counts: 29 files differ from their drop's standard (41 for skulls, 55 for all later drops). List them.
21. Frame delays: the normal skull file runs every frame at 0 ms; the normal later-drop file runs every frame at 100 ms. Eleven files break the pattern: #155, #176, #180, #182, #190, #446, #467, #468, #469, #512 run every frame at 0 ms; #228 runs every frame at 50 ms (120 frames). Three files hold exactly one frame at 100 ms in an otherwise 0 ms file: #479 frame 27, #480 frame 24, #146 frame 0.
22. Colour-negative frames (a frame whose colour inverse is far closer to the previous frame than the frame itself): exactly four files. #231, #256 and #274 share the identical list of eleven frames (37, 38, 43, 44, 47, 48, 50–54); #479 has thirteen (1, 2, 3, 4, 5, 7, 8, 11, 12, 17, 18, 26, 27).
23. Every file carries a Photoshop XMP block. The `xmpMM:InstanceID` is a UUID v1 whose timestamp is the save time. Decoded, all 512 save times cluster into 39 sessions at a 3-hour gap. 77 files were exported with a point-release build (22.3, 22.5, 23.0 or 23.1) rather than the bulk "Photoshop 2021/2022" export. Ten files sit in a session of one or two: #1, #121, #152, #228, #300, #448, #467, #468, #469, #504.
24. The Photoshop 22.3 batch of 27 Aug 2021 is exactly the prime-numbered skulls from 7 to 127 minus #13 and #89.
25. #300 is the only file whose XMP carries an `OriginalDocumentID` and whose `DerivedFrom` points at a real Photoshop document id.
26. Filename words: splitting each archive filename on separators and digits and keeping seed-list words that are not a trait value anywhere in the collection and not in the piece's own metadata gives 86 pieces and eight words: autumn 29, winter 26, summer 26, spring 20, update 9, ancient 7, smooth 3, elder 1. Filename typos: gltich on #9 and #73, raindow on #128.
27. Filename marks: the `s_` prefix appears on exactly the square-numbered skulls with letter c (#4, #9, #16, #25, #36, #49, #64, #81, #100); #121 is the one square without it; `smooth` appears only on #5, #13, #89; Primordial is written `ancient` on #1, #7, #28, #44, #46, #78, #100, #112 and `elder` on #16.

### 2f. Burns and transfers (D50, D56)

28. Thirty bitGANs sit in the burn wallet. Co-burned: #32 with #95 (same transaction); #11, #20, #49, #74 (same transaction); #205–#208 (same block).
29. First transfer out of Pindar's wallet, from Blockscout: 299 pieces in 2021; 147 between the sheet (31 Jan 2022 19:42 UTC) and the clue (5 Feb 2022); #445 on 5 Feb 2022 at 11:12 UTC into the prize wallet `0x18f87ec9c527aba1db44f715456bf28b0dae478d`; 63 in late August 2022, including all fourteen odd-numbered Review pieces and #512; and one each in January 2022 and between February and August 2022. Reproduce the counts.
30. The ArDrive timeline: the four early drop archives uploaded 1 Jan 2022; the sheet saved 31 Jan 19:42 and uploaded 19:51; the ghost and review archives uploaded 31 Jan; journal page 015 archived on Arweave at 20:12 the same day (transaction `LvwCpQp6ctt-wRCG5eU4KR_j5-jHDjpAj_ugwoPgc5o`). No earlier revision of the sheet exists on the drive. No GIF in the 31 January archives was modified after its Photoshop export (zip entry times equal save times to the minute at UTC−6), except #467–#469, touched 1 Jan 2022.

### 2g. Published traits and essences

31. The ten plain colour words on the BIP-39 list (black, blue, brown, gold, green, olive, orange, pink, silver, yellow) are each an essence exactly once.
32. Essences out of sequence: skulls #21 (bean) and #57 (mistake) break the wordlist-in-order run; in the solstice drop #259 (bless) and #268 (bird) sit outside the longest in-order run.
33. Essences that are not plain lowercase seed words: #191 err0r, #363 TRUE, #473 FALSE.
34. 38 pieces carry a Name in the sheet; 18 of those have a seed word in the title or Name.

---

## 3. The tag system to audit

The site's Collection sidebar groups every tag by where the fact comes from: Drop; Published traits; Chain-only and discrepancies; File facts; Visual descriptors; Number rules; Relations and lore. Each tag carries a chip saying how it was verified: data, eye, candidate or note. Selecting a tag shows its definition and, on every card, the evidence that earned the tag.

Pull `/api/tags` and `/api/pieces` and check:

35. Every tag in the Chain, File and Number groups has exactly the membership your reproduction of section 2 predicts. List any tag whose members differ.
36. Every tag description states a rule someone could re-derive, names its key pieces, and does not contradict section 2. Flag any description that is vague or wrong.
37. No two tags share a meaning. Flag any pair a reader could confuse.
38. The evidence line on each card is consistent with the tag (for a sheet-versus-chain tag it shows both values and which side is rarer; for a frame-count tag the measured count and the standard; and so on). Sample at least 30 pieces.
39. Visual descriptors are the collector's domain. Do not re-adjudicate them. Do check that their descriptions are internally consistent and that none claims a data fact it cannot have.

---

## 4. Rulings you should know about (do not re-open, but check they are applied consistently)

- Sheet-versus-chain disagreements are direction-neutral as a class; the per-piece verdict comes from the three witnesses (D57).
- The seven substitutions are not errors on either side: the collector ruled the substituted word describes a visible element the data cannot see (D59). They also seed a new visual tag, "Name describes a visual element", which the collector is adjudicating across all 512.
- Spooky pieces have no palindrome class; F outside the robo drop is a misfile (D52).
- Repeated words in a candidate phrase are allowed (D61).
- Nothing is run against the wallet without a stated selection rule, word-derivation rule and ordering rule, each one Pindar could have said in a sentence (standing rule, D60), and a hypothesis states whether it uses the #0 / #512 bookends. Do not run sweeps as part of this audit.

---

## 5. What has been tested, so you do not repeat it

`tested_sets_no_hit.txt` in the bundle lists 222,378 eleven-word sets that produced no hit, each only in the orderings its run stated (128 checksum-legal twelfth words, 33 derivation paths). The Runs tab on the site lists 41 runs with their three rules. The most recent: every eleven inside the thirteen chain-error pieces and inside those plus the sheet-error pieces, essence register, mint and piece order, forward and reversed (151,164 orderings); and on the two candidate elevens A {4, 16, 48, 58, 62, 66, 81, 88, 97, 100, 124} and B {4, 16, 48, 58, 62, 81, 88, 97, 100, 124, 309}, the "undo the error and cut to the list" reading and the "filename word" reading (1,008 phrases). All negative.

---

## 6. How to report

For each numbered claim: the number, one of AGREE / DISAGREE / COULD NOT REPRODUCE, the piece numbers involved, and how you checked. Then a short list of anything you found that we did not claim: an error in the sheet, the chain, the filenames or the journal that is not tagged on the site. Plain English, one idea per sentence. Do not propose solutions to the puzzle in this report.
