本章概覽
先說結論:任何事情都先分類,這一章不執行測試。你會把提案分成安全、隔離測試、需核准、永不自動化四類;閘門不完整就停在紙上。
- 目的
- 在任何動作發生前,用四類矩陣判斷提案能否繼續。
- 準備
- 一張空白分類票與提案的無實值文字描述;不需要測試環境。
- 時間
- 約 20 分鐘。
- 系統變更
- 不執行現場測試;只把測試案例離線分成證據與安全類別。
- 預期結果
- 能分辨安全、隔離測試、需核准與永不自動化四類,並把所有環境成果保持為未證實。
- 停止條件
- 不得連接 KNX bus;不得傳送 telegram;不得群組讀寫;不得實體控制。
- 隔離、書面核准、停損或回復證據不完整。
範圍與安全界線
分類票不是執行許可。本章不連線、不啟動、不重新載入、不變更,也不收集現場結果。提案含多個動作時,必須拆開,並採其中最嚴格的類別。
- 安全:只限離線唯讀固定來源,或完全不存取執行環境的占位工作;不得啟動 daemon、接觸端點或裝置,也不得傳送 KNX telegram。
- 隔離測試:只可在另案已有明確書面核准、非正式測試環境、管理員在場、有限網路暴露與已驗證停損還原計畫時評估。實體隔離測試 bus 僅限另行核准且確實需要它的演練;只做生命週期演練時,所有 KNX 介面、USB/裝置映射、實體 bus、正式 KNX 網路、ETS 專案與實體負載都必須斷開。缺一項就不能進入。
- 需核准:任何查看或變更執行中環境的提案,都要先有明確書面核准、限定維護範圍與資料去識別。即使只對 live/running 環境做唯讀查看,也屬需核准,不會自動成為安全;此類不得傳送 KNX telegram,不得執行 ETS 動作,也不得實體控制。
- 永不自動化:教材或自動化在任何情況下都不得群組讀取,不得群組寫入,不得傳送 telegram,不得執行 ETS programming/download,不得連接 KNX 介面或 bus,不得收集或發布環境識別資料,也不得實體控制;測試 bus 也不例外。沒有任何閘門可改變此分類。
加入 repository、安裝或啟動還必須同時具備隔離測試全部閘門,以及核准的 immutable artifact/image digest 與 source-to-build attestation。條件不完整就停止;本章不執行這些動作。
核心概念
先拆開,再分類。一個好聽的提案名稱,不能遮住裡面的高風險動作。
四個安檢托盤
先這樣想:你把提案中的每個動作分別放進四個托盤。安全托盤可留在紙上處理;隔離測試托盤要先滿足完整閘門;需核准托盤要先取得限定許可;永不自動化托盤直接封存,不能交給工具執行。
正式名稱:safe 安全、isolated-test 隔離測試、approval-required 需核准、never-automate 永不自動化的動作矩陣。
分類看的是原子動作,不是提案標題。只要一項工作混入更嚴格的動作,整項工作就先停下來拆分。無法判斷時,不得放進安全類。
證據也有上限。文件只證明文件內容;核准只證明範圍獲准;隔離計畫只證明準備條件。它們都不證明 daemon、listener、KNX bus、ETS 或 Home Assistant 整合有成果。
準備與前置條件
先做一張完全離線的分類票。任何欄位不明,就寫「未知並停止」。
- 目的與非目標:用一句話寫要回答什麼,以及明確不碰哪些系統。
- 原子動作:每列只能有一個離線閱讀、live/running 環境查看、變更或傳送類動作;不可把兩種閱讀混為安全。
- 環境邊界:寫離線、隔離候選或執行中環境,不填識別資料。
- 核准證據:寫核准角色、範圍與期限;口頭同意不算。
- 隔離證據:寫實體隔離、非正式設備、無實體負載與正式環境斷開。
- 停損與還原:先寫觸發條件、基準、責任角色與升級方式。
- 證據上限:先寫完成後最多能說什麼,以及一定不能說什麼。
分段步驟
走完流程仍然不會執行任何動作。
- 寫下最小問題。移除預設現場成果的句子,只留下要審閱的問題。
- 拆成原子動作。把閱讀、查看、變更、啟動與傳送分列;沒有拆清楚就停止。
- 先抓永不自動化。不得群組讀寫,不得傳送 telegram,不得執行 ETS programming/download,也不得實體控制;任何一項出現時,都標記永不自動化並移除。
- 判斷需核准。凡是查看或變更 live/running 環境,都標成需核准;唯讀查看也不例外。缺少明確書面核准、限定範圍或去識別計畫就停止。
- 檢查隔離測試閘門。逐項核對明確書面核准、非正式測試環境、管理員在場、有限網路暴露與已驗證停損還原計畫。只做生命週期演練時,所有 KNX 介面、裝置映射、實體 bus、正式網路、ETS 專案與實體負載均列為保持斷開;加入、安裝或啟動另需核准的 immutable provenance。
- 確認安全類。只有離線唯讀固定來源,或完全不存取執行環境且沒有副作用的占位工作,才可標成安全。
- 封存分類票。記下停止理由、證據上限與未決項目,並標明「尚未執行」。
驗證與證據
合格的分類票能在執行前阻止錯誤動作。它不包含命令、測試程序或執行結果。
- 每個原子動作只有一個四類標籤,衝突時採更嚴格類別。
- 安全類全部是離線唯讀固定來源,或完全不存取執行環境且無副作用的占位工作。
- 隔離測試的明確核准、非正式環境、管理員、有限網路暴露、斷開條件、停損與還原閘門逐項可見。
- 需核准類有明確書面核准、限定範圍與去識別要求;live/running 環境的唯讀查看也列在此類。
- 永不自動化事項已移除,沒有指令或替代測試方法。
- 所有環境、bus、ETS 與 Home Assistant 整合成果都維持未證實。
下一步:前往第 17 章,整理備份與還原的紙上治理界線。
故障排除
- 一列同時像兩種類別:拆成更小動作,並先套用較嚴格類別。
- 只有口頭同意:視為沒有核准,保持停止。
- 只有邏輯隔離:不能算隔離測試;必須符合 canonical 隔離閘門。只做生命週期演練時,所有 KNX 介面、裝置映射、實體 bus、正式網路、ETS 專案與負載都要斷開。
- 沒有還原基準:不得進入任何變更候選,先補紙上計畫。
- 加入或安裝缺少 provenance:停止,不加入 repository、不安裝、不啟動。
- 有人想把禁止動作改成手動腳本:拒絕。換工具不會改變永不自動化分類。
- 分類票開始出現測試結果:移除結果。本章只做執行前分類。
常見問題
進階補充:固定來源支持的是診斷概念,不是現場結果
鎖定的 knxd 文件可支持文件化的驅動診斷與啟動失敗概念;Add-on 文件可支持公開證據與截圖去識別邊界。兩者都不能授權執行,也不能證明 adapter、daemon、listener、KNX bus、ETS 或 Home Assistant 整合的狀態。
取得核准後,永不自動化會變成需核准嗎?
不會。核准不能改變永不自動化的固定意義。
非正式設備就算隔離測試嗎?
不算。所有隔離、核准、範圍、停損與還原閘門都必須齊全。
安全類可以開啟 daemon 或唯讀查看執行中環境嗎?
不可以。安全類只限離線唯讀固定來源,或完全不存取執行環境的占位工作;live/running 環境即使唯讀查看也屬需核准。
分類完成是否表示可以開始?
不表示。分類票不是執行授權。
可以先跑一下再補停損計畫嗎?
不可以。所有閘門都必須在任何動作前完成。
本章會產生任何測試證據嗎?
不會。它只產生尚未執行的分類與停止紀錄。
證據與來源
證據類別:source-bounded
功能對照:documented-driver-diagnostic-states、screenshot-evidence-boundary
固定來源只支持文件所述範圍;本頁不代表任何本機、硬體、網路或 KNX 匯流排驗證結果。