Read further · read 93.0% · external key matched · partial

Robert Reade to his cousin, Paris, 19 April 1641

A clear letter with two cipher passages, catalogued on DECODE with writer and recipient unknown; the signature and endorsement identify Robert Reade, Secretary Windebank’s nephew, writing from the exiled household. The Deciphering Branch’s reconstruction of the Windebank cipher (DECODE R9115), filed in another volume, was found to fit; with 8 values rebuilt here, 93% of the significant groups are deciphered. The passages weigh whether Windebank can safely return under a summons.

Date
1641
Read now
93.0% of the cipher tokens give sense
Write-up
harley7001.html
Files
targets/harley7001
Open gaps
no key known

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/harley7001.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: Robert Reade to his cousin, Paris, 19 April 1641
This page: https://dbourdeau.github.io/cyphersolver/further/harley7001.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/harley7001.html (read it first: how the text was read, the key, the reading)
  Date:       1641
  Outcome:    external key matched · partial
  Read now:   93.0% of the deciphered cipher tokens give sense (pieces below may be untouched)
  Files:      https://github.com/dbourdeau/cyphersolver/tree/main/targets/harley7001 (NOTES.md, key, transcription, reading, scripts)

OPEN GAPS (from NOTES.md, "## Remaining gaps")
  1. [no-key-material: needs a new source] code groups 90, 160, 319, 359, 444, 452, 455, 487, 539, 650, 660, 673, 718 (x2) - blocker: no-key-material; blank in the only surviving key reconstruction (R9115); the only further source is Reade's other ciphered letters to Thomas Windebank, Paris, Jan-May 1641, calendared in CSP Domestic 1640-41 (TNA SP 16/476 ff., 'some sentences in cipher', printed unread) - needs-physical-access (TNA originals, not on DECODE or free online); each occurs once or twice, conjectured from context and alphabetical slot (6.5% of tokens; 203 done and 729 Court were later found as side notes on the key sheet)

ALREADY TRIED (from NOTES.md, "## Escalation")
  [x] siblings: R7767 (Harley 7001 f. 202, 1645) is a different Committee of Both Kingdoms cipher; Add MS 32256 key volume (R9113-R9219) searched by correspondent; only R9115 is Windebank's. All 1630-50 keys in the volume opened: R9114 (Laud 1636) is a blank printed grid, R9116 (Charles I to the Queen 1642) a frequency tally, R9117-R9119 are 1644-45 royal keys; none carries Windebank values
  [x] clear-pages: none; the clear text around the passages was used as context
  [x] known-keys: R8694 (Browne, Add MS 72438) tried first and failed; R9115 fits
  [x] print: CSP Domestic 1640-41 (archive.org full text) grepped: Reade's letters to Thomas Windebank calendared with cipher passages left unread, no decipherment; this confirms the recipient. Calendar of the Clarendon State Papers vol. 1 (1872, archive.org full text) grepped: Windebank's papers there stop at his flight (Dec 1640), no Reade letter, no 1641 key; web and Windebank literature searched; letter not printed or calendared (Harleian, not in CSP Domestic)
  [x] key-rebuild: alphabetical bracketing of the code filled the blanks as conjectures (524 return, 562 secure, 573 they, 660 willing ...; 600 take is on the key). Corrected 30 Sept 2026: 562 is "strong" on the key, and 660 has no slot support (see Corrections)
  [x] key-rebuild: (LM): en-1640s ranking of bracket-consistent candidates for the 13 blanks (`lmfill.py`) does not discriminate (prefers the shortest word, e.g. come/he/of); no conjecture upgraded
  [x] key-rebuild: (constrained search): `beamfill.py` scored every en-1640s corpus word lying alphabetically between each blank's nearest key neighbours in full decoded context. 5 of the 12 open code values have out-of-order neighbours on the key (only>offered, out>our, such>shall, when>England), so the code is not strictly alphabetical and the bracket admits nothing; elsewhere the top candidates are function words or noise (can, he, js, ed). Nothing upgraded; single-occurrence code words cannot be fitted by annealing/EM, which need recurrences
  [x] key-rebuild: (seeded anneal): `annealfill.py`, coordinate ascent over the 2000 most frequent corpus words per blank code, seeded with the conjectures, objective = en-1640s LM on both passages: converges to function words (was, he, and, that, a); 0 of the blanks keep a sense reading. The LM rewards frequency, not meaning, on single-occurrence code words; nothing upgraded
  [x] key-margin: (5 Oct 2026, push to 95%): the 650 margin entry on R9115 f.1 read at full resolution: '650. w[r]it' with h above (writ/with/wait?), not 'way', and none of these fits the context, so 650 stays M; no side notes for the other 12 open values on either key page. Still 201/215 = 93.5%; 95% needs 4 more of the 14 single-occurrence blanks, blocked on key material (TNA SP 16 Reade letters, physical access)
  [x] retry: all groups re-run with the corrected glyph readings (φ, Δ, ɔ, δ); 191 of 215 read from key values, 11 more from rebuilt values (re-measured 30 Sept 2026: 193 and 8, see Corrections)

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/harley7001/NOTES.md in full, and the
   key, transcription and reading files it names; lang/README.md (shared language models).
   Work in targets/harley7001/. 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/harley7001/. 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+harley7001&page=harley7001.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.

Already tried

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.

Open a further-reading issueOther kinds of reportHow credit works← All partial readings