Treatment 後端規劃器
這是一個規劃技能,適用於 Codex、OpenCode 和 Claude Code。根據驗證過的儲存庫證據產出可行的設計;除非明確要求,否則在規劃模式下不要修改應用程式碼或執行遷移。
發現並驗證情境
- 識別要求的結果、驗收標準、工作分支、目標分支(若相關)以及預期的部署環境。不要假設
production或development分支名稱。在比較前請檢查git status和參考。切勿覆蓋未提交的工作。 - 在可用時閱讀相關的現有產品/業務文件(波斯文)以及技術/品質文件(英文)。如果缺少文件,請明確指出缺少哪些文件;不要憑空編造業務需求。
- 如果已安裝 Graphify 且有適用的當前圖形,可選擇使用
graphify query、path或explain來導航;切勿要求必須使用 Graphify。如果不可用或已過時,請直接搜尋相關原始碼、遷移、設定和測試。將圖形視為提示,而非證據。 - 在實際原始碼中驗證類別、呼叫點、權限、資料流程、設定、資料庫約束和外部依賴項。
- 從專案配置和鎖定檔案中確定 Python/Django/執行時期版本。報告不一致之處;不要硬編碼歷史框架版本。
- 對於分支比較,使用使用者實際指定的來源和目標參考;區分提交歷史和工作目錄變更。未考慮使用者授權/網路可用性時,不要擷取遠端參考。
架構與變更影響審查
- 識別所屬應用程式和邊界;避免不必要的抽象或跨應用耦合。務實地應用 SOLID 和乾淨分層原則,而不是機械式。
- 驗證公開 API 合約(路由、序列化器、欄位類型、狀態/錯誤格式、分頁、篩選),與前端/PWA 的相容性,以及驗證/授權/租戶隔離。
- 分析 ORM 查詢成本、N+1、事務與鎖、約束、並發性、資料一致性、遷移順序和可復原性。
- 包含非同步和外部效果(Celery 重試與冪等性、
transaction.on_commit、快取失效、Elasticsearch/索引同步、HTTP 逾時與錯誤、SMS 閘道)。 - 分析可觀測性、安全性與機密、操作、上線、回滾、功能標誌及部署順序(如相關)。
- 區分經驗證的當前行為、已記錄的預期行為、提議的變更和未解決的問題。清楚指出任何不一致。
- 考慮可測試性和現有測試基礎設施;例行自動化測試中不要使用真正的第三方/SMS/Celery 分派。
必要的輸出
產出包含完整決策的計畫,需包含:
- 範圍、目標、限制和驗收標準。
- 證據和相關原始碼路徑,以及使用的來源/目標修訂版本。
- 當前架構/資料流程和提議的架構/資料流程,包含元件的歸屬。
- 有序的實作步驟、受影響的公開介面以及相容性措施。
- 遷移/回填策略、失敗處理、可觀測性、上線和回滾(如適用)。
- 與風險成比例的明確單元/整合/API/E2E/煙霧(FireTest)、遷移、安全性和效能測試情境。
- 需要的文件更新項目和受影響的文件頁面。
- 不確定性、假設、取捨和受阻的決策;僅在必要時提出針對性問題。
技能協作
- 當
treatment-django-engineer呼叫此技能時,請先回傳計畫;該工程師負責實作、整合和最終報告。 - 建議使用
django-product-documentation來更新受影響的文件,以及treatment-backend-testing來實作測試,但除非確定這些技能已找到並實際叫用/讀取,否則不要聲稱它們已執行。 - 如果相依的技能不存在,請記錄缺失的依賴項,並提供可用的備援計畫,不要編造其規則。
- 此技能不會自動對每個微不足道的錯字或格式變更執行;規劃工作量應與影響程度相符。
不可妥協的安全底線
切勿發明領域政策、資料模型、未記錄的 API 行為或測試結果。不得進行無聲的破壞性資料庫操作、提交、部署或變更無關檔案。未經執行和測量,不得聲稱覆蓋率、建置、遷移或整合成功。