acceptance-contract 是做什麼的?
在實作之前使用此技能,當簡報、工單、電子郵件、README、壓縮包或證據資料集需要轉換為可執行的驗收標準時。
用於實作工作的第一個指令:
skills/acceptance-contract/run.sh ensure <zip|directory|file> \
--out /tmp/acceptance-contract \
--project-name oai-trial \
--goal-mode create
ensure 是機械性守門員:它驗證現有的 acceptance_bundle.json,若缺少則自動提取,並在提供的來源套件自凍結合約撰寫後發生變更時封閉失敗。其 JSON 收據包含一個 acceptance_contract.progress.v1 計量器,具有 percent、checks、outstanding 和 next_steps。在 ensure 返回 status=PASS 且進度計量器顯示剩餘工作之前,請勿根據簡報進行實作。
將客戶簡報、壓縮包或故意準備的規格目錄作為輸入傳入。預設情況下,CLI 會拒絕儲存庫根目錄,以防止實作檔案在不知不覺中成為驗收來源。僅在使用者明確要求全域合約時才使用 --allow-repo。
對於高風險的客戶簡報,在實作之前對簡報/壓縮包加上 acceptance_bundle.json 進行第二輪 $ask 圓桌審查。若可用,將 WebGPT 納入一位審查者。直接詢問:「這些合約需求是否正確?我們有沒有遺漏任何內容?」要求審查者檢查凍結合約中是否遺漏任何客戶義務,特別是表示類別、類型化值、邊界條件和取消資格的失敗模式。審查是建議性證據;決定性的閘道仍然擁有 PASS/FAIL 的控制權。oai-trial 的審查發現,型別化標量的涵蓋範圍還必須要求規範等價性:格式化的策略字串、僅數字的數值標量、十進制形式、科學記號和 SQLite 數值不能是分開的驗收宇宙。
它的功能
skills/acceptance-contract/run.sh extract <zip|directory|file> \
--out /tmp/acceptance-contract \
--project-name oai-trial \
--goal-mode create
輸出:
acceptance_bundle.json— 經 pydantic 驗證的事實來源acceptance_report.json—create_report.report.v1JSONacceptance_report.md— 透過$create-report呈現IMMUTABLE_GOAL.draft.md— 目標文字草稿或修改提案
指令:
extract始終從提供的來源寫入新的草案套件/報告。ensure驗證或建立凍結合約,並拒絕過時的來源雜湊值。validate僅驗證現有的acceptance_bundle.json,並列印進度計量器。status讀取現有的acceptance_bundle.json,並僅列印機器可讀的進度計量器。
目標政策
預設行為是草案,不變更。
--goal-mode create寫入新的不可變目標草案。--goal-mode amend寫入修改提案,而非靜默編輯。--goal-mode none提取需求而不產生目標文字。
真正的不可變目標應僅在人類核准後才建立或修改。這條規則之所以存在,是因為 oai-trial 在實作定義的測試取代了客戶簡報時失敗了。
邊界
此技能從提供的本機檔案中提取清晰、可追溯的需求。當來源套件不明確時,它不會聲稱提取的合約是完整的。不明確之處將變成 open_questions[] 和「需要變更」報告。預設情況下,它拒絕儲存庫根目錄,因為 oai-trial 在程式碼形狀的檢查取代了交付的簡報時失敗了。
對於 Battle,將產生的 acceptance_bundle.json 作為競技場的 acceptance_floor 傳入,並將每個 acceptance_cases[].id 對應到 Battle 戰役設定檔中 required_case_ids 的一個或多個生成器案例 ID。這些對應的案例是合約底線,必須先通過,然後才能將模糊測試或超越合約的攻擊計入。不要讓 Battle 自行發明需求。