4D PluginLoader 決策確認表

返回

4D PluginLoader 決策確認表

本文件承接 4D PluginLoader 邊界分析,把 4D 進入 PluginLoader contract 草案或任何程式實作前必須確認的 7 項決策整理成可逐項回覆的確認表。

本文件記錄使用者已同意 4D 七項文件型決策;此同意只代表可進入 PluginLoader contract 草案 / 實作前確認表,不代表已同意建立 PluginLoader、建立 IPluginLoader public contract、掃描 plugin folder、載入外部 DLL、執行外部程式碼、修改 IDeviceAdapter public contract、修改 config schema、導入 plugin framework、保存正式 DLL 路徑、接真實硬體、執行正式 DB DDL 或改變程式啟動方式。

0. 確認狀態

項目內容
文件狀態已確認
整理日期2026-06-06
確認日期2026-06-06
對應階段第四階段 4D PluginLoader
前置文件4D PluginLoader 邊界分析
程式基準 commita846212 新增 4C ServiceHost 第一版與驗收測試
本次確認範圍trust model、metadata contract、來源白名單、checksum、版本相容、Adapter contract、ServiceHost lifecycle、停止線
本次仍不做不建立 Loader、不載入 DLL、不掃描 plugin folder、不改 Adapter / config / DB、不接真實硬體

1. 建議確認方式

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

2. 七項決策確認表

編號決策項建議定案若同意的影響若不同意需補充
14D 第一版先做 trust model / metadata contract先整理 PluginLoader contract 草案與實作前確認,不建立實際 Loader、不載入 DLL。可安全固定來源信任、版本、狀態、錯誤與 audit 語意。需說明是否要直接建立 Loader 或載入測試 DLL,並列出風險控管。
2沿用 3D Plugin metadata 起點以 3D PluginDescriptorPluginCapabilityDescriptorIPluginCatalogService 作為 metadata 起點。可延續既有 Application contract,不重複發明 plugin metadata。需說明新的 metadata model 與既有 3D contract 如何相容。
3信任來源與驗證規則第一版需定義來源白名單、checksum、版本相容與人工核准欄位。可避免任意 DLL 或未知來源被視為可載入。需說明哪些來源可被信任,以及不做 checksum / 白名單時的替代保護。
4Adapter public contract 不變4D 不修改 IDeviceAdapter public contract,未來 plugin 也需經 Adapter / dispatcher 邊界承接。可避免外部 plugin 破壞既有 Core / Adapter 分層。需說明為何需要改 Adapter contract,以及相容與測試策略。
5Loader lifecycle 由 ServiceHost 承接未來 Loader lifecycle 應由 4C ServiceHost 或受控背景入口組裝,不由 WebApi Controller 直接載入 DLL。可維持 WebApi / ServiceHost 分責,降低 HTTP request 直接執行外部程式碼風險。需說明若由 WebApi 載入,如何處理權限、重啟、隔離與錯誤回復。
6本輪不改 config schema / 不保存正式路徑只整理候選欄位,不修改 config schema,不保存正式 DLL path、IP、Port 或 token。可避免未成熟 plugin schema 變成正式契約,也避免敏感資訊進 repo。需說明要修改哪些 schema 欄位,以及敏感資訊保存與回復策略。
7停止線維持所有 Loader 實作、外部 DLL 測試、真實硬體、DB audit 寫入、plugin framework 套件導入都需另行確認。可先完成文件與 contract 草案,不跨過高風險執行邊界。需明確列出允許突破的停止線、驗證方式與回復策略。

3. 本次確認結果

編號決策項確認結果
14D 第一版先做 trust model / metadata contract已同意
2沿用 3D Plugin metadata 起點已同意
3信任來源與驗證規則已同意
4Adapter public contract 不變已同意
5Loader lifecycle 由 ServiceHost 承接已同意
6本輪不改 config schema / 不保存正式路徑已同意
7停止線維持已同意

4. 確認後可進入的工作

順序工作範圍
14D 決策確認結果回填已完成,使用者已同意 1 至 7 項決策。
24D PluginLoader contract 草案 / 實作前確認表固定 metadata、verification result、state、audit、候選檔案、測試策略與停止線。
3程式 repo 唯讀結構檢查盤點 Application.PluginsServiceHost、Adapter dispatcher、config schema 與測試專案。
4最小 contract 實作評估只在使用者確認後,評估是否新增 verification / state / audit contract。
5Loader 實作評估需另行確認來源、簽章、checksum、隔離、卸載與測試 DLL;不得由本表自動授權。

5. 仍需停止的項目

6. 建議下一步

七項確認已完成。建議下一步整理 4D PluginLoader contract 草案 / 實作前確認表,並在進入任何程式修改前再次回報預計新增 / 修改檔案與原因。