Evaluates the KB decision table (category "stat_choice" rules) against
the diagnostic signals extracted from a fitted EventStudyTask or a
precomputed es_diagnostics object, and returns a severity-ranked
es_advice S3 object.
Usage
recommend_stat(x, provider = NULL, ...)
# Default S3 method
recommend_stat(x, provider = NULL, ...)
# S3 method for class 'EventStudyTask'
recommend_stat(x, provider = NULL, ...)
# S3 method for class 'es_diagnostics'
recommend_stat(x, provider = NULL, ...)Arguments
- x
A fitted
EventStudyTask(afterfit_model()) or a precomputedes_diagnosticsobject returned byes_diagnostics().- provider
Accepted but ignored in the offline path — present only so the Phase 7 call shape is forward-compatible. Default
NULL.- ...
Additional arguments (currently ignored).
Value
An S3 object of class "es_advice" — a named list with:
source"offline_kb"(character).is_deterministicTRUE— advice is rule-based, not LLM-generated.rules_matchedNamed list of matched rule records (severity-ranked:
"error"first, then"warning", then"info"), each with fieldsid,recommendation,citation(list ofauthor/year/key/venue),severity,category.diagnostics_refThe
es_diagnosticslist that was evaluated (possibly computed on-the-fly from the task).
Details
No LLM provider, network connection, or API key is required. Both functions
are the always-available offline grounding layer (ADV-08). The returned
es_advice object has the same shape as the Phase 7 Advice contract,
flagged is_deterministic = TRUE and source = "offline_kb".
Examples
if (FALSE) { # \dontrun{
task <- run_event_study(my_task, ParameterSet$new())
advice <- recommend_stat(task)
print(advice)
} # }