4C ServiceHost 程式 repo 結構檢查表
本文件記錄 2026-06-06 進入第四階段 4C ServiceHost 實作前,對程式 repo hs-device-control-template 的結構檢查、可修改範圍與停止線確認。
本檢查承接 4C ServiceHost contract 草案 / 實作前確認表 與 4C ServiceHost 決策確認紀錄。
0. 檢查狀態
| 項目 | 內容 |
| 文件狀態 | 已完成 |
| 檢查日期 | 2026-06-06 |
| 對應階段 | 第四階段 4C ServiceHost |
| 程式 repo | hs-device-control-template |
| 程式 branch | poc/nmodbus-tcp |
| 基準狀態 | 實作前工作樹乾淨 |
| 檢查結論 | 可新增最小 HS.DeviceControl.ServiceHost 與對應測試專案 |
1. 現有結構檢查
| 區域 | 檢查結果 | 判定 |
| Solution | HS.DeviceControl.sln 已包含既有主專案與測試專案 | 可新增 ServiceHost 與 ServiceHost.Tests |
| Application contract | 已有 Tasks、Devices、Health、Schema 薄 service / contract | ServiceHost 可只呼叫 Application |
| Adapter contract | 已有 IDeviceAdapter、MockDeviceAdapter、ExecuteResult | 可驗證 lifecycle |
| WebApi | 4B WebApi 第一版已完成 | 4C 不新增 HTTP route |
| MySql / Schema | 已有既有測試與 preview 邊界 | 4C 不做 DDL / Apply |
2. 預計新增 / 修改檔案
| 類型 | 檔案 | 原因 |
| 新增 | src/HS.DeviceControl.ServiceHost/* | 建立最小 ServiceHost console-style 入口、runtime、state、status、options |
| 新增 | tests/HS.DeviceControl.ServiceHost.Tests/* | 覆蓋 lifecycle、Adapter、health 與 QueueTask |
| 修改 | HS.DeviceControl.sln | 讓全量測試涵蓋 4C |
3. 明確不修改
- 不改 Core workflow / node / TaskEngine 邏輯。
- 不改 Application public contract。
- 不新增 WebApi route、auth、Swagger 或正式部署設定。
- 不做 DB DDL、ALTER TABLE、Apply 或正式 DB 寫入。
- 不建立 Plugin Loader、外部 DLL 或 Windows Service 安裝。
4. 結論
程式 repo 結構允許 4C 進入最小 ServiceHost 第一版實作;所有正式服務、外部 queue、Plugin Loader、正式 DB 與真實硬體仍需另行確認。