name: simple
description: pure と同じ最小構造に、変更内容に応じて TAKT がドメインファセットを自動選択して注入する軽量開発ワークフロー。AI アンチパターンとアーキテクチャの指針は常に含まれる。
all_steps:
  rules:
    - ref: findings-handling
      position: before_instruction
    - ref: plain-terminology
      position: before_instruction

max_steps: 30
facet_pools:
  coding-facets:
    uses: coding-facets
capabilities:
  - readonly
  - enable-skills
initial_step: plan
steps:
  - name: plan
    capabilities:
      - readonly
      - enable-skills
    uses: development-core-plan
    with:
      plan_policy:
        - design-planning
      plan_knowledge:
        - architecture
      plan_instruction: simple-plan
      plan_report_format: plan
    rules:
      - condition: 要件が明確で実装可能
        next: write_tests
      - condition: ユーザーが質問をしている（実装タスクではない）
        next: COMPLETE
      - condition: 要件が不明確、情報不足
        next: ABORT
        appendix: |
          確認事項:
          - {質問1}
          - {質問2}

  - name: write_tests
    capabilities:
      - edit
      - enable-skills
    uses: development-core-write-tests
    with:
      testing_policy:
        - coding
        - testing
      testing_knowledge:
        - architecture
        - unit-testing
        - e2e-testing
      testing_instruction: simple-write-tests-first
      testing_report_format: test-report
    rules:
      - condition: テスト作成が完了した
        next: implement
      - condition: テスト対象が未実装のためテスト作成をスキップする
        next: implement
      - condition: テスト作成を進行できない
        next: ABORT
      - condition: ユーザーへの確認事項があるためユーザー入力が必要
        next: write_tests
        requires_user_input: true
        interactive_only: true

  - name: implement
    capabilities:
      - edit
      - enable-skills
    uses: development-core-implement
    with:
      development_policy:
        - coding
        - testing
        - ai-antipattern
      development_knowledge:
        - architecture
      implementation_instruction: simple-implement-after-tests
      scope_report_format: coder-scope
    dynamic_facets:
      pool: coding-facets
    rules:
      - condition: 実装が完了した
        next: review
      - condition: 計画の見直しが必要
        next: plan
      - condition: 実装を進行できない
        next: ABORT
      - condition: ユーザーへの確認事項があるためユーザー入力が必要
        next: implement
        requires_user_input: true
        interactive_only: true

  - name: review
    tags:
      - review
    edit: false
    persona: coding-reviewer
    policy:
      - contract-change
      - review
      - coding
      - testing
      - ai-antipattern
    knowledge:
      - architecture
      - unit-testing
      - e2e-testing
    dynamic_facets:
      pool: coding-facets
    pass_previous_response: false
    instruction: simple-review-coding
    output_contracts:
      report:
        - name: coding-review.md
          format: coding-review
    rules:
      - condition: approved
        next: supervise
      - condition: needs_fix
        next: remediation

  - name: remediation
    uses: review-remediation
    with:
      plan_policy:
        - review
        - coding
        - testing
        - ai-antipattern
      fix_policy:
        - coding
        - testing
        - ai-antipattern
      verification_policy:
        - review
        - coding
        - testing
        - ai-antipattern
      fix_knowledge:
        - architecture
        - unit-testing
        - e2e-testing
    rules:
      - condition: COMPLETE
        next: review
      - condition: need_replan
        next: plan
      - condition: ABORT
        next: ABORT

  - name: supervise
    tags:
      - review
      - final-gate
      - supervise
    edit: false
    persona: supervisor
    policy:
      - contract-change
      - review
      - coding
      - testing
      - ai-antipattern
    knowledge:
      - architecture
      - unit-testing
      - e2e-testing
    pass_previous_response: false
    instruction: simple-supervise
    output_contracts:
      report:
        - name: supervisor-validation.md
          format: supervisor-validation
        - name: summary.md
          format: supervisor-summary
    rules:
      - condition: BLOCKED
        next: ABORT
      - condition: APPROVE
        next: COMPLETE
      - condition: REJECT
        next: remediation
