=== RESEARCH ===
{'issue': 294, 'kind': 'docs', 'defect_status': 'partially_confirmed', 'category': 'nav-arch', 'target_files': ['docs/src/dsge.md', 'docs/src/dsge_continuous.md', 'docs/src/structural_identification.md', 'docs/src/plotting.md', 'docs/src/innovation_accounting.md', 'docs/src/nongaussian.md', 'docs/src/tests.md', 'docs/docrule.md'], 'summary': 'Classify each of the six flagged hub/overview pages by page type and retrofit to the correct skeleton — hubs get a decision table + one Quick Start + a complete linked child list with back-links; Method pages (dsge_continuous, structural_identification, plotting) get a Complete Example — but first the docrule "Page Types / Hub skeleton" section this depends on must actually be added, because it does not yet exist in the tree.', 'current_state': 'The issue/audit-§7 premise is partly STALE. (1) docrule.md at the current tip has NO "Page Types" section and no Hub skeleton — its headings (docrule.md:7-385) are Page Anatomy, Writing Voice, Section Pattern, Quick Start Recipes, Code Block Types, Code Examples, Mathematics, Tables, Admonitions, References, Formatting, Anti-Patterns, Verification; grep for "Page Types|Hub|Landing|Data & Output Integrity|unverifiable" = 0 hits. Audit §7 (report lines 549-575) claims these were "revised in place" but they were NOT — the single Method-page skeleton (Title→Quick Start→Sections→Complete Example→Common Pitfalls→References) is all that exists. So the authority T195 says to "follow" is absent.\n(2) Per-page current state: dsge.md (hub) intro bullets (dsge.md:8-13) link dsge_linear/dsge_nonlinear/dsge_constraints/dsge_estimation/dsge_hd but NEVER link dsge_ha, dsge_olg, dsge_continuous — grep confirms 0 hits for those three anywhere in dsge.md; it DOES have a Complete Example (dsge.md:352, unnecessary for a hub but harmless). T190 (#289) that was meant to fix this is NOT yet done.\n(3) tests.md is ALREADY a conformant hub: intro child list linking all 5 sub-pages (tests.md:5-9), decision tables under "Decision Flowchart" (tests.md:159-215), one Quick Start (tests.md:18), Common Pitfalls, References — no Complete Example, which is CORRECT for a hub. The audit\'s "missing Complete Example" flag on tests.md is a FALSE POSITIVE.\n(4) innovation_accounting.md (hub): intro, Quick Start (:21), "Structural Identification Overview" prose (:76), "Sub-Page Guide" child list linking ia_irf/ia_fevd/ia_hd (:95-104), Common Pitfalls, References; no Complete Example (correct); has NO decision/method-comparison TABLE. Its children ia_irf.md/ia_fevd.md/ia_hd.md do NOT back-link to the hub (grep on ia_irf.md intro lines 1-13 = 0 "innovation_accounting" hits) — T191 (#290) back-links NOT done.\n(5) nongaussian.md (StatID hub): Quick Start, SVAR Setting, "Method Comparison" table (:94), "Sub-Page Guide" linking id_nongaussian/id_heteroskedastic/id_testing (:138-142), Common Pitfalls, References — conformant hub, no Complete Example needed; children id_*.md do NOT back-link (grep = 0 hits) — T191 gap.\n(6) structural_identification.md: 370-line full-content page documenting every method inline (Cholesky/Sign/Narrative/Blanchard-Quah/Arias/Uhlig), decision table "Choosing an Identification Scheme" (:315-327), Common Pitfalls, References, links out to nongaussian hub — NO separate child pages, NO Complete Example (:1-370). Audit line 322 calls it "full content page with no ## Complete Example; ends on a chooser section" → Method page. DEFECT confirmed.\n(7) dsge_continuous.md (Method): Quick Start, HJB, Kolmogorov-Forward, Stationary Equilibrium, MIT-Shock, Two-Asset HANK, Common Pitfalls, References — NO Complete Example (:1-192); intro (:1-5) does NOT back-link to dsge.md hub. DEFECT confirmed.\n(8) plotting.md (Method/Reference): STILL a 97-line stub — headings Quick Start, PlotOutput Type, Common Options, Chart Types, Where to Find Visualizations, References; NO Complete Example, NO Common Pitfalls; line 3 still asserts plot_result "dispatches on 41 result types" (index.md:92,152 repeat "41"). T186 (#285), which was supposed to deliver the expansion + Complete Example + Common Pitfalls, is NOT done. DEFECT confirmed, but delivery is owned by T186.', 'proposed_change': 'PREREQUISITE (do first, or block on the upstream issue): docrule.md has no Page Types section. Either (a) add a "## Page Types" section to docrule.md defining Landing/Hub/Method/Reference skeletons per audit report §7 item 1 (report lines 552-554: Hub skeleton = intro → method-comparison/decision table → ONE Quick Start → complete linked child list with 1-line descriptions → shared-theory only where it belongs to no child → optional section-level Common Pitfalls → References; hubs need NO Complete Example; children MUST link back to their hub in the intro), OR (b) confirm this lands via another issue and sequence T195 after it. T205 (#304) skeleton lint has the same unmet dependency, so adding it here is the natural home. Cite audit report docs/plans/2026-07-03-documentation-audit-report.md:490-497 and 552-554 as the skeleton source of truth.\n\nThen the per-page retrofit:\n1. dsge.md — classify HUB. Add the three missing child links. Extend the intro capability bullets (dsge.md:8-13) with three new bullets (or a dedicated child-list block) linking [Heterogeneous Agents](@ref dsge_ha... use the actual @id from dsge_ha.md:1), [OLG](@ref ...from dsge_olg.md:1), and [Continuous Time](@ref dsge_continuous) — verify the anchor ids by reading line 1 of each child. Keep the existing Complete Example (optional for a hub; do NOT remove just to satisfy a checklist). Do NOT duplicate child content. (This overlaps T190/#289 which owns the dsge child-link fix — coordinate; if T190 lands first, just CONFIRM.)\n2. tests.md — classify HUB. No change required; already conforms (child list :5-9, decision tables :159-215, one Quick Start :18). Record as false-positive for the "missing Complete Example" flag; do NOT add a Complete Example.\n3. innovation_accounting.md — classify HUB. Add a compact method-comparison/decision table (IRF vs FEVD vs HD: what question each answers, VAR/BVAR/LP variants) — the current "Structural Identification Overview" is prose only. Ensure children ia_irf/ia_fevd/ia_hd link back to this hub in their intros (owned by T191/#290 — coordinate/confirm, do not double-edit). No Complete Example.\n4. nongaussian.md — classify HUB (Statistical Identification). Already has method-comparison table + child list; only remaining gap is child back-links from id_nongaussian/id_heteroskedastic/id_testing (T191/#290 — coordinate/confirm). No Complete Example.\n5. structural_identification.md — DECISION: classify as METHOD/content page (all schemes documented inline; no separate child pages front it; audit line 322). Add a `## Complete Example` near the end (before Common Pitfalls, per docrule Page Anatomy docrule.md:58-59): a single worked SVAR identification run (e.g. Cholesky vs sign-restricted IRF on the standard FRED-MD 3-var setup used elsewhere on the page) as an `@example` block ending in a rendering expression. Coordinate the classification with T191 (#290) item 6.\n6. dsge_continuous.md — classify METHOD. Add `## Complete Example` (before Common Pitfalls) — a full CT worked example building on the CTAiyagari setup already in Quick Start (dsge_continuous.md:16-38): stationary equilibrium → an MIT-shock transition → a rendered result; add the missing back-link to the dsge.md hub in the intro (dsge_continuous.md:5). This CT maturation also overlaps T190/#289\'s "OLG/CT maturation" — coordinate to avoid duplicate work.\n7. plotting.md — classify METHOD/Reference. `## Complete Example` + `## Common Pitfalls` are delivered by T186 (#285) together with the 41→53 dispatch-count fix and the per-dispatch table. T195\'s job here is CONFIRM-only: verify both sections exist and conform after T186 lands. Do NOT independently expand plotting.md in T195.\n\nDo NOT touch api.md/api_types.md/api_functions.md/index.md (out of scope; §5 of issue). No make.jl pages= moves are required — this is content-only retrofit; nav restructure is T196 (#295).', 'verify': 'For each edited page run: julia --project=docs docs/verify_examples.jl docs/src/dsge.md ; ...docs/src/dsge_continuous.md ; ...docs/src/structural_identification.md ; ...docs/src/innovation_accounting.md ; ...docs/src/plotting.md (each must print OK). tests.md and nongaussian.md if edited. docs/docrule.md is prose-only (no @example blocks) so it does not need verify_examples; sanity-check the full site still builds with julia --project=docs docs/make.jl if the docrule/page-type change is structural. Confirm anchor ids used in new @ref links resolve (read line 1 of dsge_ha.md/dsge_olg.md/dsge_continuous.md for their @id).', 'dependencies': [285, 289, 290, 295, 304], 'collisions': ['docs/src/dsge.md — #289 (T190 dsge hub child links + OLG/CT maturation, same intro region)', 'docs/src/dsge_continuous.md — #289 (T190 CT maturation: keyword/return tables, Complete Example)', 'docs/src/innovation_accounting.md — #290 (T191 IA back-link architecture) and #293 (T194 IA polish)', 'docs/src/nongaussian.md — #290 (T191 StatID back-links) and #284/#285 method-count wording', 'docs/src/structural_identification.md — #290 (T191 item 6 StatID classification) and #293 (T194 identification polish)', 'docs/src/plotting.md — #285 (T186 owns the plotting.md expansion incl Complete Example + Common Pitfalls + 41→53 count)', 'docs/src/tests.md — #291 (T192 tests.md citations) and #293 (T194 tests polish)', 'docs/docrule.md — #278 (T179 docrule/CLAUDE.md config drift) and #304 (T205 lint reads the same Page-Types skeleton definition)'], 'effort': 'L', 'risk': 'med'}

