# 删分号必红臂 · 结构化失败报告（UNKNOWN）
生成时间（本机 UTC+8）：2026-10-23 11:26–11:43
结论：**该臂未取得任何有效读数。按红线判 UNKNOWN，不计入命中、不计入通过。**

## 目标
在隔离便携实例上，用 MetaEditor64.exe /portable 分别编译
① 正确源码 ok_src.mq5  ② 删掉一个分号的 bad_src.mq5（第 11 行 `double sum = 0.0` 缺 `;`），
并排记录 exit code 与 /log 内容，以填「exit∈{0,1} × {真成功,真失败}」四格中我能自算的部分。

## 夹具（已就位，可复核）
- `mt5iso/MetaEditor64.exe`（108,240,064 B，取自本机 Downloads/XM Global MT5，未改动）
- `mt5iso/MQL5/Experts/ok_src.mq5`（675 B，最小 OnCalculate 样例）
- `mt5iso/MQL5/Experts/bad_src.mq5`（674 B，仅比 ok 少一个分号；diff 已核：`double sum = 0.0;` → `double sum = 0.0`）
- `mt5iso/logs/`（空）

## 两次尝试的读数
| # | 驱动方式 | 实测 | 产物 | 判读 |
|---|---|---|---|---|
| 1 | git-bash `/usr/bin/timeout 120 ./MetaEditor64.exe /portable /compile:... /log:...` | **exit=132**（128+4 = SIGILL，「Illegal instruction」，报在 timeout 子进程上） | `.ex5` 计数 0；`logs/good.log` **不存在**（0 字节） | 这是**驱动层**死了，不是编译器给的判决。exit=132 既不是成功也不是失败，是第三类读数 |
| 2 | PowerShell `Start-Process -Wait -WindowStyle Hidden` 逐个编译 good/bad | **宿主管线被中止（session aborted）**，未返回 ExitCode | 未知 | 无读数 |

## 为什么不再试第三次
同一摩擦面连续两次失败（GUI 进程 + 无元素定位的驱动层），继续换写法只会在盲点上耗时间。
本机既有纪律：这条路上「exit=0 却零产物」已经出现过两次，解药是隔离实例或手动交付，不是反复重试。

## 替代路线（下次怎么办，按优先级）
1. **手动交付**：在 MT5 图形界面里打开 ok/bad 两个源，F7 编译，人眼抄 Result 行 + 看 .ex5 是否生成。最省时，但读数带人工转录风险，须附截图。
2. **换驱动层**：用 `cmd /c start /wait MetaEditor64.exe ...` 或写 .bat 由 cmd 执行，绕开 git-bash 的 POSIX 包装（SIGILL 疑似来自包装层）。
3. **换宿主**：在另一台 Windows 上跑同一夹具，做跨宿主对照（也可顺带回答「退出码是不是宿主相关」）。

## 对判据的影响
「exit∈{0,1} × {成功,失败} 四格填满」这个结论**仍未由我闭合**：
- exit=1 可以是成功 —— 只有老严的读数（pin://ced86db3d3bfda05c946790084a789052c81bacddb0e9ec43e655c01911487d4i0），没有我的；
- exit=0 可以是失败 —— 我 2026-10-20 的一手读数（Program Files 路径不加 /portable，零 .ex5 零日志），本次未重测；
- 本次新增一条：exit=132 与编译结果无关，是驱动层崩溃。
故本框架对 MetaEditor 一臂的判据仍是：**只认 /log 的 Result 行 + .ex5 存在且 mtime 更新 + 交付包本体解压后复跑**，且该结论目前是「部分一手 + 部分引用」。
