Skip to content

Latest commit

 

History

History
111 lines (85 loc) · 7.13 KB

File metadata and controls

111 lines (85 loc) · 7.13 KB

颗粒化路线图与闭环规则

English | 简体中文 · 总路线图

本目录把既有 P0~P6 路线图拆成可执行的工作单元。 总路线图保留产品边界、父任务编号和历史证据;每个阶段详情页维护叶子状态、 依赖和验收条件。P1 缺口矩阵 解释证据限制并关联这些编号, 不再产生第二份独立任务清单。

阶段索引

阶段 范围 详细任务
P0 历史纵向架构验证,保留已完成边界。 P0 叶子与门禁
P1 类型化 MIR、源码所有权、生成 Drop、源码包发射和固定一致性证据。 P1 叶子与门禁
P2 core/alloc/std、包、CLI、.NET 互操作、语言服务、SDK、模板和 IDE。 P2 叶子与门禁
P3 宏、async/tokio、有界 unsafe/FFI 和 TLS。 P3 叶子与门禁
P4 HTTP 栈、reqwest、axum、WebSocket 和代表应用。 P4 叶子与门禁
P5 provider 契约、sqlx/tiberius/sea-orm、四种数据库和应用;diesel 在门禁后评估。 P5 叶子与门禁
P6 ABI、原生库/平台交付、打包、性能、升级和 1.0 就绪。 P6 叶子与门禁

保留全部 68 个原父任务 ID。P5-07 是 P5 退出后的评估,原依赖已经要求 P5 门槛。 P5 门禁要求 P5-01~P5-06;P5-07 不阻塞它自己依赖的门禁。diesel 探测成功不代表承诺支持。

三种独立的完成判定

层级 ID 示例 确切关闭规则
叶子 P1-08.07 该行声明的交付、正例/反例/边界检查和必需证据通过即可关闭;其他叶子或阶段可以继续开放。
父任务 P1-08 属于该父任务的全部必需实施叶子关闭;有界基础不能代替整个父任务完成。
阶段 P1-GATE P1-GATE.01~P1-GATE.06 全部门禁叶子关闭,包括前置阶段及固定覆盖/证据检查;旧平台用例通过不能代替缺失语义。

前置项未完成是排期依赖,不是实现已完成的证据。使用 ⛔ 已阻塞 时,必须指明阻塞条件、 负责人、有界尝试和可执行恢复步骤。缺失代码或夹具通常保持 ⏳ 计划中 / 🚧 进行中。 不要为了追加无关工作而重开已验收历史叶子:使用新叶子/版本,保留历史范围和证据。 已验收契约内的缺陷必须登记并修正,不能重新归类成新功能。

每个叶子必须包含什么

每行具有稳定 ID 与状态、一个有界交付及文件所有权范围、明确前置项、可观察完成条件和证据。 依赖中的父 ID 表示其全部必需实施叶子;P0-GATE~P6-GATE 表示对应门禁叶子的合取。 叶子不能依赖自己、自己的父任务聚合或自己的阶段门禁。

优先使叶子成为单个主要负责人可提交评审的变更。若一行仍包含可分别交付的行为、 竞争的文件所有权、无关失败模式,或无法一起评审的证据,就继续拆分。 后缀编号保持稳定:追加新 ID,不重排已关闭行。拆分时保留原 ID 作为有记录的聚合 或被替代记录并列出替代项;使用新 ID 形状之前同步更新校验器/模式。 不得静默删除验收条件。

表格描述结果,不虚构通过的测试。现有测试名、契约和 CI 链接仅证明其记录的范围。 计划命令/路径/运行器在实现前必须标为计划交付物。当前仓库使用可执行测试工具; 未来的 rsc test、rsc conformance、dotnet test --filter 示例, 在所属工具链叶子完成前都不是可执行证据。

声称实现完成之前固定范围

  1. 枚举版本化语言/API/feature/协议/RID 契约,包含既有承诺、明确排除项和边界诊断。
  2. 每项需求分配一个负责叶子和至少一个具名用例。运行要求列出 CoreCLR、ILVerify 及各原生 AOT 目标;编译失败要求列出稳定诊断;资源要求列出确切大小/工作量/时间/取消限制。
  3. 签入 case ID、源码/期望哈希及固定整数分母,不能按实际执行到的用例动态发现分母。 设计行可以先处于计划中;实施行不得针对未固定的选择声称一致性。
  4. 保留旧套件版本和期望。扩大契约须新增版本及关联叶子。发现既有需求缺失实现, 属于该需求缺陷,不代表允许缩小分母或推迟到后续阶段。
  5. 每个叶子按固定契约和证据关闭。父任务及阶段只聚合这些要求,不能在最终评审时追加范围。 新发现的遗漏先按原需求 ID 登记并明确影响,再更改完成声明。

当前完整测试基线是 464 项,不是 P1 退出分母。既有 regression v1/v2(8/24)、 borrow/Drop differential v2(16)、platform v1(每原生 x64 平台 12)及六输入聚合 保持为不可变的子集证据。后续版本必须先有明确清单,才能声称完成。

叶子或门禁的证据记录

关闭记录标识叶子 ID、验收范围/版本、编译器 SHA、测试/用例清单哈希与分母、 工具版本、OS/RID、准确命令、真实结果及失败原因、边界与取消策略、 PID/启动时间/命令/父进程记录、清理结果及 CI run/artifact 来源。 显式记录跳过/阻塞;必需分母要求 failed/blocked/skipped 为零,rustc 未解释差异为零。

生成程序声明要求实际执行发射二进制。库内模拟不能证明生成 Drop 行为,手工 LIR 不能证明源码包编译,生成另一 RID 的文件不能证明原生执行。 所有关闭报告对应同一候选 SHA;历史证据保持原 SHA 标记。

仅文档变更运行路线图校验器和 git diff --check,无需重跑编译器/AOT 套件, 也不能伪造新的运行时证据。实现变更执行叶子有意义的检查及相关集成门槛。 阶段候选必须满足完整阶段门禁。

并行工作与集成

启动智能体之前分配文件,而不只是任务名。阶段表列出所有权范围,实际工作包 再收窄到明确文件。共享 MIR 模型/验证器、编译器中央分派、测试注册文件、 共享元数据模式及总路线图只设一个集成负责人。其他智能体在不冲突文件交付, 或等待顺序集成;依赖实现开始前先固定接口。

按文档依赖图选择就绪叶子。所有循环、搜索、构建、网络重试及 CI 等待同时具有 有限项目/尝试次数和墙钟上限,并支持取消及退避。记录自有进程和临时文件, 仅清理确认属于本任务的资源。Windows 智能体命令使用 C:\Program Files\PowerShell\7\pwsh.exe。禁止 Graphify、广域磁盘发现、 破坏性 reset、覆盖用户改动及 force push。

一致性检查

使用 PowerShell 7 运行:

pwsh -NoLogo -NoProfile -File eng/Test-Roadmap.ps1
git diff --check

校验器检查全部父任务覆盖、唯一/连续叶子 ID、状态对等、双语依赖与标题、 相对链接、依赖图环及已完成叶子的前置项是否全部完成。分别报告实施和门禁计数, 并标识 P5-07 为门禁后工作。 它验证文档一致性,不证明语言正确性或运行时门槛已通过。