# FR-046 客戶交付文件套件 — 進度控管表

> **使用規則**：每個 session 完成任何 task / 到達 gate 後**必須更新本表**（狀態、commit、日期、備註），再產 handoff。
> 狀態值：`未開始` / `進行中` / `✅ 完成` / `🛑 等 user gate` / `❌ blocked`
> Plan 詳細步驟見 [implementation-plan.md](implementation-plan.md)；規範見 design §5 + `docs/交付文件/v1.8.0/conventions.md`。

> **⛔ 2026-07-06 收口（CLOSED）**：Task 11 對帳 gate 過後，user 決策提前收口——Task 12/13 取消，**後續客戶交付文件體系改走 FR-047 spec 手冊模式**（hub＋子頁＋wireframe，見 `docs/features/FR-047-2607-feature-spec-handbook/`）。本 FR 產出（md 源＋4 支 collect/verify/render script＋七份 docx 內容）全數進版保留，docx binaries 留本機。收口彙整見 [handoff/2026-07-06-phase3-close-SUMMARY.md](handoff/2026-07-06-phase3-close-SUMMARY.md)。

## 總覽

| 版本基準 | v1.8.0 | 交付對象 | 外部顧問（架構評估） |
|---|---|---|---|
| 產出位置 | `docs/交付文件/v1.8.0/` | 封面 | 「OOOO 版權所有」+ 機密 Confidential |

## 交付文件總藍圖（一般軟體交付 13 項對照，分批補齊用）

> 2026-07-04 與 user 對齊的「工程接手導向」交付文件全清單。本次 FR-046 先做顧問架構評估需要的部分；其餘標「待排程」，之後分批開工（每批補齊時在此表更新狀態與座標）。

| # | 文件 | 狀態 | 座標 / 備註 |
|---|------|------|------------|
| 1 | 系統架構文件 | ✅ 本次（GAI-SD-01） | `docs/交付文件/v1.8.0/` |
| 2 | API 規格文件 | ✅ 本次（GAI-SD-02） | 563 endpoints 全量 |
| 3 | 資料庫設計文件 | ✅ 本次（GAI-SD-03） | 146 表 |
| 4 | 環境建置手冊 | 🟢 已有既有版 | `docs/system-design/` BE/FE Setup Guide docx；未套 GAI-SD 樣式，待排程時決定是否重製 |
| 5 | 部署手冊 | 🔴 待排程 | 目前與 #4 混在一起，需獨立成正式部署文件（premise / AWS 兩型態） |
| 6 | 維運手冊（Runbook） | 🔴 待排程 | log / 故障排除 / 備份還原 / 重啟 SOP，知識散在 CLAUDE.md 與 memory |
| 7 | 權限與安全設計 | ✅ 本次（GAI-SD-04） | |
| 8 | 內部套件文件（jedi-*） | ✅ 本次（GAI-SD-05） | 完整揭露層級 |
| 9 | 功能規格總覽 | ✅ 本次（GAI-SD-07） | 10 章 + 生命週期圖；32/32 模組對照；`f106a351` |
| 10 | 測試文件 | 🔴 待排程 | E2E 在 compliance-manager-test repo，需彙整成交付版 |
| 11 | 使用者操作手冊 | 🟡 部分既有 | `docs/user-manual/`（生命週期腳本）；交付版待排程 |
| 12 | Release Notes | 🟢 已有 | `docs/release_notes/` 到 v1.8.0（md 格式；是否重製成 docx 待定） |
| 13 | 第三方元件與授權清單 | ✅ 本次（GAI-SD-06） | pilot，已過 gate |

## Phase 1 — 管線與 pilot（序列，模型：main session）

| Task | 內容 | 狀態 | Commit | 日期 | 備註 |
|------|------|------|--------|------|------|
| 1 | 目錄骨架 + conventions.md + glossary.md | ✅ 完成 | `4f742b9e` | 2026-07-04 | |
| 2 | renderer `render_docx.py`（TDD） | ✅ 完成 | `59d4c791`；重設計 `5393dbd2` | 2026-07-04 | pytest 3/3；pilot gate 回饋「太工程師」→ 重設計為 Direction A 海軍藍色帶 |
| 3 | GAI-SD-06 pilot（collect_licenses + 5 章 md + build） | ✅ 完成（gate 過） | `2779317c` | 2026-07-04 | BE 202/FE 100 對帳一致、UNKNOWN=0、敏感掃描 0；**user 於 2026-07-04 驗收通過（採 Direction A 設計）** |

