=== RESEARCH ===
{'issue': 286, 'kind': 'docs', 'defect_status': 'partially_confirmed', 'category': 'prose-fix', 'target_files': ['docs/src/spectral.md', 'docs/src/filters.md', 'docs/src/arima.md'], 'summary': 'Fix band_power period-units comment (quarters→months) and Durbin-Watson dangling citation in spectral.md, and rewrite generic interpretation paragraphs in filters.md/arima.md to cite the values the examples actually render; the report() claim is now a false positive (T167 shipped the methods) and needs no edit.', 'current_state': 'Item 1 (report() claim): FALSE POSITIVE. spectral.md:145 says "The `report()` output displays these in a Stata/EViews-style correlogram table". Since the audit, T167/S3 added report() for spectral types — summary.jl:485 `report(x::ACFResult) = show(stdout, x)`, :486 `report(x::SpectralDensityResult)`, :487 `report(x::CrossSpectrumResult)` (block header summary.jl:481 "Show-existing types that lacked a report() dispatch (S3/T167)"). So report() exists, no MethodError, and the audit report now flags this line "✅" (docs/plans/2026-07-03-documentation-audit-report.md:201). No edit needed. Item 2 (CONFIRMED): spectral.md:360 `power = band_power(sd, 2π/32, 2π/6)  # business-cycle band (6–32 quarters)`. The @setup (spectral.md:16 `fred = load_example(:fred_md)` — FRED-MD is monthly; :17 INDPRO) is monthly; the page itself uses months at :74 ("Business cycle: 18–96 months (1.5–8 years)") and :519 ("18–96 months"). The band 2π/32..2π/6 = periods 6..32 sampling units = 6–32 months, so "quarters" is wrong and "business-cycle" is also wrong (business cycle for monthly data is 18–96 months). Item 3 (CONFIRMED): spectral.md:395 "The Durbin-Watson test (Durbin & Watson 1950, 1951)..." but References lists only the 1950 Part I entry — spectral.md:588 "Durbin, J., & Watson, G. S. (1950). Testing for Serial Correlation... I. Biometrika, 37(3/4), 409--428." There is no 1951 entry, so "1951" is a dangling citation. Source has no year: src/spectral/diagnostics.jl has no Durbin/Watson/1950/1951 string; src/spectral/show.jl:237-259 just titles it "Durbin-Watson Test". Item 4 (CONFIRMED): draft mode is off by default (make.jl:10 `draft = get(ENV,"DOCS_DRAFT","false")=="true"`), so @example values render. Generic interpretation paragraphs that describe what a stat WOULD mean instead of citing the rendered value: filters.md:112 (cycle std "indicates the amplitude"), :397 (iteration count "indicates how many re-filterings"), :472 (cross-filter cycle std comparison); arima.md:191 ("A positive θ1 indicates..." — also still misnames CPI data as "industrial production growth" though setup arima.md:16 uses `fred[:,"CPIAUCSL"]`, :17 `y = diff(log CPI)`), :243 (ARMA(1,1) "often achieves a lower BIC"), :474 ("BIC-optimal order typically selects...").', 'proposed_change': 'Item 1: NO EDIT — report() methods now exist (summary.jl:485-487); the spectral.md:145 claim is correct as written. (Optional, out-of-scope for #286 / defer to T193: page examples still call `show(stdout, x)` on ACFResult etc. at spectral.md:27,42,60,...; docrule prefers report() for types that have it — leave to a LOW sweep unless implementer wants to also switch examples.) Item 2: at spectral.md:360 change the trailing comment from `# business-cycle band (6–32 quarters)` to `# 6–32 months` (period P for angular freq 2π/P; band 2π/32..2π/6 = periods 6..32 months on monthly FRED-MD data; do NOT relabel as business-cycle since the page\'s business-cycle band is 18–96 months at :519). Item 3: at spectral.md:395 change "(Durbin & Watson 1950, 1951)" to "(Durbin & Watson 1950)" so the in-text citation is a bijection with the single listed 1950 Part I entry at spectral.md:588 (the implementation computes only the DW statistic, introduced in the 1950 Part I paper; it does not use the 1951 Part II bounds tables, so no 1951 entry is warranted). Alternative if implementer prefers keeping both: add a 1951 Part II reference entry to the References block adjacent to :588 — but the minimal fix is dropping "1951". Item 4: rewrite the interpretation paragraphs to quote the numbers the page\'s own @example blocks render, per docrule §Section Pattern step 7. Targets: filters.md:112 (cite the actual HP cycle standard deviation printed by the preceding example), :397 (cite the actual boosted-HP iteration count m* rendered), :472 (cite the specific per-filter cycle std devs from the comparison output); arima.md:191 (cite the estimated θ1 value from `report(ma)` and — coordinating with #279/T180 — call the data CPI inflation, not "industrial production growth"), :243 (cite the ARMA(1,1) φ1, θ1, and BIC actually produced vs the AR comparison), :474 (cite the actual AIC- vs BIC-selected orders the order-selection example printed). Implementer must obtain the rendered numbers from the built page output (verify_examples run) since they are not visible in source; values are deterministic (fixed load_example fixtures / seeded).', 'verify': 'julia --project=docs docs/verify_examples.jl docs/src/spectral.md  (and  docs/src/filters.md  and  docs/src/arima.md) → each OK. Item-4 rewrites must transcribe the exact numbers these runs print, so re-run verify_examples after editing to reconfirm the cited values match the rendered output.', 'dependencies': [279], 'collisions': ['docs/src/arima.md — #279 (T180) rewrites the same interpretation prose (arima.md:191 data naming); land #279 first, then #286 item 4 cites produced values with correct CPI-inflation naming', 'docs/src/spectral.md — #292 (T193) LOW polish sweep touches spectral.md book refs/ISBNs and References region near :588 (same block as the DW citation edit) and cross-references', 'docs/src/arima.md, docs/src/filters.md — #292 (T193) univariate polish sweep edits these same pages', 'docs/src/spectral.md — #299 (T200) later extracts a shared bibliography.md, relocating the DW/References block edited by item 3; sequence #286 before #299'], 'effort': 'M', 'risk': 'low'}