=== VERIFY ===
{'issue': 294, 'verdict': 'CORRECTED', 'assessment': 'I read every cited file at the current worktree tip. The research\'s central premise is CONFIRMED and correctly catches a stale issue body: issue #294 asserts "The revised docrule (§7 item 1) now defines four page types with a required Hub skeleton," but docrule.md has NO such section. Its H2 headings (docrule.md:7-385) are Page Anatomy, Writing Voice, Section Pattern, Quick Start Recipes, Code Block Types, Code Examples, Mathematics, Tables, Admonitions, References, Formatting, Anti-Patterns, Verification. grep for page-type/hub/skeleton/cross-reference-requirements/data-&-output-integrity = 0 hits (only line 9 "follows this skeleton" = the single Page Anatomy/Method skeleton, and line 342 an inline cross-ref note). The audit report §7 (report lines 548-575) is titled "docrule.md Changes Applied" and item 1 describes a "New \'Page Types\' section," but those changes were never committed — so the authority T195 tells the implementer to "follow" is genuinely absent. The skeleton source-of-truth the research cites (report:490-493 §6.2 and :552-554 §7) checks out verbatim, as does audit line 322 classifying structural_identification.md as a "full content page with no ## Complete Example."\\n\\nPer-page verification: (2) dsge.md — grep for dsge_ha|dsge_olg|dsge_continuous = 0 hits; three children unlinked; Complete Example present at :352. Child @ids verified: @id dsge_ha, @id dsge_olg, @id dsge_continuous — the research\'s proposed @ref targets are correct. CONFIRMED. (3) tests.md — conformant hub (child list :5-9, Quick Start :18, decision tables :159-215, Common Pitfalls, References, no Complete Example); "missing Complete Example" is a FALSE POSITIVE. CONFIRMED. (5) nongaussian.md — conformant StatID hub with Method Comparison table :98-113, Sub-Page Guide :138-142; the grep "nongaussian_page=1" on id_nongaussian is a substring match on its own H1 @id (id_nongaussian_page), NOT a back-link — so children genuinely do not back-link. CONFIRMED. (6) structural_identification.md — 371-line inline content page, chooser table :317-325, no Complete Example. CONFIRMED. (7) dsge_continuous.md — Method page, headings end Quick Start→HJB→KFE→Stationary Eq→MIT-Shock→Two-Asset→Common Pitfalls→References, no Complete Example, no hub back-link in intro (:1-5). CONFIRMED. (8) plotting.md — 97-line stub, line 3 says "41 result types," index.md:92 and :152 also say "41 plot dispatches"; audit line 511 gives true count 53; owned by T186. CONFIRMED. None of T186/T190/T191 appear in git history, so the dependencies are genuinely unmet.\\n\\nThe ONE real error: for innovation_accounting.md the research states it "has NO decision/method-comparison TABLE" and the "current \'Structural Identification Overview\' is prose only." That is FALSE — innovation_accounting.md:80-89 already contains a method-comparison table (Cholesky/Sign/Narrative/Long-run/Arias/Uhlig × Function × Point/Set ID × Key Feature). The overview section (:76) is prose (78-79) + table (80-89) + prose (89-91), not prose-only.', 'corrections': '1. innovation_accounting.md factual fix: it ALREADY has a method-comparison table (:80-89, identification schemes). Do NOT tell the implementer the overview "is prose only" or that the page has "NO decision/method-comparison table." That existing table plausibly already satisfies the Hub-skeleton "decision table" requirement. If the implementer still wants an IRF-vs-FEVD-vs-HD tool chooser (the page\'s actual three children), treat it as an OPTIONAL enhancement, not a defect fix, and word it as "add a second, tool-level chooser" — not "add the missing table." The three tools are already listed in intro bullets (:5-7) and the Sub-Page Guide (:95-101).\\n\\n2. Make the docrule prerequisite a hard gate, not a soft "do first." The issue #294 body is STALE: it assumes docrule already defines Page Types; it does not. Every acceptance criterion ("Follow docrule §Page Types, Hub skeleton, Cross-Reference Requirements") references sections that do not exist. Before ANY per-page retrofit, either (a) add "## Page Types" (Landing/Hub/Method/Reference skeletons) AND the "Cross-Reference Requirements" subsection to docrule.md, sourcing them from audit report :490-493 and :552-554, or (b) confirm they land via another issue and sequence T195 after. Do not "retrofit to the skeleton" while the skeleton is undefined.\\n\\n3. Scope reality-check: the bulk of the concrete edits are delegated — plotting.md expansion + 41→53 + Complete Example + Common Pitfalls = T186/#285 (CONFIRM-only here); dsge.md three child links = T190/#289; IA + StatID child back-links = T191/#290. T195\'s own NEW deliverables reduce to: author the docrule Page Types section (unless owned elsewhere), classify the six pages, add ## Complete Example to structural_identification.md and dsge_continuous.md (before Common Pitfalls per docrule:59), and add the dsge_continuous→dsge hub back-link (:5). Keep tests.md untouched (record the false positive). The nongaussian.md "13 vs 18 methods" count wording is a separate collision (#284/#285), not T195\'s job.', 'collision_issues': [278, 284, 285, 289, 290, 291, 293, 304], 'discriminating_power': 'n/a — this is a documentation/nav-architecture issue, not a test change. No assertions are involved. Verification is per-page julia --project=docs docs/verify_examples.jl for pages that gain @example blocks (structural_identification.md, dsge_continuous.md), and confirming @ref anchors resolve; docrule.md is prose-only and needs no verify_examples.', 'final_effort': 'L'}