autointent.advisor.PreflightReport#

class autointent.advisor.PreflightReport#

One report covering all three phases.

findings: list[Finding] = []#
resource: ResourceEstimate#
hardware: dict[str, Any]#
dataset: dict[str, Any]#
preset_name: str | None = None#
low_confidence: bool = False#
notes: list[str] = []#
add(phase, severity, message, metric=None)#

Append a Finding to this report.

Parameters:
  • phase (Phase) – which check produced it — "resource", "data" or "config".

  • severity (Severity) – headroom level; a single OVER makes the report infeasible.

  • message (str) – one-line human-readable explanation, shown as-is in reports.

  • metric (str | None) – short budget name the finding is about ("vram", "ram", "disk", "time"), or None for findings not tied to a budget.

Return type:

None

property headroom: Severity#

Worst headroom level across all findings — the column shown in CLI reports.

Return type:

Severity

property is_feasible: bool#

True unless some finding is OVER.

Type:

Whether the run is expected to fit

Return type:

bool

to_dict()#

Render the report as JSON-serializable data.

Severities become their string values, and the derived headroom and is_feasible properties are included as keys. This is what the CLI’s --json output emits.

Returns:

A plain dict of the report, its findings, resource estimate, hardware and dataset summaries.

Return type:

dict[str, Any]