第四階段標準 / 文件 / 施作範圍 / 驗收條件總表

回到 docs

第四階段標準 / 文件 / 施作範圍 / 驗收條件總表

1. 文件定位

本文件定義第四階段的總標準、文件交付項目、施作範圍與驗收條件,承接第三階段總收斂與 4A 邊界分析結果。

本文件不代表已授權新增 HS.DeviceControl.WebApiHS.DeviceControl.ServiceHost、Plugin Loader、API route、Controller、middleware、背景服務套件、認證授權套件、外部 DLL 載入、config schema 調整、public method 簽章變更、正式 DB DDL 或真實硬體控制。

2. 目前基準

項目內容
文件整理日期2026-06-06
文件 repohs-device-control-template-docs
程式 repohs-device-control-template
程式 branchpoc/nmodbus-tcp
程式基準 commit6f34bb9 新增 4D 最小 Application plugin contract;已 push 並通過 Actions run 27064992270
已完成前置第三階段總收斂確認表、4A 邊界分析、4A 決策確認表、4B / 4C / 4D 執行切分表、4B WebApi 第一版、4C ServiceHost 第一版與 4D 最小 Application plugin contract
線上驗收已建立 phase-four-final-online-acceptance-record.md,確認 Cloudflare Pages status.json、第四階段完成確認表與 4D commit / push 前確認頁均反映 6f34bb9 與 Actions success
第四階段總定位先完成正式入口最小標準,再以 4B WebApi、4C ServiceHost、4D 最小 Application plugin contract 分段收斂;真正動態 Loader 與外部 DLL 載入仍屬後續授權範圍

3. 第四階段總標準

標準項定義驗收方式
分層標準WebApi、ServiceHost、現場工具不得重寫 Workflow 或 Adapter 操作,應透過 HS.DeviceControl.Application contract 承接。文件需明確列出可呼叫層與禁止呼叫層。
契約先行任何正式入口進程式實作前,需先有 contract 草案、決策確認表與實作前確認表。檢查對應文件是否存在,且列出 route / DTO / lifecycle / trust model / 停止線。
逐階段推進第四階段依序切分為 4A、4B、4C、4D,不把 WebApi、ServiceHost 與 Plugin Loader 混在同一個未確認實作。檢查切分表與進度文件是否一致。
安全停止線未確認前不新增正式入口、不改 public method 簽章、不改 config schema、不執行 DB DDL、不載入外部 DLL。每份前置文件需保留停止線。
驗收可追溯每個可驗收節點需留下實作前確認、實作紀錄、完成稽核、線上驗收或測試證據。README、docs 索引、progress、首頁與 public 鏡像需同步。
文件 / 程式同步程式 repo 若有實作,文件 repo 需同步 commit、測試數、commit SHA 與線上驗收紀錄。stage / commit 前確認與線上驗收紀錄需包含程式與文件 repo 狀態。

4. 階段施作範圍

階段主題可施作不可施作完成基準
4A正式入口前置確認邊界分析、七項決策確認、4B / 4C / 4D 切分、線上驗收紀錄、第四階段總標準。不新增正式入口、不新增 route、不建立 Loader、不改 public method 簽章、不改 config schema。4A 文件包完整,能回答 WebApi、ServiceHost、Plugin Loader 的階段歸屬與停止線。
4BWebApiWebApi contract 草案、route 候選、request / response DTO、錯誤格式、權限模型、Application service mapping、測試策略、實作前確認與第一版 WebApi。未確認前不新增 HS.DeviceControl.WebApi、Controller、middleware、API route 或 Web framework / auth 套件;完成後仍不代表正式外網安全模型。4B WebApi 第一版已完成;WebApi tests 7 passed、solution tests 475 passed,本機 API 與 DB 非破壞性驗收通過。
4CServiceHostServiceHost contract 草案、背景生命週期、Adapter lifecycle、Health、Log / Trace、Operator / HostName / AppVersion、部署模型、實作前確認與第一版 ServiceHost。未確認前不新增 HS.DeviceControl.ServiceHost、Windows Service、排程服務、外部 queue 或啟動方式變更;完成後仍不代表 Windows Service 安裝。4C ServiceHost 第一版已完成;ServiceHost tests 7 passed、solution tests 482 passed,主程式 Running -> Stopped。
4DPlugin LoaderPlugin Loader 信任模型、metadata contract、版本相容、簽章 / 來源信任、錯誤隔離、卸載與回復策略、審計紀錄、實作前確認;本階段只落地最小 Application plugin contract。未確認前不掃描 plugin folder、不載入外部 DLL、不執行外部程式碼、不改 Adapter public contract;4D 最小 contract 完成後仍不代表真正 Loader 完成。4D 最小 Application plugin contract 已完成 commit 6f34bb9 並 push;Application.Tests 40 passed、solution tests 492 passed,Actions run 27064992270 success,Loader / DLL 停止線掃描無命中。

5. 文件交付清單

