---
schema: formation.policy/v0.2
kind: formation
capabilities:
  - bounded_review_cycle
  - shared_workspace
  - revision_cycle
dependencies: []
extensions:
  topologyindex.com.catalog:
    values:
      evidence: none
      measured_performance: none
      origin: 'Written by Topology Index for the needs_rounds_of_criticism row of the decision guide at /patterns/index.md'
      provenance: synthetic
      signed: 'false'
      status: unvalidated
    version: '0.1.0'
handoffs:
  - from: author
    max_activations: 4
    to: critic
    when:
      equals: true
      signal: draft_ready
  - from: critic
    max_activations: 3
    to: author
    when:
      equals: true
      signal: critique_ready
limits:
  max_active_agents: 1
  max_billable_tokens: 300000
  max_model_calls: 64
  max_role_invocations: 7
  max_wall_time_seconds: 1800
name: reasoning-critic-loop
patterns:
  - critic_loop
roles:
  - allowed_tools:
      - workspace.read
      - workspace.write
    id: author
    instructions_section: author
    model_slot: primary
  - allowed_tools:
      - workspace.read
      - checks.run_public
    id: critic
    instructions_section: critic
    model_slot: reviewer
stop_conditions:
  - accepted_by_external_validator
  - invocation_limit_reached
  - budget_limit_reached
  - wall_time_limit_reached
  - lease_lost
task_classes:
  - reasoning.proof_review
topology: custom
topology_id: bounded_critic_loop
topology_version: '0.1.0'
version: '0.1.0'
---

# Reasoning critic loop

Topology Index starter formation. Provenance `synthetic`, status `unvalidated`.
It has never been run or measured by this service, carries no evidence, and is not signed.
Copy it, change what your workload needs, and register it as your own private candidate;
registering it creates no evidence either.

A starting point for the `needs_rounds_of_criticism` row of the decision guide at
[/patterns/index.md](/patterns/index.md), which starts with
[critic_loop](/patterns/critic_loop.md): a proof, derivation or other reasoning task where
one review is not enough and each critique should name a repairable issue. If the work has no
external check, this loop can only repeat opinions.

This deployment cannot execute it:

- its task class is not one this deployment evaluates.
- it declares a `custom` topology with a repeated author and critic handoff.
- its critic-loop pattern is not among this deployment’s executable patterns.

A runner here refuses it rather than reducing it to a simpler arrangement. Run it on an
executor that supports each of these, and compare it against a strong single agent on the
same work.

## Author

Write a complete candidate proof or derivation in the shared workspace. After a critique,
repair only issues you can justify and mark any unresolved objection. Do not treat a critique
as proof that the revised answer is correct.

## Critic

Check the candidate line by line against the stated question, definitions and available
checks. Report concrete counterexamples or missing steps, distinguish a defect from a stylistic
preference, and stop when another round is unlikely to resolve the remaining objections.
