deep-review

Comprehensive single-document review combining pessimistic and optimistic analysis with improvements. Modifies content.

SKILL.md

GitHub

Deep Review

Comprehensive review that runs both pessimistic and optimistic analysis on a single document, then applies targeted improvements based on findings.

When to Use

  • When /deep-review is invoked
  • Optionally with a specific file: /deep-review obsidian/topics/meaning-of-life.md
  • As a regular maintenance task in the evolution loop cycle

Instructions

1. Select Document

If a specific file is provided as an argument, use it.

Otherwise, use the candidate selection tool to find the highest priority document:

uv run python scripts/deep_review.py next --obsidian obsidian

The tool ranks candidates by:

  • Never reviewed (highest priority): base score 100 + days since modification
  • Modified since last review: days unreviewed * 2
  • Reviewed and unchanged: excluded (no review needed)
  • Convergence damping: each prior deep-review-*-{slug}.md review file divides the score by (1 + 0.3 × count). Articles with 3+ prior reviews reviewed within the last 14 days are excluded entirely (a cosmetic cross-link bump should not re-trigger a fresh deep-review pass within two weeks of a thorough one).

If no candidates are found, log to changelog and exit successfully.

1.5. Check Previous Reviews

Before reviewing, check if this document has been reviewed before:

ls -t obsidian/reviews/deep-review-*-[slug].md 2>/dev/null | head -1

If a previous review exists, READ IT. This is critical for convergence:

  • Note what issues were previously identified and marked as resolved
  • Note what counterarguments were already addressed
  • Note what strengths were identified (preserve these)

Issue tracking rule: If a previous review marked an issue as "resolved," do NOT re-flag it as critical unless:

  1. The resolution was actually incorrect or incomplete
  2. New content has been added that reintroduces the problem
  3. The article has been substantively modified since the last review

Philosophical disagreements that were acknowledged as "bedrock disagreements" in a previous review should NOT be re-flagged. The goal is convergence, not endless oscillation.

2. Run Pessimistic Review (Deep Mode)

