# 4.2.25.2.1 TC_eUICC_ES10c.GetEID — `-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.25.2.1-TC_eUICC_ES10c.GetEID-man.zip | `f7f3eb73efed7533e3eb82b8449ee74956e0cec0ff7fb174cbbc06911b27cb4f` | zip | TC_eUICC_ES10c_GetEID_01_Nominal |
| `-cas` | 4.2.25.2.1-TC_eUICC_ES10c.GetEID-cas.zip | `ed78cfaaff011b3782afae3e52637b0de58ffb21554d48b218bf2f8618fc0da4` | zip | — |

- man 源路径：`../../packages/man/4.2.25.2.1-TC_eUICC_ES10c.GetEID-man.zip`
- cas 源路径：`../../packages/cas/4.2.25.2.1-TC_eUICC_ES10c.GetEID-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 | `20260828_112904_ok:8abe6b1ed23d43c8a82377f90222e4c9` | — | `/Users/yuhu/cas/原料/切片/4.2.25.2.1-TC_eUICC_ES10c.GetEID/logs/20260828_112904_ok/result/ESIM_TEST_SGP_23/TC_eUICC_ES10c_GetEID_01_Nominal.ttr` | `—` |
| `-cas` | `failed` | 产物 placed（B6 #01/#02 双序列 green）；本轮不重跑 | 75 | `8e86a16b540845bfaca1ed00e7540cab` | — | `/Users/yuhu/cas/experiments/4.2.25.2.1-TC_eUICC_ES10c.GetEID-r2run-20260829/logs/8e86a16b_gapfix1/result/TC_eUICC_ES10c_GetEID/TC_eUICC_ES10c_GetEID_01_Nominal_02_Error.ttr` | `—` |
- cas 块4账本：decision=`REUSE_GREEN`；route=`native_N0`；live 事件 1 条（4.6 波次进行中；以块4终版账本为准）
- cas 4.6 波次最新执行：terminal=`failed`；stage=`cas_gapfix_rerun`；job=`8e86a16b540845bfaca1ed00e7540cab`；gaps=["gapfix-rerun：job 终态 succeeded，业务判 failed（error_count=4）；failed 亦为有效终态，如实登记"]
- cas 证据来源分层：`REUSE_GREEN` → 历史复用（prior evidence，本轮未重跑）

## 3. HTML 执行日志状态

- `-man`：**NATIVE**（`../../evidence-html/4.2.25.2.1/man/TC_eUICC_ES10c_GetEID_01_Nominal.html`；sha256 `f1d631d5e6c851c24d6064933d8a43da09132c7b0dece6c57e397d214fd62b31`；78112 bytes）
- `-cas`：**NATIVE**（`../../evidence-html/4.2.25.2.1/cas/TC_eUICC_ES10c_GetEID_01_Nominal_02_Error.html`；sha256 `21733f4a8192e680d0c081774e3e4698e0ae7130c68053a32be9da0e17127bf0`；26077 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 64 / cas 119；字符：man 1993 / cas 7952
- man 顶层调用 Top：[["TestStepStart2", 8], ["TC_eUICC_ES10c_GetEID_02_Error", 2], ["TraceStart", 2], ["Ini_powerOn_eUICC_LPAe_not_activate", 2], ["TS_MANAGE_CHANNEL_OPEN", 2], ["TS_SELECT", 2], ["GetEuiccDataRequest", 2], ["GenHexData", 2], ["LPAd_Transport_data_to_eUICC", 2], ["RecoverCard", 2]]
- cas bind 调用：[["checkData", 26], ["sendApdu", 8], ["resetAndAtr", 2], ["runToSteadyState", 2], ["sendTerminalProfile", 2], ["manageChannelOpen", 2]]

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

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

```diff
--- man
+++ cas
@@ -1,63 +1,118 @@
-// slice of Import\TestCase_SGP_23.js - cases: TC_eUICC_ES10c_GetEID_01_Nominal + TC_eUICC_ES10c_GetEID_02_Error (extracted verbatim)
+// Author: 卡思Cas智能体
+// Date: 20260906-184033
+// Function: （purpose 原文未由 SGP.23 该 TC 提供，corpus vacuum 登记）TC_eUICC_ES10c.GetEID，Test Sequence #01 Nominal + #02 Error，适用性 M。
+// Test points: S1-C1 ATR_present；S2-C1 FCP_Template；S2-C2 FCP tag 62；S2-C3 SW；S3-C1 SW
+//   S4-C2 final SW；S5-C1 SW；S5-C2 CHANNEL_NUMBER extracted；S6-C1 SW；S7-C1 SW；S7-C4 eidValue
+//   S7-C4 eidValue length；S7-C3 EID object 5A10；S7-C2 outer tag BF3E；S8-C1 ATR_present
+//   S9-C1 FCP_Template；S9-C2 FCP tag 62；S9-C3 SW；S10-C1 SW；S11-C2 final SW；S12-C1 SW
+//   S12-C2 CHANNEL_NUMBER extracted；S13-C1 SW；S14-C1 SW != 9000；S14-C2 response data absent
+//   S14-C3 response data absent
+// 本函数由 CaseIR 4.2.25.2.1 编译生成（regen-421，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_ES10c_GetEID_01_Nominal_02_Error() {
+    var bind = curBind;
+    // IC1 PROC_EUICC_INITIALIZATION_SEQUENCE: declared unexpanded (non-PROC row or K corpus vacuum; see CaseIR open_items).
+    // IC2 PROC_OPEN_LOGICAL_CHANNEL_AND_SELECT_ISDR: declared unexpanded (non-PROC row or K corpus vacuum; see CaseIR open_items).
 
