diff --git a/manuscript/narrative-review/figures/fig1_strand-map.png b/manuscript/narrative-review/figures/fig1_strand-map.png
new file mode 100644
index 0000000..4531ed7
Binary files /dev/null and b/manuscript/narrative-review/figures/fig1_strand-map.png differ
diff --git a/manuscript/narrative-review/figures/fig1_strand-map.svg b/manuscript/narrative-review/figures/fig1_strand-map.svg
new file mode 100644
index 0000000..802e2f9
--- /dev/null
+++ b/manuscript/narrative-review/figures/fig1_strand-map.svg
@@ -0,0 +1,154 @@
+
+
diff --git a/manuscript/narrative-review/figures/fig1_strand-map_qa.md b/manuscript/narrative-review/figures/fig1_strand-map_qa.md
new file mode 100644
index 0000000..4935b1a
--- /dev/null
+++ b/manuscript/narrative-review/figures/fig1_strand-map_qa.md
@@ -0,0 +1,49 @@
+# Figure QA Report — fig1_strand-map.svg
+
+**Detected type:** SVG + rendered raster (PNG at 600 dpi)
+**Target journal:** Trends in Cognitive Sciences (TiCS), single-column preferred
+**QA agent:** figures:figure-qa (run on 2026-05-20)
+
+## Programmatic findings
+
+**Palette.** PASS. All four perspective fills match Okabe-Ito exactly (distance = 0.0): `#0072B2` blue, `#D55E00` vermillion, `#009E73` bluish-green, `#CC79A7` reddish-purple. Neutral grey `#888` for outlines and `#444` for the legend swatch do not conflict.
+
+**Font size at TiCS single-column print (85 mm @ 300 dpi).** Conversion factor 0.40 pt per SVG user unit:
+
+| Element | SVG size | Effective pt | Pass (>= 6 pt) |
+|---|---|---|---|
+| Title | 14 | 5.6 pt | FAIL |
+| Subtitle, column headers, row labels | 10-11 | 4.0-4.4 pt | FAIL |
+| Legend, source line | 9 | 3.6 pt | FAIL |
+
+At double-column width (174 mm) all sizes pass (7.4-11.5 pt).
+
+**Row-label alignment.** PASS. All 15 rows share uniform text-y to circle-cy offset of +4 units. Column header rectangles center exactly with their circle columns (cx 240, 330, 420, 510 match rect midpoints).
+
+**Alpha and background.** PASS. 4/4 corners pure white; no alpha channel.
+
+**PNG DPI metadata.** Missing. Print workflows default to 72 dpi without explicit DPI.
+
+## VLM judgment (1-5)
+
+| Dimension | Score | Note |
+|---|---|---|
+| Clarity | 4 | Filled vs outlined encoding is immediately legible. |
+| Hierarchy | 4 | Coloured header bars anchor column identity; filled circles pop. |
+| Alignment | 3 | Long row labels in rows 9-11 nearly touch the first circle column. |
+| Palette coherence | 5 | Okabe-Ito set applied with no deviations. |
+| Journal-fit | 3 | Font sizes too small for single-column print reduction. |
+
+## Recommendation
+
+**Status: revise.**
+
+Three actions, in priority order:
+
+1. **Scale all font-size values by 1.5x** (row labels 10 -> 15, column headers 11 -> 17, title 14 -> 21, legend 9 -> 14) OR redesign for double-column width. Without this the figure fails the TiCS single-column print floor.
+2. **Re-export PNG with embedded DPI metadata** at 300 dpi or 600 dpi.
+3. **Replace the single grey swatch in the legend with four small perspective-coloured circles** plus one outlined circle. This doubles the legend as a colour key and removes a header-lookup step.
+
+## Disposition
+
+Items 1-2 are deferred to Phase 5 (final journal-specific assembly). Item 3 is applied in Phase 2.
diff --git a/manuscript/narrative-review/figures/fig2_naturalness-gradient.png b/manuscript/narrative-review/figures/fig2_naturalness-gradient.png
new file mode 100644
index 0000000..91745ec
Binary files /dev/null and b/manuscript/narrative-review/figures/fig2_naturalness-gradient.png differ
diff --git a/manuscript/narrative-review/figures/fig2_naturalness-gradient.svg b/manuscript/narrative-review/figures/fig2_naturalness-gradient.svg
new file mode 100644
index 0000000..cad18eb
--- /dev/null
+++ b/manuscript/narrative-review/figures/fig2_naturalness-gradient.svg
@@ -0,0 +1,145 @@
+
+
diff --git a/manuscript/narrative-review/figures/fig2_naturalness-gradient_qa.md b/manuscript/narrative-review/figures/fig2_naturalness-gradient_qa.md
new file mode 100644
index 0000000..066e1da
--- /dev/null
+++ b/manuscript/narrative-review/figures/fig2_naturalness-gradient_qa.md
@@ -0,0 +1,54 @@
+# Figure QA Report — fig2_naturalness-gradient.svg
+
+**Detected type:** SVG (+ rendered PNG at 600 dpi)
+**Target journal:** Trends in Cognitive Sciences (TiCS) — generic rules applied (no dedicated journal flag)
+**Programmatic JSON:** `/tmp/fig2-svg-report.json`, `/tmp/fig2-raster-report.json`
+
+---
+
+## Programmatic findings
+
+- **Fonts:** All text elements use sizes 9–15 px (SVG user units, ~pt at 96 dpi). Minimum is 9 pt; TiCS print minimum is ~6–7 pt. No elements below threshold. The `fonts` section returned `null` (check_svg font parser did not traverse these inline attributes), but manual audit of all 31 text nodes confirms range {9, 10, 11, 14, 15} — all pass.
+- **Palette:** 1 off-palette colour detected: `#8a3b00` (RGB 138,59,0), nearest Okabe-Ito is vermilion `#D55E00` at distance 82.8. This colour is used exclusively for the target-cell annotation text and the highlight-rect stroke colour. It is a deliberate darkened derivative of the EEG vermilion, not an arbitrary colour, but it falls outside the strict Okabe-Ito set and could confuse colour-vision-deficient readers who rely on the EEG-orange anchor.
+- **Geometry:** Geometric bbox overlap checks are stubbed in this release (script reports `available: true` but findings are advisory only). Manual coordinate audit performed — see VLM section.
+- **Alpha / background:** No alpha channel; all four corners are pure white (RGB 255,255,255). Correct for a journal-margined opaque figure.
+- **Resolution:** PNG is 1100 × 660 px with no embedded DPI metadata. At the target print width of 170 mm, effective DPI = 1100 / (170/25.4) ≈ 164 dpi — below the 300 dpi TiCS requires for raster figures. The SVG is scalable and preferred; the PNG must be re-exported at ≥300 dpi if submitted as a raster file.
+- **Plot-library recommendation:** Not applicable (SVG source, not a plot script).
+
+---
+
+## VLM judgment (1–5 each)
+
+| Dimension | Score | Note |
+|---|---|---|
+| Clarity | 4 | The grid layout, axis labels, and legend make the panel-level message immediately readable; the "b = behavioural-only" footnote glyph is easy to miss on first pass. |
+| Hierarchy | 4 | The dashed yellow target cell draws the eye appropriately; the annotation text ("target: per-shot EEG ERSP") inside it is the clearest call-out in the figure. |
+| Alignment | 3 | Markers in multi-modal cells (especially adult live-action) are horizontally cascaded rather than centre-stacked, so they spill rightward and overlap each other; the visual impression is slightly untidy even though nothing overflows the cell boundary. |
+| Palette coherence | 4 | The four Okabe-Ito modality colours read as a coherent set. The dark-brown `#8a3b00` annotation text creates a subtle dissonance with the EEG-orange markers. |
+| Journal-fit | 3 | The figure reads clearly as a conceptual overview matrix, which suits a narrative review. However, the subtitle text is very small and the bottom source note at 9 pt will be illegible at typical print scale; TiCS figures tend toward cleaner whitespace with no inline source citations. |
+
+---
+
+## Detailed criterion checklist (per spec)
+
+| Criterion | Result | Details |
+|---|---|---|
+| Marker placement vs gridlines | **PASS with note** | All circle and text markers are centred on cell-centre X/Y coordinates. The EEG-square in the adult live-action cell is correctly offset (top-left anchor, visually stacked). Two MEG triangles have their visual apex offset ~15 px right of the cell centre (abstract-animation adult: dx=+15; live-action adult leading triangle: dx=+16), making them appear slightly misaligned relative to the fMRI circle in the same cell. |
+| X-axis label legibility | **PASS** | All six two-line labels are 10 pt, horizontally centred on their cell, and spaced 12 px apart vertically. Legible at rendered size. "Heider-Simmel triangles" is the widest and fits within the 150 px column width. |
+| Legend non-overlap with axis labels | **PASS** | The legend sits at absolute y ≈ 570; the lowest x-axis element ("naturalness gradient" italic) is at y ≈ 528. The 42 px gap is sufficient. No collision. |
+| Target-cell visibility | **PASS** | The dashed `#D55E00` border on `#F0E442` fill (32% opacity) is visually prominent without overwhelming the markers inside it. The two text lines at y=268 and y=280 (plot-local) are fully within the rect (y=252..380). |
+| Shape-vs-colour redundant encoding | **PASS** | fMRI=circle/blue, EEG=square/orange, MEG=upward-triangle/green, iEEG=diamond/pink. Each modality has a unique shape AND a unique Okabe-Ito colour. Readable in greyscale via shape alone. |
+| Visual ambiguity | **FAIL (minor)** | (1) Child / character-animation cell: the fMRI circle (cx=666) and the EEG square (x=676) are separated by only 2 px — they nearly touch. A reader must squint to see two distinct markers. (2) The iEEG diamond in the adult live-action cell partially overlaps the MEG triangle (bboxes intersect). (3) The `#8a3b00` annotation text shares the EEG-orange visual channel and could be misread as an EEG-modality label rather than a free-text annotation. |
+
+---
+
+## Recommendation
+
+- **Status:** revise
+ - All font sizes pass. One off-palette colour is present but intentional (darkened EEG anchor for annotation). PNG DPI metadata is missing. Three minor visual-ambiguity issues need addressing before submission.
+
+- **Highest-leverage fixes (in priority order):**
+ 1. **Child / character-animation cell:** separate the fMRI circle and EEG square by at least 6–8 px (e.g., shift the EEG square to x=680 or nudge both markers away from centre in opposite directions).
+ 2. **Re-export the PNG with explicit `dpi=300`** (or submit the SVG directly; confirm with TiCS production).
+ 3. **Target-cell annotation text colour:** change `#8a3b00` to a neutral dark grey (e.g., `#333333` or `#444444`) so it is visually distinct from the EEG-orange markers — this also resolves the off-palette finding.
+ 4. **MEG triangle horizontal alignment:** shift both MEG triangles to be centred on their cell's X midpoint (adjust `polygon points` offsets) to eliminate the ~15 px rightward drift relative to co-located fMRI circles.
diff --git a/manuscript/narrative-review/figures/fig3_gap-matrix.png b/manuscript/narrative-review/figures/fig3_gap-matrix.png
new file mode 100644
index 0000000..669f8b8
Binary files /dev/null and b/manuscript/narrative-review/figures/fig3_gap-matrix.png differ
diff --git a/manuscript/narrative-review/figures/fig3_gap-matrix.svg b/manuscript/narrative-review/figures/fig3_gap-matrix.svg
new file mode 100644
index 0000000..6de0b91
--- /dev/null
+++ b/manuscript/narrative-review/figures/fig3_gap-matrix.svg
@@ -0,0 +1,213 @@
+
+
diff --git a/manuscript/narrative-review/figures/fig3_gap-matrix_qa.md b/manuscript/narrative-review/figures/fig3_gap-matrix_qa.md
new file mode 100644
index 0000000..a26af21
--- /dev/null
+++ b/manuscript/narrative-review/figures/fig3_gap-matrix_qa.md
@@ -0,0 +1,49 @@
+# Figure QA Report — fig3_gap-matrix.svg
+
+**Detected type:** SVG (+ rendered raster PNG)
+**Target journal:** Trends in Cognitive Sciences (TiCS / Cell Press)
+**Programmatic JSON:** `/tmp/svg-report2.json`, `/tmp/raster-report.json`
+
+---
+
+## Programmatic findings
+
+- **Fonts:** 0 of 36 explicitly-set text elements below journal minimum. 49 elements inherit `font-size="9"` from the parent ``; effective size is 9 pt throughout the data grid, above the Cell Press 6 pt floor. Pass.
+- **Palette:** 3 off-Okabe-Ito colors flagged (checker distance threshold ~80):
+ - `#e7f0fa` (cinematic fMRI cell tint, dist 148 to nearest OI color). Intentional lightened derivative of OI blue `#0072B2`; acceptable as a fill tint.
+ - `#fef0e7` (naturalistic EEG cell tint, dist 144). Intentional lightened derivative of OI vermillion `#D55E00`; acceptable.
+ - `#8a3b00` (no-coverage text fill, dist 83 to OI vermillion). Custom dark-brown; the only genuinely non-OI color. See fix below.
+- **Geometry:** Overlap and arrow-tip checks stubbed in this release; VLM judgment covers layering. No overlaps reported.
+- **Alpha / background:** No alpha channel; all four corners pure white. Correct for a journal-margined PNG. Pass.
+- **Resolution:** 1100 x 720 px; no DPI metadata embedded. At 600 dpi this maps to ~47 x 30 mm, smaller than the intended two-column TiCS width (~170 mm). Re-export at 170 mm width, 600 dpi (~4016 x 2630 px) before submission.
+
+---
+
+## VLM judgment (1-5 each)
+
+| Dimension | Score | Note |
+|---|---|---|
+| Clarity | 5 | Slug text in filled cells and bold orange-bordered "no coverage" in empty cells make each cell instantly interpretable without a caption. |
+| Hierarchy | 4 | Gap labels and column headers register first, data slugs second — correct reading order. Minor deduction: the subtitle line is nearly as visually prominent as the title due to its length. |
+| Alignment | 4 | All 8 rows and 4 data columns are flush; 0.5 pt grey cell borders are consistent throughout. Single deduction: the row-label column (280 px) is 100 px wider than each data column (180 px), creating a left-heavy composition; tightening to ~240 px or widening data columns to 200 px would improve balance. |
+| Palette coherence | 4 | The four column tints (light blue, light orange, light green, light mauve) read as one harmonised family. Deduction: the dark-brown `#8a3b00` no-coverage text is slightly muddy against white; replacing it with OI vermillion `#D55E00` (same hue as the dashed border) would unify the highlight element. |
+| Journal-fit | 3 | The matrix is a competent Cell Press display figure overall, but the decreasing-opacity header strategy fails at the light end. Column 4 ("behavioural / eye-tracking") at `fill-opacity="0.46"` renders white text on an effective ~rgb(137,190,219) background, giving a contrast ratio of ~2.0:1; column 3 ("intracranial / MEG") at `fill-opacity="0.62"` yields ~2.7:1. Both fall well below the 4.5:1 WCAG AA threshold. The rendered PNG confirms both headers look pale and washed-out. |
+
+---
+
+## Recommendation
+
+- **Status:** revise
+ - `ship` criteria not met: column-3 and column-4 header contrast fails journal legibility standards.
+ - Two concrete fixes (below) are sufficient to reach `ship`.
+
+- **Highest-leverage fix (blocker):** Correct column-header contrast for columns 3 and 4. Options: (a) raise `fill-opacity` on column 3 to at least `0.82` and column 4 to `1.0` (full OI blue, white text at 5.2:1); or (b) keep the light tint but switch the text color to a dark shade of the same blue (e.g., `#003d6e`) on columns 3 and 4. The decreasing-opacity encoding communicates prior-effort prominence elegantly, but the two lightest steps currently sacrifice legibility.
+
+- **Secondary fix:** Replace all 14 instances of `fill="#8a3b00"` (13 data cells + 1 legend entry) with `fill="#D55E00"`. This unifies no-coverage text color with its dashed border, eliminates the sole genuinely off-palette color, and keeps strong contrast against white cell backgrounds (~4.8:1 for 9 pt bold).
+
+- **Advisory (non-blocker):** Embed DPI metadata in the PNG export and re-render at 170 mm width, 600 dpi (~4016 x 2630 px) for the final submission file to satisfy Cell Press print requirements.
+
+---
+
+*Programmatic scripts: `/Users/yahya/.claude/plugins/cache/research-skills/figures/0.9.0/agents/figure-qa-scripts/check_svg.py`, `check_raster.py`.*
+*JSON reports: `/tmp/svg-report2.json`, `/tmp/raster-report.json`.*
diff --git a/manuscript/narrative-review/figures/fig4_predictions.png b/manuscript/narrative-review/figures/fig4_predictions.png
new file mode 100644
index 0000000..96395a7
Binary files /dev/null and b/manuscript/narrative-review/figures/fig4_predictions.png differ
diff --git a/manuscript/narrative-review/figures/fig4_predictions.svg b/manuscript/narrative-review/figures/fig4_predictions.svg
new file mode 100644
index 0000000..cca2224
--- /dev/null
+++ b/manuscript/narrative-review/figures/fig4_predictions.svg
@@ -0,0 +1,172 @@
+
+
diff --git a/manuscript/narrative-review/figures/fig4_predictions_qa.md b/manuscript/narrative-review/figures/fig4_predictions_qa.md
new file mode 100644
index 0000000..61f7696
--- /dev/null
+++ b/manuscript/narrative-review/figures/fig4_predictions_qa.md
@@ -0,0 +1,63 @@
+# Figure QA Report — fig4_predictions.svg
+
+**Detected type:** SVG (+ rendered PNG at 600 dpi)
+**Target journal:** Trends in Cognitive Sciences (TiCS) -- generic journal profile used for programmatic checks
+**Programmatic JSON paths:** `/tmp/svg-report.json`, `/tmp/raster-report.json`
+**Date:** 2026-05-20
+
+---
+
+## Programmatic findings
+
+- **Fonts:** 61 text elements checked, 0 flagged by the script (5 pt generic minimum). See critical print-size note below. 19 elements skipped (inherit from group context).
+- **Palette:** 9 distinct colors seen, 0 off-palette. All four perspective fills are canonical Okabe-Ito: psychophysics `#0072B2` (blue), action `#D55E00` (vermillion), language `#009E73` (green), emotion `#CC79A7` (reddish-purple). PASS.
+- **Geometry:** Overlap and arrow-tip checks stubbed in this release. VLM judgment covers layered-element correctness.
+- **Alpha / background:** No alpha channel; all four corners pure white. Consistent with opaque TiCS PNG. PASS.
+- **Resolution:** PNG is 1100x600 px with no embedded DPI metadata. At TiCS two-column (174 mm), effective raster DPI = 1100 / (174/25.4) = ~160 DPI, below the Cell Press 300 DPI minimum. FAIL.
+
+### Critical print-size calculation
+
+The SVG canvas is 1100 px wide with no explicit physical-unit `width` attribute. At TiCS two-column (174 mm = 6.85 in), 1 SVG px = 6.85/1100 x 72 = 0.448 pt. Effective print sizes:
+
+| SVG font-size | Effective pt | TiCS/Cell Press minimum | Status |
+|---|---|---|---|
+| 8 px (head-schematic labels) | 3.6 pt | 5 pt labels | FAIL |
+| 9 px (perspective subtitles, falsification text) | 4.0 pt | 6 pt body | FAIL |
+| 10 px (band/latency values, row titles) | 4.5 pt | 6 pt body | FAIL |
+| 11 px (column headers) | 4.9 pt | 6 pt body | FAIL |
+| 15 px (figure title) | 6.7 pt | 6 pt | PASS |
+
+The README style budget targets 7-9 pt for labels. Every text element except the figure title will be below the TiCS/Cell Press floor at two-column print width.
+
+---
+
+## VLM judgment (1-5 each)
+
+| Dimension | Score | Note |
+|---|---|---|
+| Clarity | 4 | Band and latency cells are immediately readable; topographic foci communicate spatial predictions at a glance. The psychophysics row label carries two qualifying clauses that slow parsing but are substantively necessary. |
+| Hierarchy | 4 | Dark-grey column headers and per-perspective color fills on the leftmost column form a clear primary layer; falsification narratives read as secondary body copy, which is the correct visual priority for this figure type. |
+| Alignment | 4 | Cell boundaries are consistent across all rows and columns; the deliberate height difference between 100 px and 120 px rows is driven by text volume and does not feel arbitrary. |
+| Palette coherence | 5 | Okabe-Ito fills at low opacity (0.18) for row backgrounds and higher opacity (0.45-0.95) for topographic foci create a unified tint-to-saturated progression within each hue, reinforcing per-perspective color coding throughout. |
+| Journal-fit | 3 | At screen resolution the figure reads clearly. At TiCS two-column print size the light row tints, small grey secondary text, and minimal cell borders will appear washed out and under-dense relative to Cell Press visual standards. |
+
+---
+
+## Criterion pass/fail (per figure spec)
+
+| Criterion | Status | Notes |
+|---|---|---|
+| Head-schematic legibility at print size | FAIL | Head outline ellipse (~30 pt tall) will be visible. Topographic focus ellipses are 8-20 pt wide; occipital focus (8 pt tall) and frontal bilateral circles (4.5 pt diameter) are at or below the legibility threshold. Label text below each schematic (8 px = 3.6 pt) will be illegible in print. |
+| Topographic foci visually distinct between rows | PASS | Occipital (bottom, blue), central-rolandic (mid-head wide ellipse, vermillion), left-frontotemporal (offset 9 pt left, green, lower opacity), frontal bilateral circles plus occipital ellipse (pink) are spatially and chromatically separable. No two rows are confusable. |
+| Text legibility: band and latency columns | FAIL | 4.0-4.5 pt effective. Both primary-tier values and secondary annotations fail the 6 pt body minimum. |
+| Text legibility: falsification column | FAIL | 9 px = 4.0 pt effective. Text fits within the 390 px cell without overflow but will be unreadable at TiCS print size. |
+| Sans-serif font | PASS | Root element declares font-family Helvetica, Arial, sans-serif; all elements inherit this. |
+| Okabe-Ito palette | PASS | All four perspective colors are canonical Okabe-Ito; zero off-palette colors detected. |
+| PNG resolution | FAIL | No DPI metadata embedded; effective ~160 DPI at two-column print size. Must be re-exported at 300-600 DPI. |
+
+---
+
+## Recommendation
+
+- **Status:** revise
+- **Highest-leverage fix:** Add physical dimensions to the SVG root element (`width="174mm" height="95mm"`) and scale all font sizes 1.5x (8 px to 12 px, 9 px to 14 px, 10 px to 15 px, 11 px to 17 px). This brings body text to ~6.3 pt and label text to ~5.4 pt, clearing the TiCS/Cell Press minimum. Expand logical canvas height to ~900 px so text does not overflow row cells after the scale. Re-export the PNG at 600 DPI with explicit metadata (`--export-dpi 600` in Inkscape or `dpi=600` in a programmatic export). No layout, palette, or topographic-focus changes are required; the figure structure and color encoding are sound.