# 外部 DLL manual-only 邊界決策確認紀錄

本文件記錄使用者對「外部 DLL manual-only 邊界確認表」七項決策的正式回覆。此確認只授權進入程式 repo 唯讀結構檢查與實作前確認，不代表已同意修改程式 repo、載入外部 DLL、掃描 plugin folder 或改動 config schema。

## 0. 確認狀態

| 項目 | 內容 |
|---|---|
| 文件狀態 | 已確認 |
| 確認日期 | 2026-06-07 |
| 對應文件 | `phase-five-external-dll-manual-only-boundary-confirmation.md` |
| 程式 repo | `hs-device-control-template` |
| 程式 branch | `poc/nmodbus-tcp` |
| 程式 commit | `9e7302a` |
| 使用者回覆 | 7 項皆同意 |
| 本文件授權範圍 | 只允許進入唯讀盤點與實作前確認文件整理 |

## 1. 使用者確認文字

```text
外部 DLL manual-only 邊界確認：
1. 同意
2. 同意
3. 同意
4. 同意
5. 同意
6. 同意
7. 同意
```

## 2. 決策定案

| 編號 | 決策項 | 定案 |
|---|---|---|
| 1 | 外部 DLL 節點範圍 | 先做 manual-only 邊界，不自動掃描 plugin folder。 |
| 2 | 預設行為 | 預設不載入 DLL，必須由明確 gate 開啟 manual-only 測試。 |
| 3 | CI 行為 | CI 不載入真實 DLL，只跑 fake / metadata / stop-line tests。 |
| 4 | 本節點設計內容 | 先設計 request / result / plan / error mapping，不改 Adapter public contract。 |
| 5 | 敏感資訊處理 | 不把完整路徑、secret、token、connection string 寫入 log、result 或文件。 |
| 6 | 排除項目 | DB audit、config schema、auth / Swagger、Windows Service 不在本節點實作。 |
| 7 | 真實載入停止線 | 若後續要載入真實 DLL，必須再次停下確認載入方式、隔離、卸載、recovery 與驗收條件。 |

## 3. 仍未授權事項

- 不修改程式 repo。
- 不建立真實 DLL 載入程式。
- 不使用外部載入 API。
- 不掃描 plugin folder。
- 不新增 config schema。
- 不改 Adapter public contract。
- 不建立 DB audit table 或執行任何 DDL。
- 不保存密碼、token、connection string、正式 IP 或正式 port。
- 不修改 WebApi auth / Swagger 或 Windows Service。

## 4. 下一步

可進入「外部 DLL manual-only 程式 repo 結構檢查與實作前確認」，以唯讀方式盤點目前 Application / Plugins contract、測試覆蓋、停止線與候選檔案。完成該確認表前，不得進入程式實作。
