name: magi
description: MAGI Deliberation System - Analyze from 3 perspectives and decide by majority
piece_config:
  provider_options:
    codex:
      network_access: true
    opencode:
      network_access: true

max_movements: 5
initial_movement: melchior
movements:
  - name: melchior
    persona: melchior
    allowed_tools:
      - Read
      - Glob
      - Grep
      - WebSearch
      - WebFetch
    instruction_template: |
      # MAGI System Initiated

      ## Matter for Deliberation
      {task}

      ## Instructions
      You are MELCHIOR-1 of the MAGI System.
      Analyze the above from the perspective of a scientist/engineer and render your judgment.

      ## Output Format

      | Judgment | Tag |
      |----------|-----|
      | In favor | `[MELCHIOR:APPROVE]` |
      | Against | `[MELCHIOR:REJECT]` |
      | Conditional approval | `[MELCHIOR:CONDITIONAL]` |

      ### Output Example

      ```
      [MELCHIOR:APPROVE]

      Reason: {Reason for approval}
      ```
    rules:
      - condition: Judgment completed
        next: balthasar
  - name: balthasar
    persona: balthasar
    allowed_tools:
      - Read
      - Glob
      - Grep
      - WebSearch
      - WebFetch
    instruction_template: |
      # MAGI System Continuing

      ## Matter for Deliberation
      {task}

      ## MELCHIOR-1's Judgment
      {previous_response}

      ## Instructions
      You are BALTHASAR-2 of the MAGI System.
      Analyze the above from the perspective of a nurturer and render your judgment.
      Consider MELCHIOR's judgment as reference, but make your own independent assessment.

      ## Output Format

      | Judgment | Tag |
      |----------|-----|
      | In favor | `[BALTHASAR:APPROVE]` |
      | Against | `[BALTHASAR:REJECT]` |
      | Conditional approval | `[BALTHASAR:CONDITIONAL]` |

      ### Output Example

      ```
      [BALTHASAR:APPROVE]

      Reason: {Reason for approval}
      ```
    rules:
      - condition: Judgment completed
        next: casper
  - name: casper
    persona: casper
    allowed_tools:
      - Read
      - Glob
      - Grep
      - WebSearch
      - WebFetch
    instruction_template: |
      # MAGI System Final Deliberation

      ## Matter for Deliberation
      {task}

      ## Previous Judgments
      {previous_response}

      ## Instructions
      You are CASPER-3 of the MAGI System.
      Analyze the above from a practical/realistic perspective and render your judgment.

      **Finally, tally the judgments from all three and provide the final conclusion.**

      ## Output Format

      Final conclusion by majority vote:

      | Judgment | Tag |
      |----------|-----|
      | Approved (2+ in favor) | `[MAGI:APPROVE]` |
      | Rejected (2+ against) | `[MAGI:REJECT]` |
      | Conditional approval | `[MAGI:CONDITIONAL]` |

      ### Output Example

      ```
      ## MAGI System Final Judgment

      | System | Judgment |
      |--------|----------|
      | MELCHIOR-1 | APPROVE |
      | BALTHASAR-2 | CONDITIONAL |
      | CASPER-3 | APPROVE |

      **Conclusion: [MAGI:APPROVE]**

      [Reasoning/Summary]
      ```
    rules:
      - condition: Final judgment completed
        next: COMPLETE
