# 5.2.8.2.1 TC_eUICC_Enable_Disable_Delete_Notifications — `-man` ↔ `-cas` diff 报告
> **交付形态说明**：本报告随专家交付包分发——`-man`/`-cas` 脚本包 zip 与 190server HTML 执行日志已内联至 `packages/`、`evidence-html/`，相应路径已相对化；TTR、spec_intl、caseir 等仓内留痕仍为生成机原始路径（未随包）。

- 生成时间：2026-10-08 22:57:12 ｜引擎：holiday-blk5/0.1｜配对状态：`PAIRED`
- 分母口径：卡侧 61 之一

## 1. 配对与包

| 侧 | 包/源 | sha256 | 源类型 | 入口用例 |
|---|---|---|---|---|
| `-man` | 5.2.8.2.1-TC_eUICC_Enable_Disable_Delete_Notifications-man.zip | `ff3d0c51859da3e8744c235b4b5a4f06073f69069c146717e6fb1f4f2a647992` | zip | TC_eUICC_Enable_Disable_Delete_Notifications_01_Nominal_Multiple_Enable_Disable_and_Delete_Notifications |
| `-cas` | 5.2.8.2.1-TC_eUICC_Enable_Disable_Delete_Notifications-cas.zip | `c7ac8e0e86ce224b908ddeb156825d3d960469c1c5bcbab3527d81f324b69a95` | zip | — |

- man 源路径：`../../packages/man/5.2.8.2.1-TC_eUICC_Enable_Disable_Delete_Notifications-man.zip`
- cas 源路径：`../../packages/cas/5.2.8.2.1-TC_eUICC_Enable_Disable_Delete_Notifications-cas.zip`
- 上游来源：{"man_ledger": true, "cas_ledger": true, "naming_map": true, "html_probe": true, "man_package": true, "cas_package": true}
- 适用性：naming-map=`M` ["M", "M", "M", "M", "M"]；caseir=`M`

## 2. 执行摘要（双方 job/终态）

| 侧 | 终态/计划 | 备注 | ErrorCount | job_id | 业务状态 | TTR | 诊断包 |
|---|---|---|---|---|---|---|---|
| `-man` | `ok` | `_ok` 复用（结构 A1-A7 PASS；`_ok` run 无厂商错误行） | 0 | `20260909_001350_ok:1fb34a0248904fe0b735bf2cbfc7f820` | — | `/Users/yuhu/cas/原料/切片/5.2.8.2.1-TC_eUICC_Enable_Disable_Delete_Notifications/logs/20260909_001350_ok/result/ESIM_TEST_SGP_23/TC_eUICC_Enable_Disable_Delete_Notifications_01_Nominal_Multiple_Enable_Disable_and_Delete_Notifications.ttr` | `—` |
| `-cas` | `failed` | 纯 native 零卡态前置（N0） | 13 | `e5bdb37342724ac8a37f6a8314507ad5` | — | `/Users/yuhu/cas/experiments/5.2.8.2.1-TC_eUICC_Enable_Disable_Delete_Notifications-20261004_022948/logs/e5bdb37342724ac8a37f6a8314507ad5/result/TC_eUICC_Enable_Disable_Delete_Notifications/TC_eUICC_Enable_Disable_Delete_Notifications_01_merged.ttr` | `—` |
- cas 块4账本：decision=`RERUN`；route=`native_N0`；live 事件 1 条（4.6 波次进行中；以块4终版账本为准）
- cas 4.6 波次最新执行：terminal=`failed`；stage=`verify`；job=`e5bdb37342724ac8a37f6a8314507ad5`；gaps=["trace verdict=FAIL", "结果通道 verdict='FAIL'"]
- cas 失败归因引用（块4）：`b8-attribution.md`
- cas 证据来源分层：`RERUN` → 本轮 4.6 波次执行

## 3. HTML 执行日志状态

