# Windows 原生 101 分阶段诊断 ## 用户目标 执行 `MD-127-XPLAT-WIN-SAFEIO-NATIVE-FAIL101-DIAG-01`:以 candidate/private head `c500f4f437ae0edda359e9c4583e2736da16a2c3` 与 run `31788619371` 固定 JSON 为输入,不读 raw logs,把双架构 exit101 拆成 compile、machine artifact、direct libtest、summary 固定分类并形成新 Review Gate。 ## 已完成事项 - native19 改为 locked Cargo `--no-run --message-format=json` compile → 唯一 `mindraw_lib` test executable artifact → runner-local direct libtest → bounded summary。 - 固定区分 compile、artifact missing/ambiguous/malformed/bounded、launch、合法 test failure、summary missing/malformed/bounded/count/exit mismatch。 - executable path 仅在 runner 内作为直接执行 authority,不进入 evidence。 - RED1 缺 classifier;独立预审发现 256 KiB 对真实约 320 KiB Cargo stream 误拒绝且读取前未有界;RED2 后改为同 descriptor `open/fstat ≤8 MiB/fixed allocation/read/finally close`。 - 独立复审最终 PASS;Node 14/14、core list/actual5、双 Windows target compile-only、YAML/diff/security/privacy 全部通过。 - Gate `crg-9dbdb79d9f94`,状态 `needs-code-review`;已回写统一台账和 PMO_INBOX。 ## 关键决策 - direct libtest cwd 固定 `src-tauri`,保持 Cargo package-root 运行语义。 - machine stream 上限 8 MiB,libtest classification 上限 256 KiB;均在输出进入 evidence 前归约为固定元数据。 - 固定 Reviewer PASS 前禁止第四次 private run;本轮不是 QA、支持、包或发布结论。 - `INDEX.md` 无入口变化不更新;`CHANGELOG.md` 因无产品/发布行为变化不更新;`CODEGRAPH.md` 已更新。 ## 文件变更 - workflow SHA `8f10c23adccf2c900ea32d399564212b5b9e58f103647b78404129facc341496` - contract SHA `682c803e89fac70c6be999b6a799970048fdbf36c2ae68b85d469f4383bc9b13` - tests SHA `c6a782d5cfcbaf08869fa8a0bb071238a28ec63775d9ca8e340270a3243c6d0d` - CODEGRAPH SHA `7167b5588892020f57e5f5e4ed377489bf3af7155034e106315ad0b1e894df3d` - Review:`02-P/MEXP16-CrossPlatform127/review/md-127-xplat-win-safeio-native-fail101-diag-01-review-{request,evidence}-crg-9dbdb79d9f94.*` ## 核心事实 / 变更快照 - 变更前:单条 `cargo test` exit101 同时可能表示 compile 或 test executable failure,只有 exit0 才解析 summary。 - 变更后:四阶段分别输出固定 category/exit/count/digest/boolean;artifact executable path 与 raw machine/libtest 内容不进入 artifact evidence。 - 起点与终点 HEAD/private 均为 `c500f4f...`;精确四文件未提交 diff;产品与 Cargo 九保护 SHA 不变。 - 未进行 raw log、run-03 rerun、第四次 Actions、commit/push、产品语义、package/QA/support/release/macOS evidence 操作。 ## 未决问题与后续建议 - 需要固定 Reviewer 审核 `crg-9dbdb79d9f94`;PASS 后 PMO 才能决定是否派新的 private run。 - Windows 原生阶段的真实分类尚未执行,不能声明 Windows PASS。 ## 可复用命令 / Runbook 用途:离线复验 SafeIO native 分阶段诊断、旧 5/19 门与双 target compile-only。 前置条件:位于 `/Users/ar/Projects/Mindraw-worktrees/md-1.2.7-cross-platform`;不触发 Actions。 ```sh node --test scripts/mindraw-windows-safeio-native-contract.node-test.mjs node scripts/mindraw-windows-safeio-native-contract.mjs --run-list --kind core --manifest src-tauri/Cargo.toml cargo test --locked --manifest-path src-tauri/Cargo.toml --lib safe_io_core -- --test-threads=1 cargo check --locked --manifest-path src-tauri/Cargo.toml --tests --target x86_64-pc-windows-msvc cargo check --locked --manifest-path src-tauri/Cargo.toml --tests --target aarch64-pc-windows-msvc ruby -e 'require "yaml"; YAML.load_file(".github/workflows/mindraw-windows-safeio-native.yml"); puts "yaml=PASS"' git diff --check ``` 验证:14/14、exact core5、host core5/5、双 target compile-only、YAML 与 diff PASS。 清理 / 恢复:均为离线验证;Cargo 缓存可重建,不要 reset 当前 reviewed diff。 搜索关键词:`FAIL101`、`classifyCargoTestArtifactFile`、`FAIL_NATIVE_COMPILE`、`crg-9dbdb79d9f94`。 ## PMO 消费与正式复审 - Coder 终态已消费:`READY_FOR_REVIEW / crg-9dbdb79d9f94`。 - PMO 已登记固定 Reviewer `019f51c7-9273-7c02-9402-20cb2ad427d3`;正式结论只允许 `PASS`、`CHANGES_REQUESTED` 或 `BLOCKED`。 - Reviewer PASS 前第 4 次 private native run 保持关闭;该 Gate 不构成 QA、平台支持、包或发布结论。 ## 正式复审退回 - 固定 Reviewer 对 `crg-9dbdb79d9f94` 返回 `CHANGES_REQUESTED`。 - 唯一阻断 F-01:首次同 fd `fstat` 后若 artifact stream 增长,当前 reader 会忽略追加尾部;需要读取后 exact-size 复验/EOF probe 和生产路径增长回归。 - PMO 已拆 `MD-127-XPLAT-WIN-SAFEIO-NATIVE-FAIL101-DIAG-FIX-01`,要求形成新 Gate;第 4 次 private run 继续禁止。