| 模組 / 工作 | 狀態 | 預計完成時間 | 實際完成時間 | 對應 repo | 備註 |
| 前導文件整理 | 已完成 | 2026-05-20 | 2026-05-20 | 文件 repo | 架構方向、開工規格、README、docs 文件已建立 |
| 靜態網站發布 | 已完成 | 2026-05-20 | 2026-05-20 | 文件 repo | Cloudflare Pages 已發布 |
| 手機閱讀版檢查 | 已完成 | 2026-05-20 | 2026-05-20 | 文件 repo | 已確認手機寬度無水平溢出 |
| PDF 列印版檢查 | 已完成 | 2026-05-20 | 2026-05-20 | 文件 repo | 已修正首頁空白頁與 Markdown 標題重複 |
| 程式 repo 建立 | 已完成 | 2026-05-20 | 2026-05-20 | 程式 repo | GitHub:hs-device-control-template |
| .NET 5.0 Solution | 已完成 | 2026-05-20 | 2026-05-20 | 程式 repo | 已建立 Solution、Core、Adapters、ConsoleHost 與測試專案 |
| Config Loader / Mapper / Validator | 已完成 | 2026-05-21 | 2026-05-21 | 程式 repo | 設定載入、跨檔驗證、WorkflowDefinition 映射已完成 |
| ConsoleHost 設定檔啟動 | 已完成 | 2026-05-21 | 2026-05-21 | 程式 repo | 可從 samples/config 載入並執行代表流程 |
| Log 輸出格式 | 已完成 | 2026-05-22 | 2026-05-22 | 程式 repo | Console / File 共用單行 key-value 格式 |
| DeviceId 執行鏈路 | 已完成 | 2026-05-22 | 2026-05-22 | 程式 repo | DeviceId 已串接至 WorkflowNode、DeviceCommand 與 Log |
| 節點失敗與重試驗證 | 已完成 | 2026-05-22 | 2026-05-22 | 程式 repo | 設備離線、節點逾時、重試成功、重試耗盡失敗已驗證 |
| Adapter 分派器與生命週期 | 已完成 | 2026-05-22 | 2026-05-22 | 程式 repo | 支援 Connect、Disconnect、GetStatus 與 DeviceAdapterDispatcher |
| Adapter Data 承接 Workflow / Log | 已完成 | 2026-05-25 | 2026-05-25 | 程式 repo | WorkflowNodeResult 與 Log 可承接 Data、RawRequest、RawResponse、Metadata |
| Workflow 條件轉移 | 已完成 | 2026-05-26 | 2026-05-26 | 程式 repo | 支援 ConditionTransitions、DefaultNextNodeId、FailNextNodeId;OK / NG 人工驗證已補強 |
| ModbusTcpAdapter 模擬器整合驗證 | 已完成 | 2026-05-27 | 2026-05-27 | 程式 repo | P1-01 已完成,ConsoleHost 模擬器驗證節點測試通過 |
| Modbus TCP 錯誤處理與 ConsoleHost 輸出驗證 | 已完成 | 2026-05-27 | 2026-05-27 | 程式 repo | P1-02 第一輪已完成,含錯誤 metadata、ConsoleHost 錯誤輸出與人工驗證紀錄 |
| Dispatcher 連線失敗補償斷線 | 已完成 | 2026-05-27 | 2026-05-27 | 程式 repo | 多設備 Connect 中途失敗時,已成功連線 Adapter 會被補償 Disconnect |
| ConsoleHost 多設備啟動失敗人工驗證 | 已完成 | 2026-05-27 | 2026-05-27 | 程式 repo | 確認 Adapter connect failed 時會顯示主錯誤資訊,且不會繼續執行 Workflow |
| Dispatcher rollback metadata 與 ConsoleHost 顯示 | 已完成 | 2026-05-27 | 2026-05-27 | 程式 repo | Connect 失敗時可看到補償斷線 metadata,ConsoleHost 人工驗證已確認實際輸出 |
| ITaskStore / InMemoryTaskStore 任務歷程查詢 | 已完成 | 2026-05-29 | 2026-05-29 | 程式 repo | Core 已具備任務紀錄保存、依 TaskId 查詢與近期任務列表能力 |
| ConsoleHost 任務摘要輸出 | 已完成 | 2026-05-29 | 2026-05-29 | 程式 repo | ConsoleHost 已可在 Task node history 後顯示 Recent tasks,包含 TaskId、WorkflowId、Status 與 NodeCount |
| ConsoleHost 任務摘要人工驗證 | 已完成 | 2026-05-29 | 2026-05-29 | 程式 repo | 已確認使用者可從實際輸出判讀 Recent tasks、TaskId、WorkflowId、Status、NodeCount、StartedAt 與 EndedAt |
| 第一階段 Task 追蹤收尾檢查表 | 已完成 | 2026-05-29 | 2026-05-29 | 程式 repo | 已確認 Task 追蹤可作為第一階段可驗收能力收斂,並列出第二階段延後項目 |
| 第一階段最後缺口盤點與完成判斷 | 已完成 | 2026-05-29 | 2026-05-29 | 程式 repo | 判定功能主體已具備,並已完成後續驗收總結確認 |
| 第一階段驗收總結 | 已完成 | 2026-05-29 | 2026-05-29 | 程式 repo | 已整理完成範圍、測試結果、人工驗證文件、接受限制與第二階段延後項目,並已由使用者確認 |
| Schema Initializer DryRun 實作前確認 | 已完成 | 2026-05-30 | 2026-05-30 | 文件 repo | 已確認第一版只做 SchemaInitializer 協調層、request/result model、Core tests 與 MockSchemaInspector,不連 MySQL、不執行 DDL |
| Schema Initializer DryRun 第一版實作 | 已完成 | 2026-05-30 | 2026-05-30 | 程式 repo | 已完成 SchemaInitializer 協調層、request/result model 與 10 個 Core 測試,commit 52adfab |
| Schema Initializer DryRun ConsoleHost 接入設計 | 已完成 | 2026-05-30 | 2026-05-30 | 文件 repo | 已確認小步接入策略:新增 initializer formatter、保留既有 dry run formatter、不改啟動方式 |
| Schema Initializer DryRun ConsoleHost 接入實作前確認 | 已完成 | 2026-05-31 | 2026-05-31 | 文件 repo | 已確認下一步只做 ConsoleHost formatter、demo request、顯示測試與人工驗證,不改啟動方式、不連 MySQL、不執行 DDL |
| Schema Initializer DryRun ConsoleHost 接入實作 | 已完成 | 2026-05-31 | 2026-05-31 | 程式 repo | ConsoleHost 已改由 SchemaInitializer 顯示 dry run result,新增 5 個 formatter 測試,commit ac52376 |
| ConsoleHost Schema Initializer DryRun 人工驗證 | 已完成 | 2026-05-31 | 2026-05-31 | 文件 repo | 已整理 ConsoleHost 實際輸出,確認代表流程、initializer dry run、SQL preview 與安全警告符合預期 |
| Schema Automation 第一輪收尾檢查 | 已完成 | 2026-05-31 | 2026-05-31 | 文件 repo | 已確認 SQL Generator、Dry Run Plan、Mock Inspector、Schema Initializer、ConsoleHost 顯示與人工驗證已形成真實 MySQL Inspector 前的完成邊界 |
| 真實 MySQL Inspector 前置確認 | 已完成 | 2026-05-31 | 2026-05-31 | 文件 repo | 已整理唯讀 metadata、連線安全、information_schema 欄位、MySQL 5.6.2 注意事項、測試策略與停止條件 |
| MySqlSchemaInspector 實作前確認清單 | 已完成 | 2026-05-31 | 2026-05-31 | 文件 repo | 已整理實作位置、套件導入條件、query builder、row mapping、測試案例與人工驗證節點 |
| MySqlSchemaInspector Query Builder / Row Mapper 設計 | 已完成 | 2026-05-31 | 2026-05-31 | 文件 repo | 已整理參數化查詢、metadata row mapping、snapshot assembly、錯誤格式與不連 DB 的單元測試方向 |
| Query Builder / Row Mapper 實作前確認 | 已完成 | 2026-05-31 | 2026-05-31 | 文件 repo | 已列出準備新增的 class、method、測試檔、影響範圍與停止線 |
| 程式 repo 結構檢查與第一版實作範圍盤點 | 已完成 | 2026-05-31 | 2026-05-31 | 文件 repo | 已確認現有 Core Schema model、ISchemaInspector contract、測試位置與 helper class 策略決策點 |
| MySQL Schema Inspector 純程式 helper | 已完成 | 2026-05-31 | 2026-05-31 | 程式 repo | 已完成 internal Query Builder、metadata row mapper、snapshot assembler 與測試,commit 51cb17c |
| MySqlSchemaInspector 真實 DB 人工驗證 | 已完成 | 2026-06-01 | 2026-06-01 | 程式 repo | 真實 MySQL 5.6.2 基本 metadata inspect 已通過;task_executions 建立後 manual-only 測試成功 |
| MySqlSchemaInspector 成功輸出補強 | 已完成 | 2026-06-01 | 2026-06-01 | 程式 repo | manual-only xUnit 已補 table、column、index、comment 摘要輸出,commit fa665f5 |
| MySQL detailed logger 回填模板 | 已完成 | 2026-06-01 | 2026-06-01 | 程式 repo | 已整理本機執行指令、貼回格式與遮蔽規則,commit 2e8f595 |
| MySQL detailed logger 驗證紀錄回填 | 已完成 | 2026-06-01 | 2026-06-01 | 程式 repo | 已補齊真實 MySQL 5.6.2 TableCount=1、ColumnCount=12、IndexCount=3、WarningCount=0、table comment 與 column comment 證據,commit 48b65d5 |
| MySQL TaskStore Save / 查詢還原 PoC | 進行中 | 2026-06-01 | 2026-06-01 | 程式 repo | 已完成 Save upsert、FindById / ListRecent、internal restore、row mapper 與 fake gateway 測試,commit 1ea3dd4 |
| MySQL TaskStore 真實 DB manual-only 驗證設計 | 已完成 | 2026-06-01 | 2026-06-01 | 程式 repo | 已定義 gate、ALLOW_WRITE、測試資料前綴、清除策略與驗證紀錄格式,commit 7517007 |
| MySQL TaskStore manual-only xUnit 實作前確認 | 已完成 | 2026-06-01 | 2026-06-01 | 程式 repo | 已確認雙 gate、測試 DB 寫入權限、cleanup 與不進一般 CI 的安全邊界,commit f4a6979 |
| MySQL TaskStore manual-only xUnit 驗證入口 | 已完成 | 2026-06-01 | 2026-06-01 | 程式 repo | 已新增 gate 預設關閉的 Save / FindById / ListRecent manual-only 測試入口,commit 0092365 |
| MySQL TaskStore 真實 DB 驗證 Runbook | 已完成 | 2026-06-01 | 2026-06-01 | 程式 repo | 已補 manual-only gate 操作、環境變數、預期輸出與結果回填格式,commit fbd9184 |
| MySQL TaskStore 真實 DB 驗證紀錄 | 已完成 | 2026-06-02 | 2026-06-02 | 程式 repo | 已回填真實 DB Save / FindById / ListRecent / cleanup 實測結果,commit f28050a |
| MySQL TaskStore 第一版 PoC 完成稽核 | 已完成 | 2026-06-02 | 2026-06-02 | 程式 repo | 已整理完成條件、已完成證據、真實 DB 實測證據與不可越界項目,commit f28050a / 6f60455 |
| 平台化需求地圖 TaskStore 狀態同步 | 已完成 | 2026-06-02 | 2026-06-02 | 程式 repo / 文件 repo | 已將平台化需求地圖同步為 MySQL provider 已完成 manual-only metadata 驗證、TaskStore 第一版 PoC 已完成真實 DB 寫入 / 查詢,commit 6f60455 |
| TaskStore 多表紀錄邊界分析 | 已完成 | 2026-06-02 | 2026-06-02 | 程式 repo / 文件 repo | 已整理 node_executions、command_executions 與詳細 log table 分工,commit 2160350 |
| MySQL TaskStore node_executions 實作前確認 | 已完成 | 2026-06-02 | 2026-06-02 | 程式 repo / 文件 repo | 已固定欄位、主鍵、索引、delete-and-insert 寫入策略、fake gateway 測試與停止線,commit 1518eec |
| MySQL TaskStore node_executions 第一版實作 | 已完成 | 2026-06-02 | 2026-06-02 | 程式 repo / 文件 repo | 已完成 schema class、SQL builder、batch gateway transaction、fake gateway 寫入命令、schema SQL 測試與全專案測試,commit a8bd6a0 |
| MySQL TaskStore node_executions manual-only 驗證入口 | 已完成 | 2026-06-02 | 2026-06-02 | 程式 repo / 文件 repo | 已完成真實 DB 驗證設計、gate 預設關閉的 xUnit 入口、schema precheck、node row 查詢 helper 與 cleanup,commit 9828122 |
| MySQL TaskStore node_executions schema precheck 停止線測試 | 已完成 | 2026-06-02 | 2026-06-02 | 程式 repo / 文件 repo | 已抽出 internal helper,補齊缺表、缺欄位、缺索引、缺 comment 與 PK 不符測試,commit 417e467 |
| MySQL TaskStore node_executions 真實 DB 驗證前確認清單 | 已完成 | 2026-06-02 | 2026-06-02 | 程式 repo / 文件 repo | 已固定測試 DB、schema、gate、cleanup、通過條件與延後邊界,commit eb965f6 |
| MySQL TaskStore node_executions 目標模式收斂稽核 | 已完成 | 2026-06-02 | 2026-06-02 | 程式 repo / 文件 repo | 已整理完成證據、安全測試 59 / 391 passed、尚未完成項與延後邊界,commit 80c8e04 |
| MySQL TaskStore node_executions 真實 DB 驗證紀錄 | 已完成 | 2026-06-02 | 2026-06-02 | 程式 repo / 文件 repo | 已完成測試 DB 建表授權、schema precheck、Save、node rows 查詢、FindById、ListRecent 與 cleanup,commit ade8860 |
| MySQL TaskStore command_executions 實作前確認 | 已完成 | 2026-06-02 | 2026-06-02 | 程式 repo / 文件 repo | 已整理資料來源候選、欄位草案、索引草案、寫入策略、停止線與建議結論,commit b72bfb8 |
| MySQL DB LogWriter / TraceStore 邊界設計 | 已完成 | 2026-06-02 | 2026-06-02 | 程式 repo / 文件 repo | 已確認診斷資料走 LogEntry -> MySqlLogWriter -> task_log_traces,不直接塞入 MySqlTaskStore.Save,commit eefb863 |
| MySQL DB LogWriter / TraceStore 實作前確認 | 已完成 | 2026-06-02 | 2026-06-02 | 程式 repo / 文件 repo | 已固定 task_log_traces 欄位與索引草案、MySqlLogWriter 邊界、payload sanitizer 規則、fake gateway 測試策略、manual-only 真實 DB 停止線與建議實作順序,commit 27188e9 |
| MySQL DB LogWriter / TraceStore 第一版實作 | 已完成 | 2026-06-02 | 2026-06-02 | 程式 repo / 文件 repo | 已完成 task_log_traces schema class、MySqlLogWriter、LogEntry mapper、payload sanitizer、fake gateway 測試與 fallback,commit 236ef9d |
| MySQL DB LogWriter / TraceStore manual-only 驗證入口 | 已完成 | 2026-06-03 | 2026-06-03 | 程式 repo / 文件 repo | 已完成真實 DB 驗證設計、HS_MYSQL_LOGWRITER_* gate、schema precheck、查詢 helper、sanitizer 驗證與 cleanup helper,commit fe2b4a3 |
| MySQL DB LogWriter 真實 DB 驗證前確認清單 | 已完成 | 2026-06-03 | 2026-06-03 | 程式 repo / 文件 repo | 已固定測試 DB 資訊遮蔽、task_log_traces schema 停止線、INSERT / SELECT / cleanup gate、sanitizer 通過條件與不得自動 DDL 規則,commit cfc766c |
MySQL DB LogWriter task_log_traces 真實 DB 驗證 | 已完成 | 2026-06-03 | 2026-06-03 | 程式 repo / 文件 repo | 已在使用者授權下於測試 DB 執行 CREATE TABLE IF NOT EXISTS task_log_traces,並通過 manual-only 寫入 / 查詢 / cleanup 驗證,commit 84ec9a1 |
| MySQL TaskTraceStore 查詢邊界設計 | 已完成 | 2026-06-03 | 2026-06-03 | 程式 repo / 文件 repo | 已固定 trace read-side 查詢條件、回傳資料邊界、SQL 安全、不納入第一版項目與 public contract 確認點,commit 843b593 |
| MySQL Schema Apply / DDL Executor 安全策略 | 已完成 | 2026-06-03 | 2026-06-03 | 程式 repo / 文件 repo | 已整理 Apply gate、權限、備份、rollback、plan hash、高風險操作分類、MySQL 5.6.2 注意事項與停止線,commit 843b593 |
| 第二階段 B 補完清單 | 已完成 | 2026-06-02 | 2026-06-03 | 文件 repo | 已將第二階段拆為 A 已完成與 B 完成收斂,明確列出 DB LogWriter / TraceStore、task_log_traces、payload sanitizer、TaskTraceStore 與 Apply 安全策略 |
| 第二階段 B 收斂稽核 | 已完成 | 2026-06-03 | 2026-06-03 | 文件 repo | 已確認第二階段 B 可驗收完成,正式 DDL Executor、Host DB 初始化與 TaskTraceStore public contract 改列第三階段前置 |
| TaskTraceStore public 查詢介面實作前確認 | 已完成 | 2026-06-03 | 2026-06-03 | 文件 repo | 已整理 request / result model 候選、驗證規則、SQL 安全、遮罩規則、錯誤碼、測試策略與停止線,commit 95949a3 |
| 第三階段執行儀表板 | 已完成 | 2026-06-03 | 2026-06-03 | 文件 repo | 已將第三階段拆成 3A Trace 查詢、3B DB 初始化、3C Service / API、3D Plugin / 多設備單元,並同步首頁專案總攬 |
| ManualApplyPreview 實作前確認 | 已完成 | 2026-06-04 | 2026-06-04 | 文件 repo | 已整理 3B preview model、風險分類、輸出格式、測試策略、停止線與進程式 repo 前七項決策 |
| 3B ManualApplyPreview 決策確認表 | 已完成 | 2026-06-04 | 2026-06-04 | 文件 repo | 已將 3B 七項決策整理成可逐項回覆的確認表;使用者已同意七項決策,並明確保留 DDL、DB、啟動流程與 history table 停止線 |
| ManualApplyPreview 第一版安全預覽實作 | 已完成 | 2026-06-04 | 2026-06-04 | 程式 repo | commit 13c14ca 已新增 preview model、builder、PlanHash、CanApply=False、風險分級、ConsoleHost 顯示與 manual-only read-only 驗證入口 |
| ManualApplyPreview 3B 完成稽核 | 已完成 | 2026-06-04 | 2026-06-04 | 文件 repo | 已判定 3B 第一版可驗收完成;真實 DB read-only preview、正式 Apply、3C Service / API 仍需另行確認 |
| ManualApplyPreview 3B 線上驗收紀錄 | 已完成 | 2026-06-04 | 2026-06-04 | 文件 repo | 已確認 Cloudflare Pages 首頁、3B 完成稽核頁與 status.json 均可線上讀取,且內容反映 13c14ca 與 3B 完成狀態 |
| 3C Service / API 邊界分析 | 已完成 | 2026-06-04 | 2026-06-04 | 文件 repo | 已整理 ServiceHost、WebApi、Application Service、API 類型、DTO、任務生命週期、權限、安全、DB 與驗證節點邊界;尚未新增專案、route、套件或 public method 簽章 |
| 3C Service / API 決策確認表 | 已確認 | 2026-06-04 | 2026-06-04 | 文件 repo | 使用者已同意七項決策;尚未新增 ServiceHost / WebApi、API route、套件或 public method 簽章 |
| 3C 程式 repo 結構檢查與實作前確認 | 已完成 | 2026-06-04 | 2026-06-04 | 文件 repo | 已唯讀盤點程式 repo poc/nmodbus-tcp、Solution 專案、既有 Core / Adapter / Infrastructure 能力、尚未存在的 Application / ServiceHost / WebApi 邊界與候選檔案;尚未修改程式 |
| 3C Application Service contract 草案 / 實作前確認表 | 已完成 | 2026-06-04 | 2026-06-04 | 文件 repo | 已整理新增 Application 專案、引用方向、Task Control、Device Status、Schema Preview、Health 與停止線七項確認;使用者已同意七項決策,尚未修改程式 |
| 3C Application contract 決策確認紀錄 | 已完成 | 2026-06-04 | 2026-06-04 | 文件 repo | 已記錄七項同意結果與仍需停止的範圍;下一步可進入 Application contract 第一版實作 |
| 3C Application contract 第一版實作 | 已完成 | 2026-06-04 | 2026-06-04 | 程式 repo | 已新增 Application / Application.Tests、Task / Device / Schema / Health contract 與薄 service;Application tests 15 passed,solution tests 453 passed |
| 3C Application contract 完成稽核 | 已完成 | 2026-06-04 | 2026-06-04 | 文件 repo | 已完成需求對照、驗證節點、停止線稽核與剩餘風險整理 |
| 3C Application contract commit / push 前確認 | 已完成 | 2026-06-04 | 2026-06-04 | 文件 repo | 已整理程式 repo 與文件 repo 的 stage 範圍、測試證據、停止線與建議 commit 訊息 |
| 3C Application contract 程式 repo push | 已完成 | 2026-06-05 | 2026-06-05 | 程式 repo | 已 push aee6ab6 到 poc/nmodbus-tcp |
| 3C Application contract 線上驗收紀錄 | 已完成 | 2026-06-05 | 2026-06-05 | 文件 repo | 已確認 Cloudflare Pages 首頁、第三階段儀表板、3C commit / push 前確認頁與 status.json 已反映 aee6ab6 與 3C 完成狀態 |
| 3D Plugin / 多設備單元邊界分析 | 已完成 | 2026-06-05 | 2026-06-05 | 文件 repo | 已整理外部 DLL、多設備單元、Resource Lock、Command Queue、設定版本、候選驗證節點與停止線;未載入 DLL、未改程式、未改 Adapter public contract |
| 3D Plugin / 多設備單元決策確認表 | 已確認 | 2026-06-05 | 2026-06-05 | 文件 repo | 使用者已同意七項決策;下一步可整理 3D contract 草案 / 實作前確認表 |
| 3D contract 草案 / 實作前確認表 | 已確認 | 2026-06-05 | 2026-06-05 | 文件 repo | 已整理多設備單元 DTO、Resource Lock、Command Queue、Plugin metadata、Adapter contract 穩定性、測試策略與停止線七項確認;尚未修改程式 |
| 3D contract 決策確認表 | 已確認 | 2026-06-05 | 2026-06-05 | 文件 repo | 使用者已同意 3D contract 七項決策;尚未修改程式 |
| 3D Plugin / 多設備單元完成稽核表 | 已完成 | 2026-06-05 | 2026-06-05 | 文件 repo | 已對照目標模式要求列出完成證據與停止線,判定 3D contract 前置節點可驗收 |
| 3D Plugin / 多設備單元線上驗收紀錄 | 已完成 | 2026-06-05 | 2026-06-05 | 文件 repo | 已確認 Cloudflare Pages 首頁、第三階段儀表板、3D 完成稽核頁、3D contract 決策頁與 status.json 已反映 3D contract 前置節點完成狀態 |
| 3D 程式 repo 結構檢查與實作前確認 | 已完成 | 2026-06-05 | 2026-06-05 | 文件 repo / 程式 repo 唯讀盤點 | 已確認 HS.DeviceControl.Application 可承接 3D 第一版 contract;尚未修改程式、未載入 DLL、未改 Adapter public contract 或 config schema |
| 3D 程式 repo 結構檢查線上驗收紀錄 | 已完成 | 2026-06-05 | 2026-06-05 | 文件 repo | 已確認 Cloudflare Pages 首頁、新結構檢查頁、第三階段儀表板與 status.json 已反映 3D 程式 repo 結構檢查狀態 |
| 3D Application contract 草案 / 實作前確認表 | 已確認 | 2026-06-05 | 2026-06-06 | 文件 repo | 已整理 ControlUnits、Resources、Commands、Plugins、Application error code 與測試策略七項確認;使用者已同意七項決策,尚未修改程式 |
| 3D Application contract 決策確認表 | 已確認 | 2026-06-06 | 2026-06-06 | 文件 repo | 已記錄使用者同意 Application 層放置位置、ControlUnits、Resources、Commands、Plugins、Application error code / tests 與停止線七項決策;尚未修改程式 |
| 3D Application contract 第一版實作 | 已完成 | 2026-06-06 | 2026-06-06 | 程式 repo | commit a158551 已新增 ControlUnits、Resources、Commands、Plugins、APP-03xx 與 Application.Tests;Application tests 30 passed,solution tests 468 passed |
| 3D Application contract commit / push 前確認 | 已完成 | 2026-06-06 | 2026-06-06 | 文件 repo | 已整理 staged 範圍、測試證據、污染掃描、commit 訊息、push 與 Actions 結果 |
| 第三階段總收斂確認表 | 已完成 | 2026-06-06 | 2026-06-06 | 文件 repo | 已集中確認 3A、3B、3C、3D 均已在核准範圍內完成,並列出停止線與非阻擋殘留項 |
| 4A WebApi / ServiceHost / Plugin Loader 邊界分析 | 已完成 | 2026-06-06 | 2026-06-06 | 文件 repo | 已整理正式入口、背景執行入口、Plugin Loader、Application 共用協調層、部署維運與停止線,不新增正式入口 |
| 4A WebApi / ServiceHost / Plugin Loader 決策確認表 | 已確認 | 2026-06-06 | 2026-06-06 | 文件 repo | 使用者已確認採用建議路線;4B 可先進入最小 WebApi contract 與實作,ServiceHost 留到 4C,Plugin Loader 留到 4D |
| 第四階段 4B / 4C / 4D 執行切分表 | 已建立 | 2026-06-06 | 2026-06-06 | 文件 repo | 已暫定 WebApi 在 4B、ServiceHost 在 4C、Plugin Loader 在 4D;尚未新增正式入口、route、Loader、套件或 public method 簽章 |
| 第四階段 4A / 4B 切分線上驗收紀錄 | 已完成 | 2026-06-06 | 2026-06-06 | 文件 repo | 已確認 Cloudflare Pages 首頁、4A 決策確認表、4B / 4C / 4D 切分表、第三階段儀表板與 progress.json 均反映文件 commit f071c87 |
| 第四階段標準 / 文件 / 施作範圍 / 驗收條件總表 | 已完成 | 2026-06-06 | 2026-06-06 | 文件 repo | 已整理第四階段總標準、文件清單、4A / 4B / 4C / 4D 施作範圍、驗收條件、驗證節點與停止線 |
| 第四階段目標模式完成稽核表 | 已完成 | 2026-06-06 | 2026-06-06 | 文件 repo | 已確認第四階段文件型標準包可收斂完成;尚未新增 WebApi、ServiceHost 或 Plugin Loader 程式 |
| 4B WebApi contract 草案 / 實作前確認表 | 已確認 | 2026-06-06 | 2026-06-06 | 文件 repo | 已整理最小 WebApi route、DTO、錯誤格式、Application mapping、API 測試、DB 非破壞性測試與停止線 |
| 4B WebApi 決策確認紀錄 | 已確認 | 2026-06-06 | 2026-06-06 | 文件 repo | 使用者確認七項建議;允許最小 WebApi 第一版與 API / DB 非破壞性驗收,仍不做 ServiceHost、Plugin Loader 或 DB DDL |
| 4B WebApi 第一版實作與 API / DB 驗收紀錄 | 已完成 | 2026-06-06 | 2026-06-06 | 程式 repo / 文件 repo | 程式 repo commit 9527773 已新增 WebApi 專案、controller、DTO 與 WebApi tests;WebApi tests 7 passed、solution tests 475 passed、本機 API 驗收與 Actions success 均通過 |
| 4C ServiceHost contract 草案 / 實作前確認表 | 已確認 | 2026-06-06 | 2026-06-06 | 文件 repo | 已整理 ServiceHost 背景生命週期、Adapter lifecycle、Health、Log / Trace、DB / Schema 非破壞性邊界、候選檔案、測試策略與七項確認 |
| 4C ServiceHost 決策確認紀錄 | 已確認 | 2026-06-06 | 2026-06-06 | 文件 repo | 使用者確認七項建議;可進入程式 repo 結構檢查與最小 ServiceHost 第一版實作,仍不做 Windows Service、外部 queue、正式 DB 或真實硬體 |
| 4C ServiceHost 程式 repo 結構檢查表 | 已完成 | 2026-06-06 | 2026-06-06 | 文件 repo / 程式 repo | 已確認新增 HS.DeviceControl.ServiceHost、HS.DeviceControl.ServiceHost.Tests 與 solution 掛載,且不改 Core / Application public contract |
| 4C ServiceHost 第一版實作與驗收紀錄 | 已完成 | 2026-06-06 | 2026-06-06 | 程式 repo / 文件 repo | 已新增 ServiceHost runtime、state、status、options 與 tests;ServiceHost tests 7 passed、Application tests 30 passed、WebApi tests 7 passed、solution tests 482 passed,主程式 Running -> Stopped |
| 4C ServiceHost 完成稽核表 | 已完成 | 2026-06-06 | 2026-06-06 | 文件 repo | 判定 4C ServiceHost 第一版已完成並 push;程式 commit a846212 已通過 Actions run 27057194166 |
| 4D PluginLoader 邊界分析 | 已整理 | 2026-06-06 | 2026-06-06 | 文件 repo / 程式 repo | 已整理信任模型、metadata contract、版本相容、隔離、卸載、回復、測試策略與停止線;不建立 Loader、不掃描 plugin folder、不載入外部 DLL |
| 4D PluginLoader 決策確認表 | 已確認 | 2026-06-06 | 2026-06-06 | 文件 repo | 使用者已同意 trust model / metadata contract、來源白名單、版本相容、Adapter contract、ServiceHost lifecycle 與停止線七項決策;可進入 contract 草案 / 實作前確認表 |
| 4D PluginLoader contract 草案 / 實作前確認表 | 已確認 | 2026-06-06 | 2026-06-06 | 文件 repo | 使用者已同意 metadata、verification result、state、audit、候選檔案、測試策略與停止線七項 contract 決策;可進入程式 repo 唯讀結構檢查 |
| 4D PluginLoader 程式 repo 結構檢查表 | 已完成 | 2026-06-06 | 2026-06-06 | 文件 repo / 程式 repo 唯讀盤點 | 已確認既有 Application.Plugins 可承接最小 metadata / verification / state / audit contract;不新增 Loader、不建立 IPluginLoader、不改 Adapter public contract 或 config schema |
| 4D 最小 Application plugin contract 實作前最後確認表 | 已確認 | 2026-06-06 | 2026-06-06 | 文件 repo | 使用者已同意七項最小 contract 決策,允許只修改 Application.Plugins 與 Application.Tests |
| 4D 最小 Application plugin contract 第一版實作與驗收紀錄 | 已完成 | 2026-06-06 | 2026-06-06 | 程式 repo / 文件 repo | 已新增 plugin state、verification check/result、audit record、descriptor 欄位與 catalog validation;Application.Tests 40 passed,solution tests 492 passed |
| 4D PluginLoader 完成稽核表 | 已完成 | 2026-06-06 | 2026-06-06 | 文件 repo | 判定 4D 就最小 Application plugin contract 已完成 commit / push / Actions;真正 Loader、外部 DLL、config schema、Adapter contract 與 DB audit table 仍需另行確認 |
| 第四階段完成確認表 | 已完成 | 2026-06-06 | 2026-06-06 | 文件 repo | 收斂 4A 文件切分、4B WebApi、4C ServiceHost 與 4D 最小 Application plugin contract;第四階段最小範圍已完成程式 repo commit / push |
| 4D Application plugin contract commit / push 前確認 | 已完成 | 2026-06-06 | 2026-06-06 | 文件 repo / 程式 repo | 已固定 4D 程式 repo stage 範圍、測試證據、停止線與 commit 訊息;commit 6f34bb9 已 push,Actions run 27064992270 success |
| 第四階段線上驗收紀錄 | 已完成 | 2026-06-06 | 2026-06-06 | 文件 repo | 已確認 Cloudflare Pages status.json、第四階段完成確認表、4D commit / push 前確認頁、程式 Actions run 27064992270 與文件 repo 狀態同步 run 27064994842 均通過 |
| 第四階段後續功能節點切分表 | 已建立 | 2026-06-07 | 2026-06-07 | 文件 repo | 已切分 4E 後續決策確認、5A PluginLoader、5B config schema、5C DB audit、5D WebApi auth / Swagger、5E Windows Service 與 5F 整合驗收;尚未授權程式修改 |
| 4E 後續功能節點決策確認表 | 已確認 | 2026-06-07 | 2026-06-07 | 文件 repo | 使用者已同意七項決策;已允許進入 5A PluginLoader 實作前確認 |
| 5A PluginLoader 實作前確認表 | 已確認 | 2026-06-07 | 2026-06-07 | 文件 repo | 使用者已同意七項決策;允許進入程式 repo 唯讀結構檢查與最小 PluginLoader 實作評估,尚未授權外部 DLL、config schema、DB audit、auth / Swagger 或 Windows Service |
| 第五階段 Loader 到 Service 後續範圍補齊表 | 已建立 | 2026-06-07 | 2026-06-07 | 文件 repo | 已補齊 5A 到 5F 的 Loader、外部 DLL、config schema、DB audit、auth / Swagger、Windows Service、文件交付、實作範圍與驗收範圍 |
| 5A PluginLoader 程式 repo 結構檢查 | 已完成 | 2026-06-07 | 2026-06-07 | 文件 repo / 程式 repo 唯讀盤點 | 已確認 Application.Plugins 可承接 metadata-only Loader;候選新增 IPluginLoader、request / result / options / service 與 tests;Application.Tests 40 passed |
| 5A 最小 PluginLoader 實作前最後確認表 | 已確認 | 2026-06-07 | 2026-06-07 | 文件 repo | 使用者已確認七項;後續已完成 metadata-only PluginLoader 程式實作 |
| 5A 最小 PluginLoader 最後確認表線上驗收紀錄 | 已完成 | 2026-06-07 | 2026-06-07 | 文件 repo | 已確認最後確認表 HTTP 200、首頁入口與 status.json 內容可追溯;後續已完成七項確認與 5A 實作 |
| 5A 最小 PluginLoader 實作測試案例與停止線稽核表 | 已完成 | 2026-06-07 | 2026-06-07 | 文件 repo / 程式 repo 唯讀 refresh | 已固定 Application.Tests、solution tests、assembly loading / DLL / config / DB / auth / Windows Service 停止線掃描與 10 個 PluginLoaderServiceTests 建議案例 |
| 5A 最小 PluginLoader metadata-only 實作 | 已完成 | 2026-06-07 | 2026-06-07 | 程式 repo / 文件 repo | 程式 commit 9e7302a 已新增 IPluginLoader、request / result / options / service 與 tests;Application.Tests 50 passed、solution tests 502 passed、Actions run 27084361560 success |
| 外部 DLL manual-only fake verifier | 已完成 | 2026-06-07 | 2026-06-07 | 程式 repo / 文件 repo | 程式 commit bc3f191 已新增 manual-only request / result / plan / options / fake verifier 與測試;Application.Tests 57 passed、solution tests 509 passed、Actions run 27085788163 success |
| 5B config schema 實作與驗收 | 已完成 | 2026-06-07 | 2026-06-07 | 程式 repo / 文件 repo | 程式 commit 1f635d6 已新增 metadata-only appsettings schema、validator、safe sample config、Core tests 與 docs/config-schema.md;solution tests 516 passed、Actions run 27087431249 success |
| 5C DB audit 實作前文件包 | 已確認 | 2026-06-07 | 2026-06-07 | 文件 repo / 程式 repo 唯讀盤點 | 使用者已同意七項決策;已依此進入 audit contract / fake writer 第一批程式實作 |
| 5C DB audit 實作前文件線上驗收紀錄 | 已完成 | 2026-06-07 | 2026-06-07 | 文件 repo | 已確認 5C 前置文件包與 status.json 可在線上追溯至 b9cdd41;後續已完成 5C 七項確認與第一批實作 |
| 5C DB audit 第一批實作與驗收 | 已完成 | 2026-06-07 | 2026-06-07 | 程式 repo / 文件 repo | 程式 commit 354fecd 已新增 Application 層 audit event contract、write result、IAuditEventWriter、InMemoryAuditEventWriter、APP-0361 到 APP-0363 與測試;Application.Tests 67 passed、Infrastructure.MySql.Tests 89 passed、solution tests 526 passed、Actions run 27089597494 success |
| 5D auth / Swagger 前置文件包 | 已完成 | 2026-06-07 | 2026-06-07 | 文件 repo / 程式 repo 唯讀盤點 | 已建立邊界分析、實作前確認表、程式 repo 結構檢查與實作測試案例 / 停止線稽核表;後續已依七項確認完成 5D 程式實作 |
| 5D auth / Swagger 實作前文件線上驗收紀錄 | 已完成 | 2026-06-07 | 2026-06-07 | 文件 repo | 已確認 5D 邊界分析頁、實作前確認表、status.json?check=5d 與 progress.json?check=5d 可線上追溯;後續已完成 c92342b 實作 |
| 5D auth / Swagger 最小實作前最後確認表 | 已確認 | 2026-06-07 | 2026-06-07 | 文件 repo | 已固定 5D 第一批最小 auth gate、credential 安全、controller 保護、health 決策、Swagger gate、測試停止線與排除項目;使用者七項確認後已完成實作 |
| 5D auth / Swagger 最小實作前最後確認表線上驗收紀錄 | 已完成 | 2026-06-07 | 2026-06-07 | 文件 repo | 已建立 5D 最後確認表線上驗收紀錄;確認文件 gate 可追溯,後續已完成 5D auth / Swagger 程式實作 |
| 5D auth / Swagger 實作工作包 | 已完成 | 2026-06-07 | 2026-06-07 | 文件 repo / 程式 repo 驗證 | 已整理並執行預計修改檔案、實作順序、必跑測試、停止線與實作後文件;實作 commit c92342b 已完成 |
| 5D auth / Swagger 第一批實作與驗收 | 已完成 | 2026-06-07 | 2026-06-07 | 程式 repo / 文件 repo | 程式 commit c92342b 已新增最小 API key authentication handler、protected API policy、development-only Swagger gate 與測試;WebApi.Tests 17 passed、Application.Tests 67 passed、solution tests 536 passed、Actions run 27094590136 success |
| 5D auth / Swagger 線上驗收紀錄 | 已完成 | 2026-06-07 | 2026-06-07 | 文件 repo | 已確認 5D 實作驗收頁與 remaining gate 頁可在線上讀取,內容包含 c92342b 與 27094590136 |
| 5E Windows Service 前置文件包 | 已完成 | 2026-06-07 | 2026-06-08 | 文件 repo / 程式 repo 唯讀盤點 | 已建立邊界分析、實作前確認表、程式 repo 結構檢查、實作測試案例 / 停止線稽核表、最後確認表、工作包與現況刷新紀錄;後續已完成最小 hosting gate |
| 5E Windows Service 實作前文件線上驗收紀錄 | 已完成 | 2026-06-07 | 2026-06-07 | 文件 repo | 已確認 5E 實作前確認表與首頁可線上追溯;後續已完成 0789d35 最小 hosting gate 實作 |
| 5E Windows Service 最小實作前最後確認表 | 已確認 | 2026-06-07 | 2026-06-08 | 文件 repo | 使用者已確認七項,並已依工作包執行最小 hosting gate 實作 |
| 5E Windows Service 最小實作前最後確認表線上驗收紀錄 | 已完成 | 2026-06-07 | 2026-06-07 | 文件 repo | 已確認 5E 最後確認表、首頁入口與 status.json 可線上追溯;程式 repo 目前基準為 c92342b,未新增 Windows Service 程式實作 |
| 5E Windows Service 實作工作包 | 已完成 | 2026-06-07 | 2026-06-08 | 文件 repo / 程式 repo 驗證 | 已依候選修改檔案、施作順序、必跑測試、停止線與完成後文件執行,未導入 OS service 安裝 |
| 5E Windows Service 實作前現況刷新紀錄 | 已完成 | 2026-06-08 | 2026-06-08 | 文件 repo / 程式 repo 驗證 | 已重跑 ServiceHost.Tests 7 passed,確認 Windows Service / 外部 DLL loading / 污染字串停止線未命中 |
| 5E Windows Service 實作與驗收紀錄 | 已完成 | 2026-06-08 | 2026-06-08 | 程式 repo / 文件 repo | 程式 commit 0789d35 已完成非敏感 options、runner、console smoke path 保留、明確 --windows-service smoke path 與 tests;ServiceHost.Tests 19 passed、solution tests 548 passed、Actions run 27098568634 success |
| 5E Windows Service 線上驗收紀錄 | 已完成 | 2026-06-08 | 2026-06-08 | 文件 repo / 線上查核 | 已確認 5E 實作驗收頁、首頁、progress.json 與 status.json 可追溯 0789d35 與文件 commit ec34a51 |
| 第五階段剩餘 gate 與完成條件稽核表 | 已更新 | 2026-06-07 | 2026-06-08 | 文件 repo / 程式 repo 驗證 | 已盤點 5A 到 5E 已完成證據、5F 尚未完成項目、不可越權停止線與建議執行順序;5E solution tests 548 passed、ServiceHost.Tests 19 passed |
| 5F 第五階段整合驗收計畫 | 已更新 | 2026-06-07 | 2026-06-08 | 文件 repo | 已固定 5A 到 5E 完成後的整合驗收前提、測試命令、停止線、文件同步與線上驗收條件 |
| 5F 第五階段整合驗收執行前確認表 | 已確認並已執行 | 2026-06-07 | 2026-06-08 | 文件 repo | 使用者已確認七項同意,已完成 5F 整合驗收 |
| 5F 第五階段整合驗收紀錄 | 已完成 | 2026-06-08 | 2026-06-08 | 程式 repo / 文件 repo | 已完成分項測試、全量測試 548 passed、runtime smoke、停止線掃描、污染掃描與文件鏡像檢查 |
| 第五階段完成稽核表 | 已完成 | 2026-06-08 | 2026-06-08 | 文件 repo | 已確認 5A 到 5F 均完成已授權最小範圍,正式部署 / DB / DLL / Windows Service install 仍需另行授權 |
| 第五階段線上驗收紀錄 | 已完成 | 2026-06-08 | 2026-06-08 | 文件 repo / 線上查核 | 已確認首頁、5F 驗收頁、第五階段完成稽核頁、progress.json 與 status.json 均可在線上追溯 |
| TaskTraceStore 第一版 fake gateway 查詢實作 | 已完成 | 2026-06-03 | 2026-06-03 | 程式 repo | 已新增 ITaskTraceStore、Trace 查詢 DTO、MySqlTaskTraceStore、參數化 SQL、HasMore 分頁、遮罩與錯誤測試,commit f2958d3 |
| TaskTraceStore read-only manual 查詢驗證入口 | 已完成 | 2026-06-03 | 2026-06-03 | 程式 repo | 已新增 MySqlTaskTraceStoreManualMySql56Tests 與 run-mysql-tasktrace-manual-query.ps1,預設不連 DB、需 AllowRead 且禁止無條件查詢,commit a9c9eca |
| TaskTraceStore read-only 候選探查腳本 | 已完成 | 2026-06-04 | 2026-06-04 | 程式 repo | 已新增 run-mysql-tasktrace-candidate-probe.ps1,固定 ExpectedMinRows=0 供正式補驗前找出可用 TaskId,commit 2c817ec |
| TaskTraceStore read-only 候選探查結果 | 已執行未命中 | 2026-06-04 | 2026-06-04 | 使用者手動驗證 | 已查詢 2026-01-01 至 2026-06-04,Success=True、ExpectedMinRows=0、ItemCount=0、HasMore=False、2 個 manual 測試通過 |
| TaskTraceStore 3A 完成稽核 | 已完成 | 2026-06-04 | 2026-06-04 | 文件 repo | 已整理 3A 目標要求、完成證據、read-only 候選探查、write/read/cleanup 補驗與後續停止線 |
| TaskTraceStore 真實 DB read-only 查詢驗證紀錄 | 歷史 read-only 無資料 | 2026-06-04 | 2026-06-04 | 文件 repo | 已執行 task_log_traces read-only SELECT,Success=True、ItemCount=0、HasMore=False、ElapsedMs=387;此為補驗前背景,後續 write/read/cleanup 已收斂 |
| TaskTraceStore write/read/cleanup 真實 DB 補驗 | 已完成 | 2026-06-04 | 2026-06-04 | 程式 repo / 文件 repo | 已在授權測試 DB 寫入下執行 run-mysql-tasktrace-write-read-cleanup-validation.ps1,寫入 2 筆 manual trace、查回 2 筆、HasMore=False、cleanup 刪除 2 筆;程式 commit fa874f4 |
| 測試專案 | 進行中 | 持續補強 | 持續更新 | 程式 repo | 最新全量 dotnet test 紀錄通過 492 個測試;4D Application tests 40 passed |
| Modbus TCP Adapter 第一版 | 已完成 | 2026-05-29 | 2026-05-29 | 程式 repo | 已有 PoC、套件選型、設定映射、Adapter 第一版、模擬器整合驗證、錯誤處理、啟動補償斷線、rollback metadata、RecoveryPolicy、錯誤碼、接入點盤點與 Reason 分類驗證紀錄;真實硬體現場驗證延後第二階段 |
| TaskEngine / 狀態追蹤 | 已收斂 | 2026-05-29 | 2026-05-29 | 程式 repo | 第一階段 Task 追蹤已完成收尾檢查;資料庫、WebApi、ServiceHost 與取消 / 暫停執行入口延後到第二階段 |
| ServiceHost / WebApi / WinForms Debug Tool | 延後 | 第二階段後 | 尚未開始 | 程式 repo | 不屬於第一階段必要交付 |
| 文件同步 | 持續進行 | 每次重要開發後 | 持續更新 | 文件 repo | 程式 repo push 後自動同步 status.json |