bf-archive-sprint

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Archive Sprint

归档Sprint文档

Overview

概述

스프린트가 완료되면 관련 문서를 아카이빙하고, changelog를 업데이트하고, git commit을 수행한다.
当Sprint完成后,对相关文档进行归档,更新changelog并执行git commit操作。

When to Use

使用场景

  • 사용자가
    /bf-archive-sprint
    를 입력했을 때
  • 스프린트 내 모든 에픽의 E2E가 통과한 후
  • 当用户输入
    /bf-archive-sprint
    命令时
  • Sprint内所有Epic的E2E测试完成后

Prerequisites

前置条件

  • sprint-status.yaml 존재 및 모든 에픽의 e2e가 terminal state (
    passed
    |
    escalated
    |
    max-regression-cycles
    |
    skipped
    ), 모든 Story
    review: approved
    (skipped Story 포함 — bf-execute/bf-resume가 사람 "진행" 선택 시 자동 설정)
  • docs/stories/
    ,
    docs/tech-specs/
    디렉토리 존재
  • CLAUDE.md 파일 존재 (changelog 기록용)
  • 存在sprint-status.yaml文件,且所有Epic的E2E测试处于终态(
    passed
    |
    escalated
    |
    max-regression-cycles
    |
    skipped
    ),所有Story的
    review
    状态为
    approved
    (包括已跳过的Story — 当用户在bf-execute/bf-resume中选择“继续”时会自动设置)
  • 存在
    docs/stories/
    docs/tech-specs/
    目录
  • 存在CLAUDE.md文件(用于记录changelog)

Error Handling

错误处理

  • sprint-status.yaml 미존재: "sprint-status.yaml이 없습니다.
    /bf-execute
    로 워크플로우를 먼저 실행하세요." 안내
  • 미완료 에픽 존재 (e2e가
    pending
    ): "미완료 에픽이 있습니다: {에픽 목록}.
    /bf-execute
    또는
    /bf-resume
    으로 먼저 완료하세요." 안내
  • Story review가
    approved
    가 아닌 경우: "{Story} 리뷰가 미승인입니다.
    /bf-execute
    에서 에픽 결과를 확인하고 '진행'을 선택하세요." 안내
  • 不存在sprint-status.yaml文件:提示“未找到sprint-status.yaml文件,请先使用
    /bf-execute
    执行工作流。”
  • 存在未完成的Epic(E2E测试状态为
    pending
    ):提示“存在未完成的Epic:{Epic列表},请先使用
    /bf-execute
    /bf-resume
    完成它们。”
  • Story的review状态未处于
    approved
    :提示“{Story}的审核未通过,请在
    /bf-execute
    中查看Epic结果并选择‘继续’。”

Instructions

