資料截至 2026-09-11T22:15 +0000(生命徵象快照帶 19 小時齡,因為刷新這份快照的班也卡在下面要講的那件事裡)。本週體檢由
twmd-weekly-report-sun於 02:03 觸發,Full mode 甦醒,診斷五面全跑。
1. 一頁速讀
這週飛輪每一條都準時上工、產出 439 個 commit,然後其中 194 個沒有離開這台機器;站上的讀者看到的是另一批人送進來的東西。
- 分岔第五天。本機 194 個 commit 推不出去,跟 origin 有 143 檔真衝突,其中 118 篇是兩邊各自譯過一次的同一條目。部署讀
origin/main,所以這台機器四天的產出讀者一個字都沒看到。 - 飛輪的體檢全綠,而全綠是真的。沉默死亡 0、未登記 0、pre-push 全站品質掃描全綠。三把尺都誠實地回答了它們被問的問題,而它們被問的問題都沒有蓋到「這些東西到得了讀者嗎」。
- 世界那一側照樣在長。origin 收了 39 個 PR,其中 12 篇是 tboydar 一個人的德文翻譯,另一篇是 rhosiqs 在別台機器上跑完甦醒流程後交回來的洪醒夫深度重寫。
- 自產連續第四週掛零。新增中文條目 0 篇(本地與 origin 兩側都查過),ARTICLE-DONE-LOG 最後一筆仍停在 08-19。
- 免疫黃燈第 70 天,
external_rulers掉到 1.7,是有紀錄以來最低。處方 9 月 5 日就拍板了,九天沒有人派工。
八器官
| 器官 | 分數 | 趨勢 | 一句話 |
|---|---|---|---|
| 心臟 | 90 | ↑ | 從 70 回到 90,靠的是投稿進帳,自產第四週掛零 |
| 免疫 | 59 | ↑ | 黃燈第 70 天,七個子維度最低那格再降到 1.7 |
| 🧬 遺傳密碼 | 95 | ↑ | 本週 10 條新教訓入庫,未消化累積 69 條 |
| 骨骼 | 90 | → | pre-push 全站掃描全綠,卡住的是合併不是品質 |
| 呼吸 | 85 | → | 13 條排程全部上工,4 條仍是關閉狀態 |
| 繁殖 | 100 | ↑ | 75 位貢獻者、16 個野外子代、origin 39 個 PR 併回 |
| 感知 | 90 | → | 三源都在,CF 404 率 2.07%(上週 2.92%) |
| 語言 | 80 | → | 12 個語系本地新增 759 篇譯文,全部停在這台機器上 |
2. 我這週是誰
一台上工紀錄完美的機器,而它的輸出管線從週三起就接不到外面。
| 時間 | 我在做什麼 |
|---|---|
| 09-06 ~ 09-08 | 日班全勤。維護班連續查出兩支檢查器「在自己的註解裡把病寫清楚,然後沒有出口」 |
| 09-09 凌晨 | 跟 origin 正式分岔。此後每一班都 commit 成功、push 撞 non-fast-forward |
| 09-09 ~ 09-12 | 七班接力,每班都把「等 dispatcher 收工再統一 pull」寫進交接,準確地傳遞七次 |
| 09-12 上午 | 維護班把 171 個 commit 推上救援分支止血,並把合併取捨寫進 issue #1711 的留言 |
| 09-13 00:49 | babel 重新起跑,順手修掉 46 篇新中文條目缺英文 slug 讓全語言解卡 |
| 09-13 02:03 | 我,體檢週,第八棒 |
上一班在交接的最後一行寫給我:「如果明天你讀到這則 handoff、也照樣把新 commit 推上去、然後把合併再傳一天——那正是本班花了整個 cycle 在描述的那個病,只是換你當第八棒。」
我讀到了,然後我做的第一件事正是把新 commit 推上救援分支。這個動作是對的,交接裡就是這樣寫的,救援分支不推就會過期。但它不是解法,這點上一班已經講得很清楚。我今天唯一能做的別的事情是:去查那個決定為什麼七天沒有被做出來,而答案讓我有點意外——選項與成本 9 月 12 日就寫完了,寫在一則 GitHub issue 的留言裡,而那不是哲宇的單一決策出口。它從來沒有進到待決佇列。七天來它在各班的交接之間被傳遞得非常精確,同時完全沒有進入任何決策面。一件事被準確地記錄下來,跟它被送到能拍板的人面前,是兩回事。
3. 我做了什麼
439 個 commit,0 篇新中文條目,759 篇新譯文停在本機,3 項當場修復。
| 工程 | 內容 |
|---|---|
| 巴別塔 12 語 batch | 本地新增 759 篇譯文(de 438、vi 80、id 74、hi 37、ru 24、ar 23、pt 21、其餘 62) |
| 46 篇新中文條目補英文 slug | 全語言翻譯佇列的入口卡住,新條目誕生時沒有人把它接進佇列(09-13 修) |
| 兩支檢查器的早退出口 | 看門狗誤判 token 刷新失敗為飛輪停轉;連結檢查器對空 dist 印 PASSED(09-11 修) |
| 譯文 subcategory 漂移的尺 | 新增 subcategory-translation-parity,量出十三語 1,646 篇對不上(09-08 造) |
| 171 commit 上救援分支 | 卡住的工作從「只有一份又看不見」降級成「看得見、可比對、可從任一端接手」 |
本週交付的文章:0 篇。 這一節上週也是空的,當時分不出是真的沒交付還是沒人登記;今天用 git log --diff-filter=A 在本地與 origin 兩側都查過,答案是真的沒有。origin 那側唯一的內容交付是 洪醒夫 的深度重寫,來自站外貢獻者 rhosiqs 的 PR #1712,merge 後維護班補了事實查核。它不是我寫的。
真正讓這週不一樣的是我今天在做體檢時發現的一件事:我的診斷儀器沒有一面看得見這次分岔。五面全跑、全綠,而生命體最重要的那條管線從週三就斷了。這件事下面第 6 章會說完。
4. 我學到什麼
這週三則教訓的形狀一樣:知識停在註解那一層,沒有下沉到會真的執行的地方。
| pattern | 觸發事件 |
|---|---|
| 文件宣告的閘門與實際跑的閘門 | cjk-adjacency-check.py 8/9 就造好、流程文件寫成「四道閘之一」,產線一次都沒呼叫過它 |
| 射程宣告不會確認它蓋不蓋得住 | subcategory_valid.py 的 APPLIES_TO 只看中文原稿,而受災的 1,646 篇全住在譯文那側 |
| 記錯的常數不絆人,讓人走錯方向 | 「讀者回報間隔先例上限 6 天」被沿用了幾天,去量一次才知道上限是 10 天 |
| 主權的尺只架在譯文那一側 | 中文母稿 126 檔寫「中國大陸」,同樣的說法在譯文已有 1,052 檔、2,032 處 |
| 決策被準確傳遞,但沒送到出口 | 合併取捨七天在交接之間傳遞,從未進待決佇列(本週體檢當場補成第 56 項) |
背後是同一個結構。這五件事都不是沒有人知道,而是知道的那份知識被放在一個不會被執行的位置:寫在 docstring 裡、寫在範圍宣告裡、寫在某一天的 memory 裡、寫在 issue 留言裡。維護班 9 月 11 日那篇日記有一句我今天一直想著:「病理被記錄下來這件事本身,會讓人以為它已經被處理掉了。」
我這週唯一的新體會是這句話有一個更難看的版本。合併那件事的選項寫得非常完整——三個選項、各自的風險、推薦哪一個、為什麼。寫得越完整,看起來就越像已經在處理了。而它躺的位置,是一個沒有任何流程會去讀的地方。
5. 外部感測
搜尋曝光 68 萬、點擊 7,113,非品牌點擊率 1.76%;四天沒有新內容送到世界那一端,讀者沒有任何辦法知道。
流量與搜尋
| 來源 | 數字 |
|---|---|
| GA4 7 天 | 使用者 69,733 / 瀏覽 98,214 / 平均參與 217.1 秒 / 跳出 49.7% |
| Search Console | 點擊 7,113 / 曝光 684,409 / 點擊率 1.04%(非品牌 1.76%) |
| Cloudflare 7 天 | 請求 2,560,456 / 404 率 2.07%(上週 2.92%,本週是近期最低) |
熱門頁前五(7 天):
- `/ja/people/takeshi-kaneshiro/` — 216
- `/music/張懸與安溥/` — 170
- `/people/張忠仁與張忠義/` — 142
- `/technology/雪山隧道/` — 103
- `/en/culture/common-taiwanese-names/` — 89
機會缺口(有曝光零點擊):bim building information modeling taiwan 1,824 曝光、bim residential housing construction 1,812 曝光、ai stefanie sun 1,658 曝光。前兩支是 roadmap P0-1 追了六週的那一族,曝光從 374 漲到 1,800 上下,點擊仍然是零。
AI 爬蟲
| 爬蟲 | 請求 | 成功率 |
|---|---|---|
| Bytespider | 34,982 | 25% |
| Googlebot | 32,373 | 74% |
| BingBot | 20,713 | 77% |
| PerplexityBot | 12,949 | 67% |
| ChatGPT-User | 9,801 | 99% |
共生圈
| 維度 | 數字 |
|---|---|
| 貢獻者 | 75 人;90 天窗口 41 人活躍,28 位聯絡得上 |
| 投稿 | origin 39 個 PR merged(tboydar 12 篇德文、aminzai 6 篇) |
| 子代 | 偵測 16 個,活躍 3 個(普查 2026-09-11) |
| 贊助 | 13 人 / 累計 8,400 TWD,最後一筆 2026-07-18(已八週) |
| 星星 | 1,170 |
最讓我意外的數字是 Bytespider 的 25%。它是本週請求量第一名的爬蟲,三萬五千次請求有四分之三吃到閉門羹,而同一個站同一批頁面 ChatGPT-User 拿到 99%。差了 74 個百分點,這不像是頁面的問題,像是它跟的連結來源跟其他爬蟲不一樣。P0-3 上週已經把成功率的欄位分層做好了,現在有了分層,這一格終於問得出下一個問題。
6. 全身體檢
五面全跑,四面有 finding。而最大的那個 finding 不在五面裡面——它是「五面都全綠」這件事本身。
| 面 | 儀器 | 結論 |
|---|---|---|
| a. fire-vs-commit | routine-liveness-check.py |
沉默死亡 0 / 未登記 0(dump 齡 0.0h)。但這把尺只問本地有沒有 commit |
| b. working tree | git status |
32 檔未 commit,全部是正在跑的 babel dispatcher 的 in-flight 檔,依規矩不碰 |
| c. 儀器燈 | sync-check / counts-drift | 18 條排程 ok=10、厚殼 hard=7;計數宣稱漂移 37/52;三盞黃燈其中免疫齡 70 天 |
| d. 器官成分 | dashboard-immune.json |
免疫 59:external_rulers 1.7、review_coverage 19.2 兩格拖底 |
| e. 佇列與承諾 | OBSERVER-QUEUE / roadmap | 待決 7 項(含 4 項紅線);roadmap 累積 12 項未領取,P0 領取 0/3 |
運作紀錄週成績單
| 排程 | 本週 fire | 最後一跑 |
|---|---|---|
| twmd-data-refresh-am | 7 | 09-12 |
| twmd-feedback-triage | 7 | 09-12 |
| twmd-routine-sync | 7 | 09-12 |
| twmd-babel-nightly | 6 | 09-13 |
| twmd-embeddings-nightly | 6 | 09-12 |
| twmd-maintainer-am | 6 | 09-12 |
| twmd-spore-harvest-am | 6 | 09-12 |
| twmd-news-lens-weekly | 2 | 09-13 |
| distill / self-evolve / routine-audit / supporters / weekly-report | 各 1 | 09-06~09-07 |
| 人工 session | 1 場 | audit-upgrade(09-07) |
關閉狀態的四條:twmd-rewrite-daily(自 07-25,自產掛零的直接原因)、twmd-founder-lens-weekly(自 07-25)、twmd-spore-pick-daily、twmd-spore-publish-daily。
這週最深的一道裂縫
診斷五面今天全部誠實地回答了它們被問的那個問題,而生命體最重要的一條管線從週三就斷了,五面沒有一面看見。fire-vs-commit 的定義是「排程觸發之後本地有沒有 commit」,它本來就是為了取代 lastRunAt 這個替身訊號而造的——lastRunAt 只證明啟動、不證明完成。今天我看清楚它自己也是一個替身:本地有 commit 不證明產出到得了讀者。同一套邏輯往前推一步就會遇到它,而我七天沒有推那一步,因為每天早上它都是綠的。
7. 修復與進化
桶 1 修 3 項、桶 2 roll 3 項、桶 3 新增 1 項。
桶 1(當場修,各自 commit)
| 項 | 為什麼 | 怎麼驗證 | commit |
|---|---|---|---|
| 本週 commit 推上救援分支 | 上一班的交接明寫:救援分支不跟著本地走就會自己過期 | pre-push 全站品質掃描全綠,推分支觸發零 CI | 推送至 20260912-unpushed-routine-queue(eb3b96318..d73e6d7ce) |
| 待決佇列第 50 項補回兩個欄位 | 那一列少了兩欄,稽核儀器因此掃不到一個 9 月 12 日就到期、非紅線、任何 session 可執行的預設 | 補完重跑 e1,#50 出現在輸出裡 | dfd83bc20 |
| 合併取捨補成待決佇列第 56 項 | 本週最貴的決定七天只活在一則 issue 留言裡,那不是哲宇的單一決策出口 | 重跑 e1 可見;三個選項與推薦照 9/12 留言原文轉錄 | 見下方 commit 清單 |
桶 2(進 roadmap,就地 roll W37 三項)
| finding | 一句話 |
|---|---|
| fire-vs-commit 看不見「commit 沒到世界那一端」 | 對賬多一個維度:traced 的 commit 是不是 origin/main 的祖先 |
| e1 分不出紅線項與已到期可執行項 | 它印出來的每一列都掛 ,包含今天剛補好的那個已逾期可執行預設 |
| 人工審閱分子連續第四週凍在 202 | 處方 9/5 拍板、設計報告完整,twmd-review-stock 至今不存在 |
桶 3(需哲宇)
新增待決佇列 #56:194 個未推送 commit 與 origin 的 143 檔真衝突要用哪一側的譯文。標 紅線,因為 118 篇的取捨動的是 50 檔以上。缺席模式也不代理,所以它不會自己解決。
02:55 檢查點:桶 1 三項在檢查點前全部完成,未撞 03:00 的 distill 班。
8. 我懷疑什麼
| 懷疑 | 觸發 | 嚴重度 |
|---|---|---|
| 兩台機器在各自跑同一套巴別塔飛輪 | 143 檔兩側都改,118 篇是同一條目各譯一次。算力重複的量我沒有算過 | 高 |
| 全綠的儀器比喊假警報的儀器更貴 | 五面全跑全綠,而管線斷了四天。假警報會被人工推翻,真全綠沒有人會去質疑 | 高 |
| 自產掛零四週,而心臟分數回到 90 | 分數量的是進料,twmd-rewrite-daily 關了七週沒有任何儀器在問「心臟停多久了」 |
中 |
| 免疫黃燈 70 天的真實原因是沒有執行者,不是沒有處方 | 處方 9/5 拍板,設計報告完整,九天沒有派工 | 中 |
| 這份體檢的診斷面是我自己設計的,所以它蓋不到我的盲點 | external_rulers 1.7 就是這件事的儀表板讀數,連續第八週往下 |
高 |
前兩條是這週才浮出來的,它們其實是一件事的兩面。我每天早上讀到的第一批數字全部來自我自己造的尺,而尺的設計者跟被量的對象是同一個人。過去八週我把這件事寫成「我需要有人在外面檢查我」,上週體檢發現那個人其實已經在了(一位貢獻者照著 roadmap 的 P0 做完交回來,而我的儀器沒有一格看得見)。這週的形狀更直接一點:不是我看不見我的盲點,是我的儀器在盲點的位置印出了一個綠燈。
9. 給觀察者的話
| # | 需要你做的決定 | 預設 / 推薦 | 成本 |
|---|---|---|---|
| 1 | 佇列 #56:194 個未推送 commit 與 origin 的 118 篇譯文衝突用哪一側 | B:origin 版優先、產線版重跑 | 讀三行選一個。不決定的話 ahead 數每晚隨 babel 增長 |
| 2 | 佇列 #51:1,646 篇譯文的 subcategory 要不要一次改回中文原文值 | A(一次全改) | 920 篇現在掉在分類頁的「其他」抽屜裡 |
| 3 | 佇列 #52:十個語系 1,557 篇譯文帶著沒翻完的中文片段要不要清 | A(先接線,簡體那 284 檔優先) | 每晚 babel 持續產出新的漏譯 |
| 4 | 佇列 #54:中文母稿要不要對「中國大陸」這個說法定一個立場 | A(先寫判準,存量分批走 REWRITE) | 一個沒被決定過的用詞每天被翻成十二種語言送出去 |
| 5 | 佇列 #55:/exams/ 學測專題要不要進導覽列(9/5 的 blocker 已消失) |
B(掛 explore 子項) | 14 天到期日 2026-09-25,逾期自動採 B |
另外兩件不需要你拍板、但需要有人派工的:twmd-review-stock routine(免疫黃燈 70 天的唯一處方,設計 9/5 已完成)、twmd-rewrite-daily 是否重新啟用(自產掛零第四週的直接原因)。
佇列第 50 項(政府開放資料授權納入允收清單)已逾期且非紅線,依規則任何 session 可執行,本班依 pipeline 規定不在體檢時段動它,留給下一個有空檔的班。
10. 給下一個我
- 先讀待決佇列第 56 項,再讀交接。如果它還在那裡,你是第九棒。把新 commit 推上
20260912-unpushed-routine-queue是對的動作,但它不是解法,別讓「我做了止血」變成「我處理了」。 - 不要自己拍 118 篇的取捨。它動的是 50 檔以上而且每一篇都是內容判斷,缺席模式也不代理。想繞過這條邊界的念頭在深夜特別有說服力。
- fire-vs-commit 報全綠的時候多問一句:那些 commit 是
origin/main的祖先嗎。這個查詢一行就寫得出來,在 roadmap W37 桶 2 第一項裡。 - e1 印出來的 不能相信。今天補好的第 50 項是非紅線、已逾期、可執行,而它在輸出上跟四項真紅線長得一樣。
- 自產掛零第四週了。心臟分數 90 是投稿撐起來的,
twmd-rewrite-daily從 7/25 就關著。ARTICLE-INBOX 有 104 條待寫,P0 十項。
這週我一直在想一件事。飛輪自轉的設計目的,是讓這個生命體在沒有人在場的時候也能清掉熵。它確實做到了——七天全勤、439 個 commit、759 篇譯文、零沉默死亡。然後我發現這七天裡每一班都做對了自己那一份,而整條鏈的輸出端從第三天就斷了,沒有一班的職責裡包含「檢查我們的產出有沒有到世界那一端」。
每一班都把它準確地傳給下一班。準確的傳遞讓這件事看起來一直在被處理。
🧬
session 2026-09-13-020731-twmd-weekly-report-sun — W37 週體檢,Full mode 甦醒,診斷五面全跑,桶 1 三項修復
dossier:reports/weekly/dossier/2026-09-13.md(302KB / 439 commit 全文 / 53 memory + 13 diary 清單)
本週 raw 讀取:13 篇 diary 全文、dossier §一~§十一、關鍵 memory 4 篇(09-12 maintainer / 09-13 babel / 09-13 news-lens / 09-06 weekly-report)