Skip to content

ECEP-0001: ECEP 流程规范(元提案) #1

Description

@dhjs0000

ECEP-0001: ECEP 流程规范(元提案)

ECEP 编号:0001
标题:ECEP 流程规范(ECEP Process Specification)
作者:ECPLSO 技术委员会
状态:Final
类型:Process
创建日期:2026-06-30
最后更新:2026-06-30
对应 ECSIPR 版本:N/A(流程性提案)


摘要

本文档定义了 ECEP(Ethernos Cavvy Enhancement Proposal) 的完整生命周期、格式规范与评审标准。所有后续 ECEP 必须遵循本文档规定的流程。


1. 什么是 ECEP?

ECEP 是 Cavvy 语言及其生态演进的正式设计文档。一份 ECEP 应当:

  • 提出一个具体的技术变更或流程改进;
  • 提供充分的动机、技术规范与影响分析;
  • 作为社区讨论与最终实现的历史记录。

2. ECEP 类型

类型 说明 示例
Standard 语言核心或标准库的语法/语义变更 新增关键字、修改类型系统
Process 治理、流程或工具链的变更 修改本流程文档、CI 规范
Informational 提供信息或最佳实践,不强制要求实现 编码风格指南、性能优化建议
Meta 跨多个 ECEP 的协调提案 版本发布路线图

3. ECEP 生命周期

Draft ──→ Review ──→ Accepted ──→ Implemented ──→ Final
  │         │           │              │
  └──── Rejected / Withdrawn / Deferred ─────┘

3.1 Draft(草案)

  • 任何社区成员均可提交 Draft 状态的 ECEP;
  • 须通过 PR 提交至 esso.ethernos.net/ECPLSO/ecep/ 仓库;
  • 由秘书处分配唯一编号(按提交顺序);
  • Draft 阶段允许无限次修改,鼓励公开讨论。

3.2 Review(评议)

  • 作者认为草案成熟后,可向技术委员会申请状态转换至 Review;
  • 技术委员会须在 14 天内 完成初审:
    • 格式是否符合本文档第 4 节;
    • 动机是否充分;
    • 是否与其他 ECEP 或 ECSIPR 冲突。
  • 初审通过后进入 30 天公开评议期,社区可在此阶段提出反对意见。

3.3 Accepted(已接受)

  • 公开评议期结束后,技术委员会投票决定是否接受:
    • 无重大反对意见 → 直接 Accepted;
    • 存在可解决的反对意见 → 作者修改后重新进入 Review;
    • 存在不可调和的反对意见 → 进入 Rejected 或 Deferred。
  • Accepted 意味着 ECPLSO 原则上同意该方向,但不要求立即实现

3.4 Implemented(已实现)

  • 至少一个主流编译器实现(如 cayc)须完整实现该 ECEP 的所有功能;
  • 须附带完整的测试用例与文档更新;
  • 由技术委员会验证实现与规范的一致性后,状态转为 Implemented。

3.5 Final(最终)

  • 已 Implemented 的 ECEP,在经历至少 一个完整版本周期(如从 Cavvy 5.x 到 6.x)无重大兼容性报告后,由治理委员会批准转为 Final;
  • Final 状态的 ECEP 不可被撤回,仅可通过新的 ECEP 进行修订或废弃。

3.6 终止状态

  • Rejected:技术委员会或治理委员会明确拒绝;
  • Withdrawn:作者主动撤回;
  • Deferred:因依赖条件未满足(如等待硬件普及、等待其他 ECEP)而推迟,可重新激活。

4. ECEP 文档格式

每份 ECEP 必须以 Markdown 编写,包含以下章节:

# ECEP-XXXX: <标题>

- **ECEP 编号**:XXXX(Draft 阶段用 XXXX 占位)
- **标题**:<简洁描述>
- **作者**:<姓名/ID> <<邮箱>>
- **状态**:Draft / Review / Accepted / Implemented / Final / Rejected / Withdrawn / Deferred
- **类型**:Standard / Process / Informational / Meta
- **创建日期**:YYYY-MM-DD
- **最后更新**:YYYY-MM-DD
- **对应 ECSIPR 版本**:<若适用>
- **前置 ECEP**:<依赖的 ECEP 编号>
- **后置 ECEP**:<依赖本 ECEP 的编号>

## 摘要

用不超过 200 字概括本提案的核心内容。

## 动机

为什么需要这个变更?当前有什么问题?

## 技术规范

详细描述语法、语义、API 或行为变更。若涉及语法,须提供形式化文法(EBNF 或类似)。

## 向后兼容性

- 是否破坏现有代码?
- 迁移路径是什么?
- 是否有废弃期(Deprecation Period)?

## 参考实现

(可选,Draft 阶段可留空)
- 链接到原型代码或分支;
- 实现复杂度评估。

## 影响分析

- 对编译器实现的影响;
- 对标准库的影响;
- 对工具链(IDE、Linter、Formatter)的影响;
- 对性能的影响(如有 Benchmark)。

## 替代方案

为什么不用其他方案?简要列出曾被考虑并否定的替代设计。

## 参考文献

- 相关 ECEP;
- 学术论文;
- 其他语言的对标实现(如 Rust RFC、C++ WG21 Paper)。

## 修订历史

| 日期 | 版本 | 说明 |
|------|------|------|
| YYYY-MM-DD | 0.1 | 初始草案 |

5. 编号分配规则

  • 编号按提交顺序递增,从 0001 开始;
  • 0001–0099 保留给 Process 类型 的元提案;
  • 0100 起分配给 Standard / Informational / Meta 类型;
  • 已分配的编号即使提案被 Rejected 或 Withdrawn,永不回收,以避免历史引用混乱。

6. 与 ECSIPR 的关系

  • Draft / Review:不影响 ECSIPR;
  • Accepted:技术委员会须在 ECSIPR 中标记"计划纳入";
  • Implemented:ECSIPR 须发布对应版本的草案更新;
  • Final:ECSIPR 必须同步更新,且该 ECEP 内容成为规范的一部分。

7. 修订历史

日期 版本 说明
2026-06-30 1.0 初始版本,由 ECPLSO 技术委员会发布

ECPLSO 技术委员会
https://esso.ethernos.net/ECPLSO

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions