feat(extensions): 安装前解析有界依赖锁
This commit is contained in:
@@ -49,3 +49,12 @@ ZIP 在解压前独立校验中央目录计数、重复原始名称、本地头
|
||||
清单解析最多 1 MiB、32 层、10000 个节点、一个文档,限制别名及记录的锚点大小;重复键、包含指令、循环别名、非 UTF-8 和未知 schema_version 拒绝。关闭文件包含与环境插值特性。JSON 类别先验证 JSON 语法再进行重复键检查,不接受伪装为 JSON 的 YAML。
|
||||
|
||||
Theme 必须声明 theme_id;Skill/Plugin 支持 Runtime 现有的 id 或专用 skill_id/plugin_id,两者同时出现须相等。YAML 类型版本及全部类型权限集合须与发行一致,重复权限拒绝。人设、模板、MCP 和模型方案检查各自基本结构及递归秘密字段;声明式包通过检查不代表已具备运行权限。项目自带 markdown-workbench/note-reviewer 清单已在 Rust 和 Community 校验中验证。
|
||||
|
||||
|
||||
## 本地依赖锁预览
|
||||
|
||||
Rust 暂存库可为指定根发行生成只读依赖预览。依赖键为同命名空间的包 ID,或同一来源下的 `namespace/package_id`;不跨来源借用同名包。完整裸版本(如 `1.2.3`)表示精确版本,其余采用 Rust SemVer 的 `=`, `^`, `~`, 比较符、通配符和逗号交集语法;不支持的范围明确拒绝,不能当作任意版本。
|
||||
|
||||
预览固定根发行,优先选择符合全部约束的较新稳定版本,发生依赖冲突时回溯;验证应用 min/max 版本、平台和架构,按依赖先于使用者输出。缺包、版本冲突和环均不生成部分结果。预算为同来源最多 4096 个候选、64 MiB 元数据、200 个解析包、10000 次搜索展开和 4 MiB 预览编码。
|
||||
|
||||
锁定结果包含来源、命名空间、包类型/版本、归档摘要、签名者摘要、完整发行摘要和权限集;整体摘要另绑定应用版本与目标平台/架构。所选包会重新读取归档并复核签名与清单。该本地预览不下载缺包、不启用实例、不授予许可;正式安装仍须在线复核撤回状态并确认权限,随后按锁定结果执行事务。
|
||||
|
||||
@@ -172,3 +172,13 @@ Core 的独立数据目录目前不等于已授权 Vault。Python 旧笔记写
|
||||
## 远端测试服务就绪复查
|
||||
|
||||
`http://yui.kronecker.cc:18080/health` 返回 200 / status=ok,`/ready` 返回 503 / DEPENDENCY_UNAVAILABLE。SSH 域名地址与公开 AAAA 地址均在认证前关闭连接、未返回 banner,尚无法读取 Docker/数据库/对象存储诊断。未执行任何远端修改,也未判定为密码错误。已询问 SSH 入口是否改变;本地工程继续推进,不因这一单项暂停整体目标。证据 `.build/acceptance/sync-readiness-current.json`。
|
||||
|
||||
|
||||
## 增量:确定性依赖锁与兼容性预览
|
||||
|
||||
- 暂存库新增只读依赖预览,固定根发行,只使用同来源候选;无命名空间的键归属当前命名空间,显式 namespace/package 也必须来自同来源。较新版本优先,遇到菱形冲突会回溯选择满足全部约束的版本,结果按依赖先于使用者输出。
|
||||
- 裸完整版本表示精确约束;范围采用明确的 Rust SemVer 语法,未知范围拒绝。应用 min/max、平台和架构不兼容拒绝;缺包、版本冲突、依赖环或预算超限不返回部分计划。
|
||||
- 锁定结果绑定包身份、完整签名发行、ZIP、签名者、权限及目标应用/平台/架构。选中包重新从暂存对象读取并校验签名和清单;重开后摘要稳定,归档损坏会拒绝。尚无安装/停止实例的副作用。
|
||||
- 预算为同源 4096 候选 / 64 MiB 元数据、200 解析包、10000 搜索展开与 4 MiB 预览编码。测试覆盖输入乱序、菱形回溯、环、缺包、精确版本、平台不兼容、来源/命名空间隔离、深图和过大预览。
|
||||
- Rust desktop 全目标 69 项通过(两个既有特殊入口 ignored);其后补充预览编码上限,4 项依赖测试和最终 Clippy `-D warnings` 通过。日志 `.build/extension-dependencies-rust-tests.log`。依赖使用已锁定的 semver 1.0.28。
|
||||
- 正式安装的在线撤回复核、权限确认、解包与包/配置原子切换、健康检查和回滚仍未完成,不能据此通过完整 D-03/D-04。
|
||||
|
||||
Reference in New Issue
Block a user