- `-man`：**NATIVE**（`../../evidence-html/5.2.8.2.1/man/TC_eUICC_Enable_Disable_Delete_Notifications_01_Nominal_Multiple_Enable_Disable_and_Delete_Notifications.html`；sha256 `d6ab7d52732a3b65fa8e1f368abe7308ca3686f8b26b5aa5686a73f9b60252db`；300283 bytes）
- `-cas`：**NATIVE**（`../../evidence-html/5.2.8.2.1/cas/TC_eUICC_Enable_Disable_Delete_Notifications_01_merged.html`；sha256 `42c8d1646339ce94770ec4e384e19e370cfddaf1e3b8bc98bce631c3f41392b3`；22192 bytes）
- 纪律：原生缺失 → `HTML_UNAVAILABLE` 显式阻断（附探针结论）；派生件仅标 `DERIVED_NOT_NATIVE`，不冒充原生。

## 4. L1 脚本/依赖/命名差异（源文件闭包级）

- 闭包规模：man 34 文件 / cas 82 文件；同名 31（字节同 30，内容异 1）
- 同名内容异：`Import/TestCase_SGP_23.js`
- man-only 文件 3：`ESIM_TEST_SGP_23.UCE`, `ESIM_TEST_SGP_23.sol`, `MANIFEST.json`
- cas-only 文件 51：`Import/CapInfo.js`, `Import/ExecuteTestCase.js`, `Import/ExecuteTestCase_CSC.js`, `Import/ExecuteTestCase_LoadProfile_via_bip.js`, `Import/ExecuteTestCase_Local_Management.js`, `Import/ExecuteTestCase_Non_Telecom_Profile.js`, `Import/ExecuteTestCase_Performance.js`, `Import/ExecuteTestCase_PressureTest.js`, `Import/ExecuteTestCase_ProfileFormatTest_V_2_3_1.js`, `Import/ExecuteTestCase_ProfileServicesListTest.js` …
- 注：man 包＝切片最小闭包（`script/` 投影）；cas 包＝slice_native 全工程投影（厂商参照闭包＋生成体）。闭包规模差为打包形态差异；同名文件字节差集中于 `Import/TestCase_SGP_23.js`（TC 入口本体）。

### 4.1 入口代码对照

- 行数：man 191 / cas 178；字符：man 11351 / cas 12737
- man 顶层调用 Top：[["CheckData", 28], ["TestStepStart", 10], ["TestStepStart2", 10], ["EnCodeInteger_Ber", 5], ["parseInt", 5], ["GenHexData", 3], ["LPAd_Transport_data_to_eUICC", 3], ["ES10b_ListNotification", 3], ["Update_Max_seqNumber_Of_Notification", 3], ["SubLevel", 3]]
- cas bind 调用：[["checkData", 17], ["sendApdu", 6], ["resetAndAtr", 1], ["runToSteadyState", 1], ["sendTerminalProfile", 1], ["manageChannelOpen", 1]]

| 方言映射对 | 命中数 |
|---|---|
| TS_*_cmd() ↔ bind.* 命令封装 | 4 |

<details><summary>unified diff（截断预览）</summary>

