# 执行与证据 ## 授权与起点 - 已在方案与「先实现 install、统一新源」说明之后授权实施并同意任务登记,不重复询问。 - 主仓库 a2e0436、skill 27ac8f2 起点均 clean。 - 备份 target/install-before.WTVfLC/core.tar.gz 与 skills.tar.gz。 ## 顺序与所有权 1. [x] trellis-implement:Python 安装器、生成器、根 install、Rust ReleaseSource、根 test/ 定向测试及既有验收 harness 路由。不修改文档、spec、Git 元数据、版本号。 2. [x] 主会话:README、安装说明、SDK 发布说明与规范;真实签名包的新入口自有镜像验收,不修改全局服务。 3. [x] trellis-check:独立检查完整 diff,修复确有的安装/边界/测试缺陷,核验生成物一致性。 4. [x] 主会话:关键证据、必要复验、diff/资源清理、实现验收收口;准确说明线上端点与新包未发布。提交归档随后续迁移统一处理。 ## 定向验证 - bash -n install;实际 Bash 文件/管道帮助和失败路径。 - Python onboarding installer 与新增入口定向测试。 - cargo test --offline -p dever-cli --lib toolchain::release_source;修改文件格式检查,不跑全量。 - 真实旧 0.1.1 签名基础包,通过 bash install --release ... --system-root ... --no-start 安装自有镜像。旧二进制不证明新源线上 update。 - 生成器 --check、git diff --check、skill 文档检查。 ## 结果 - Python 定向 `python3 -B -m unittest discover -s test/onboarding -p 'test_install*.py' -v`:19/19 通过。包含实际 Bash、真实 Ed25519、独立公钥、字面参数与退出状态、非 root UID help 和进程内 sudo 拦截;没有实际提权/全局服务操作。 - Rust `cargo test --offline -p dever-cli --lib toolchain::release_source`:10/10 通过。实际本地 HTTP 传输断言 latest 两份元数据后从签名准确版本取 archive。复用 target/debug,未跑全量。 - 原有作者 rustfmt 对修改 Rust 文件检查通过。主会话复核生成 --check、bash -n、主/skill diff --check 和 skill quick_validate 均通过。 - `test/onboarding/verify_install_entry.py` 真实 0.1.1 签名资产验收 4/4 通过,报告 `target/install-entry-acceptance.json`:Rust 验签解包准备、独立 Bash 首装且 core/skill 对应、管道重装保持核心与选择、坏签名拒绝且原 journal/core/bootstrap 不变。自有 /dev/shm 临时目录已清理,没有启动全局服务。 - 初次验收报告保留为 `target/install-entry-acceptance-initial.json`。首装通过后,重复安装因测试误要求 active-version 字节完全相同失败;实际 `bootstrap/transaction.rs` 明确追加激活记录。仅修正验收:重复安装比较实际选中版本与负载字节,失败安装仍严格比较 journal 字节。生产安装行为未放宽,重跑完整4阶段通过。 - 根 install 为 13,938 字节,摘要 `3cab983b5093c4a7075f28707042c672a00ce754888ac3e7c9f85853d40ae7eb`;真实验收使用旧版负载,不表示新版本构建、线上安装或线上 update。 - 任务分支 `feat/install-entry`;未提交、推送、改 Git remote 或合并 skills 子仓库。后续迁移发布需新版本 core/launcher/daemon 与完整配套 skill,部署匿名 HTTPS 安装/资产路由。 - 独立 trellis-check 最终无阻塞、未修改产品文件;再次核对生成脚本与真实验收报告 SHA 完全一致,认可 bootstrap 同版本激活记录的测试边界。全部本次验收已满足,未跑全量 clippy、全量 CI 或线上安装。 ## 合仓与发行阶段(2026-10-05) 用户已批准前述后续交付方案,继续使用本任务记录,不重复请求创建任务或实施批准。 - [x] 主会话:当前源码和 Git 历史备份;skills 普通目录化;新远端核验、提交推送;同步安装/源码文档。 - [x] 发行 worker:准备新版本精简发行,复用既有制作和验收脚本,报告实际包体;不操作 Git、全局安装或服务。 - [x] 主会话:核对新包及匹配 skill,准备完整静态部署目录,完成隔离本地安装验收。 - [ ] 发布静态端点并完成真实 HTTPS 首装/update 验收;缺少站点部署接入,不能用本地结果代替。 - [ ] 线上验收完成后归档;当前保持 in_progress。 初始只读证据:新 SSH 仓库 ls-remote 成功且无 refs;HTTPS /shemic/dever/install 返回 404。已询问站点部署方式,等待期间继续合仓与可离线完成的新包准备。系统盘剩约 368 MiB,/dev/shm 约 2.4 GiB,优先复用资产和缓存,不能删除其它项目或部署数据。 ### 当前证据 - 备份目录 `target/migration-backup.pBIq3U`:当前源码 tar.gz(不含构建物、Git元数据、密钥与本地配置)、完整 `core.bundle` 和 `skills.bundle` 均验证通过;原 `skills/.git` 移入此目录,保留本地历史和配置。 - `skills/` 已从 gitlink 改成主仓库 21 个普通文件,删除唯一 `.gitmodules` 及本地 submodule 配置。`origin` 已切至新 SSH 地址,旧远端以 `github` 保留;没有向旧远端推送。 - 生成 install `--check`、Bash语法、skill结构和diff检查通过;同仓说明、模板和新源文档已同步。 - 此前 skill约束和CLI接线一并进入本版:`check/run/build` 共用 C016;CLI新增5项及既有1项定向回归通过,CMS普通/Markdown静态check均通过(各7条既有W001)。不扩大冗余判定、不声称所有CRUD包装都可识别。 - 发行版本设为0.1.2,core/launcher/daemon在自有tmpfs目录串行离线重建;不重编未改的runtime。为本轮发行空间,Cargo仅清理本地dever-cli dev构建产物,释放236.7MiB,可从源码恢复;旧release、作者输入和备份保留。 ### 0.1.2 合仓、构建与验收结果 - 产品提交 `19f122b4b4f7cf977059d127db6971c5dfc07b1d` 已推送新 `origin/main`,远端默认分支为 main;保留 v0.1.0、v0.1.1 标签。从新 SSH 地址重新克隆,未使用 submodule 即获得全部 skill,生成入口、Bash语法及skill结构检查通过;临时克隆已清理。 - core/launcher/daemon 真正离线 release 重编完成,源码和skill固定在上述提交;依赖与runtime实现未改。已核对8116项作者输入,8份未变扩展与0.1.1字节相同并硬链接复用,ARM应用target按0.1.2重新组包。这仍是 Linux x86_64 编译器发行,宿主要求 glibc >= 2.39。 - 基础包 `target/release-0.1.2/assets/dever-linux-x86_64.tar.zst` 为 **117,507,272字节(112.064MiB)**,仅比0.1.1增加26,064字节(25.45KiB)。解压600,851,668字节。基础包SHA256为 `d8e7628d42688628b5d3007fa074e3aad75607917bc34cb34fbebed62b40ee75`。 - 主会话复核新二进制摘要与构建记录一致,启动器和daemon内嵌新官方源;core增4,288字节,启动器和daemon分别减256及320字节,未添加新依赖。 - `target/release-0.1.2/acceptance.json`:8/8通过。真实签名包隔离首装、基础包排除可选扩展、版本入口、普通和Markdown模板的new/fmt/check/最小test/CMD/build、skill同步、缺target离线报错,以及移除源码/机器目录后的独立程序运行。 - `check-acceptance.json`:2/2通过,发行包check实际拒绝不可达app并返回C016,新建项目模板与冻结skill一致。 - `install-entry-acceptance.json`:4/4通过,实际生成的Bash首装、管道重装、坏签名拒绝且保留已有安装。此处为本地官方签名资产验收,未声称真实HTTPS或线上update通过。 - 主会话使用独立公钥重新验证manifest签名,流式复算全部14份发行文件的大小和SHA256;manifest中21份skill文件与本仓源码逐一一致。可部署目录 `target/release-0.1.2/public/` 包含 `install`、`dist/0.1.2/` 全部资产及 `dist/latest/` 两份匹配元数据;资产用硬链接,不额外复制约597MiB。 - 构建输入、实际体积、构建日志分别保存在同目录 `provenance.json`、`sizes.json`、`build.json`。自有daemon、tmpfs挂载、临时私钥副本与本轮Cargo目录已清理。未运行全量CI、三生态重验、长测或宿主全局服务操作。 - 独立发行复核无新增阻塞:源码提交、manifest、安装脚本与验收报告一致,public目录无私钥、作者配置、测试记录或符号链接。`v0.1.2` 注释标签已固定到产品提交19f122b并推送新origin;Git标签不代表HTTPS端点已部署。 ### 待上线的唯一交付阻塞 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检查要求。