使用規則:每完成一個頁面 spec 必須更新本表(狀態 / commit / 日期 / 模型);每個 session 收尾更新「Session 紀錄」。 狀態值:
⬜ 未開始/🚧 撰寫中/🔍 待驗證(route 存廢或歸屬待確認)/✅ 完成/🛑 等 user gateSOP:writing-feature-specsskill(含 13 節模板 / 事實來源紀律 / build 驗證);範本 = project-planning.md 頁面清單來源:2026-07-05 實掃 FEsrc/config/router/index.js(110 條 route 去重合併:-round/-aplegacy 變體、多步匯入精靈、form 子頁併入母頁 spec) 姊妹表(已知坑處理):全站 spec §12「邊界情況與已知坑」508 條的定調 / 修復銷帳不在本表,唯一追蹤表 →docs/analysis/2026-07-07-known-pits-remediation-tracker.md(本表只管 spec 頁面量產進度,坑的處理狀態一律看那份)
_overview.md(頁面地圖 / 共用狀態機 / 角色 / 核心資料模型)再放量頁面public.ui_routes enable=1)、歸屬是否正確,死 route 回報本表除名,不要硬寫| 頁面 | route(含變體) | 模型 | 狀態 | Commit | 日期 |
|---|---|---|---|---|---|
| _overview | — | main | ✅ | 26b12e43 起多輪 |
2026-07-05 |
| 專案規劃頁 | project-planning(-round/-ap) | main | ✅ pilot(§5 實機截圖完成,STG 亮色,帳號 blsit / 專案「回饋整合設定」) | 674d7de0 等 |
2026-07-05 |
| 專案列表頁 | project-list | Sonnet | ✅(§5 截圖完成) | 83fce5ac, a91fbf95 |
2026-07-05 |
| 專案建立 | project-create | Opus | ✅(§5 截圖完成) | 83fce5ac, a91fbf95 |
2026-07-05 |
| 專案總覽頁 | project-auditor-overview(-round/-ap) | Opus | ✅(§5 截圖完成) | 83fce5ac, a91fbf95 |
2026-07-05 |
| 專案儀表板 | project-dashboard | Sonnet | ✅(§5 截圖完成;全域落地頁,非 per-project 總覽;§12 記錄 2 處已驗失效 UI) | f0c8cdef, a91fbf95 |
2026-07-05 |
| 稽核輪次清單 | project-ap-list | Sonnet | ✅(§5 截圖 1/2,pending_reverify 狀態 STG 無資料缺 1 張) |
f0c8cdef, a91fbf95 |
2026-07-05 |
| 專案設定 | project-settings | Sonnet | ✅(§5 截圖完成;§12 記錄 PUT 無角色守門安全缺口;截圖順帶發現參與人員 tab 顯示 uid 非暱稱 bug,已另開 task) | f0c8cdef, a91fbf95 |
2026-07-05 |
| — | ❌ 除名(已驗死 route:FE 0 個 nav 進入點,功能 FR-038 併入專案規劃頁任務面板;router 條目為孤兒) | 2026-07-05 |
FR-047 規劃頁 hub 拆分(2026-07-06,未 commit)——project-planning.md 由 699 行單頁改造成 hub 導航頁(266 行),重功能拆 4 子頁 + FlowPhaseBanner 抽共用元件:
| 頁面 | route / 定位 | 模型 | 狀態 | Commit | 日期 |
|---|---|---|---|---|---|
| 專案規劃頁(hub) | project-planning(-round/-ap) | main | ✅ hub 改造(13 節頁級化 + §5 hub wireframe + 六 Tab 對照;子頁連結) | 未 commit | 2026-07-06 |
| 現況編輯與程序書 | planning-status | main | ✅ 新頁(現況#1/程序書#2/節點參與人員#13;UC-01/05/08;wireframe) | 未 commit | 2026-07-06 |
| AO 任務配置與啟動 | project-task-edit | main | ✅ 擴充(改題 Task Config;補快速配置#5/開始執行#6/UC-PP-02;wireframe;坑:快速配置清空關聯) | 未 commit | 2026-07-06 |
| 批次維護 | planning-batch-ops | main | ✅ 新頁(#7~#10;匯入三步×2 field-level + Excel 樣板欄位;文件匯出 6 格式;wireframe) | 未 commit | 2026-07-06 |
| 基本資訊與參與人員 | planning-basic-info | main | ✅ 新頁(Tab2/3 合一;PUT /grc/project;坑 1 無角色守門安全 finding;wireframe) | 未 commit | 2026-07-06 |
搬運複核抓到原 planning §3/§10 error code stale:階段角色
GRC_403009→實際GRC_403050、前置GRC_412035→實際GRC_412021、現況GRC_403031→實際走GRC_403051(皆已於子頁修正)。待辦 follow-up(等 user wireframe sweep 收斂再做,避免並行 clobber):① 全站 grep 修指向舊project-planning.md#錨點(project-overview.md:267#93-);② audit-review / ap-authoring / poam / project-overview 的 FlowPhaseBanner 重複描述改引用shared-components/flow-phase-banner.md(該頁 §1.2 已列使用頁)。
| 頁面 | 定位 | 模型 | 狀態 | Commit | 日期 |
|---|---|---|---|---|---|
| 階段推進橫幅 | flow-phase-banner | main | ✅ 新頁(跨生命週期共用元件;§6.5 stage info/advance;stage_objects;wireframe;§1.2 列 5 使用頁) | 未 commit | 2026-07-06 |
| 頁面 | route | 模型 | 狀態 | Commit | 日期 |
|---|---|---|---|---|---|
| _overview | — | Opus | ✅ | 2026-07-05 | |
| 稽核計畫填寫頁 | project-ap-authoring-round | Opus | ✅(§5 截圖 3/4,DOCX 匯入需 audit_planning 階段資料缺) | 75fbdef6 |
2026-07-05 |
| 稽核執行頁(AR 判定) | project-audit-review-round | Opus | ✅(§5 截圖完成 5/5) | 75fbdef6 |
2026-07-05 |
| POA&M 矯正頁 | project-poam-round | Opus | ✅(§5 截圖 1/4,STG 全庫無 POA&M 資料) | 25c3420f, 75fbdef6 |
2026-07-05 |
| 我的任務(受稽方執行) | project-my-tasks | Opus | ✅(§5 截圖 2/4,批次完成需已上傳證據任務缺) | 1d923a4c, 75fbdef6 |
2026-07-05 |
| 我的稽核 | project-my-audits | Sonnet | ✅(§5 截圖 2/3,逾期標籤需輪次起訖日期缺) | 9edea842, 75fbdef6 |
2026-07-05 |
| workflow-setup / workflow-view | — | 🔀 除名(非本群):live 的 BPMN 範本編輯/檢視(?id=workflow_template_uid,由 ModuleFrame/規劃頁 task-setup 導向),歸 Wave 2 合規框架與 SSP 群 flow-template-* 同族 |
2026-07-05 |
| 頁面 | route | 模型 | 狀態 | Commit | 日期 |
|---|---|---|---|---|---|
| _overview | — | Opus | ✅ | bba1e08d |
2026-07-05 |
| 合規框架管理 | compliance-framework-manage / version-manage | Opus | ✅(欠 §5 截圖) | d5eddff9 |
2026-07-05 |
| 框架版本匯入 / 編輯 | compliance-framework-import-version / version-edit | Sonnet | ✅(欠 §5 截圖) | 3fdcec1b |
2026-07-05 |
| 範本管理(ModuleFrame) | module-frame / -items / -template-edit | Opus | ✅(欠 §5 截圖) | 46a69ea3 |
2026-07-05 |
| 範本匯入精靈(docx / excel) | module-frame-import-*(5 條合一) | Sonnet | ✅(欠 §5 截圖) | 9a5bcbbe |
2026-07-05 |
| SSP docx 匯入 / 更新 | project-ssp-import-docx | Sonnet | ✅(欠 §5 截圖) | 9a5bcbbe |
2026-07-05 |
| BPMN 稽核範本管理 | flow-template-manage / -create / -edit | Opus | ✅(欠 §5 截圖) | ccfd588b |
2026-07-05 |
| 頁面 | route | 模型 | 狀態 | Commit | 日期 |
|---|---|---|---|---|---|
| _overview | — | Opus | ✅ | 1a3fdb66 |
2026-07-05 |
| 證據分類覆核 | evidence-classification-review | Opus | ✅(欠 §5 截圖) | 8b9c1fa5 |
2026-07-05 |
| 分類報表(驗證 / 裁決) | evidence-classification-report-validation / -adjudication | Sonnet | ✅(欠 §5 截圖) | 0caf4a53 |
2026-07-05 |
| 雲端整合(Drive) | cloud-integrations | Sonnet | ✅(欠 §5 截圖) | 3f86d320 |
2026-07-05 |
| 檔案 Agent 管理 | remote-agent-manage | Sonnet | ✅(欠 §5 截圖) | fc7e33ae |
2026-07-05 |
| 儲存設定 | storage-config | Sonnet | ✅(欠 §5 截圖) | c0c8d00b |
2026-07-05 |
| 頁面 | route | 模型 | 狀態 | Commit | 日期 |
|---|---|---|---|---|---|
| _overview | — | Sonnet | ✅ | d9e16dec |
2026-07-05 |
| 問卷管理 | survey-v2-manage | Sonnet | ✅(欠 §5 截圖) | 84f9569d |
2026-07-05 |
| 問卷設計器 | survey-v2-designer | Opus | ✅(欠 §5 截圖) | c206faa7 |
2026-07-05 |
| 問卷填寫 / 預覽 | survey-v2-fill / -preview | Sonnet | ✅(欠 §5 截圖) | (本次) |
2026-07-05 |
| 頁面 | route | 模型 | 狀態 | Commit | 日期 |
|---|---|---|---|---|---|
| _overview | — | Sonnet | ✅ | 849318b7 |
2026-07-05 |
| 專案摘要報表 | project-summary-report / -tab-view / -history | Opus | ✅(欠 §5 截圖) | afa14805 |
2026-07-05 |
| AI 儀表板 | ai-dashboard | Sonnet | ✅(欠 §5 截圖) | (本次) |
2026-07-05 |
| — | ❌ 除名(已驗死:ui_routes enable=0 選單停用、DashboardEditor.vue 為 vue-grid-layout demo(TodoCard/BarStatsCard/PeiStatsCard 假卡)、無 API / 無持久化、template 留有未完成 item.h"npm typo;未完成 scaffold 非功能頁) |
2026-07-05 | |||
| — | ❌ 除名(已驗死:ui_routes 無此列、FE 0 個 nav 進入點、ThreatAnalysis.vue 為 Sigma.js 硬編範例 demo(John/Mary/Sushis…)、無 API 呼叫;scaffolding 殘留非功能頁) |
2026-07-05 |
| 頁面 | route | 模型 | 狀態 | Commit | 日期 |
|---|---|---|---|---|---|
| _overview | — | Sonnet | ✅ | 4f5e08f9 |
2026-07-05 |
| 登入(含 MFA OTP) | login / otp-verify | Opus | ✅(欠 §5 截圖) | 9156038f |
2026-07-05 |
| 忘記密碼 / 重設密碼 | forget-password / reset-password | Sonnet | ✅(欠 §5 截圖) | (本次) |
2026-07-05 |
| 頁面 | route | 模型 | 狀態 | Commit | 日期 |
|---|---|---|---|---|---|
| 公告管理(manage+form) | bulletin-manage / -form | Sonnet | ✅(欠 §5 截圖) | 9f57cc84 |
2026-07-05 |
| 公告檢視(list+view+user-guide) | bulletin-list / -view / -user-guide | Sonnet | ✅(欠 §5 截圖) | cf26f3b1 |
2026-07-05 |
| 回饋管理(系統 / 巡檢) | system-feedback-* / cruising-feedback-*(8 條合一) | Sonnet | ✅(欠 §5 截圖;巡檢停用+會炸 BE,見 §12) | c38d3309 |
2026-07-05 |
| 頁面 | route | 模型 | 狀態 | Commit | 日期 |
|---|---|---|---|---|---|
| _overview | — | Opus | ✅(Opus 自寫:三層 RBAC + 組織模型 + system_configs 慣例) | (本次) |
2026-07-05 |
| 使用者管理 | user-manage / user-form | Sonnet | ✅(欠 §5 截圖;live=UserMTRBACForm,UserForm.vue 死碼;§12 寫入端點僅 JWT) | 44e5ca10 |
2026-07-05 |
| 角色權限管理 | role-manage / role-form | Opus | ✅(欠 §5 截圖;§12 系統角色/平台能力僅 FE 保護、能力全量取代) | (本次) |
2026-07-05 |
| 選單管理 | system-menu-manage | Sonnet | ✅(欠 §5 截圖;jedi-system-menu 套件;別混 ui_routes) | 9f02f316 |
2026-07-05 |
| 部門管理 | department-manage | Sonnet | ✅(欠 §5 截圖;§12 path/cascade 待驗證) | 1f0b06ae |
2026-07-05 |
| 租戶管理 | tenant-manage | Sonnet | ✅(欠 §5 截圖;新增連帶 seed 部門/角色;§12 cascade/FK) | 0c049ea7 |
2026-07-05 |
| 設備管理 | device-manage | Sonnet | ✅(欠 §5 截圖;§12 delete 無 BE 擁有者/角色守門) | d1ba1d9a |
2026-07-05 |
| 資訊系統盤點 | information-system-manage | Sonnet | ✅(欠 §5 截圖;FIPS-199 C/I/A 自動算;§12 軟刪/enum 漂移) | 58cc1c6c |
2026-07-05 |
| 通知 / SMTP 設定 | notify-config / smtp-config(-manage) | Sonnet | ✅(欠 §5 截圖;system_configs NOTIFY_CONFIG/SMTP;§12 mail/test 無守門) | 4e5085d0 |
2026-07-05 |
| LDAP 設定 | ldap-config | Sonnet | ✅(欠 §5 截圖;group=THIRD_PARTY_LOGIN/LDAP) | fa218d1d |
2026-07-05 |
| 議題整合設定 | issue-integrate-config | Sonnet | ✅(欠 §5 截圖;§12 HIDDEN_SECRET 漏遮罩 token / issue_service copy-paste bug) | ce4ef268 |
2026-07-05 |
| 工具外掛管理 | tool-plugin-manage | Opus | ✅(🔍 驗 live=enable=1;查出前端 mock 占位頁、無後端/持久化) | 384f7f3b |
2026-07-05 |
| 掃描設定檔管理 | detection-profile-manage | —(FR-059 新頁隨案補寫) | ✅(欠 §5 截圖;FR-059 檢測 Profile 庫雙軌管理頁;§12 公用版新增無 FE 入口、update capability 預留孤兒、只在 DEV) | (未 commit) | 2026-08-01 |
| Log 轉發設定 | log-forwarding | —(FR-068 新頁隨案補寫) | ✅(欠 §5 截圖;FR-068 系統 log 轉發;三端點皆有 capability 守門=本群少數;§12 測試用已存設定/UDP 不保證送達/遮罩為預留位/STG-POC 未套 migration) | (未 commit) | 2026-08-27 |
| 操作日誌 | user-log | Sonnet | ✅(欠 §5 截圖;只查 api_logs;§12 export @jwt 註解=SEC-001) | 161cf483 |
2026-07-05 |
| 個人資料 | user-profile | Sonnet | ✅(欠 §5 截圖;§12 otp-qrcode 無認證洩 secret;topt_secret 死欄) | 6e197f98 |
2026-07-05 |
| — | ❌ 除名(已驗死 route:public.ui_routes 無對應列+FE 全域零 nav 進入點,僅孤兒 router 條目+menu.json label;SiteMap.vue 只把 permissions[0].items 畫成 OrgChart,未獨立成頁) |
2026-07-05 | |||
| 背景服務與排程(無 UI 頁) | —(APScheduler 3 job / SocketIO 2 namespace / 分類容器 / Agent 心跳) | Opus | ✅(Opus 自寫;drive_sync 5s 佇列狀態機 + 故障行為;無 session 清理排程) | d412e40e |
2026-07-05 |
依 sitewide plan:workspace 型多畫面頁拆成 hub+功能子頁(或平級雙頁),每頁補版面 wireframe(§2.5 慣例)。拆分判準:獨立畫面數 ≥2 才拆,單畫面 CRUD+dialog 群不拆(只補 wireframe)。
| 原頁 | 拆法 | 新增 / 改檔 | wireframe |
|---|---|---|---|
| system-admin/user-manage.md | hub(Tab0 列表)+子頁 | user-manage.md(hub)/user-form.md(表單+授權組合)/user-import.md(Excel 精靈);user-profile.md 不動 | 3 張 |
| audit-execution/audit-review.md | hub+子頁 | audit-review.md(hub)/audit-verdict.md(Tab0 判定工作區)/audit-risk.md(Tab1 風險 UC-AR-02) | 3 張 |
| compliance-framework/module-frame.md | hub(頁1 列表)+子頁 | module-frame.md(hub)/module-frame-detail.md(頁2 下鑽)/module-frame-defaults.md(頁3 樣板編輯器;五 tab 交叉引用 project-ssp-*,不複製欄位) | 3 張 |
| system-admin/notify-smtp-config.md | 平級雙頁(無 hub,原檔退役) | notify-channels.md(Telegram/Discord)/smtp-config.md(列表+表單);notify-smtp-config.md git rm |
2 張 |
NAV_STRUCTURE 同步(三 hub 加子頁縮排、notify 換兩平級 entry);退役檔站內連結全站修正(README / system-admin/_overview / issue-integrate-config)。authoritative build ✅、11 頁 wireframe/TOC anchor 全解析、敏感資訊+「GRC 系統」grep 0。
| 頁 | 判定 | 理由 |
|---|---|---|
| audit-execution/ap-authoring.md | 不拆(wireframe-only,歸 W2) | Tab1/Tab2 是行程勾選的唯讀投影(_backfill_scope_from_tasks),非獨立畫面;就地新增稽核人員 / DOCX 匯入為 modal dialog,非自成流程。單一可編輯畫面(Tab0 行程卡)。 |
| evidence/evidence-classification-reports.md | ✅ 已拆(2026-07-06 user 拍板,協調 session 執行):拆為 evidence-classification-validation.md+evidence-classification-adjudication.md(NAV 掛 review 子頁),原檔與舊 wireframe 退役,全站連結修正,build 76 頁綠、錨點 0 缺 |
§7 顯示兩條獨立 route(-validation/-adjudication)+兩 Vue view,符合「各自有 route → 拆兩頁」判準。但①user W1 指令僅點名 4 個 A 級頁拆分、B 級為「判定」;②concurrent W2 arc 正把此頁當單頁做 wireframe量產(已建 evidence-classification-reports-wireframe.svg、改 review.md 連結)——執行拆分會與並行工作衝突。已建的拆分草稿已撤回、原檔保持完整。 |
| 頁面 spec | _overview | 合計 | |
|---|---|---|---|
| 總數 | 47(46 頁面 + 1 背景服務;task-setup + sitemap + analysis + customer-dashboard-editor 除名;tool-plugin-manage 已驗 live 保留) | 9 | 56 |
| 已完成 | 47(專案管理 7 + 稽核執行 5 + 證據管理 5 + 合規框架 6 + 協作 3 + 問卷 3 + 報表 2 + 認證 2 + 系統管理 14:全群含背景服務) | 8(協作群無 _overview) | 55 |
| 拆分重整後(2026-07-06) | 67 內容頁(量產 47 → planning 拆分 +4、共用元件 banner +1、W1 A 級 +7(原 4 頁中 1 頁退役)、ecr B 級 +2(原頁退役)、SSP 編輯器 +5、task-edit 既有)+ 每頁 §5 wireframe 全覆蓋(67/67) | 8 | 75 |
| Gate | 日期 | 結果 |
|---|---|---|
| Pilot(專案規劃頁)驗收 | 2026-07-05 | ✅ 六輪回饋後定稿 + §5 實機截圖五張(STG 亮色)完成 |
| Wave 1 完成抽查 | 待 | |
| Wave 2 / 3 完成抽查 | 2026-07-05 | ✅ 系統管理群抽 user-manage(44e5ca10)5 條紅線全過(§9 七表全對 dump / §6.1 全對 / §1.1 對 UserMTRBACForm 實裝 / 引用 _overview / 7 dot 齊);連同下行三群抽查,Wave 2/3 抽查完備 |
| 全站終驗(正確性+內容掃描) | 2026-07-06 | ✅ 機械層全綠 + Sonnet ×9 逐頁核實 76 頁 + 逐條仲裁修正完成(見 Session 紀錄末列);all-green build |
| 量產總驗收 | 🛑 47/47 頁面 spec + 8 _overview 全完成、四群抽查 PASS、全站終驗完成(機械+內容 all-green) — 等 user 總驗收(過後才 rsync 更新 POC 部署) | |
| 問卷 / 報表 / 認證 三群抽查(中控 #2) | 2026-07-05 | ✅ 各抽 1 頁(設計器 / 摘要報表 / 登入含MFA)對 5 條紅線全過;報表那頁 agent 誤判 FAIL 經仲裁改 PASS(routes.json 含 Flask-RESTful add_resource 雙路徑 artifact,非 spec 錯誤,spec 9 端點全對得上 dump) |
| 日期 | Session | 完成項 |
|---|---|---|
| 2026-07-05 | #1 | FR-047 立案 + pilot 六輪定稿 + HTML 站(lightbox 縮放)+ writing-feature-specs skill + changelog 政策改版 + 本 tracker |
| 2026-07-05 | #1 中控交棒 | 量產發包(Lane A/B/截圖/FR-046 Phase3)+ POC nginx 部署 + 中控交接 → orchestrator-handoff;原 session 收尾欠對話歸檔/SUMMARY/Notion(等 user 令) |
| 2026-07-05 | #2 | 專案管理群量產:project-list / project-create / project-overview 三頁 spec(13 節 + 12 dot)+ _overview 頁面地圖對齊(commit 83fce5ac;欠 §5 實機截圖) |
| 2026-07-05 | #3 | 稽核執行群量產:_overview(AP→AR→POA&M 資料模型)+ 稽核計畫填寫頁 + 稽核執行頁 二頁 spec(13 節 + 13 dot);build ✅ / 敏感資訊 grep 0(欠 §5 實機截圖) |
| 2026-07-05 | #4 | 專案規劃頁 §5 實機截圖五張(STG 亮色):查出原「未解 login redirect bug」真因是 FE cm_persist_mode=session 心跳過期清 token(非登入壞),另查出目標專案「亞州航空」已軟刪除、改用「回饋整合設定」+ blsit 帳號;截圖嵌入 spec + rebuild HTML |
| 2026-07-05 | #5(Lane B 連續) | 稽核執行群收尾:POA&M 矯正頁(25c3420f)+ 我的任務(1d923a4c)+ 我的稽核(9edea842,Sonnet 撰主導抽查)三頁 spec(13 節 + 14 dot);🔍 workflow-setup/view 驗為 live BPMN 範本編輯、除名歸 Wave 2。稽核執行群 5 頁全數完成(欠 §5 截圖) |
| 2026-07-05 | #6(Lane A 連續) | 專案管理群收尾:稽核輪次清單 + 專案設定 + 專案儀表板三頁(f0c8cdef,13 節 + 10 dot);🔍 驗存廢:project-dashboard=live(保留)、project-task-setup=dead(除名,FR-038 併入規劃頁)。專案管理群 7 頁全數完成。安全發現:project-settings PUT 無 BE 角色守門(§12)。subagent 委派中途 stall,改主導自寫(研究 grandchild 產出可用) |
| 2026-07-05 | #6(Lane A 續) | 合規框架與 SSP 群:overview(bba1e08d,資產模型+三步匯入)+ 合規框架管理(d5eddff9)+ BPMN 流程範本(ccfd588b)+ 資源庫 ModuleFrame(46a69ea3)三頁 Opus 自寫;13 節 + 11 dot;build ✅ / grep 0。剩 3 頁 Sonnet 匯入頁交下棒(handoff §10 有完整線索:共用 parse→confirm 三步式 + ImportDocx/Excel 共用元件)。教訓:研究 subagent(Explore 唯讀)產出佳、md 主導自寫可靠;schema drift 續抓(module-frame 的 ssp 前綴、NOT_PLATFORM_ADMIN=403060) |
| 2026-07-05 | #6(Lane A 再續) | 合規框架群收尾 3 匯入頁:框架版本匯入/編輯(3fdcec1b)+ 範本匯入精靈 docx/excel(9a5bcbbe)+ SSP docx 匯入(9a5bcbbe);13 節 + 6 dot。共用 SspDocxImportPage 由 source_type 分流(module_frame full vs project_ssp statement_only);parse job 暫存三步式。合規框架與 SSP 群 6 頁 + _overview 全數完成。schema drift 續抓(agent 的 oscal.ssps/controls → 實際 system_security_plans/catalog_controls) |
| 2026-07-05 | #5(Lane B 續) | 證據管理群量產:overview(1a3fdb66)+ 證據分類覆核(8b9c1fa5,Opus 自寫)+ 分類報表(0caf4a53)/ 雲端整合(3f86d320)/ 檔案 Agent(fc7e33ae)/ 儲存設定(c0c8d00b)四頁(Sonnet 撰主導抽查);13 節 + 18 dot;build ✅ / grep 0。證據管理群 6 檔全完成(欠 §5 截圖)。安全發現:EC 覆核 / storage-config PUT 僅 JWT 無角色守門(各 §12)。EC error code 前綴(非 GRC_) |
| 2026-07-05 | #5(Lane B 續) | 協作群量產:公告管理(9f57cc84)+ 公告檢視(cf26f3b1,皆 Sonnet 撰主導抽查)+ 回饋管理(c38d3309,Sonnet 陷 delegation loop、主導 stop 後自寫)三頁 spec(13 節 + 13 dot;協作群無 _overview)。build ✅ / grep 0。關鍵:回饋存 issues+feedback_issues、巡檢回饋停用且 {type:1} 會炸 BE;公告硬刪除;回饋/公告寫入皆無 BE 角色守門。Lane B 剩系統管理群(15 頁)+ 背景服務——context 將滿,見 handoff docs/features/FR-047-2607-feature-spec-handbook/handoff/2026-07-05-laneB-system-admin-handoff.md |
| 2026-07-05 | #7(Lane A 續) | 問卷群量產:_overview(d9e16dec,作者/消費雙端 + 快照 + 雙生命週期)+ 問卷管理(84f9569d,Sonnet)+ 問卷設計器(c206faa7,Opus,頁題三步精靈/7型別)+ 問卷填寫預覽((本次),Sonnet,五模式/狀態機/socket協作/歷史還原)四檔(13 節 + 20 dot)。3 個唯讀 Explore research agent 產出 → md 主導自寫(§2.1)。error code 開檔驗(jedi_survey SURVEY_* vs 主專案 TASK_SURVEY_*)。抓錯:agent 誤報「folder 刪除需非空 409」(實為無條件軟刪)、SURVEY_409003 為死碼(頁刪 CASCADE 不擋子頁)、GRC_SURVEY_HAS_ANSWERS 只保護規劃頁任務移除、頁/題硬刪除無 is_delete。安全發現:作者端與消費端寫入皆僅 JWT、狀態轉換合法性只在 FE(各 §12)。問卷群 3 頁 + _overview 全數完成。下一棒 = Lane ④ 報表群(analysis 🔍先驗) |
| 2026-07-05 | #8(Lane B 續) | 系統管理群起:pre-flight ✅ + 建 dir;🔍 驗存廢:tool-plugin-manage=live(ui_routes enable=1 保留)、sitemap=dead 除名(無 ui_routes 列+FE 零 nav 進入點)。overview(Opus 自寫:三層 RBAC 樞紐 + 租戶/部門組織模型 + system_configs key-value 慣例 + 3 dot)+ 角色權限管理(Opus 自寫:RBAC 樞紐頁 + 4 dot)二檔(13 節)。build ✅ / grep 0。用 1 隻唯讀 Explore agent 蒐 RBAC 碼 → 主導自寫。schema 校真相:user_roles 實含 scope/org_unit_id/is_default(設計文件簡化版遺漏);capabilities.is_platform;role error code = AUTH_ 前綴(非 GRC)。安全發現:role 端點全僅 JWT、系統角色/平台能力保護只在 FE、能力全量取代;名稱重複 raise NotFound(404) 但碼是 AUTH_409004(型別/碼不符)。剩 12 Sonnet CRUD 頁 + 背景服務 spec |
| 2026-07-05 | #7(Lane A 續) | 報表群量產:_overview(849318b7)+ 專案摘要報表(afa14805,Opus,TipTap富文本/WeasyPrint PDF/版本歷史 U-R)+ AI 儀表板((本次),Sonnet,五階段生成管線/Claude三模型/不落 DB)三檔(13 節 + 8 dot)。2 隻唯讀 Explore research → md 主導自寫。🔍 驗存廢:analysis + customer-dashboard-editor 皆 demo scaffold 除名(Sigma.js / vue-grid demo 假卡、無 API、後者 enable=0 + item.h"npm typo)。error code 開檔驗:AI_DASHBOARD_400001~404002、摘要報表無專屬碼;Claude 模型 ID 對 claude_client.py(haiku/sonnet/opus-4-5)。安全發現:摘要報表寫入/匯出無角色守門且不檢查專案歸屬、AI 儀表板 health 免 JWT(各 §12)。報表群 2 頁 + _overview 全數完成。下一棒 = Lane ⑤ 認證群(login+MFA / forget+reset,匿名態) |
| 2026-07-05 | #7(Lane A 續) | 認證群量產(匿名態):_overview(4f5e08f9,認證資料模型 + 登入/MFA/JWT 流程 + 密碼變更生命週期 + 匿名態特性)+ 登入含 MFA OTP(9156038f,Opus,captcha/鎖定/MFA分流/TOTP啟用)+ 忘記/重設密碼((本次),Sonnet,token 30分 single-use/bcrypt 防重用/三情境同頁)三檔(13 節 + 7 dot)。2 隻唯讀 Explore research → md 主導自寫。error code 開檔驗(jedi_login LOGIN_*/jedi_mfa MFA_401001/jedi_auth AUTH_*)。安全發現:忘記密碼帳號列舉(404 vs 200)、密碼政策僅 FE、匿名端點僅靠 token 憑證、otp-resend type/mfa_type 欄位 BUG、cm_persist_mode 心跳清 token 陷阱、全域 MFA_REQUIRED(各 §12)。認證群 2 頁 + _overview 全數完成 → FR-047 Lane A(②③④⑤)全部收官 |
| 2026-07-05 | #8(Lane B 收官) | 系統管理群全數完成(14 頁 spec + _overview):Opus 自寫 4(_overview / role-manage / background-services / tool-plugin-manage)+ Sonnet 派 10(user-manage / user-profile / user-log / system-menu / department / tenant / device / information-system / notify-smtp / ldap / issue-integrate;每頁抽查 §1.1/§6.1/§9 紅線後 commit)。authoritative build ✅ 全 15 頁 / grep 0 / 全 dot compile。方法:7 隻 Sonnet full-writer 分兩批並行(帶 §5 鐵則「不 spawn/不跑 render_html」,零 delegation loop)。tool-plugin-manage 查出=前端 mock 占位頁(選單可達但無後端);sitemap 除名。schema 校真相:totp_secrets(真 TOTP 表,users.topt_secret 是死欄)、LDAP group=THIRD_PARTY_LOGIN(非 LDAP)、information_systems delete=軟刪、UserForm.vue 死碼(live=UserMTRBACForm)。重大安全發現(只記錄不修,各頁 §12):GET /otp-qrcode/<uid> 完全無認證洩 TOTP secret(最嚴重)、api-logs export @jwt 註解掉(SEC-001)、device/user/role 寫入端點多僅 JWT 無角色守門、ISSUE_INTEGRATE_CONFIG token 未遮罩明文回傳、issue_service GITLAB/GITHUB copy-paste bug。FR-047 頁面 spec 全數 47/47 完成。 |
| 2026-07-06 | W1(拆分重整) | A 級 4 頁拆分(user-manage / audit-review / module-frame → hub+各 2 子頁;notify-smtp-config → notify-channels+smtp-config 平級雙頁、原檔 git rm)+每頁 §5 版面 wireframe(§2.5 慣例,共 11 張新 SVG)。NAV_STRUCTURE 同步、退役檔連結全站修正、authoritative build ✅、anchor 全解析、敏感/「GRC 系統」grep 0。B 級:ap-authoring 不拆(投影 tab+modal)、evidence-classification-reports 判定為拆但因 concurrent W2 衝突 deferred(草稿撤回、原檔留存)。⚠️ 執行期發現 concurrent W2 wireframe量產 session 同 working tree 並行(render_html.py+多頁 spec 有其 WIP);render_html.py NAV 變更同時攜帶 planning arc WIP。未 push(等 user)。 |
| 2026-07-06 | planning 拆分 | 規劃頁改造 hub+planning-status/batch-ops/basic-info 3 新子頁+task-edit 擴充+shared-components/flow-phase-banner 共用元件 spec(5f53613e / 2c39c6b4);各含 wireframe |
| 2026-07-06 | W2 | wireframe 量產前半 25 頁:專案管理 11(4eb1c720)+稽核執行 4(49dcb46d)+問卷 3(d3b5b351)+證據 7(b335eb70) |
| 2026-07-06 | W3 | wireframe 量產後半 24 頁:系統管理 12(0facde1d)+合規框架 5(e325f303)+協作 3(44caaa42)+報表 2(497eba9a)+認證 2(5d65beb4)+ skill 更新(68b2bd07,拆分判準修正版+wireframe 慣例) |
| 2026-07-06 | NAV 對齊產品選單 | 側欄重構(user 拍板):群=ui_routes 產品 7 群+認證+共用元件、樹=畫面容器關係(NAV 遞迴任意層,最深 7 層)、跨群 ↺ 重複掛 5 頁(麵包屑取主家)。SSP 編輯器掛進規劃頁下、階段頁掛進專案總覽下、my-tasks/my-audits/摘要報表歸「專案與任務」、租戶組織/系統設定/AI 分析成獨立群、儲存/Agent/雲端整合歸系統管理。檔案零搬移(NAV 與資料夾解耦)。build 76 頁綠、playwright 實測側欄渲染正確 |
| 2026-07-06 | 側欄收合+粗體修 | 側欄可收合(群標題+父項 chevron、localStorage 記憶、當前頁鏈強制展開+捲動定位;playwright 7 項行為驗證全過);build 前清舊 html 產物(退役頁殘留不再誤導);修 4 頁 SSP 子頁「粗體貼全形標點不轉譯」(全站掃描歸零,dot 圖 ******** 遮罩為合法內容非誤植) |
| 2026-07-06 | 協調收口 | 四 arc 並行後統一收口(c50d12b7~928a2562):46 個 dangling .dot 補進版、W1 四組按序 commit、NAV+tracker 共用檔收口、html/ 入 gitignore;B 級 ecr 依 user 拍板拆分(867cbe44:validation+adjudication 兩頁、原頁退役);全站 build 76 頁綠、NAV 0 孤兒、斷圖 0、wireframe 67/67 全覆蓋 |
| 2026-07-06 | 全站終驗 | §1 機械層(build/敏感/斷圖/粗體/wireframe/內部錨點)全綠、修 6 斷錨(ac88e487)。§2 Sonnet ×9 並行逐頁核實 76 頁(對 routes.json/db_schema.json/FE/error code)。§3 逐條仲裁 ~30+ findings → CONFIRMED 按群修正 5 commit:flow-phase-banner schema/path(b3a99b83)、system-admin 5 頁(bb76b1d4)、survey/collab hub 殘影(46d19112)、flow-template 誤標套件(1203dfdc)、audit-execution 7 頁含 4 A 級(ec466e84)。誤報/optional 回報 user,清 2 項:module-frame oscal.ssps/is_template→實表名+template_ssp_id 機制(0ba8190f,深掘推翻 agent 原判「dump artifact」)、全站 \_overview 反斜線清理(1595a825)。all-green build。底層 is_template code/migration drift 另 spawn task 回報 BE 待辦。 教訓濃縮進 writing-feature-specs skill 紅旗。 |
| 2026-07-20 | render_html.py 側欄/CSS/JS 外部化重構 | 新增 Release Notes 頁面那次 commit 一次動了 323 個檔案暴露問題:CSS/lightbox JS/側欄 HTML 全內嵌進每頁,改側欄結構就要重 render 該版本目錄下全部頁面。抽成 docs/specs/_shared/{site.css,site.js}(跨三版本共用靜態檔)+ 各版本目錄 html/nav-data.json(純資料,per-version);build_nav() 拆成 nav_data(),TEMPLATE 側欄改空殼由瀏覽器端 JS fetch 後動態渲染(current 高亮/收合狀態一併搬到瀏覽器端判定)。三版本重 build 零「nav 未涵蓋」警告、index.html 未變。瀏覽器實測(Chrome DevTools MCP)側欄渲染/導頁/高亮/收合 persistence/file:// fallback/console 零 error 全過,涵蓋三版本各深度頁面。效果驗證:模擬新增一頁重 build,僅 nav-data.json(+7 行)異動、零既有 .html 被觸動(對比重構前 323 檔)。設計取捨見 docs/analysis/2026-07-20-spec-site-shared-assets-extraction.md;SUMMARY 見 handoff/2026-07-20-render-html-shared-assets-refactor-SUMMARY.md。commit dfc6ecc6/852b0e55,tag v1.9.0(沿用既有版號非新 release),未 push。 |
§10、§6.2、UC-PD-01):774 處[_overview §5](_overview.md) 少了 #5-... 錨點片段):230 處## 10. 頁面邏輯與資料對應 → id="10-頁面邏輯與資料對應";### 6.2 核心 endpoint → id="62-核心-endpoint";UC 標題 #### UC-PD-01 ... 也有 h4 id)。不要自己重刻 pandoc 的 slugify 演算法(fullwidth 括號、斜線等會被吃掉,容易猜錯)——正確做法是先跑 render_html.py build 出 HTML,從已 build 好的 html/*.html 反查每個標題的真實 id,再回填連結進來源 md。login/poam remediation/survey fill patches/ai-dashboard/survey-manage 列表/ap-authoring subjects/remote-agent/otp-verify 等)。{...} 是真 JSON payload → 拉 ```json 區塊;是欄位+必填註記簡寫(如 {username(必), password(必)...})→ 改欄位表。非機械替換,逐 endpoint 判斷,併入上面多 agent 批次一起做。round-state-machine.dot(狀態機圖)+ project-management/_overview.md §2、audit-execution/_overview.md §2 兩張轉換表:API action 名前面加白話動詞(啟動稽核 launch-audit、開始稽核 start-auditing、完成判定 finalize、結束本輪 close-round、啟動複驗 launch-reverify),API 名保留供 UI 動作 ↔︎ endpoint 對照,只加白話不刪技術詞。