feat: ship dual-signed online module marketplace
This commit is contained in:
parent
3153771bf2
commit
b0eeade03d
40 changed files with 5774 additions and 111 deletions
|
|
@ -0,0 +1,53 @@
|
|||
# Qwen 本地执行 Agent 训练回执 · 线上双商城
|
||||
|
||||
- 日期:2026-08-19(Asia/Shanghai)
|
||||
- 人类授权主体:冰朔
|
||||
- 执行载体:本机 Qwen Code CLI,`qwen3.7-plus`,只读沙箱
|
||||
- 训练类型:工程审查轨迹与规则纠正记录;不声称修改模型权重
|
||||
- 任务:审查并帮助收敛 HoloLake 的线上成品模块商城、只读思维技能商城及公共双签发布链
|
||||
- 写权限:未授予
|
||||
- 部署权限:未授予
|
||||
- 密钥读取:明确禁止
|
||||
|
||||
## 运行轨迹
|
||||
|
||||
1. 第一次启动失败:新版 CLI 的非交互模式需要明确的 `--auth-type openai`。失败没有改变仓库或系统状态。
|
||||
2. 第一轮只读审查成功:识别到原实现缺少物理模块与认知技能的类型分离、技能无执行权机器约束、线上验签目录、目录双签及回滚/同纪元歧义测试。
|
||||
3. 主控实现后进行第二轮只读审查:覆盖合同、Rust 运行时、编号 IPC、用户界面、两类技能包、原点发布脚本、企业复签脚本与 Nginx 静态分发。
|
||||
4. 第二轮结论:无 Critical / High;报告 2 个 Medium、4 个 Low。主控对每项重新读取代码并独立裁决。
|
||||
|
||||
## 接受并进入主线
|
||||
|
||||
- 一个商城界面下保持两条运行链:`PHYSICAL_MODULE` 与 `COGNITIVE_SKILL`。
|
||||
- 思维技能的 `executionAuthority=false`、`permissions=[]`、`skillReadonlyGuarantee=true` 同时由目录和技能包运行时强制。
|
||||
- 目录必须由零点原核公众范围签名者与企业分发签名者双签。
|
||||
- 目录 epoch 单调;旧 epoch 和同 epoch 不同内容均失败关闭。
|
||||
- 仓库 URL 只作为精确提交来源证据;客户端只下载不可变验签制品,不克隆、不执行来源仓库。
|
||||
- 物理模块安装完成后清理下载缓存;模块运行时仍保留正式包、状态与回执。
|
||||
- Agent 报告促使主控额外发现并修正一个更准确的问题:Nginx 对制品使用 `immutable` 时,制品 URL 也必须是内容寻址。发布脚本与 Rust 客户端现共同强制 SHA-256 文件名。
|
||||
- 发布阶段的符号链接竞态通过“复制时保留链接、复制后再次拒绝整个树”进一步收紧。
|
||||
|
||||
## 明确拒绝或改写
|
||||
|
||||
- 拒绝“self-test 失败就自动删除安装证据”。失败包保持 `FAILED_CLOSED` 有利于取证且没有激活功能;重新安装入口仍可见。自动清理会削弱真实回执。
|
||||
- 拒绝“卸载技能时删除包”。现行合同要求停用保留包与回执,以便审计和回退;这不是泄漏。
|
||||
- 拒绝“health 缺少 no-store”。审查时配置已经包含 `add_header Cache-Control "no-store" always;`,属于误报。
|
||||
- 不采纳“未来浮点字段可能导致跨语言 canonical JSON 分歧”作为当前缺陷。目录结构 `deny_unknown_fields` 且没有浮点字段;现行固定结构已经由 JS、Python 和 Rust 端到端发布验证覆盖。若未来合同增加数值字段,必须先增加跨语言固定向量。
|
||||
- 改写“前端字面量类型能阻止后端返回 true”的论证:TypeScript 不能构成运行时安全边界。可信边界是 Rust 输出固定 false、技能包验证和编号运行时隔离;前端类型只用于显示期约束。
|
||||
|
||||
## 已执行验证
|
||||
|
||||
- Rust 商城安全测试:双签、技能无执行权、epoch 回滚、同 epoch 歧义。
|
||||
- Node 合同测试:双商城分链、编号 IPC 完整性、两个技能包 canonical payload digest。
|
||||
- TypeScript 与 Vite 生产构建。
|
||||
- 企业服务器真实 Python/cryptography 发布演练:原点签名验证、企业复签、四个制品摘要、原子 `current` 切换和健康文件读回。
|
||||
|
||||
## 下一轮 Agent 应先读
|
||||
|
||||
1. `contracts/online-marketplace.json`
|
||||
2. `src-tauri/src/online_marketplace.rs`
|
||||
3. `scripts/prepare-public-distribution-release.mjs`
|
||||
4. `server-tools/public-distribution/publish_release.py`
|
||||
5. 本回执的“明确拒绝或改写”一节
|
||||
|
||||
后续审查不得把思维技能解释为可执行插件,也不得把仓库克隆解释为客户端安装方式。
|
||||
Loading…
Reference in a new issue