第四階段後續功能節點切分表

返回

第四階段後續功能節點切分表

本文件承接 第四階段線上驗收紀錄,用來回答「真正 Loader、外部 DLL、DB audit、config schema、WebApi auth / Swagger / 正式部署安全模型、Windows Service 什麼時候開始驗證並撰寫程式」。

本表不是程式實作授權。它只把第四階段最小範圍完成後,後續功能的建議切分、開始條件、驗證方式與停止線整理清楚。

0. 文件狀態

項目內容
文件狀態已建立
建立日期2026-06-07
承接基準第四階段最小範圍已完成線上驗收
程式基準6f34bb9 新增 4D 最小 Application plugin contract
目前結論可開始後續節點規劃;尚未授權 Loader、DLL、DB、config、auth 或 Windows Service 程式修改

1. 目前已完成與尚未啟用

項目目前狀態說明
4B WebApi 第一版已完成已有最小 WebApi route / DTO / controller / API tests;尚未做正式 auth、Swagger、正式部署安全模型。
4C ServiceHost 第一版已完成已有最小 ServiceHost runtime / state / status / options / tests;尚未做 Windows Service 安裝、正式背景服務部署或 recovery 設定。
4D 最小 Application plugin contract已完成已有 plugin metadata、state、verification result、audit record model 與 tests;尚未建立真正 Loader。
真正 PluginLoader未啟用尚未建立 IPluginLoader、Loader class、plugin folder 掃描或外部 DLL 載入。
外部 DLL 載入未啟用尚未定義 trust model 落地、簽章 / checksum、來源白名單、測試 DLL 或隔離策略。
config schema未啟用尚未新增 plugin path、enable flag、trust policy、service install 或 auth 設定欄位。
DB audit table未啟用尚未新增正式 DB table、DDL、migration、Apply 或真實 DB 寫入節點。
WebApi auth / Swagger未啟用尚未導入身分驗證、權限、token、Swagger 或外部發布設定。
Windows Service未啟用尚未做 install / uninstall、start / stop、recovery、服務帳號或正式 log 路徑。

2. 建議切分總覽

建議節點主題何時開始驗證何時開始寫程式必備前置
4E後續功能總切分與決策確認現在即可開始文件確認不寫程式本文件完成後,使用者確認切分順序與停止線
5APluginLoader 安全模型與最小 Loader4E 七項決策確認後5A 實作前確認通過後trust model、來源白名單、checksum / signature、錯誤隔離、測試 DLL 規則
5Bconfig schema for plugin / service / auth5A contract 穩定後config 欄位確認後需先知道 Loader、Service、auth 需要哪些非敏感欄位
5CDB audit table / audit writer5A audit event 與欄位固定後DB DDL / manual-only 驗證確認後欄位、索引、保留策略、DDL 權限、rollback、測試 DB gate
5DWebApi auth / Swagger / 正式 API 安全4B route 穩定且使用場景確認後auth 決策確認後使用者角色、token 方式、Swagger 開放範圍、部署環境
5EWindows Service 正式部署4C ServiceHost lifecycle 穩定後service install 設計確認後service account、start/stop/recovery、log path、設定位置、部署權限
5F整合驗證與部署驗收5A 至 5E 各自完成後不作為第一個程式節點需先完成 isolated tests,再做整合與回復測試

3. 功能逐項說明

功能建議所屬節點第一個可做的工作第一個程式驗證不可直接跳過的停止線
真正 PluginLoader5A建立 Loader 實作前確認表不載入外部 DLL 的 fake loader / metadata validation tests不得未確認就建立 IPluginLoader public contract 或掃描 plugin folder
外部 DLL 載入5A 後段或 5F建立 DLL trust / checksum / signature 決策表使用測試 DLL 與隔離資料夾做 manual-only 驗證不得載入未知來源 DLL;不得在一般 CI 跑外部 DLL
config schema5B列出 plugin、service、auth 所需非敏感欄位ConfigValidator / ConfigLoader tests不得把 token、密碼、正式 IP、正式 path 寫進 repo
DB audit table5C建立 audit 欄位 / 索引 / DDL 安全表fake gateway + manual-only 測試 DB write/read/cleanup不得未確認就執行 DDL / ALTER TABLE / Apply
WebApi auth5D建立 auth / role / token / route protection 決策表API tests 驗證 unauthorized / forbidden / success不得未確認就導入套件、secret、正式帳號或公開 Swagger
Swagger5D決定只限開發環境或內網WebApi 啟動與文件可見性測試不得預設外網公開正式 API 文件
Windows Service5E建立 service install / recovery / log path 設計本機 install / start / stop manual-only 驗證不得未確認就修改啟動方式、服務帳號或正式機器設定

