Where the work stands · 27 August 2026
Restoring the Yilin
An old Chinese book, four thousand short poems, and three jobs that have to happen in a particular order. Written for someone who has never heard of any of it.
This is the map for the rest of the series. The other articles here go deep on a single character or a single disputed stroke. This one says what is being rebuilt, in what order, and why the order is not a matter of taste.
Start with the book
The Jiaoshi Yilin — 焦氏易林, the Forest of Changes — is a Chinese book from roughly two thousand years ago. It holds 4,096 very short poems: four lines each, four characters a line. Every one is filed under a pair of hexagrams, the six-line figures people know from the I-Ching. Sixty-four times sixty-four is 4,096, and that is the entire structure of the book.
Six Lines shows you one of these poems, an English rendering of it, a longer explanation of what it means, and a painting made to match. Four things hang off each poem, and all four are only ever as good as the poem itself.
One poem in full · 1‑1, Qian to Qian
道陟多阪,胡言連蹇。譯瘠且聾,莫使道通。請謁不行,求事無功。
The road climbs slope upon slope; the foreign tongue comes halting and lame. The interpreter is gaunt and deaf; none can make the way clear. Petitions go unheard; what is sought bears no fruit.
Now the problem, which is the whole story
Nobody has the original. What survives are copies, and the copy we work from is a hand-written imperial manuscript from the 1780s, photographed leaf by leaf. Someone has to look at that handwriting and decide which character is which.
For years this app did not do that. It used text typed up by a public website. That was a reasonable place to start and a poor place to stay, for two separate reasons: it is somebody else's labour, and it is somebody else's reading — their judgement calls about smudged characters, not ours.
So the text was read again from the photographs. And here is the fact a newcomer needs before anything else makes sense: two careful readers of the same old handwriting do not always agree. When the manuscript was read afresh, 3,397 of the 4,096 poems changed by at least one character.
The same line, read two ways
道陟石阪 … 譯瘖且聾
道陟多阪 … 譯瘠且聾
One reader saw 石, “stone”; the other saw 多, “many”. One saw 瘖, “mute”; the other 瘠, “gaunt”. A stone slope and a slope upon slope are not the same picture, and a mute interpreter is not a starving one.
Every English rendering, every explanation and every generated painting was made against the old reading. When the Chinese moved, none of them moved with it.
That is the shape of the entire project. Not “the text has typos” — the text is settled now. It is that everything built on top of the text is still describing the previous version of it.
Job 1
Prove the words are ours
DoneBefore fixing anything, one question had to be answered honestly: is the text the app ships genuinely our own reading of the manuscript, or is some of it still the website's? That matters for the ordinary reason — you should not build on someone else's work without saying so — and it matters practically, because if the foundation is borrowed, every correction stacked on top of it is built on sand.
The test is subtler than “is our text different from theirs?”, and getting it right took some care. Two good readers of the same page should often agree. Agreement is not evidence of copying. So the real question is: where our text matches theirs, could our own reading process have produced that on its own? If yes, it is agreement. If no, it is a problem.
0
borrowed readings in the poems the app ships
out of 4,096
16
rows that match the website exactly
each cleared — our own scans produce that reading
1,234
distinct characters demonstrably our own reading
counted over the 1,280 poems the website can be held to
The guard that produces the first of those numbers is deliberately asymmetric. It never fails a verse for merely resembling the website's; a check that punished similarity would reward introducing errors in order to look independent, which would corrupt the text in the name of protecting it. It fails a verse only when our text equals theirs and nothing in our own photographs, scans or editorial notes could have produced that reading.
The answer for everything a reader actually sees is clean. Two internal files did carry old text — not poems shown to anyone, but bookkeeping records of “here is what this used to say”, which had quietly gone out of date. Those are now refreshed, and the superseded wording is kept as a fingerprint rather than as text, so the record of the change survives without the change surviving with it.
One correction, because it cuts the other way
Partway through this, the yardstick itself turned out to be unreliable. The file being used as “the website's text” was only partly that: some of it was an old snapshot of our own earlier work. An early claim of 83 borrowed readings was really 11 confirmed, and it was retracted.
It has since been fixed properly, upstream, by labelling every line with where it actually came from: 1,280 of the poems now carry a citation to the web page they were transcribed from, and the other 2,816 are marked as our own older text with no such citation. Finding our old wording in the second group says something worth knowing — but it says nothing whatsoever about the website. Keeping the two apart is the difference between a provenance claim and a vibe.
It also shrinks the claim, twice. The figure above is counted only over those 1,280 poems, and comes out at 1,234 characters — where comparing all 4,096 undifferentiated would have yielded 2,216. And the first attempt to fix this counted 1,383 poems rather than 1,280, by asking whether a line's wording was ever cited rather than whether that poem was. Both numbers were mine and both were too generous. What is reassuring is that the proportions barely move: 83% of lines differed before the correction, 81.7% after.
Job 2
Make the English describe the Chinese again
Next, and the big oneThis is the bulk of the remaining work. An explanation that discusses a 石 “stone slope” sitting underneath a poem that reads 多 “slope upon slope” is not slightly out of date. It is telling the reader about words that are not on the screen.
There are two layers of English, and only one has been swept
This distinction matters more than it sounds, and it is easy to blur even from the inside — I blurred it myself in a working note the week before writing this.
The gloss is the plain rendering of what the Chinese says. It is also what feeds the painting. That layer has had its pass: sixty-four hexagrams read one at a time against the manuscript, 2,900 of the 4,096 glosses rewritten at least once, and the pass closed when the correction rate fell from one in four to one in twenty.
The explanation is the longer paragraph about what the poem means — the hexagram pair, the classical allusion, the argument. That layer has never been swept at all. Poem 1‑1 shows the split on a single screen.
One poem, two layers of English · 1‑1
gloss
The road climbs slope upon slope … The interpreter is gaunt and deaf.
explanation
… here the road climbs a stone slope and every step falters. The interpreter is mute and deaf …
天行健,乾之重卦 … 然道陟石阪,步步蹇滯。譯者既瘖且聾 …
The gloss reads the manuscript. The explanation still quotes 石阪 and 瘖 — two characters that are no longer on the page. Its Chinese quotes them verbatim, which is also, conveniently, how a machine can find it.
That last detail is the test. Does the English still quote wording that belonged to the old reading and is gone from the new? If so, the prose was written about different words. The test cleans up after itself, too: rewrite the explanation and the flag disappears on its own.
Why the number just jumped by a thousand
Until this week the test had a crude filter in front of it. Before bothering to check the English, it asked “did the Chinese change much?” — and if the two versions were 90% similar it assumed the change was cosmetic and skipped the row.
That filter could not tell apart two completely different things.
- The same word, written differently. 無 and 无 are both “not have” — like colour and color. Nothing about a translation changes. This happens constantly: that one pair alone accounts for 394 places across 413 poems.
- A different word entirely. 石 “stone” against 多 “many”. Everything changes.
Both look like “two characters moved in a twenty-four character poem”, so a similarity score treats them identically. Poem 1‑1 scored 0.917 and was thrown away — the very poem that demonstrates the problem.
The replacement asks a better question, one character-pair at a time, and the idea behind it is neat: a variant spelling is one word written two ways, so it is pronounced one way. If two characters share no pronunciation at all, they cannot be spellings of the same word — they must be different words. That single rule sorts most of the pile automatically, with no judgement involved and nothing to tune.
One more decision is worth naming, because it is the kind that only looks like housekeeping. That sorting is now done once, in the repository that holds the manuscript, and the answer is copied to everything that needs it. It used to be worked out separately in each place — and the two answers had already started to differ, by exactly one poem out of 4,096. One poem is nothing. Two places quietly computing the same thing is the mechanism that let the borrowed text survive here for a year, every file agreeing with every other file and all of them wrong.
1,916
explanations flagged before
2,921
flagged now
+1,005, with no explanation touched
241
genuinely cosmetic
correctly skipped
The number went up by a thousand because the old filter was hiding them, not because anything got worse. It is worth being blunt about that: this week's work made the backlog bigger and the estimate honest, and those are the same act.
Job 3
Write new poems where the book repeats itself
Nearly finishedThe Yilin repeats. The same four lines appear at several different hexagram pairs — one verse turns up at seven of them. In a printed book that is a curiosity. In an app that generates a painting for every poem, it means the same painting appears in several places, which reads as a bug and undermines the whole thing.
So for each repeated group, one occurrence keeps the received text — it is the real book, and it stays — and the others get a newly written verse. The rules for writing one are strict, because the alternative is inventing fake antiquity:
- Draw the imagery from that row's own two hexagrams, so the poem belongs where it sits.
- Keep the original's mood and fortune. If the received verse is auspicious, the replacement is auspicious — but it has to say so in a different register.
- Do not reuse an image the original already used, or one spent on an earlier replacement.
- Every character must be one the book itself actually uses. A checker refuses the verse otherwise. A character can still be right when the book never uses it — but then the reason gets written down and defended, not waved through.
A replacement, written this week · row 52‑16
公子王孫,把彈攝丸。發輒有獲,室家饒足。
received — “Princes and noble sons, grasping the pellet-bow. Every shot finds its mark; the household is rich and full.” Kept at its first home; repeated here.
兼山不動,思不出位。雷出地奮,大有所得。
written — “Mountain doubled upon mountain does not move, and his thoughts do not stray beyond his station. Thunder comes out of the earth and rouses it, and the gain is great.” The same good fortune, arrived at through stillness and thunder instead of hunting.
298
written so far
10
still owing
across 10 repeated groups
5
of those also need new English
Why job 3 goes before job 2
Job 2 is far bigger, so it looks like the thing to start on. It isn't, and the reason is small and concrete: five of the ten poems still owed a new verse are also flagged as needing new English.
Translate one of those now and the poem underneath it changes next week, and the translation is thrown away. Ten rows of verse-writing — two or three short sessions — clears the overlap completely. Then the English pass can run over the whole book without stepping on itself. The overlap was 27 rows a fortnight ago; most of the argument for the ordering has already paid for itself.
What is waiting on the manuscript project
A second repository holds the manuscript work itself — the photographs, the readings, the editors' notes. Some of job 2 depends on it, but much less than it first appeared.
2,756
can proceed now
94% of job 2
165
must wait
6%, pending a ruling
523
character pairs to be ruled on
upstream
Those 165 are the genuinely undecided cases: two characters that share a pronunciation but are not listed anywhere as spellings of one word. They might be variants, or they might be different words, and the honest answer is that a person has to decide, against a proper dictionary. Until then they stay flagged rather than quietly dropped — and when the ruling comes, that number should fall.
A few words that keep coming up
- Hexagram
- One of the sixty-four six-line figures of the I-Ching. Every poem in the Yilin is filed under a pair of them, which is why there are 4,096.
- Gloss
- A plain English rendering of what the Chinese says — as distinct from the longer explanation of what it means.
- Witness
- A surviving physical copy of a text. Ours is an imperial manuscript copied in the 1780s.
- Variant
- One word written with a different character — 無 against 无. Telling these apart from genuinely different words is most of the difficulty in job 2.
- Provenance
- Not “is our text different from theirs” but “where did ours come from”. Job 1 is entirely a provenance question.
Figures measured 27 August 2026 against the vendored corpus release and re-derivable from it. Translations and composed verses are machine-authored and marked unreviewed by a classicist wherever they are recorded; that stamp is accurate. See also When the Ink Cannot Decide, The Last Three Verses, Reading the Manuscript and our editorial policy.
