# Eva-CLI V1.5 发布加固（历史记录）

> 语言：简体中文
>
> 默认发布文档：`docs/en/release/v1.5-release-hardening.md`
>
> 英文原文：[English](../../en/release/v1.5-release-hardening.md)

更新日期：2026-07-14

状态：`v1.5.0` tag 之前引入的 release 命令面历史说明；不是当前生产就绪声明。

## 范围

V1.5 增加了源码发布加固报告，将发布假设变成结构化 CLI 输出。这些命令聚合声明和证据；它们本身不是 CI runner、漏洞扫描器、基准测试框架、兼容性 diff 工具或生产认证系统。

当前发布和生产缺口统一记录在 [V1.x 未完整实现功能清单](../planning/V1.x未完整实现功能清单.md)。

![Eva-CLI 发布历史边界](../../../assets/release-history-boundary.zh-CN.svg)

## 版本上下文

| 信号 | 含义 |
| --- | --- |
| V1.0 | 内部里程碑提交 `437087c`；不存在 `v1.0` tag |
| V1.4 | 内部 lifecycle 里程碑提交 `909ab07`；不存在 `v1.4` tag |
| V1.5.0 | annotated tag `v1.5.0`，解析到提交 `74d85e7da58ac40ef5d30b38e2844dee503a44c0` |
| 当前 `main` | Cargo 和 CLI 报告 `1.11.5-alpha`；后续 V1.12-V1.17 字符串是 legacy evidence ID，不是发布 tag |

## V1.5 引入的命令

```powershell
cargo run -- release check --output json
cargo run -- release check --target windows --output json
cargo run -- release security --output json
cargo run -- release perf --output json
cargo run -- release migration --output json
```

| 命令 | 历史契约 |
| --- | --- |
| `release check` | 聚合平台、稳定性、文档、安全、性能和迁移 gate 对象 |
| `release security` | 输出编译进 `eva-release` 的安全 finding |
| `release perf` | 输出固定的源码发布 smoke 预算和观测值 |
| `release migration` | 根据传入的版本标签输出声明式迁移指南和兼容性策略 |

## 证据模型

![Eva-CLI 发布工作流证据路径](../../../assets/release-workflow-evidence-path.zh-CN.svg)

| 层级 | 行为 | 能证明的内容 |
| --- | --- | --- |
| 静态声明 | V1.5 实现在进程内构造平台 pass、稳定性场景、安全 finding、固定性能观测值和兼容性结果 | 只证明报告结构和声明的源码发布边界 |
| 仓库 fixture | 当前 `main` 还会校验编译进代码的 MCP 兼容性 fixture | 证明 fixture 一致性，不证明运行了外部 MCP server |
| 可选 evidence | 当前 `main` 可在显式传入时解析 artifact、distribution、security-scan 和 benchmark evidence 文件 | 证明所传文件满足对应 parser 和校验规则 |
| CI 实际执行 | `.github/workflows/release.yml` 另行执行 Cargo 检查、平台 job、扫描、基准命令、打包和证据捕获 | 证明该次 workflow run 及其保留的 artifact |
| 外部前置 | 签名身份、包仓库、平台服务主机、硬件 fixture 和生产遥测/存储需要独立环境 | 在独立执行并留存记录之前不证明任何内容 |

`release check` 不会执行 gate evidence 中列出的命令。在当前 `main` 的默认输入下，`status:"ready"` 只表示没有 required gate 对象被标记为 blocked；不表示本次调用期间执行了 CI、扫描器、外部服务、凭据或生产集成。

## 历史 Gate 分组

| 分组 | V1.5 意图 | 证据限制 |
| --- | --- | --- |
| 跨平台 | 记录 Windows、Linux 和 macOS smoke 期望 | 平台行是声明；真实 job 由 CI 执行 |
| 稳定性 | 记录 task、replay、restore-plan 和 upgrade-plan 场景 | 恢复路径是本地或合成边界 |
| 文档 | 要求 release notes、迁移、兼容性和 README 覆盖 | 存在性和一致性需要独立校验 |
| 安全 | 报告 policy、Lua、脱敏、MCP、硬件和 lifecycle finding | finding 是编译记录，不是实时扫描结果 |
| 性能 | 报告 EventBus、Scheduler、Adapter、memory、backup 和 release 预算 | 数值是 smoke 常量，不是生产测量 |
| 迁移 | 声明 V1.4 到 V1.5 的兼容性策略 | 未执行 tag 或 schema diff |

## Tag 边界

`v1.5.0` tag 是源码发布 checkpoint。它不包含安装包、签名 artifact、真实 MCP server 执行、原始硬件 I/O、破坏性 restore apply 或由 OS 管理的 Supervisor handoff。这是对不可变 tag 的说明，不是对后续工作的预测。

当前 `main` 已在其中多个领域增加受控 alpha 路径。它们的精确限制应在 operations 和 planning 文档中维护，而不在这份 V1.5 历史记录中更新。

## 复现历史 Checkpoint

仅在 `v1.5.0` checkout 中复现历史结果时运行以下命令：

```powershell
cargo fmt --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace
cargo run -- --version
cargo run -- release check --output json
cargo run -- release security --output json
cargo run -- release perf --output json
cargo run -- release migration --output json
./scripts/build-site-i18n.ps1
./scripts/validate-i18n.ps1
```

在 `main` 上运行相同命令会校验当前代码并生成当前 `1.11.5-alpha` 报告；不会重建 V1.5 验收记录。

## 相关参考

- [V1.5 发布验收记录](V1.5发布验收记录.md)
- [V1.5 迁移声明](V1.5迁移指南.md)
- [V1.5 兼容性策略](V1.5兼容性策略.md)
- [当前 V1.x 未完整实现功能清单](../planning/V1.x未完整实现功能清单.md)
- [当前进程级升级边界](../operations/进程级停机升级架构方案.md)
- [项目发布方案](项目发布方案.md)