```diff
--- man
+++ cas
@@ -1,190 +1,177 @@
-// slice of Import\TestCase_SGP_23.js - cases: TC_eUICC_Enable_Disable_Delete_Notifications_01_Nominal_Multiple_Enable_Disable_and_Delete_Notifications (extracted verbatim)
+// Author: 卡思Cas智能体
+// Date: 20261004-022948
+// Function: （purpose 原文未由 SGP.23 该 TC 提供，corpus vacuum 登记）TC_eUICC_Enable_Disable_Delete_Notifications，Test Sequence #01 Nominal: Multiple Enable, Disable and Delete Notifications（本 TC 单条 Test Sequence），适用性 M。
+// Test points: ICH-IC1-K1-C1 ATR_present；ICH-IC1-K2-C2 FCP_Template；ICH-IC1-K2-C4 SW
+//   ICH-IC1-K3-C4 SW；ICH-IC1-K4-C4 final SW；ICH-IC2-K1-C4 SW；ICH-IC2-K1-C3 CHANNEL_NUMBER extracted
+//   ICH-IC2-K2-C4 SW；S4-C1 SW
+//   S4-C2 响应 = #R_LIST_NOTIF_EN1_EN1：ListNotificationResponse ::= noti branch/count
+//   S4-C2 响应 = #R_LIST_NOTIF_EN1_EN1：ListNotificationResponse ::= noti element fields；S9-C1 SW
+//   S9-C2 响应 = #R_LIST_NOTIF_DI1_DI1：ListNotificationResponse ::= noti branch/count
+//   S9-C2 响应 = #R_LIST_NOTIF_DI1_DI1：ListNotificationResponse ::= noti element fields；S12-C1 SW
+//   S12-C2 响应 = #R_LIST_NOTIF_DE1_DE1：ListNotificationResponse ::= noti branch/count
+//   S12-C2 响应 = #R_LIST_NOTIF_DE1_DE1：ListNotificationResponse ::= noti element fields
+// 本函数由 CaseIR 5.2.8.2.1 编译生成（5.2.8.2.1-TC_eUICC_Enable_Disable_Delete_Notifications-20261004_022948，SGP.23 v1.16 × SGP.22 v2.7）：字节权威=CaseIR，非誊录黄金脚本。
+// Value-free template: every data byte is injected from CaseIR fields; no scaffold globals (see docs/speconly/compile-symbol-migration.md).
+// 适用性 M：编译期门，运行时由 harness 环境前置承担。
+function TC_eUICC_Enable_Disable_Delete_Notifications_01_merged() {
+    var bind = curBind;
+    // GEN-IC-1 卡态声明（E 段 General Initial Conditions，编排责任）：The PROFILE_OPERATIONAL1 with #METADATA_EN_DI_DE_NOTIFS is loaded on the eUICC: declared unexpanded (non-PROC row or K corpus vacuum; see CaseIR open_items).
+    // GEN-IC-2 卡态声明（E 段 General Initial Conditions，编排责任）：The PROFILE_OPERATIONAL1 is Disabled: declared unexpanded (non-PROC row or K corpus vacuum; see CaseIR open_items).
+    // GEN-IC-3 卡态声明（E 段 General Initial Conditions，编排责任）：No Notification is stored in the eUICC's Pending Notifications List: declared unexpanded (non-PROC row or K corpus vacuum; see CaseIR open_items).
 
-function TC_eUICC_Enable_Disable_Delete_Notifications_01_Nominal_Multiple_Enable_Disable_and_Delete_Notifications()
-{
+    // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 1)：RESET（K 语料机械展开）
+    var s13 = bind.resetAndAtr();
+    bind.checkData("ICH-IC1-K1-C1 ATR_present", "1", s13.atr_hex !== "" ? "1" : "0");
 
-	tracenamestr = "验证当执行本地Profile管理操作（即激活、禁用和删除Profile）时，eUICC会生成所有在notificationConfigurationInfo中已配置的通知。";
-	curDis.TraceStart(sno++,tracenamestr);
+    // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 2)：SELECT_MF（K 语料机械展开）
+    // FCP outer tag not materialized from clause: tag-face asserted only when corpus fixes the tag byte (e.g. TS 102 221 FCP '62').
+    var s14 = bind.sendApdu("00", "A4", "00", "04", "3F00", "00", "9000");
+    bind.checkData("ICH-IC1-K2-C2 FCP_Template", "1", s14.resp.length > 0 ? "1" : "0");
+    bind.checkData("ICH-IC1-K2-C4 SW", "9000", s14.sw);
 
-	curDis.TestStepStart("eUICC卡片初始化；");
-	Ini_powerOn_eUICC_LPAe_not_activate();
+    // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 3)：TERMINAL_CAPABILITY_LPAd（K 语料机械展开）
+    var s15 = bind.sendApdu("80", "AA", "00", "00", "A9058100830107", null, "9000");
+    bind.checkData("ICH-IC1-K3-C4 SW", "9000", s15.sw);
 
-	curDis.TestStepStart("读卡器向卡片发送MANAGE_CHANNEL命令，打开辅助逻辑通道；");
-	TS_MANAGE_CHANNEL_OPEN();
+    // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 4)：TERMINAL_PROFILE（K 语料机械展开）
+    var steady16 = bind.runToSteadyState(function () {
+        return bind.sendTerminalProfile("FFFFFFFF7F9D00DFBF00001FE2000000C7EB0000000168005000000000000200", "9000");
+    });
+    bind.checkData("ICH-IC1-K4-C4 final SW", "9000", steady16.final.sw);
 
-	curLogicChannel = 1;
+    // IC head inline (initial_conditions → PROC_OPEN_LOGICAL_CHANNEL_AND_SELECT_ISDR, K row 1)：MANAGE_CHANNEL_OPEN（K 语料机械展开）
+    // CHANNEL_NUMBER extraction and dynamic CLA rebinding are CasBind internal state (chaining rule; no generated-code re-implementation).
+    var s17 = bind.manageChannelOpen("9000");
+    bind.checkData("ICH-IC2-K1-C4 SW", "9000", s17.sw);
+    bind.checkData("ICH-IC2-K1-C3 CHANNEL_NUMBER extracted", "1", s17.chan !== null ? "1" : "0");
 
-	curDis.TestStepStart("读卡器向卡片发送SELECT命令，选择ISD-R；");
-	TS_SELECT("Select ISD",ISD_R_AID,"9000");
+    // IC head inline (initial_conditions → PROC_OPEN_LOGICAL_CHANNEL_AND_SELECT_ISDR, K row 2)：MTD_SELECT（K 语料机械展开）
+    // CLA = bound channel (cla_rule) and <L> length binding are CasBind internal state (chaining rule; no generated-code re-implementation).
+    var s18 = bind.sendApdu(null, "A4", "04", "00", "A0000005591010FFFFFFFF8900000100", null, "9000");
+    // MTD_SELECT expected face is SW-only (K Annex C.2 open-channel procedure step 2: no FCI content assertion in corpus); no fabricated template parse.
+    bind.checkData("ICH-IC2-K2-C4 SW", "9000", s18.sw);
 
-	curDis.TestStepStart("读卡器向卡片发送 StoreData命令，执行GetEuiccInfo1Request；");
-	var Profile_load_procedure = new RSP_profile_load_procedure_LPAd(PROFILE_OPERATIONAL1_DATA);
-	Profile_load_procedure.ICCID = ICCID_OP_PROF1;
-	Profile_load_procedure.ES10b_GetEUICCInfo1();
+    // 步骤 1：Enable PROFILE_OPERATIONAL1（tc_step）
+    // card-state orchestration declaration (no APDU face): execution is
+    // the batch card_state prep framework's responsibility (4227 ruling B
+    // same-family scope; ensure_profile_state / prep_packager);
+    // no fabricated bytes emitted here; see CaseIR unresolved/open_items.
 
-	curDis.TestStepStart("读卡器向卡片发送 StoreData命令，执行GetEuiccChallengeRequest；");
-	Profile_load_procedure.ES10b_GetEUICCChallenge();
+    // 步骤 2：PROC_EUICC_INITIALIZATION_SEQUENCE（procedure_expansion）
+    // E 表验证性 PROC（K 过程体缺席）：oracle 缺席诚实面——期望=声明面
+    // spec 引用、实际=proc_expansion_absent（如实计错，不伪造通过）。
 
-	curDis.TestStepStart("读卡器向卡片发送 StoreData命令，执行AuthenticateServerRequest；");
-	Profile_load_procedure.ES10b_AuthenticateServer();
+    // 步骤 3：PROC_OPEN_LOGICAL_CHANNEL_AND_SELECT_ISDR（procedure_expansion）
+    // E 表验证性 PROC（K 过程体缺席）：oracle 缺席诚实面——期望=声明面
+    // spec 引用、实际=proc_expansion_absent（如实计错，不伪造通过）。
 
-	curDis.TestStepStart("读卡器向卡片发送 StoreData命令，执行PrepareDownloadRequest；");
-	Profile_load_procedure.ES10b_PrepareDownload();
+    // 步骤 4：MTD_STORE_DATA（tc_step；REQ: RQ57_135_6）
+    // <L> length binding and the conditional 61XX + GET RESPONSE chain (D.4.2) are CasBind internal state (chaining rule).
+    var sdCla4 = s17.chan !== null ? (s17.chan <= 3 ? 128 + s17.chan : 188 + s17.chan).toString(16).toUpperCase() : null;
+    var s4 = bind.sendApdu(sdCla4, "E2", "91", "00", "BF2804810204F0", "00", "9000");
+    bind.checkData("S4-C1 SW", "9000", s4.sw);
+    // notification-list 响应面（TC_eUICC_Enable_Disable_Delete_Notifications，SGP.22 §5.7.9 结构 + vendor ABI 分支锚；断言参数经 spec_pattern 子句注入）：
+    var lw4T = BindEs10xSingleRequest.parseBerTlv(s4.resp);
+    var lw4Ok0 = lw4T.length === 1 && lw4T[0].tag === "BF28";
+    var lw4_br = lw4Ok0 ? BindEs10xSingleRequest.parseBerTlv(lw4T[0].value) : [];
+    var lw4_brtag = lw4_br.length === 1 ? lw4_br[0].tag : "";
+    var lw4_els = lw4_brtag === "A0" ? BindEs10xSingleRequest.parseBerTlv(lw4_br[0].value) : [];
+    bind.checkData("S4-C2 响应 = #R_LIST_NOTIF_EN1_EN1：ListNotificationResponse ::= noti branch/count", "1", (lw4_brtag === "A0" && lw4_els.length === 2) ? "1" : "0");
+    var lw4_fok = lw4_brtag === "A0" && lw4_els.length > 0;
+    for (var lw4i = 0; lw4i < lw4_els.length; lw4i++) {
+        if (lw4_els[lw4i].tag !== "BF2F") { lw4_fok = false; continue; }
+        var lw4M = BindEs10xSingleRequest.parseBerTlv(lw4_els[lw4i].value);
+        var lw4_f = {};
+        for (var lw4j = 0; lw4j < lw4M.length; lw4j++) {
+            if (lw4_f[lw4M[lw4j].tag] === undefined) { lw4_f[lw4M[lw4j].tag] = lw4M[lw4j].value; }
+        }
+        if (lw4_f["80"] === undefined) { lw4_fok = false; }
+        if (lw4_f["81"] !== "0640") { lw4_fok = false; }  // operation
+        if (lw4_f["5A"] !== "989209012143658709F5") { lw4_fok = false; }  // iccid
+    }
+    bind.checkData("S4-C2 响应 = #R_LIST_NOTIF_EN1_EN1：ListNotificationResponse ::= noti element fields", "1", lw4_fok ? "1" : "0");
 
-	curDis.TestStepStart("读卡器向卡片发送 StoreData命令，执行GetEuiccDataRequest(GetEID)；");
-	Profile_load_procedure.ES10b_GetEID();
…（差异行超限，共 351 行，此处截断）
```

