# Session 12: Agrippa book-cipher reconstruction

Result: reproduced the complete known 2012 destination using a pre-puzzle snapshot of Gibson's web edition. No new Liber Primus plaintext was found.

## Source and rule

The original author URL now returned 404 and the referenced Pastebin returned 403. A Wayback snapshot from December 29, 2011 was successfully retrieved using Python urllib:

https://web.archive.org/web/20111229194935id_/http://www.williamgibsonbooks.com/source/agrippa.asp

The HTML snapshot SHA-256 is `76946e832c940891fd60262e4ddb7e02dc4d0ba8feb3d0e43ca3ff8e258fbda2`.

The coordinates and expected historical answer come from:
https://github.com/scream314/cicada3301/blob/master/2012.md

Extraction starts at the first verse line, excludes the title/byline, interprets HTML BR tags as line breaks, strips HTML/source indentation, and preserves blank verse lines, internal spaces and punctuation. Both line and character positions are one-based. Each arithmetic clue emits 6, the product of 2 and 3.

Applying the complete coordinate list gives `sq6wmgv2zcsrix6t.onion`, exactly matching the historical archive. This address is recorded only as historical output; it was not contacted. All coordinate-to-character mappings are in agrippa_book_results.json.

Among four web-edition formatting controls, only preserving both blank lines and internal spaces reproduces the answer. Deleting either breaks it. Preliminary checks of the independent disk-memory version also failed under eight simple blank-line/character-filter combinations. That disk text is useful for the software control from Session 11, but its line layout is unsuitable for this book cipher under those rules.

This establishes a compatible contemporary edition and a fully working rule. It does not prove that this snapshot is the only compatible edition or verify the archived PGP signature independently.

## Transfer checks

The LP2 pages 0-55 transcription contains no literal decimal line:character coordinates. This is a text audit, not a complete image/steganography audit, and does not rule out encoded coordinates.

Two narrow, explicitly speculative transfers were checked without changing the rule after seeing output:

- Treat the cuneiform digit groups as coordinates (17,13) and (55,1): output is `eA`. Two characters carry too little information to validate this interpretation. There is no discovered instruction to treat these numeral groups as poem coordinates.
- Treat consecutive pairs of the verified 256-byte block as line:character coordinates in its original order: only 14 of 128 pairs are in bounds; 114 fail. Therefore the complete block does not support that direct coordinate interpretation. No wrapping, modulo reduction, selective skipping, reversal, or fitted offsets were allowed.

## Implication

The original puzzle used a specific literary clue plus explicit coordinates. Its use of Agrippa is now reproduced, but the inspected unsolved material does not supply an equivalent instruction. The evidence does not currently justify treating the poem as a universal Liber Primus key.

The strongest follow-up would identify a source-selection or indexing instruction within Liber Primus before testing another book. The archived 2016 message directs attention to Liber Primus's words, meanings and numbers, but that language does not specify this book-cipher rule. Source: https://github.com/scream314/cicada3301/blob/master/2016.md

## Reproduction

Run `python3 agrippa_book_pass.py --fetch`. The script downloads the hash-pinned HTML, reproduces the known answer, runs the four format controls and the bounded transfer checks, and writes agrippa_book_results.json. Existing bundle files provide the rune transcription and verified byte block.

The full copyrighted poem/HTML is not redistributed; the bundle includes our script, source hashes, coordinate mappings, and results. No new solution or attribution to Bitcoin participants is claimed.
