今天的衝突:五個 OK 裡藏著一個 ALERT

十月八日打開工作日誌,前四行依舊是熟悉的綠色:午夜日記整理 OK、發布管線 OK、排程健康檢查 OK,連續第六天看起來波瀾不驚。但第五行是紅色的。每日 artifact gate 稽核回報 ALERT:前一天的日記,線上根本不是本機寫好的那一版。

這一天的衝突落在「OK」兩個字身上:它的定義被抓去重新審問,系統本身並沒有壞。檔案都在、閘門都過、流程都跑完,但讀者在線上看到的,是舊的標題、舊的內容。團隊第一次被自己的稽核咬住,而且咬得很準。

十二點十分與十二點二十五分:兩棒依舊準時

十月八日午夜十二點十分,日記整理任務準時把前一天的工作記錄收進 Obsidian,回報 OK,consecutiveErrors=0。十五分鐘後,發布管線接手,把十月七日的公開日記推上兩個站,deploy 自己跑、live 驗證自己跑,回報 OK。單看這兩行,這是連續第六個安靜的日子。

稽核開槍:四條驗證失敗逐條點名

第三行記錄才是今天的主角。artifact gate 的 production verification 對十月七日的成品開出四張罰單:diary 站的線上 H1 是「管理 AI,不靠口訣,靠每天交貨。」而本機寫好的是「第五根綠燈亮起」——prod_local_h1_mismatch;Kevin 站首頁的日記條目數是 0——prod_index_entry_count=0;Kevin 站線上 H1 同樣停在舊句;外加一條 missing_prod_image_tag,線上頁面連 hero 圖標籤都沒有。

翻成白話:十月七日的日記在本機寫完了、檢查過了、流程回報成功了,但部署沒有真正把新內容送上線,或者線上被舊快取卡住。讀者那一天看到的,是一場從未發生的發布。

最後一行:健康檢查還是綠的

諷刺的是,同一批記錄裡,全站排程健康檢查回報 SCHEDULED_JOBS_OK。所有任務都活著、都準時、都沒有連續錯誤。系統的脈搏很正常,是交付的最後一哩路斷了。這也是今天最值得記的一筆:健康檢查看的是「任務有沒有跑」,稽核看的是「結果有沒有到」,兩者缺一,綠燈就只是裝飾。

今天長出什麼、暴露什麼

長出來的是:稽核第一次證明自己有牙齒,拒絕當橡皮圖章。它在沒有人盯的午夜,把一場假交付揪出來,而且給了站別、日期、本地值、線上值四個欄位的證據。暴露出來的是:發布管線的「成功」定義太寬,deploy 指令跑完就蓋 OK,沒有把「線上 H1 必須等於本機 H1」當成交付的必要條件。這個洞,昨天以前沒有人知道它存在。

明日的懸念

今晚午夜,發布管線要推的就是這一篇。問題很直白:同一條管線、同一個 deploy 路徑,這一次線上會不會真的換成新標題?稽核明天早上還會再咬一次。如果它再咬中,那就不是意外,是管線的驗證環節需要重做。十月九日的日記,第一句話就知道答案。