文件狀態目的
phase-four-a-boundary-analysis.md已建立定義 4A 正式入口前置邊界。
phase-four-a-decision-confirmation.md已建立供使用者逐項確認 4A 七項決策。
phase-four-execution-split-plan.md已建立明確切分 WebApi 在 4B、ServiceHost 在 4C、Plugin Loader 在 4D。
phase-four-4a-4b-split-online-acceptance-record.md已建立記錄 4A / 4B 切分文件線上發布驗收。
phase-four-standards-scope-acceptance.md本次新增定義第四階段總標準、施作範圍與驗收條件。
phase-four-goal-completion-audit.md本次新增稽核本次目標模式是否完成文件型標準包。
phase-four-b-webapi-contract-preimplementation-checklist.md已確認4B WebApi 進程式實作前的 contract 草案與確認表。
phase-four-b-webapi-implementation-acceptance-record.md已完成4B WebApi 第一版實作、API 測試、solution 測試與本機 / DB 非破壞性驗收紀錄。
phase-four-c-servicehost-contract-preimplementation-checklist.md已確認4C ServiceHost 進程式實作前的 contract 草案與確認表。
phase-four-c-servicehost-implementation-acceptance-record.md已完成4C ServiceHost 第一版實作、lifecycle 測試、solution 測試與 Running -> Stopped 驗收紀錄。
phase-four-d-pluginloader-boundary-analysis.md已建立4D PluginLoader 信任模型、metadata contract、版本相容、隔離、卸載、回復與停止線。
phase-four-d-pluginloader-decision-confirmation.md已確認4D PluginLoader 七項決策確認表,使用者已同意,可進入 contract 草案 / 實作前確認表。
phase-four-d-pluginloader-contract-preimplementation-checklist.md已確認4D PluginLoader metadata、verification result、state、audit、候選檔案、測試策略與停止線七項 contract 決策已確認。
phase-four-d-pluginloader-code-structure-preimplementation-checklist.md已完成4D PluginLoader 程式 repo 唯讀結構檢查、Application.Plugins 承接位置、候選檔案與停止線。
phase-four-d-pluginloader-application-contract-preimplementation-checklist.md已確認4D 最小 Application plugin contract 實作前最後確認表,固定候選檔案、欄位、測試策略與停止線。
phase-four-d-pluginloader-application-contract-implementation-record.md已完成4D 最小 Application plugin contract 第一版實作、測試、commit / push 與 Actions 驗收紀錄。
phase-four-d-pluginloader-completion-audit.md已完成判定 4D 就最小 Application plugin contract 已完成 commit / push / Actions,並保留真正 Loader 停止線。
phase-four-final-completion-confirmation.md已完成收斂 4A、4B、4C、4D 完成狀態,作為第四階段最小範圍完成確認。
phase-four-d-pluginloader-application-contract-commit-push-precheck.md已完成固定 4D stage 範圍、commit 訊息,並補充 commit 6f34bb9、push 與 Actions success。
phase-four-final-online-acceptance-record.md已完成記錄 Cloudflare Pages、status.json、第四階段完成確認表、4D commit / push 前確認頁與 Actions 的線上驗收結果。

6. 驗收條件

驗收面向通過條件本文件包要求
文件完整性標準、文件清單、施作範圍、驗收條件、停止線均已明確列出。本文件需覆蓋 4A、4B、4C、4D。
索引同步README、docs 索引、首頁、開發進度總覽與 progress.json 均能找到新文件。更新 source 與 public 鏡像。
public 鏡像docs/public/docs/ 對應檔案 hash 一致。每次文件完成後檢查 SHA256。
JSON 可讀progress.jsonpublic/progress.json 可解析。使用 PowerShell ConvertFrom-Json 檢查。
污染掃描AGENTS、README、docs、txt、log、html、json 未出現既定污染字串。使用既定 rg 關鍵字掃描。
程式邊界本目標不修改程式 repo,不新增正式入口或 Loader。git status 僅應顯示文件 repo 變更。
後續實作門檻4B / 4C / 4D 任一程式實作前,需有對應實作前確認與使用者確認。未確認前不得自行進入程式修改。

7. 驗證節點標準

節點觸發時機需包含
文件驗收節點第四階段標準包、contract 草案或稽核表完成後。文件路徑、索引同步、public 鏡像、JSON、污染掃描、diff 檢查。
程式驗收節點4B / 4C / 4D 任一程式實作完成後。測試命令、通過數、失敗限制、實際輸出、影響範圍與停止線。
線上驗收節點文件 repo push 後。Cloudflare Pages URL、HTTP 結果、內容比對、Actions 狀態與限制。
架構停止線稽核任一階段要跨越 public method、config schema、外部 DLL、DB DDL 或正式硬體前。風險、回復策略、需使用者確認項目與不可自動執行項目。

8. 本階段不授權項目

9. 建議下一步

第四階段最小範圍已完成程式 repo 與文件網站收斂:4D commit 6f34bb9 已 push,Actions run 27064992270 success,Cloudflare Pages 線上驗收已通過。建議下一步規劃後續授權節點,例如真正 PluginLoader / 外部 DLL 載入安全決策、WebApi 正式部署安全模型、DB audit table 或第五階段前置分析。

真正 PluginLoader、外部 DLL 載入、config schema、Adapter contract、DB audit table、WebApi auth / Swagger 與正式部署設定仍需另行確認。