先说明。 2026 年 5 月,本刊登过一篇继承父亲工作笔记本的文章。这个现场不是某个特定的作业场。 我们把它实际运转的形状照实构成,也不点名是哪里。以下是按那个形状自己做的,笔记内容是编的。
继承来的记录,难的不是读。是无从得知谁在什么时候知道了什么。
假设有这么一行:「梅雨季把三号阀松半圈。」 这一行的价值完全取决于是谁写的。 是把那台机器开了二十年的人写的,那是金子;是临时工从手册上抄下来的,那是需要核实的东西。
纸质笔记本不会替你区分。而且还会发生更糟的事 —一旦被证明是错的,就被抹掉。
订正不是删除
可以说这就是这个工具做的全部。
/// The id of the line this one corrects, if any. A correction never deletes.
final int? supersedes;
它实际长什么样,日志里有。
Father 1998: In the rainy season, back the third valve off half a turn.
-> ran without jamming that summer
[corrected by Son 2019: New seal kit since 2018 — the valve trick is no longer needed.]
Father 2001: Warm it fifteen minutes before the first piece, not ten.
-> first-piece scrap dropped
Son 2019: New seal kit since 2018 — the valve trick is no longer needed.
-> no jams in two seasons without it
Son 2023: Fifteen minutes still right after the motor swap.
-> not written down
1998 年那一行还在那儿。 只是旁边多挂了一条:2019 年换了密封件套件,这个招数不再需要了。
为什么要留?因为它不是一行错的,而是一行当时是对的。 1998 年把那个阀松半圈是对的,而如果把「那个判断为什么是对的」抹掉,等密封件再换一次时,下一个人只能毫无依据地从头开始。
// A corrected line keeps its text and gains a pointer. It never
// disappears — the previous owner's reasoning stays readable.
隐藏和抹掉不是一回事
话虽如此,也不必每次都看全部旧行。所以有两个画面。
全部视图显示关于那台机器写下的每一行。被订正的行也带着订正标记原样在那里。

「目前有效」视图把被订正的行拿掉。

日志把这层关系直接说了出来。
standing: #2 Father 2001, #3 Father 2004, #4 Son 2019, #5 Son 2021, #6 Son 2023
corrected line #1 is absent here but still present above
第 1 行不在这里,而它在上面。 而且画面底部就这么写着 —"Corrected lines are hidden here, not gone."
验证两边都看。
grep -q "back the third valve off half a turn.*\[corrected by Son 2019" captures/run.log \
|| { echo " a corrected line lost either its text or its correction"; exit 1; }
grep -q "corrected line #1 is absent here but still present above" captures/run.log \
|| { echo " the corrected line was not hidden from the standing view"; exit 1; }