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

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

## 1. 配对与包

| 侧 | 包/源 | sha256 | 源类型 | 入口用例 |
|---|---|---|---|---|
| `-man` | 4.2.27.2.1-TC_eUICC_ES10b.GetRAT-man.zip | `06ef89911771d5b0614ab0749006dc714d172c55dcd30e358e6fcaad4d921f66` | zip | TC_eUICC_ES10c_GetRAT_01 |
| `-cas` | 4.2.27.2.1-TC_eUICC_ES10b.GetRAT-cas.zip | `2d5c18a63e79d571bb4da94479fe6e4b3067d316d78cee094ebb3e00b96434eb` | zip | — |

- man 源路径：`../../packages/man/4.2.27.2.1-TC_eUICC_ES10b.GetRAT-man.zip`
- cas 源路径：`../../packages/cas/4.2.27.2.1-TC_eUICC_ES10b.GetRAT-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 | `20261007_132542:de798e97d13c4384afbec7a40a8f6a9b` | — | `/Users/yuhu/cas/原料/切片/4.2.27.2.1-TC_eUICC_ES10b.GetRAT/logs/20260907_120430_ok/extracted/ESIM_TEST_SGP_23/TC_eUICC_ES10c_GetRAT_01.ttr` | `—` |
| `-cas` | `failed` | 纯 native 零卡态前置（N0） | 19 | `8517794185134aaca8b461dd3605f3d2` | — | `/Users/yuhu/cas/experiments/4.2.27.2.1-TC_eUICC_ES10b.GetRAT-20260928_043958/logs/8517794185134aaca8b461dd3605f3d2/result/TC_eUICC_ES10b_GetRAT/TC_eUICC_ES10b_GetRAT_01_02_merged.ttr` | `—` |
- cas 块4账本：decision=`RERUN`；route=`native_N0`；live 事件 1 条（4.6 波次进行中；以块4终版账本为准）
- cas 4.6 波次最新执行：terminal=`failed`；stage=`verify`；job=`8517794185134aaca8b461dd3605f3d2`；gaps=["trace verdict=PASS", "结果通道 verdict='FAIL'"]
- cas 失败归因引用（块4）：`b2-attribution.md`
- cas 证据来源分层：`RERUN` → 本轮 4.6 波次执行

## 3. HTML 执行日志状态

- `-man`：**NATIVE**（`../../evidence-html/4.2.27.2.1/man/TC_eUICC_ES10c_GetRAT_01.html`；sha256 `0c2685e36fb7e682c2b4aecdfd57c6c07b48e8082c9ac3474e40b15c1d4ed88b`；78182 bytes）
- `-cas`：**NATIVE**（`../../evidence-html/4.2.27.2.1/cas/TC_eUICC_ES10b_GetRAT_01_02_merged.html`；sha256 `8c620d1a12db8bcd8a446d0bb1e3ac17021e5abf832300e5d4f1fafb07a0cc33`；23624 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 63 / cas 97；字符：man 2084 / cas 8703
- man 顶层调用 Top：[["TestStepStart2", 9], ["LPAd_Transport_data_to_eUICC", 3], ["CheckData", 3], ["TC_eUICC_ES10c_GetRAT_02_Nominal_With_additional_PPARs", 2], ["TraceStart", 2], ["Ini_powerOn_eUICC_LPAe_not_activate", 2], ["TS_MANAGE_CHANNEL_OPEN", 2], ["TS_SELECT", 2], ["RecoverCard", 2], ["TC_eUICC_ES10c_GetRAT_01", 1]]
- cas bind 调用：[["checkData", 27], ["sendApdu", 5], ["resetAndAtr", 1], ["runToSteadyState", 1], ["sendTerminalProfile", 1], ["manageChannelOpen", 1]]

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

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

```diff
--- man
+++ cas
@@ -1,62 +1,96 @@
-// slice of Import\TestCase_SGP_23.js - cases: TC_eUICC_ES10c_GetRAT_01 + TC_eUICC_ES10c_GetRAT_02_Nominal_With_additional_PPARs (extracted verbatim)
+// Author: 卡思Cas智能体
+// Date: 20260928-201725
+// Function: （purpose 原文未由 SGP.23 该 TC 提供，corpus vacuum 登记）TC_eUICC_ES10b.GetRAT，Test Sequence #01 Nominal: Get Default RAT; #02 Nominal: With additional PPARs，适用性 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；S1-C1 SW；S1-C2 GetRatResponse outer tag；S1-C2 rat member count 1
+//   S1-C2 rat value-order equality；S1-C3 PPRS_ALLOWED DER
+//   S1-C4 RQ57_182 order vacuous (single PPAR)；S1-C5 RQ57_181 response well-formed TLV outer BF43
+//   S1-C6 RQ57_180 command data；S2-C1 SW；S2-C2 GetRatResponse outer tag；S2-C2 rat member count 4
+//   S2-C2 rat value-order equality；S2-C3 PPR1_WITH_OWNER_GID DER；S2-C4 PPR1_WITHOUT_GID DER
+//   S2-C5 PPR2_WITHOUT_CONSENT DER；S2-C6 PPRS_ALLOWED DER
+//   S2-C7 RQ57_182 stored order (carried by rat_eq ordered equality)；S2-C8 RQ57_180 command data
+//   S2-C9 RQ57_181 response well-formed TLV outer BF43
+// 本函数由 CaseIR 4.2.27.2.1 编译生成（Q3-W0-PILOT，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_ES10b_GetRAT_01_02_merged() {
+    var bind = curBind;
 