操作步骤

  1. sprint-status.yaml을 확인한다:
    • 모든 에픽의 e2e가 terminal state인지 검증 (
      passed
      |
      escalated
      |
      max-regression-cycles
      |
      skipped
      ).
      pending
      이면 실행 중단
    • 모든 Story의 review가
      approved
      인지 검증
    • 미완료 에픽이 있으면 실행 중단 및 안내
  2. 문서를 아카이브 디렉토리로 이동한다:
    • docs/stories/
      docs/archive/{TICKET}/stories/
    • docs/tech-specs/
      docs/archive/{TICKET}/tech-specs/
    • docs/reviews/
      docs/archive/{TICKET}/reviews/
      (존재하는 경우)
    • docs/sprint-status.yaml
      docs/archive/{TICKET}/sprint-status.yaml
    • docs/conventions.md
      docs/archive/{TICKET}/conventions.md
      (복사, 이동 아님 — 시점 스냅샷 보존용)
  3. CLAUDE.md의
    ## Changelog
    섹션에 append-only로 기록한다 (섹션이 없으면 파일 끝에 생성):
    • 아래 포맷을 따른다:
      markdown
      ## Changelog
      
      ### {TICKET} ({YYYY-MM-DD})
      - **Epic 1** ({epic-name}): Story N개 완료 ({난이도 분포 요약})
      - **Epic 2** ({epic-name}): Story N개 완료
      - Archive: `docs/archive/{TICKET}/`
    • 기존 Changelog 항목 아래에 새 스프린트를 append한다 (기존 항목 수정 금지)
  4. git commit을 수행한다:
    • 메시지:
      [{TICKET}] 스프린트 아카이빙
    • 포함 대상:
      docs/archive/{TICKET}/
      +
      docs/conventions.md
      + CLAUDE.md changelog 변경
    • 이 커밋이 docs/ 산출물의 최초 git 커밋이다 — Phase 1-3에서는 docs/ 파일을 git에 커밋하지 않으며, 아카이브 시점에 일괄 커밋한다.
  5. 완료 후 다음 순서로 후속 스킬 실행을 안내한다:
    • 먼저
      /bf-metrics
      (선택 사항): 스프린트 메트릭 분석 → 모델 배당/난이도 태깅 최적화 제안
    • 그 후
      /bf-update-conventions
      : 리뷰 패턴 분석 → conventions.md 업데이트
    • 순서가 중요함: bf-metrics 분석 결과가 bf-update-conventions의 개선 방향에 참고될 수 있음
  1. 检查sprint-status.yaml文件:
    • 验证所有Epic的E2E测试是否处于终态(
      passed
      |
      escalated
      |
      max-regression-cycles
      |
      skipped
      )。若存在
      pending
      状态则终止执行
    • 验证所有Story的review状态是否为
      approved
    • 若存在未完成的Epic则终止执行并给出提示
  2. 将文档移动至归档目录:
    • docs/stories/
      docs/archive/{TICKET编号}/stories/
    • docs/tech-specs/
      docs/archive/{TICKET编号}/tech-specs/
    • docs/reviews/
      docs/archive/{TICKET编号}/reviews/
      (若存在该目录)
    • docs/sprint-status.yaml
      docs/archive/{TICKET编号}/sprint-status.yaml
    • docs/conventions.md
      docs/archive/{TICKET编号}/conventions.md
      (仅复制,不移动 — 用于保存当前版本的快照)
  3. 在CLAUDE.md的
    ## Changelog
    章节中仅追加记录(若该章节不存在则在文件末尾创建):
    • 遵循以下格式:
      markdown
      ## Changelog
      
      ### {TICKET编号} ({YYYY-MM-DD})
      - **Epic 1** ({Epic名称}): 完成N个Story({难度分布总结})
      - **Epic 2** ({Epic名称}): 完成N个Story
      - 归档路径: `docs/archive/{TICKET编号}/`
    • 在现有Changelog条目下方追加新的Sprint记录(禁止修改现有条目)
  4. 执行git commit操作:
    • 提交信息:
      [{TICKET编号}] Sprint文档归档
    • 提交内容:
      docs/archive/{TICKET编号}/
      +
      docs/conventions.md
      + CLAUDE.md的changelog更新部分
    • 此提交为docs目录下产出物的首次git提交 — 在Phase 1-3阶段不会将docs目录下的文件提交至git,仅在归档时进行批量提交。
  5. 完成后,按以下顺序引导执行后续操作:
    • 首先
      /bf-metrics
      (可选):Sprint指标分析 → 给出模型分配/难度标签优化建议
    • 之后
      /bf-update-conventions
      :分析评审模式 → 更新conventions.md文件
    • 顺序很重要:bf-metrics的分析结果可作为bf-update-conventions的优化方向参考

Output Format

输出结果

  • docs/archive/{TICKET}/
    — 아카이브 디렉토리
  • CLAUDE.md changelog 업데이트
  • git commit
  • docs/archive/{TICKET编号}/
    — 归档目录
  • CLAUDE.md的changelog已更新
  • 已执行git commit