Hand this page to your AI agent
Give your agent (Claude, ChatGPT or any assistant that can open web pages) this address and ask it to do the task on the page:
https://dbourdeau.github.io/cyphersolver/further/frankenthal1646.html
Or copy the block below into the chat. It is the whole task: the reading, every open gap, what has been tried, the steps, and how to report back.
TASK: take a partial decipherment further: A Spanish officer to Ottavio Piccolomini, camp in the Wetterau, 12 August 1646
This page: https://dbourdeau.github.io/cyphersolver/further/frankenthal1646.html
You are helping a public research project finish reading historical cipher letters. This one is read in part:
the key works, but some pieces are still open. Your job is to close one or more of the open gaps below.
THE READING
Write-up: https://dbourdeau.github.io/cyphersolver/frankenthal1646.html (read it first: how the text was read, the key, the reading)
Date: 1646
Outcome: key from adjacent plaintext · partial
Read now: 85.7% of the deciphered cipher tokens give sense (pieces below may be untouched)
Files: https://github.com/dbourdeau/cyphersolver/tree/main/targets/frankenthal1646 (NOTES.md, key, transcription, reading, scripts)
OPEN GAPS (from NOTES.md, "## Remaining gaps")
1. [illegible: needs a new source] L05 "aquel" - blocker: illegible; the fourth group is under an ink blot (only "3" is clear); a clean scan from SOA Zámrsk would settle it (not ordered).
2. [illegible: needs a new source] L09 "desarmarse" - blocker: illegible; the third group is 61 (s) or 51 (u, "deuarmarse"); its first figure is crossed by a stroke from the line above. Marked doubtful; a clean scan would settle it.
3. [illegible: needs a new source] L13 "oy" - blocker: illegible; the second figure of the group after "aviso" is 0 or 6; read 56 (y) for the sense, marked repair.
4. [needs-physical-access: needs a new source] L09 "cathgorica" - blocker: needs-physical-access; the signs give no e between h and g; one letter added in the reading (marked repair); a clean scan would show whether the writer slipped or a group was missed.
5. [too-short: needs a new source] Group 34 (g, "Giesen") - blocker: too-short; not glossed in the worked text of 25067 and 25069; its value rests on the table order and the sense. The further glossed pages 25067_2 and 25069_1 may attest it and were not worked.
6. [too-short: needs a new source] Group 93 (held-out, 25069) - blocker: too-short; one occurrence, not in the key; probably a further g homophone or a slip for 33.
7. [too-short: needs a new source] Held-out test - blocker: too-short; 10 words, gloss visible on the crops, the freeze rests on file order only; a larger held-out set would need the unworked glossed pages 25067_2 and 25069_1.
8. [needs-physical-access: needs a new source] Place and writer - blocker: needs-physical-access; the date line reads "Ilenstatt" (probably Ilbenstadt, Wetterau), not Frankenthal as the catalogue has it, and the signature "Joh: Behr [?] von ..." is not read. The slug `frankenthal1646` follows the catalogue; the reviewer agrees it should be raised or renamed (e.g. `ilbenstadt1646`).
9. [needs-physical-access: needs a new source] The transcription against the photograph, by the integrating session - blocker: needs-physical-access; theses.cz gives scripts a JavaScript proof-of-work page and no browser tool was available; the contributor's blind review of 69 groups stands alone.
10. [needs-physical-access: needs a new source] Human check - blocker: needs-physical-access; no human palaeographer has checked any sign.
ALREADY TRIED (from NOTES.md, "## Escalation")
[x] siblings: the glossed letters 25067 and 25069 of the same writer, table and year gave the key and the held-out test; 25063 and 25065 checked and found to use an earlier table
[x] clear-pages: the contemporary interlinear decipherments on 25067 and 25069 used (pairs.tsv, heldout_25069.tsv)
[x] known-keys: Vlnas 2017 lists 25071 as not deciphered and gives no key for this table; the claudiamedici1646 and piccolomini1646 keys are other tables
[x] print: catalogue and sweep notes, Vlnas 2017, one web search (12 Nov 2026), the HistoCrypt paper opened; no edition found
[x] key-rebuild: every group of 25071 has a value; 34 and 56 from table order and context, not from a gloss
[x] retry: every doubtful group retried on 3-4x crops by the solver and again blind by the reviewer (aquel, desarmarse and oy stay doubtful and need a clean scan from SOA Zámrsk, not ordered); 25067_2 and 25069_1 would attest 34 and enlarge the held-out test
STEPS
0. Set up. If you can run a shell, fork and clone the repository and work inside it:
git clone https://github.com/dbourdeau/cyphersolver.git
Then read, in this order: CONTRIBUTING.md (how a contribution is sent and credited); README.md, sections
"Repository layout" and "Conventions" (how readings are measured and named); targets/frankenthal1646/NOTES.md in full, and the
key, transcription and reading files it names; lang/README.md (shared language models).
Work in targets/frankenthal1646/. Add your findings to NOTES.md under a dated heading without rewriting what is there, and
update the "## Remaining gaps" line of every gap you close. Keep WORKLOG.md there: one dated line per step
(hypothesis, value tried, solver run, crib, control), failures included. Do not edit docs/ (the site is generated).
If you cannot run a shell, fetch the files from the links above and keep your work in files you send with the issue.
1. Pick a gap. Start with the ones marked "doable now" (open-codes, not-attempted, left-open): the images and the key
are online, so they need only work. A gap marked "needs a new source" (no-key-material, too-short, illegible,
needs-physical-access) can be closed only by something new: a key
or a deciphered sibling found elsewhere, a better image, a printed edition or calendar, a photograph from the archive.
For those, search for that material first, and say where you looked even when you find nothing.
2. Start from the existing key and transcription in the folder. Do not rebuild the key from scratch, and do not
re-read parts that are already read unless you find an error in them.
3. For a code group or sign value: list every place the group occurs, show how each reads with the value you propose,
and say what still does not fit. For a passage: re-read it at the image and give the folio and line. For a missing
letter or leaf: say where it is held and how it can be reached.
4. Measure again. Apply the key to the whole text, write the reading file, and count the share of cipher tokens that
give sense (not an estimate). The reading is "complete" only when (1) at least 95% of its cipher tokens give sense;
(2) no gap is left untried; (3) every letter in it is covered; (4) what stays open is scattered code groups or names,
or pieces blocked from outside. Otherwise it stays "partial": say which gaps are still open and why.
5. Be honest. Mark every uncertain word with [?], leave unread groups as their numbers or signs, and never fill a gap
with a plausible guess. A gap retried and still open, with what was ruled out, is worth reporting.
REPORT BACK
With a clone: open a pull request with your changes to targets/frankenthal1646/. Say in the description which gaps you worked on,
the share read before and after, and how you want to be credited (name, initials or handle, and a link).
Without one: open an issue: https://github.com/dbourdeau/cyphersolver/issues/new?template=further-reading.yml&title=Further+reading%3A+frankenthal1646&page=frankenthal1646.html
Give the write-up, the gap you worked on (its line in Remaining gaps, or the code group, folio and line), what you
propose, the evidence (every occurrence, the images or sources), the share read before and after, your step log,
and the tools and AI model you used.
If you cannot open issues or pull requests, write this report for your human to send. Credit goes to the person who sends it.Open gaps
gold can be done now: the images and the key are online, it needs only work. grey needs a new source first: a key, a better scan, an edition or the archive.
- hard to read on the scan L05 "aquel" - blocker: illegible; the fourth group is under an ink blot (only "3" is clear); a clean scan from SOA Zámrsk would settle it (not ordered).
- hard to read on the scan L09 "desarmarse" - blocker: illegible; the third group is 61 (s) or 51 (u, "deuarmarse"); its first figure is crossed by a stroke from the line above. Marked doubtful; a clean scan would settle it.
- hard to read on the scan L13 "oy" - blocker: illegible; the second figure of the group after "aviso" is 0 or 6; read 56 (y) for the sense, marked repair.
- needs the archive L09 "cathgorica" - blocker: needs-physical-access; the signs give no e between h and g; one letter added in the reading (marked repair); a clean scan would show whether the writer slipped or a group was missed.
- too short to break Group 34 (g, "Giesen") - blocker: too-short; not glossed in the worked text of 25067 and 25069; its value rests on the table order and the sense. The further glossed pages 25067_2 and 25069_1 may attest it and were not worked.
- too short to break Group 93 (held-out, 25069) - blocker: too-short; one occurrence, not in the key; probably a further g homophone or a slip for 33.
- too short to break Held-out test - blocker: too-short; 10 words, gloss visible on the crops, the freeze rests on file order only; a larger held-out set would need the unworked glossed pages 25067_2 and 25069_1.
- needs the archive Place and writer - blocker: needs-physical-access; the date line reads "Ilenstatt" (probably Ilbenstadt, Wetterau), not Frankenthal as the catalogue has it, and the signature "Joh: Behr [?] von ..." is not read. The slug `frankenthal1646` follows the catalogue; the reviewer agrees it should be raised or renamed (e.g. `ilbenstadt1646`).
- needs the archive The transcription against the photograph, by the integrating session - blocker: needs-physical-access; theses.cz gives scripts a JavaScript proof-of-work page and no browser tool was available; the contributor's blind review of 69 groups stands alone.
- needs the archive Human check - blocker: needs-physical-access; no human palaeographer has checked any sign.
Already tried
- ☑ siblings the glossed letters 25067 and 25069 of the same writer, table and year gave the key and the held-out test; 25063 and 25065 checked and found to use an earlier table
- ☑ clear-pages the contemporary interlinear decipherments on 25067 and 25069 used (pairs.tsv, heldout_25069.tsv)
- ☑ known-keys Vlnas 2017 lists 25071 as not deciphered and gives no key for this table; the claudiamedici1646 and piccolomini1646 keys are other tables
- ☑ print catalogue and sweep notes, Vlnas 2017, one web search (12 Nov 2026), the HistoCrypt paper opened; no edition found
- ☑ key-rebuild every group of 25071 has a value; 34 and 56 from table order and context, not from a gloss
- ☑ retry every doubtful group retried on 3-4x crops by the solver and again blind by the reviewer (aquel, desarmarse and oy stay doubtful and need a clean scan from SOA Zámrsk, not ordered); 25067_2 and 25069_1 would attest 34 and enlarge the held-out test
Send a result
One closed gap counts: a code group valued, a passage re-read, a key or clear copy found elsewhere. It is credited to you on the write-up.