-function TC_eUICC_ES10c_GetRAT_01()
-{
-	tracenamestr = "测试目的：验证eUICC可以配置SGP.21 Annex H中定义的RAT";
-	curDis.TraceStart(sno++,tracenamestr);
+    // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 1)：RESET（K 语料机械展开）
+    var s3 = bind.resetAndAtr();
+    bind.checkData("ICH-IC1-K1-C1 ATR_present", "1", s3.atr_hex !== "" ? "1" : "0");
 
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"eUICC卡片初始化；");
-	Ini_powerOn_eUICC_LPAe_not_activate();
+    // 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 s4 = bind.sendApdu("00", "A4", "00", "04", "3F00", "00", "9000");
+    bind.checkData("ICH-IC1-K2-C2 FCP_Template", "1", s4.resp.length > 0 ? "1" : "0");
+    bind.checkData("ICH-IC1-K2-C4 SW", "9000", s4.sw);
 
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令，打开辅助逻辑通道；");
-	TS_MANAGE_CHANNEL_OPEN();
+    // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 3)：TERMINAL_CAPABILITY_LPAd（K 语料机械展开）
+    var s5 = bind.sendApdu("80", "AA", "00", "00", "A9058100830107", null, "9000");
+    bind.checkData("ICH-IC1-K3-C4 SW", "9000", s5.sw);
 
-	curLogicChannel = 1;
+    // IC head inline (initial_conditions → PROC_EUICC_INITIALIZATION_SEQUENCE, K row 4)：TERMINAL_PROFILE（K 语料机械展开）
+    var steady6 = bind.runToSteadyState(function () {
+        return bind.sendTerminalProfile("FFFFFFFF7F9D00DFBF00001FE2000000C7EB0000000168005000000000000200", "9000");
+    });
+    bind.checkData("ICH-IC1-K4-C4 final SW", "9000", steady6.final.sw);
 
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送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 1)：MANAGE_CHANNEL_OPEN（K 语料机械展开）
+    // CHANNEL_NUMBER extraction and dynamic CLA rebinding are CasBind internal state (chaining rule; no generated-code re-implementation).
+    var s7 = bind.manageChannelOpen("9000");
+    bind.checkData("ICH-IC2-K1-C4 SW", "9000", s7.sw);
+    bind.checkData("ICH-IC2-K1-C3 CHANNEL_NUMBER extracted", "1", s7.chan !== null ? "1" : "0");
 
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令，GET_RAT");
+    // 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 s8 = 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", s8.sw);
 
