Repository path: workshop/experiments/E-20260812-unlicensed-typography/design.md · rendered 2026-09-09
Page metadata (front matter)
| type | experiment |
|---|---|
| id | E-20260812-unlicensed-typography |
| status | frozen |
| created | 2026-08-12 |
| updated | 2026-08-12 |
| senses | perceived-source-carriage, style-correspondence |
| internal-judgment-only | true |
| provisional | true |
| links | wiki/arms/ARM-source-beliefs.md, wiki/findings/results/RS-20260811c-source-beliefs.md, workshop/translations/korotenkiy-roman/R06-v1/translation.md, workshop/regimes/R06-lead-single-pass.md, wiki/goodness-senses.md |
E-20260812 — how much of a translation's expressive typography is the source's?
ARM-source-beliefs step 2, T2. Frozen before any count was taken and before the pre-run critic
was dispatched. No judge call, no jury, no scoring model: the measurement is arithmetic over
stored public-domain texts. The only API call this design licenses is the pre-run critic.
1. Why this, and why now
RS-20260811c measured the demand side of a channel: three blind seats read one English
rendering of a Swedish story and answered mechanically-scored TRUE/FALSE statements about the
Swedish. They scored 0.9383 on the arm whose form came from the source and 0.2500 on the
flattened arm — below chance, in the direction the English pointed. On the four unlicensed
markedness operators the flattened-plus-marked arm scored 0.1017, and on the two typographic
ones — one exclamation mark, two italicised words — it scored 0.0000, every seat, every segment.
Its confidence on those wrong answers was 5.887 of 6, higher than any other arm's on anything.
Typography lured absolutely.
That run built its marked arm on purpose, with the lead's own hand, to see whether the lure exists. It does. What it cannot say is whether anybody supplies it. A channel that carries falsehood perfectly is of no interest to a translator if real translation never puts anything into it. This design asks the supply question, and it asks it of published hands rather than of the project's own:
In published literary translation, how much of the expressive typography an English reader sees is licensed by the source, and how far do independent hands of the same source differ from each other?
The second clause is the load-bearing one. Cross-language punctuation conventions differ, so a
raw source-vs-translation delta confounds convention with choice. Disagreement between independent
hands of the same source does not: whatever three translators of one text do differently, the
author did not do. Where they disagree, the mark the reader sees is the translator's, and
RS-20260811c says the reader will read it as the author's.
The paired translation limb is T-korotenkiy-roman-R06-v1 (Garshin, «Очень коротенький роман»,
whole, frozen at commit 447e362 before this file was written). The wire in one sentence: the
published-hands census measures how much of a translation's expressive typography is not the
source's, and the translation limb tests, against a prediction registered in its frozen log before
any count existed, whether a translator can see his own share of it.
2. Materials
Corpus A — three published hands, one source. Gogol, «Шинель» (1842), whole story.
| id | text | language | date | provenance |
|---|---|---|---|---|
RU |
«Шинель», ПСС 1937–52 vol. 3 text | Russian | 1842 | ru.wikisource, page Шинель (Гоголь)/ПСС 1938 (СО), MediaWiki API, 2026-08-12 |
HAP |
Isabel F. Hapgood, "The Cloak" | English | 1886 | Project Gutenberg 1197, Taras Bulba and Other Tales |
FLD |
Claud Field, "The Mantle" | English | 1916 | Project Gutenberg 36238, The Mantle and Other Stories |
KAS |
Rudolf Kassner, "Der Mantel" | German | 1911 | Project Gutenberg 27973 |
Corpus B — one hand, its own source. Garshin, «Очень коротенький роман» (1878), whole.
| id | text | language | provenance |
|---|---|---|---|
GAR_RU |
copy-text, SHA-256 dc6dfd76…d953b |
Russian | ru.wikisource, 2026-08-12 |
LEAD |
T-korotenkiy-roman-R06-v1 |
English | lead, R06, frozen 447e362 |
Registered exclusion, decided before any count. Constance Garnett's "The Overcoat" (1923) is
excluded. The only reachable copy is uncorrected OCR of an Internet Archive scan
(overcoatothersto0000niko_djvu.txt); its first lines read — iste a, —_— > = wht. A typographic
census over uncorrected OCR measures the scanner, not the translator. Garnett is the default
English Gogol and her absence weakens the census; saying so is cheaper than a number that means
nothing. Kassner's German is included as a cross-language check, not as a fourth English hand.
3. What is counted
Per text, over the story body only (headings, PG boilerplate, translator's prefaces and footnotes
stripped by build_materials.py, which prints what it stripped):
Primary marks — expressive, and comparable across all four languages:
| key | mark | counted as |
|---|---|---|
excl |
exclamation | ! |
ques |
question | ? |
ellip |
suspension | …, ..., . . . |
dash |
dash | —, –, --, ---- (PG transcription conventions), ‑‑ |
semi |
semicolon | ; |
Secondary, reported but not primary: : colon, ( parenthesis pair.
Registered exclusions from the count, and why. Quotation marks — « » vs " " vs „ “ is a
national typesetting convention with no authorial content. Commas and full stops — structural.
Italics — not recoverable identically across a Wikisource transcription and three Gutenberg
transcriptions, and the one place RS-20260811c found the strongest lure; that this census cannot
measure the strongest known lure is a limit of the census and is stated in the result.
Rates are per 1,000 words, words counted as whitespace-delimited tokens (Python str.split(), after
non-breaking-space normalisation).
4. Predictions, registered
P1 — the hands disagree at least as much as they disagree with the author. For each primary
mark, over the three published hands, compute the hand spread = max rate ÷ min rate. Prediction:
spread ≥ 2.0 on at least two of the five primary marks. Failure: fewer than two.
P2 — at least one English hand departs from the source substantially on the exclamation mark.
Prediction: |HAP or FLD rate − RU rate| ÷ RU rate ≥ 0.50 for at least one of the two.
Failure: both within 50%.
P3 — the translator's registered self-prediction. T-korotenkiy-roman-R06-v1 log D11,
frozen before any count: within ~10% of the source on every mark except the dash, within 40% on the
dash. Scored mark by mark against GAR_RU. Registered failure criterion: if any non-dash primary
mark is off by more than 10%, D11 fails. This is a prediction about the lead's self-knowledge as a
translator, not about the project's instruments; it is scored as arithmetic and no judgment is taken
on it.
P4 — the phenomenon is not English-specific. KAS's departures from RU are of the same order
as the English hands'. Prediction: KAS is not the closest hand to RU on a majority of the five
primary marks. Failure: KAS closest on 3 or more.
Registered as exploratory, not primary: any per-paragraph or per-quintile profile; the secondary marks; anything about which hand is "better".
4a. Amendments written after the G1 table was seen and before the critic call
Disclosed as a researcher-degrees-of-freedom problem, not tidied away. build_materials.py
prints, per G1, the raw punctuation forms found in each container before normalisation. That is a
count. Running it therefore showed me the absolute mark totals before the following two rules
were fixed, and both rules change what P1 and P3 say. The rules are recorded here, dated, with
the fact that they are post-hoc on their face; the pre-run critic is given this section.
A1—P3is scored twice, absolutely and by rate, and both are reported. §3 says rates are per 1,000 words; log D11 says "within about 10% of the source on every mark", and does not say of what. An English rendering of Russian is normally longer, so the two conventions can disagree by the whole expansion ratio, and here they do. Neither is privileged and the failure criterion binds on both: D11 is scored PASS only if it passes under both conventions, FAIL if it fails under both, and SPLIT, reported as such, if the conventions disagree. A SPLIT is not a pass.A2— the zero-denominator rule forP1. Hand spread is max rate ÷ min rate and is undefined when a hand has none of a mark. Rule: if min = 0 and max ≥ 5 occurrences in the larger hand, the spread counts as satisfying the ≥ 2.0 threshold and is reported as∞ (n/0); if max < 5 the mark is dropped fromP1as too sparse to carry a ratio. Five is the threshold below which a difference is one or two sentences' worth of choice.
5. Gates and confounds
G1transcription gate. Gutenberg transcriptions render em-dashes as--or----and ellipses as. . ..build_materials.pyprints, per text, the count of each raw form found; if a text contains a form the count table does not cover, the census does not run until the design is amended in writing. Failure to normalise a text confidently excludes that text.G2abridgement gate. Field's "The Mantle" is expected to be short. If any hand's word count is more than 25% from the median hand's, absolute counts for that hand are not reported at all and only rates are, with the length stated in the same table.G3dialogue-density confound. Exclamation marks live in direct speech. Per text, report the proportion of words inside quotation marks (any convention). If the English hands differ by more than 10 percentage points,P2is reported with that caveat and is not the headline;P1, which is a between-hand comparison, is affected equally by it and is the headline regardless.G4source-edition gate, declared and not controlled. Both Russian copy-texts are single modern editions of nineteenth-century texts whose punctuation has been editorially normalised. The source rate is therefore an editor's rate as much as an author's, and every source-vs-hand figure in this run inherits that. It does not touchP1, which compares hands to each other.G5translation-of-a-translation. Field 1916 may have worked from a German or French intermediary; the volume does not say. If so his typography could be an intermediary's. Declared as an uncontrolled alternative explanation forFLDspecifically, andP1survives it — an intermediary's marks are still not Gogol's.G6one author, two stories, four hands. Nothing here generalises past the texts counted.
6. Procedure
build_materials.py— extract each story body from its container, normalise transcription conventions perG1, writematerials/*.txt, print SHA-256 and what was stripped. No counting.- Pre-run critic — one call, one non-Anthropic seat, this file and the built materials manifest.
Findings accepted or overruled in writing in
critic.mdbefore step 3. census.py— the count, writingresults.json.verify.py— recompute every reported number by an independent path; mutation tests that must be caught.- Result page; then the arm's owed writing, which this run exists to make possible or to refuse.
7. Cost
Pre-run critic only: one call, seat openai/gpt-5.6-terra (P1), max_tokens 3,000. Worst case
built from the cap, not from an expected answer (note (abc)): 3,500 prompt tokens at $1.00/M plus
3,000 completion at $6.00/M = $0.0215; declared ceiling $0.03. P1 is chosen over the seats
with hidden-reasoning histories (P2, P4, P5 have all returned finish_reason: "length" with null
content in this project) because note (bmb) is unfixed in run.py and the day's headroom is
$0.237. Everything else in this run is $0.