cleverly.DiagnosticReport#
- class cleverly.DiagnosticReport(items: tuple[AssessmentItem, ...], include_refits: bool = False, include_retargets: bool = False, backend: str | None = None)[source]#
Collect statuses from a combined diagnostic or sensitivity run.
- Parameters:
- items
tupleofAssessmentItem Results for the requested operations.
- include_refitsbool
Whether the run allowed operations that refit nuisance models.
- include_retargetsbool
Whether the run allowed moderate retargets, beyond the default cheap retargets.
- backend
strorNone Dataframe backend used by
to_frame()whendatais omitted.
- items
See also
ValidationReportThe battery that reads stored artifacts only.
cleverly.assessment.DiagnosticsFacadeWhat produces this report.
cleverly.AssessmentCapabilityThe declaration behind one item.
Notes
A skipped or refused item remains in the report. Caller-deferred work has its own status. A capability known to be unsupported is an omission. A refusal raised during an aggregate run remains unavailable, and later operations still run.
Examples
>>> from cleverly import AssessmentStatus, DiagnosticReport >>> from cleverly.assessment import AssessmentItem >>> item = AssessmentItem("support", AssessmentStatus.PASSED, "no material warning") >>> report = DiagnosticReport(items=(item,)) >>> report["support"].status == AssessmentStatus.PASSED True
Methods#
- DiagnosticReport.next_steps() tuple[str, ...][source]#
Return de-duplicated next steps in report order.
- DiagnosticReport.report(name: str) Any[source]#
Return the retained object for an operation that ran.
Attributes#
- DiagnosticReport.include_refits: bool = False#
The two cost classes a caller can opt into, declared separately because they are disjoint:
refuteandbenchmarkrefit nuisances without retargeting, andtruncation_curve,missingnessandtipping_gammaretarget cached nuisances without refitting any. Folding them into one flag made whichever class it did not name a silent rider on the other.