
REA 重构就绪检查为什么缺失证据必须报告 unknown 而不是 pass【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea大多数就绪性检查都会做一件危险的事没检查到的项默认按通过算。REA 拒绝这种乐观——它的重构就绪Reconstruction Readiness检查采用 fail-closed 三态设计缺失证据一律报告 unknown绝不悄悄升级为 pass。REA 是一个本地逆向工程工具包把 Hopper、Ghidra、浏览器观察等能力统一成 MCP 接口本文聚焦它的三态状态聚合机制。三态到底有几态pass 只是五种状态之一直觉上通过/失败两态就够了REA 的定义比这更细。状态枚举在 reconstructionReadinessSchemas.ts共五种pass—— 证据齐全且检查通过fail—— 检查完成但结论是不通过unknown—— 证据不足无法下结论unsupported—— 引擎不支持这项分析truncated/skipped—— 分析被截断或被跳过。多出来的中间态不是凑数目的是让检查没做完和检查做完但没通过能被人区分开。聚合优先级fail 一票否决兜底也是 unknown整体结论由 reconstructionReadiness.ts 的aggregateStatus决定优先级是写死的任一必需阶段为fail→ 整体fail所有必需阶段为pass→ 整体pass否则按unknown、truncated、unsupported、skipped的顺序命中哪个就返回哪个以上都不满足 → 兜底unknown。注意第 3 条的顺序unknown 排在所有中间态最前面意味着证据不足比被跳过更优先暴露。官方文档 reconstruction-readiness.md 对这条聚合规则的原话是fail,unknown,unsupported,truncated, andskippednever aggregate topass.翻译过来就是一句话只要有任何一个阶段没拿到 pass整体就别想拿到 pass。没交卷 ≠ 满分缺失阶段怎么算更狠的在阶段级处理源码 L70-L97。九个必需阶段是固定清单如果某个阶段压根没出现在输入里它不会被视为通过该阶段被强制标记为required: true状态不满足 pass 时直接落为fail并附带固定提示Supply the missing conformance stage.补交缺失的阶段。这就像考试没交卷不等于满分等于零分还多一笔欠账。unknown 的三种典型触发unknown不是报错是工具在说我还不能确定。最常见的三种来源空证据包。义务台账文档 写道This empty request is useful for checking client integration. It is valid and returns anunknownledger with zero obligations; absence of source Evidence never claims closure:零证据下谈重构闭环没有意义所以结论只能是 unknown。对比被截断或矛盾。compare-authority-candidate阶段要求截断、权限不可用、发现矛盾时verdict 强制降级为unknown杜绝看起来等价的假阳性。阶段有发现但结论悬置。阶段级聚合中只要该阶段存在 finding 且状态不满足 pass就落为unknown而不是猜测一个结果。每条证据自身还带三档置信度——observed直接观察到、derived推导得出、inferred推断定义在 evidence.ts。置信度分层加状态分层构成完整的证据可信度账本。什么时候这条规则不成立边界要讲清楚。unsupported和skipped虽然也挡在 pass 前面但语义不同前者是我承认不支持这项分析后者是这轮主动跳过了。它们不算谎报所以不升级成fail只降级整体状态。另一个边界这套 evaluator 是仓库内部验证器随npm run verify:readiness运行并不作为公开 CLI 或 MCP 工具暴露。它约束的是 REA 自己的九阶段一致性契约不直接替你分析任意二进制——后者由具体的分析工具完成本机制只负责把检查做没做完这件事说清楚。代价报告变啰嗦换自动化不翻车代价很直白报告不能只有一盏红绿灯每个状态都要附 reason_code 和 next_action输出更长、更啰嗦。但对 Agent 自动化这是值得的——一个诚实的 unknown 告诉它该补什么证据一个善意的 pass 会让它带着错误前提一路跑到底。读者行动清单看到pass时 → 可以直接信任必需阶段都有证据支撑看到fail时 → 按报告里的reason_code直接修不用猜看到unknown时 → 顺着next_action补齐缺失证据即可这不是报错看到unsupported/skipped时 → 确认是引擎限制还是被跳过别和 fail 混为一谈本地想验证全流程时 → 运行npm run verify:readiness跑完整九阶段闭环。证据有权威等级、状态有失败封闭、结论可复算。missing evidence 落到 unknown就是 REA 整条信任链的地基。【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考