=== VERIFY ===
{'issue': 286, 'verdict': 'CORRECTED', 'assessment': 'Independently re-read all cited files at the current release/v0.6.6 tip. Item 1 is a genuine false positive: summary.jl:485-487 now ship report(ACFResult/SpectralDensityResult/CrossSpectrumResult) (S3/T167 block, :481), so spectral.md:145\'s report()-correlogram claim is correct; no edit — agreed. Item 2 confirmed verbatim: spectral.md:360 = band_power(sd, 2π/32, 2π/6) commented "business-cycle band (6–32 quarters)"; setup is monthly (fred_md/INDPRO, :16-17), band = periods 6..32 = 6–32 months, and the page\'s business-cycle band is 18–96 months (:74,:519), so both "quarters" and "business-cycle" are wrong; fix to "# 6–32 months" is correct and complete. Item 3 defect confirmed (spectral.md:395 cites 1950, 1951; References :588 lists only the 1950 Part I entry — dangling), and dropping 1951 is a valid bijection fix. Item 4 confirmed: draft off (make.jl:10); all six interpretation anchors are generic and violate docrule Section Pattern step 7 ("Use concrete numbers from the example", docrule.md:96); arima.md:191/243 also misname CPIAUCSL data (setup :16-17) as industrial production — correctly deferred to #279. HOWEVER the research\'s item-3 EVIDENCE is false: it claims src/spectral/diagnostics.jl has no Durbin/Watson/1950/1951 string and Source has no year. The DW implementation actually lives in src/teststat/portmanteau.jl, whose docstring cites Durbin & Watson 1950 (:11) and (1950, 1951) (:16). The p-value uses a normal approximation (:199-202), not the 1951 bounds tables, so 1950 is the operative year and dropping 1951 is defensible — but the stated justification is wrong and must be corrected.', 'corrections': 'Item 3 edit (spectral.md:395 "(Durbin & Watson 1950, 1951)" -> "(Durbin & Watson 1950)") is correct and achieves the cited-listed bijection with :588 — keep it. BUT correct the rationale: the DW test is NOT in src/spectral/diagnostics.jl; it is in src/teststat/portmanteau.jl, whose docstring already cites "Durbin & Watson (1950)" (:11) and "(1950, 1951)" (:16), and whose p-value is a two-sided normal approximation (portmanteau.jl:199-202), NOT the 1951 Part II bounds tables. So the operative paper for the shipped statistic is the 1950 Part I paper — dropping "1951" is justified on THAT basis, not on a false "source has no year" basis. Two acceptable resolutions, both give bijection: (A) minimal — drop "1951" at spectral.md:395 (recommended); (B) add a 1951 Part II References entry adjacent to :588, matching the portmanteau.jl:16 docstring. The portmanteau.jl:16 "(1950, 1951)" docstring is a separate, self-contained source-code reference list (not dangling) and is OUT OF SCOPE for #286 — do not edit it here. Items 1, 2, 4 and the docrule-step-7 basis need no correction. Item 4 caveat (already in spec): exact rendered numbers cannot be obtained in read-only planning; the implementer must transcribe them from a verify_examples build after #279 lands, and land #279 before #286\'s arima.md rewrites so the CPI-inflation naming is already in place.', 'collision_issues': [279, 292, 299], 'discriminating_power': 'n/a (docs-only issue; no test assertions involved)', 'final_effort': 'M'}