</details>
### 4.2 UCE/命名对照

- man：`ESIM_TEST_SGP_23.UCE`；入口 [('TC_eUICC_Enable_Disable_Delete_Notifications_01_Nominal_Multiple_Enable_Disable_and_Delete_Notifications', 'eUICC Notifications', 'Import\\\\ExecuteTestCase_SGP_23.js(TC_eUICC_Enable_Disable_Delete_Notifications_01_Nominal_Multiple_Enable_Disable_and_Delete_Notifications)')]；参数 {"ReaderName": "Identiv SCR35xx USB Smart Card Reader 0"}
- cas：`TC_eUICC_Enable_Disable_Delete_Notifications/TC_eUICC_Enable_Disable_Delete_Notifications.uce`；入口 [('TC_eUICC_Enable_Disable_Delete_Notifications_01_merged', 'TC_eUICC_Enable_Disable_Delete_Notifications', 'Import\\\\ExecuteTestCase_spec.js(TC_eUICC_Enable_Disable_Delete_Notifications_01_merged)')]；参数 {"ReaderName": "Identiv SCR35xx USB Smart Card Reader 0"}

## 5. L2 步骤/APDU/step_map 差异（结构化对齐）

- 命令计数：man 129 / cas 16；精确对齐 7，核心（CLA·INS·P1·P2·Lc）同 5，man-only 117，cas-only 4

