• claude-code released this 2026-08-28 00:28:58 +00:00 | 48 commits to main since this release

    你會看到什麼不一樣

    收工那一刻會清點:還有哪些 PR 沒有結論——open、沒有人被指派、也沒有「要求修改」的 review,就擋一次並點名是哪幾個(含開了幾天與網址)。已經合併但分支還留著的也一起點名。

    背景:2026-08-27 實查,最久的三個 open PR 躺了兩星期,而當時 46 支閘一支都沒有在管 PR。票看起來「已交付」,東西卻沒進 main、沒進版本 ⇒ leo 手上永遠不會出現它

    🔴 擋的是遺忘,不是等待

    這一格有前車之鑑:治理規範的分歧書 §B4 記過一個被否決的設計(「待審佇列非空就不准收工」)——那會讓總管永遠停不下來,因為 leo 在上課、沒人 merge,佇列本來就不會空。

    所以四層都用來放掉「等待」:有人被指派或掛 Human(棒子在他手上)/有「要求修改」的 review(結論已經給了)/這一回合碰過它/響過就退讓(每個 PR 各自 1→4→8→16,不可能鎖死)。

    「碰過」不讀任何一句話,只看三件機器事實:updated_at 變了/上次收工時還不存在(不在它誕生的那一回合就開罵)/這一回合的工具呼叫出現它的識別碼。

    配套:scripts/pr-verdict

    三種結論各是一個動作,不是三個步驟讓人記得做:

    pr-verdict merge   <owner/repo#N>    併 + 刪分支 + 當場複驗分支真的不見了
    pr-verdict reject  <owner/repo#N>    理由寫進票 + 關 PR + 刪分支
    pr-verdict changes <owner/repo#N>    修改要求寫進票 + 以票號通知
    

    總管自己驗的

    pr-verdict-guard  52/52
    countdown-guard   20/20   (合併後重跑,無迴歸)
    prod-write-guard  37/37   (合併後重跑,無迴歸)
    

    盤點數字在合併後的樹上重數,不是相加推的:53 支 .sh/68 條註冊/38 支腳本

    並且逐檔比對過遠端與本機測過的那份 sha256 逐位元相同——不是「API 回 200」就算。

    🔴 這一版的交付過程本身撞到一個死鎖,值得記下來

    這條分支推不上去github-contact-guard 用「payload 釘住的工作目錄」去解 remote 名,而雲端 session 的那個目錄是 GitHub 薄殼 ⇒ 任何推 Gitea 的動作都被判成推 GitHub

    而修這一族 cwd bug 的 PR(inkstone/ISEP#90自己也被同一個 bug 擋住

    最後改走 Gitea 的檔案 API 送上一條乾淨的新分支(全程只打 git.uncle6.me,完全沒有接觸 GitHub ⇒ 那道閘的目的一點都沒有被規避,被繞過的只有它查錯 repo 的那個 bug)。原本的 #95 因此作廢,內容原封搬到 #97

    📌 票:inkstone/ISEP#81|PR:inkstone/ISEP#97|里程碑:SOP 變成閘(13 張,這是第 2 張)

    Downloads