-	var respData = LPAd_Transport_data_to_eUICC(GetRatRequestHexStr);
-	curStrHandle.CheckData(R_DEFAULT_RAT, respData, "R_DEFAULT_RAT");
+    // 步骤 1：MTD_STORE_DATA（tc_step；REQ: RQ28_001, RQ29_007_1, RQ29_008, RQ29_009, RQ29_011, RQ29_016, RQ57_179, RQ57_180, RQ57_181, RQ57_182, RQ57_184, RQ57_186, RQ29_007）
+    // <L> length binding and the conditional 61XX + GET RESPONSE chain (D.4.2) are CasBind internal state (chaining rule).
+    var sdCla1 = s7.chan !== null ? (s7.chan <= 3 ? 128 + s7.chan : 188 + s7.chan).toString(16).toUpperCase() : null;
+    var s1 = bind.sendApdu(sdCla1, "E2", "91", "00", "BF4300", "00", "9000");
+    bind.checkData("S1-C1 SW", "9000", s1.sw);
+    // grat ES10b GetRAT 响应面（外层 BF43，S22_tag_table Table 66 + I_annexD3_es10x:179/249；PPAR 成员 DER 定位 = S22_5_7_22_rat + S22_2_4a_1_ppr_operator_ids 语料闭合推导，期望值编译期注入）：
+    var rgw1 = BindGecaProc.parseGecaResponse(s1.resp, {outer: "BF43", required: [], optional: []});
+    var rrat1 = (rgw1.children.length === 1) ? BindEs10xSingleRequest.parseBerTlv(rgw1.children[0].value) : [];
+    bind.checkData("S1-C2 GetRatResponse outer tag", "BF43", rgw1.outer_tag === null ? "absent" : rgw1.outer_tag);
+    bind.checkData("S1-C2 rat member count 1", "1", (rgw1.children.length === 1 && rrat1.length === 1) ? "1" : "0");
+    var rratExp1 = ["301503020560300B30090403EEEEEE0400040003020780"];
+    var rratEq1 = (rrat1.length === rratExp1.length);
+    for (var rri1 = 0; rri1 < rrat1.length && rri1 < rratExp1.length; rri1++) {
+        if (BindEs10xSingleRequest.buildTlv(rrat1[rri1].tag, rrat1[rri1].value) !== rratExp1[rri1]) { rratEq1 = false; }
+    }
+    bind.checkData("S1-C2 rat value-order equality", "1", rratEq1 ? "1" : "0");
+    bind.checkData("S1-C3 PPRS_ALLOWED DER", "301503020560300B30090403EEEEEE0400040003020780", rrat1.length > 0 ? BindEs10xSingleRequest.buildTlv(rrat1[0].tag, rrat1[0].value) : "absent");
+    bind.checkData("S1-C4 RQ57_182 order vacuous (single PPAR)", "1", rrat1.length === 1 ? "1" : "0");
+    bind.checkData("S1-C5 RQ57_181 response well-formed TLV outer BF43", "1", rgw1.ok ? "1" : "0");
+    bind.checkData("S1-C6 RQ57_180 command data", "BF4300", s1.cmd.substring(10, 16));
 