| # | `-man` | `-cas` | 对齐 |
|---|---|---|---|
| 1 | `@RESET` | `@RESET` | exact |
| 2 | `00A40004023F00` | `00A40004023F0000` | core_same |
| 3 | `00C0000020` | `00C0000020` | exact |
| 4 | `80AA000007A9058100830137` | `80AA000007A9058100830107` | core_same |
| 5 | `801200000F` | `801200000F` | exact |
| 6 | `801400000C810301250082028281830100` | `801400000C810301250082028281830100` | exact |
| 7 | `0070000001` | `0070000001` | exact |
| 8 | `01A4040010A0000005591010FFFFFFFF8900000100` | `01A4040010A0000005591010FFFFFFFF8900000100` | exact |
| 9 | `01C0000021` | `01C0000021` | exact |
| 10 | `81E2910007BF3004800200E8` | `81E2910007BF2804810204F000` | core_same |
| 11 | `81E2910007BF3004800200E9` | `81E2910007BF2804810204F000` | core_same |
| 12 | `81E2910007BF3004800200E7` | `81E2910007BF2804810204F000` | core_same |
| — | man-only: `8010000023FFFFFFFF7F9D00DFBF00001FE20000…0000038`, `0070000000`, `81E2910003BF2000`, `01C00000A9`, `81E2910003BF2E00`, `01C0000015`, `81E21100FFBF388202F030498010AE6B1A934F18…7525350`, `81E21101FF54455354310B300906035504061302…603551D`, `81E29102F71104073005880388370A300E060355…3000010`, `01C0000000`, `01C0000000`, `01C0000000` | | |
| — | | cas-only: `8010000020FFFFFFFF7F9D00DFBF00001FE20000…0000200`, `81C0000005`, `81C0000005`, `81C0000005` | | |

