§1

🔴 無人值守決策表(2026-10-30 晚,決策者裁「很多決策其實沒那麼重要,都可以往下跑」;本段蓋過上面「紀律」段與內文裡任何「停下等人」的句子)

半夜單一工作坊從批 12 跑到批 22,任何一次「停下等人」都會讓後面全部排隊到天亮。下列情況自己決定、寫進回寫、繼續做,不停:

  • 白名單(ALLOWLIST/FROZEN_FILES/全域/SQL/行數):把邊或列從舊路徑改成新路徑不算「加」。搬檔後冒出的新邊,若與既有白名單裡的邊同形(同一支被 import 的檔、同一類用途,例:三支同步器都 import _get_stream),直接加並附註解「同 <既有邊>,P2-5 一起刪」。行數白名單只准數字不變或變小,不准變大。
  • 版號撞號(Nexus 已有同號):bump 下一個 beta(b2、b3…)或 patch 號,回寫寫明,不覆蓋、不問。
  • 測試紅:先查是不是自己改壞的——git stash 或對照開工 commit 跑同一支,開工前就紅的是既有紅燈:回寫列出、不修、繼續;自己改紅的才修。查超過 30 分鐘還查不出,把那支測試的 traceback 貼回寫、該檔的改動 revert 到能綠、其餘照做完,狀態照常改「修正待驗證」並在回寫第一行標「有一支測試被 revert 繞過,首腦要看」。
  • 搬檔後 import 邊比卡上預估的多或少:以 test_allowlist_has_no_stale_edges 與 test_import_direction_between_modules 的實際輸出為準,照上面白名單規則處理,不回頭核對卡上數字。
  • 卡上寫的路徑或檔名與實際不符(前一張卡搬過了、命名略有不同):以當下 HEAD 的實際位置為準,回寫註明「卡上寫 X、實際在 Y」,繼續。
  • 「只准 import 對方 app/ports」時對方沒有那個方法:在對方 app/ 補一支一到三行的薄方法(只轉呼叫),不在自己這邊繞,回寫列出補了哪些。
  • 契約(P3)漏鍵或三邊不一致:補進契約檔(P3-1 之後的卡也可以改契約檔,commit message 寫明),不停。
  • 磁碟不足造成的紅(訊息含「磁碟不足」「No space left」):回寫列出哪幾支、繼續;不改程式的磁碟門檻。
  • demo 模式起服務失敗:先看 log 第一個 Traceback,是自己改的就修;是環境(埠被佔、資料目錄)就換埠或換暫存目錄再試一次,再失敗才算卡住。

真的要停(狀態留 In progress、回寫問題→建議→理由)只剩三種:①git status 看到不是自己的改動;②開工 branch 不對;③要做卡上明寫「不在本卡」「另開卡」的事才能過(例:拆 sonarqube.py)。其餘一律自己判、往下跑。

首腦驗收也照此表:小弟依表自行決定的事,首腦只核「有沒有寫進回寫」與「判斷是否符合表」,不因「沒問人」退回。