ESSO

ECRMR-001: Cavvy 自举计划


1. 文档信息

字段 内容
文档编号 ECRMR-001
文档标题 Cavvy 自举计划 (Cavvy Bootstrap Roadmap)
版本 1.1.0
日期 2026-07-01
作者 Ethernos Studio / Cavvy Lang Team
状态 已评审 (Reviewed)
密级 公开 (Public)

2. 摘要

本文档定义了 Cavvy 编程语言从当前外部实现(Rust基线)向完全自举(Self-Hosting)演进的完整路线图。计划通过 Cavvy N 系列(用 Cavvy 语言自身编写的编译器)逐步实现语言功能的自我构建,最终通过 CavvyNX 完成自举验证,并发布 Cavvy 10 作为首个完全自举的稳定版本。


3. 术语与定义

术语 定义
Cavvy N x 用 Cavvy 语言编写的编译器,目标实现对应本地版本的功能集(N 即Native)。例如 CavvyN4.8 对应原 0.4.8 功能集。
CavvyNX 终极自举编译器(N 系列最终版,X 代表交叉/完成)。能够完整编译 Cavvy 8.3 LTS 代码库并通过全部测试套件。
本地版本 当前基于 Rust 实现的 Cavvy 编译器及工具链。
自举 (Bootstrap) 编译器使用其目标语言(Cavvy)重新实现自身,并能成功编译自己的源代码。
EOL End of Life,指旧版本停止维护。

4. 自举路线图

自举过程采用渐进式替代策略:本地版本每推进一个主版本,Cavvy N 系列同步实现对应功能集,最终由 CavvyNX 接管全部编译工作。

阶段总览

阶段 本地版本 自举目标 里程碑说明
启动 Cavvy 5.1 CavvyN0 → EOL 0.1.0 启动自举项目,建立 Cavvy 编写编译器的基础架构,宣告 0.1.0 历史版本生命周期结束。
功能追赶-1 Cavvy 6.0 CavvyN3.5 N 系列实现至 3.5 功能集,覆盖核心语法与基础标准库。
功能追赶-2 Cavvy 7.0 CavvyN4.8 直接实现至 4.8 功能集(对应原 0.4.8),跳过早期中间版本的逐步迭代,加速自举进程。
深度构建 Cavvy 8.0 CavvyN6.0 在 Cavvy 8 开发中途,本地版本暂停功能扩展,优先保障 N 系列实现 6.0 功能集。
LTS 基线 Cavvy 8.2 CavvyN7.0 继续推进 N 系列功能同步。
LTS 完成 Cavvy 8.3 LTS CavvyN8.0 + CavvyNX 本地版本进入长期支持(LTS)。N 系列完成 8.0 功能集,同时CavvyNX 启动完整自举验证。
发布 Cavvy 10 CavvyNX 成功通过 Cavvy 8.3 LTS 的全部测试套件时,CavvyNX 正式更名为 Cavvy 10 发布。

5. 版本对应关系详解

本地版本线:     5.1 ──→ 6.0 ──→ 7.0 ──→ 8.0 ──→ 8.2 ──→ 8.3 LTS
                ↓       ↓       ↓       ↓       ↓       ↓
自举版本线:     N0      N3.5    N4.8    N6.0    N7.0    N8.0 + NX
                │                               │       │
                └──────── 功能追赶 ──────────────┘       │
                                                        ▼
                                                  通过 8.3 LTS 测试
                                                        │
                                                        ▼
                                                  发布 Cavvy 10

关键设计决策:


6. 验收标准 (Acceptance Criteria)

Cavvy 10 的发布需满足以下全部条件:

  1. 功能完整性:CavvyNX 必须支持 Cavvy 8.3 LTS 定义的全部语言特性与标准库 API。
  2. 测试通过性:CavvyNX 编译自身源代码后,须通过 Cavvy 8.3 LTS 测试套件中 100% 的测试用例
  3. 自举闭环:CavvyNX 使用自身编译出的二进制,再次编译自身源代码,输出结果与首次编译一致(固定点验证)。
  4. 性能基线:自举编译器的编译耗时与资源占用不得高于本地版本(Rust 基线)的 200%
  5. 可移植性:CavvyNX 须在官方支持的 Tier-1 平台(x86_64、AArch64)上完成自举验证。

7. 风险与缓解策略

风险 影响 缓解策略
N 系列功能滞后 本地版本与自举版本差距过大,导致维护两套实现成本激增 8.0 阶段主动暂停本地版本功能开发,集中资源追赶 N 系列
自举编译器 Bug 传染 早期 CavvyN 的缺陷可能导致后续版本连锁错误 建立严格的阶段门控(Stage-Gate),每阶段必须通过本地版本交叉验证
测试套件不完备 8.3 LTS 测试未能覆盖边缘情况,导致 Cavvy 10 隐藏缺陷 在 8.3 LTS 周期内持续扩充测试用例,确保语义全覆盖
构建性能不足 自举编译器速度过慢,影响开发者体验 引入增量编译与缓存机制,允许 N 系列编译器在本地版本上运行性能分析

8. 附录

A. 版本号规则说明

B. 参考文档

文档 链接/编号 状态
Cavvy 语言规范 caydocs.ethernos.net 占位符,待 ECSIPR 发布后更新
ESSO-10400 Ethernos 软件安全基础框架 已生效
Cavvy 8.3 LTS 测试规范 内部文档 待 LTS 冻结时发布

:Cavvy 语言规范当前以 caydocs.ethernos.net 为临时参考源。待 ECSIPR(Ethernos Cavvy Standardization & Implementation Proposal Registry)正式建立后,将迁移至规范化的标准文档体系。

C. CavvyN0 完成状态

项目 状态
CavvyN0 基线 ✅ 已完成
实现范围 EOL v0.1.0
功能覆盖 词法分析器、递归下降语法分析器、基础 AST 生成
构建方式 使用本地版本 Cavvy 5.1.0-alpha.2 编译通过
验证标准 成功编译 “Hello, CavvyN” 级测试程序并生成可执行文件
里程碑意义 标志着 Cavvy 语言已具备用自身描述自身编译器的能力,自举工程正式启动

后续工作:CavvyN0 作为原型验证,其架构将为 CavvyN3.5 的重构提供参考。N0 代码库不进入长期维护,仅作历史归档。


审批记录

版本 日期 审批人 备注
1.0.0 2026-07-01 初始版本
1.1.0 2026-07-01 dhjs0000 评审修订:加入附录 C(CavvyN0 完成状态)、更新附录 B 语言规范占位符

本文档由 Ethernos Studio 维护,遵循 Ethernos 标准化文档规范。如有变更,将通过 ECPLSO 流程发布修订版本。