Read the selected document thoroughly, then apply adversarial analysis using the six philosopher personas from /pessimistic-review:

  1. Eliminative Materialist (Patricia Churchland perspective)
  2. Hard-Nosed Physicalist (Daniel Dennett perspective)
  3. Quantum Skeptic (Max Tegmark perspective)
  4. Many-Worlds Defender (David Deutsch perspective)
  5. Empiricist (Karl Popper's Ghost perspective)
  6. Buddhist Philosopher (Nagarjuna perspective)

In deep single-file mode, apply extra scrutiny:

  • All six personas must engage specifically with this content
  • Look for subtle logical gaps, not just obvious flaws
  • Evaluate style guide compliance in detail (see obsidian/project/writing-style.md)
  • Check every factual claim for support
  • Identify internal contradictions

Capture findings using these severity definitions:

Critical issues (must fix) — ONLY flag as critical if:

  • Factual error (wrong date, misattributed quote, incorrect scientific claim)
  • Attribution error (claims attributed to wrong author, or claims author didn't make)
  • Dropped qualifiers that change meaning (e.g., "default causal profile" → "causal profile")
  • Internal contradiction (article contradicts itself)
  • Missing required section (e.g., no "Relation to Site Perspective")
  • Broken links or references
  • Severe style guide violation (e.g., missing front-loaded summary)
  • Source/Map conflation (Map interpretation presented as source's claim)
  • Possibility/probability slippage (treating "the Map's tenets remove a defeater" as if it upgraded the evidence level — e.g., labelling a boundary case at "realistic possibility" or higher on the five-tier evidential-status scale (established → strongly supported → realistic possibility → live hypothesis → speculative integration) when the load-bearing support is tenet-coherence rather than positive evidence). This is a calibration error, not a philosophical disagreement, and it is correctable inside the Map's own framework. See the "Distinguishing bedrock disagreement from calibration error" guidance below.
  • Method/history necessity claims are not exempt (a claim about method, history or genealogy that uses necessity vocabulary — "inevitable", "built into", "cannot in principle", "because X made them so", "structurally" — triggers the same calibration audit as an empirical claim; "the article's claims are about method and history" is never a pass. Record which of the four labels from obsidian/project/evidential-status-discipline.md §"The Two Registers" applies — documented textual claim, contested historiography, Map reconstruction, framework-conditional implication — and run the three-item transition check: "origin ⇒ validity", "initial method ⇒ permanent limit", "past exclusion ⇒ present ontological residue" are each invalid unless a separate, named premise carries them. Motivating miss: reviews/deep-review-2026-09-05-galilean-exclusion.md L66 passed a lead that called the hard problem "structurally inevitable" after a 1623 passage with "No evidential-status claims on the five-tier scale". An unlabelled necessity claim, or a genealogy that fails the transition check, is a calibration error — CRITICAL and correctable inside the framework.)

NOT critical — These are medium or low, not critical:

  • "Persona X disagrees with the position from a different framework" (bedrock philosophical disagreement at the framework boundary is expected — physicalists, Many-Worlds defenders, eliminative materialists will always disagree from outside the Map's tenets, and that disagreement is not a correctable defect — see [[bedrock-clash-vs-absorption]])
  • "Response to objection Y could be stronger" (unless it's a strawman)
  • "Section Z is thin" (expansion opportunity, not critical flaw)
  • Issues that were addressed in a previous review

Distinguishing bedrock disagreement from calibration error. "Persona X disagrees" is only not-critical when the disagreement is at the framework boundary — the persona rejects the Map's tenets, or argues from a framework the Map has explicitly excluded. When the disagreement looks philosophical but is actually about evidential calibration inside the Map's framework — the article has used a tenet to remove a defeater and then treated the defeater-removal as if it had upgraded evidence level — that is possibility/probability slippage and is a CRITICAL issue, not a bedrock disagreement to be absorbed.

The diagnostic test: would a reviewer who fully accepts the Map's tenets still flag the claim as overstated relative to the evidential-status scale? If yes, the issue is not bedrock disagreement; it is a calibration error the article must fix. Examples:

  • "Reviewer says nematodes probably aren't conscious" viewed against an article labelling nematodes "live hypothesis / speculative integration" — bedrock-style disagreement; not critical (the article's calibration is honest at that tier).
  • "Reviewer says the article overstates the evidential status of nematode consciousness" against an article that labels nematodes at "realistic possibility" because the tenets weaken parsimony arguments — calibration error; CRITICAL. A tenet-accepting reviewer would still flag the upgrade because the load-bearing move is "tenet removes a defeater," not positive evidence.
  • "Reviewer says the Map's quantum interactionism is wrong" — bedrock; not critical (the disagreement is at the tenet boundary).
  • "Reviewer says the article presents tenet-coherence as if it elevated the evidential status of an empirical claim" — calibration error; CRITICAL.

The 2026-05-03 outer review by ChatGPT 5 Pro identified this distinction as the key one for protecting content from drift back toward over-confident claims about minimal-organism consciousness. The systemic risk the discipline catches is that calibration errors look like philosophical disagreements when they are not, and the previous "not critical" rule shielded the slippage from corrective signal. The fix is the diagnostic test above: ask whether a tenet-accepting reviewer would still flag the claim. If yes, it is correctable; treat it as such.

Medium issues (should fix):

  • Weak engagement with major counterarguments
  • Missing cross-links to related content
  • Prose that could be tightened

Low issues (nice to fix):

  • Minor style improvements
  • Additional examples that could help

Counterarguments needing response — Note these separately

Unsupported claims — Flag factual claims without support

2.4 Publisher-of-Record Citation Web-Verify (Mandatory for Citation-Bearing Articles)

This is the corpus's highest-yield single defect channel. Tune-system 2026-06-03/06-04/06-05 documented ~24 distinct citation/empirical defects per session caught only here — wrong-author, wrong-paper, wrong-year, wrong-venue, fabricated, family-resolution errors that survived 5–12+ prior "verified" reviews because intra-corpus consistency ratifies them. The web-verify pass catches them; intra-corpus cross-check does not.

Trigger — run the web-verify pass when the article matches any of:

  • Carries inline citations of the form Author et al. YYYY (any number of cites)
  • Has a References / Bibliography / Further Reading section with bibliographic entries
  • Cites empirical results, experiments, or quantitative findings
  • The body or References block was modified since the last deep-review (so a cosmetic-cross-link no-op pass on a stable References list can skip)

Skip only when the article is pure conceptual analysis with zero bibliographic citations.

A quotation certified by a prior review without a grep of the raw source is uncertified — re-verify it (Metzinger 2009 and Revonsuo 2000 quotes were certified "canonical" on 2026-07-26 and are absent from the cited works).

Procedure

For every inline cite Author et al. YYYY and every References entry:

  1. WebSearch the publisher of record (not Google Scholar abstracts, not aggregators that cache stale metadata). Acceptable verification sources:

    • Journal websites (DOI landing pages, publisher PDFs)
    • PubMed / arXiv for the canonical version
    • Publisher catalog pages for book chapters
    • For SEP / IEP / philosophy reference works: the live entry at the canonical URL
  2. Verify the full citation tuple — author surname(s), year, title, venue, volume/issue/pages (or DOI/arXiv ID).

  3. Classify each cite into one of three states (per [[citation-verify-false-negative]] discipline):

    • real-correct — the citation is faithful; do nothing.
    • real-wrong-metadata — the paper exists but the article has an error (wrong author, wrong year, wrong venue, wrong page range, wrong volume, missing co-author, etc.). Fix the metadata in place — do NOT delete the cite.
    • fabricated / unfindable — no paper matching this metadata exists at any publisher across 3 independent searches with different keyword combinations. Before declaring fabrication, verify the claimed result is also unfindable (not just the metadata). If genuinely fabricated, remove the cite and the body claim it supports — or restore the claim with a different real citation if one is available.

    Common false-negative trap: an Author, FirstName et al. YYYY cite may be the same person with first/middle order swapped (e.g. Pérez López, D. cited as Pérez, D.L.), or a compound surname split — search by result keywords, not author surname alone, before declaring fabrication. See [[ai_citation_metadata_unreliable]].

  4. Empirical-record currency sweep — for any cite that claims a superlative ("current record", "largest", "latest", "first to demonstrate", "to date"), additionally verify against the live 2020s literature that the superlative still holds. A correct cite whose empirical claim has been superseded is its own defect class (see [[empirical-record-currency-drift]]). Flag superseded superlatives even if the cite itself is faithful — the claim needs to be re-scoped to "as of YYYY" or replaced with the newer record.

    To locate the exact passages to check, run the helper:

    uv run python -c "
    from pathlib import Path
    from tools.curate.empirical_currency import find_superlative_claims
    for c in find_superlative_claims(Path('[filepath]')):
        print(f'L{c.line_number}: \"{c.matched_phrase}\" — {c.context}')
    "
    

    Each line returned is a candidate for web-verification. Empty output means no superlative claims detected; you can skip this sub-step.

  5. Cross-reference inline ↔ References — every inline Author YYYY must have a References entry; every References entry must be cited inline (or removed). Orphans in either direction are critical issues.

  6. Family resolution — when the same paper is cited with inconsistent metadata across the corpus (the article you're reviewing plus its related_articles), do not silently mint a new variant. Web-verify once at the publisher of record, then grep the corpus and propagate the canonical form across every file — record this as a sub-finding in the review archive.

  7. Result-direction / null-result leg — for every empirically cited paper, answer in one ledger line: "does this paper report this result, in this direction, or a null?" Numbers and comparatives inside a cited claim are their own verification target (cf. changelog 2026-09-04 authorship-of-action-divergence inverted comparison). A real-correct ledger line certifies metadata only and does NOT discharge this leg — Baird 2018 passed three reviews with correct metadata while its abstract reports "no significant differences in brain structure", the reverse of the article's claim.

  8. Cited-author-stance leg — for every author cited in support of a Map reading, record the author's own metaphysical commitment in one clause and confirm the article does not present them as endorsing the Map's conclusion. Model the wording on topics/predictive-processing-and-dualism L48 (proponents named as "explicitly anti-dualist") and concepts/delegatory-causation L140 (the Map's reading marked as Map-specific).

  9. Stability-note scope leg — a stability note may exempt a framework commitment (the Map adopts dualism) from re-flagging, never an empirical-support claim attached to it (a named experiment or author favours the commitment). The latter stays reviewable every pass.

What to record

In the review archive's Pessimistic / Critical Issues section, list each web-verified cite with its verified state. Format:

- Author YYYY (Title) — state: real-correct | real-wrong-metadata (was X, corrected to Y) | fabricated (removed) | currency-superseded (superlative claim updated to "as of YYYY")

This per-cite ledger lets future reviews see what was checked and avoids re-litigating the same cites. A review that simply says "citations verified" without the ledger is treated as having skipped this step.

2.5 Attribution Accuracy Check (Required for Source-Based Articles)

If the article is based on a specific source (research paper, philosopher's work), run this dedicated check. These errors are critical because they damage credibility.

Misattribution Check

  • Are all claims attributed to the source actually in the source?
  • Did we attribute a framework/constraints to the right author? (e.g., "five constraints" are Saad's, not Chalmers')
  • Did we claim the author discusses something they don't? (e.g., "Many-Worlds" when they don't mention it)

Qualifier Preservation Check

  • Are crucial qualifiers preserved? ("default causal profile" not just "causal profile")
  • Did we change "X or at least Y" to just "X"?
  • Did we change "some" to "all" or "wherever"?

Position Strength Check

  • Did we present exploratory positions as commitments? ("explores" ≠ "argues")
  • Did we claim shared commitments that aren't shared? (e.g., "shares our rejection of MWI" when author expresses "sympathy for MWI")
  • Did we use "solves" or "answers" when source uses "addresses" or "explores"?

Source/Map Separation Check

  • Is source exposition clearly separated from Map interpretation?
  • Are Map-specific arguments (tenets, quantum interactionism) clearly labeled as such?
  • Did we inject Map arguments as if they came from the source?

Self-Contradiction Check

  • Did we claim something is "not required" but also "required" in different sections?
  • Are claims about the theory's commitments consistent throughout?

If any check fails, this is a CRITICAL issue. Fix it before proceeding to optimistic review.

2.6 Reasoning-Mode Classification (Required for Articles That Reply to Named Opponents)

When the article replies to a named opponent (Duch, Frankish, Dennett, Chalmers, the materialist, the functionalist, etc.), classify each engagement by reasoning mode. See [[direct-refutation-discipline]] for the full discipline. The classification is editor-internal — it goes in the changelog and editor's notes, never in the article body. The article must engage opponents in natural journal-quality prose.

The four primary classifications (editor's diagnostic vocabulary, not article vocabulary):

  • Mode One — defective on its own terms. Internal-to-the-opponent argument is available; the reply earns the disagreement inside the opponent's framework.
  • Mode Two — unsupported foundational move. The framework has helped itself to a foundational move it has not earned by its own standards (materialism stipulating "computation produces experience" without specifying the bridge; functionalism asserting "functional pattern is what matters" without arguing why it would generate qualia; eliminativism declaring folk-psychology terms non-referential without specifying the reduction). The reply uses the opponent's own commitments to mechanism, evidence, or argument.
  • Mode Three — framework-boundary marking. The disagreement is at the framework boundary; the reply notes the disagreement honestly without claiming to have refuted the opponent inside their own framework.
  • Mixed. Most full engagements warrant a sequence: foundational-move identification opens, in-framework argument deepens, boundary-marking declares the residue. The prose flows naturally between the moves.

For each named-opponent reply:

  1. Identify the mode — flag boundary-substitution as a CRITICAL issue when an internal-to-the-opponent argument or unsupported-move identification was available but the article presented tenet-incompatibility as if it refuted the opponent inside the opponent's framework.
  2. Flag label leakage as a CRITICAL issue. Editor-vocabulary terms must not appear in article prose. Forbidden labels: direct-refutation-feasible, unsupported-jump callout, unsupported-jump, bedrock-perimeter, mode-mixed, mixed-with-distinct-roles, tenet-register move, Engagement classification:, per [[direct-refutation-discipline]] as meta-commentary, bold-headed **Evidential status:** callouts. Any of these found in article prose must be removed and replaced with natural language.
  3. Verify mode honesty — Mode One must derive from the opponent's own commitments; Mode Two must invoke a standard the opponent's framework actually endorses; Mode Three must explicitly note the framework-boundary disagreement rather than dressing it as refutation.
  4. Apply or upgrade in natural prose — if the engagement is currently weaker than the available mode, upgrade or downgrade as appropriate. Express the move in the patterns from [[writing-style|the writing-style guide]]'s "Engaging Opponents in Journal-Quality Prose" section: "X helps itself to Y without specifying how", "this runs counter to the Map's foundational commitments and is honestly noted as such", "X's framework cannot accommodate the measurement on its own terms". Do not name the modes in the article.
  5. Record in the changelog only — list each engagement's mode in the deep-review changelog entry: "engagement with [opponent]: Mode N; [one-sentence justification]". The classification never appears in the article body.

Boundary-substitution is the failure mode three independent outer reviewers (2026-05-03 ChatGPT, 2026-05-04 ChatGPT, 2026-05-04 Claude) converged on; label leakage is the failure mode that came from over-eager early implementation. Both are correctable in this pass. Upgrade engagements where possible; declare bedrock honestly where not; never expose editor-vocabulary in prose.

3. Run Optimistic Review (Deep Mode)

Apply supportive analysis using the seven sympathetic philosopher personas from /optimistic-review:

  1. Property Dualist (David Chalmers perspective)
  2. Quantum Mind Theorist (Henry Stapp perspective)
  3. Phenomenologist (Thomas Nagel perspective)
  4. Process Philosopher (Alfred North Whitehead perspective) — subject to the evidential-status constraint: praise must not justify upgrading boundary cases up the five-tier scale (established → strongly supported → realistic possibility → live hypothesis → speculative integration) on tenet-load alone
  5. Libertarian Free Will Defender (Robert Kane perspective)
  6. Mysterian (Colin McGinn perspective)
  7. Hardline Empiricist (Jonathan Birch perspective) — counterweight to the Process Philosopher; praises evidential restraint about minimal-organism consciousness, the "tenet-coherent, not evidence-elevating" pattern, and tenet-as-evidence-upgrade declined as a praise-worthy thing not done

In deep single-file mode:

  • All seven personas must engage specifically with this content
  • Identify concrete expansion opportunities within this document
  • Note cross-linking potential with existing content
  • Find unique phrasings and arguments worth preserving
  • Identify strengths in argumentation and communication
  • When the Process Philosopher and the Hardline Empiricist are in productive tension over the same passage, the calibration question is load-bearing — resolve via the diagnostic test in §2 above

Capture findings:

  • Strengths to preserve (do not change these)
  • Expansion opportunities (thin sections to develop)
  • Cross-links to add (connections to other site content)
  • Effective patterns (communication techniques that work)

4. Synthesize and Plan Improvements

Based on both reviews, create an improvement plan:

Must Address (from pessimistic):

  • All critical issues
  • Unsupported claims flagged as high priority
  • Internal contradictions

Should Address (balanced):

  • Medium-priority issues from pessimistic review
  • Natural expansion points from optimistic review
  • Missing connections identified by both

Preserve (from optimistic):

  • Strong arguments and unique insights
  • Effective communication patterns
  • Author's voice and style that works

4.5 Length Check (Length-Neutral Mode)

Before applying improvements, check article length against section thresholds:

uv run python -c "
from pathlib import Path
from tools.curate.length import analyze_length
a = analyze_length(Path('[filepath]'))
print(f'{a.word_count} words ({a.excess_percent:.0f}% of {a.soft_threshold} target) - {a.status}')
"

Thresholds by section (soft/hard/critical):

Section Soft Hard Critical
concepts/ 2500 3500 5000
topics/ 3000 4000 6000
apex/ 4000 5000 6500
voids/ 2000 3000 4000

If article is at or above soft threshold:

  • Operate in length-neutral mode
  • For each addition, identify an equivalent passage to trim or remove
  • Combine sections where possible instead of adding new ones
  • Prefer tightening prose over adding new content
  • Replace verbose explanations with links to existing concept pages

If article exceeds hard threshold:

  • Apply condensation as part of this review
  • Follow /condense principles: cut redundancy, extract tangents, tighten prose
  • Document word count before/after in the review archive

If article is below soft threshold:

  • Normal improvements allowed
  • Expansion opportunities from optimistic review can be addressed

5. Apply Improvements

Make targeted edits to the document:

  1. Address critical and high-priority issues first
  2. Add brief responses to the strongest counterarguments
  3. Expand thin sections where optimistic review identified opportunities
  4. Add cross-links suggested by optimistic review (using [[wikilink]] syntax)
  5. Preserve original voice and strong passages
  6. Add description if missing — 150-160 chars emphasizing human+AI collaboration, iterative refinement, pursuit of truth (not generic)

Follow obsidian/project/writing-style.md guidelines:

  • Front-load important information (LLM truncation resilience)
  • Use named-anchor pattern for forward references
  • Ensure "Relation to Site Perspective" section is substantive

6. Update Frontmatter

After improvements, update the file's frontmatter:

ai_modified: 2026-01-07T15:30:00+00:00  # Current ISO timestamp
last_deep_review: 2026-01-07T15:30:00+00:00  # Current ISO timestamp

If original was human-authored (ai_contribution: 0), update to reflect collaboration:

ai_contribution: 30  # Or appropriate percentage based on extent of changes

7. Create Review Archive

Save a combined review report to obsidian/reviews/deep-review-YYYY-MM-DD-[slug].md:

---
title: "Deep Review - [Document Title]"
created: YYYY-MM-DD
modified: YYYY-MM-DD
human_modified: null
ai_modified: YYYY-MM-DDTHH:MM:SS+00:00
draft: false
topics: []
concepts: []
related_articles: []
ai_contribution: 100
author: null
ai_system: [current model]
ai_generated_date: YYYY-MM-DD
last_curated: null
---

**Date**: YYYY-MM-DD
**Article**: [[article-slug|Article Title]]
**Previous review**: [[previous-review-slug|YYYY-MM-DD]] or Never

## Pessimistic Analysis Summary

### Critical Issues Found
- [Issue]: [Resolution applied]

### Medium Issues Found
- [Issue]: [Resolution applied or deferred]

### Counterarguments Considered
- [Argument]: [How addressed]

## Optimistic Analysis Summary

### Strengths Preserved
- [Strength]

### Enhancements Made
- [Enhancement]

### Cross-links Added
- [[linked-article]]

## Remaining Items

[Any issues deferred for future work, or "None"]

## Stability Notes

[Note any issues that represent fundamental philosophical disagreements rather than fixable problems. Future reviews should NOT re-flag these as critical. Example: "MWI proponents will always find the indexical argument unsatisfying—this is a bedrock disagreement, not a flaw to fix."]

8. Update Todo (if needed)

If significant issues remain that couldn't be addressed in this session:

### P2: Follow-up items from deep review of [filename]
- **Type**: refine-draft
- **Status**: pending
- **Notes**: Deep review deferred: [list specific items]

9. Log to Changelog

Prepend to obsidian/workflow/changelog.md (add immediately after frontmatter, before existing entries):

## [current time from prompt] - deep-review
- **Status**: Success
- **File**: [[filepath without .md extension]]
- **Word count**: [before] → [after] ([+/-change])
- **Critical issues addressed**: [count]
- **Medium issues addressed**: [count]
- **Enhancements made**: [count]
- **Output**: [[reviews/deep-review-YYYY-MM-DD-slug]]

10. Do Not Commit

Leave file changes uncommitted on disk. The orchestrator (cycle_post.py for /loop runs, agent-commit for legacy evolve_loop.py runs) creates the git commit after this skill returns. For manual invocations, run /agent-commit afterward or commit by hand.

What NOT to Do

  • Don't rewrite content that's working well (preserve strengths)
  • Don't add filler content to address "thin" sections
  • Don't remove the author's voice or distinctive style
  • Don't ignore strong counterarguments from pessimistic review
  • Don't skip updating last_deep_review timestamp
  • Don't review the same document twice in quick succession
  • Don't expand articles already at or above soft threshold without equivalent cuts
  • Don't ignore length warnings - if the article is too long, address it
  • Don't re-flag issues that previous reviews marked as resolved — If a prior review said "addressed Dennett's heterophenomenology," don't flag "functionalist response too weak" again unless there's a specific new problem
  • Don't treat bedrock philosophical disagreement as "critical" — The adversarial personas are designed to disagree with dualist content from outside the Map's framework. "MWI defender finds this unsatisfying" is not a critical issue; it's an expected philosophical standoff at the framework boundary
  • DO treat possibility/probability slippage as critical — Calibration errors that look like philosophical disagreements are correctable inside the Map's own framework, and the diagnostic test (would a tenet-accepting reviewer still flag the claim as overstated?) separates bedrock disagreement from slippage. See the "Distinguishing bedrock disagreement from calibration error" guidance in §2 above. Do not let the "philosophical disagreement is expected" rule shield slippage from corrective signal
  • Don't oscillate — If you find yourself wanting to expand something a previous review trimmed (or vice versa), that's a signal the article has reached stability, not that it needs more changes
  • Don't skip the §2.4 publisher-of-record web-verify pass on citation-bearing articles — intra-corpus consistency ratifies wrong citations rather than catching them; only the live publisher does. A review of a citation-heavy article that says "citations verified" without a per-cite ledger in the review archive is treated as having skipped this step. See [[ai_citation_metadata_unreliable]], [[citation-verify-false-negative]], [[empirical-record-currency-drift]]

Attribution Errors to Catch

These errors have been identified in outer reviews and ARE critical issues:

  • Don't miss misattribution — If the article says "Chalmers argues X" but X is actually from Saad, this is critical
  • Don't miss dropped qualifiers — "Default causal profile" → "causal profile" loses essential meaning
  • Don't miss overstated positions — "Explores" → "argues" is a misrepresentation
  • Don't miss source/Map conflation — Map's quantum speculation presented as if it's the source author's claim
  • Don't miss self-contradiction — Claiming theory "doesn't require X" then later "requires X"
  • Don't miss false shared commitments — Claiming author "shares our rejection of MWI" when they express sympathy for MWI

Scoring and Selection

The candidate selection algorithm prioritizes:

  1. Never reviewed (score = 100 + days_since_modified)

    • A document modified 10 days ago that's never been reviewed scores 110
  2. Modified since review (score = days_unreviewed * 2)

    • A document reviewed 5 days ago but modified since scores 10
  3. Reviewed, unchanged (excluded)

    • Documents where content hasn't changed since last review are skipped
  4. Convergence damping (applied after the above)

    • Final score divided by (1 + 0.3 × prior_review_count). A 3-prior-review article gets ~0.5× the raw score; a 5-prior-review article gets ~0.4×; a 10-prior-review article gets ~0.25×.
    • Articles with ≥3 prior reviews AND last_deep_review within the last 14 days are excluded outright. This guards against the corpus-wide pattern where a cosmetic cross-link install in another article bumps ai_modified and re-qualifies a converged article for review, producing a no-op pass.

This ensures new content gets reviewed first, then modified content, while damping multi-reviewed converged articles and avoiding redundant reviews.

Important

  • This skill MODIFIES content (unlike standalone pessimistic/optimistic reviews)
  • Always update both ai_modified and last_deep_review timestamps
  • Document all changes in the review archive
  • The goal is improvement, not perfection
  • Preserve what works while fixing what doesn't
  • Runs regularly as part of the evolution loop cycle
  • Convergence matters: Articles should stabilize after 2-3 reviews. If you're making similar changes to what previous reviews made, the article is likely already at a good state. A review that finds "no critical issues" is a SUCCESS, not a failure to find problems.