docs(paper): finalize JOSS submission - 20 estimators, required sections, draft-pdf CI#604
Conversation
…ons, draft-pdf CI - paper.md: update estimator count 19 -> 20 (LPDiD merged after #564); add LPDiD to the staggered-adoption method list with Dube2025 citation - paper.md: restructure to current JOSS required sections - add State of the Field (Python/R/Stata landscape with build-vs-contribute justification), Software Design (shared inference core, influence-function survey architecture, minimal-dependency policy, Rust backend), and Research Impact Statement (companion preprint, golden-file R validation, real-data survey validation, community-readiness signals); 1,269 words, within the 750-1750 target - paper.bib: add Dube2025 (LP-DiD, J. Applied Econometrics), Binder1983 (previously cited in-text without a bib entry), pyfixest (software citation for State of the Field) - paper.md: AI disclosure updated to name the Opus, Sonnet, and Fable model families - llms.txt / llms-full.txt: stale counts 19 -> 20 and "13 of 16" -> "13 of 20" replicate-weight support - practitioner_decision_tree.rst: stale "17 estimators" -> 20, mention Local Projections DiD - choosing_estimator.rst survey matrix: dCDH replicate weights "--" -> "Full (analytical)" (support landed with test_survey_dcdh_replicate_psu coverage); add missing SpilloverDiD and SyntheticControl rows; note the SyntheticControl NotImplementedError in the intro - .github/workflows/draft-pdf.yml: SHA-pinned openjournals draft action compiles the paper on paper.md/paper.bib changes and uploads the PDF artifact Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
California's (Abadie2010) and pyfixest/Python (pyfixest entry) were being lowercased by CSL sentence-casing in the compiled PDF. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
🔁 AI review rerun (requested by @igerber) Head SHA: Overall Assessment✅ Looks good. No unmitigated P0/P1 findings. The PR is documentation/paper/CI only; I found two P2 documentation-methodology accuracy issues worth fixing, but no blocker for approval. Executive Summary
MethodologyFinding 1Severity: P2 Finding 2Severity: P2 Code QualityNo findings. No Python implementation code changed. PerformanceNo findings. The new workflow only compiles the paper on relevant path changes. MaintainabilityNo findings. The new workflow is small, path-scoped, and SHA-pinned ( Tech DebtNo blocking findings. Existing deferred survey limitations for LPDiD, SpilloverDiD, HAD, and SyntheticControl are already tracked in SecurityNo findings. The workflow uses Documentation/TestsFindingSeverity: P2 |
…Y replicate matrix 13/20 - paper.md Software Design: formula support scoped to the classic regression estimators; least-squares solves centralized but analytical vs resampling-based variance paths distinguished (synthetic DiD placebo/ jackknife noted); joint-inference NaN contract stated as the invariant all estimators share - REGISTRY.md replicate-weight support matrix: 12 of 15 -> 13 of 20; adds ChaisemartinDHaultfoeuille to Supported (closed-form cell-collapse replicate ATT, replicate + n_bootstrap > 0 rejected); Rejected list now enumerates WooldridgeDiD, LPDiD, SpilloverDiD, HeterogeneousAdoptionDiD (TSL-only, NotImplementedError at fit) and SyntheticControl (rejects survey_design entirely), keeping BaconDecomposition diagnostic-only Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
🔁 AI review rerun (requested by @igerber) Head SHA: Overall Assessment✅ Looks good. No unmitigated P0/P1 findings. This PR is documentation/paper/CI only; the previous registry-count issue is resolved, and the remaining issues are P2 documentation-scope accuracy problems. Executive Summary
MethodologyFinding 1Severity: P2 Finding 2Severity: P2 Code QualityNo findings. No Python implementation code changed. PerformanceNo findings. The workflow only runs on paper/workflow path changes. MaintainabilityNo findings. The registry update makes the replicate-weight support matrix more explicit. Tech DebtNo blocking findings. Unsupported survey/replicate paths for LPDiD, SpilloverDiD, HAD, SyntheticControl, and related estimators are tracked in SecurityNo findings. Documentation/TestsP2 documentation-scope findings are listed above. |
…view round 2) - Remove .github/workflows/draft-pdf.yml: a durable CI job for the paper is overkill (user call). It served its purpose as a one-time compile check - the PDF built successfully and was visually verified; JOSS's editorialbot compiles the paper on demand during review. - paper.md: survey variance no longer claimed to compose with "every estimator" / "uniformly" - now states per-estimator support documented in a compatibility matrix with unsupported combinations failing closed - llms.txt / llms-full.txt / choosing_estimator.rst: "All estimators" -> "Most estimators" with SyntheticControl called out and a pointer to the Survey Design Support matrix (aligns with existing README wording) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
🔁 AI review rerun (requested by @igerber) Head SHA: Overall Assessment✅ Looks good. No unmitigated P0/P1 findings. The remaining issues are P2 documentation-scope mismatches; no estimator code, variance code, defaults, or inference computation changed. Executive Summary
MethodologyFinding 1Severity: P2 Finding 2Severity: P2 Code QualityNo findings. No Python implementation code changed. PerformanceNo findings. The provided diff changes documentation/paper/bibliography only. MaintainabilityNo findings. The registry count update improves maintainability of the survey support matrix. Tech DebtNo blocking findings. Unsupported replicate/survey combinations are documented in SecurityNo findings. I did not see secrets or credentials in the changed docs/bibliography content. Documentation/TestsDocumentation findings are listed above. I did not run |
…urvey claim (review round 3) - choosing_estimator.rst: SyntheticDiD Strata/PSU/FPC cell "Via bootstrap" -> "Full (method-specific)" - full-design placebo (stratified permutation + weighted FW, FPC no-op) and jackknife (PSU-level LOO with stratum aggregation, Rust & Rao 1996) shipped alongside the Rao-Wu bootstrap; the "placebo/jackknife remain pweight-only ... tracked in TODO.md" note was stale (no TODO row exists - the work landed). Legend "Via bootstrap" now describes only TROP; new "Full (method-specific)" legend entry points at REGISTRY's survey support matrix. - paper.md Software Design: survey-variance claim split - IF/regression estimators route through the shared survey-variance core (TSL + replicate weights); resampling estimators (SyntheticDiD, TROP) use documented method-specific bootstrap/placebo/jackknife paths. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
🔁 AI review rerun (requested by @igerber) Head SHA: Overall Assessment✅ Looks good. No unmitigated P0/P1 findings. Executive Summary
MethodologyNo findings. The changed SyntheticDiD documentation in Code QualityNo findings. No Python implementation code changed. PerformanceNo findings. The diff is documentation/bibliography only. MaintainabilityNo findings. Tech DebtNo blocking findings. Deferred unsupported survey/replicate combinations remain documented in the registry. SecurityNo findings. I did not see secrets or credential material in the changed files. Documentation/TestsFinding 1Severity: P3 I did not run |
…-only, outside the 20 count (review round 4 P3) 13 supported + 7 rejected = 20 estimators; BaconDecomposition gets its own diagnostic-only line so the matrix cannot be read as 13-of-21. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
🔁 AI review rerun (requested by @igerber) Head SHA: Overall Assessment✅ Looks good. No unmitigated P0/P1 findings. Executive Summary
MethodologyNo findings. Affected methodology documentation only. The changed rows in
Code QualityNo findings. No Python implementation code changed. PerformanceNo findings. The diff is documentation/bibliography only. MaintainabilityNo findings. The prior registry count ambiguity is improved at Tech DebtNo findings. Deferred unsupported survey/replicate combinations remain documented in SecurityNo findings. I did not see secrets or credential material in the changed files. Documentation/TestsNo blocking findings. Documentation updates are consistent with the reviewed source/registry material. I did not independently run the claimed test or |
Summary
Methodology references (required if estimator / math changes)
Validation
Security / privacy
Generated with Claude Code