| 項目 | 內容 |
|---|---|
| 緣由 | Phase 1(管線 + pilot)完成,停在 pilot user gate;下一棒執行 Phase 2 內容 fan-out |
| Branch | main(本 feature 全程在 main,不切 branch) |
| 接手前必讀 | 本文件 §0 讀序 |
| 前置條件 | 🛑 pilot gate 必須先過:user 開過 GAI-SD-06-Third-Party-Licenses-v1.8.0.docx 說 OK 才開工;user 若有排版修改意見 → 先改 renderer 重 build 重驗,再進 Phase 2 |
| 預估 | Phase 2 全部 task 約 1~2 個工作天(含並行 agent 等待) |
這整件事要解決什麼:公司要把 Guidant AI 系統交付給客戶端,客戶請了外部顧問做架構評估。顧問需要一套正式技術文件(Word)來理解全系統並提出架構建議。目標是 6 份繁體中文正式文件(GAI-SD-01~06:系統架構 / API 全量規格 / 資料庫 / 權限安全 / jedi-* 內部套件 / 第三方授權清單),範圍涵蓋 BE + FE + jedi-* + 部署拓撲,jedi-* 完整揭露(顧問拿得到源碼)。
目標模型:內容寫成 markdown(唯一內容源,進版控),由共用 renderer(scripts/deliverables/render_docx.py)統一轉成專業排版 docx(封面「OOOO 版權所有」佔位 + 密等機密 + 統一樣式)。內容真相來源是 code / DB 程式化產生(route dump、information_schema、依賴 metadata),不抄舊文件 —— 舊的 docs/api/、docs/claude/database-schema.md 完整度不一,只能當敘述參考。最後由對帳 script 程式化驗證「文件數量 = 真實數量」。
本棒在大圖的位置:三階段中的第二段 —— Phase 1 管線已完成並通過 pilot 驗證;本棒做 Phase 2(route/DB inventory scripts + 5 份文件內容 fan-out);Phase 3(對帳 + 一致性 review + build 全部)是下下棒。
冷接自檢 4 問(答不出來回去讀 design.md,別動手):
docs/api/?(renderer 統一樣式;程式化對帳要求真相來源唯一)docs/features/FR-046-2607-client-delivery-docs/design.md 全讀(尤其 §1 決策表 / §4 真相來源 / §5 規範 / §7 驗收)docs/交付文件/v1.8.0/conventions.md 全讀(撰寫規範憲法,§C md 子集 / §D 可解析標記 / §E meta.yaml)docs/features/FR-046-2607-client-delivery-docs/implementation-plan.md 的「全域鐵則」+ Phase 2(Task 4~10)docs/features/FR-046-2607-client-delivery-docs/tracker.md(進度控管表 — 每完成一個 task 必更新)scripts/deliverables/render_docx.py 開頭 docstring(renderer 介面)+ scripts/deliverables/collect_licenses.py(collector 寫法範本)docs/交付文件/v1.8.0/src/doc-06-licenses/(五章 md 就是「合格內容源」的樣子)docs/交付文件/v1.8.0/(conventions / glossary / 六個 meta.yaml 骨架 / doc-06 五章)+ scripts/deliverables/{render_docx,collect_licenses}.py + test/test_deliverables_renderer.py。docs/交付文件/ 所有 shell 命令加引號。MANUAL_LICENSE 人工補值;新 collector 比照。-am / add -A:本 session 曾因 index 有別人 staged 的東西差點掃進 commit。git add <檔> 再 git commit -- <檔>。create_app(enable_socketio=False) 可避 eventlet;但 create_app() 尾端 init_scheduler() 會啟動 APScheduler —— dump 完要 explicit shutdown + sys.exit(0)(推測可行,待 verify:先跑一次看會不會卡住或打 DB)。collect_routes.py → out/routes.json + out/api_batches.json → 更新 tracker「Task 10 批次明細」表 → commitcollect_db_schema.py → out/db_schema.json → 對帳表數 → commitscripts/deliverables/collect_routes.py、collect_db_schema.py、scripts/deliverables/out/{routes,api_batches,db_schema}.jsondocs/交付文件/v1.8.0/src/doc-0{1,2,3,4,5}-*/ 各章 md + 更新各 meta.yaml chapters + src/assets/*.dotdocs/features/FR-046-2607-client-delivery-docs/tracker.md(每 task)~/Projects/Jedicogy/module/jedi-python-package/(DOC-05)—— 讀 FE 前先讀 FE CLAUDE.mdcd ~/Projects/Billows/Audit-Manager/compliance-manager-be
git branch --show-current # 應為 main
git status --short # 應乾淨(或只有已知 untracked)
git log --oneline -6 # 應見 2779317c / 59d4c791 / 4f742b9e / 317c8890 / 08b5393d
poetry run pytest test/test_deliverables_renderer.py -q # 3 passed
poetry run python scripts/deliverables/render_docx.py "docs/交付文件/v1.8.0/src/doc-06-licenses" # ✅ Generated.env(DB_SECRET 是 JSON)docs/api/ 舊文件(它們不是本案交付物)| Commit | 內容 |
|---|---|
08b5393d |
design.md + README FR 登記 |
317c8890 |
implementation-plan.md(reviewer 兩輪 Approved) |
4f742b9e |
Phase1 Task1 — conventions + glossary + 骨架 + tracker |
59d4c791 |
Phase1 Task2 — renderer(TDD 3 tests) |
2779317c |
Phase1 Task3 — GAI-SD-06 pilot(collector + 五章 + build 通過) |
(同日 main 上另有他人 / 前 session 的 b6ebf097 oscal v1 清理 commit,與本案無關。)
請讀 docs/features/FR-046-2607-client-delivery-docs/handoff/2026-07-04-phase2-fanout-handoff.md,
先完成「🧭 原始需求」的冷接自檢 4 問與 §0 讀序(design.md、conventions.md 必讀),
再跑 §6 pre-flight 與 §7 gate 確認(pilot 驗收已過),
然後照 §4 開工順位執行 Phase 2(Task 4~10),每完成一個 task 更新 tracker.md。