Repository navigation
Tags: refunders/refund
Tags
Local devel tip before reset to origin/devel: 3 commits incl. a separ… …ate pffr refactor attempt that never entered pffr-refactor; kept for reference
docs(ci-paper): E4/fastFMM abandoned — competitor set is E1/E2/E3 User decision (2026-06-18) after council review. Full findings in ci-benchmark/E4-FASTFMM-FINDINGS.md (on ci-experiments branch). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
docs(E4): ABANDON fastFMM/FUI comparison + full findings note User decision (2026-06-18): drop the fui comparison from the paper. Council (Codex+Gemini+Claude, unanimous): subject-level sandwich clustering is correct (curve-wise ≡ default), but the binding constraint is pffr's penalized-RE bread under-propagating between-subject variance — even subject-clustered pffr undercovers vs fui, which targets a different longitudinal/marginal setting and isn't apples-to-apples. Full write-up in E4-FASTFMM-FINDINGS.md. Keeps the reusable coef.pffr cluster= arg (b0cee3d). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add SessionStart hook to provision R deps for web sessions CRAN is blocked by the Claude Code web sandbox network policy, so install R via apt and resolve the refund package's dependencies (plus fastFMM) from Ubuntu r-cran-* binaries, falling back to the GitHub CRAN mirror for the packages apt does not ship. Scoped to this project via .claude/settings.json and gated to remote sessions only. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TduVfzNXFXKPhQUCGuyxV9
docs(ci-paper): add PAPER-PLAN and report sources for sandwich-CI paper Set up the ci-paper worktree for the methodological paper on cluster-robust (sandwich) confidence intervals for pffr. Tracks the JSS report sources and PAPER-PLAN.md; heavy simulation results (~350 MB) stay git-ignored and are symlinked to the main checkout. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
fix: properly separate fitting from scoring in confint-benchmark - Fit ALL models upfront (pffr, pffr_gls_est, pffr_ar) before scoring loop - Store fit times in named list, properly save to output dataframe - Evaluate truth on exact grid from coef() with correct Simpson weights - Add back concurrent and smooth term support - Reduce to ~515 lines
refactor(benchmark): fix major issues in confint-benchmark.R Key fixes: 1. Dataset-centric parallelization: Generate data once per (dgp, rep), then fit all methods. Previously was regenerating data for each method. 2. Proper aggregation: score_fit() returns per-term averages (coverage, width, rmse) instead of thousands of pointwise values. 3. Clean structure: - fit_all_methods(dgp, dat, ...) - fits all relevant methods, reuses base fit - score_all_methods(fits, truth, dgp, ...) - scores with proper labels - run_one_rep(dgp, rep_id, seed, ...) - runs one full simulation 4. Reduced from ~2000 lines to ~630 lines by removing redundant code. 5. Tiny grid now tests all method combinations (iid, ar1, bump hetero, t6).