bf-execute

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

BF Execute (Entry Point)

BF Execute(入口点)

Overview

概述

BF 워크플로우의 실행 진입점이자 사람-시스템 경계 허브이다.
bf-lead-orchestrate
를 모드별로 스폰하여 에픽 단위 루프를 돌며, 각 에픽 완료 후 사람에게 결과를 제시한다. 시스템 내부 에이전트는 사람과 직접 소통하지 않으며, bf-execute가 유일한 소통 경계이다.
它是BF工作流的执行入口点,同时也是人机边界枢纽。按不同模式启动
bf-lead-orchestrate
,以Epic为单位循环执行,每个Epic完成后向用户展示结果。系统内部Agent不会直接与人沟通,bf-execute是唯一的沟通边界。

When to Use

使用场景

  • 사용자가
    /bf-execute
    를 입력했을 때
  • /bf-spec
    으로 Tech Spec이 승인된 후 다음 단계로 진행할 때
  • 用户输入
    /bf-execute
  • 通过
    /bf-spec
    完成Tech Spec审批后,进入下一阶段时

Prerequisites

前置条件

  • 승인된 Tech Spec:
    docs/tech-specs/{TICKET}-tech-spec.md
  • Tech Spec 리뷰 통과 (사람 개입 ① 완료)
  • 已审批的Tech Spec:
    docs/tech-specs/{TICKET}-tech-spec.md
  • Tech Spec审核通过(人工介入①完成)

Error Handling

错误处理

  • Tech Spec 미존재: "Tech Spec 파일이 없습니다.
    /bf-spec
    으로 먼저 Tech Spec을 작성하고 리뷰를 받으세요." 안내
  • Tech Spec 리뷰 미존재 (
    docs/reviews/{TICKET}-tech-spec-review.md
    없음): "Tech Spec 리뷰가 수행되지 않았습니다.
    /bf-spec
    에서 리뷰를 포함한 전체 흐름을 실행하세요." 안내
  • orchestrate 스폰 실패: "에이전트 생성에 실패했습니다. 잠시 후 다시 시도하거나, Claude Code를 재시작하세요." 안내
  • Tech Spec不存在:提示“Tech Spec文件不存在,请先通过
    /bf-spec
    编写Tech Spec并获取审核。”
  • Tech Spec审核未完成(不存在
    docs/reviews/{TICKET}-tech-spec-review.md
    ):提示“Tech Spec审核未执行,请在
    /bf-spec
    中完成包含审核的全流程。”
  • orchestrate启动失败:提示“Agent创建失败,请稍后重试或重启Claude Code。”

Instructions

操作步骤

1. 사전 확인

1. 事前检查

  • docs/tech-specs/{TICKET}-tech-spec.md
    존재 확인
  • 사용자에게 Jira 티켓 번호를 확인한다 (미제공 시 요청).
  • 确认
    docs/tech-specs/{TICKET}-tech-spec.md
    存在
  • 向用户确认Jira工单编号(未提供则请求用户提供)。

2. Plan 단계 — orchestrate (plan 모드) 스폰

2. 计划阶段 — 启动orchestrate(plan模式)

  • Task tool 사용,
    model: sonnet
    (plan 모드는 단순 라우터 역할이므로 Sonnet으로 충분)
  • 전달:
    mode: "plan"
    , tech-spec 경로, conventions.md 경로 (있으면)
  • 수신 대기:
    "done"
    + sprint-status.yaml 경로 + stories/ 경로
  • 수신 후: sprint-status.yaml을 읽어 에픽/스토리 구조를 사람에게 제시한다.
  • 使用Task工具,
    model: sonnet
    (plan模式仅承担简单路由功能,Sonnet足够)
  • 传递参数:
    mode: "plan"
    、tech-spec路径、conventions.md路径(若存在)
  • 等待接收:
    "done"
    + sprint-status.yaml路径 + stories/路径
  • 接收后:读取sprint-status.yaml,向用户展示Epic/Story结构。

3. 에픽 루프

3. Epic循环

sprint-status.yaml의 에픽을 순서대로 순회한다. 각 에픽에 대해:
按顺序遍历sprint-status.yaml中的Epic。针对每个Epic:

3a. orchestrate (epic 모드) 스폰

3a. 启动orchestrate(epic模式)

  • Task tool 사용,
    model: opus
  • 전달:
    mode: "epic"
    ,
    epic_id
    , tech-spec 경로, conventions.md 경로
    • 수정 재실행인 경우:
      modification_path
      추가 전달
  • 수신 대기:
    "done"
    + sprint-status.yaml 경로 + review.md 경로
  • 使用Task工具,
    model: opus
  • 传递参数:
    mode: "epic"
    epic_id
    、tech-spec路径、conventions.md路径
    • 若为修改后重新执行:额外传递
      modification_path
  • 等待接收:
    "done"
    + sprint-status.yaml路径 + review.md路径

3b. 에픽 결과 제시

3b. 展示Epic结果

<HARD-GATE> 에픽 결과를 사람에게 반드시 제시하고 판단을 받아야 한다. 결과가 깨끗해 보여도(Blocker 0, E2E passed) 자동으로 다음 에픽으로 진행하지 않는다. 이것이 사람 판단 ②이며, BF 워크플로우에서 사람이 개입하는 정확히 2개 지점 중 하나이다. </HARD-GATE>
orchestrate 완료 후 sprint-status.yaml과 review.md를 읽어 사람에게 제시한다:
undefined
<HARD-GATE> 必须向用户展示Epic结果并获取判断。即使结果看起来完美(Blocker为0、E2E通过),也不能自动进入下一个Epic。这是人工判断②,也是BF工作流中人工介入的两个明确节点之一。 </HARD-GATE>
orchestrate完成后,读取sprint-status.yaml和review.md并向用户展示:
undefined

Epic {EPIC-ID} 완료

Epic {EPIC-ID} 完成

Story 결과

Story结果

스토리상태난이도재시도 횟수Stuck
story-1doneS0-
story-2doneM2-
story-3skipped (stuck)L5stuck.md 참조
故事状态难度重试次数停滞
story-1doneS0-
story-2doneM2-
story-3skipped (stuck)L5参考stuck.md

E2E: {passed | skipped | escalated | max-regression-cycles}

E2E:{passed | skipped | escalated | max-regression-cycles}

Integration Review: Blockers {N}건, Recommended {N}건

集成审核:Blocker {N}个,建议项 {N}个

상세: docs/reviews/{EPIC-ID}-review.md

详情:docs/reviews/{EPIC-ID}-review.md

⚠️ (모든 Story가 skipped인 경우에만 표시) 이 에픽의 모든 Story가 skipped(stuck) 상태입니다. 진행 시 해당 기능이 구현되지 않은 상태로 넘어갑니다.
진행하시겠습니까?
  1. 다음 에픽으로 진행
  2. 수정 후 재실행 (수정 내용 입력)
  3. 워크플로우 중단
undefined
⚠️(仅当所有Story都为skipped时显示) 此Epic的所有Story均处于skipped(停滞)状态。继续进行的话,对应功能将处于未实现状态。
是否继续?
  1. 进入下一个Epic
  2. 修改后重新执行(输入修改内容)
  3. 终止工作流
undefined

3c. 사람 판단 처리

3c. 处理人工判断

사람의 선택에 따라:
1. 다음 에픽으로 진행:
  • 해당 에픽의 사람 수용 상태를 sprint-status.yaml에 반영한다 (
    yq -i
    사용):
    • status: skipped
      인 Story의
      review
      "approved"
      로 설정 (사람이 skip을 수용)
    • review: pending
      status: done
      Story의
      review
      "approved"
      로 설정 (사람이 Blocker를 수용)
    bash
    # skipped Story review 정리
    yq -i '.<TICKET>.<EPIC>.<SKIPPED-STORY>.review = "approved"' docs/sprint-status.yaml
    # Blocker 수용 — done Story의 pending review를 approved로 전환
    yq -i '.<TICKET>.<EPIC>.<DONE-STORY>.review = "approved"' docs/sprint-status.yaml
  • 다음 에픽의 3a로 이동한다.
2. 수정 후 재실행:
  • 사람이 수정 내용을 텍스트로 입력한다.
  • bf-execute가 수정 내용을 분석하여 대상 Story를 추론하고, 사람에게 확인한다:
    • "수정 대상 Story: story-1, story-3으로 판단됩니다. 맞습니까?"
    • 사람이 수정하면 그에 따른다.
  • docs/reviews/{EPIC-ID}-modification.md
    에 기록한다:
    markdown
    # {EPIC-ID} Modification
    
    ## 수정 지시
    {사람이 입력한 수정 내용 원문}
    
    ## 대상 Story
    - {확인된 수정 대상 Story ID 목록}
  • git commit하지 않는다 — docs/ 산출물은 Phase 4 Archive에서 일괄 커밋한다.
  • 같은 에픽에 대해 orchestrate를 epic 모드로 다시 스폰한다 (
    modification_path
    전달).
  • 3b로 돌아가 결과를 다시 제시한다.
3. 워크플로우 중단:
  • 현재 상태를 안내하고 종료한다.
  • /bf-resume
    으로 재개 가능함을 안내한다.
根据用户的选择执行:
1. 进入下一个Epic:
  • 使用
    yq -i
    将该Epic的人工确认状态写入sprint-status.yaml:
    • status: skipped
      的Story的
      review
      设置为
      "approved"
      (用户确认跳过)
    • review: pending
      status: done
      的Story的
      review
      设置为
      "approved"
      (用户确认接受Blocker)
    bash
    # 整理skipped Story的审核状态
    yq -i '.<TICKET>.<EPIC>.<SKIPPED-STORY>.review = "approved"' docs/sprint-status.yaml
    # 接受Blocker — 将done Story的pending审核状态改为approved
    yq -i '.<TICKET>.<EPIC>.<DONE-STORY>.review = "approved"' docs/sprint-status.yaml
  • 进入下一个Epic的3a步骤。
2. 修改后重新执行:
  • 用户输入修改内容文本。
  • bf-execute分析修改内容,推断目标Story,并向用户确认:
    • “推断修改目标为story-1、story-3。是否正确?”
    • 用户修改的话,按用户的内容调整。
  • 将内容记录到
    docs/reviews/{EPIC-ID}-modification.md
    markdown
    # {EPIC-ID} 修改记录
    
    ## 修改指示
    {用户输入的修改内容原文}
    
    ## 目标Story
    - {确认后的修改目标Story ID列表}
  • 不执行git commit — docs/下的产出物将在Phase 4 Archive阶段统一提交。
  • 针对同一Epic,再次以epic模式启动orchestrate(传递
    modification_path
    )。
  • 返回3b步骤,重新展示结果。
3. 终止工作流:
  • 告知用户当前状态并终止。
  • 告知用户可通过
    /bf-resume
    恢复工作流。

4. 전체 완료

4. 全部完成

모든 에픽 완료 후:
워크플로우가 완료되었습니다.

다음 단계:
1. /bf-archive-sprint — 스프린트 아카이빙
2. /bf-metrics — 메트릭 분석 (선택)
3. /bf-update-conventions — 컨벤션 업데이트
所有Epic完成后:
工作流已完成。

下一阶段:
1. /bf-archive-sprint — 归档Sprint
2. /bf-metrics — 指标分析(可选)
3. /bf-update-conventions — 更新规范

Output Format

输出格式

  • 사용자에게 에픽별 결과 제시 + 판단 요청
  • 완료 시 다음 단계 안내
  • 모든 산출물은 orchestrate 이하 Lead들이 생성 (메인 세션은 modification.md만 직접 생성)
  • 向用户展示每个Epic的结果 + 请求判断
  • 完成时告知下一阶段步骤
  • 所有产出物由orchestrate下属的Lead生成(主会话仅直接生成modification.md)