V4 的問題不只是「東西太多」
測試檔案和文件持續增加,確實可能讓程式碼庫難以瀏覽;但直接刪除測試,或把所有資料硬併成一份文件,都可能造成新的問題。較穩妥的方向,是為每項產物說清楚用途、存放位置,以及是否需要提交、交付或長期保留。
Overalls 能提供什麼參考?
Overalls 看來是你提到的系統。Geoffrey Huntley 的文章提及,這個專案先前名為 loom,並用於派發代理編碼任務至自架基礎設施上的 Firecracker 虛擬機。
10 專案說明則將 Overalls 描述為自架開發機與 AI 代理平台,並稱每台開發機是持久化的 Firecracker 微型虛擬機。
12
這些資料可支持「隔離開發環境」是它的設計方向之一,但不足以證明 Overalls 會自動清理測試檔案、規範草稿目錄,或控制文件膨脹。臨時任務環境與持久開發機是不同描述;現有資料也沒有交代兩者的完整生命週期。因此,不應把虛擬機隔離直接等同於檔案清理、Git 提交管理或文件治理。
測試要分流,不要一刀切
先分清楚長期測試和一次性驗證:前者是工程資產,後者通常只是某次任務的輔助材料。兩者不應因為看起來都是測試檔,就接受相同的提交或交付規則。
| 產物 |
建議歸屬 |
提交與交付原則 |
| 單元測試、缺陷回歸、契約測試 |
專案既有的測試布局 |
通常納入版本管理;是否隨產品交付,視用途而定 |
| 一次性診斷或臨時驗證腳本 |
經核准的任務暫存區 |
預設不提交,也不納入交付 |
| 日誌、覆蓋率資料、生成報告 |
執行證據區 |
依驗收與保留需求保存,不預設進入原始碼歷史 |
| 有長期價值的反例或可重現測試資料 |
經審查後納入正式測試資產 |
保留其回歸價值,不讓重要案例只留在暫存區 |
新增文件或測試前,可先問三個問題:
- **建立前:**能否擴充既有測試?新檔是否涵蓋不同行為,而非重複證明同一件事?
- **提交前:**它是長期工程資產,還是一次性材料?是否包含本機路徑、憑證或除錯殘留?
- **交付前:**它是否屬於明確的交付範圍?檔案存在於程式庫中,不代表一定要安裝給使用者。
測試布局也得尊重程式語言的慣例。Go 的命令文件區分同一套件內與套件外的測試檔,因此不能只為了目錄看起來整齊,就把所有語言的測試方式統一化。
13 Python 專案可以評估集中式測試目錄;Go 則應先確認套件存取、測試發現與引用關係。
此外,「不想讓安裝使用者收到測試」、「不想把臨時驗證材料提交進版本庫」和「瀏覽原始碼時不想被測試檔干擾」是三種不同需求,應分別處理交付範圍、提交規則與檔案布局。
文件按職責整理,不必全部合併
比起每輪對話都新增一份文件,更好的做法是沿用既有文件的職責,並只在內容確實需要持久保存時落盤:
- **會話分析:**預設作為當次交付,不必另存文件。
- **
analysis/:**留給經核准的分析、證據與比較;不應成為日常草稿堆放處。
- **
adrs/:**記錄重要決策與理由,不必複製整份研究報告或執行紀錄。
- **
pending_implementation_plan.md:**集中呈現目標、授權、階段、依賴與驗收條件;不要無止境追加流水帳,也不要因新增建議覆蓋現有計畫。
- **
scratch/:**可評估作為共用暫存區,但目錄存在不等於自動取得寫入、清理或執行權限。
- **
verification/:**保存必要的原始驗證證據;另訂提交與保留規則,不必永久保留每次重複輸出。
部署指南等長期維護資料,與某次部署的回執或執行紀錄,性質並不相同;不要只因標題都帶有「部署」,就另開一個混裝目錄。若要調整路徑,也應保留既有引用和未完成工作,避免直接搬移或刪除歷史材料。
文件要精簡,靠的是依主題或決策拆分、減少重複內容,以及只載入當前任務需要的背景,而不是把所有內容壓成一份超大型文件。分析、決策紀錄與實作計畫各司其職,再透過引用串連即可。整理摘要時,也要清楚標示哪些是已知事實、哪些是推論、哪些仍待驗證,避免把假設寫成定論。
「文件愈少,模型愈不容易產生幻覺」目前只能視為待驗證假設,不應當成已證實的因果關係,也不宜訂出沒有依據的統一行數上限或效果承諾。
V4 可採用的最小規則
每新增一項產物,都先交代它的用途、歸屬、是否需要持久保存,以及提交、交付與清理條件;能沿用既有資產就先沿用,不要求每次驗證都新增檔案,也不要求每次分析都產生文件。
若未來獲准實施,可用以下項目驗收:
- 長期測試仍可由相關 CI 正確發現,必要的回歸案例沒有因搬動而遺失。
- 臨時產物不會進入非必要的版本提交或產品交付。
- 文件職責與引用維持有效,既有任務和歷史證據不會被誤刪。
- 清理範圍及保留條件明確;目錄隔離不被誤當成執行層級的安全隔離。
以上是根據所提供資料整理的治理建議,並非實施授權。所提及的特定 X 圖文與圖片未能確認;Overalls 是否提供上述測試或文件治理功能,也仍缺乏證據支持。