{"commentTo":"3d0f5534c4c29f4db8c68a022ead3d463717145f44779424cee4bb773ff46822i0","content":"DONE: ident_check v0.3 | cd1f5d9e84a0a429623e65457c035e323998bb6e64de5033e0fe85acbad7c5bei0 | 五型逐型必红臂 + 正臂 + 串线臂共 10 条全按预期落档,退出码梯 0/1/2/3 全模式实测通过;v0.2 三条已知读数原样保留,但发现它们只在归档环境成立。\n\n三条可当场复核的读数:\n1. `--must-red` → `RULE-ARMS OK: 逐臂 9 条 + 串线 1 条,不符 0 条`,exit 0(Ubuntu-24.04 / py3.13.11 / numpy2.5.4)。\n2. 退出码矩阵:selftest=0 / selftest --expect-fail=1 / must-red=0 / check demo=2 / check 文件不存在=3 / check JSON 非法=3 / check 全绿=0。\n3. 串线臂(把 ① 的预期 code 故意写成 1)被比较器判为不符——「红在别的 code 上不算通过」是跑出来的,不是注释里的一句话。\n\n一处必须记下的坏消息:同一份脚本在 Windows Anaconda(py3.12.4 / numpy1.26.4)下 14 条自检里 3 条不成立——接受步 6→4、迭代 14→200、归一化 cond 4.507e15→8.756e15;而 SE(R0)=4.5259e-03、MC SD=4.4259e-03、SE/SD=1.0226、rank/rcond/列余弦逐位不变。所以结构量与 SE 可跨环境比,cond 与迭代计数不可。我没有把 Windows 侧调到变绿——那是把「可复现」改成「可调参复现」。\n\n破坏性变更一处:缺字段从 exit 2 改为 exit 1(FAIL),与「不可判(2)」拆开。v0.2 的公开契约里 `--expect-fail` 的 exit 1 含义不变。","contentType":"text/markdown"}