/rebuttal
Parse review comments, atomize each concern (Rvx-Cy numbering) and map it to a wiki idea or method,
check whether evidence is sufficient (tracing back to wiki experiments),
simulate reviewer follow-up questions with Review LLM (stress-test, scored 1-5), and generate
a formal plain-text rebuttal and a rich-text rebuttal.
Safety checks ensure no fabrication, no overpromise, full coverage.
Inputs
review: source of review comments, one of:
- file path (e.g.
raw/reviews/reviewer1.txt, raw/reviews/meta-review.md)
- multiple file paths (comma-separated:
raw/reviews/R1.txt,raw/reviews/R2.txt,raw/reviews/R3.txt)
- directly pasted review text
--paper-slug (optional): slug of the associated paper in wiki/outputs/, used to locate PAPER_PLAN
--venue (optional): target conference/journal (ICLR / NeurIPS / ICML / ACL / CVPR); affects rebuttal format and word limits
--stress-test (optional, enabled by default): Review LLM simulates reviewer follow-up; disable with --no-stress-test
--format (optional, default formal): output format
formal: formal plain-text rebuttal (suitable for pasting directly into submission system)
rich: rich-text version (with wiki [[links]], detailed analysis, improvement plan)
Outputs
- wiki/outputs/rebuttal-{slug}.md — rich-text rebuttal (with [[wikilinks]], evidence tracing, analysis tables)
- wiki/outputs/rebuttal-{slug}.txt — formal rebuttal (plain text, suitable for pasting into submission system)
- wiki/ideas/*.md / wiki/methods/*.md — if a concern exposes an evidence gap, append a suggestion to the relevant section (
## Risks / ## Lessons learned for ideas; ## Limitations for methods)
- wiki/log.md — append log entry
Wiki Interaction
Reads
wiki/ideas/*.md — map concerns to ideas, check linked experiments and novelty argument
wiki/methods/*.md — map concerns to methods, check Mechanism / Procedure / Limitations
wiki/experiments/*.md — find experiment results supporting ideas (via linked_idea)
wiki/papers/*.md — find citation context for referenced papers
wiki/concepts/*.md — understand the conceptual background of method-related concerns
wiki/outputs/PAPER_PLAN.md — understand paper structure (from /paper-plan, if --paper-slug provided)
wiki/graph/context_brief.md — global context
wiki/graph/edges.jsonl — idea-experiment-paper-method relationships
.claude/skills/shared-references/cross-model-review.md — Review LLM stress-test independence
Writes
wiki/outputs/rebuttal-{slug}.md — rich-text version
wiki/outputs/rebuttal-{slug}.txt — formal plain-text version
wiki/ideas/*.md / wiki/methods/*.md — append reviewer-identified gaps to ## Risks / ## Lessons learned (ideas) or ## Limitations (methods); do not silently flip an idea's status — only flag concerns
wiki/log.md — append log entry
Graph edges created
- None (rebuttal is a query operation; does not modify the knowledge graph)
Workflow
Precondition:
- Confirm working directory is the wiki project root (containing
wiki/, raw/, tools/)
- Read
cross-model-review.md to confirm stress-test independence principle
- Generate slug:
python3 tools/research_wiki.py slug "{paper-slug}-rebuttal"
Step 1: Parse Review Comments
Read review text:
- If file path(s): read all specified files
- If direct text: use directly
- Merge multiple reviewers' comments, annotated by source (Reviewer 1/2/3/Meta)
Identify structure:
- Extract each reviewer's: overall score (Accept/Reject/Borderline), confidence, summary, Strengths, Weaknesses, questions
- If the format is non-standard (plain text), use LLM to parse into structured format
Output: structured comments for each reviewer
Step 2: Atomize Concerns
Split each weakness and question into independent atomic concerns:
Splitting rules:
- A single weakness may be a compound sentence containing multiple independent concerns ("the method lacks ablation experiments and also does not compare with X" → split into 2 concerns)
- Assign each atomic concern an ID in
Rvx-Cy format (Rv1-C1 = Reviewer 1, Concern 1; Rv1-C2 = Reviewer 1, Concern 2)
- Retain reviewer number to ensure traceability back to the original comment
Classify each concern:
- evidence: factual questions about experimental data or result interpretation
- method: methodological questions about method design or algorithmic correctness
- missing: missing experiments/analysis/comparisons/citations
- clarity: unclear expression, symbol confusion, figure issues
- scope: insufficient contribution, applicability questions
- novelty: overlap with existing work, insufficient innovation
- minor: formatting, typos, and other small issues
Assess severity: critical / major / minor
Output: atomized concern list, each containing {id (Rvx-Cy), reviewer, type, severity, text}
Step 3: Map Concerns to Wiki Ideas / Methods
For each concern:
Find associated idea or method:
- Extract keywords from concern text
- Search
wiki/ideas/*.md and wiki/methods/*.md for matches (idea for hypothesis/result challenges; method for design/algorithmic challenges)
- Read
wiki/graph/edges.jsonl to find idea↔experiment and method↔paper relationships
- If no direct match is found: annotate as "unmapped" (no direct entity correspondence)
Check Evidence Status:
- For an idea: read
linked_experiments, count succeeded/inconclusive/failed outcomes; read novelty_score and status
- For a method: read
source_papers and ## Limitations
- Judgment:
- Sufficient: ≥1 succeeded experiment for the linked idea, OR method backed by source paper(s)
- Partial: experiments exist but mixed outcomes
- Insufficient: no supporting experiments or thin source coverage
- Contradicted: failed/inconclusive experiments dominate
Output:
| Concern ID |
Reviewer |
Type |
Severity |
Entity mapped |
Evidence Status |
Strategy |
| Rv1-C1 |
R1 |
method |
critical |
[[method-slug]] |
sufficient |
A |
| Rv1-C2 |
R1 |
missing |
major |
[[idea-slug]] |
insufficient |
B |
| Rv2-C1 |
R2 |
novelty |
major |
unmapped |
— |
D |
Step 4: Draft Rebuttal Responses
Draft a response for each concern according to its strategy:
Strategy A — Evidence sufficient (respond directly):
- Cite specific experiment results and data (annotate source, ensure traceability to wiki/experiments/)
- Point to evidence in the wiki (convert to paper citations)
- If the concern is based on a misunderstanding: politely clarify, point to the relevant Section in the paper
Strategy B — Evidence insufficient (acknowledge + concrete plan):
- Honestly acknowledge that current evidence is not sufficient
- Propose a concrete supplementary experiment plan (can link to /exp-design)
- State a specific timeline and resource requirements
- Do not use vague commitments; only commit to concrete executable supplementary experiments
Strategy C — Clarity issue (commit to revision):
- Acknowledge the unclear expression
- Provide the improved description (show the revised text directly in the rebuttal)
- List specific Paper Edit plans
Strategy D — Scope/Novelty challenge (argue):
- Highlight essential differences from existing work
- Cite novelty-check results (if available)
- Point out differences the reviewer may have overlooked
Format for each response:
**[Rvx-Cy]** {concern summary}
{response text, 2-5 sentences, annotated sources for traceability}
Safety checks (per response):
Step 5: Review LLM Stress-Test
Follow cross-model-review.md: do not send Claude's rebuttal strategy analysis to Review LLM.
If --stress-test is enabled (default):
mcp__llm-review__chat:
system: "You are a critical reviewer who has just read a rebuttal to your review
comments. You are skeptical and will push back on weak responses.
For each rebuttal response, assess on a scale of 1-5:
1 = unconvincing (deflection or fabrication suspected)
2 = weak (vague, no concrete evidence)
3 = acceptable (addresses concern but could be stronger)
4 = strong (concrete evidence, clear reasoning)
5 = fully convincing (compelling evidence, thorough response)
Also check for overpromise: are commitments specific and feasible?
Provide a follow-up question for any response scoring <= 3."
message: |
## Original Review Concerns
{atomic concerns list with Rvx-Cy IDs}
## Author Rebuttal
{drafted rebuttal responses}
## Please assess each response (score 1-5) and provide follow-up questions.
Handle Review LLM feedback:
- Score 4-5 (convincing): keep original response
- Score 3 (acceptable): strengthen response, add details suggested by Review LLM
- Score 1-2 (unconvincing/weak): rewrite response, consider switching strategy (A→B, acknowledge insufficiency)
Second round (if any responses scored <= 2):
mcp__llm-review__chat-reply:
threadId: {previous thread}
message: |
We've revised the following responses:
{revised responses}
Please re-assess (score 1-5).
Maximum 2 rounds of stress-test. Handle follow-up questions and update responses.
Step 6: Format Output + Safety Check
6a. Format formal rebuttal-{slug}.txt (plain text, suitable for submission system):
We thank the reviewers for their constructive feedback. We address each concern below.
Reviewer 1:
[Rv1-C1] {concern summary}
{response}
[Rv1-C2] {concern summary}
{response}
Reviewer 2:
...
Summary of Revisions:
- {bulleted list of planned changes}
Additional Experiments (if applicable):
- {new experiments committed to, with timeline}
6b. Format rich-text rebuttal-{slug}.md:
# Rebuttal Analysis: {paper title}
## Coverage Summary
| Concern ID | Type | Severity | Entity | Evidence Status | Review LLM Score | Strategy |
|------------|------|----------|--------|-----------------|------------------|----------|
| Rv1-C1 | method | critical | [[method-slug]] | sufficient | 4/5 | A |
| Rv1-C2 | missing | major | [[idea-slug]] | insufficient | 3/5 | B |
## Responses
### Reviewer 1
**[Rv1-C1]** ...
**[Rv1-C2]** ...
## Evidence Gap Analysis
| Entity | Status / Novelty | Gap | Needed |
|--------|------------------|-----|--------|
| [[idea-slug]] | proposed / novelty 2 | No ablation on dataset X | Run ablation experiment |
## Action Items
### Paper Edits
| Section | Change | Reason |
|---------|--------|--------|
| Section 3.2 | Clarify notation | Rv1-C3 clarity concern |
### Wiki Updates
| Page | Update | Reason |
|------|--------|--------|
| ideas/{slug} | Append concern to `## Risks` | Rv2-C1 evidence gap |
### Suggested Experiments
| Experiment | Linked Idea | Suggested by |
|-----------|-------------|--------------|
| ablation-dataset-x | [[idea-slug]] | Rv1-C2 |
→ Run `/exp-design ablation-dataset-x` to design follow-up
## Review LLM Stress-Test Summary
- Average score: {N}/5
- Scores 4-5: {N}/{total}
- Scores 1-3: {N}/{total} (all revised)
## Safety Checklist
- [x] No fabrication: all cited data exists in wiki/experiments
- [x] No overpromise: all committed experiments are specific and feasible
- [x] Full coverage: {N}/{N} concerns addressed (no omissions)
- [x] Invalidated/inconclusive ideas not presented as supported
6c. Final safety check:
- Full coverage: confirm every concern has a response (no omissions)
- No fabrication: every cited data point is recorded in wiki/experiments/ (traceable)
- No overpromise: supplementary experiment commitments are specific and feasible
- Honesty on weak ideas: if the linked idea has
novelty_score <= 2 OR its linked experiments are inconclusive, do not pretend evidence is sufficient
6d. Update wiki:
Constraints
- No fabrication: never fabricate experiment data or results. Every cited number must be traceable to wiki/experiments/ with source annotated
- No overpromise: only commit to specific executable supplementary experiments. Use "we will run ablation on X with setup Y" not "we will investigate"
- Full coverage: every reviewer concern (Rvx-Cy) must have a response; omissions block output
- Evidence traceability: every piece of evidence cited in a response must be traceable to a wiki page with source slug annotated
- Do not silently flip a linked idea's status: rebuttal only flags concerns by appending to ideas'
## Risks / ## Lessons learned or methods' ## Limitations; status transitions are reserved for /exp-eval
- Review LLM independence: during stress-test, follow cross-model-review.md; do not reveal response strategy to Review LLM
- Concern ID format: strictly use Rvx-Cy format (Rv1-C1, Rv1-C2, Rv2-C1) to ensure traceability
- Specific commitments: all revision commitments and experiment plans must be specific (specific Section, specific dataset, explicit metric)
- Output to wiki/outputs/: rebuttal files are stored uniformly in the wiki/outputs/ directory
Error Handling
- Review file not found: report error, list available files under raw/reviews/
- Review format cannot be parsed: fall back to plain-text processing; use LLM to extract concerns; annotate in report
- Concern cannot be mapped to an idea or method (unmapped): annotate as "unmapped"; still respond (based on paper content rather than wiki entity)
- Review LLM stress-test unavailable: skip Step 5; annotate in report "stress-test skipped: Review LLM unavailable"
- Evidence severely insufficient: if >50% of concerns have insufficient evidence, warn the user and suggest supplementing experiments first
- Wiki empty: warn that wiki knowledge base is empty; suggest running /ingest to populate ideas, methods, and experiments
- All responses scored 1-2 by Review LLM: halt output, report requires re-analysis, suggest supplementing experiments first
Dependencies
Tools(via Bash)
python3 tools/research_wiki.py slug "{title}" — generate rebuttal slug
python3 tools/research_wiki.py log wiki/ "<message>" — append log entry
MCP Servers
mcp__llm-review__chat — Step 5 stress-test first round
mcp__llm-review__chat-reply — Step 5 stress-test subsequent rounds
Claude Code Native
Read — read review comments, wiki pages, shared references
Write — write rebuttal-{slug}.md, rebuttal-{slug}.txt
Glob — find ideas, methods, experiments
Grep — search wiki for concern keywords
Shared References
.claude/skills/shared-references/cross-model-review.md — Review LLM stress-test independence principle
Suggested follow-up skills
/exp-design — design supplementary experiments for concerns with insufficient evidence
/paper-draft — prepare revised paper (based on Paper Edits checklist)
1---2name: autosci-rebuttal3description: Parse review comments → atomize concerns (Rvx-Cy) → map to wiki ideas/methods → check evidence → Review LLM stress-test → generate rebuttal4---56# /rebuttal78> Parse review comments, atomize each concern (Rvx-Cy numbering) and map it to a wiki idea or method,9> check whether evidence is sufficient (tracing back to wiki experiments),10> simulate reviewer follow-up questions with Review LLM (stress-test, scored 1-5), and generate11> a formal plain-text rebuttal and a rich-text rebuttal.12> Safety checks ensure no fabrication, no overpromise, full coverage.1314## Inputs1516- `review`: source of review comments, one of:17 - file path (e.g. `raw/reviews/reviewer1.txt`, `raw/reviews/meta-review.md`)18 - multiple file paths (comma-separated: `raw/reviews/R1.txt,raw/reviews/R2.txt,raw/reviews/R3.txt`)19 - directly pasted review text20- `--paper-slug` (optional): slug of the associated paper in wiki/outputs/, used to locate PAPER_PLAN21- `--venue` (optional): target conference/journal (ICLR / NeurIPS / ICML / ACL / CVPR); affects rebuttal format and word limits22- `--stress-test` (optional, enabled by default): Review LLM simulates reviewer follow-up; disable with `--no-stress-test`23- `--format` (optional, default `formal`): output format24 - `formal`: formal plain-text rebuttal (suitable for pasting directly into submission system)25 - `rich`: rich-text version (with wiki [[links]], detailed analysis, improvement plan)2627## Outputs2829- **wiki/outputs/rebuttal-{slug}.md** — rich-text rebuttal (with [[wikilinks]], evidence tracing, analysis tables)30- **wiki/outputs/rebuttal-{slug}.txt** — formal rebuttal (plain text, suitable for pasting into submission system)31- **wiki/ideas/*.md** / **wiki/methods/*.md** — if a concern exposes an evidence gap, append a suggestion to the relevant section (`## Risks` / `## Lessons learned` for ideas; `## Limitations` for methods)32- **wiki/log.md** — append log entry3334## Wiki Interaction3536### Reads37- `wiki/ideas/*.md` — map concerns to ideas, check linked experiments and novelty argument38- `wiki/methods/*.md` — map concerns to methods, check Mechanism / Procedure / Limitations39- `wiki/experiments/*.md` — find experiment results supporting ideas (via `linked_idea`)40- `wiki/papers/*.md` — find citation context for referenced papers41- `wiki/concepts/*.md` — understand the conceptual background of method-related concerns42- `wiki/outputs/PAPER_PLAN.md` — understand paper structure (from /paper-plan, if --paper-slug provided)43- `wiki/graph/context_brief.md` — global context44- `wiki/graph/edges.jsonl` — idea-experiment-paper-method relationships45- `.claude/skills/shared-references/cross-model-review.md` — Review LLM stress-test independence4647### Writes48- `wiki/outputs/rebuttal-{slug}.md` — rich-text version49- `wiki/outputs/rebuttal-{slug}.txt` — formal plain-text version50- `wiki/ideas/*.md` / `wiki/methods/*.md` — append reviewer-identified gaps to `## Risks` / `## Lessons learned` (ideas) or `## Limitations` (methods); do not silently flip an idea's status — only flag concerns51- `wiki/log.md` — append log entry5253### Graph edges created54- None (rebuttal is a query operation; does not modify the knowledge graph)5556## Workflow5758**Precondition**:591. Confirm working directory is the wiki project root (containing `wiki/`, `raw/`, `tools/`)602. Read `cross-model-review.md` to confirm stress-test independence principle613. Generate slug: `python3 tools/research_wiki.py slug "{paper-slug}-rebuttal"`6263### Step 1: Parse Review Comments64651. **Read review text**:66 - If file path(s): read all specified files67 - If direct text: use directly68 - Merge multiple reviewers' comments, annotated by source (Reviewer 1/2/3/Meta)69702. **Identify structure**:71 - Extract each reviewer's: overall score (Accept/Reject/Borderline), confidence, summary, Strengths, Weaknesses, questions72 - If the format is non-standard (plain text), use LLM to parse into structured format73743. **Output**: structured comments for each reviewer7576### Step 2: Atomize Concerns7778Split each weakness and question into independent atomic concerns:79801. **Splitting rules**:81 - A single weakness may be a compound sentence containing multiple independent concerns ("the method lacks ablation experiments and also does not compare with X" → split into 2 concerns)82 - Assign each atomic concern an ID in `Rvx-Cy` format (Rv1-C1 = Reviewer 1, Concern 1; Rv1-C2 = Reviewer 1, Concern 2)83 - Retain reviewer number to ensure traceability back to the original comment84852. **Classify each concern**:86 - **evidence**: factual questions about experimental data or result interpretation87 - **method**: methodological questions about method design or algorithmic correctness88 - **missing**: missing experiments/analysis/comparisons/citations89 - **clarity**: unclear expression, symbol confusion, figure issues90 - **scope**: insufficient contribution, applicability questions91 - **novelty**: overlap with existing work, insufficient innovation92 - **minor**: formatting, typos, and other small issues93943. **Assess severity**: critical / major / minor95964. **Output**: atomized concern list, each containing {id (Rvx-Cy), reviewer, type, severity, text}9798### Step 3: Map Concerns to Wiki Ideas / Methods99100For each concern:1011021. **Find associated idea or method**:103 - Extract keywords from concern text104 - Search `wiki/ideas/*.md` and `wiki/methods/*.md` for matches (idea for hypothesis/result challenges; method for design/algorithmic challenges)105 - Read `wiki/graph/edges.jsonl` to find idea↔experiment and method↔paper relationships106 - If no direct match is found: annotate as "unmapped" (no direct entity correspondence)1071082. **Check Evidence Status**:109 - For an idea: read `linked_experiments`, count succeeded/inconclusive/failed outcomes; read `novelty_score` and `status`110 - For a method: read `source_papers` and `## Limitations`111 - **Judgment**:112 - Sufficient: ≥1 succeeded experiment for the linked idea, OR method backed by source paper(s)113 - Partial: experiments exist but mixed outcomes114 - Insufficient: no supporting experiments or thin source coverage115 - Contradicted: failed/inconclusive experiments dominate1161173. **Output**:118119| Concern ID | Reviewer | Type | Severity | Entity mapped | Evidence Status | Strategy |120|------------|----------|------|----------|---------------|-----------------|----------|121| Rv1-C1 | R1 | method | critical | [[method-slug]] | sufficient | A |122| Rv1-C2 | R1 | missing | major | [[idea-slug]] | insufficient | B |123| Rv2-C1 | R2 | novelty | major | unmapped | — | D |124125### Step 4: Draft Rebuttal Responses126127Draft a response for each concern according to its strategy:128129**Strategy A — Evidence sufficient (respond directly):**130- Cite specific experiment results and data (annotate source, ensure traceability to wiki/experiments/)131- Point to evidence in the wiki (convert to paper citations)132- If the concern is based on a misunderstanding: politely clarify, point to the relevant Section in the paper133134**Strategy B — Evidence insufficient (acknowledge + concrete plan):**135- Honestly acknowledge that current evidence is not sufficient136- Propose a concrete supplementary experiment plan (can link to /exp-design)137- State a specific timeline and resource requirements138- Do not use vague commitments; only commit to concrete executable supplementary experiments139140**Strategy C — Clarity issue (commit to revision):**141- Acknowledge the unclear expression142- Provide the improved description (show the revised text directly in the rebuttal)143- List specific Paper Edit plans144145**Strategy D — Scope/Novelty challenge (argue):**146- Highlight essential differences from existing work147- Cite novelty-check results (if available)148- Point out differences the reviewer may have overlooked149150**Format for each response**:151```markdown152**[Rvx-Cy]** {concern summary}153154{response text, 2-5 sentences, annotated sources for traceability}155```156157**Safety checks (per response)**:158- [ ] No fabrication: do not fabricate data or experiment results159- [ ] No overpromise: only commit to specific executable supplementary experiments160- [ ] Cited data is recorded in wiki/experiments/161- [ ] If the linked idea has `status: invalidated` or its experiments are inconclusive, do not pretend it is supported162163### Step 5: Review LLM Stress-Test164165**Follow cross-model-review.md**: do not send Claude's rebuttal strategy analysis to Review LLM.166167If `--stress-test` is enabled (default):168169```170mcp__llm-review__chat:171 system: "You are a critical reviewer who has just read a rebuttal to your review172 comments. You are skeptical and will push back on weak responses.173 For each rebuttal response, assess on a scale of 1-5:174 1 = unconvincing (deflection or fabrication suspected)175 2 = weak (vague, no concrete evidence)176 3 = acceptable (addresses concern but could be stronger)177 4 = strong (concrete evidence, clear reasoning)178 5 = fully convincing (compelling evidence, thorough response)179 Also check for overpromise: are commitments specific and feasible?180 Provide a follow-up question for any response scoring <= 3."181 message: |182 ## Original Review Concerns183 {atomic concerns list with Rvx-Cy IDs}184185 ## Author Rebuttal186 {drafted rebuttal responses}187188 ## Please assess each response (score 1-5) and provide follow-up questions.189```190191**Handle Review LLM feedback**:192- **Score 4-5 (convincing)**: keep original response193- **Score 3 (acceptable)**: strengthen response, add details suggested by Review LLM194- **Score 1-2 (unconvincing/weak)**: rewrite response, consider switching strategy (A→B, acknowledge insufficiency)195196**Second round (if any responses scored <= 2)**:197198```199mcp__llm-review__chat-reply:200 threadId: {previous thread}201 message: |202 We've revised the following responses:203 {revised responses}204 Please re-assess (score 1-5).205```206207Maximum 2 rounds of stress-test. Handle follow-up questions and update responses.208209### Step 6: Format Output + Safety Check210211**6a. Format formal rebuttal-{slug}.txt** (plain text, suitable for submission system):212213```214We thank the reviewers for their constructive feedback. We address each concern below.215216Reviewer 1:217218[Rv1-C1] {concern summary}219{response}220221[Rv1-C2] {concern summary}222{response}223224Reviewer 2:225...226227Summary of Revisions:228- {bulleted list of planned changes}229230Additional Experiments (if applicable):231- {new experiments committed to, with timeline}232```233234**6b. Format rich-text rebuttal-{slug}.md**:235236```markdown237# Rebuttal Analysis: {paper title}238239## Coverage Summary240| Concern ID | Type | Severity | Entity | Evidence Status | Review LLM Score | Strategy |241|------------|------|----------|--------|-----------------|------------------|----------|242| Rv1-C1 | method | critical | [[method-slug]] | sufficient | 4/5 | A |243| Rv1-C2 | missing | major | [[idea-slug]] | insufficient | 3/5 | B |244245## Responses246### Reviewer 1247**[Rv1-C1]** ...248**[Rv1-C2]** ...249250## Evidence Gap Analysis251| Entity | Status / Novelty | Gap | Needed |252|--------|------------------|-----|--------|253| [[idea-slug]] | proposed / novelty 2 | No ablation on dataset X | Run ablation experiment |254255## Action Items256257### Paper Edits258| Section | Change | Reason |259|---------|--------|--------|260| Section 3.2 | Clarify notation | Rv1-C3 clarity concern |261262### Wiki Updates263| Page | Update | Reason |264|------|--------|--------|265| ideas/{slug} | Append concern to `## Risks` | Rv2-C1 evidence gap |266267### Suggested Experiments268| Experiment | Linked Idea | Suggested by |269|-----------|-------------|--------------|270| ablation-dataset-x | [[idea-slug]] | Rv1-C2 |271272→ Run `/exp-design ablation-dataset-x` to design follow-up273274## Review LLM Stress-Test Summary275- Average score: {N}/5276- Scores 4-5: {N}/{total}277- Scores 1-3: {N}/{total} (all revised)278279## Safety Checklist280- [x] No fabrication: all cited data exists in wiki/experiments281- [x] No overpromise: all committed experiments are specific and feasible282- [x] Full coverage: {N}/{N} concerns addressed (no omissions)283- [x] Invalidated/inconclusive ideas not presented as supported284```285286**6c. Final safety check**:287- **Full coverage**: confirm every concern has a response (no omissions)288- **No fabrication**: every cited data point is recorded in wiki/experiments/ (traceable)289- **No overpromise**: supplementary experiment commitments are specific and feasible290- **Honesty on weak ideas**: if the linked idea has `novelty_score <= 2` OR its linked experiments are inconclusive, do not pretend evidence is sufficient291292**6d. Update wiki**:293- For ideas with evidence gaps: append reviewer-identified gaps to `## Risks` (or `## Lessons learned`) in `wiki/ideas/{slug}.md`294- For methods with weak coverage: append concerns to `## Limitations` in `wiki/methods/{slug}.md`295- Append log:296 ```bash297 python3 tools/research_wiki.py log wiki/ \298 "rebuttal | {N} concerns addressed | {M} evidence gaps | stress-test avg: {score}/5"299 ```300301## Constraints302303- **No fabrication**: never fabricate experiment data or results. Every cited number must be traceable to wiki/experiments/ with source annotated304- **No overpromise**: only commit to specific executable supplementary experiments. Use "we will run ablation on X with setup Y" not "we will investigate"305- **Full coverage**: every reviewer concern (Rvx-Cy) must have a response; omissions block output306- **Evidence traceability**: every piece of evidence cited in a response must be traceable to a wiki page with source slug annotated307- **Do not silently flip a linked idea's status**: rebuttal only flags concerns by appending to ideas' `## Risks` / `## Lessons learned` or methods' `## Limitations`; status transitions are reserved for `/exp-eval`308- **Review LLM independence**: during stress-test, follow cross-model-review.md; do not reveal response strategy to Review LLM309- **Concern ID format**: strictly use Rvx-Cy format (Rv1-C1, Rv1-C2, Rv2-C1) to ensure traceability310- **Specific commitments**: all revision commitments and experiment plans must be specific (specific Section, specific dataset, explicit metric)311- **Output to wiki/outputs/**: rebuttal files are stored uniformly in the wiki/outputs/ directory312313## Error Handling314315- **Review file not found**: report error, list available files under raw/reviews/316- **Review format cannot be parsed**: fall back to plain-text processing; use LLM to extract concerns; annotate in report317- **Concern cannot be mapped to an idea or method (unmapped)**: annotate as "unmapped"; still respond (based on paper content rather than wiki entity)318- **Review LLM stress-test unavailable**: skip Step 5; annotate in report "stress-test skipped: Review LLM unavailable"319- **Evidence severely insufficient**: if >50% of concerns have insufficient evidence, warn the user and suggest supplementing experiments first320- **Wiki empty**: warn that wiki knowledge base is empty; suggest running /ingest to populate ideas, methods, and experiments321- **All responses scored 1-2 by Review LLM**: halt output, report requires re-analysis, suggest supplementing experiments first322323## Dependencies324325### Tools(via Bash)326- `python3 tools/research_wiki.py slug "{title}"` — generate rebuttal slug327- `python3 tools/research_wiki.py log wiki/ "<message>"` — append log entry328329### MCP Servers330- `mcp__llm-review__chat` — Step 5 stress-test first round331- `mcp__llm-review__chat-reply` — Step 5 stress-test subsequent rounds332333### Claude Code Native334- `Read` — read review comments, wiki pages, shared references335- `Write` — write rebuttal-{slug}.md, rebuttal-{slug}.txt336- `Glob` — find ideas, methods, experiments337- `Grep` — search wiki for concern keywords338339### Shared References340- `.claude/skills/shared-references/cross-model-review.md` — Review LLM stress-test independence principle341342### Suggested follow-up skills343- `/exp-design` — design supplementary experiments for concerns with insufficient evidence344- `/paper-draft` — prepare revised paper (based on Paper Edits checklist)