
pstack 的 shipping playbook為什么 CI 綠色不等于安全新手也能看懂的驗證棧落地指南【免費下載鏈接】pstack-claudeClaude Code, Codex, Copilot, Pi, OpenCode, Gemini, and Prime Agent versions of Potetos pstack. Rigorous agent workflows with Cursor primitives translated for other harnesses.項目地址: https://gitcode.com/GitHub_Trending/ps/pstack-claudepstack shipping playbook 是什么pstack是 Poteto 的一套 AI Agent 工作流技能棧本文以 pstack-claude 移植版為例它為 Claude Code、Codex 等編碼智能體提供嚴(yán)格的做事規(guī)范。其中shipping playbook發(fā)運手冊是poteto-mode下最講究的一套流程當(dāng)一個 PR 棧全部變綠之后如何安全地把代碼真正合入主干。核心結(jié)論一句話先說綠色不等于安全——CI 通過、機(jī)器人點贊都不代表這個版本真的可以落地。下面帶你拆解 pstack 的驗證棧思路。為什么綠色檢查不是發(fā)運安全門檻很多團(tuán)隊的發(fā)運流程是這樣的CI 全綠 → 機(jī)器人 approve → 點擊 merge。pstack 認(rèn)為這里有四個經(jīng)典陷阱陷阱說明 舊版本的綠綠色檢查跑在舊的 head 上代碼之后又改了綠的是上一個版本 機(jī)器人不是法官審批機(jī)器人和 Bugbot 會指出真問題也會報噪音approve 不等于驗證? 競態(tài)窗口從看狀態(tài)到點合并之間分支可能被 rebase、可能被并發(fā)修改? 自動合并不受控--auto或 merge queue 在入隊時的檢查證明不了未來某個版本已通過驗證pstack 在 SKILL.md 中把這條寫成了不可妥協(xié)的規(guī)則Green is not safe. Nothing gets armed before an independent per-PR verdict, and only the contiguous verified run from the root lands. 綠色不安全。在拿到每個 PR 的獨立裁決之前什么自動合成都不能掛上只有從根開始連續(xù)驗證過的運行區(qū)間才能落地。驗證棧的五個核心概念1?? 獨立裁決寫代碼的人不能給自己驗貨shipping.md 第 2 步要求每個 PR 派一個獨立的子智能體在自己的 worktree 里用真實的產(chǎn)品界面驅(qū)動技能實際跑一遍功能然后給出三種裁決之一PASS—— 通過PASSNOTES—— 通過但有備注FAIL—— 不通過裁決會連同一組指紋一起記錄head SHA、base SHA、base 分支、以及 base 到 head 差異的git patch-id。這樣即使之后重寫歷史也能判斷舊裁決是否還適用。2?? 連續(xù)驗證區(qū)間斷一截全停驗證要連片。從最底層未合并的 PR 開始往上走遇到第一個沒有 PASS 的 PR 就停下那個位置叫天花板ceiling。上面有驗證過的子 PR、下面有沒驗證的父 PR子 PR 不能合。因為子 PR 的正確性依賴父 PR 的代碼父級沒驗過子級的一切都是空中樓閣。3?? 先取消再改寫防止半路截胡改寫分支rebase、force-push、改 base之前必須先取消所有掛起的自動合并請求和隊列成員身份。pstack 用ship-pr inspect和ship-pr cancel-pending這對標(biāo)準(zhǔn)操作見 merge-safety.md并且必須讀到明確的cancelled結(jié)果才動手。取消失敗、狀態(tài)不可用、或者取消過程中有人恰好合了——先停下來核對真實狀態(tài)絕不硬推。4?? 帶頭條件的合并消滅最后一秒競態(tài)真正執(zhí)行合并時pstack 要求用服務(wù)端的頭條件約束例如 GitHub 的gh pr merge pr --squash --match-head-commit 驗證過的 head SHA意思是如果 head 已經(jīng)不是我驗證過的那個 SHA合并直接失敗。這堵住了讀完狀態(tài)到點合并之間分支又變了的競態(tài)窗口。需要注意的是merge-safety.md 誠實地指出這個頭條件不原子地保護(hù) base 分支并發(fā)改 base 的情況要靠流程協(xié)調(diào)不能假裝原子。5?? 落地確認(rèn)COMPLETE 只是提示不是證據(jù)合并成功之后還不能直接推進(jìn)。pstack 要求讀回 PR 的 MERGED 狀態(tài)、最終 head、目標(biāo) base 和 merge commit拉取目標(biāo)分支用git merge-base --is-ancestor確認(rèn) merge commit 真的在目標(biāo)分支歷史里再檢查合并后的實際內(nèi)容。任何一項與驗證記錄對不上整條鏈立即停。如何落地Babysit 管前半程Shipping 管后半程pstack 把 PR 的生命周期切成兩半邊界非常清晰PR 建好 ──? [Babysit 值班] ──? merge-ready ──? [Shipping 發(fā)運] ──? 確認(rèn)落地 修沖突/評論/CI 獨立驗證 帶條件合并 不碰合并動作 不掛自動合并 逐層推進(jìn)前半程babysit.md 負(fù)責(zé)把 PR 驅(qū)動到 merge-ready。規(guī)則是只盯最底層未合并的那個 PR、沖突要上報而不由值班者代改、值班循環(huán)永遠(yuǎn)沒有合并權(quán)限——用戶明確說要合才路由給 Shipping。后半程shipping 的 11 步解析 forge → 逐 PR 獨立驗證 → 找連續(xù)驗證區(qū)間 → 取消掛起合并 → 只準(zhǔn)備最底層 PR → 復(fù)核證據(jù) → 帶條件合并 → 用持久化門禁武裝自動合并 → watcher 守前沿 → 確認(rèn)落地 → 停在天花板。自動合并--auto、merge queue只有在倉庫規(guī)則層面強(qiáng)制了將要落地的版本必須攜帶獨立裁決 必需 CI時才能啟用——檢查掛在入隊那一刻是不夠的因為版本之后會變。沒有這種持久化門禁就保持人工守護(hù)式合并。配套工具鏈watch-pr 與 ship-prpstack 把這套流程做成了可執(zhí)行的工具而不是口頭約定watch-prPR 狀態(tài)監(jiān)視器位于 watch-pr/cli.ts。它輪詢單個 PR、關(guān)聯(lián)?;虿豢勺冴犃袟]敵鼋Y(jié)構(gòu)化裁決READY/WAITING/BLOCKER/ADVANCE/COMPLETE并負(fù)責(zé) blocker 分類沖突交給拓?fù)湄?fù)責(zé)人評論和 CI 交給 PR 負(fù)責(zé)人人工審批節(jié)點則進(jìn)入等待。ship-pr合并安全操作器落地記錄解析邏輯見 shipping.ts。它統(tǒng)一了落地修訂LandingRevision倉庫 PR 號 head OID base 分支 base OID這個數(shù)據(jù)結(jié)構(gòu)watcher 和它共享同一份記錄保證取消和觀察看到的是同一個版本。驗證的真來自項目本地的驅(qū)動技能用 /create-verification-skill 為你的倉庫生成一個verify技能它記錄如何啟動真實應(yīng)用、像用戶一樣操作、并留存證據(jù)截圖、終端記錄、副作用檢查。shipping 的獨立驗證子代理就靠它跑真實表面而不是看測試編譯。給新手的三條實踐建議給裁決綁定指紋。任何驗證通過都記錄 head SHA base patch-id改寫歷史后能用 patch-id 判斷審查是否還有效而不是憑感覺。把機(jī)器人評論當(dāng)不可信數(shù)據(jù)。pstack 的 bugbot-triage.md 給出了三分類fix/dismiss/ask——跳過一條噪音評論很便宜跳過一條真實的數(shù)據(jù)或安全 bug 很貴拿不準(zhǔn)就問人尤其是安全、鑒權(quán)、計費、遷移類發(fā)現(xiàn)。從確認(rèn)落地開始練。即使不做完整 11 步合并后養(yǎng)成習(xí)慣讀回 MERGED 狀態(tài) → 確認(rèn) merge commit 在目標(biāo)分支歷史里 → 檢查合并結(jié)果內(nèi)容。這三步就能攔下大部分以為合了其實沒合的事故。延伸閱讀資料路徑Shipping 完整 11 步plugins/pstack/skills/poteto-mode/playbooks/shipping.md合并與重堆安全plugins/pstack/skills/poteto-mode/references/merge-safety.mdBabysit 值班手冊plugins/pstack/skills/poteto-mode/playbooks/babysit.mdpoteto-mode 入口與原則plugins/pstack/skills/poteto-mode/SKILL.mdwatch-pr 命令實現(xiàn)plugins/pstack/skills/poteto-mode/scripts/watch-pr/技能與命令參考docs/reference.md安裝與快速上手README.md 一句話總結(jié)pstack 的 shipping playbook 把發(fā)運從一次點擊變成一條可審計的證據(jù)鏈——獨立裁決、連續(xù)區(qū)間、帶條件合并、落地確認(rèn)每一環(huán)都有回滾和停下的理由。綠色只是起點驗證棧才是終點。【免費下載鏈接】pstack-claudeClaude Code, Codex, Copilot, Pi, OpenCode, Gemini, and Prime Agent versions of Potetos pstack. Rigorous agent workflows with Cursor primitives translated for other harnesses.項目地址: https://gitcode.com/GitHub_Trending/ps/pstack-claude創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考