## Phase 2 — 內容 fan-out（Task 4/5 先行；6~10 並行）

| Task | 內容 | 模型 | 狀態 | Commit | 日期 | 備註 |
|------|------|------|------|--------|------|------|
| 4 | route inventory `collect_routes.py` + 6 批分配 | main | ✅ 完成 | `7aef6130` | 2026-07-04 | 563 endpoints / 32 modules；dotenv 載入 + recursionlimit(5000) + 排除 static |
| 5 | DB schema dump `collect_db_schema.py` | main | ✅ 完成 | `b31dfbe6` | 2026-07-04 | 146 tables（41/58/47）；分區母表折疊子分區；對帳 baseline 用 db_schema.json |
| 6 | GAI-SD-01 系統架構 內容 | Opus | ✅ 完成 | `8907919a`；拓撲補 survey `1b75c663`；envelope 修正 `1104afea` | 2026-07-04 | 8 章 + 4 圖；32 模組地圖對齊 routes.json；拓撲圖 schema 三→四（補 survey）；build 過 §B 0 |
| 7 | GAI-SD-03 資料庫 內容 | Sonnet | ✅ 完成 | `12ed1b6e`；survey 補漏 `1b75c663` | 2026-07-04 | 8 章 + 3 ERD；**原漏 survey schema，已補 06-schema-survey.md → 161 H3 表 = db_schema.json（0 漏 0 多）**；rls/jsonb/migration 順延 07/08/09 |
| 8 | GAI-SD-04 權限安全 內容 | Opus | ✅ 完成 | `a02453ec` | 2026-07-04 | 7 章 + 3 圖；secret 全佔位符；build 過 §B 0 |
| 9 | GAI-SD-05 jedi-* 套件 內容 | Opus | ✅ 完成 | `0c3ae296` | 2026-07-04 | 20 章 + 依賴圖；18 使用中 + jedi-oscal v1/resource-store 標未使用；build 過 §B 0 |
| 10 | GAI-SD-02 API 規格 batch 1~6 | Sonnet ×6 | ✅ 完成 | `69599302` | 2026-07-04 | 563 ep / 32 模組 / 435 頁；對帳 method+path 0 漏 0 多；envelope 修正 `1104afea` |

> **架構 gate（2026-07-04）**：user 審 content-architecture.md「全部 OK，開始撰寫」→ dispatch Task 6~10。**Wave 1（6~9）+ Wave 2（10）全部完成並 commit。**
> batch 4/5 的 confused agent 誤 spawn helper（NN-prefix 檔名），已於組裝時去重命名為 canonical `<module>.md`；對帳 563 = routes.json 563（0 漏 0 多）。
> 撰寫中發現並修正：envelope 真實形狀（`{"status":true}` / `{"error_code","msg"}`，非 CLAUDE.md shorthand `{"code":1}`）— glossary + GAI-SD-01 §4.4 一併改（`1104afea`）。

### Task 10 批次明細（api_batches.json 均分，整模組不拆）

| Batch | 模組 | endpoint 數 | 狀態 | Commit |
|-------|------|------------|------|--------|
| 1 | oscal + 00-api-conventions | 97 | ✅ | `69599302` |
| 2 | module_frame, evidence_classification, system_menu, translate | 94 | ✅ | `69599302` |
| 3 | auth, project_summary_report, device, uploadfile, notification | 93 | ✅ | `69599302` |
| 4 | survey, remote_agent, cloud_integration, bulletin, user_auth_provider, report | 93 | ✅（helper 產出，已正名） | `69599302` |
| 5 | project, participant, task_survey, feedback, information_system, log, label | 93 | ✅（helper 產出，已正名） | `69599302` |
| 6 | grc, flow_engine, system_config, subtask_status_history, ai, ai_dashboard, captcha, issue, notify_config | 93 | ✅ | `69599302` |