## 6. L3 规范字段/Expected/REQ/通过条件差异

- spec：/Users/yuhu/cas/原料/切片/5.2.8.2.1-TC_eUICC_Enable_Disable_Delete_Notifications/spec_intl/SGP.23-v1.16_5.2.8.2.1_Enable_Disable_Delete_Notifications.md（风格：table）；caseir：`/Users/yuhu/cas/experiments/5.2.8.2.1-TC_eUICC_Enable_Disable_Delete_Notifications-20261008_020421/caseir_materialized_gate.json`

| 步 | 规范动作 | Expected 片段 | 规范 REQ | cas 检查 | cas REQ | man 实现 | man 结果 |
|---|---|---|---|---|---|---|---|
| 2 |  | 0 | [] | [] | [] | T1 L100-108：遍历 seqNumber 逐条 `ES10b_RemoveNotificationFromLis | 通过（删除链全 00，L335/L343 期望=实际） |
| 3 |  | 0 | [] | [] | [] | T1 L111-118：DisableProfileRequest＋断言 `BF3203800100`（L118） | 通过（APDU339 实际 `BF3203800100`，期望=实际 L352-353） |
| 7 |  | 0 | [] | [] | [] | T1 L145-153 | 通过（L391/L399 期望=实际 00） |
| 8 |  | 0 | [] | [] | [] | T1 L156-162：DeleteProfileRequest＋断言 `BF3303800100`（L162） | 通过（APDU395 实际 `BF3303800100`，期望=实际 L408-409） |

### 6.1 充分性分析（启发式，不作最终裁定）

- cas：`NO_MECHANICAL_GAPS`（全步有检查=True；REQ 全覆盖=True；ErrorCount==0=False）
- cas 物化核对（启发式旁证，权威见下行 attestation）：声明检查 6 项 / 生成体 checkData 17 次 / S 标号重合 6 / 计数缺口 0 / 形态 `FULL`；执行面 `FAIL`（计数缺口须结合绑定层隐含断言核验，非直接判缺陷）
- **cas 编译器自证（check_attestation，同批构建）**：声明 None = js 14 + binding 0 + gap 0；缺口判定以本行为权威（启发式计数仅旁证）
- man：mapping 行 10 / 规范步 4；TTR 期望/实际回声 258；厂商工具内置审计（TTR 期望/实际回声行为证据）；脚本字节级充分性不可完全外部验证
- caseir open_items：
  - 卡态一般初始条件（未编码为可执行步骤）：PROFILE_OPERATIONAL1 带 #METADATA_EN_DI_DE_NOTIFS 装载于 eUICC；PROFILE_OPERATIONAL1 处于 Disabled 状态；eUICC Pending Notifications List 为空。属卡态编排责任。
  - IC1/IC2 的 PROC 过程引用仅保留 initial_conditions 声明（procedure + expansion_source），过程内 APDU 序列（RESET/[SELECT_MF]/[TERMINAL_CAPABILITY_LPAd]/[TERMINAL_PROFILE]/[MANAGE_CHANNEL_OPEN]/MTD_SELECT(#ISD_R_AID)）按 Annex C.2 由测试工具展开，不内联进 steps。
  - Enable/Disable Profile 可能触发 REFRESH 主动命令：ES10x 传输可能返回 '91 XX'，需 FETCH + TERMINAL RESPONSE 编排；该刷新编排未在 TC 步骤表明文。
  - 'Remove all the pending notifications' 为复合动作：需先检索 seqNumber（MTD_RETRIEVE_NOTIF_SEQ_NUM）再逐一 MTD_REMOVE_NOTIF；TC 未给出展开步骤。
  - 通知数量上界：NOTE 说明本序列同时测试的 Notification 最大数量设为 2（SGP.21/SGP.22 未规定 eUICC 可存储通知数的下限）。

## 7. 分类结论（封闭枚举）

| 轴 | 计数 | 说明 |
|---|---|---|
| `RUN_DIFF` | 1 | man 通过 / cas 失败 |
| `SCRIPT_DIALECT` | 175 | 闭包文件差：man-only 3 / cas-only 51；命令序列差：man-only 117 / cas-only 4 |

- 置信度：heuristic；需人工复核：False

## 8. 证据路径

- man 包：`../../packages/man/5.2.8.2.1-TC_eUICC_Enable_Disable_Delete_Notifications-man.zip`
- man TTR：`/Users/yuhu/cas/原料/切片/5.2.8.2.1-TC_eUICC_Enable_Disable_Delete_Notifications/logs/20260909_001350_ok/result/ESIM_TEST_SGP_23/TC_eUICC_Enable_Disable_Delete_Notifications_01_Nominal_Multiple_Enable_Disable_and_Delete_Notifications.ttr`
- cas 包/源：`../../packages/cas/5.2.8.2.1-TC_eUICC_Enable_Disable_Delete_Notifications-cas.zip`
- cas TTR：`/Users/yuhu/cas/experiments/5.2.8.2.1-TC_eUICC_Enable_Disable_Delete_Notifications-20261004_022948/logs/e5bdb37342724ac8a37f6a8314507ad5/result/TC_eUICC_Enable_Disable_Delete_Notifications/TC_eUICC_Enable_Disable_Delete_Notifications_01_merged.ttr`
- spec_intl：`/Users/yuhu/cas/原料/切片/5.2.8.2.1-TC_eUICC_Enable_Disable_Delete_Notifications/spec_intl/SGP.23-v1.16_5.2.8.2.1_Enable_Disable_Delete_Notifications.md`
- caseir：`/Users/yuhu/cas/experiments/5.2.8.2.1-TC_eUICC_Enable_Disable_Delete_Notifications-20261008_020421/caseir_materialized_gate.json`
- step_map：`—`

