Skip to content

EventStudy 0.64.0 — Automated AI Reporting

Choose a tag to compare

@sipemu sipemu released this 07 Sep 20:30
· 235 commits to main since this release

Automated AI Reporting

One-call reporting. New es_report() orchestrator converts a fitted
EventStudyTask into a complete, publication-ready report in a single call:
deep-clones the task (non-mutation guarantee), harvests diagnostics via
es_diagnostics(), assembles a grounded narrative, and renders output —
returning the output path(s) visibly.

Multi-format output. format = c("html", "pdf", "word", "md") renders one
file per format from a shared basename. Fully offline by default (no API
key, no network); an optional provider enables LLM-grounded narrative when
available. Missing PDF/Word/Markdown toolchains degrade gracefully with one
message each; only inability to render the HTML baseline errors.

Additive pipeline convenience. run_event_study(report = FALSE, report_args = list()). With report = FALSE (default) behaviour is byte-identical to the
previous release; with report = TRUE the rendered path(s) attach as
attr(task, "report_path").

Grounded, never fabricated. Narrative is assembled section-by-section, each
an independent grounded request; references come from knowledge-base citations
(never the LLM); significance language is set by a static calibration from
p-values; the joint-hypothesis caveat is fixed static text in every report.

Grounding guard now covers report prose (GROUND-01/02/03). The free-text
grounding scanner is wired into the narrative assembler: an LLM-authored section
carrying a numeric literal absent from es_diagnostics() (within tolerance) is
dropped to its offline fallback with one warning and never rendered. A
report-path regression test locks the invariant.

CRAN & testing hygiene

  • New optional toolchain (tinytex) stays in Suggests, requireNamespace()-guarded.
  • No new R CMD check --as-cran NOTEs/WARNINGs vs baseline; suite green (2287 pass).
  • All render() calls are \dontrun{} in examples and skip_on_cran() /
    skip_if_not_installed() in tests — no network or LaTeX toolchain at check time.

Full diff: v0.60.0...v0.64.0