fix(patrol): rename wearout JSON field to ssd_life_remaining_pct (#1300)

The AI also receives disk data via tool calls (pulse_metrics type="disks"),
not just the patrol context table. The raw JSON field "wearout" was
ambiguous — rename to "ssd_life_remaining_pct" so the field name itself
communicates that 100 = healthy.
This commit is contained in:
rcourtman 2026-02-27 23:12:27 +00:00
parent 3006f51b60
commit c575c7e295
2 changed files with 5 additions and 5 deletions

View file

@ -1106,10 +1106,10 @@ type PhysicalDiskSummary struct {
WWN string `json:"wwn,omitempty"`
Type string `json:"type"` // nvme, sata, sas
SizeBytes int64 `json:"size_bytes"`
Health string `json:"health"` // PASSED, FAILED, UNKNOWN
Wearout *int `json:"wearout,omitempty"` // SSD life remaining percentage (100=new/healthy, 0=end of life), nil when unavailable
Temperature *int `json:"temperature,omitempty"` // Celsius, nil when unavailable
RPM *int `json:"rpm,omitempty"` // 0 for SSDs, nil when unavailable
Health string `json:"health"` // PASSED, FAILED, UNKNOWN
Wearout *int `json:"ssd_life_remaining_pct,omitempty"` // 100=new/healthy, 0=end of life; nil when unavailable
Temperature *int `json:"temperature,omitempty"` // Celsius, nil when unavailable
RPM *int `json:"rpm,omitempty"` // 0 for SSDs, nil when unavailable
Used string `json:"used,omitempty"`
LastChecked time.Time `json:"last_checked,omitempty"`
}

View file

@ -21,7 +21,7 @@ Types:
- temperatures: CPU, disk, and sensor temperatures from hosts
- network: Network interface statistics (rx/tx bytes, speed)
- diskio: Disk I/O statistics (read/write bytes, ops)
- disks: Physical disk health (SMART, wearout, temperatures)
- disks: Physical disk health (SMART, SSD life remaining, temperatures)
- baselines: Learned normal behavior baselines for resources
- patterns: Detected operational patterns and predictions