Skip to content

feat(super-checker): iterative multi-critic review-revision loop - #245

Open
marcpickett1 wants to merge 2 commits into
mainfrom
marc/super-checker
Open

feat(super-checker): iterative multi-critic review-revision loop#245
marcpickett1 wants to merge 2 commits into
mainfrom
marc/super-checker

Conversation

@marcpickett1

@marcpickett1 marcpickett1 commented Jun 4, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Adds gpd:super-checker, a general-purpose command that wraps any physics task in an iterative review-revision loop
  • N independent critics review the result in parallel each round; a meta-critic synthesizes and decides convergence
  • The loop exits early when no substantive criticisms remain, or after --loops rounds (default 5)

New files

File Role
src/gpd/commands/super-checker.md Command entry point
src/gpd/specs/workflows/super-checker.md Orchestration loop (parse → solve → [review → meta-review → revise]×N → summary)
src/gpd/agents/gpd-result-solver.md Agent A — produces and revises results
src/gpd/agents/gpd-result-critic.md Independent critic, spawned N times in parallel per round
src/gpd/agents/gpd-meta-critic.md Meta-critic — adjudicates critiques, writes the complete review, signals convergence

Usage

gpd:super-checker "Derive the one-loop beta function for QCD"
gpd:super-checker "Verify the results in GPD/phases/03/RESULTS.md" --critics 5
gpd:super-checker "Check the ground-state energy calculation" --loops 3

Test plan

  • gpd:super-checker appears in gpd help output
  • Single-loop run: solver produces result, N critics review, meta-critic synthesizes
  • Convergence path: meta-critic returns STATUS: CONVERGED → loop exits, result presented
  • Revision path: meta-critic returns STATUS: NEEDS_REVISION → solver revises, loop continues
  • Loop-limit path: reaches --loops cap, presents result with remaining concerns
  • --critics and --loops flags parsed correctly; defaults (3, 5) applied when absent

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added a gpd:super-checker workflow: Agent A produces results, multiple independent critics review in parallel, a meta-critic synthesizes critiques, and iterative revisions run until convergence or loop limit; critic count and loop limit are configurable (defaults: 3 critics, 5 loops).
  • Documentation

    • Documented command, workflow, usage examples, and help entries describing behavior and outputs.
  • Tests

    • Updated prompt-budget and inventory tests and constants to include the new workflow and adjusted budget baselines.

Adds gpd:super-checker, a general-purpose command that runs an iterative
review-revision loop on any physics task or artifact:

1. Agent A (gpd-result-solver) produces an initial result
2. N independent critics (gpd-result-critic) review it in parallel
3. The meta-critic (gpd-meta-critic) synthesizes the reviews, adjudicates
   each critique, and decides whether revision is needed
4. If converged (no substantive criticisms), the loop exits early
5. Otherwise Agent A revises based on the complete meta-review
6. Repeats up to --loops times (default 5)

Usage:
  gpd:super-checker "Derive the one-loop beta function for QCD"
  gpd:super-checker "Check the results in GPD/phases/03/RESULTS.md" --critics 5
  gpd:super-checker "Verify the ground-state energy calculation" --loops 3

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@CLAassistant

CLAassistant commented Jun 4, 2026

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

✅ cmaloney111
❌ marcpickett1
You have signed the CLA already but the status is still pending? Let us recheck it.

@coderabbitai

coderabbitai Bot commented Jun 4, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

This PR adds the gpd:super-checker command and workflow: Agent A (result-solver) produces results, N parallel result-critics review them, a meta-critic synthesizes and decides convergence, and Agent A revises until STATUS: CONVERGED or the loop cap is reached. It also adds agent specs, CLI docs, workflow docs, and test/baseline updates.

Changes

GPD Super-Checker Multi-Agent Workflow

