M9:桌面壳与收口——镜匣最小壳、器谱登记、发布证据落位、重写计划功成身退

- 镜匣 desktop/(Tauri v2 最小壳):WebView 承载琉璃镜(frontend/out 或 devUrl);能力桥最小命令(通知);乾坤通道 HMAC 短期凭证构造(与 sandbox/src/auth.rs 验签同算法,密钥仅经 SANDBOX_AUTH_SECRET 环境注入——二进制零平台密钥,静态审计钉死);hard_stop/resume 本地硬急停原子断路(全部通道命令过 ensure_not_halted,本地最高优先级不经云端);tantivy 依赖与 capabilities/ 目录预留;updater 插件位预留;cargo check 通过
- 器谱域 domains/tianzai(迁移 010):devices/device_grants——一次配对(密钥指纹登记)、逐项授契(可授面显式枚举,未知能力键拒)、撤回立即生效、设备撤销连带全部授契失效且不可再授;/devices 器谱 API 组
- 发布收口:release-evidence.md 落位重写期 RW-* 证据包(M0–M9 十里程碑验收自动化套件与结果物);能力矩阵 M9 行收官;rewrite-plan.md 按计划删除(M0–M9 全部完成,能力矩阵与证据台账接棒),全库引用清理
- 验收(test_m9_jingxia 四用例):器谱未授契 403 留痕/撤回即效/设备撤销连带;镜匣零平台密钥(rg 审计源码与配置为空);硬急停语义钉死(通道命令全检查+resume 唯一恢复+HMAC 无密钥不出凭证)
- 五套件终检全绿:后端 349、前端 203、BFF 4、神识 5 包、镜匣 cargo check(2 个预存环境失败历次 HEAD 复验与本周期无关);Compose nginx profile 配置校验通过
This commit is contained in:
chenxin committed 2026-08-28 09:35:27 +08:00
1 parent c63b75152a
commit 2483a25f63
29 files changed
+10533 -179

No files matched your search

+26
View File
@@ -0,0 +1,26 @@
# 镜匣 · 魂镜最小桌面壳(hunjing 桌面端)
> 文化命名「镜匣」(契约词典 §2):桌面 WebView 壳——承载琉璃镜、本地能力桥、乾坤通道与本地硬急停。
## M9 最小形态
- **WebView**:`tauri.conf.json` 指向 `../frontend/out`(构建产物)或开发服务器 `http://localhost:3000`;
- **能力桥**:`send_notification` 等最小命令;器谱逐项授契(灵台 `/devices` 器谱裁决),未授契能力被拒;
- **乾坤通道**:`qiankun_grant` 构造 HMAC 短期凭证(与 `sandbox/src/auth.rs` 验签同算法);密钥读自 `SANDBOX_AUTH_SECRET` 环境变量——**二进制零平台密钥**;
- **硬急停**:`hard_stop` / `resume`——本地原子开关,触发即断全部通道(不经云端,优先级最高);
- **tantivy 本地检索**:依赖已声明,`capabilities/` 目录预留,M9 不做实现。
## 验收(M9 发布门)
1. **零平台密钥**:`rg -i 'sk-|api[_-]?key\s*=' src/ tauri.conf.json capabilities/` 为空(密钥只经环境注入);
2. **未授契能力被拒**:乾坤凭证构造必须配密钥;器谱能力断言走灵台司命链(403 留痕);
3. **硬急停可用**:`hard_stop` 后 `qiankun_grant`/`send_notification` 全部拒绝,`resume` 显式恢复。
## 本地运行
```bash
# 前端构建产物(或使用 devUrl 指向开发服务器)
cd ../frontend && pnpm build
# 运行镜匣(乾坤通道需本地沙箱密钥;不配置时通道关闭,其余照常)
cd ../desktop && cargo run
```