Skip to content

docs: publish REGISTRY.md + REPORTING.md as in-site Sphinx pages (MyST)#652

Open
igerber wants to merge 1 commit into
mainfrom
docs/registry-sphinx-pages
Open

docs: publish REGISTRY.md + REPORTING.md as in-site Sphinx pages (MyST)#652
igerber wants to merge 1 commit into
mainfrom
docs/registry-sphinx-pages

Conversation

@igerber

@igerber igerber commented Jul 8, 2026

Copy link
Copy Markdown
Owner

Summary

  • Renders docs/methodology/REGISTRY.md and REPORTING.md as in-site RTD pages (MyST) under a new Methodology toctree section, closing the TODO row: API-doc cross-refs now use :doc: links instead of off-site blob/main GitHub URLs, so stable-docs readers no longer land on a different revision than their installed version (docs/api/business_report.rst, diagnostic_report.rst converted; the two tutorial notebooks keep their functional GitHub links — editing executed notebooks for a link swap wasn't worth the re-execution churn).
  • myst-parser>=2.0 added to all three synced dependency surfaces (pyproject docs extra, .readthedocs.yaml post_install, docs-tests.yml pip lines). All other repo-internal markdown under docs/ (performance notes — deliberately not on RTD per repo convention — paper reviews, roadmaps, tutorials README) is explicitly excluded from the Sphinx build, so nothing internal leaks onto RTD and no orphan warnings fire.
  • The feared multi-round -W risk didn't materialize: the 4.5k-line REGISTRY renders clean with dollarmath/amsmath + myst_heading_anchors=4. The build surfaced three latent doc defects, now fixed: a ToC anchor typo (#differenceinifferences — broken on GitHub too), an H1→H3 heading-level jump, and the "Diagnostics & Sensitivity" heading retitled to "Diagnostics and Sensitivity" (GitHub slugs & as a double hyphen; docutils collapses consecutive hyphens in ids — no single anchor spelling can satisfy both, so the title now slugs identically everywhere). Repo-wide grep confirms no other references to the old anchor.
  • Verified: clean local make -C docs html SPHINXOPTS="-W"0 warnings (same command as the docs-tests CI job).

Methodology references (required if estimator / math changes)

  • Method name(s): N/A — documentation infrastructure only (REGISTRY content changes are the three rendering fixes above; no methodology text altered)
  • Paper / source link(s): N/A
  • Any intentional deviations from the source (and why): None

Validation

  • Tests added/updated: None (docs build is CI-validated by the docs-tests.yml sphinx-build job under -W)
  • Backtest / simulation / notebook evidence (if applicable): local 0-warning -W build log

Security / privacy

  • Confirm no secrets/PII in this PR: Yes

Generated with Claude Code

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown

Overall Assessment

✅ Looks good. No unmitigated P0/P1 findings.

Executive Summary

  • No estimator, math, weighting, variance/SE, identification, or default-behavior changes found.
  • REGISTRY changes are rendering/anchor fixes only: ToC slug, heading rename, and heading-level correction.
  • MyST wiring is consistently added across Sphinx config, RTD, pyproject docs extras, and docs CI.
  • No new inference, NaN/Inf, control-group, empty-result, or parameter-propagation risks were introduced.
  • P3 informational: two TODO.md performance rows should preserve the prior technical caveats more accurately.

Methodology

  • Severity: None
    Impact: No methodology-affecting implementation changes. The edits in docs/methodology/REGISTRY.md:L10, docs/methodology/REGISTRY.md:L31, docs/methodology/REGISTRY.md:L3452, and docs/methodology/REGISTRY.md:L4962 only affect anchors/headings for documentation rendering.
    Concrete fix: None.

Code Quality

  • Severity: None
    Impact: The PR changes documentation/build configuration only; no modified estimator code paths or inline inference computation were introduced.
    Concrete fix: None.

Performance

  • Severity: P3 informational
    Impact: The new stratified survey-bootstrap TODO says draw-block tiling can reproduce the stream bit-identically, but the current stratified generator consumes RNG stratum-major: all draws for each stratum are generated before the next stratum, plus pooled singleton handling. A simple draw-block loop would interleave stratum draws and change the RNG stream. See TODO.md:L56, diff_diff/bootstrap_utils.py:L587-L635, and the current fallback contract in diff_diff/bootstrap_chunking.py:L141-L143.
    Concrete fix: Reword the TODO to say bit-identical stratified chunking would require explicit RNG state skipping/per-stratum streams or a documented stream-layout change with baseline recapture.

Maintainability

  • Severity: P3 informational
    Impact: The SyntheticControl snapshot TODO now frames the retained snapshot only as avoidable memory, but the result snapshot is intentionally retained for post-fit diagnostics and excluded from pickle for size/privacy. See TODO.md:L52 and diff_diff/synthetic_control_results.py:L31-L37.
    Concrete fix: Preserve the caveat that releasing/lazily rebuilding the snapshot needs either an explicit release/opt-out API or a documented change to the post-fit diagnostic freeze contract.

Tech Debt

  • Severity: P3 informational
    Impact: The TODO changes are tracked and deferrable; they do not create silent incorrect estimates. The risk is future implementation guidance losing important constraints.
    Concrete fix: Keep these rows, but restore the caveats noted above so future work does not accidentally break RNG parity or result-object diagnostic semantics.

Security

  • Severity: None
    Impact: No suspicious secret/token patterns found in the changed files reviewed.
    Concrete fix: None.

Documentation/Tests

  • Severity: None
    Impact: The docs publishing path is wired in docs/conf.py:L23-L42, docs/index.rst:L142-L148, pyproject.toml:L74-L85, .readthedocs.yaml:L13-L21, and .github/workflows/docs-tests.yml:L106-L118. I did not run the Sphinx build in this read-only review environment.
    Concrete fix: None; CI should validate make -C docs html SPHINXOPTS="-W".

@igerber igerber added the ready-for-ci Triggers CI test workflows label Jul 8, 2026
@igerber igerber force-pushed the docs/registry-sphinx-pages branch from d21b632 to 63d7eec Compare July 8, 2026 02:22
@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown

🔁 AI review rerun (requested by @igerber)

Head SHA: 63d7eeca69192f000426cccba285037cfd8ce97b


Overall Assessment

✅ Looks good. No unmitigated P0/P1 findings.

Executive Summary

  • No estimator, variance/SE, weighting, identification, or default-behavior code paths changed.
  • REGISTRY edits are documentation-rendering fixes only: anchor typo, heading rename, and heading-level correction.
  • MyST docs wiring is consistently added across Sphinx config, RTD, pyproject docs extra, and docs CI.
  • Prior P3 TODO concerns are resolved: the SyntheticControl snapshot and stratified bootstrap RNG caveats are now preserved.
  • I could not run the Sphinx -W build locally because Sphinx is not installed in this read-only review environment.

Methodology

  • Severity: None
    Impact: No methodology-affecting implementation changes. The changed REGISTRY lines only affect navigation/rendering: docs/methodology/REGISTRY.md:L10-L31, docs/methodology/REGISTRY.md:L3452-L3456, docs/methodology/REGISTRY.md:L4962-L4969.
    Concrete fix: None.

Code Quality

  • Severity: None
    Impact: No modified estimator code, inference computation, NaN guards, control-group logic, or parameter propagation paths. Docs config changes are scoped and explicit in docs/conf.py:L23-L64.
    Concrete fix: None.

Performance

  • Severity: None
    Impact: Prior stratified bootstrap TODO concern is addressed: TODO.md:L126 now records the stratum-major RNG stream and why bit-identical draw tiling is not a simple performance refactor.
    Concrete fix: None.

Maintainability

  • Severity: None
    Impact: Prior SyntheticControl snapshot TODO concern is addressed: TODO.md:L125 now preserves the post-fit diagnostic freeze contract and pickle exclusion caveat.
    Concrete fix: None.

Tech Debt

  • Severity: None
    Impact: The completed docs-publishing TODO row was removed from the actionable backlog, and the remaining tracked items stay properly classified.
    Concrete fix: None.

Security

  • Severity: None
    Impact: No secrets or sensitive data introduced in the changed docs/config surfaces reviewed.
    Concrete fix: None.

Documentation/Tests

  • Severity: None
    Impact: myst-parser is added consistently in pyproject.toml:L74-L85, .readthedocs.yaml:L13-L21, and .github/workflows/docs-tests.yml:L106-L118 / L143-L148; the Methodology toctree is added in docs/index.rst:L142-L148; API docs now use in-site :doc: links in docs/api/business_report.rst:L48-L66 and docs/api/diagnostic_report.rst:L14-L22.
    Concrete fix: None; CI should validate the claimed make -C docs html SPHINXOPTS="-W" build.

@igerber igerber force-pushed the docs/registry-sphinx-pages branch from 63d7eec to a3ce98c Compare July 8, 2026 10:02
The two methodology markdown pages render on RTD under a new
Methodology toctree section, so API-doc cross-refs use :doc: links
instead of off-site blob/main GitHub URLs (stable-docs readers landed
on a different revision than their installed version). myst-parser
joins the docs dependency set (pyproject docs extra, RTD post_install,
docs-tests workflow — kept in sync); all other repo-internal markdown
under docs/ (performance notes, paper reviews, roadmaps, tutorials
README) is explicitly excluded from the build. Latent defects surfaced
by -W and fixed: a ToC anchor typo in REGISTRY.md
(#differenceinifferences — broken on GitHub too), an H1->H3 heading
jump, and the 'Diagnostics & Sensitivity' heading retitled to 'and'
because GitHub and docutils slug '&' differently (double vs collapsed
hyphen). Clean local make -C docs html SPHINXOPTS=-W: 0 warnings.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@igerber igerber force-pushed the docs/registry-sphinx-pages branch from a3ce98c to d992d98 Compare July 8, 2026 11:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-for-ci Triggers CI test workflows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant