Rule readiness language
Agents and UIs must not report equipment as healthy when evidence is missing.
States
| State | Meaning |
|---|---|
runnable |
Required roles present; rule may produce fault/normal hours |
not_runnable |
Required roles missing — do not invent substitutes |
not_applicable |
Diagnostic does not apply to this equipment family |
unknown |
Evidence insufficient to decide fault vs normal |
fault / normal |
Only when runnable and evaluated |
Missing evidence stays null / unknown / not_runnable, never silently healthy.
Heat-pump HP-1 (documented caveat — current product)
Registry (sql_rules/registry.yaml) for HP-1:
required_roles: [sat, zone_t, fan_cmd]optional_roles: [compressor_status, fan_status]- Description still says “when heating”, but heating-mode proof is not fully enforced in the screening SQL path.
Important: SQL still derives the gating fan signal from fan_cmd for the
final fan term. Packages with fan status only (no fan_cmd) are typically
not runnable for HP-1 today even if fan_status is mapped.
Do not silently map binary fan status into a percent fan_cmd just to pass
the schema. Aligning registry, SQL, cookbook, and tests is a later
implementation epic — not implied by this documentation.
Heat-pump Overview matrix (caveat)
The HP health matrix may still surface AHU-shaped or economizer-shaped flags
that are not applicable to a water-source heat pump. Treat those as
not_applicable / unknown when evidence or applicability is missing — do not
count them against the unit as faults.
Redesigning hp_health_matrix_v1 around HP-only diagnostics is deferred.
Agent checklist before claiming “FDD ready”
- Stamp types + compact maps for every equipment CSV.
- Confirm required roles for the target rules exist post-import.
- Report blocked rules and missing BAS points explicitly.
- Never fabricate physical evidence columns.