7b83465acf
leo 2026-07-17 拍板:任何時刻每 repo 只有一份現行 SDD(status: active)。 - 新增 3-specs/SDD-LIFECYCLE.md:frontmatter 狀態標記(active|draft|paused|closed + superseded_by)+五條鐵律(單一活性/禁 CC 自建 SDD/規格變更走 pending-changes.md 等 confirm/開新 SDD 先逐條搬舊任務才准寫 code/session 開始回報三數字) - 新增 3-specs/pending-changes.md:規格變更緩衝區骨架(待裁決/已裁決留底) - TEMPLATE-sdd/design.md 掛 frontmatter(status: draft),移除舊「> 狀態」blockquote - sdd-guard.sh 升級:active>1 不論寫什麼檔一律 exit 2;寫 code 檔需恰好 1 份 active;老 repo 無 frontmatter 退回舊行為(統計排除 archive/ 與 TEMPLATE) - 新增 template/scripts/sdd-active-check.sh:獨立檢查,pre-commit/CI 可掛,>1 exit 1 - /sdd-check 加生命週期段(五鐵律摘要+三數字回報格式);template/CLAUDE.md 鐵律指向 SDD-LIFECYCLE.md - install.sh/update.sh 鋪齊新檔(issue #13 教訓:update 不補新檔=結構斷層) - 三情境 pipe-test 真跑通過:兩份 active 擋(2)/一份放行(0)/零 frontmatter 退舊行為(0) - 版號:遠端已被 issue #5(vault 萃取)佔走 1.14.0,本案改記 1.15.0 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
文件分類索引
CC 整理文件時的分類依據。找不到分類就問,不要猜。
分類規則
| 目錄 | 放什麼 | 判斷標準 |
|---|---|---|
| 1-vision/ | 為什麼做這個 | 產品願景、北極星、設計哲學 |
| 2-architecture/ | 系統怎麼設計的 | 架構圖、技術棧、元件關係 |
| 2-architecture/decisions/ | 為什麼這樣設計 | ADR,選A不選B的原因 |
| 3-specs/ | 要做什麼 | SDD,每個子系統一個目錄 |
| 4-guides/ | 怎麼做 | 部署、開發流程、CLI 用法 |
| 5-records/ | 發生過什麼 | 歷史記錄,不修改只增加 |
| 5-records/incidents/ | 生產問題復盤 | 故障原因、時間線、改進方案 |
| 5-records/test-reports/ | 測試結果 | 壓測報告、驗收記錄 |
| 6-user/ | 給使用者看的 | README、安裝教學、FAQ |
CC 整理文件時的判斷流程
這個文件是...
├── 有明確子系統 + 設計內容? → docs/3-specs/[子系統]/
├── 解釋為什麼做某個決定? → docs/2-architecture/decisions/
├── 說明怎麼操作? → docs/4-guides/
├── 記錄發生過的事? → docs/5-records/
├── 給外部使用者看的? → docs/6-user/
└── 以上都不確定? → 列為「待確認」,問負責人
SDD 結構(docs/3-specs/ 下每個子系統)
docs/3-specs/[子系統名]/
├── design.md ← 設計文件(要做什麼、怎麼做、邊界在哪)
└── tasks.md ← 任務清單([ ] 未開始 [🔄] 進行中 [x] 完成)
CC 動手前必須有這兩個檔案。找不到就停手。
system-dev/wiki/ — CC 的記憶空間(CC 維護,人不手動編輯)
| 檔案 | 用途 | 更新時機 |
|---|---|---|
INDEX.md |
wiki 導引 | 新增 wiki 檔案時 |
mistakes.md |
CC 已知誤解 + 避坑 | 每次被糾正後 |
status.md |
當前進度 + 下一步 | 每次 session 結束 |
decisions-summary.md |
架構決策摘要 | 重大決策後 |