Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
c15e5ea
Add AI practitioner guardrails based on Baker et al. (2025)
igerber Mar 28, 2026
cb949a8
Address AI review findings on practitioner guardrails
igerber Mar 28, 2026
b963d0c
Align canonical step numbering and fix Bacon/EfficientDiD handlers
igerber Mar 28, 2026
7b8bdad
Fix remaining step-numbering drift and NaN check for avg_att
igerber Mar 28, 2026
d350850
Fix Step 3 example column and align evaluation doc labels
igerber Mar 28, 2026
f3c17ff
Fix staggered pre-trends guidance and add with/without covariates exa…
igerber Mar 28, 2026
bd8e565
Add staggered carve-out to llms.txt Step 3 and fix snippets
igerber Mar 28, 2026
51bcf36
Make guidance estimator-specific for PT tests and placebo
igerber Mar 28, 2026
bea06a5
Make all handlers fully estimator-specific, add negative assertions
igerber Mar 28, 2026
5d6b11c
Eliminate shared staggered placebo template entirely
igerber Mar 28, 2026
4eb7eb5
Delete dead staggered placebo helper, rewrite Step 6 prose
igerber Mar 28, 2026
f8a3b85
Add SA-specific heterogeneity step and fix doc sections
igerber Mar 28, 2026
0857aff
Fix llms.txt Step 7 to distinguish CS aggregate from SA API
igerber Mar 28, 2026
e5f10ff
Add Steps 1-2 reminders to all handlers, fix bibliography
igerber Mar 28, 2026
7d3f764
Present control_group as context-dependent, not recommended
igerber Mar 28, 2026
a21845c
Split SDiD and TROP into separate decision tree branches
igerber Mar 28, 2026
8ce4441
Fix SDiD handler: compare with CS, not TROP
igerber Mar 28, 2026
c865816
Remove invalid placebo from MultiPeriodDiD handler
igerber Mar 28, 2026
b662a41
Fix HonestDiD scope in PT step, fix placebo binary time
igerber Mar 28, 2026
c74e7ac
Inline DiD PT step without HonestDiD mention
igerber Mar 28, 2026
510fdec
Rewrite evaluation with correctness-aware rubric
igerber Mar 29, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@ category (`Methodology/Correctness`, `Performance`, or `Testing/Docs`):
| `CONTRIBUTING.md` | Documentation requirements, test writing guidelines |
| `.claude/commands/dev-checklists.md` | Checklists for params, methodology, warnings, reviews, bugs (run `/dev-checklists`) |
| `.claude/memory.md` | Debugging patterns, tolerances, API conventions (git-tracked) |
| `docs/llms-practitioner.txt` | Baker et al. (2025) 8-step practitioner workflow for AI agents |
| `docs/performance-plan.md` | Performance optimization details |
| `docs/benchmarks.rst` | Validation results vs R |

Expand Down
1 change: 1 addition & 0 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ Deferred items from PR reviews that were not addressed before merge.
| ~376 `duplicate object description` Sphinx warnings — caused by autodoc `:members:` on dataclass attributes within manual API pages (not from autosummary stubs); fix requires restructuring `docs/api/*.rst` pages to avoid documenting the same attribute via both `:members:` and inline `autosummary` tables | `docs/api/*.rst` | — | Low |
| Plotly renderers silently ignore styling kwargs (marker, markersize, linewidth, capsize, ci_linewidth) that the matplotlib backend honors; thread them through or reject when `backend="plotly"` | `visualization/_event_study.py`, `_diagnostic.py`, `_power.py` | #222 | Medium |
| Survey bootstrap test coverage — **Resolved**. Added FPC census zero-variance, single-PSU NaN, full-design bootstrap for CS/ContinuousDiD/EfficientDiD, and TROP Rao-Wu vs block bootstrap equivalence tests. | `tests/test_survey_phase*.py` | — | Resolved |
| Doc-snippet smoke tests only cover `.rst` files; new `.txt` AI guides are outside CI validation | `tests/test_doc_snippets.py` | #239 | Low |

---

Expand Down
3 changes: 3 additions & 0 deletions diff_diff/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@
plot_staircase,
plot_synth_weights,
)
from diff_diff.practitioner import practitioner_next_steps
from diff_diff.datasets import (
clear_cache,
list_datasets,
Expand Down Expand Up @@ -344,4 +345,6 @@
"load_dataset",
"list_datasets",
"clear_cache",
# Practitioner guidance
"practitioner_next_steps",
]
Loading
Loading