Repository navigation
Conversation
…tion (M-090 done) BaconDecomposition leaves every estimator catalogue for the diagnostics grouping: README `## Estimators` -> `## Diagnostics & Sensitivity`, llms.txt `## Estimators` -> `## Diagnostics and Sensitivity Analysis`, the llms-full.txt `### BaconDecomposition` block (with `### TWFE Weight Diagnostics`, `### RDPlot` and `### RDDensityTest`, which were also filed under `## Estimators`) -> `## Diagnostics`, plus the alias line; the docs/api/index.rst Estimators autosummary (now exactly the 23 spec-3.1 estimators) -> the Diagnostics autosummary, with RDPlot consolidated there from Visualization and the `bacon` module page moved to the Diagnostics & Inference toctree; the docs homepage Supported Estimators table drops the Bacon row and gains a Diagnostics & Sensitivity table (BaconDecomposition, RDPlot, RDDensityTest, HonestDiD, PreTrendsPower, PowerAnalysis, DiagnosticReport, the parallel-trends / placebo / TWFE-weight functions, the HAD pretest workflow). The Estimators and Diagnostics intros describe the split; docs/api/bacon.rst and docs/api/estimators.rst stop calling Bacon an estimator. Docs-only: the import path, the `Bacon` alias, the results class and every number are unchanged. Homepage counts stay "20+" (user decision); paper.md is untouched (it already states 23 estimators with Bacon outside the count). REGISTRY archive framing for the classes removed at 4.0: the MultiPeriodDiD and StaggeredTripleDifference sections and the QDiD class-spelling subsection open with `- **Note (archived ...):**`, the table of contents marks them *(archived)* and states the archived-sections convention, the two cross-reference tables name `ChangesInChanges(method="qdid")` instead of a standalone QDiD row, and the stale "20-estimator count" wording is gone. The migration guide gains the [M-090] bullet under "Remaining 4.0 changes". Ledger: M-090 -> done with test_ref tests/test_v4_diagnostic_family_docs.py (the roster split on README, llms.txt, llms-full.txt, docs/index.rst, docs/api/index.rst - incl. a duplicate-toctree-stub guard - and the REGISTRY archive framing; ledger row). The guard runs in the docs-tests workflow, whose path filters now include README.md and the test file so README-only diffs reach it. docs/doc-deps.yaml points the diagnostic modules at the new homepage table and refiles Bacon's README/llms.txt sections; the /docs-check classification table files Bacon as a diagnostics-class entry; spec section 3.5 and cut item 9 record the ship. The committed SunAbrahamResults autosummary stub picks up the n_clusters field added at 7b (Sphinx -W build regenerated it).
Overall assessment✅ Looks good — no unmitigated P0/P1 findings or actionable P2/P3 issues identified. Executive summary
MethodologyNo findings. The reclassification matches Code QualityNo findings. The new guards cover catalogue membership, duplicate autosummary entries, section placement, and ledger status. PerformanceNo findings. Production execution paths are unchanged. MaintainabilityNo findings. Documentation dependency mappings and workflow triggers include the reorganized surfaces and new guard. Tech DebtNo findings. No new untracked limitation identified. SecurityNo findings in the changed content. Documentation/TestsNo findings. Static validation passed for roster consistency, diagnostic grouping, referenced paths, archive notes, and workflow wiring. Verification limitation: |
Summary
done: the public surface splits into estimators + the diagnostic family (spec section 3.5).BaconDecompositionleaves every estimator catalogue for the Diagnostics grouping - README## Estimators->## Diagnostics & Sensitivity,llms.txt## Estimators->## Diagnostics and Sensitivity Analysis, thellms-full.txt### BaconDecompositionblock (together with### TWFE Weight Diagnostics,### RDPlotand### RDDensityTest, which were also filed under## Estimators) ->## Diagnosticsplus the alias line, thedocs/api/index.rstEstimators autosummary (now exactly the 23 spec-3.1 estimators) -> the Diagnostics autosummary (RDPlot consolidated there from Visualization; thebaconmodule page moves to the Diagnostics & Inference toctree), and the docs homepage Supported Estimators table (Bacon row dropped; new Diagnostics & Sensitivity table listing BaconDecomposition, RDPlot, RDDensityTest, HonestDiD, PreTrendsPower, PowerAnalysis, DiagnosticReport, the parallel-trends / placebo / TWFE-weight functions and the HAD pretest workflow).docs/api/bacon.rstanddocs/api/estimators.rststop calling Bacon an estimator. Docs-only: the import path, theBaconalias, the results class and every number are unchanged. Homepage counts stay "20+";paper.mdis untouched (it already states 23 estimators with Bacon outside the count).ChangesInChanges(method="qdid")instead of a standalone QDiD row, and the stale "20-estimator count" wording is gone. The migration guide gains the [M-090] bullet.donewithtest_reftests/test_v4_diagnostic_family_docs.py; the guard runs in the docs-tests workflow, whose path filters now includeREADME.mdand the test file so README-only diffs reach it.docs/doc-deps.yamlpoints the diagnostic modules at the new homepage table; the/docs-checkclassification table files Bacon as a diagnostics-class entry; spec section 3.5 and cut item 9 record the ship. The committedSunAbrahamResultsautosummary stub picks up then_clustersfield added at 7b (the Sphinx-Wbuild regenerated it).Methodology references (required if estimator / math changes)
docs/v4-design.mdsection 3.5 (the diagnostic family) and section 3.1 (23 estimators + 1 diagnostic entry point).Validation
tests/test_v4_diagnostic_family_docs.py(M-090test_ref: API Estimators autosummary == the 23-class roster by object identity, Bacon/RDPlot/RDDensityTest under Diagnostics, no stub referenced from two:toctree:autosummaries,baconmodule page in the Diagnostics & Inference toctree, homepage estimator table without Bacon + Diagnostics table == the family's class-backed entry points, README / llms.txt section placement and 23-bullet counts, llms-full.txt block placement and alias line, REGISTRY archive Notes / TOC markers / convention paragraph / no standalone QDiD row, ledger row). Existing docs gates (test_docs_ia.pyhomepage-API parity,test_guides.py,test_v4_matrix.py,test_doc_deps_integrity.py,test_naming_guard.py,test_tracking_files.py,test_changelog_fragments.py) and the diagnostic-consumer suites (test_diagnostic_marker.py,test_practitioner.py,test_business_report.py,test_diagnostic_report.py) green.-Wgreen (the autosummary moves and the new homepage table raise no warnings). No notebook changes.Security / privacy
Changelog
changelog.d/20261101-v4-pr9-m090-docs-reorg.md)