3D contract 決策確認表

本頁整理進入 3D 程式 repo 結構檢查前的七項確認。

返回 docs

3D contract 決策確認表

本文件承接 3D contract 草案 / 實作前確認表,將進入「3D 程式 repo 結構檢查與實作前確認」前需要使用者確認的七項決策整理成獨立確認表。

本文件只做決策確認,不代表已同意修改程式、新增專案、載入外部 DLL、新增 Plugin Loader、修改 IDeviceAdapter public contract、導入 plugin / queue 套件、修改 config schema、新增 ServiceHost / WebApi、執行 DB DDL 或接真實硬體。

1. 確認狀態

項目內容
文件狀態已確認
整理日期2026-06-05
確認日期2026-06-05
對應階段第三階段 3D Plugin / 多設備單元
前置文件3D contract 草案 / 實作前確認表
本次目標取得 3D contract 進入程式 repo 結構檢查前的七項決策確認
本次不做不改程式、不新增專案、不載入 DLL、不新增 Plugin Loader、不改 Adapter contract、不改 config schema、不新增 ServiceHost / WebApi
確認結果使用者已回覆 1 至 7 全部同意
確認後可進入3D 完成稽核、文件 repo stage / commit / push 與部署查驗;後續若進入程式 repo 仍限於另行確認後的唯讀盤點

2. 七項決策確認表

編號決策項建議定案同意後可進入停止線確認結果
1多設備單元 contractControlUnitId / StationId / DeviceId / ResourceKey 作為第一版 DTO 命名基礎。可唯讀盤點 Application 專案是否適合承接 Control Unit DTO。不立即修改 config schema。同意
2Resource Lock contract第一版候選放在 Application 層,先做 request / result / fake 邊界。可唯讀盤點 lock service / DTO 的程式候選位置。不新增 DB table、不導入分散式鎖。同意
3Command Queue contract第一版候選放在 Application 層,先做 in-memory / fake contract。可唯讀盤點 enqueue / status / cancel contract 與測試策略。不導入 queue 套件、不改啟動方式。同意
4Plugin metadata contract第一版只做 metadata / manifest DTO 候選。可唯讀盤點 plugin id、version、capability、checksum 與相容性欄位位置。不建立 Loader、不掃描 DLL、不載入 DLL。同意
5Adapter contract 穩定性維持 IDeviceAdapter public contract 不變,後續若需要 plugin adapter 先用 wrapper / factory 映射。可降低對既有 Mock / Modbus Adapter 的破壞風險。未確認前不新增或改動 Adapter public method。同意
6測試策略第一版只做 Application.Tests 的 DTO / fake / in-memory 測試。可整理不連 DB、不載入 DLL、不接硬體的測試範圍。不跑真實硬體、不連正式 DB、不執行 DDL。同意
73D 停止線未再次確認前不改 config schema、不新增 ServiceHost / WebApi、不改 route、不保存敏感資訊。可保留 3D contract 為安全、可回退的前置節點。不保存密碼、Token、IP、Port、完整 connection string。同意

3. 使用者回覆紀錄

3D contract 確認:
1. 同意
2. 同意
3. 同意
4. 同意
5. 同意
6. 同意
7. 同意

4. 確認後的可執行下一步

七項已同意後,本節點可先進入 3D 完成稽核、必要文件同步、文件 repo stage / commit / push 與部署查驗。若後續要進入「3D 程式 repo 結構檢查與實作前確認」,範圍仍需限於唯讀盤點,不直接修改程式。

5. 仍需停止的項目

6. 建議下一步

七項決策已確認。建議先完成本次文件 repo stage / commit / push 與部署查驗;後續如需進入 3D 程式 repo 結構檢查,仍需遵守本文件第 5 節停止線。