For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (
- [ ]) syntax for tracking.
Goal: 產出 6 份可交付外部顧問的正式 Word 文件(GAI-SD-01~06),採 Markdown 內容源 + 共用 python-docx renderer 管線。
Architecture: 三階段 — Phase 1 建管線(conventions + renderer + GAI-SD-06 pilot,user 驗收後才放量);Phase 2 並行 fan-out(4 份文件各 1 agent + API 規格按模組拆 6 批);Phase 3 收斂(程式化對帳 + 一致性 review + build 全部)。內容真相來源一律 code / DB 程式化產生(design §4)。
Tech Stack: python-docx(升級 docs/claude/docx-generation-pattern.md 既有 helper 工具組)、Graphviz、psycopg(information_schema dump)、importlib.metadata(license 收集)。
Spec: design.md — 所有內容規範以 design §5 + 本 plan Task 1 產出的 conventions.md 為準。
192.168.*)、帳密、內部 Nexus URL、.env 內容一律不得寫入任何 md / docx / script 註解。環境值用佔位符(<DB_HOST>)。連 DB 的 script 從 .env 讀憑證,絕不 hardcode。git add <檔名>,禁用 -am / git add -A(working tree 有他人 WIP 與 staged cleanup)。不切 branch、不 push。docs/api/、docs/claude/database-schema.md 只當敘述參考,不當清單來源。docs/交付文件/v1.8.0/
├── conventions.md
├── src/
│ ├── doc-01-architecture/ # 每章一檔:NN-<slug>.md + meta.yaml
│ ├── doc-02-api-spec/
│ ├── doc-03-database/
│ ├── doc-04-security/
│ ├── doc-05-internal-packages/
│ ├── doc-06-licenses/
│ ├── glossary.md
│ └── assets/ # Graphviz .dot
└── GAI-SD-0N-<Name>-v1.8.0.docx # build 產物(Phase 3 才 commit)
scripts/deliverables/
├── render_docx.py # md → docx renderer
├── collect_licenses.py # 依賴清單 → JSON + md 表格
├── collect_routes.py # Flask route inventory → JSON
├── collect_db_schema.py # information_schema dump → JSON
└── verify_deliverables.py # 程式化對帳(design §7)
Files:
docs/交付文件/v1.8.0/conventions.mddocs/交付文件/v1.8.0/src/glossary.mddocs/交付文件/v1.8.0/src/doc-0{1..6}-*/(六個空資料夾,各放 meta.yaml)192\.168\.、password\s*=、Billows@、https?://[^\s]*nexus|nexus[^\s]*\.(jedicogy|internal)(只抓 URL / host 形態,裸字 "Nexus" 是 DOC-05 合法內容)、DB_SECRET)#→章(Heading 1,自動編號 N.)、##→節(N.M)、###→小節(N.M.K)、GFM table→深藍表頭斑馬表格、fenced code→Consolas 灰底、→Graphviz 轉 PNG 嵌入、粗體/inline code 對映### [METHOD] /api/path 一個 endpoint 一個 H3,內文固定小節順序:說明 / 權限 / Request / Response / Error codes### 表 <schema>.<table_name> 一表一 H3,欄位表 GFM table 固定欄序:欄位 / 型別 / Nullable / 預設 / 說明doc_id(GAI-SD-0N)、title、subtitle、version: v1.8.0、date、classification: 機密 Confidential、copyright: OOOO 版權所有、audience、chapters:(檔名排序清單)、toc_depth:(預設 3;doc-02 設 2,否則 300+ 頁的 H3 endpoint 目錄會長達數十頁)docs/claude/docx-generation-pattern.md §4.4(DDD 分層色系),.dot 進 src/assets/git add "docs/交付文件/v1.8.0/conventions.md" "docs/交付文件/v1.8.0/src/"
git commit -m "docs(FR-046): 交付文件管線 Phase1 — conventions + glossary + 目錄骨架"scripts/deliverables/render_docx.pyFiles:
scripts/deliverables/render_docx.pytest/test_deliverables_renderer.pydocs/claude/docx-generation-pattern.md(helper 工具組直接沿用:T/H/P/code/render_dot/add_toc/set_shading)介面: poetry run python scripts/deliverables/render_docx.py "docs/交付文件/v1.8.0/src/doc-06-licenses" → 讀 meta.yaml + chapters md → 輸出 docs/交付文件/v1.8.0/GAI-SD-06-<Name>-v1.8.0.docx
Renderer 職責(全部由 meta.yaml 驅動,內容 md 零排版指令):
COPYRIGHT_HOLDER = "OOOO",公司名確定後改一處)/ 撰寫與審核欄(空白表格)版本/日期/變更說明/作者,初版一列 v1.8.0)toc_depth 驅動,預設 1–3 層){doc_id}|機密 Confidential;頁尾:頁碼(w:fldChar PAGE).dot 圖引用),章自動編號、章末 page breaksrc/glossary.md 為「附錄:術語表」章(design §5.6 — 六份共用同一份;預設開啟,meta.yaml 可設 appendix_glossary: false 關閉)Files:
scripts/deliverables/collect_licenses.pydocs/交付文件/v1.8.0/src/doc-06-licenses/{meta.yaml,01-overview.md,02-be-dependencies.md,03-fe-dependencies.md,04-internal-packages.md,05-license-summary.md}importlib.metadata.distributions() 取名稱/版本/License(metadata 缺 License 時標 UNKNOWN 待人工補);jedi-* 標記為「自有元件」~/Projects/Billows/Audit-Manager/compliance-manager-fe/package.json dependencies + 各 node_modules/<pkg>/package.json 的 license 欄;先確認 node_modules/ 存在,不存在就停下提示需 npm install,不准 silent 把整批標 UNKNOWNscripts/deliverables/out/licenses.json + 按 conventions §D 格式直接產 02/03 章的 GFM table mdscripts/deliverables/collect_routes.pyscripts/deliverables/collect_db_schema.py每個 subagent dispatch prompt 必含:conventions.md 全文 + glossary.md + 全域鐵則 + 該文件章節骨架(design §2)+ 真相來源清單 + 顯式 git add 指示。共同要求:每個技術描述寫入前對照當前 code 核實;圖一律 .dot 進 src/assets/;完成後跑 renderer build 自查一次能過。
| Task | 文件 | 真相來源(agent 必讀) | 章節骨架 |
|---|---|---|---|
| 6 | doc-01 系統架構 | docs/claude/architecture-details.md、core/app_factory.py、di_containers/、config/、FE repo src/(讀 FE CLAUDE.md 先)、docs/claude/frontend-overview.md、agent 拓撲(FR-039 design) |
系統總覽與拓撲圖 / 技術棧版本矩陣 / BE DDD 分層與 DI / BE 模組地圖(33 模組各一段職責)/ FE 架構 / 部署架構(premise、AWS)/ 外部整合(Drive、AI) |
| 7 | doc-03 資料庫 | out/db_schema.json(清單唯一來源)+ ORM model comment= + docs/claude/sql-migration-conventions.md |
Schema 總覽 / ERD(按領域分張 .dot)/ 全表結構(§D pattern,一表一 H3)/ RLS 設計 / JSONB 欄位 / migration 機制 |
| 8 | doc-04 權限安全 | docs/system-design/permission/ 說明書、jedi-auth 源碼、session_scope RLS 注入實作、mTLS(build_cloud_mtls_context) |
RBAC 三層 / ui_routes 與 capabilities / RLS tenant 隔離機制 / JWT 生命週期 / secret 管理原則 / mTLS agent 通道 |
| 9 | doc-05 jedi-* 套件 | ~/Projects/Jedicogy/module/jedi-python-package/ 21 套件源碼 + docs/claude/jedi-packages.md + pyproject pins(19 個使用中) |
套件總覽與依賴圖 / 每套件一章:定位、模組結構、關鍵 class/service、公開介面、版本 / 發版機制(Nexus,URL 用佔位符) |
api_batches.json)每 batch 一個 subagent:對 batch 內每個 endpoint,讀 route 檔 + marshmallow schema + error code 檔,按 conventions §D pattern 寫完整規格(說明 / 權限(角色與前置條件)/ Request schema 欄位表 / Response schema 欄位表 / Error codes 表)。routes.json 是 endpoint 清單唯一來源 — 不准漏、不准自創。另有一個共同章(batch 0,隨第一個 agent):API 設計規範總則(envelope / JWT / 分頁 / error code 體系 / i18n / 審計欄位慣例)。
scripts/deliverables/verify_deliverables.py| 項目 | 驗證方式 | Task |
|---|---|---|
| 六份樣式一致 | pilot 基準 + 逐份抽查 | 3 / 13 |
| endpoint 全量 | verify_deliverables.py 對 routes.json | 11 |
| 表全量 | verify_deliverables.py 對 db_schema.json | 11 |
| 依賴全量 | verify_deliverables.py 對 licenses.json | 11 |
| 無敏感資訊 / 無「GRC 系統」 | grep 掃描 = 0 | 11 |
| 術語一致 | consistency reviewer | 12 |
| 技術描述正確 | reviewer 抽 10 項回 code 核實 | 12 |