SuperAPI AI 工具集

ruview-verify

测试与质量

查看项目

更新于 10-16 04:07

技能介绍

ruview-verify 是 RuView 项目的「验证与存证捆绑(Verification & Witness Bundle)」,定位为该项目的信任流水线。官方要求在执行有意义的改动之后、以及合并之前运行。

用途

用于对 RuView 构建进行可验证、可复现的校验,覆盖 Rust 工作区测试、确定性的 Python 流水线证明(Trust Kill Switch)、固件哈希清单,以及 ADR-028 相关的存证产出。

主要能力

  1. Rust 工作区测试:在 v2 目录下执行 cargo test --workspace --no-default-features,要求 1,400+ 通过、0 失败(约 2 分钟)。也支持单 crate 检查(无 GPU),例如 cargo check -p wifi-densepose-train --no-default-features、cargo test -p wifi-densepose-signal --no-default-features 等。

  2. 确定性 Python 证明(Trust Kill Switch):将参考 CSI 信号送入生产流水线并哈希输出,任何行为漂移都会改变哈希。运行 python archive/v1/data/proof/verify.py,必须输出 VERDICT: PASS。若因合法的 numpy/scipy 升级导致哈希不匹配,可先 --generate-hash 再重新运行。相关产物包括 verify.py、expected_features.sha256、sample_csi_data.json(1,000 帧合成数据,seed=42)。

  3. Python 测试套件(v1):cd archive/v1 && python -m pytest tests/ -x -q。

  4. 生成存证捆绑包(ADR-028):运行 bash scripts/generate-witness-bundle.sh,生成 dist/witness-bundle-ADR028-<sha>.tar.gz,内容包含 WITNESS-LOG-028.md(33 行证明矩阵)、ADR-028-esp32-capability-audit.md、proof/verify.py 与 expected_features.sha256、rust-workspace-tests.log、固件哈希清单(7 个 ESP32 固件文件的 SHA-256)、crate 清单(15 个 crate 及版本)、以及 VERIFY.sh 一键自校验脚本。

  5. 自校验存证包:进入解压目录后执行 bash VERIFY.sh,要求 7/7 PASS。

  6. 安全扫描:npx @claude-flow/cli@latest security scan,在安全相关改动后执行。

  7. QEMU 固件 CI(ADR-061):11 个作业的工作流(Firmware QEMU Tests),本地 QEMU 辅助脚本包括 qemu-esp32s3-test.sh、qemu-mesh-test.sh、qemu-chaos-test.sh、qemu-snapshot-test.sh、install-qemu.sh。

使用方式

按官方给出的顺序执行上述命令:先跑 Rust 测试,再跑 Python 确定性证明与 v1 测试套件,然后生成存证包并自校验。同时参照 CLAUDE.md 的 Pre-Merge Checklist 执行合并前检查,例如更新 README/CLAUDE.md/CHANGELOG/user-guide、在新增 ADR 时更新 ADR 索引、在测试或证明哈希变化时重新生成存证包、仅在 Dockerfile/依赖/运行时行为变化时重建 Docker Hub 镜像、仅在某已发布 crate 的公开 API 变化时按依赖顺序发布、为新构建产物更新 .gitignore、对涉及硬件/网络边界的新模块做安全审查。

适用场景

适用于 RuView 项目的开发者在做出有意义改动后、合并前进行验证;也适用于将存证包交付给接收方后由接收方用 VERIFY.sh 独立自校验的场景。

限制

资料未说明该技能支持的操作系统、Python 与 Rust 版本要求、运行所需的硬件条件(除提及部分检查无 GPU 外),也未提供收费、价格、许可信息。QEMU CI 中部分注意事项(如 Espressif 容器需先 source $IDF_PATH/export.sh、QEMU 需 esptool merge_bin --fill-flash-size 8MB、无真实 WiFi 的 WARN 在 CI 中视为 OK)以官方说明为准。