Files
system-dev-template/template/system-dev/docs
Leo 7b83465acf feat: SDD 生命週期鐵律——單一活性 SDD+pending-changes 緩衝+雙層硬約束(issue #6)+ bump 1.15.0
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>
2026-07-17 16:53:18 +08:00
..

文件分類索引

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 架構決策摘要 重大決策後