## Phase 2.5 — 追加交付物（user 2026-07-04 指示納入本階段）

| Task | 內容 | 模型 | 狀態 | Commit | 日期 | 備註 |
|------|------|------|------|--------|------|------|
| 14 | GAI-SD-07 功能規格總覽（總藍圖 #9） | Opus | ✅ 完成 | `f106a351`；UC 改版 `cd0fe2b2` | 2026-07-04 | 10 章 + fs-lifecycle 圖；03 章 32/32 模組對照 routes.json（0 漏）；以系統實況覆寫 3 月舊素材。**UC 格式改版：04~10「主要使用情境」改 UC 規格（H4 + 表，29 個 UC，例外對照真實 error code），02 各階段補「相關 UC」串接**；build 過 §B 0；🛑 等 user 驗收 |

## Phase 3 — 收斂

| Task | 內容 | 模型 | 狀態 | Commit | 日期 | 備註 |
|------|------|------|------|--------|------|------|
| 11 | 對帳 `verify_deliverables.py` + 敏感資訊/用語掃描 | main | ✅ 完成（**gate 過**，user 2026-07-06 確認） | `4449ac8e` | 2026-07-05 | 三項對帳全綠：ep 563=563／表 161=161／依賴 BE202+FE100；敏感掃 109 檔 0 命中；GRC 系統=0；晶晶體黑名單 0 |
| 12 | 跨文件一致性 review（含晶晶體抽查） | Opus | ❌ 取消 | — | 2026-07-06 | user 決策：FR-046 提前收口，後續交付文件改走 FR-047 spec 手冊模式 |
| 13 | build 全部 docx + 最終交付 | main | ❌ 取消（docx 已 build 於本機、不入版控） | — | 2026-07-06 | 七份 docx＋`GuidantAI-v1.8.0-SD.zip` 在本機 `docs/交付文件/v1.8.0/`；md 源＋管線已全數進版，可隨時 `render_docx.py` 重 build；最終驗收 gate 隨收口取消 |

## Gate 紀錄

| Gate | 日期 | 結果 | 備註 |
|------|------|------|------|
| Pilot 驗收（Task 3） | 2026-07-04 | ✅ 過 | 首版被評「太工程師」→ renderer 重設計 Direction A 海軍藍色帶（`5393dbd2`），user 複驗通過 |
| 內容架構審查（Task 6~10 前） | 2026-07-04 | 🛑 進行中 | user 要求先審文件內容架構再放量撰寫 |
| 對帳結果（Task 11） | 2026-07-06 | ✅ 過 | 三項對帳 + 敏感/用語掃描全綠（`4449ac8e`），user 確認 |
| 最終驗收（Task 13） | 2026-07-06 | ❌ 取消 | FR-046 提前收口（見下），docx 留本機不入版控 |

## Session 紀錄

| 日期 | Session | 完成項 | Handoff |
|------|---------|--------|---------|
| 2026-07-04 | #1 | brainstorm + design + plan（`08b5393d` / `317c8890`）+ Phase 1 全部（`4f742b9e` / `59d4c791` / `2779317c`），停在 pilot gate | [2026-07-04-phase2-fanout-handoff.md](handoff/2026-07-04-phase2-fanout-handoff.md) |
| 2026-07-04 | #2 | pilot gate → renderer 重設計 Direction A（`5393dbd2`）；Task4 route inventory（`7aef6130`）+ Task5 DB schema（`b31dfbe6`）；content-architecture user 審過 → **Phase 2 全部**（GAI-SD-01/03/04/05 + DOC-02 563 ep `69599302`）；envelope 修正（`1104afea`）；**survey schema 補漏**（`1b75c663`，161 表）；**GAI-SD-07**（`f106a351`，Task 14）。停在 Phase 3 前等 user 驗收 | — |
| 2026-07-06 | #3 | Task 11 對帳 script（`4449ac8e`）全綠 → user 確認 gate 過並下令收口：Task 12/13 取消、tracker 標 CLOSED、SUMMARY 產出 | — |
