refactor: keep root install as the sole installer source

This commit is contained in:
Antigravity committed 2026-10-05 03:36:25 +00:00
1 parent 6491a766f4
commit a46bd6e132
14 files changed
+95 -385

No files matched your search

+2 -2
View File
@@ -2,9 +2,9 @@
## 唯一安装实现
保留 skills/scripts/install.py 的下载、签名校验、raw launcher 校验与 Rust 解压/bootstrap 调用链。sdk/install-entry.py 从该源码和 skills/assets/release.pub 生成根 install。Bash 只负责 Python 前提检查、必要的 sudo 和把完整 Python 程序通过引用 heredoc 交给 /usr/bin/python3 -I -,参数原样转发。完整函数定义在最后调用前解析,截断的主体不执行安装。
2026-10-05 用户在合仓后明确要求只保留根 install,取代之前的 skill安装器加生成器方案。根 install 直接维护既有下载、签名校验、raw launcher 校验与 Rust 解压/bootstrap 调用链。Bash 只负责 Python 前提检查、必要的 sudo 和把内嵌 Python 程序通过引用 heredoc 交给 /usr/bin/python3 -I -,参数原样转发。完整函数定义在最后调用前解析,截断的主体不执行安装。
生成器注入独立固定公钥而不是从下载包取公钥;源 skill 的普通 Python 调用仍使用配套公钥文件。Python main 接受内嵌默认公钥参数;具体嵌入使用清晰的源码封装,避免手工复制第二份算法或脆弱的源码字符串替换。
根脚本内嵌独立固定公钥,不从下载包取公钥;显式 --trusted-key 仍支持已独立确认的自有签名包。删除双入口专用的生成包装和skill相对路径。普通测试与发行验收统一消费根 install;测试用加载器只读取实际内嵌源码,不保存第二份安装实现、不成为生产依赖。
默认版本 latest;元数据为 dist/latest/dever-<platform>.manifest.json 与 .sig;验签后只从 dist/<signed-version>/ 获取基础 archive、raw blobs 和扩展。Rust ReleaseSource 与 Python 使用同一静态协议。只允许官方 HTTPS 同站重定向,禁止凭据、非 443、fragment 和外站。没有环境变量/项目配置覆盖和旧源 fallback。
@@ -68,3 +68,16 @@
### 待上线的唯一交付阻塞
2026-10-05最后复核,`https://git.dever.cc/shemic/dever/install` 与 `/shemic/dever/dist/latest/dever-linux-x86_64.manifest.json` 均为HTTP404。已向用户询问SSH主机、端口、账号与静态目录,或既有部署配置位置;目前仅有Git SSH访问,不能据此推定服务器shell/路由配置。发布时将上述public目录映射至 `/shemic/dever/`,然后在自有隔离安装中验收真实HTTPS首装与update。部署完成前不归档、不标为全部交付完成。
### 合仓后的安装入口清理(用户新增授权)
用户确认只保留根install。旧设计中skill安装器作为源码、根入口作为生成物的约定被替代;前述发行验收是历史证据,不能据此宣称本次改动已验证。
- 实现边界:根install成为唯一安装源码,删除 `skills/scripts/install.py` 和 `sdk/install-entry.py`,迁移根test/onboarding内的测试和发行验收调用,更新当前安装指引与规范。
- 保持固定下载源、独立公钥、验签/路径/摘要校验、Rust解压及bootstrap、失败清理、Bash参数传递/提权/截断保护。仅移除双入口专用逻辑,不修改Rust或已签名0.1.2发行资产,不运行全量或全局服务验证。
- trellis-implement负责安装脚本和测试;主会话负责指引、规范、任务记录,完成后独立检查实际diff与定向证据。
- 原19项安装定向测试19/19通过,无跳过;保留文件/管道help、字面参数与退出码、隔离Python、真实非root UID的sudo截获、截断不执行、默认官方公钥拒绝自签包、显式可信key接受及篡改拒绝/清理。三个发行验收脚本的导入/help、Bash语法、skill结构、diff和旧活动引用扫描通过。
- 主会话补验真实Bash签名/清理1/1通过。首次补验因根盘满在fixture创建阶段失败,改为仅本测试进程的 `/dev/shm` 临时目录后通过,未修改产品环境或增加环境变量配置。
- 删除旧安装器的Python缓存及空 `skills/scripts/` 目录;源码可从Git历史恢复。为提交空间删除本轮 `target/release-0.1.2/tools/dever-core` 编译器副本(16,956,160字节,摘要已核对);完整同字节核心仍保存在签名基础包,可由已有解包器恢复,其余工具与签名资产保留。
- 新根install为13,632字节,SHA256 `2b07829c7c7c7d76b8fd257239b4ab44816e064951f66e33ffd6e2bdcfce92ef`。已制作的0.1.2版本/tag及签名包仍固定在原产品提交19f122b;本次未重新发行,不把旧安装验收报告当成新脚本的验收报告。
- 待部署的 `target/release-0.1.2/public/install` 已同步新根入口并逐字节核对;dist签名资产未改。独立检查确认下载/验签等函数与原版本AST一致、Bash包装参数及尾部调用保持,未引入第二套生产安装实现;已清理规范中最后一处generator检查要求。
+1 -1
View File
@@ -19,7 +19,7 @@
## Acceptance Criteria
- [x] Bash 语法、直接/管道 help、参数转发、退出状态、非 root 提权与截断脚本行为有最小定向验证。
- [x] 生成物与现有安装器/独立公钥一致,不存在手工维护的第二套安装逻辑。
- [x] 根 install 是唯一安装源码;删除skill安装器与生成器、迁移相关测试及验收调用,保留独立固定公钥和既有安装行为。(2026-10-05 合仓后用户修订)
- [x] Python/Rust 新源 latest/精确版本/扩展地址一致,拒绝非法重定向。
- [x] 真实 Ed25519 校验、损坏拒绝、临时文件清理保持通过;实际签名包可通过新入口安装到自有镜像,不启动宿主服务。
- [x] 必要定向测试和 diff 检查通过,文档说明命令、发布目录、旧版迁移和线上未验证边界。