ruview-verify 是 RuView 项目的「验证与存证捆绑(Verification & Witness Bundle)」,定位为该项目的信任流水线。官方要求在执行有意义的改动之后、以及合并之前运行。
用途
用于对 RuView 构建进行可验证、可复现的校验,覆盖 Rust 工作区测试、确定性的 Python 流水线证明(Trust Kill Switch)、固件哈希清单,以及 ADR-028 相关的存证产出。
主要能力
-
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等。 -
确定性 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)。 -
Python 测试套件(v1):
cd archive/v1 && python -m pytest tests/ -x -q。 -
生成存证捆绑包(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 一键自校验脚本。 -
自校验存证包:进入解压目录后执行
bash VERIFY.sh,要求 7/7 PASS。 -
安全扫描:
npx @claude-flow/cli@latest security scan,在安全相关改动后执行。 -
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)以官方说明为准。