workflow-test-fix について
workflow-test-fixは、テスト計画の作成から反復的なテスト実行と修正までをまとめるエージェントスキルです。L0〜L3のテストタスクを生成し、結果に応じて修正方針を変え、品質基準または反復上限で終了します。
主な機能
- 01テスト生成と実行の統合
- 02L0〜L3層のテスト計画
- 03テストタスクとIMPL_PLAN.mdの作成
- 04反復状況に応じた修正方針の調整
- 05合格率基準または反復上限で終了
活用シーン
- 01タスク説明からテストセッションを作成して実行
- 02既存セッションの修正処理を実行
- 03静的解析・単体・統合・E2Eテストで検証
- 04回帰や類似した失敗に応じて修正方法を調整
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ catlog22/ claude-code-workflow --skill workflow-test-fixインストール後、Claude Code で/workflow-test-fixを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
phases/01-session-start.md02-test-context-gather.md03-test-concept-enhanced.md04-test-task-generate.md05-test-cycle-execute.md詳細
1. アーキテクチャ概要
┌───────────────────────────────────────────────────────────────────────────┐
│ Workflow Test Fix Orchestrator (SKILL.md) │
│ → Pure coordinator: Route entry point, track progress, pass context │
│ → Five phases: Session → Context → Analysis → TaskGen → Execution │
└──────────────────────────────────┬────────────────────────────────────────┘
│
┌────────────┬────────────┬──────┴──────┬────────────┬────────────┐
↓ ↓ ↓ ↓ ↓
┌──────────┐┌──────────┐┌──────────┐┌──────────┐ ┌──────────────┐
│ Phase 1 ││ Phase 2 ││ Phase 3 ││ Phase 4 │ │ Phase 5 │
│ Session ││ Context ││ Analysis ││ Task Gen │ │ Test Cycle │
│ Start ││ Gather ││ Enhanced ││ Generate │ │ Execute │
│ ││ ││ ││ │ │ │
│ Input ││ Coverage ││ Gemini ││ IMPL_PLAN│ │ 1. Discovery│
│ Detect + ││ or Code ││ L0-L3 ││ IMPL-* │ │ 2. Execute │
│ Session ││ Scan ││ AI Issue ││ TODO_LIST│ │ 3. Fix Loop │
│ Create ││ ││ ││ │ │ 4. Complete │
└────┬─────┘└────┬─────┘└────┬─────┘└────┬─────┘ └──────────────┘
│ │ │ │ ↑
│testSessionId │ │ │
└──→────────┘contextPath│ │ │
└──→───────┘AnalysisRes│ │
└──→──────┘ testSessionId │
└──→──(Summary)──→┘
Task Pipeline (generated in Phase 4, executed in Phase 5):
┌──────────────┐ ┌─────────────────┐ ┌─────────────────┐ ┌──────────────┐
│ IMPL-001 │──→│ IMPL-001.3 │──→│ IMPL-001.5 │──→│ IMPL-002 │
│ Test Gen │ │ Code Validate │ │ Quality Gate │ │ Test & Fix │
│ L1-L3 │ │ L0 + AI Issues │ │ Coverage 80%+ │ │ Max N iter │
│@code-developer│ │ @test-fix-agent │ │ @test-fix-agent │ │@test-fix-agent│
└──────────────┘ └─────────────────┘ └─────────────────┘ └──────────────┘
2. 主な設計原則
- 統合パイプライン:生成と実行を連続した 1 つのワークフローにまとめ、手動での引き継ぎをなくします
- 純粋なオーケストレーター:SKILL.md は調整のみを行い、実行の詳細はすべてフェーズファイルに委譲します
- 自動続行:Phase 1→2→3→4→(Summary)→5 を自動で実行します
- タスクの添付/折りたたみ:フェーズの実行中にサブタスクを添付し、完了後に折りたたみます
- 段階的なフェーズ読み込み:フェーズのドキュメントは事前にすべて読み込まず、そのフェーズの実行時にのみ読み込みます
- 適応型戦略:修正ループでは、反復の状況に基づいて戦略(保守的/積極的/ピンポイント)を自動選択します
- 品質ゲート:合格率が 95% 以上(重要度を考慮)になると、修正ループを終了します
- フェーズファイルの整理:フェーズファイルでは、CLI フラグを解析せず、設定の参照に
workflowPreferences.*を使用します
3. 使用方法
フルパイプラインと実行のみのモードは、スキル名のルーティングによって起動されます(モード検出を参照)。ワークフロー設定(自動モード)は、フェーズにディスパッチする前に AskUserQuestion を通じて対話的に収集します。
フルパイプライン(workflow-test-fix):タスクの説明またはセッション ID を引数として指定 → 設定を対話的に収集 → 生成+実行パイプライン 実行のみ(workflow-test-fix):アクティブなセッションを自動検出 → 設定を対話的に収集 → 実行ループ
4. 対話的な設定の収集
フェーズの実行にディスパッチする前に、AskUserQuestion を通じてワークフロー設定を収集します。
// ★ 统一 auto mode 检测:-y/--yes 从 $ARGUMENTS 或 ccw 传播
const autoYes = /\b(-y|--yes)\b/.test($ARGUMENTS)
if (autoYes) {
// 自动模式:跳过所有询问,使用默认值
workflowPreferences = { autoYes: true }
} else {
const prefResponse = AskUserQuestion({
questions: [
{
question: "是否跳过所有确认步骤(自动模式)?",
header: "Auto Mode",
multiSelect: false,
options: [
{ label: "Interactive (Recommended)", description: "交互模式,包含确认步骤" },
{ label: "Auto", description: "跳过所有确认,自动执行" }
]
}
]
})
workflowPreferences = {
autoYes: prefResponse.autoMode === 'Auto'
}
}
workflowPreferences はコンテキスト変数としてフェーズの実行に渡され、フェーズ内では workflowPreferences.autoYes として参照されます。
5. コンパクト後の復旧(フェーズの永続化)
複数フェーズにわたるテスト修正パイプライン(Phase 1-5)は、特に Phase 5 の修正ループで長い会話にまたがります。二重の保護策を使用します。TodoWrite でアクティブなフェーズを追跡して圧縮から保護し、sentinel をフォールバックとして使用します。
⚠️ 圧縮に関する指示:コンテキストを圧縮する際は、TodoWrite のフェーズ状態を必ず確認してください。 現在
in_progressとマークされているフェーズがアクティブな実行フェーズです。その内容をすべて保持してください。completedまたはpendingとマークされたフェーズのみ圧縮してください。
6. 実行フロー
Entry Point Detection:
├─ /workflow-test-fix → Full Pipeline (Phase 1→2→3→4→Summary→5)
└─ /workflow-test-fix → Execution Only (Phase 5)
Phase 1: Session Start (session-start)
└─ Read("phases/01-session-start.md")
├─ Step 1.0: Detect input mode (session | prompt)
├─ Step 1.1: Create test session → testSessionId
└─ Output: testSessionId, MODE
Phase 2: Test Context Gather (test-context-gather)
└─ Read("phases/02-test-context-gather.md")
├─ Step 1.2: Gather test context → contextPath
└─ Output: contextPath
Phase 3: Test Concept Enhanced (test-concept-enhanced)
└─ Read("phases/03-test-concept-enhanced.md")
├─ Step 1.3: Test analysis (Gemini) → TEST_ANALYSIS_RESULTS.md
└─ Output: TEST_ANALYSIS_RESULTS.md
Phase 4: Test Task Generate (test-task-generate)
└─ Read("phases/04-test-task-generate.md")
├─ Step 1.4: Generate test tasks → IMPL_PLAN.md, IMPL-*.json, TODO_LIST.md
└─ Output: testSessionId, 4+ task JSONs
Summary Output (inline after Phase 4):
└─ Display summary, auto-continue to Phase 5
Phase 5: Test Cycle Execution (test-cycle-execute)
└─ Read("phases/05-test-cycle-execute.md")
├─ Step 2.1: Discovery (load session, tasks, iteration state)
├─ Step 2.2: Execute initial tasks (IMPL-001 → 001.3 → 001.5 → 002)
├─ Step 2.3: Fix loop (if pass_rate < 95%)
│ ├─ Select strategy: conservative/aggressive/surgical
│ ├─ Generate fix task via @cli-planning-agent
│ ├─ Execute fix via @test-fix-agent
│ └─ Re-test → loop or exit
└─ Step 2.4: Completion (summary, session archive)
└─ Output: final pass_rate, summary
フェーズ参照ドキュメント(フェーズの実行時に必要に応じて読み込みます):
| Phase | ドキュメント | 目的 | コンパクト |
|---|---|---|---|
| 1 | phases/01-session-start.md | 入力モードを検出し、テストセッションを作成 | TodoWrite 駆動 |
| 2 | phases/02-test-context-gather.md | テストコンテキスト(カバレッジ/コードベース)を収集 | TodoWrite 駆動 |
| 3 | phases/03-test-concept-enhanced.md | Gemini 分析、L0-L3 テスト要件 | TodoWrite 駆動 |
| 4 | phases/04-test-task-generate.md | タスク JSON と IMPL_PLAN.md を生成 | TodoWrite 駆動 |
| 5 | phases/05-test-cycle-execute.md | タスクの実行、反復修正サイクル、完了 | TodoWrite 駆動+🔄 sentinel |
コンパクト化のルール:
- TodoWrite
in_progress→ 内容全体を保持し、圧縮しないでください - TodoWrite
completed→ 要約に圧縮できます - 🔄 sentinel のフォールバック → Phase 5 にはコンパクト sentinel が含まれます。圧縮後に sentinel だけが残り、Step のプロトコル全体が残っていない場合は、ただちに
Read("phases/05-test-cycle-execute.md")で復元してください
- すぐに開始する:最初のアクションはTaskCreateの初期化、2番目のアクションはPhase 1(実行のみのエントリーの場合はPhase 5)です
- 事前分析を行わない:フェーズを開始する前に、ファイルを読んだりコンテキストを収集したりしないでください
- すべての出力を解析する:各ステップの出力から必要なデータを抽出し、次のステップに渡します
- 自動で続行する:完全なパイプラインのエントリーでは、Phase 1→2→3→4→(概要)→5を自動的に実行します
- 進捗を追跡する:タスクのアタッチ/折りたたみパターンを使って、TaskCreate/TaskUpdateを動的に更新します
- タスクのアタッチモデル:サブタスクはフェーズの実行中にアタッチし、完了後に折りたたみます
- 停止しない:品質ゲートを満たすか、最大反復回数に達するまでワークフローを継続します
- 段階的に読み込む:各フェーズのドキュメントは、そのフェーズの実行直前にのみ読み込みます
- エントリーポイントの振り分け:
workflow-test-fixスキル → Phase 1-5、workflow-test-fixスキル → Phase 5のみ
8. 入力処理
test-fix-gen エントリー(完全なパイプライン)
User input → Detect type:
├─ Starts with "WFS-" → MODE=session, sourceSessionId=input
├─ Ends with ".md" → MODE=prompt, description=Read(input)
└─ Otherwise → MODE=prompt, description=input
test-cycle-execute エントリー(Phase 5のみ)
Arguments → Parse flags:
├─ --resume-session="WFS-xxx" → sessionId=WFS-xxx
├─ --max-iterations=N → maxIterations=N (default: 10)
└─ (no args) → auto-discover active test session
9. データフロー
User Input (session ID | description | file path)
↓
[Detect Mode: session | prompt]
↓
Phase 1: Session Start ─────────────────────────────────────────
↓ 1.0+1.1: session:start → testSessionId, MODE
↓
Phase 2: Test Context Gather ────────────────────────────────────
↓ 1.2: test-context-gather/context-gather → contextPath
↓
Phase 3: Test Concept Enhanced ──────────────────────────────────
↓ 1.3: test-concept-enhanced → TEST_ANALYSIS_RESULTS.md
↓
Phase 4: Test Task Generate ─────────────────────────────────────
↓ 1.4: test-task-generate → IMPL_PLAN.md, IMPL-*.json, TODO_LIST.md
↓
Summary Output (inline) ─────────────────────────────────────────
↓ Display summary with next step
↓
Phase 5: Test Cycle Execution ───────────────────────────────────
↓ 2.1: Load session + tasks + iteration state
↓ 2.2: Execute IMPL-001 → 001.3 → 001.5 → 002
↓ 2.3: Fix loop (analyze → fix → retest) until pass_rate >= 95%
↓ 2.4: Completion → summary → session archive
10. 概要の出力(Phase 4の後)
Phase 4の完了後、Phase 5へ自動的に続行する前に、次の概要を表示します。
Test-fix workflow created successfully!
Input: [original input]
Mode: [Session|Prompt]
Test Session: [testSessionId]
Tasks Created:
- IMPL-001: Test Understanding & Generation (@code-developer)
- IMPL-001.3: Code Validation Gate - AI Error Detection (@test-fix-agent)
- IMPL-001.5: Test Quality Gate - Static Analysis & Coverage (@test-fix-agent)
- IMPL-002: Test Execution & Fix Cycle (@test-fix-agent)
Quality Thresholds:
- Code Validation: Zero CRITICAL issues, zero compilation errors
- Minimum Coverage: 80% line, 70% branch
- Static Analysis: Zero critical anti-patterns
- Max Fix Iterations: 5
Review artifacts:
- Test plan: .workflow/[testSessionId]/IMPL_PLAN.md
- Task list: .workflow/[testSessionId]/TODO_LIST.md
- Analysis: .workflow/[testSessionId]/.process/TEST_ANALYSIS_RESULTS.md
重要 — 次のステップ:Phase 5「テストサイクルの実行」へ自動的に続行します。
テスト実行パイプラインのために、testSessionIdをPhase 5に渡します。ユーザーの確認を待たないでください。統合パイプラインは自動的に続行します。
11. テスト戦略の概要
段階的なテストレイヤー(L0~L3):
| レイヤー | 名前 | 対象 |
|---|---|---|
| L0 | 静的解析 | コンパイル、インポート、型、AIコードの問題 |
| L1 | 単体テスト | 関数/クラスの動作(正常系/異常系/境界ケース) |
| L2 | 統合テスト | コンポーネント間のやり取り、APIコントラクト、障害モード |
| L3 | E2Eテスト | ユーザージャーニー、クリティカルパス(任意) |
品質しきい値:
- コード検証(IMPL-001.3):CRITICALな問題とコンパイルエラーがゼロ
- 最低カバレッジ:行カバレッジ80%、分岐カバレッジ70%
- 静的解析(IMPL-001.5):重大なアンチパターンがゼロ
- 合格率ゲート:95%以上(重大度を考慮)または100%
- 最大修正反復回数:10(デフォルト、調整可能)
12. 戦略エンジン(Phase 5)
| 戦略 | 適用条件 | 動作 |
|---|---|---|
| Conservative | 反復1~2回目(デフォルト) | 対象を絞った修正を1件実施し、全面的に検証 |
| Aggressive | 合格率が80%超かつ類似した失敗がある | 関連する問題をまとめて修正 |
| Surgical | リグレッションを検出(合格率が10%超低下) | 最小限の変更を行い、ロールバックを優先 |
選択ロジックとCLIのフォールバックチェーン(Gemini → Qwen → Codex)の詳細は、Phase 5に記載されています。
13. エージェントの役割
| エージェント | 使用フェーズ | 責務 |
|---|---|---|
| Orchestrator | 全フェーズ | エントリーを振り分け、進捗を追跡し、コンテキストを渡す |
| @code-developer | Phase 5(IMPL-001) | テスト生成(L1~L3) |
| @test-fix-agent | Phase 5 | テスト実行、コード修正、重大度の割り当て |
| @cli-planning-agent | Phase 5(修正ループ) | CLI分析、根本原因の抽出、修正タスクの生成 |
14. TodoWriteパターン
コアコンセプト:アタッチ/折りたたみによる動的なタスク追跡で、リアルタイムの可視性を確保します。
実装に関する注意:フェーズファイルでは、概念的な追跡パターンを説明するために
TodoWrite構文を使用しています。実行時には、これらは許可されたツールの一覧にあるTaskCreate/TaskUpdate/TaskListツールを使って実装されます。TodoWriteの例は、次のように対応付けてください。
- 初期リストの作成 → 各項目に対して
TaskCreate- ステータスの変更 →
TaskUpdate({ taskId, status })- サブタスクのアタッチ →
TaskCreate+TaskUpdate({ addBlockedBy })- サブタスクの折りたたみ → 折りたたむサブ項目に対して
TaskUpdate({ status: "completed" })+TaskUpdate({ status: "deleted" })
完全なパイプライン(Phase 1-5)
[
{"content": "Phase 1: Session Start", "status": "in_progress"},
{"content": "Phase 2: Test Context Gather", "status": "pending"},
{"content": "Phase 3: Test Analysis (Gemini)", "status": "pending"},
{"content": "Phase 4: Test Task Generate", "status": "pending"},
{"content": "Phase 5: Test Cycle Execution", "status": "pending"}
]
Phase 1-4を折りたたみ → Phase 5をアクティブ化
[
{"content": "Phase 1: Session Start", "status": "completed"},
{"content": "Phase 2: Test Context Gather", "status": "completed"},
{"content": "Phase 3: Test Analysis (Gemini)", "status": "completed"},
{"content": "Phase 4: Test Task Generate", "status": "completed"},
{"content": "Phase 5: Test Cycle Execution", "status": "in_progress"},
{"content": " → Execute IMPL-001 [code-developer]", "status": "in_progress"},
{"content": " → Execute IMPL-001.3 [test-fix-agent]", "status": "pending"},
{"content": " → Execute IMPL-001.5 [test-fix-agent]", "status": "pending"},
{"content": " → Execute IMPL-002 [test-fix-agent]", "status": "pending"},
{"content": " → Fix Loop", "status": "pending"}
]
修正ループの反復
[
{"content": "Phase 1-4: Test Generation", "status": "completed"},
{"content": "Phase 5: Test Cycle Execution", "status": "in_progress"},
{"content": " → Initial tasks", "status": "completed"},
{"content": " → Iteration 1: Initial test (pass: 70%, conservative)", "status": "completed"},
{"content": " → Iteration 2: Fix validation (pass: 82%, conservative)", "status": "completed"},
{"content": " → Iteration 3: Batch fix (pass: 89%, aggressive)", "status": "in_progress"}
]
15. セッションファイルの構成
.workflow/active/WFS-test-{session}/
├── workflow-session.json # Session metadata
├── IMPL_PLAN.md # Test generation and execution strategy
├── TODO_LIST.md # Task checklist
├── .task/
│ ├── IMPL-001.json # Test understanding & generation
│ ├── IMPL-001.3-validation.json # Code validation gate
│ ├── IMPL-001.5-review.json # Test quality gate
│ ├── IMPL-002.json # Test execution & fix cycle
│ └── IMPL-fix-{N}.json # Generated fix tasks (Phase 5 fix loop)
├── .process/
│ ├── [test-]context-package.json # Context and coverage analysis
│ ├── TEST_ANALYSIS_RESULTS.md # Test requirements (L0-L3)
│ ├── iteration-state.json # Current iteration + strategy + stuck tests
│ ├── test-results.json # Latest results (pass_rate, criticality)
│ ├── test-output.log # Full test output
│ ├── fix-history.json # All fix attempts
│ ├── iteration-{N}-analysis.md # CLI analysis report
│ └── iteration-{N}-cli-output.txt
└── .summaries/
└── iteration-summaries/
16. エラー処理
フェーズ 1-4(生成)
| フェーズ | エラー条件 | アクション |
|---|---|---|
| 1: セッション開始 | ソースセッションが見つからない(セッションモード) | セッション ID を含むエラーを返す |
| 1: セッション開始 | 完了した IMPL タスクがない(セッションモード) | エラーを返す。ソースが未完了です |
| 2: コンテキスト収集 | コンテキストの収集に失敗 | エラーを返し、ソースの成果物を確認する |
| 3: 分析 | Gemini の分析に失敗 | エラーを返し、コンテキストパッケージを確認する |
| 4: タスク生成 | タスクの生成に失敗 | 1 回再試行し、その後エラーを返す |
フェーズ 5(実行)
| シナリオ | アクション |
|---|---|
| テスト実行エラー | ログに記録し、エラーコンテキストを使って再試行する |
| CLI 分析の失敗 | フォールバック:Gemini → Qwen → Codex → 手動 |
| エージェント実行エラー | 状態を保存し、簡略化したコンテキストで再試行する |
| 最大反復回数に到達 | 失敗レポートを生成し、ブロック済みとしてマークする |
| リグレッションを検出 | 最後の修正をロールバックし、外科的な戦略に切り替える |
| 停滞したテストを検出 | 代替戦略で続行し、記録する |
17. コミット戦略(フェーズ 5)
重要なチェックポイントで自動コミットします:
- 反復が成功した後(合格率が上昇):
test-cycle: iteration N - strategy (pass: old% → new%) - ロールバックの前(リグレッションを検出):
test-cycle: rollback iteration N - regression detected
18. 完了条件
| 条件 | 合格率 | アクション |
|---|---|---|
| 完全成功 | 100% | セッションを自動完了する |
| 部分成功 | >= 95%、すべての失敗の重大度が低い | レビューノートを添えて自動承認する |
| 失敗 | 最大反復回数後も < 95% | 失敗レポートを作成し、ブロック済みとしてマークする |
19. 完了後の拡張
自動同期:/workflow:session:sync -y "{summary}" を実行して、specs/*.md + project-tech を更新します。
完了後、課題(テスト/強化/リファクタリング/ドキュメント)に展開するかどうかをユーザーに尋ねます。選択された項目に対して /issue:new "{summary} - {dimension}" を呼び出します。
20. コーディネーターのチェックリスト
フェーズ 1(session-start)
- 入力の種類を判定する(セッション ID/説明/ファイルパス)
- 実行前に TaskCreate を初期化する
- Read("phases/01-session-start.md") を読み込み、ステップ 1.0 + 1.1 を実行する
- ステップの出力から testSessionId を解析し、メモリに保存する
フェーズ 2(test-context-gather)
- Read("phases/02-test-context-gather.md") を読み込み、ステップ 1.2 を実行する
- ステップの出力から contextPath を解析し、メモリに保存する
フェーズ 3(test-concept-enhanced)
- Read("phases/03-test-concept-enhanced.md") を読み込み、ステップ 1.3 を実行する
- TEST_ANALYSIS_RESULTS.md が作成されたことを確認する
フェーズ 4(test-task-generate)
- Read("phases/04-test-task-generate.md") を読み込み、ステップ 1.4 を実行する
- フェーズ 1-4 のすべての出力(4 つのタスク JSON、IMPL_PLAN.md、TODO_LIST.md)を確認する
- 概要の出力を表示する(インライン)
- フェーズ 1-4 のタスクを折りたたみ、フェーズ 5 に自動で続行する
フェーズ 5(test-cycle-execute)
- Read("phases/05-test-cycle-execute.md") を読み込む
- セッション、タスク、反復状態を読み込む
- 初期タスクを順番に実行する
- test-results.json から合格率を計算する
- pass_rate < 95% の場合:修正ループに入る
- 反復回数、停滞したテスト、リグレッションを追跡する
- pass_rate >= 95% または最大反復回数に達した場合:完了する
- 完了概要を生成する
- 完了後の拡張を提案する
21. 関連スキル
前提スキル:
workflow-planスキルまたはworkflow-executeスキル - 実装を完了します(Session Mode のソース)- Prompt Mode の場合はありません
後続スキル:
- セッションのステータスをインラインで表示 - ワークフローの状態を確認します
review-cycleスキル - 実装後のレビュー/issue:new- フォローアップのイシューを作成します
<auto_mode>
$ARGUMENTS 内で -y または --yes が検出された場合、あるいは ccw 経由で引き継がれた場合:
- AskUserQuestion によるすべての確認をスキップします
- すべてのワークフロー設定に既定値を使用します(
workflowPreferences = { autoYes: true }) - ユーザーとのやり取りなしで、すべてのフェーズを自動的に続行します
- フェーズ 1→2→3→4→概要→5 を完全自動のパイプラインとして実行します </auto_mode>
<success_criteria>
- 入力タイプ(セッション ID/説明/ファイルパス)を正しく検出します
- 5 つのフェーズを順番に実行します(完全なパイプライン)。またはフェーズ 5 のみを実行します(実行のみ)
- フェーズのドキュメントは、該当フェーズの実行時にのみ Read() を使用して段階的に読み込みます
- 添付/折りたたみパターンを用いて、全体を通して TaskCreate/TaskUpdate による追跡を維持します
- すべてのフェーズの出力を解析し、後続のフェーズに渡します(testSessionId、contextPath など)
- フェーズ 4 の後に、すべてのタスクとしきい値の詳細を含む概要を表示します
- フェーズ 5 の修正ループでは、合格率が 95% 以上になるか最大反復回数に達するまで、適応型戦略で反復します
- 最終合格率を含む完了概要を生成し、セッションをアーカイブします
- 完了後の拡張をユーザーに提案します </success_criteria>