Files
core/.trellis/tasks/10-05-install-entry/implement.md
T

53 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 执行与证据
## 授权与起点
- 已在方案与「先实现 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)
用户已批准前述后续交付方案,继续使用本任务记录,不重复请求创建任务或实施批准。
- [ ] 主会话:当前源码和 Git 历史备份;skills 普通目录化;新远端核验、提交推送;同步安装/源码文档。
- [ ] 发行 worker:准备新版本精简发行,复用既有制作和验收脚本,报告实际包体;不操作 Git、全局安装或服务。
- [ ] 主会话:核对新包及匹配 skill,发布静态端点并完成范围内首装/update 验收。
- [ ] 独立检查、提交、任务证据与归档;部署缺失信息明确记录,未完成的发行项不标成通过。
初始只读证据:新 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 改成主仓库 22 个普通文件,删除唯一 `.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、作者输入和备份保留。