对应 OpenSpec introduce-rust-codeguard-cli 的 F05、5.5 和 7.2。Rust CLI 仍调用原生 pip-audit,本验收只用受控程序模拟原生报告与故障,不将模拟器当作实际工具。原生版本先独立观察为 2.10.0;同轮项目 pyproject.toml、唯一标准 pylock.toml、私有副本及工具字节在执行前后核对。
TDD:受控程序输出完整 JSON,包含与当前标准锁整组组件一致的 Flask 0.5 / PYSEC-2019-179,然后异常码 2 退出。旧 CLI 返回 native_report_valid=false 和空 finding,目标测试先 RED。修正后对完整 JSON 独立解析,重用原始锁归属检查;报告保留一条待核验 advisory、真实原生退出码 2 和 pip_audit_execution_incomplete。native_report_valid=true 只表示报告结构与锁归属有效;local_scan_complete=false、coverage_proven=false、delivery_decision=not_evaluated、CLI 退出 3 不变。已初始化工作区保存报告,并同步一张稳定 Python CVE 完整性任务,部分 advisory 不升级为获批准的漏洞或交付门禁。
同一目标测试还覆盖完整报告后超时和其它输出超过共同 16 MiB 配额:分别保留 request_deadline_exceeded 与 pip_audit_output_limit,无原生整数退出码,finding 仍只作待核验证据。残缺 JSON 后异常退出或输出超限都保持零 finding;原生报告中的包若不在锁里,也不能归属为项目漏洞。测试位于 crates/codeguard-cli/tests/python_cve_cli.rs。
2026-09-29 复验:该用例在全工作区与单测重复中偶发得到泛化 pip_audit_execution_incomplete,并非 CVE 解析误报;运行时确认输出已达到 16 MiB,但 macOS 对已退出进程组的信号偶发 EPERM,将主终止归类覆盖为 CleanupFailure。运行时在等待后再次核实组不存在才保留输出超限,目标 Python CVE 用例连续 15 轮通过,部分 advisory 与未完成状态仍按原协议保留。独占构建目录运行的 cargo test --workspace --all-features -- --test-threads=1 -q 退出 0;远端 CI 验收仍未完成。
独立 Draft 2020-12 验收对异常退出、超时、输出超限及残缺报告四组实际 CLI JSON 和各自保存的工作台 JSON 均通过,分别有 1、1、1、0 条 finding;四组均退出 3、未完成、零 schema 错误。schema 的 URN 本地引用在验收脚本中以文件 URI 注册;Python 只负责独立验收,不在产品执行路径。完整的原生 pip-audit 故障、PEP 751 环境/extra/组选择、漏洞数据库来源和时效、其它适配器及通用 F01–F10/F17 矩阵仍需验收,5.5/7.2 不勾选。
总入口对照又暴露一个状态误判:部分报告的 native_report_valid=true 曾使 check all 把 Python CVE 执行节点标为 native_observed_unverified,类别候选也显示已观察,而原生退出码 2 明确说明检查未完成。新增 CLI 反例先 RED;现只有符合正常退出契约的 native_advisories_observed_unverified 或 native_zero_advisories_unverified 可让该执行节点成功。异常退出和输出超限均保留 native_results.python_cve 中的 advisory,但 execution_tasks.python.cve.* 与 Python/CVE 类别候选为 native_incomplete,unresolved_conditions 包含 python_cve_task_incomplete。目标 Python CVE 文件 11 项普通测试通过;独立 Draft 2020-12 对两份实际 check all 报告验证通过,均退出 3、有一条发现、零 schema 错误。总入口修正仍不代表真实工具、完整覆盖或正式交付门禁完成,2.3/7.2 不勾选。