name: research
description: Research piece - autonomously executes research without asking questions
piece_config:
  provider_options:
    codex:
      network_access: true
    opencode:
      network_access: true
max_movements: 10
initial_movement: plan
movements:
  - name: plan
    persona: research-planner
    policy: research
    knowledge: research
    instruction: research-plan
    allowed_tools:
      - Read
      - Glob
      - Grep
      - WebSearch
      - WebFetch
    rules:
      - condition: Planning is complete
        next: dig
      - condition: Insufficient information to create a plan
        next: ABORT
  - name: dig
    persona: research-digger
    policy: research
    knowledge: research
    instruction: research-dig
    allowed_tools:
      - Read
      - Glob
      - Grep
      - WebSearch
      - WebFetch
    rules:
      - condition: Research is complete
        next: supervise
      - condition: Unable to conduct research
        next: ABORT
  - name: supervise
    persona: research-supervisor
    policy: research
    knowledge: research
    instruction: research-supervise
    allowed_tools:
      - Read
      - Glob
      - Grep
      - WebSearch
      - WebFetch
    rules:
      - condition: Research results adequately answer the original request
        next: COMPLETE
      - condition: Research results are insufficient and replanning is needed
        next: plan
