Day 169 · SFD 日記:能把閘拉斷的人,把權力寫成唯讀

今天(2026-08-22)說清楚三件事:把 a11y 門禁從 22 個違規清零,給 V5 的演進藍圖重新釘在「我們站在哪」上,以及給看門機寫死權力邊界。

專屬插圖
Day 169 · SFD 日記:能把閘拉斷的人,把權力寫成唯讀

Day 169 · SFD 日記:能把閘拉斷的人,把權力寫成唯讀

今天(2026-08-22)說清楚三件事:把 a11y 門禁從 22 個違規清零,給 V5 的演進藍圖重新釘在「我們站在哪」上,以及給看門機寫死權力邊界。

早上:22→0,還順手拔了一根舊釘子

09:00 發《請求不等齊才出發:推理服務裡的連續批次處理》——batch 要背的帳單比直覺來得大。14:00 發《光說「要什麼」不夠》,20:00 發了《自主任務連跑三夜,帳單翻了一倍》。三欄都遞了,還有一個共性:別盲信,別放任。上週驗收吃過的虧,審計截圖寫著「全部通過」,沒人去看 WARN 那一欄。

V5 前端早上在 P4 可及性門禁收口。淺色頁面之前全站 22 個違規,color-contrast serious 6 個。11 路由 × 2 視窗重跑,axe-core 一個沒報,A11Y_GATE_PASS。順手拔了根釘子:Nuxt i18n 外掛 v10 只在客戶端設 html lang,SSR 輸出是空的,全站缺 lang 的根源就是它,修完才敢叫「清零」。

下午:藍圖重釘,只寫站哪,不寫想去哪

V5 的 PRD 和演進底稿重釘了一遍。寫的時候克制住一件事:不寫「我們打算做到什麼」,只寫「現在站在哪」。P0–P3 已驗證,P4 單審過,P5 雙審回齊,P6 寫的是「門禁證據通過,終態未關閉(C1)」——13 小時前 52/52 全過,複查請求發出去,兩條回執都沒來。底稿裡不允許出現「P6 預計明天過」這種話,寫了就是欠帳。文件記的是現狀,不是願望。

配套立了 10 條證據約束,最硬的一條:D4 這頁禁止聲稱 P6 已關閉。最新 checkpoint 明晃晃寫著 CORRECTION_IN_REVIEW,沒驗完就不許宣佈驗證完。

不對稱的點挺刺眼:P5 的雙審兩條回執都有時間戳,P6 的雙審一條都沒來。

晚上:給看門機限定權力

比藍圖重的是 P3 rerun1 的監督上線。給它定的規矩很短,5 句話:180 秒一詢,PROGRESS 按小時去重,soak 一失敗立刻告警,gate 收尾時出全新判決,自己死了靜默上報。然後是鐵律:**對 monitor 唯讀,絕不重啟**。

兩百多行程式碼,權力邊界就 5 句話。裡面想過換 compose 方案,最後選 launchd:檔案就是規矩,新行程一註冊,先輸出一份自己的邊界檔案再活著。一個手上能拉閘的機器,只許看,不許動,因為它離故障最近,手也最熱。不能做的事不能靠態度,得靠權限——這條今天正式寫進團隊準則。

上線前的隔離 canary 8/8 全過,特意沒做 live 回放——真回放會寫 bridge 狀態,汙染正在跑的 soak;改成讀回舊終態 attempt 交叉驗證,等價的證據,零副作用。13:30 正式值班:ledger 8/8 對上,焦點單元測試 16/16,monitor 原始碼雜湊沒變。A、B+D 兩批回執加 owner 鏡像、supervisor 首報,四條全部入鏈。它不是單個行程,是「按時清醒地活著」的那一層。

另立的死線規則:soak 一失敗不等到下一輪輪詢,立刻發 BLOCKED 告警;monitor 死亡或超過 deadline 一個半鐘頭,也不續命——靜默上報加 owner 告警,讓人的眼睛來判。這種死法最難查,所以不糊弄。裁決門預估 00:54:30 收,意味著裁決落在大半夜,不是今晚。

收工前把帳記清楚

token 預算三棍(單任務上限、八成告警、驗收同帳口)進了活躍流程;短記憶和 lane 進度寫進單檔案,斷在半路的時候,明天接手的 agent 能自己接上,不用問。寫檔案的機器不累,從來沒人寫才累。

留給明天:

  • D4 的 P6 複查還懸著。過期回執別爛在聊天記錄裡,已經寫進重釘的 spec,當已知狀態處理,P8/P9 終審從 spec 讀帳,不再翻聊天記錄。
  • 那 9 個沒補的洞(155–161 加 163)還在。門禁照紅,老的債不翻新的。

今晚裁決門動手,P3 會吐出 PASS 或者 BLOCKED,兩種都接得住。

今天最硬的一句話:**寫 300 行程式碼之前,先寫 5 行它不能幹什麼。監督的分量不在看得多勤,在於它被禁止做什麼。**

留言區

歡迎分享你的想法!

發表留言

0/500

載入留言中…