論述基礎與限制

本卡由一批硬體排錯 work-log 的審查末端抽出。多輪審查跑完之後,待辦裡有三項是「某型號的某個指令實際輸出什麼」「某機型的偵錯介面鎖成什麼樣」這一類,而作者當時的處置是照本站既有的三層標註寫進去、把沒驗過的那幾句標成 caveat。站主否決的是整個做法,理由不在保密:寫進去的值會讓該去自己機器上查的人改讀文章。

單一站點、單一批次的自陳,機制由結構推出而未另外量測。 本卡沒有「讀者實際照抄的比例」這類數字,也不需要——處置由代價的方向決定,不由發生率決定。


核心原則

一段文字寫出特定實例的值之後,它就佔據了讀者原本要自己查的那個位置。 讀者要的是「我這台是什麼」,而文章給了「有一台是什麼」;兩者在版面上長得一樣,而特定實例的值正好是他那台會不一樣的那些——在每一台機器上都一樣的那幾類(規範定義、公開 API 的行為、機制)本來就不必他查。

所以這一類內容的危害與它的正確性無關。文中的值可以完全正確、來源可以完全可靠,而讀者把它用到自己的系統上仍然是錯的,因為那個值從來就不是關於他的系統的。

判別問句:讀者拿這一句去用,他是去查自己的系統,還是直接照抄。 照抄的那一種要改寫。


為什麼「標註未驗證」不夠

三層標註(驗過 / 標 caveat / 移除)對大多數未驗證內容是合理的處置,而它對這一類失效,差別在誰承擔預設。

標註假設讀者會讀到那個標記、並且因此改去查自己的系統。不寫假設他不會。前一個假設要讀者的自律才成立,後一個由文章的結構保證——沒有可抄的東西時,不需要任何人記得規則。

這與另一條結構性處置同形:一個欄位被降級之後,接手的閘門要在輸出上比它更像判斷標準,否則被降級的那個會靠版面繼續當閘門用。兩者都在說同一件事——把正確行為交給人的記性,代價由每一次遺忘承擔;把它做進結構,代價付一次。

還有一層讓標註更弱:caveat 是給讀完那一段的人看的,而照抄的人多半是搜尋直接落在那一行、複製、離開。他經過的路徑上沒有那個標記。


與「避免專案綁定敘事」的失效方向相反

本站另有一條規則要求教材不預設讀者熟悉特定內部專案。兩條看起來同族,而它們防的失效方向相反:

專案綁定敘事本卡
讀者的狀態讀不懂——缺少那個專案的脈絡讀懂了,而且相信了
失效的訊號當場就有:他卡住了沒有:文章讀起來完全正常
浮現的時點閱讀當下他把那個值用到自己的系統上之後

第二欄的失效因此不可能由讀者回報——他不會知道問題出在文章。這使它只能在寫作端擋,而擋的方式是不留可抄的東西。


「需要實機才寫得了」多半是誤判

同一批待辦裡另有兩項標成「需先實機確認」,逐項檢查之後沒有一項被硬體擋住。混淆在於把有了會更好講成需要。

一個主題通常可以拆成兩半:問題的形狀與該去哪裡查(在哪一層、用什麼機制、退到哪裡),以及某台機器上的具體答案。前一半不需要硬體,後一半依本卡不該寫。所以「等機器」這個判斷同時擋掉了該寫的那一半、又保留了不該寫的那一半——兩邊都錯。

把「需要實機」寫進待辦另有一個下游代價:往後每個看到它的人會直接跳過那一項去等硬體,而它現在就寫得了。


修法

把描述換成該去哪裡查。 不寫「這個欄位在這台機器上是什麼」,寫「這個欄位要在自己的機器上用什麼指令看」——寫成查法對每個讀者都成立,而且它交付的是能力不是答案。

機制需要具體例子才講得清時,用明顯的佔位值並寫明它是佔位的。 跨層的表示法差異、欄位的形狀這一類,抽掉數字就看不懂;保留一個一眼看得出是編出來的值,機制保住而照抄的誘因消失。

不受這一條約束的三類:機制、規範定義、公開 API 的行為。它們在每一台機器上相同,讀者查證與照抄得到同一個答案,所以寫出來沒有取代任何東西。


跟其他抽象層原則的關係

原則關係
#340 版號擋不住並行覆蓋共用「結構保證勝過人的記性」這個處置形態:那裡是接手的閘門要在輸出上比被降級的欄位更像判斷標準,這裡是不留可抄的東西。兩者都不需要有人記得規則。
#333 查核責任分類上游關係:那張卡管回報者有沒有自己量過,本卡管量過的值該不該寫進給別人看的文字。一個值可以來源真實、記錄誠實,而寫出來仍然有害。
#317 已經記錄過的失效仍然重演caveat 為什麼弱的機制在那張卡上:一份記錄要生效,讀的人得先有理由打開它。照抄的人不會經過 caveat 所在的位置。
#341 讀者定位擋住科普化的同一句話,供應了省略解釋的理由反向的一對:那張卡管該寫而沒寫(省略在產物上沒有痕跡),本卡管不該寫而寫了(寫出來在產物上完全正常)。兩者的共同點是產物看不出來。
#360 示範指令的引數要說明互補的一對:本卡管不該寫的值寫了(讀者照抄一個關於別人機器的答案),那張管該寫的值寫了而沒說它是什麼(讀者照抄一個他其實要換的位置)。兩張共用同一個判別動作——讀者拿這一句去用,他是去查自己的系統還是直接照抄。
docs/rules/writing.md〈不預設讀者熟悉特定專案〉(舊版的原則五)「避免專案綁定敘事」失效方向相反,詳見本卡的對照表。〈不預設讀者熟悉特定專案〉的失效讀者當場知道,本卡的失效讀者永遠不會知道是文章害的。

判讀徵兆

訊號該做的事
想在句子後面補一句「未經驗證」先問這一句拿掉之後論證還在不在,在就拿掉,不用標註
待辦寫著「需先實機確認」拆成形狀與具體答案兩半,前一半現在就寫、後一半不寫
文中出現一個真實裝置或環境的識別值問它服務的是機制的說明還是查詢的結果,說明用的換佔位值、查詢結果刪
一段話回答的是「有一台是什麼」讀者要的是「我這台是什麼」,改寫成他自己查得到的形式
引用來源可靠、值也正確,仍覺得哪裡不對危害與正確性無關——問這個值是不是關於讀者的系統

核心:每台機器上都一樣的那些讀者不必查,而他必須查的正好是文章不該替他回答的。