Layer / File(s) Summary
Agent Role Specifications
src/gpd/agents/gpd-result-solver.md, src/gpd/agents/gpd-result-critic.md, src/gpd/agents/gpd-meta-critic.md
Defines Agent A (gpd-result-solver) output/revision envelopes (<result>, <caveats>, <revision_notes>), gpd-result-critic's 10-dimension structured <critique> with severity (BLOCKER/WARNING/INFO), and gpd-meta-critic's adjudication producing meta_review with themes, actionable review for Agent A, remaining concerns, and STATUS: CONVERGED or STATUS: NEEDS_REVISION.
Super-Checker Command Interface
src/gpd/commands/super-checker.md, src/gpd/specs/references/help/detailed-command-reference.md, src/gpd/specs/workflows/help.md
Adds gpd:super-checker <task or artifact> [--critics N] [--loops N] with argument parsing (task required, --critics default 3, --loops default 5), model/agent spawn invariants, convergence criteria based on meta-critic STATUS, and required final response contents.
Workflow Orchestration and Loop Control
src/gpd/specs/workflows/super-checker.md
Implements the full loop: RUN_DIR setup, initial Agent A run, per-loop spawning of N parallel critics, aggregation into CRITICS_TEXT, meta-critic synthesis to LAST_META_REVIEW, parse STATUS for early exit, re-spawn Agent A for revisions when needed, and final reporting with loop count, convergence status, and REMAINING_CONCERNS.
Tests, Budgets, and Repo Metadata
tests/*, tests/adapters/*, tests/core/*, tests/repo_graph_contract.json
Updates baseline constants and expected counts to include the new command/workflow/agents and adjusts prompt-budget and diagnostics baselines accordingly (multiple test files updated).

Sequence Diagram

sequenceDiagram
  participant User
  participant Workflow
  participant AgentA as ResultSolver
  participant Critics as N_ResultCritics
  participant MetaCritic
  User->>Workflow: run gpd:super-checker TASK --critics N --loops M
  Workflow->>AgentA: spawn (initial) with TASK
  AgentA-->>Workflow: return <result> (CURRENT_RESULT)
  loop per-LOOP
    Workflow->>Critics: spawn N critics in parallel with CURRENT_RESULT
    Critics-->>Workflow: return concatenated <critique>
    Workflow->>MetaCritic: spawn with CRITICS_TEXT + CURRENT_RESULT
    MetaCritic-->>Workflow: return meta_review with STATUS
    alt STATUS == CONVERGED
      Workflow-->>User: final result, loop, CONVERGED
    else STATUS == NEEDS_REVISION
      Workflow->>AgentA: spawn (revision) with CURRENT_RESULT + LAST_META_REVIEW
      AgentA-->>Workflow: return revised <result>
    end
  end
  Workflow-->>User: present final CURRENT_RESULT, LOOP, CONVERGED, REMAINING_CONCERNS
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Suggested reviewers

  • cmaloney111
  • madeleinesong

Poem

🐰 I hop through loops where critics probe and test,

I tally notes, then help the solver rest.
A meta nod, "Converged" — the final sign;
Results neat and true, each derivation fine.
Hooray — physics done, in tidy agent rhyme!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main feature: an iterative multi-critic review-revision loop command, which matches the core objective of the PR.
Description check ✅ Passed The description provides a comprehensive summary of changes, explains the motivation via usage examples, lists all new files with their roles, and includes a detailed test plan checklist covering all major code paths.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch marc/super-checker

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (4)
src/gpd/agents/gpd-meta-critic.md (1)

36-69: ⚡ Quick win

Add a language to this fenced output-format block.

Using ```text here keeps formatting consistent and resolves MD040.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/gpd/agents/gpd-meta-critic.md` around lines 36 - 69, The fenced code
block containing the <meta_review> content is missing a language hint; change
the opening fence from ``` to ```text so the block is explicitly marked (e.g.,
update the fenced block around <meta_review> in
src/gpd/agents/gpd-meta-critic.md) to satisfy MD040 and keep consistent
formatting.
src/gpd/agents/gpd-result-solver.md (1)

37-45: ⚡ Quick win

Add language identifiers to fenced template blocks.

Use ```text (or ```xml) for these output templates to satisfy markdown lint and keep docs CI clean.

Also applies to: 53-67

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/gpd/agents/gpd-result-solver.md` around lines 37 - 45, The markdown
fenced template blocks around the <result> and <caveats> sections are missing
language identifiers; update the triple-backtick fences that wrap those
templates (the ``` blocks surrounding <result> and <caveats>) to include a
language tag such as ```text or ```xml so lint/CI accepts them, and apply the
same change to the other similar fenced blocks noted (the second occurrence
covering the other template).
src/gpd/specs/workflows/super-checker.md (1)

36-39: ⚡ Quick win

Add language identifiers to fenced blocks in this workflow spec.

Please mark these fences with bash or text as appropriate to satisfy markdown lint and keep docs checks stable.

Also applies to: 51-58, 64-93, 110-114, 125-158, 166-180, 182-219, 234-236, 246-248, 250-288, 298-304

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/gpd/specs/workflows/super-checker.md` around lines 36 - 39, The fenced
code blocks in the workflow spec (e.g., the block showing "ERROR: super-checker
requires a task description or artifact path." and the other code snippets at
the listed ranges) lack language identifiers; update each triple-backtick fence
to include an appropriate language tag (use `bash` for shell/usage examples and
`text` for plain output/error blocks) so that markdown lint passes; search for
the fenced blocks in src/gpd/specs/workflows/super-checker.md (including the
ranges called out: lines ~36-39, 51-58, 64-93, 110-114, 125-158, 166-180,
182-219, 234-236, 246-248, 250-288, 298-304) and add `bash` or `text` after the
opening ``` for each block.
src/gpd/agents/gpd-result-critic.md (1)

42-62: ⚡ Quick win

Specify fence languages for critique templates.

Please tag these code fences (e.g., text) to avoid markdownlint MD040 warnings.

Also applies to: 66-79

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/gpd/agents/gpd-result-critic.md` around lines 42 - 62, The fenced
critique templates (the ``` blocks containing <critique> ... </critique>) are
missing explicit fence languages which triggers markdownlint MD040; update those
fences to include a language tag (e.g., change ``` to ```text) for the blocks
around the <critique> template and the other similar block at lines 66-79 so the
markdown parser/linter recognizes the content type and the MD040 warning is
resolved.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/gpd/commands/super-checker.md`:
- Line 67: The convergence token string used in the super-checker documentation
is inconsistent: replace the lowercase token `status: converged` with the
canonical uppercase `STATUS: CONVERGED` so it matches the contract used by the
meta-critic and workflow parsers (see symbols STATUS: CONVERGED in
src/gpd/agents/gpd-meta-critic.md and src/gpd/specs/workflows/super-checker.md);
ensure any references or checks that look for the convergence token in code or
docs use the exact `STATUS: CONVERGED` token to avoid cross-layer mismatches.

In `@src/gpd/specs/workflows/super-checker.md`:
- Around line 14-16: Validate the numeric flags by checking prev_token is empty
and that N_CRITICS and MAX_LOOPS contain only positive integers before
proceeding to model resolution and the main loop: add a guard that errors out if
prev_token is set (e.g., "Missing value for $prev_token"), then validate
N_CRITICS and MAX_LOOPS with a positive-integer pattern (reject zero, negatives,
or non-digits) and exit with clear messages like "ERROR: --critics must be a
positive integer." and "ERROR: --loops must be a positive integer."; update the
flag-parsing section that sets N_CRITICS/MAX_LOOPS and the pre-model-resolution
checks to fail-fast on invalid values.

---

Nitpick comments:
In `@src/gpd/agents/gpd-meta-critic.md`:
- Around line 36-69: The fenced code block containing the <meta_review> content
is missing a language hint; change the opening fence from ``` to ```text so the
block is explicitly marked (e.g., update the fenced block around <meta_review>
in src/gpd/agents/gpd-meta-critic.md) to satisfy MD040 and keep consistent
formatting.

In `@src/gpd/agents/gpd-result-critic.md`:
- Around line 42-62: The fenced critique templates (the ``` blocks containing
<critique> ... </critique>) are missing explicit fence languages which triggers
markdownlint MD040; update those fences to include a language tag (e.g., change
``` to ```text) for the blocks around the <critique> template and the other
similar block at lines 66-79 so the markdown parser/linter recognizes the
content type and the MD040 warning is resolved.

In `@src/gpd/agents/gpd-result-solver.md`:
- Around line 37-45: The markdown fenced template blocks around the <result> and
<caveats> sections are missing language identifiers; update the triple-backtick
fences that wrap those templates (the ``` blocks surrounding <result> and
<caveats>) to include a language tag such as ```text or ```xml so lint/CI
accepts them, and apply the same change to the other similar fenced blocks noted
(the second occurrence covering the other template).

In `@src/gpd/specs/workflows/super-checker.md`:
- Around line 36-39: The fenced code blocks in the workflow spec (e.g., the
block showing "ERROR: super-checker requires a task description or artifact
path." and the other code snippets at the listed ranges) lack language
identifiers; update each triple-backtick fence to include an appropriate
language tag (use `bash` for shell/usage examples and `text` for plain
output/error blocks) so that markdown lint passes; search for the fenced blocks
in src/gpd/specs/workflows/super-checker.md (including the ranges called out:
lines ~36-39, 51-58, 64-93, 110-114, 125-158, 166-180, 182-219, 234-236,
246-248, 250-288, 298-304) and add `bash` or `text` after the opening ``` for
each block.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: c795dee8-febf-4800-ba48-0570aadd02d4

📥 Commits

Reviewing files that changed from the base of the PR and between 0f41769 and 43b5070.

📒 Files selected for processing (5)
  • src/gpd/agents/gpd-meta-critic.md
  • src/gpd/agents/gpd-result-critic.md
  • src/gpd/agents/gpd-result-solver.md
  • src/gpd/commands/super-checker.md
  • src/gpd/specs/workflows/super-checker.md

- Critics are spawned in parallel as `subagent_type="gpd-result-critic"`.
- The meta-critic is spawned as `subagent_type="gpd-meta-critic"`.
- Model resolution: `gpd resolve-model gpd-result-solver`, `gpd-result-critic`, `gpd-meta-critic`.
- Convergence: exit the loop when the meta-critic returns `status: converged`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Unify convergence token contract with workflow/meta-critic.

Line 67 uses status: converged, but src/gpd/agents/gpd-meta-critic.md and src/gpd/specs/workflows/super-checker.md define/parse STATUS: CONVERGED. This mismatch is a cross-layer contract break and can lead to incorrect convergence checks.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/gpd/commands/super-checker.md` at line 67, The convergence token string
used in the super-checker documentation is inconsistent: replace the lowercase
token `status: converged` with the canonical uppercase `STATUS: CONVERGED` so it
matches the contract used by the meta-critic and workflow parsers (see symbols
STATUS: CONVERGED in src/gpd/agents/gpd-meta-critic.md and
src/gpd/specs/workflows/super-checker.md); ensure any references or checks that
look for the convergence token in code or docs use the exact `STATUS: CONVERGED`
token to avoid cross-layer mismatches.

Comment on lines +14 to +16
- `N_CRITICS` — value after `--critics` (default: 3).
- `MAX_LOOPS` — value after `--loops` (default: 5).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Validate --critics and --loops as positive integers before running the loop.

Right now non-numeric or non-positive values are accepted, which can yield invalid behavior (e.g., zero critics, skipped looping semantics, or malformed orchestration). Add explicit checks and fail fast with a clear error.

Suggested validation patch
 TASK=""
 N_CRITICS=3
 MAX_LOOPS=5
+prev_token=""
@@
 done
 
 Validate: if `TASK` is empty, stop with:
@@
 Usage: gpd:super-checker <task or artifact> [--critics N] [--loops N]

+Also validate numeric flags before model resolution:
+
+```bash
+if [[ -n "$prev_token" ]]; then

  • echo "ERROR: Missing value for $prev_token"
  • exit 1
    +fi
    +if ! [[ "$N_CRITICS" =~ ^[1-9][0-9]*$ ]]; then
  • echo "ERROR: --critics must be a positive integer."
  • exit 1
    +fi
    +if ! [[ "$MAX_LOOPS" =~ ^[1-9][0-9]*$ ]]; then
  • echo "ERROR: --loops must be a positive integer."
  • exit 1
    +fi
    +```
</details>


Also applies to: 34-39, 104-119

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @src/gpd/specs/workflows/super-checker.md around lines 14 - 16, Validate the
numeric flags by checking prev_token is empty and that N_CRITICS and MAX_LOOPS
contain only positive integers before proceeding to model resolution and the
main loop: add a guard that errors out if prev_token is set (e.g., "Missing
value for $prev_token"), then validate N_CRITICS and MAX_LOOPS with a
positive-integer pattern (reject zero, negatives, or non-digits) and exit with
clear messages like "ERROR: --critics must be a positive integer." and "ERROR:
--loops must be a positive integer."; update the flag-parsing section that sets
N_CRITICS/MAX_LOOPS and the pre-model-resolution checks to fail-fast on invalid
values.


</details>

<!-- fingerprinting:phantom:triton:hawk -->

<!-- This is an auto-generated comment by CodeRabbit -->

…budgets

The super-checker PR broke test collection (pytest exit 2) because
gpd-result-solver declared an invalid role_family 'execution'; the agent
registry rejects anything outside worker/analysis/verification/review/
coordination, which aborted command/agent discovery during collection.

Root fixes:
- gpd-result-solver: role_family execution -> worker.
- The three new agents (solver/critic/meta-critic) now use scoped_write
  artifact authority with the canonical internal-specialist boundary
  pointer, and the critic/meta-critic gain file_write tools to match.
- super-checker workflow: replace the malformed inline 'read_only' spawn
  contracts (empty paths, embedded closing tag) with canonical
  scoped_write contracts that persist each loop's result, critiques, and
  meta-review under a per-run GPD workspace directory. Each spawn now
  declares quoted placeholder paths and uses readonly=false per the
  workflow spawn convention.

Budget/coverage registration for the new surfaces:
- command/workflow prompt budget tables gain super-checker baselines.
- agent prompt budget table gains the three new agents; per-kind and
  total agent-prompt ceilings raised to admit the added agents.
- spawn-contract inventory registers super-checker (4 contracts).
- codex/copilot-cli/opencode bridge-occurrence advisory budgets raised
  for the new command's runtime bridge snippets.

Regenerated artifacts: help surface, detailed command reference,
repo-graph contract, tests/README node counts.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/gpd/specs/references/help/detailed-command-reference.md`:
- Around line 193-197: Update the "Notes" section in
detailed-command-reference.md to include the missing required fields so the
final-response note matches the super-checker command contract: explicitly list
"loop count" and "convergence status" alongside the existing defaults and
behavior, and ensure the description of "final response" states it contains the
converged result plus the loop_count and convergence_status fields as defined by
the super-checker contract (refer to the super-checker command contract for
exact field names).

In `@src/gpd/specs/workflows/help.md`:
- Line 235: Update the final-response documentation in help.md to fully list all
required output fields per the gpd:super-checker contract: add explicit entries
for "loop count" (the number of critic loops executed, default N=5) and
"convergence status" (boolean or enum indicating whether the meta-critic closed
early or the result converged), and ensure the paragraph describing the final
response mentions these fields alongside the converged result and any remaining
concerns so the expected payload schema is complete.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: fadfa4fb-5e42-43e8-826f-c8f475d3397c

📥 Commits

Reviewing files that changed from the base of the PR and between 43b5070 and fd95601.

📒 Files selected for processing (13)
  • src/gpd/agents/gpd-meta-critic.md
  • src/gpd/agents/gpd-result-critic.md
  • src/gpd/agents/gpd-result-solver.md
  • src/gpd/specs/references/help/detailed-command-reference.md
  • src/gpd/specs/workflows/help.md
  • src/gpd/specs/workflows/super-checker.md
  • tests/README.md
  • tests/adapters/test_runtime_projection_diagnostics_budget.py
  • tests/core/test_agent_prompt_budget.py
  • tests/core/test_command_prompt_budget.py
  • tests/core/test_prompt_surface_diagnostics_budget.py
  • tests/core/test_spawn_contract_inventory.py
  • tests/repo_graph_contract.json
✅ Files skipped from review due to trivial changes (5)
  • tests/core/test_prompt_surface_diagnostics_budget.py
  • tests/core/test_spawn_contract_inventory.py
  • tests/README.md
  • src/gpd/agents/gpd-result-critic.md
  • src/gpd/agents/gpd-result-solver.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • src/gpd/agents/gpd-meta-critic.md
  • src/gpd/specs/workflows/super-checker.md

Comment on lines +193 to +197
Notes:
- Default critics N=3, default loops N=5.
- The loop exits early when the meta-critic finds no substantive criticisms.
- The final response includes the converged result and any remaining concerns.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Align final-output note with the command contract.

Line 196 omits required fields from the command contract (loop count and convergence status). Please update this note to match src/gpd/commands/super-checker.md so the public reference reflects the full expected final response shape.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/gpd/specs/references/help/detailed-command-reference.md` around lines 193
- 197, Update the "Notes" section in detailed-command-reference.md to include
the missing required fields so the final-response note matches the super-checker
command contract: explicitly list "loop count" and "convergence status"
alongside the existing defaults and behavior, and ensure the description of
"final response" states it contains the converged result plus the loop_count and
convergence_status fields as defined by the super-checker contract (refer to the
super-checker command contract for exact field names).

**`gpd:super-checker <task description or artifact> [--critics N] [--loops N]`**
Iterative multi-critic review loop — Agent A produces a result, N independent critics fact-check it in parallel, a meta-critic synthesizes the critiques into a complete review, Agent A revises, and the loop repeats until convergence or the loop limit is reached
Usage: `gpd:super-checker "Derive the ground-state energy of the quantum harmonic oscillator"`; `gpd:super-checker "Verify the one-loop beta function for QCD" --critics 5`; `gpd:super-checker "Check the numerical result in GPD/phases/03-simulation/RESULTS.md" --loops 3`
Notes: Default critics N=3, default loops N=5. The loop exits early when the meta-critic finds no substantive criticisms. The final response includes the converged result and any remaining concerns.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Document all required final response fields.

Line 235 should also mention loop count and convergence status to match the gpd:super-checker contract. Right now it under-documents the expected output payload.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/gpd/specs/workflows/help.md` at line 235, Update the final-response
documentation in help.md to fully list all required output fields per the
gpd:super-checker contract: add explicit entries for "loop count" (the number of
critic loops executed, default N=5) and "convergence status" (boolean or enum
indicating whether the meta-critic closed early or the result converged), and
ensure the paragraph describing the final response mentions these fields
alongside the converged result and any remaining concerns so the expected
payload schema is complete.

@marcpickett1

Copy link
Copy Markdown
Collaborator Author

🤖 RoastBot: Built by an AI, for an AI, to check an AI's work. Marctar The Mad has achieved full detachment from the labor market.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants