eve-plan-implementation

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Eve Plan Implementation (Jobs)

Eve计划落地(任务)

Translate a plan document into Eve jobs, parallelize work, and drive review/verification through job phases and dependencies.
将计划文档转换为Eve任务,实现工作并行化,并通过任务阶段和依赖关系推动审核与验证。

When to Use

适用场景

  • A plan/spec exists and the work should be orchestrated as Eve jobs.
  • The initial job says "use eve-plan-implementation to implement the plan."
  • 已有计划/规格说明,且工作需以Eve任务的形式进行编排。
  • 初始任务要求“使用eve-plan-implementation来落地该计划”。

Workflow

工作流程

1) Load context

1) 加载上下文

  • Read the plan doc and extract phases, deliverables, and blockers.
  • If present, read
    AGENTS.md
    for repo-specific rules.
  • Fetch current job context:
    bash
    eve job current --json
  • 读取计划文档,提取阶段、交付物和阻塞项。
  • 若仓库中存在
    AGENTS.md
    ,则读取其中的仓库特定规则。
  • 获取当前任务上下文:
    bash
    eve job current --json

2) Create or confirm the root epic

2) 创建或确认根级史诗任务

If the root job does not exist, create one:
bash
eve job create \
  --project $EVE_PROJECT_ID \
  --description "Implement <plan name>" \
  --review human \
  --phase backlog
If a root job already exists, use it as the orchestrator.
若根任务不存在,则创建一个:
bash
eve job create \
  --project $EVE_PROJECT_ID \
  --description "落地<计划名称>" \
  --review human \
  --phase backlog
若根任务已存在,则将其作为编排器使用。

3) Break down into phase jobs

3) 拆分为阶段任务

Create one child job per plan phase (backlog or ready). Include a short scope and deliverable.
bash
eve job create \
  --project $EVE_PROJECT_ID \
  --parent $EVE_JOB_ID \
  --description "Phase: <name>. Deliverable: <artifact/result>" \
  --phase ready
Add dependencies so the parent waits on each phase:
bash
eve job dep add $EVE_JOB_ID $PHASE_JOB_ID --type waits_for
为每个计划阶段创建一个子任务(状态为backlog或ready),需包含简短的范围和交付物。
bash
eve job create \
  --project $EVE_PROJECT_ID \
  --parent $EVE_JOB_ID \
  --description "阶段:<名称>。交付物:<工件/成果>" \
  --phase ready
添加依赖关系,使父任务等待每个阶段任务完成:
bash
eve job dep add $EVE_JOB_ID $PHASE_JOB_ID --type waits_for

4) Create task jobs under each phase

4) 在每个阶段下创建子任务

Split each phase into 2-6 atomic tasks with clear deliverables:
bash
eve job create \
  --project $EVE_PROJECT_ID \
  --parent $PHASE_JOB_ID \
  --description "Task: <objective>. Deliverable: <result>" \
  --phase ready
Make the phase wait on its tasks:
bash
eve job dep add $PHASE_JOB_ID $TASK_JOB_ID --type waits_for
将每个阶段拆分为2-6个原子任务,每个任务需有明确的交付物:
bash
eve job create \
  --project $EVE_PROJECT_ID \
  --parent $PHASE_JOB_ID \
  --description "任务:<目标>。交付物:<成果>" \
  --phase ready
设置阶段任务等待其子任务完成:
bash
eve job dep add $PHASE_JOB_ID $TASK_JOB_ID --type waits_for

5) Parallelize by default

5) 默认启用并行化

  • Independent tasks should have no dependencies and run in parallel.
  • Use
    blocks
    only for true sequencing requirements.
  • 独立任务不应设置依赖关系,以并行运行。
  • 仅在真正需要按顺序执行时使用
    blocks
    依赖类型。

6) Execute tasks and update phases

6) 执行任务并更新阶段状态

For each task:
bash
eve job update $TASK_JOB_ID --phase active
针对每个任务:
bash
eve job update $TASK_JOB_ID --phase active

do the work

执行工作

eve job submit $TASK_JOB_ID --summary "Completed <deliverable>"

If no review is required:
```bash
eve job close $TASK_JOB_ID --reason "Done"
eve job submit $TASK_JOB_ID --summary "已完成<交付物>"

若无需审核:
```bash
eve job close $TASK_JOB_ID --reason "已完成"

7) Verification and review

7) 验证与审核

  • Add a dedicated verification job (tests, manual checks) gated after implementation tasks.
  • Submit the phase job when all tasks are complete.
  • When all phases complete, submit the root epic for review.
  • 添加专门的验证任务(测试、人工检查),设置为在所有落地任务完成后触发。
  • 当所有子任务完成后,提交阶段任务。
  • 当所有阶段完成后,提交根级史诗任务进行审核。

8) Orchestrator waiting signal (optional)

8) 编排器等待信号(可选)

If the root or phase job is only coordinating children, return a waiting signal after dependencies are created:
json
{
  "eve": {
    "status": "waiting",
    "summary": "Spawned child jobs and added waits_for relations"
  }
}
若根任务或阶段任务仅用于协调子任务,则在创建依赖关系后返回等待信号:
json
{
  "eve": {
    "status": "waiting",
    "summary": "已生成子任务并添加waits_for关联关系"
  }
}

Minimal Mapping from Beads to Eve Jobs

Beads到Eve任务的最小映射关系

  • Epic -> root job (issue_type via
    --type
    if available).
  • Phase -> child job under the epic.
  • Task -> child job under the phase.
  • bd dep add
    ->
    eve job dep add <parent> <child> --type waits_for
  • bd ready/blocked
    ->
    eve job dep list <id>
    +
    eve job list --phase ...
  • 史诗任务 -> 根级任务(若支持,可通过
    --type
    指定issue_type)。
  • 阶段 -> 史诗任务下的子任务。
  • 任务 -> 阶段下的子任务。
  • bd dep add
    ->
    eve job dep add <parent> <child> --type waits_for
  • bd ready/blocked
    ->
    eve job dep list <id>
    +
    eve job list --phase ...

Optional: Git controls template

可选:Git控制模板

If tasks require code changes on a shared branch:
bash
eve job create \
  --project $EVE_PROJECT_ID \
  --description "Task: <objective>" \
  --git-ref main \
  --git-ref-policy explicit \
  --git-branch feature/<name> \
  --git-create-branch if_missing \
  --git-commit required \
  --git-push on_success
Keep git controls consistent across tasks so all changes land in one PR.
若任务需要在共享分支上进行代码变更:
bash
eve job create \
  --project $EVE_PROJECT_ID \
  --description "任务:<目标>" \
  --git-ref main \
  --git-ref-policy explicit \
  --git-branch feature/<name> \
  --git-create-branch if_missing \
  --git-commit required \
  --git-push on_success
保持所有任务的Git控制设置一致,确保所有变更合并到同一个PR中。