-function TC_eUICC_ES10c_GetEID_01_Nominal()
-{
-	tracenamestr = "测试目的：获取EID正确性测试";
-	curDis.TraceStart(sno++,tracenamestr);
+    // 步骤 1：RESET（procedure_expansion）
+    var s1 = bind.resetAndAtr();
+    bind.checkData("S1-C1 ATR_present", "1", s1.atr_hex !== "" ? "1" : "0");
 
-	curLogicChannel = 0;
-	curDis.TestStepStart2(stno++,"eUICC卡片初始化；");
-	Ini_powerOn_eUICC_LPAe_not_activate();
+    // 步骤 2：SELECT_MF（procedure_expansion）
+    // 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 s2 = bind.sendApdu("00", "A4", "00", "04", "3F00", "00", "9000");
+    bind.checkData("S2-C1 FCP_Template", "1", s2.resp.length > 0 ? "1" : "0");
+    bind.checkData("S2-C2 FCP tag 62", "62", s2.resp.substring(0, 2));
+    bind.checkData("S2-C3 SW", "9000", s2.sw);
 
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送MANAGE_CHANNEL命令，打开辅助逻辑通道；");
-	TS_MANAGE_CHANNEL_OPEN();
+    // 步骤 3：TERMINAL_CAPABILITY_LPAd（procedure_expansion）
+    var s3 = bind.sendApdu("80", "AA", "00", "00", "A9058100830107", null, "9000");
+    bind.checkData("S3-C1 SW", "9000", s3.sw);
 
-	curLogicChannel = 1;
+    // 步骤 4：TERMINAL_PROFILE（procedure_expansion）
+    var steady4 = bind.runToSteadyState(function () {
+        return bind.sendTerminalProfile("FFFFFFFF7F9D00DFBF00001FE2000000C7EB0000000168005000000000000200", "9000/91XX");
+    });
+    bind.checkData("S4-C2 final SW", "9000", steady4.final.sw);
+    // S4-C1: 'interim_SW' structurally guaranteed by runToSteadyState (binding layer unit 4, chaining rule).
+    // S4-C1: 'fetch_issued' structurally guaranteed by runToSteadyState (binding layer unit 4, chaining rule).
+    // S4-C1: 'terminal_response' structurally guaranteed by runToSteadyState (binding layer unit 4, chaining rule).
+    // S4-C1: binding:runToSteadyState_structural(chaining-rule) (check_attestation)
 
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送SELECT命令，选择ISD-R；");
-	TS_SELECT("Select ISD",ISD_R_AID,"9000");
+    // 步骤 5：MANAGE_CHANNEL_OPEN（procedure_expansion）
+    // CHANNEL_NUMBER extraction and dynamic CLA rebinding are CasBind internal state (chaining rule; no generated-code re-implementation).
+    var s5 = bind.manageChannelOpen("9000");
+    bind.checkData("S5-C1 SW", "9000", s5.sw);
+    bind.checkData("S5-C2 CHANNEL_NUMBER extracted", "1", s5.chan !== null ? "1" : "0");
 
-	curDis.TestStepStart2(stno++,"读卡器向卡片发送 StoreData命令，GET_EID");
-	var getEuiccDataRequest = new GetEuiccDataRequest();
-	getEuiccDataRequest.tagList = "5A";
-	var getEuiccDataRequestHexStr = getEuiccDataRequest.GenHexData();
-	var hexData = LPAd_Transport_data_to_eUICC(getEuiccDataRequestHexStr);
+    // 步骤 6：MTD_SELECT（procedure_expansion）
+    // CLA = bound channel (cla_rule) and <L> length binding are CasBind internal state (chaining rule; no generated-code re-implementation).
+    var s6 = bind.sendApdu(null, "A4", "04", "00", "A0000005591010FFFFFFFF8900000100", "00", "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("S6-C1 SW", "9000", s6.sw);
 
-	var getEuiccDataResponse = new GetEuiccDataResponse();
+    // 步骤 7：MTD_STORE_DATA（tc_step；REQ: RQ33_002, RQ57_171, RQ57_172）
+    // <L> length binding and the conditional 61XX + GET RESPONSE chain (D.4.2) are CasBind internal state (chaining rule).
+    var sdCla7 = s5.chan !== null ? (s5.chan <= 3 ? 128 + s5.chan : 188 + s5.chan).toString(16).toUpperCase() : null;
+    var s7 = bind.sendApdu(sdCla7, "E2", "91", "00", "BF3E035C015A", "00", "9000");
+    bind.checkData("S7-C1 SW", "9000", s7.sw);
+    var eidExp7 = "89049032123451234512345678901235";
+    var eidLen7 = null, eidVal7 = "absent";
+    for (var i7 = 0; i7 + 4 <= s7.resp.length; i7 += 2) {
+        if (s7.resp.substring(i7, i7 + 2) === "5A") {
+            eidLen7 = s7.resp.substring(i7 + 2, i7 + 4);
+            eidVal7 = s7.resp.substring(i7 + 4, i7 + 4 + eidExp7.length);
+            break;
+        }
+    }
+    bind.checkData("S7-C4 eidValue", "89049032123451234512345678901235", eidVal7);
+    bind.checkData("S7-C4 eidValue length", "10", eidLen7 === null ? "absent" : eidLen7);
+    bind.checkData("S7-C3 EID object 5A10", "1", s7.resp.indexOf("5A10") >= 0 ? "1" : "0");
+    bind.checkData("S7-C2 outer tag BF3E", "BF3E", s7.resp.substring(0, 4));
 
-	getEuiccDataResponse.checkCardResDataFormat(hexData);
+    // 步骤 8：RESET（procedure_expansion）
+    var s8 = bind.resetAndAtr();
+    bind.checkData("S8-C1 ATR_present", "1", s8.atr_hex !== "" ? "1" : "0");
 
-	var eidValue = getEuiccDataResponse.eidValue;
+    // 步骤 9：SELECT_MF（procedure_expansion）
+    // 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 s9 = bind.sendApdu("00", "A4", "00", "04", "3F00", "00", "9000");
+    bind.checkData("S9-C1 FCP_Template", "1", s9.resp.length > 0 ? "1" : "0");
+    bind.checkData("S9-C2 FCP tag 62", "62", s9.resp.substring(0, 2));
+    bind.checkData("S9-C3 SW", "9000", s9.sw);
 
-	curStrHandle.CheckData(EID1, eidValue, "eidValue");
+    // 步骤 10：TERMINAL_CAPABILITY_LPAd（procedure_expansion）
+    var s10 = bind.sendApdu("80", "AA", "00", "00", "A9058100830107", null, "9000");
+    bind.checkData("S10-C1 SW", "9000", s10.sw);
 
+    // 步骤 11：TERMINAL_PROFILE（procedure_expansion）
+    var steady11 = bind.runToSteadyState(function () {
+        return bind.sendTerminalProfile("FFFFFFFF7F9D00DFBF00001FE2000000C7EB0000000168005000000000000200", "9000/91XX");
+    });
+    bind.checkData("S11-C2 final SW", "9000", steady11.final.sw);
+    // S11-C1: 'interim_SW' structurally guaranteed by runToSteadyState (binding layer unit 4, chaining rule).
+    // S11-C1: 'fetch_issued' structurally guaranteed by runToSteadyState (binding layer unit 4, chaining rule).
…（差异行超限，共 171 行，此处截断）
```

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

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

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

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

| # | `-man` | `-cas` | 对齐 |
|---|---|---|---|
| — | man-only: `@RESET`, `00A40004023F00`, `00C0000020`, `80AA000007A9058100830137`, `8010000023FFFFFFFF7F9D00DFBF00001FE20000…0000038`, `801200000F`, `801400000C810301250082028281830100`, `0070000000`, `0070000001`, `01A4040010A0000005591010FFFFFFFF8900000100`, `01C0000021`, `81E2910006BF3E035C015A` | | |

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

- spec：/Users/yuhu/cas/原料/切片/4.2.25.2.1-TC_eUICC_ES10c.GetEID/spec_intl/SGP.23-v1.16_4.2.25_GetEID.md（风格：table）；caseir：`/Users/yuhu/cas/experiments/4.2.25.2.1-TC_eUICC_ES10c.GetEID-20260906_1829/caseir_materialized_gate.json`

| 步 | 规范动作 | Expected 片段 | 规范 REQ | cas 检查 | cas REQ | man 实现 | man 结果 |
|---|---|---|---|---|---|---|---|
| 1 | MTD_STORE_DATA(<br>#GET_EID) | 4 | ["RQ33_002", "RQ57_171", "RQ57_172"] | [] | [] |  | — |

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

- cas：`GAPS_FOUND`（全步有检查=False；REQ 全覆盖=True；ErrorCount==0=False）
- cas 物化核对（启发式旁证，权威见下行 attestation）：声明检查 14 项 / 生成体 checkData 26 次 / S 标号重合 13 / 计数缺口 0 / 形态 `FULL`；执行面 `FAIL`（计数缺口须结合绑定层隐含断言核验，非直接判缺陷）
- **cas 编译器自证（check_attestation，同批构建）**：声明 None = js 25 + binding 2 + gap 0；缺口判定以本行为权威（启发式计数仅旁证）
  - binding 覆盖示例：`S4-C1`→binding:runToSteadyState_structural(chaining-rule)；`S11-C1`→binding:runToSteadyState_structural(chaining-rule)
- cas 注释面登记检查（未以 checkData 物化、代码内有注释说明）：['S4-C1']
- man：mapping 行 5 / 规范步 1；TTR 期望/实际回声 58；厂商工具内置审计（TTR 期望/实际回声行为证据）；脚本字节级充分性不可完全外部验证
- caseir open_items：
  - 卡态编排责任：IC1/IC2 初始条件由测试工具动态达成；每个测试序列执行后须运行 CU 清理恢复 Annex G Common Initial State（D_tc_structure_notation L36-50），#01→#02 之间同样适用——非 CaseIR 断言范围
  - Toolkit initialization（91XX/FETCH/TERMINAL RESPONSE 具体交互）与 MTD/PROC 的实现归测试工具提供商（D_tc_structure_notation §2.2.2.1）
  - 序列 #02 期望错误 SW 为非固定值（≠0x9000 即可，ANY_SW_IN_ERROR 语义），脚本层只需断言错误状态字且无响应数据

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

| 轴 | 计数 | 说明 |
|---|---|---|
| `RUN_DIFF` | 1 | man 通过 / cas 失败 |
| `SCRIPT_DIALECT` | 54 | 闭包文件差：man-only 3 / cas-only 51 |
| `GEN_DIFF` | 39 | 命令序列差：man-only 39 / cas-only 0 |
| `EVIDENCE_MISSING` | 1 | cas 断言缺失：无检查步 []；未映射步 [1] |

| 侧 | 根因候选（七类，启发式签名） | 签名 |
|---|---|---|
| cas | `card_error` | `Connect Reader 失败|card is NOT connected|SW=0000|SW=00000000` |

> 签名为文本面启发式命中（如 `6D00` 等 SW 亦可能是负例期望值），须结合 Expected 面核验后方可定论。

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

## 8. 证据路径

- man 包：`../../packages/man/4.2.25.2.1-TC_eUICC_ES10c.GetEID-man.zip`
- man TTR：`/Users/yuhu/cas/原料/切片/4.2.25.2.1-TC_eUICC_ES10c.GetEID/logs/20260828_112904_ok/result/ESIM_TEST_SGP_23/TC_eUICC_ES10c_GetEID_01_Nominal.ttr`
- cas 包/源：`../../packages/cas/4.2.25.2.1-TC_eUICC_ES10c.GetEID-cas.zip`
- cas TTR：`/Users/yuhu/cas/experiments/4.2.25.2.1-TC_eUICC_ES10c.GetEID-r2run-20260829/logs/8e86a16b_gapfix1/result/TC_eUICC_ES10c_GetEID/TC_eUICC_ES10c_GetEID_01_Nominal_02_Error.ttr`
- spec_intl：`/Users/yuhu/cas/原料/切片/4.2.25.2.1-TC_eUICC_ES10c.GetEID/spec_intl/SGP.23-v1.16_4.2.25_GetEID.md`
- caseir：`/Users/yuhu/cas/experiments/4.2.25.2.1-TC_eUICC_ES10c.GetEID-20260906_1829/caseir_materialized_gate.json`
- step_map：`—`