4. 建議實作順序

  1. 先做 4E 後續功能總切分與決策確認。
  2. 再做 5A PluginLoader 安全模型與最小 Loader。
  3. Loader contract 穩定後,再做 5B config schema。
  4. audit event 與欄位穩定後,再做 5C DB audit table。
  5. WebApi 正式對外或跨主機使用前,再做 5D auth / Swagger / 正式 API 安全。
  6. ServiceHost 要進現場常駐執行前,再做 5E Windows Service。
  7. 各節點各自通過後,再做 5F 整合驗證與部署驗收。

5. 不建議的順序

不建議做法原因
直接先寫 DLL 載入trust model、來源白名單、checksum、隔離與測試 DLL 尚未固定,風險最高。
先改 config schemaLoader / Service / auth 欄位未固定,容易讓未成熟欄位變成正式契約。
先建 DB audit tableaudit event 還未固定,DDL 與資料保留策略容易返工。
先做 Windows Service 安裝ServiceHost 第一版只驗證 lifecycle,尚未確認服務帳號、recovery、log path 與部署權限。
先開 Swagger / auth 套件route protection、角色與部署環境尚未固定,容易引入未確認套件與 secret 流程。

6. 驗證節點規劃

節點驗證類型驗證內容
5A PluginLoaderUnit + manual-onlymetadata validation、safe path、checksum mismatch、disabled plugin、loader error mapping、測試 DLL 載入停止線
5B config schemaUnit缺欄位、錯誤欄位、敏感資訊拒絕、路徑白名單、向下相容
5C DB auditUnit + manual-only DBfake gateway insert mapping、schema precheck、write/read/cleanup、DDL gate
5D WebApi authAPI testsunauthorized、forbidden、valid token、role mapping、Swagger 可見性
5E Windows Servicemanual-onlyinstall、start、stop、restart、recovery、log path、config path
5F 整合驗收manual-onlyServiceHost + Loader + config + audit + WebApi 的最小閉環與回復測試

7. 建議決策確認項目

編號決策項建議
1是否接受先做 4E 後續節點決策確認建議同意,先固定順序,不直接寫程式。
2第一個程式節點是否從 5A PluginLoader 開始建議同意,因 Loader 是 DLL、config、audit 的上游。
3外部 DLL 是否需獨立 manual-only 驗證建議同意,不進一般 CI,不載入未知 DLL。
4config schema 是否等 Loader contract 穩定後再改建議同意,避免不成熟設定欄位進入正式契約。
5DB audit 是否獨立成 DB 安全節點建議同意,DDL / ALTER TABLE / Apply 需單獨確認。
6auth / Swagger 是否獨立成 WebApi 安全節點建議同意,避免把安全模型混入 Loader 或 Service 節點。
7Windows Service 是否獨立成正式部署節點建議同意,需另行確認服務帳號、recovery、log path 與部署權限。

8. 結論

這些功能可以開始「規劃與決策確認」,但不建議同時開始寫程式。第一個適合進入程式實作的後續節點是 5A PluginLoader 安全模型與最小 Loader;外部 DLL、config schema、DB audit、WebApi auth / Swagger 與 Windows Service 都應排在各自前置決策完成之後。

9. 建議下一步

建議下一步整理「4E 後續功能節點決策確認表」,請使用者逐項確認上方七項決策。確認後,才進入 5A PluginLoader 實作前確認。