状态:Accepted
rustup show
rustup target add wasm32-wasip2
cargo --version
wasm-tools --version工具链由仓库固定。不要通过本地 +stable 绕过,也不要提交仅在未锁定 nightly 上可用的功能。
分支创建、提交时机、commit message、PR 与合并必须遵循仓库根目录的 CONTRIBUTING.md。
- 核对
git status、git branch --show-current和基线:任何 Git 修改操作前不假设共享工作区状态; 普通任务显式从最新dev分出(git checkout -b <name> dev),hotfix 显式从最新main分出,并 确保没有夹带其他协作者的修改或预期外提交。 - 关联
product/requirements.md的需求 ID 和 P0 验收项。 - 读取对应事实源,确认 crate 归属、安全和平台影响。
- 先写失败测试或明确手工复现,再实现最小完整切片。
- 运行目标 crate 快速检查,再运行 workspace 门禁。
- 更新文档与实测证据;在交付中列出未运行的平台/测试和原因。
快速检查示例:
cargo test -p floatile-core --locked
cargo clippy -p floatile-platform --all-targets --locked -- -D warnings默认提交门禁:
cargo fmt --all -- --check
cargo check --workspace --all-targets --locked
cargo clippy --workspace --all-targets --locked -- -D warnings
cargo test --workspace --all-targets --locked
cargo check -p floatile-sdk --target wasm32-wasip2 --locked
cargo deny --locked check advisories bans sources文本换行与编码门禁:git ls-files --eol 必须全部为 i/lf,且被追踪文件不得含 UTF-8 BOM
(CI 已执行此检查;本地可用同款命令自查)。CRLF/BOM 提交视为未通过门禁,先执行
git add --renormalize . 归一化基线再提交。
cargo deny --locked check licenses 在许可 ADR 完成前预期阻断;它是发布门,不得通过忽略 Slint 或
放宽所有 copyleft 许可证来绕过。
| 变更 | 附加验证 |
|---|---|
| WIT/lifecycle/runtime | host/Rust/TS adapter 生成物无 drift;guest 构建;串行 actor、超时/取消;版本兼容;wasm-tools validate |
| UI schema/SDK/renderer | Rust/TS 类型与组件同源;IR/State/Event 正反例;patch 原子性/配额;preview 与行为 vectors |
| manifest/package | schema 正反例;UI/WASM/assets;路径穿越、链接、规范碰撞、重复项、zip-bomb、大小与原子安装 |
| Broker/能力 | allow/deny/scope/quota;审计脱敏;恶意插件;宿主存活 |
| store/migration | 空库、旧版本升级、事务失败、重复运行与数据保留 |
| platform/window | 对应 OS 构建;能力 probe;真实显示环境步骤;矩阵回填 |
| UI/性能 | release 构建;首帧、CPU、RSS、帧率、patch latency、单/10 实例;环境与原始值 |
| 依赖升级 | Cargo.lock diff;cargo-deny;三平台构建;关键 API/行为回归 |
CI 负责三 OS 编译/lint/test、wasm guest 检查和依赖门禁;它不能替代透明度、点击穿透、DPI、 热插拔、帧率等真实桌面验收。手工证据写入平台矩阵或验收记录,包含日期、环境、commit、release 构建、步骤、结果和日志/截图位置。
dev 是持续集成目标,必须通过基础 workspace、WASI 和依赖门禁;main 的 release PR 还必须
满足许可、三平台 release 构建、相关真实平台/性能/安全验收与版本证据。CI 通过不授权跳过
CONTRIBUTING.md 规定的 PR、审查、合并或标签流程。
如果某目标环境不可用,结论写 未验证;不要复制设计表中的 ✅。允许 P0 因平台限制失败,但必须
记录可复现证据、降级行为和产品影响。
- 关联需求/风险/ADR:
- 范围与非范围:
- 安全、平台、兼容与许可影响:
- 自动化测试命令和结果:
- 手工验证环境和证据:
- 未验证项与后续条件: