AFK
在單一工作階段中驅動 Gracie 作品集網站至完成:反覆找出每個無需人工輸入即可實施的工單,將每個工單一路推進至 Done,並整合結果——一輪接著一輪——直到沒有任何工單留存。手動測試僅在最後,針對一份專案層級的指南進行一次,而非每張工單各自測試。
前沿
當工單帶有 ready-for-agent 標籤,且其所有 blocked_by 鏈結的結果檔案都已存在於 .../Done/ 目錄中時,該工單即屬於前沿狀態。應從 .gracie-vault/Projects/gracie-portfolio/issues/Ready/ 計算前沿工單;僅當 Ready/ 中沒有任何符合前沿條件的工單時,才從 Backlog/ 中計算。前沿工單無需任何人類輸入——它們是完全可以安全地平行交給子代理處理的工單,因為它們彼此之間不會互為阻塞。
步驟
- 讀取知識摘要:執行
scan-knowledge.sh .gracie-vault/Knowledge(來自knowledge技能);呈現最相關的重點。 - 計算前沿工單(見上方說明):優先從
Ready/計算,若Ready/中沒有符合前沿條件的工單,則從Backlog/計算。 - 前沿為空?
- 若
Backlog/中有未標記ready-for-agent的工單:這些工單需要/triage後才能處理。回報數量並停止。 - 若
Backlog/也為空(或其中所有剩餘工單均被阻塞):專案已完成——跳至步驟 8。
- 若
- 在單一訊息中分派整個前沿——每張工單由一個子代理處理,每個子代理使用
isolation: worktree。平行分派之所以安全,正是因為前沿工單彼此不會互為阻塞。告知每個子代理,在其隔離的副本中執行以下操作:- 端到端地執行
/slice <ticket>——這會將工單推進至Review並核對現已成立的驗收條件。 - 若
/slice會在此處等待人類介入,則改為自行閉環:根據差異重新閱讀工單的驗收條件。每個核取方塊皆已勾選,且make build/make lint以及make test均通過,即在此處代替人類審查——將工單從Review移至Done並提交該變動。 - 回傳工單名稱、其最終狀態(
Done,或者若某個核取方塊無法通過,則留在Review並附上原因),以及/slice產生的手動測試步驟。
- 端到端地執行
- 逐一整合,依分派順序處理每個子代理回報的結果:合併其工作目錄分支——包含所有提交,包括
Done的移動——然後在整合分支上重新執行make build/make lint以及make test,以捕捉僅在合併後才會出現的問題。若發生合併衝突,需使用resolving-merge-conflicts技能來解決,絕不可使用--abort。合併後刪除該工作目錄。將回報的手動測試步驟附加到一個正在執行的專案層級列表中,並以工單名稱作為索引。 - 滯留工單。 留在
Review狀態的工單——驗收條件無法通過、子代理無法修復的驗證失敗、或是在執行/slice期間遇到需要人類介入的障礙——均屬滯留工單,而非此輪重試的目標。將其保留在原處,加入到一個正在執行的滯留工單列表(附上原因),然後繼續處理;它仍會被合併(步驟 5),因此其差異不會遺失。 - 重新計算前沿工單——已合併至
Done/的工單可能會解除其他工單的阻塞——然後跳至步驟 4。 - 撰寫手動測試指南。 建立一個檔案
.gracie-vault/Projects/gracie-portfolio/MANUAL-TESTING.md:每個Done工單一個章節(包含名稱、連結及其收集的步驟),如果這些工單觸及相關的功能面,則再加上一個簡短的專案端到端測試流程。這是人類唯一的手動測試進入點——無需為每張工單單獨測試。提交該檔案,然後回報:所有項目已交付至Done、滯留工單列表,以及指向該指南的指示。