evorule-cli 0.3.2

EvoRule CLI - Local JSON rule executor for compliance-critical users (zero network, zero telemetry, musl static)
Documentation
# 变更审查表 (Change Request)

## 1. 基本信息

| 字段 ||
|------|------|
| **变更 ID** | CR-20260820-002 |
| **变更标题** | 添加变更治理门禁机制和策略层检测 |
| **提交人** | EvoRule Team |
| **提交日期** | 2026-08-20 |
| **审查状态** | 已批准 |

## 2. 变更层级判定(必填)

### 2.1 变更层级声明

**本次变更属于**: ✅ **机制层 (Mechanism)**

### 2.2 判定理由

```
本次变更提供通用的变更治理基础设施,可被任何机制层代码复用。
```

### 2.3 机制层判定标准检查

**✅ 机制层变更的特征**:
- [x] 提供通用基础设施能力
- [x] 不包含任何特定业务语义
- [x] 可被任何业务场景无差别复用

## 3. 变更分类

- **变更类型**: A - 新增机制
- **影响模块**: evorule-cli

## 4. 变更详情

### 3.1 变更理由
添加变更治理门禁,防止未经审查的修改和策略层代码混入机制层。

### 3.2 变更范围
- build.rs: 添加 CHANGE_REQUEST.md 验证逻辑和策略检测
- CHANGE_REQUEST.md: 更新为新模板

### 3.3 破坏性分析
无破坏性变更。

### 3.4 影响评估
构建时间略有增加,对运行时性能无影响。

### 3.5 测试计划
- [x] CHANGE_REQUEST.md 验证通过
- [x] 策略检测通过
- [x] CLI 命令测试通过

### 3.6 回滚方案
删除 build.rs 中的验证代码即可回滚

## 5. 审查清单

### 层级审查
- [x] 变更层级声明为"机制层"
- [x] 判定理由充分
- [x] 代码中无策略层反模式

### 技术审查
- [x] CLI 功能测试通过
- [x] 代码质量检查通过

### 架构审查
- [x] 变更符合规则分类体系
- [x] 符合"机制不染指控制流"原则

---

## 6. 变更记录 CR-20260826-001: G-A1 审计锚点签名(v0.3.2 新增)

### 6.1 基本信息

| 字段 ||
|------|------|
| **变更 ID** | CR-20260826-001 |
| **变更标题** | G-A1 审计锚点签名(anchor-keygen / verify-anchors) |
| **提交人** | EvoRule Team |
| **提交日期** | 2026-08-26 |
| **审查状态** | 已批准 |

### 6.2 变更层级声明

**本次变更属于**: ✅ **机制层 (Mechanism)**

### 6.3 判定理由

```
ed25519 确定性签名 + 审计锚点链式校验是通用安全原语,不包含任何业务语义,
可被任何审计/合规场景无差别复用(真实性/防抵赖)。
```

### 6.4 变更详情

- 新增 `signing` 模块(`AuditSigner` / `verify_signature`,复制自 evorule-governance 最小实现,遵循 CLI 不引入 governance 的架构约束)
- 新增 `anchor-keygen` 子命令:生成 G-A1 审计锚点 ed25519 密钥对(一次性运维)
- 新增 `verify-anchors` 子命令:离线校验审计锚点链式链接 + 签名真实性
- `Cargo.toml` 新增依赖:`ed25519-dalek` / `getrandom`(仅密钥生成一次性运维用,不进入确定性执行路径)
- 私钥不落盘审计资产/规则库,由调用方注入 32 字节种子

### 6.5 测试计划

- [x] `signing` 单元测试(确定性签名 / 验签 / 篡改检测 / hex 往返 / 密钥生成)
- [x] `verify_anchors` 单元测试(链式链接 / 篡改 / 断链 / 错误公钥)
- [x] `anchor-keygen` 冒烟测试通过
- [x] 构建通过(CR 门禁 + 策略层检测 PASSED)

---

> 注意:这是机制层变更,后续每次修改都需要更新此文件。