Repository navigation
Releases: beskvladimir-create/tsiolkovsky-papers
Release list
Corrected counts
A correction, not new material.
The legend at the head of every archival file explains the notation by example — [?], [неразборчиво], ~~struck~~ — and the counter was reading those examples as real marks: one struck passage and two doubts per file, across 2,019 files.
Corrected: 299,939 uncertainty marks, 36,446 authorial deletions. v1.4.2 said 303,977 and 38,465; v1.4.1 said 310,166 before the looping repeats were folded.
Nothing in the transcriptions changed — only the counting of them. This is the second inflation of the same figure found in two weeks, and both were artefacts of our own markup rather than of the reading itself.
The corpus is now also on Hugging Face as JSONL, one row per sheet with page type, uncertainty counts, archival dating and a link to the scan: https://huggingface.co/datasets/vladimirbesk/tsiolkovsky-papers
Corrected: looping repeats folded
A correction to the corpus, not an addition to it.
On 236 sheets of 51,008 the model looped, repeating a single line of markup dozens or hundreds of times — 635 times on the worst sheet. What repeats is always markup ([вставка: [неразборчиво]], [на полях: …]) and never text, so no content was invented. But each repeat was counted as a mark of uncertainty, and 6,189 of the 310,166 marks reported in v1.4.1 were exactly that.
Corrected figures: 303,977 uncertainty marks, 38,465 authorial deletions.
fix_loops.py folds a run of three or more identical lines into one and leaves a note in its place saying how many were folded. Deleting them silently would have been worse: a sheet where the model came apart should say so, or the artefact becomes indistinguishable from the reading.
The defect was found by opening a file in order to translate it — an argument for reading one's own corpus rather than only measuring it.
The fond is whole
All 2,019 archival files and all 51,008 sheets of fond 555 are now transcribed.
The two sheets that no model would read are read. They were never a hard hand: they are a German typewritten review of Tsiolkovsky's 1927 Kaluga pamphlet, printed text that models decline to repeat verbatim (finishReason=RECITATION). read_stubborn.py reads such a sheet in strips, halving any strip the filter refuses; the remainder was read off the scan directly. Both sheets say in their own text how they were read.
Also in this release: validate_corpus.py matches archival files to publications on Russian Wikisource by title rather than by hand, and reports what the score contains — 92.4% of characters where the archival file holds the redaction that was printed, about 24% where it holds a draft or the materials for an article, kept apart rather than averaged into one figure.
Corpus totals: 310,166 uncertainty marks and 38,474 authorial deletions, marked explicitly. It remains a machine transcription checked by no human against the scans.
The fond transcribed whole
The corpus was a fifth of the fond. It is now the fond: 2,018 archival files of 2,019, 50,962 scans, with 309,900 uncertainty marks and 38,449 authorial deletions marked explicitly.
How the remainder was read
Which model to use was settled by measurement rather than by price list. measure_gemini_hand.py scores candidates on handwriting against the typed copy of the same text, with the existing pipeline as the baseline on the same sheets. On typical handwriting no model beat the pipeline and the cheapest was not worse: the limit is the material, not the model. The remaining 41,212 scans were then read in one night in batch mode for about $39.
What was verified
check_batch_quality.py scores the whole of it, not a sample: two readings of one text — a handwritten sheet against the typed copy in the same file — agree on 37% of words over 1,371 pairs from 194 files, the same as the part read earlier.
validate_corpus.py matches archival files to publications on Russian Wikisource by title and scores them. Where the file holds the redaction that was printed (10 files), agreement is 92.4% of characters. Where it holds a draft or the materials for an article, it falls to about 24% — the distance between manuscript and edition, not misreading. The two are reported separately rather than averaged.
The 98.1% and 81.1% in the preprint were scored on the part the earlier pipeline read and do not extend to the whole corpus.
Also in this release
The site searches the whole corpus. Its full-text index ships split by initial letter and fetched per query — 6 KB for the file list, a median 8 KB per piece, instead of 3.7 MB at once.
Known gaps
One archival file is not assembled: two of its scans are refused by every model tried, and the refusal is recorded rather than worked around. The corpus is a machine transcription with uncertainty marked, checked by no human against the scans.
Every file dated, and the limit of the reading measured
Two additions, both resting on data with no recognition error in it.
The dating of the fond. The archive's portal carries an opening and closing date on every file's card, but the field had never been collected, and only 46 of the 2,019 file descriptions state a year themselves. delo_dates.csv now holds it for all 2,019 files: 1,971 dated, 1878–1935, with the archivists' conjectural-dating flag kept separate so that arguments about order never rest on an inferred date.
What it shows, for the author's own work in opis 1:
- 82% of the files fall in the last eighteen years of a working life of nearly sixty
- the final four years, 1932–1935, hold 40% of the files but only 27% of the sheets, so late work does not stop, it shortens
- the variant numbers in the archival description are not chronological: «Ступени человечества и преобразование земли» has its second variant dated 1.09.1920 and its first 19.10.1920, both dates firm
- the response to the 1934 notice «Кто видел болид?» is over within weeks, 196 of 216 dated letters arriving in a single month
Report: fond-in-dates.md, also in Russian.
How far reading error reaches. Part of the fond holds one text twice, as an autograph and as a typed copy in the same file. Transcribing both isolates the reading error exactly, since the source and the pipeline are identical and only the difficulty of the page differs. Across 400 such pairs from 31 files, two readings of one handwritten page agree on 38–55% of words and share no verbatim run longer than about fifteen words.
This does two things. It confirms the page classifier by a second, independent signal, on 400 pairs rather than the 19 hand labels. And it rules out word-level collation of two manuscripts: the two variants of Kosmicheskiy korabl' share 19% of their words, which is below the rate at which two readings of a single page agree. compare_variants.py reads that floor back and reports nothing when the observed similarity fails to clear it, so the tool cannot produce a spurious result.
Also in this release. The corpus stands at 98 archival files and 4,066 scans, with 3,216 authorial deletions preserved. The repository is brought into one language: comments and docstrings in English throughout, with Cyrillic left only where it is load bearing.
Rocketry core complete, and a corrected page classifier
The priority set is transcribed in full: 98 archival files, 4,066 scans, covering the rocketry core of fond 555 and reaching into all five inventories.
Accuracy, measured against published editions
| Material | Characters | Words |
|---|---|---|
| Typescript (file 33) | 98.3% | 92.1% |
| Handwriting (file 150, spelling folded) | 81.1% | 73.7% |
A correction that matters
The page classifier in v1.1 separated typescript from handwriting by the regularity of line spacing. That is wrong: neat cursive is spaced as evenly as type, while typescript with paragraph indents looks irregular. It misclassified 29% of the fond and understated typescript nearly threefold. Corrected composition is 68% handwritten, 29% typewritten or printed, 3% notes — not the 83/12/5 published earlier.
Nothing about the metric revealed this. It surfaced only when a transcription scored worse against a published edition than the same pages had scored before.
378 scans had been routed to the wrong model and were re-read. On 156 pages of typescript the model had invented pre-reform letters the page does not carry; median invented archaisms per word went from 0.251 to zero. Three quarters of the mis-routed typescript had in fact been read correctly and were left alone.
The replacement classifier uses variation in ink-run lengths along a line, validated against 19 hand-labelled pages in labelled_pages.csv. Nineteen labels is a small validation set and is stated as such.
Machine transcription with uncertainty marked. Not a scholarly edition, and not checked by a human against the scans.
First transcriptions: the rocketry core
First release of transcribed text: 1,238 scans across 8 archival files, transcribed in full.
Includes both variants of "The Spaceship" (files 46 and 47), "Exploration of Celestial Space by Means of Reaction Devices" (34), "The Reaction Device — the Rocket" (35), "The Aeroplane — Rocket" (51), "Album of Space Journeys" (84) and "Life in the Cosmic Ether" (252).
Original orthography is preserved, including the pre-reform letters ѣ, і, ъ and ѳ. 8,421 uncertainty marks and 2,394 authorial deletions are marked explicitly, so doubtful readings can be checked rather than trusted.
Only files transcribed end to end are included: a partial transcription reads as a complete text with the middle silently missing.
Machine transcription with uncertainty marked. Not a scholarly edition, and not checked by a human against the scans.
Complete catalogue of fond 555
First complete release: a machine-readable catalogue of fond 555 of the
Archive of the Russian Academy of Sciences — the personal archive of
Konstantin E. Tsiolkovsky (1857–1935).
Contents
- All 2,019 files of the fond across its five inventories, 51,008 scans
- Real archival inventory and file numbers, so each row is a citable
archival reference - 97-file priority list covering the rocketry core of the fond
- The retrieval, classification and validation pipeline that produced it
Measured, not asserted
- 51,008 scans retrieved and structurally verified, zero corrupt
- Page composition over the whole fond: 83% handwritten, 12% typewritten,
5% notes and covers - Transcription accuracy against a published edition: 98.1% at character
level (file 33, typescript)
Catalogue released CC0, code MIT.