3C Service / API 決策確認表

本頁整理第三階段正式執行入口進入程式實作前的七項決策。

返回 docs

3C Service / API 決策確認表

本文件承接 3C Service / API 邊界分析,把進入任何程式實作前需要使用者確認的 7 項決策整理成可逐項回覆的確認表。

本文件只做決策確認與後續回填,不代表已同意新增 ServiceHost 專案、WebApi 專案、API route、認證授權套件、背景服務、佇列套件、DB DDL、正式 Apply 或修改 public method 簽章。

0. 確認狀態

項目內容
確認狀態已確認
整理日期2026-06-04
確認日期2026-06-04
使用者回覆7 項皆同意
後續狀態已完成 3C 程式 repo 結構檢查與實作前確認;尚未進入程式實作
仍不得執行新增 ServiceHost / WebApi 專案、API route、認證授權套件、背景服務、佇列套件、public method 簽章調整、DB DDL、正式 Apply、敏感連線資訊保存

1. 建議確認方式

使用者可直接回覆以下格式:

3C 決策確認:
1. 同意
2. 同意
3. 同意
4. 同意
5. 同意
6. 同意
7. 同意
備註:若有需要調整的項目,請寫在這裡。

若任一項不同意,建議寫成:

第 N 項不同意,改為:...

2. 七項決策確認表

編號決策項建議定案若同意的影響若不同意需補充
1Application Service 優先先整理共用 Application Service contract 草案,不直接建立 WebApi controller可先釐清 TaskControl、Trace 查詢、DeviceStatus、SchemaPreview、Health 的共用協調層;仍不得直接新增 public method需說明是否要直接從 WebApi 或 ServiceHost 開始,以及如何避免重複流程邏輯
2ServiceHost 第一版邊界ServiceHost 第一版只做背景任務協調、adapter lifecycle、log / trace 與 health 摘要,不處理 HTTP可保持 ServiceHost 是正式背景執行入口,不把 API controller 混入 Host需說明是否要讓 ServiceHost 同時提供 HTTP,以及部署與責任邊界如何切分
3WebApi 第一版邊界WebApi 第一版只做 request / response、權限、DTO mapping、查詢與控制請求轉交,不直接執行 workflowController 不寫 node 邏輯、不操作 Adapter、不直接碰 DB gateway需說明 WebApi 是否允許直接呼叫 Core / Adapter / DB,以及錯誤與 Log 如何保留
4Task Control 模式Task Control API 採建立任務後回傳 TaskId,後續用查詢 API 取得狀態與結果避免長時間 workflow 阻塞 HTTP request,可支援取消、輪詢與狀態追蹤需定義同步等待時間、timeout、取消與失敗回報方式
5Device Status 邊界Device Status API 第一版只讀狀態,不下設備控制命令可查 DeviceId、連線狀態、最後錯誤與摘要,不改變硬體狀態需定義哪些命令可直接由 API 下達,以及如何避免繞過 Task / Adapter 邊界
6Schema Preview API 邊界Schema Preview API 只回傳 ManualApplyPreview、風險與 PlanHash,不得 Apply可供管理者檢視 schema 差異,但不執行 DDL、不修改 DB需定義何時允許 Apply、gate、權限、history table、備份與 rollback
7實作前停止線未確認前不新增專案、不導入套件、不改 public method 簽章、不新增 route可先做文件、contract 草案與實作前確認,避免範圍過早擴大需明確指定允許新增的專案、套件、route 或 public method 範圍

3. 本次確認結果

編號決策項確認結果
1Application Service 優先同意,先整理共用 Application Service contract 草案,不直接建立 WebApi controller。
2ServiceHost 第一版邊界同意,ServiceHost 第一版只做背景任務協調、adapter lifecycle、log / trace 與 health 摘要,不處理 HTTP。
3WebApi 第一版邊界同意,WebApi 第一版只做 request / response、權限、DTO mapping、查詢與控制請求轉交,不直接執行 workflow。
4Task Control 模式同意,Task Control API 採建立任務後回傳 TaskId,後續用查詢 API 取得狀態與結果。
5Device Status 邊界同意,Device Status API 第一版只讀狀態,不下設備控制命令。
6Schema Preview API 邊界同意,Schema Preview API 只回傳 ManualApplyPreview、風險與 PlanHash,不得 Apply。
7實作前停止線同意,未確認前不新增專案、不導入套件、不改 public method 簽章、不新增 route。

4. 已確認結論

本次已採用以下結論:

  1. 同意先整理共用 Application Service contract 草案。
  2. 同意 ServiceHost 第一版只做背景任務協調,不處理 HTTP。
  3. 同意 WebApi 第一版只做 request / response、權限、DTO mapping、查詢與控制請求轉交。
  4. 同意 Task Control API 採建立任務後回傳 TaskId 的模式。
  5. 同意 Device Status API 第一版只讀狀態,不下設備控制命令。
  6. 同意 Schema Preview API 只回傳 ManualApplyPreview、風險與 PlanHash,不得 Apply。
  7. 同意未確認前不新增專案、不導入套件、不改 public method 簽章、不新增 route。

採用此結論後,已整理 3C 程式 repo 結構檢查與實作前確認;這仍不是程式實作授權,也不代表允許新增 ServiceHost / WebApi 專案。

5. 確認後可進入的工作

順序工作範圍
13C 程式 repo 結構檢查已完成,只盤點現有 Solution、Core、Infrastructure、ConsoleHost、Tests 與可放置 Application Service contract 的位置。
23C 實作前確認已完成,整理候選新增或修改檔案、contract 草案方向、測試策略與停止線。
3小步 contract 草案若使用者確認,才可進入最小 contract / DTO 草案;仍不得同時建立 WebApi / ServiceHost。
4驗證節點設計針對 Task Control、Device Status、Schema Preview、Health 分別定義何時需要人工驗證。

6. 仍需停止的項目

即使七項決策全部同意,仍不得自動執行以下項目,除非使用者另外明確授權:

7. 建議下一步

七項決策已確認,且 3C 程式 repo 結構檢查與實作前確認3C Application Service contract 草案 / 實作前確認表3C Application contract 決策確認紀錄 已完成。建議下一步進入 Application contract 第一版程式實作,仍先不新增 ServiceHost / WebApi 專案。