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/buda1490.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: Maffeo da Treviglio to Tamás Bakócz, 30 November 1490
This page: https://dbourdeau.github.io/cyphersolver/further/buda1490.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/buda1490.html (read it first: how the text was read, the key, the reading)
Date: 1490
Outcome: key from external plaintext · partial
Read now: 89.9% of the deciphered cipher tokens give sense (pieces below may be untouched)
Files: https://github.com/dbourdeau/cyphersolver/tree/main/targets/buda1490 (NOTES.md, key, transcription, reading, scripts)
OPEN GAPS (from NOTES.md, "## Remaining gaps")
1. [illegible: needs a new source] 8 words on signs left ambiguous by the image check - blocker: illegible; P1L04 dominationem, P1L05 cepit, P1L20 semper, P2L17 adduxit, P3L10 secundum, P3L17 reuerendissime, P3L19 descendit, P3L29 responso: each sign was checked on the Hungaricana scan, the only image there is, and lies on a crease or under a blot or falls between two look-alike shapes (qB/gA, gA/gB, 5/gB, Q/Y/g); the retry reads reuerendissime and responso if the sign is the sister shape (grade M), which only the original in MNL OL could settle.
2. [open-codes: doable now] 15 words on letter signs standing once for a title or phrase - blocker: open-codes; P1L06 "Illustrissime Domine Blance" (x), P1L10 "Magnifico Domino Cancellario Boemie" (a), P1L17 "Serenissimi Domini Regis sui necnon" (w, Q), P3L08 "summa ducentorum milium" (A qB s tp): each stands once, so this letter cannot fix a value, and the meaning comes from the minute alone; the nomenclator of R5407, if it is this key, would name them (see "Key R5407").
3. [too-short: needs a new source] 4 words on signs with no value at that place - blocker: too-short; P1L12 excellentia (8, a, 6, d in one word, two of them confirmed on the image), P3L21 reiici (8C: 4 tokens, i twice, ii once), P3L27 admittendas (y where tt stands), P3L09 esse (only the null A stands there: the word is not enciphered): single cases, no second occurrence to fix a value; R5407 would settle 8C and y.
4. [too-short: needs a new source] 9 words where the image confirmed the writer's own sign - blocker: too-short; cicius P1L01, amictssimo P1L19, minisse P2L14, petite P2L15, ragi P2L27, ostendare P2L28 (no homophone link), oitendit P1L21 and promisirat P2L27 (only a sister label), and P3L17 "et" for "ut" (o for u): the writer's departures, each once; the intended word is clear from the sentence (grade I) but is not counted.
5. [too-short: needs a new source] 15 words with letters left out or multi-sign departures - blocker: too-short; presenis P1L02, proter P2L07 and P2L08, ali P2L24, [u]ieat P2L22 (letters left out); mel and et for "mea ex" P1L11, reeatur P1L19, ubeiimum and frsotum P2L02, ad for "et" P2L11, quemamthum P2L15, ssga P3L03, ainc P4L01; and the extra ff on P2L03: each departure occurs once and no value, sister label or code in the extended key explains it (retry pass). Still open: a shape check on the image of the ten multi-sign ones, as was done for the 39 one-sign suspects. It needs the page images, which are not in the repository (they were supplied from the contributor's own browser on 29 Oct 2026), and Hungaricana refuses this session; it is the one step that could still change these words.
6. [illegible: needs a new source] 12 words with a lost sign - blocker: illegible; P1L18, P2L16, P3L15-21, P3L28: holes and blots in the paper; filled from the minute in ⟨⟩.
ALREADY TRIED (from NOTES.md, "## Escalation")
[x] siblings: `../buda1489` (Milan copies of Maffeo's letters) and key R5411: a different alphabet; Vestigia lists a later Maffeo letter to Bakócz (13 Nov 1492, sc. 645, Vestigia 2251, a copy) to try with this key
[x] clear-pages: the closing and address on p. 4 are in clear; the clear minute is ASMi Sforzesco 642 (Vestigia 194)
[x] known-keys: R5411 and Somogyi's key ruled out; R5407 (second Maffeo key) tried 30 Oct 2026 as far as possible: its one known value A = ⊥ agrees (L = a, 38 of 38); the record itself was unreachable from this session (DECODE refused by the network policy), so the full comparison is still to do
[x] print: no edition of DL 46150 found; Vestigia 194 prints the minute
[x] key-rebuild: ciphertext-only (key14, 79.2% strict), from the minute (key.json), extended in the retry (qA = s/i/t, y = 200,000)
[x] retry: `scripts/retry.py` (30 Oct 2026) re-ran all 80 unread words under the extended key and regraded them: 17 regained (C+), 2 M, 2 M-slip, 47 unexplained, 12 damaged; `reading/retry.md`. The doubtful read words regraded by `scripts/regrade.py` (30 Oct 2026): 466 B, 16 K, 7 X, 72 C, 0 D, nothing withdrawn; `reading/regrade.md`
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/buda1490/NOTES.md in full, and the
key, transcription and reading files it names; lang/README.md (shared language models).
Work in targets/buda1490/. 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/buda1490/. 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+buda1490&page=buda1490.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 8 words on signs left ambiguous by the image check - blocker: illegible; P1L04 dominationem, P1L05 cepit, P1L20 semper, P2L17 adduxit, P3L10 secundum, P3L17 reuerendissime, P3L19 descendit, P3L29 responso: each sign was checked on the Hungaricana scan, the only image there is, and lies on a crease or under a blot or falls between two look-alike shapes (qB/gA, gA/gB, 5/gB, Q/Y/g); the retry reads reuerendissime and responso if the sign is the sister shape (grade M), which only the original in MNL OL could settle.
- code groups open 15 words on letter signs standing once for a title or phrase - blocker: open-codes; P1L06 "Illustrissime Domine Blance" (x), P1L10 "Magnifico Domino Cancellario Boemie" (a), P1L17 "Serenissimi Domini Regis sui necnon" (w, Q), P3L08 "summa ducentorum milium" (A qB s tp): each stands once, so this letter cannot fix a value, and the meaning comes from the minute alone; the nomenclator of R5407, if it is this key, would name them (see "Key R5407").
- too short to break 4 words on signs with no value at that place - blocker: too-short; P1L12 excellentia (8, a, 6, d in one word, two of them confirmed on the image), P3L21 reiici (8C: 4 tokens, i twice, ii once), P3L27 admittendas (y where tt stands), P3L09 esse (only the null A stands there: the word is not enciphered): single cases, no second occurrence to fix a value; R5407 would settle 8C and y.
- too short to break 9 words where the image confirmed the writer's own sign - blocker: too-short; cicius P1L01, amictssimo P1L19, minisse P2L14, petite P2L15, ragi P2L27, ostendare P2L28 (no homophone link), oitendit P1L21 and promisirat P2L27 (only a sister label), and P3L17 "et" for "ut" (o for u): the writer's departures, each once; the intended word is clear from the sentence (grade I) but is not counted.
- too short to break 15 words with letters left out or multi-sign departures - blocker: too-short; presenis P1L02, proter P2L07 and P2L08, ali P2L24, [u]ieat P2L22 (letters left out); mel and et for "mea ex" P1L11, reeatur P1L19, ubeiimum and frsotum P2L02, ad for "et" P2L11, quemamthum P2L15, ssga P3L03, ainc P4L01; and the extra ff on P2L03: each departure occurs once and no value, sister label or code in the extended key explains it (retry pass). Still open: a shape check on the image of the ten multi-sign ones, as was done for the 39 one-sign suspects. It needs the page images, which are not in the repository (they were supplied from the contributor's own browser on 29 Oct 2026), and Hungaricana refuses this session; it is the one step that could still change these words.
- hard to read on the scan 12 words with a lost sign - blocker: illegible; P1L18, P2L16, P3L15-21, P3L28: holes and blots in the paper; filled from the minute in ⟨⟩.
Already tried
- ☑ siblings `../buda1489` (Milan copies of Maffeo's letters) and key R5411: a different alphabet; Vestigia lists a later Maffeo letter to Bakócz (13 Nov 1492, sc. 645, Vestigia 2251, a copy) to try with this key
- ☑ clear-pages the closing and address on p. 4 are in clear; the clear minute is ASMi Sforzesco 642 (Vestigia 194)
- ☑ known-keys R5411 and Somogyi's key ruled out; R5407 (second Maffeo key) tried 30 Oct 2026 as far as possible: its one known value A = ⊥ agrees (L = a, 38 of 38); the record itself was unreachable from this session (DECODE refused by the network policy), so the full comparison is still to do
- ☑ print no edition of DL 46150 found; Vestigia 194 prints the minute
- ☑ key-rebuild ciphertext-only (key14, 79.2% strict), from the minute (key.json), extended in the retry (qA = s/i/t, y = 200,000)
- ☑ retry `scripts/retry.py` (30 Oct 2026) re-ran all 80 unread words under the extended key and regraded them: 17 regained (C+), 2 M, 2 M-slip, 47 unexplained, 12 damaged; `reading/retry.md`. The doubtful read words regraded by `scripts/regrade.py` (30 Oct 2026): 466 B, 16 K, 7 X, 72 C, 0 D, nothing withdrawn; `reading/regrade.md`
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.