-
v0.11.0 — PR 不會再躺兩個星期沒人理 Stable
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