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/solve/626.html
Or copy the block below into the chat. It is the whole task: what the cipher is, where the images are, what has been tried, the steps, and how to report back.
TASK: help read Unsolved Catalogue no. 626 of the cyphersolver project
This page: https://dbourdeau.github.io/cyphersolver/solve/626.html
You are helping a public research project read historical cipher letters that nobody has read yet.
THE CIPHER
Title: Lope Hurtado de Mendoza to Charles V on the Comunidades: one of seven letters in cipher
Date: Nov-Dec 1520
Correspondents: Lope Hurtado de Mendoza → Charles V
Place: Medina de Rioseco / Tordesillas
Language: Spanish (expected)
Held at: AGS, Patronato Real (Paz, Catálogo V, no. 189; PTR legajo/doc to map); 7 letters, 17 hoj. fol. + 1 en 4.°; one letter in cipher
Images/records:
- Paz, Catálogo V (1912), Google Books p. 29-32: https://books.google.com/books?id=V0hQAQAAMAAJ&pg=PA29&q=cifra
WHAT IS KNOWN
Status: Paz, Catálogo V (1912) no. 189: "Cartas (Siete) de Lope Hurtado de Mendoza á S. M. ... Una carta ológr. y otra en cifra." No descifrado noted. The repo has his 1522-24 Rome ciphers (lopehurtado1522, lopehurtado1523) but not this 1520 letter (known.py).
Outcome so far: not yet attempted by the project
Prior-art check: open as far as checked (26 Oct 2026: repo has his 1522-24 ciphers only; Danvila's Comunidades volumes not grepped)
Check first: Map no. 189 to PTR,LEG,<n>,DOC on PARES; try the targets/lopehurtado1522 key; grep Danvila MHE 35-40.
Class B: part of a key or a known cipher family of the same office is in print or on DECODE.
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); and
lang/README.md (shared language models).
Put all your work in targets/<writer><year>/ (a new folder, e.g. sega1593): transcription, key, decipherment, scripts. Write a NOTES.md that says
what the document is, the system, the key, the reading, and what is open and why. Keep WORKLOG.md there too:
one dated line per step (transcription, hypothesis, solver run, crib, key found, control), failures included.
Do not edit docs/ (the site is generated and rebuilt on merge) and do not commit large images: link them.
If you cannot run a shell, do the same work in files you keep and send them with the issue below.
1. Make sure it is still unread. Search the web and the literature for the shelfmark, the correspondents and the date:
printed editions and calendars of the correspondence, Satoshi Tomokiyo's cryptiana pages
(https://cryptiana.web.fc2.com/), the DECODE record and the files attached to it, and the project notes above.
If a decipherment already exists, stop and report where it is. That is a useful result.
2. Get the images. For Gallica items, a page image is
https://gallica.bnf.fr/iiif/ark:/12148/<ark>/f<page>/full/full/0/native.jpg (page numbers from the manifest).
DECODE records (de-crypt.org) need a free account: if you cannot log in, ask your human to download the images for you.
3. Look for key material before attacking the ciphertext, in this order: a decipherment written between the lines or
in the margin; a clear copy or a deciphered sibling letter in the same volume or DECODE series; a key sheet from the
same office and years (DECODE key records, Tomokiyo's articles, printed editions); clear passages in the letter
itself that can serve as a crib.
4. Transcribe exactly what is on the page: one token per sign or number group, line by line, with folio and line
numbers, unclear signs marked with ?. Keep the transcription as a file. It is worth sending even if nothing else works.
5. If no key exists, identify the system (count the distinct symbols, tokens and repeats: simple or homophonic
substitution, nomenclator with code words, syllabary, two-digit figures) and recover the key from the ciphertext
with a solver scored on a language model of the period (Spanish). In the clone, use the shared models in lang/
(from lang import lm; lm.load('<model>'), lm.best_language(text)) rather than building your own; add a corpus there
if none fits. Before trusting a result, run the same solver on a control text you encipher yourself in the same
system and at the same length. If it cannot solve the control, its output on the real letter means nothing.
6. Measure the result against the project's bar (README.md, Conventions). A text is "complete" only when (1) at least
95% of its cipher tokens give sense, counted from a reading file, not estimated; (2) no gap is left untried;
(3) every letter in the item is covered; (4) what stays open is scattered code groups or names, or pieces blocked
from outside (no key material, too short, illegible, needs the archive). Otherwise it is "partial": say which
pieces are open and why. Mark every uncertain word with [?] and leave unread groups as their numbers or signs.
Never fill gaps with plausible guesses. A failed attempt that records what was ruled out is still a contribution.
7. Name how the text was obtained with one of the project's methods (do not write just "solved" or "read"):
- ciphertext-only break: The key was rebuilt from the ciphertext alone: frequencies, solvers, pattern words, the order of the key. No plaintext and no existing key was used. If someone had solved the same text earlier and it was found only afterwards, the write-up says so: an independent re-solution.
- key from external plaintext: The key was rebuilt by matching the ciphertext against a plaintext found elsewhere: a printed edition, a calendar of state papers, a copy of the same letter in another archive.
- key from adjacent plaintext: The key was rebuilt from plaintext next to the ciphertext: a partial decipherment written between the lines or in the margin, clear passages in the same letter, a deciphered copy in the same file.
- external key matched: An existing key that had not been connected with this document (a key for another correspondent or series, a key sheet filed elsewhere) was found to fit, and applied.
- known key applied: The key was already identified for this document or its correspondence (on its archive or DECODE record, published for it, filed with it) and was applied. The work is transcription and decipherment, which is not mechanical when the key is polyphonic or variable-length.
- existing decipherment: A complete decipherment already existed (between the lines, on a separate copy, or in print). The work was transcribing the cipher and checking the decipherment against it.
- not solved: Attempted; neither the key nor the text was obtained. What was learned is recorded. A target whose key was obtained but whose text does not read keeps the method that obtained the key, with extent "none (text not read)".
- not applicable: Not a cipher (clear text, shorthand, a key sheet, instructions), or the item could not be reached.
REPORT BACK
With a clone: open a pull request with your targets/<writer><year>/ folder. Say in the description how you want to be
credited (name, initials or handle, and a link) and include the same points as the issue below.
Without one: open an issue: https://github.com/dbourdeau/cyphersolver/issues/new?template=solution.yml&title=Solution%3A+catalogue+626&target=catalogue+626
(other kinds of contribution: https://github.com/dbourdeau/cyphersolver/issues/new/choose). Include:
- Target: catalogue 626
- the documents and the images you worked from;
- the key: sign-to-value table, code groups with values, nulls;
- the decipherment line by line against the ciphertext, with uncertain passages marked;
- the method (step 7), the share of tokens that give sense, complete or partial (step 6), and whether the
reading was already published anywhere;
- your step log (WORKLOG.md), and the tools and the 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.What is known
Status and prior art. Paz, Catálogo V (1912) no. 189: "Cartas (Siete) de Lope Hurtado de Mendoza á S. M. ... Una carta ológr. y otra en cifra." No descifrado noted. The repo has his 1522-24 Rome ciphers (lopehurtado1522, lopehurtado1523) but not this 1520 letter (known.py).
Outcome so far. Not yet attempted by the project. Prior-art check: open as far as checked (26 Oct 2026: repo has his 1522-24 ciphers only; Danvila's Comunidades volumes not grepped).
Check first. Map no. 189 to PTR,LEG,<n>,DOC on PARES; try the targets/lopehurtado1522 key; grep Danvila MHE 35-40.
Scores
- Importance
- 3 of 5
- Solvability
- 3 of 5
- Difficulty
- 2 of 5
- Class B
- part of a key or a known cipher family of the same office is in print or on DECODE
- Note
- Scored from the printed-catalogue description during the Oct 2026 PARES (AGS) sweep (research/pares_ags/); not viewed
Send a result
A reading, a partial reading, a transcription, or a source that shows it was read long ago: all of it counts and is credited to you on the site.
