Skip to content

docs: tracking-split editorial polish - REGISTRY decision folds + history scrub (split 3/3) - #708

Merged
igerber merged 2 commits into
mainfrom
chore/todo-polish
Jul 19, 2026
Merged

docs: tracking-split editorial polish - REGISTRY decision folds + history scrub (split 3/3)#708
igerber merged 2 commits into
mainfrom
chore/todo-polish

Conversation

@igerber

@igerber igerber commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Summary

  • Final PR of the tracking-split trio (ci(review): credit deferred rows in TODO.md OR DEFERRED.md (tracking-split prep 1/3) #698 contract, docs: split tracking into TODO.md (actionable) / DEFERRED.md (registry) / docs/dev-status.md (split 2/3) #705 split). Applies the decisions rule the split codified: behavioral decisions live as REGISTRY Notes; the DEFERRED.md Decision record keeps engineering calls plus one-line pointers.
  • New REGISTRY StackedDiD Note (base-estimator notes block): intercept SEs excluded from R parity - for the base clubSandwich parity fixture (not the CBWSDID cbwsdid fixture), event-study interaction SEs match ~2e-13 while the regression intercept SE differs by a measured ~0.3% (nuisance-parameter reference-cell gap); surfacing se_cr1_intercept/se_cr2_intercept would add an unasserted, R-divergent public field. The estimatr-intercept and zero-weight-PSU decisions already had REGISTRY Notes, so their Decision-record rows shrink to pointers.
  • Reclassifies two closed decisions out of Parked into the Decision record: the StackedDiD survey re-resolution dedup (assessed not-warranted, Phase 3: Survey design support for OLS-based standalone estimators #226) and the HAD Pierce-Schott replication harness (waived 2026-05-20). Registry shape: 9 actionable; 15 paper-gated / 18 external-reference / 34 parked / 1 version-gated / 10 decisions.
  • History scrub: DONE/SHIPPED/LANDED narration in rows compressed to residual-only statements (CGBS extensions, conformal AR, HonestDiD ARP, Conley consolidation, LPDiD non-absorbing - now titled by its actual residual gap, the Stata-only SE/RA reference - CiC Melly-Santangelo, CS unbalanced-panel). Reviewer-crediting Location + reason text preserved on every row; uppercase history flags now appear only inside the Decision record, where provenance is the point.

Methodology references (required if estimator / math changes)

  • Method name(s): N/A - no methodology changes (the new REGISTRY Note documents an existing, measured parity finding; all row edits are tracking prose)
  • Paper / source link(s): N/A
  • Any intentional deviations from the source (and why): None new - the intercept-SE Note records a previously-decided waiver (SE-audit C1/(c)) in the reviewer-recognized label form

Validation

  • Tests added/updated: No test changes (markdown-only). Verified: row-integrity counts (9 / 15-18-34-1-10), no orphaned cross-references (repo-wide greps), uppercase-history-flag gate (Decision record only), strict make -C docs html SPHINXOPTS="-W" build green.
  • Backtest / simulation / notebook evidence (if applicable): N/A

Security / privacy

  • Confirm no secrets/PII in this PR: Yes

🤖 Generated with Claude Code

https://claude.ai/code/session_01H8PDhdrdQH2DM8yAeEnib7

…lassifications + history scrub (3/3)

Applies the decisions rule shipped in the split: behavioral decisions live
as REGISTRY Notes, the Decision record keeps engineering calls + one-line
pointers.

- NEW REGISTRY StackedDiD Note (base-estimator notes block): intercept SEs
  excluded from R parity - for the base clubSandwich parity fixture (not
  the CBWSDID cbwsdid fixture), interaction SEs match ~2e-13 while the
  regression intercept SE differs by a measured ~0.3% (nuisance-parameter
  reference-cell gap, not machine-precision lockable); surfacing
  se_cr1_intercept/se_cr2_intercept would add an unasserted, R-divergent
  public field. The estimatr-intercept and zero-weight-PSU decisions
  already had REGISTRY Notes; their Decision-record rows shrink to
  pointers at those Notes.
- Reclassify two closed decisions out of Parked into the Decision record
  (3-col shape): StackedDiD survey re-resolution dedup (assessed, not
  warranted; #226) and the HAD Pierce-Schott replication harness (waived
  2026-05-20). Parked 34, Decision record 10.
- History scrub: DONE/SHIPPED/LANDED narration compressed to residual-only
  statements (conformal one-sided/covariates sentence dropped; CGBS row
  leads with the remaining extensions; HonestDiD landed-support sentence
  dropped; Conley row states SA+Wooldridge-OLS support as scope, not
  history; LPDiD non-absorbing row retitled to the actual residual gap
  (Stata-only SE/RA reference); CiC Melly-Santangelo and CS
  unbalanced-panel rows lead with what remains). Reviewer-crediting
  Location + reason text preserved on every row; uppercase history flags
  now appear only inside the Decision record.

Markdown-only; no library behavior change. Verified: row-integrity counts
(9 actionable; 15/18/34/1/10), no orphaned cross-references, strict -W
docs build green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H8PDhdrdQH2DM8yAeEnib7
@github-actions

Copy link
Copy Markdown

Overall assessment

Looks good — no unmitigated P0 or P1 findings.

Executive summary

  • Markdown-only changes; no estimator, weighting, variance, identification, or defaults changed.
  • Tracking counts correctly resolve to 9 / 15 / 18 / 34 / 1 / 10.
  • The StackedDiD intercept-SE exclusion is explicitly documented and affects no exposed inference output.
  • Two minor documentation inconsistencies remain.

Methodology

  • P3 — Documented StackedDiD parity exclusion
    Impact: None. The mismatch concerns an unexposed, parameterization-dependent intercept SE; interaction and aggregate inference remain parity-tested.
    Concrete fix: None required. Properly documented at docs/methodology/REGISTRY.md:L1879.

  • P2 — Decision record points to a non-labelled Registry “Note”
    DEFERRED.md:L130 calls the HAD classical intercept-SE entry a Registry Note, but docs/methodology/REGISTRY.md:L3380 lacks the reviewer-recognized **Note:**/**Deviation from R:** label.
    Impact: Automated or future reviews may fail to recognize the documented waiver.
    Concrete fix: Relabel the Registry bullet as **Note (deviation from R — classical intercept SE):**.

Code Quality

No findings; no source code changed.

Performance

No findings.

Maintainability

No findings beyond the documentation pointers below.

Tech Debt

No findings. Actionable, deferred, parked, version-gated, and decision-record counts are internally consistent.

Security

No findings or apparent secrets.

Documentation/Tests

  • P2 — HAD checklist retains stale backlog status
    docs/methodology/REGISTRY.md:L3604-L3605 still says the waived validation work is a “Low-priority follow-up,” although this PR moves it into the closed decision record at DEFERRED.md:L128.
    Impact: Readers may incorrectly treat waived work as active backlog.
    Concrete fix: Replace both statements with “Recorded as waived in the DEFERRED.md decision record.”

No test changes are required for this editorial-only PR.

… bullet + waived-status wording

- REGISTRY HAD mass-point intercept-SE bullet relabeled with the
  reviewer-recognized form (**Note (deviation from R — classical intercept
  SE):**) so the DEFERRED.md decision-record pointer resolves to a labeled
  Note.
- The two HAD Phase-4 checklist tails now say "Recorded as waived in the
  DEFERRED.md decision record" instead of claiming an active Low-priority
  follow-up (the row moved to the Decision record in this PR).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H8PDhdrdQH2DM8yAeEnib7
@github-actions

Copy link
Copy Markdown

🔁 AI review rerun (requested by @igerber)

Head SHA: d8def40b5c435e267aa876663f489fcc39d87b93


Overall assessment

Looks good — no unmitigated P0 or P1 findings.

Executive summary

  • Both prior P2 documentation findings are resolved.
  • No estimator behavior, mathematics, weighting, assumptions, or inference changed.
  • StackedDiD and HAD intercept-SE deviations now have recognized Registry Note labels.
  • Tracking counts remain consistent: 9 actionable and 15/18/34/1/10 deferred categories.

Methodology

  • P3 — Documented intercept-SE deviations
    Impact: None; these record existing, non-public parity differences without changing statistical output.
    Concrete fix: None required. See docs/methodology/REGISTRY.md:L1879 and docs/methodology/REGISTRY.md:L3380.

Code Quality

No findings; source code was not changed.

Performance

No findings.

Maintainability

No findings. Engineering waivers are appropriately consolidated in the decision record.

Tech Debt

No findings. Tracking rows and category counts remain internally consistent.

Security

No findings or apparent secrets.

Documentation/Tests

No findings. The prior stale HAD backlog wording is corrected at docs/methodology/REGISTRY.md:L3604-L3605, and the classical intercept entry now has a recognized deviation label. No test changes are required for this editorial-only PR.

@igerber igerber added the ready-for-ci Triggers CI test workflows label Jul 19, 2026
@igerber
igerber merged commit 0d603fd into main Jul 19, 2026
14 of 15 checks passed
@igerber
igerber deleted the chore/todo-polish branch July 19, 2026 21:26
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