-
-	RecoverCard();
+    // 步骤 2：MTD_STORE_DATA（tc_step；REQ: RQ28_001, RQ29_007_1, RQ29_008, RQ29_009, RQ29_010_1, RQ29_011, RQ29_016, RQ57_179, RQ57_180, RQ57_181, RQ57_182, RQ57_184, RQ57_186, RQ29_007, RQ29_008_1）
+    // <L> length binding and the conditional 61XX + GET RESPONSE chain (D.4.2) are CasBind internal state (chaining rule).
+    var sdCla2 = s7.chan !== null ? (s7.chan <= 3 ? 128 + s7.chan : 188 + s7.chan).toString(16).toUpperCase() : null;
+    var s2 = bind.sendApdu(sdCla2, "E2", "91", "00", "BF4300", "00", "9000");
+    bind.checkData("S2-C1 SW", "9000", s2.sw);
+    // grat ES10b GetRAT 响应面（外层 BF43，S22_tag_table Table 66 + I_annexD3_es10x:179/249；PPAR 成员 DER 定位 = S22_5_7_22_rat + S22_2_4a_1_ppr_operator_ids 语料闭合推导，期望值编译期注入）：
+    var rgw2 = BindGecaProc.parseGecaResponse(s2.resp, {outer: "BF43", required: [], optional: []});
+    var rrat2 = (rgw2.children.length === 1) ? BindEs10xSingleRequest.parseBerTlv(rgw2.children[0].value) : [];
+    bind.checkData("S2-C2 GetRatResponse outer tag", "BF43", rgw2.outer_tag === null ? "absent" : rgw2.outer_tag);
+    bind.checkData("S2-C2 rat member count 4", "1", (rgw2.children.length === 1 && rrat2.length === 4) ? "1" : "0");
+    var rratExp2 = ["301D0302064030133011040392F928040447534D410404525350FF03020780", "30110302064030073005040392F94803020780", "301403020520300B3009040392EEEE04000400030100", "301503020560300B30090403EEEEEE0400040003020780"];
+    var rratEq2 = (rrat2.length === rratExp2.length);
+    for (var rri2 = 0; rri2 < rrat2.length && rri2 < rratExp2.length; rri2++) {
+        if (BindEs10xSingleRequest.buildTlv(rrat2[rri2].tag, rrat2[rri2].value) !== rratExp2[rri2]) { rratEq2 = false; }
+    }
+    bind.checkData("S2-C2 rat value-order equality", "1", rratEq2 ? "1" : "0");
+    bind.checkData("S2-C3 PPR1_WITH_OWNER_GID DER", "301D0302064030133011040392F928040447534D410404525350FF03020780", rrat2.length > 0 ? BindEs10xSingleRequest.buildTlv(rrat2[0].tag, rrat2[0].value) : "absent");
+    bind.checkData("S2-C4 PPR1_WITHOUT_GID DER", "30110302064030073005040392F94803020780", rrat2.length > 1 ? BindEs10xSingleRequest.buildTlv(rrat2[1].tag, rrat2[1].value) : "absent");
+    bind.checkData("S2-C5 PPR2_WITHOUT_CONSENT DER", "301403020520300B3009040392EEEE04000400030100", rrat2.length > 2 ? BindEs10xSingleRequest.buildTlv(rrat2[2].tag, rrat2[2].value) : "absent");
+    bind.checkData("S2-C6 PPRS_ALLOWED DER", "301503020560300B30090403EEEEEE0400040003020780", rrat2.length > 3 ? BindEs10xSingleRequest.buildTlv(rrat2[3].tag, rrat2[3].value) : "absent");
+    bind.checkData("S2-C7 RQ57_182 stored order (carried by rat_eq ordered equality)", "1", rratEq2 ? "1" : "0");
+    bind.checkData("S2-C8 RQ57_180 command data", "BF4300", s2.cmd.substring(10, 16));
+    bind.checkData("S2-C9 RQ57_181 response well-formed TLV outer BF43", "1", rgw2.ok ? "1" : "0");
 }
-
-function TC_eUICC_ES10c_GetRAT_02_Nominal_With_additional_PPARs()
-{
…（差异行超限，共 152 行，此处截断）
```

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

- man：`ESIM_TEST_SGP_23.UCE`；入口 [('TC_eUICC_ES10c_GetRAT_01', 'ES10c(LPA -- eUICC):GetRAT', 'Import\\\\ExecuteTestCase_SGP_23.js(TC_eUICC_ES10c_GetRAT_01)')]；参数 {"ReaderName": "Identiv SCR35xx USB Smart Card Reader 0"}
- cas：`TC_eUICC_ES10b_GetRAT/TC_eUICC_ES10b_GetRAT.uce`；入口 [('TC_eUICC_ES10b_GetRAT_01_02_merged', 'TC_eUICC_ES10b_GetRAT', 'Import\\\\ExecuteTestCase_spec.js(TC_eUICC_ES10b_GetRAT_01_02_merged)')]；参数 {"ReaderName": "Identiv SCR35xx USB Smart Card Reader 0"}

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

- 命令计数：man 39 / cas 14；精确对齐 7，核心（CLA·INS·P1·P2·Lc）同 4，man-only 28，cas-only 3

| # | `-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 | `81E2910003BF4300` | `81E2910003BF430000` | core_same |
| 11 | `81E2910003BF2000` | `81E2910003BF430000` | core_same |
| — | man-only: `8010000023FFFFFFFF7F9D00DFBF00001FE20000…0000038`, `0070000000`, `01C000001C`, `@RESET`, `00A40004023F00`, `00C0000020`, `80AA000007A9058100830137`, `8010000023FFFFFFFF7F9D00DFBF00001FE20000…0000038`, `801200000F`, `801400000C810301250082028281830100`, `0070000000`, `0070000001` | | |
| — | | cas-only: `8010000020FFFFFFFF7F9D00DFBF00001FE20000…0000200`, `81C000001C`, `81C000001C` | | |

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

- spec：/Users/yuhu/cas/原料/切片/4.2.27.2.1-TC_eUICC_ES10b.GetRAT/spec_intl/SGP.23-v1.16_4.2.27_GetRAT.md（风格：table）；caseir：`/Users/yuhu/cas/experiments/4.2.27.2.1-TC_eUICC_ES10b.GetRAT-20260928_043958/caseir_materialized_gate.json`

| 步 | 规范动作 | Expected 片段 | 规范 REQ | cas 检查 | cas REQ | man 实现 | man 结果 |
|---|---|---|---|---|---|---|---|
| 1 | MTD_STORE_DATA(#GET_RAT) | 1 | ["RQ28_001", "RQ29_007_1", "RQ29_008", "RQ29_009", "RQ29_011", "RQ29_016", "RQ57_179", "RQ57_180", "RQ57_181", "RQ57_182", "RQ57_184", "RQ57_186", "RQ29_007"] | ["S1-C1", "S1-C2", "S1-C3", "S1-C4", "S1-C5", "S1-C6", "S2-C1", "S2-C2", "S2-C3", "S2-C4", "S2-C5", "S2-C6", "S2-C7", "S2-C8", "S2-C9"] | ["RQ28_001", "RQ29_007", "RQ29_007_1", "RQ29_008", "RQ29_008_1", "RQ29_009", "RQ29_010_1", "RQ29_011", "RQ29_016", "RQ57_179", "RQ57_180", "RQ57_181", "RQ57_182", "RQ57_184", "RQ57_186"] | `LPAd_Transport_data_to_eUICC(GetRatRequestHexStr)`（L22，请求 ` | 通过（StoreData 611C→GET RESPONSE 9000，响应 `BF4319A0173015800205 56 0A10B30098003EEEEEE 8100 8200 82020780`——**R_DEFAULT_RAT 期望值＝实际值逐字节相等**，SW=9000，ttr APDU40-APDU47） |

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

- cas：`NO_MECHANICAL_GAPS`（全步有检查=True；REQ 全覆盖=True；ErrorCount==0=False）
- cas 物化核对（启发式旁证，权威见下行 attestation）：声明检查 15 项 / 生成体 checkData 27 次 / S 标号重合 15 / 计数缺口 0 / 形态 `FULL`；执行面 `FAIL`（计数缺口须结合绑定层隐含断言核验，非直接判缺陷）
- **cas 编译器自证（check_attestation，同批构建）**：声明 None = js 23 + binding 0 + gap 0；缺口判定以本行为权威（启发式计数仅旁证）
- man：mapping 行 4 / 规范步 1；TTR 期望/实际回声 58；厂商工具内置审计（TTR 期望/实际回声行为证据）；脚本字节级充分性不可完全外部验证
- caseir open_items：
  - SEQ01 卡态前置（procedure=null prose，E_tc_4227:30 锚）："The EUM has configured the eUICC's RAT as defined in section G.2.4."——EUM 侧 RAT 配置属卡态编排责任（batch card_state prep 框架辖属），非 CaseIR 步骤
  - SEQ02 卡态前置（procedure=null prose，E_tc_4227:49 锚）："The EUM has configured the eUICC's RAT as defined in section G.2.5."——同上
  - SEQ02 卡态前置（procedure=null prose，E_tc_4227:50 锚）："There is no Profile installed in the eUICC."——序列 #02 初始卡态（E 表484 步2-4 Install/Delete 声明面执行结束后亦归复此态）
  - 卡态前置声明（E 表484 步2，E_tc_4227:59 逐字锚；裁定 B fix-14 收尾：移出 steps 落 open_items 声明面——脚本不编译，batch card_state prep 辖属；compile 忽略 open_items）：action 逐字 "Install PROFILE_OPERATIONAL4"——REQ 挂靠 RQ29_010_1、RQ29_022、RQ29_008_1（E 表484 步2 REQ 列逐字）；期望面 "Profile successfully downloaded (i.e. ProfileInstallationResult contains a SuccessResult)"（E 段 Expected 逐字）：安装被接受即证明该 Profile 携带的 PPR 与步骤 2 读回的 RAT 规则匹配（install_acceptance_dependency）；子流程 unresolved 如实登记：Install PROFILE_OPERATIONAL4 的子流程展开（下载会话、BPP 生成与加载、ProfileInstallationResult 回收）——K 段无定义：K_annexC2_procs 仅含 PROC_EUICC_INITIALIZATION_SEQUENCE（表1256）/ PROC_EUICC_INITIALIZATION_SEQUENCE_eUICCProfileStateChanged（表1257）/ PROC_OPEN_LOGICAL_CHANNEL_AND_SELECT_ISDR（表1258），无 Install Profile 过程；Annex E Profile Package 内容亦不在输入包
  - 卡态前置声明（E 表484 步3，E_tc_4227:60 逐字锚；裁定 B 同上）：action 逐字 "Delete PROFILE_OPERATIONAL4"——REQ 挂靠（E 表484 步3 REQ 列空）；期望面（无 Expected 列断言）；子流程 unresolved 如实登记：Delete PROFILE_OPERATIONAL4 的方法调用形式与目标标识（iccid #ICCID_OP_PROF4 抑或 isdpAid <ISD_P_AID4>）——K 段无定义（K 仅含三个 PROC，无 Delete Profile 过程）；E 段未指定删除方式；H_annexC1_methods 的 MTD_DELETE_PROFILE 要求 paramIccidValue/paramIsdpAidValue 二选一，语料未给出选择依据
  - 卡态前置声明（E 表484 步4，E_tc_4227:61 逐字锚；裁定 B 同上）：action 逐字 "Install PROFILE_OPERATIONAL3"——REQ 挂靠 RQ29_010_1、RQ29_022、RQ29_008_1（E 表484 步4 REQ 列逐字）；期望面 "Profile successfully downloaded (i.e. ProfileInstallationResult contains a SuccessResult)"（E 段 Expected 逐字）：安装被接受即证明该 Profile 携带的 PPR 与步骤 2 读回的 RAT 规则匹配（install_acceptance_dependency）；子流程 unresolved 如实登记：Install PROFILE_OPERATIONAL3 的子流程展开——K 段无定义（同表484 步2）；Annex E Profile Package 内容与安装子流程步骤不在输入包

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

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

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

## 8. 证据路径

- man 包：`../../packages/man/4.2.27.2.1-TC_eUICC_ES10b.GetRAT-man.zip`
- man TTR：`/Users/yuhu/cas/原料/切片/4.2.27.2.1-TC_eUICC_ES10b.GetRAT/logs/20260907_120430_ok/extracted/ESIM_TEST_SGP_23/TC_eUICC_ES10c_GetRAT_01.ttr`
- cas 包/源：`../../packages/cas/4.2.27.2.1-TC_eUICC_ES10b.GetRAT-cas.zip`
- cas TTR：`/Users/yuhu/cas/experiments/4.2.27.2.1-TC_eUICC_ES10b.GetRAT-20260928_043958/logs/8517794185134aaca8b461dd3605f3d2/result/TC_eUICC_ES10b_GetRAT/TC_eUICC_ES10b_GetRAT_01_02_merged.ttr`
- spec_intl：`/Users/yuhu/cas/原料/切片/4.2.27.2.1-TC_eUICC_ES10b.GetRAT/spec_intl/SGP.23-v1.16_4.2.27_GetRAT.md`
- caseir：`/Users/yuhu/cas/experiments/4.2.27.2.1-TC_eUICC_ES10b.GetRAT-20260928_043958/caseir_materialized_gate.json`
- step_map：`—`

