=== RESEARCH ===
{'issue': 279, 'kind': 'docs', 'defect_status': 'confirmed', 'category': 'prose-fix', 'target_files': ['docs/src/arima.md'], 'summary': 'Rewrite arima.md prose/comments to name the series the @setup actually loads (CPI inflation from CPIAUCSL), removing every "industrial production"/"IP growth" mislabel.', 'current_state': 'Defect is STILL PRESENT in the working tree (release/v0.6.6 tip). The @setup block loads CPI, not industrial production: docs/src/arima.md:16 `cpi_raw = fred[:, "CPIAUCSL"]` and :17 `y = filter(isfinite, diff(log.(cpi_raw)))` — i.e. y is monthly CPI inflation. Yet the prose narrates it as industrial production in 9 live locations (audit anchors drifted; re-located): line 23 "AR(2) on industrial production growth"; line 130 "AR(2) model on IP growth ... characterize industrial production dynamics"; line 191 "shocks to industrial production growth"; line 243 "persistence in IP growth"; line 297 "on log IP first-differences the level ... momentum in industrial production growth"; line 553 "on FRED-MD industrial production data"; line 556 code comment "IP growth should be stationary"; line 574 code comment "Forecast IP growth 12 months ahead"; line 588 "confirming that IP growth is stationary ... shows IP growth reverting toward its unconditional mean". Note line 275 ("real GDP, industrial production, price levels") is a GENERIC list of unit-root macro variables, not an attribution of y, and must be left unchanged. The ARIMA(1,1,0)/auto_arima examples use `y_level = cumsum(y)` (docs/src/arima.md:41, commented "synthetic I(1) series") — a synthetic I(1) level built from cumulative CPI inflation (approx. the log price level), NOT log IP.', 'proposed_change': 'Apply Option A (rewrite prose as CPI inflation — recommended by issue, least churn, keeps interpretations honest). Do NOT touch the @setup block (it correctly loads CPIAUCSL); change only prose + the two visible code comments. Exact edits (re-locate by grep, lines drift): (1) L23: "Estimate an AR(2) on industrial production growth" -> "Estimate an AR(2) on CPI inflation". (2) L130: "The AR(2) model on IP growth captures ... that characterize industrial production dynamics." -> "The AR(2) model on CPI inflation captures ... that characterize inflation dynamics." (3) L191: "one-period serial correlation in shocks to industrial production growth" -> "... in shocks to CPI inflation". (4) L243: "autoregressive persistence in IP growth" -> "autoregressive persistence in CPI inflation". (5) L297: "The ARIMA(1,1,0) on log IP first-differences the level series (removing the stochastic trend), then fits an AR(1) to the growth rate. The AR coefficient on the differenced series captures month-to-month momentum in industrial production growth." -> reword so it names the actual object: y_level = cumsum(y) is a synthetic I(1) series built from cumulative CPI inflation (approximately a log price level), so: "The ARIMA(1,1,0) on the synthetic log-level series (`y_level = cumsum(y)`, an I(1) series accumulated from CPI inflation) first-differences the level (removing the stochastic trend), then fits an AR(1) to the resulting inflation series. The AR coefficient on the differenced series captures month-to-month momentum in CPI inflation." (6) L553: "on FRED-MD industrial production data." -> "on FRED-MD CPI (CPIAUCSL) inflation data." (7) L556 comment: "# Step 1: Check for unit root — IP growth should be stationary" -> "... — CPI inflation should be stationary". (8) L574 comment: "# Step 4: Forecast IP growth 12 months ahead" -> "# Step 4: Forecast CPI inflation 12 months ahead". (9) L588: replace both "IP growth" occurrences with "CPI inflation" ("confirming that CPI inflation is stationary ... shows CPI inflation reverting toward its unconditional mean"). Economic re-read (docrule Section Pattern step 7): all nine interpretation paragraphs are QUALITATIVE (no rendered numeric constants are quoted), and their readings hold for monthly CPI inflation — inflation is persistent/positively autocorrelated (AR/MA momentum), typically I(0) so ADF rejecting the unit root is correct, and the y_level differencing rationale is intact. Adding concrete produced numbers is OUT OF SCOPE here (that is issue #286 / T187); leave numbers to that pass. Result satisfies docrule "one data source per page" (only CPIAUCSL drives the page). NOTE: the issue cites a docrule "§Data & Output Integrity" heading — that exact heading does not exist in docs/docrule.md (grep: absent); the governing rule is Section Pattern step 7 (docrule.md:96) plus the @setup fidelity rules (docrule.md:135,159-160). Cite those, not a nonexistent section.', 'verify': 'julia --project=docs docs/verify_examples.jl docs/src/arima.md  (must print OK). Requires issue #107 / T008 (draft mode off) applied so example output is really rendered. Pure prose/comment edits — no numeric output changes, so verification only confirms the page still builds.', 'dependencies': [107], 'collisions': ['docs/src/arima.md — #286 (T187 univariate/data MED sweep) edits the SAME interpretation paragraphs (L130,191,243,297,588) to cite produced values; land #279 first (rename series), then #286 adds numbers', 'docs/src/arima.md — #292 (T193 LOW polish sweep) touches the References/page-range region (~L608,626), different region, minor ordering only'], 'effort': 'S', 'risk': 'low'}

=== VERIFY ===
{'issue': 279, 'verdict': 'CONFIRMED', 'assessment': "Defect is real and still present in the working tree. Verified independently: docs/src/arima.md:16-17 load CPIAUCSL and compute y = diff(log(cpi_raw)) = monthly CPI inflation, yet 9 live prose/comment locations mislabel it as industrial production / IP growth. My own grep returns EXACTLY the spec's 9 anchors (L23, 130 [two mislabels], 191, 243, 297, 553, 556 comment, 574 comment, 588 [two occurrences]) as the only IP references, plus L275 which is a generic unit-root variable list (real GDP, industrial production, price levels) correctly excluded. No mislabel missed, nothing spurious caught, and the @setup block is the page's sole CPI reference, so relabeling makes the page a single-data-source narrative. Economic re-read holds: all 9 paragraphs are qualitative (no quoted numeric constants) and true for monthly CPI inflation (persistent, I(0)). The L297 reword is mathematically correct: diff(cumsum(y)) recovers y = CPI inflation, and y_level=cumsum(y) is approximately a log price level. Proposed find/replace targets match current text exactly (verified line by line). Docrule check passes: the '§Data & Output Integrity' heading the ISSUE cites genuinely does not exist in docrule.md (grep exit 1; H2 list confirms), and the spec correctly redirects to the real governing rules Section Pattern step 7 (docrule.md:96) and @setup fidelity (docrule.md:135, 159-160). The fix is pure relabeling and introduces no docrule violation. Deferring produced-value numbers to #286 is correctly scoped. Spec is correct AND complete.", 'corrections': '', 'collision_issues': [286, 292], 'discriminating_power': 'n/a (docs, not tests)', 'final_effort': 'S'}