文档

任务如何转化为pull request

从工作描述到经过审核的 pull request 的完整流程,以及沿途的各个阶段名称。

这是文档其余部分引用的页面。它列出了各个执行阶段,以便其他文章能准确说明某项操作的发生位置。

路径

  1. 1需求规格说明

    明确要构建的内容,以及验证其是否达标的依据

    架构师您可以编辑
  2. 2计划制定

    编排有序的步骤,在编写代码前先完成审核

    架构师您予以批准
  3. 3代码构建

    在隔离的工作空间中编写代码与测试用例

    开发人员
  4. 4功能验证

    运行您的测试套件,同时执行各项检查与质量门控

    测试人员
  5. 5代码评审

    系统自动对代码差异进行审核

    审核人员
  6. 6拉取请求

    代码已提交至仓库的分支中,等待您处理

    您执行合并

验证未通过或审核中发现的可修复问题会作为返工任务退回给开发人员,随后才会生成pull request。

共六个阶段,每个阶段有指定负责人。您在需求定义、计划制定及合并环节介入。

无论任务以哪种方式运行,这些阶段都是相同的。在标准模式下,平台会将任务从一个阶段推进到下一个阶段。在协调员模式下,规划智能体作为协调员负责该任务,将每个阶段分配给对应的智能体,并决定每个阶段的结果之后如何处理,包括将工作回传。无论哪种方式,一个阶段都会通过其自身的检查后关闭。详见智能体角色以了解两种模式的区别。

规格说明

Coroid并非直接基于你的描述生成内容,它首先会将你的描述转化为规格说明:明确要构建的内容、明确排除的范围,以及判定工作是否合格的验收标准。

这一点很重要,因为验收标准是后续验证阶段所依据的依据。模糊的规格说明会导致难以评判的工作成果。

你可以在任务页面的规格说明标签页中查看和编辑规格说明,然后再开始执行。

《规格说明驱动的开发指南》解释了如何编写可测试的标准、设定范围边界,并在规划、实现和评审环节保持对成功定义的统一认知。

规划

对于超出小型变更范畴的需求,规格说明会转化为规划:即一组按顺序排列、划分为多个阶段的步骤。在编写代码前你需要先批准该规划。

拒绝规划的成本很低,当方案有误时这样做是正确的选择。而在代码编写完成后才拒绝则成本很高。这一阶段你的判断影响力最大。

构建

智能体会将代码仓库克隆到独立的工作空间中进行操作。它会读取代码、编写修改内容,并编写或更新测试用例。

该工作空间是临时的且按任务划分。智能体的操作不会触及你的默认分支,同时同时运行的多个任务也无法看到彼此正在进行的工作。

验证

首先会运行你自己的测试套件——这是最可靠的信号,因为它体现了团队已确定的重要标准。

在此基础上,质量门控会执行你组织配置的各项规则:覆盖率阈值、代码规范检查、针对预览部署的浏览器测试,以及安全保护机制。阻塞型门控会暂停任务;提醒型门控会记录发现结果并允许任务继续。

审核

评审智能体会像同事一样阅读差异内容并生成发现结果。可修复的发现结果会被退回重新处理;其余结果会附加到pull request上供你查看。

这就是为什么Coroid中的pull request已经过评审——并非为了取代你的评审,而是让你的评审无需从零开始。

拉取请求

分支会被推送,同时会针对你的基准分支创建pull request,其中包含修改内容、测试用例、验证结果和评审发现结果。如果代码已满足任务要求,则无需推送:此时QA会验证未更改的代码,任务也会在没有pull request的情况下完成。

Coroid的任务自动化到此为止。合并操作由你来完成。

合并之后

打开版本发布以准备你打算发布的精确提交。一次发布可以包含多个已合并的拉取请求、直接提交的代码,或在Coroid之外合并的工作。发布门控和审批针对的是该提交及特定环境。你的流水线会部署它;Coroid会在显示为已发布前记录观察到的成功结果或明确的证明。仅标记为COMPLETED或仅合并了pull request并不能证明已完成部署。

任务状态

任务状态会告诉你它在上述流程中所处的阶段:

状态含义
PENDING已接受,正在等待可用的智能体插槽
IN_PROGRESS正在积极处理中
PENDING_REVIEW工作已完成且经过评审,正在等待集成或审批
COMPLETED任务工作已完成;部署情况另行跟踪
NEEDS_HUMAN_REVIEWCoroid无法自行继续,正在向你询问问题
PAUSED暂时停止,可恢复
FAILED执行无法完成
CANCELLED由你手动停止
WONT_FIX故意关闭,未执行相关工作

什么决定了吞吐量

一个智能体插槽每次仅执行一项任务。插槽用于设定并行处理的工作量,并不会加快单个任务的完成速度。任务本身的耗时取决于变更规模以及测试套件的运行时长。

下一步

智能体角色——明确各工作阶段由哪个智能体负责。随后查看版本发布用于配置代码合并后在各环境中的流转路径。