Recommendation: repair. The thresholds engine indicates repair because the quote is well below the clear‑repair line. Specifically, the observed quote as a percent of replacement is 14.7% versus the repair-below threshold of 25.0%. No replace triggers fired: the unit’s age is 7.46 years against a replace threshold of 12.0 years, meter hours are 2,417 against a replace threshold of 20,000.0 hours, and trailing-12-month spend is 14.5% of replacement against a 30.0% threshold. Note: spend figures cover 33 months of uploaded invoices, so spend is a floor. There is also a data gap on capacity_lbs, but that does not affect this repair indication. The fleet manager’s note matches the quote on file ($5,000.00 for hydraulic lines).
Figures used
- facts.thresholds.clear_repair.observed = 14.7
- facts.thresholds.clear_repair.limit = 25.0
- facts.ratios.quote_pct_of_replacement = 14.7
- facts.thresholds.values.repair_below_quote_pct = 25.0
- facts.quote.amount = 5000.0
- facts.replacement_benchmark.est_replacement_cost = 34000
- facts.asset.age_years = 7.46
- facts.thresholds.values.replace_age_years = 12.0
- facts.meter.last_reading_hours = 2417
- facts.thresholds.values.replace_meter_hours = 20000.0
- facts.ratios.ttm_spend_pct_of_replacement = 14.5
- facts.thresholds.values.ttm_spend_pct_of_replacement = 30.0
- facts.coverage.invoice_window_months = 33
Rules cited
- “repair_below_quote_pct”
From v1.0 draft (consolidated, unapproved), saved by consolidation (pending Matt's review). This decision is permanently tied to that version even if the rules change later.
Threshold check
t1.1 provisional · compared in code, not by the model| Quote is under the clear-repair line | 14.7% | 25.0% | UNDER |
The unit
Full history →- Unit
- FL-00558
- Make / model
- UniCarriers CF50LP
- Power
- propane
- Site
- Indianapolis, Indiana
- Age
- 7.46 yrs (acquired 2019-03-12)
- Hour meter
- 2,417 @ 2026-06-23
- Hours / year
- 262
- Readings
- 3
- Invoices
- 3
- Last service
- 2026-06-23
- Spend seen
- $4,946.04
- Trailing 12mo
- $4,946.04
- Replacement
- $34,000
- Quote / repl.
- 14.7%
- Spend / repl.
- 14.5%
Known gaps in the evidence
- asset has no capacity_lbs — replacement benchmarks are banded by capacity
Repair history behind this
| Service date | Vendor | Type | Total | Flags | Document |
|---|---|---|---|---|---|
| 2026-06-23 | MHEQU | repair | $3,932.01 | BLACKBOX_LABOR CONSUMABLE_FLAT | 4879519_Auto0b75b875-a537-4522-8a43-cb32fe5b8449~APWH_20260626150209.pdf |
| 2026-01-13 | MHEQU | repair | $807.81 | BLACKBOX_LABOR CONSUMABLE_FLAT PART_NARRATIVE_MISMATCH | 4379786_Autof1eda318-9211-4ec5-b36f-4c696ddcfe36~APWH_20260114103226.pdf |
| 2025-12-30 | MHEQU | pm | $206.22 | BLACKBOX_LABOR | 4348376_Auto600dc2d1-0e9d-4a8b-b9c7-421a18e39203~APWH_20251231150219.pdf |
What did you actually do?
Recording the real outcome is what lets this tool be backtested against Matt's judgement. It takes a click.
Full facts record (d0.2 · openai:gpt-5)
{
"as_of": "2026-08-26",
"asset": {
"acquire_date": "2019-03-12",
"age_years": 7.46,
"asset_id": "FL-00558",
"capacity_lbs": null,
"make": "UniCarriers",
"model": "CF50LP",
"power_type": "propane",
"serial": "CP1F2-9W30206",
"site_name": "Indianapolis, Indiana",
"source": "asset_master",
"status": "active",
"wh_code": "ININ"
},
"coverage": {
"invoice_window_end": "2026-07-28",
"invoice_window_months": 33,
"invoice_window_start": "2023-10-19",
"invoices_in_system": 2108
},
"data_gaps": [
"asset has no capacity_lbs \u2014 replacement benchmarks are banded by capacity"
],
"economics": {
"book_value": 5969.0,
"book_value_basis": "(1 - 7.5/10) x $23,500, floored at 0",
"est_acquisition_cost": 23500,
"est_replacement_cost": 34000,
"est_useful_life_yrs": 10,
"fully_depreciated": false
},
"found": true,
"history": [
{
"doc_type": "repair",
"file_ref": "4879519_Auto0b75b875-a537-4522-8a43-cb32fe5b8449~APWH_20260626150209.pdf",
"flag_codes": "BLACKBOX_LABOR;CONSUMABLE_FLAT",
"invoice_id": 1196,
"needs_review": 0,
"on_date": "2026-06-23",
"total": 3932.01,
"vendor_id": "MHEQU"
},
{
"doc_type": "repair",
"file_ref": "4379786_Autof1eda318-9211-4ec5-b36f-4c696ddcfe36~APWH_20260114103226.pdf",
"flag_codes": "NO_PO;BLACKBOX_LABOR;CONSUMABLE_FLAT;PART_NARRATIVE_MISMATCH",
"invoice_id": 135,
"needs_review": 0,
"on_date": "2026-01-13",
"total": 807.81,
"vendor_id": "MHEQU"
},
{
"doc_type": "pm",
"file_ref": "4348376_Auto600dc2d1-0e9d-4a8b-b9c7-421a18e39203~APWH_20251231150219.pdf",
"flag_codes": "NO_PO;BLACKBOX_LABOR",
"invoice_id": 60,
"needs_review": 0,
"on_date": "2025-12-30",
"total": 206.22,
"vendor_id": "MHEQU"
}
],
"meter": {
"est_hours_per_year": 262,
"implausible_readings": 0,
"last_reading_date": "2026-06-23",
"last_reading_hours": 2417,
"readings_on_file": 3
},
"quote": {
"amount": 5000.0,
"source": "comment",
"symptom_text": "repair for $5000, hydraulic lines",
"vendor_id": null
},
"ratios": {
"age_pct_of_est_useful_life": 74.6,
"lifetime_spend_seen_pct_of_replacement": 14.5,
"quote_pct_of_book_value": 83.8,
"quote_pct_of_replacement": 14.7,
"quote_plus_ttm_pct_of_replacement": 29.3,
"spend_seen_per_meter_hour": 2.05,
"ttm_spend_pct_of_replacement": 14.5
},
"replacement_benchmark": {
"as_of": "2026-08-25",
"est_replacement_cost": 34000,
"est_useful_life_yrs": 10,
"source": "market research 2026-08 (inferred, pending dealer quotes)"
},
"spend": {
"invoices_matched": 3,
"last_service_date": "2026-06-23",
"lifetime_spend_seen": 4946.04,
"out_of_scope_invoices": 0,
"out_of_scope_spend": 0.0,
"ttm_invoice_count": 3,
"ttm_spend": 4946.04
},
"thresholds": {
"clear_repair": {
"limit": 25.0,
"observed": 14.7,
"threshold": "repair_below_quote_pct",
"unit": "%"
},
"fired": [],
"mapped_recommendation": "repair",
"threshold_version_id": 4,
"untestable": [],
"values": {
"quote_pct_of_replacement": 50.0,
"repair_below_quote_pct": 25.0,
"replace_age_years": 12.0,
"replace_meter_hours": 20000.0,
"ttm_spend_pct_of_replacement": 30.0
},
"verdict": "repair_indicated",
"version_label": "t1.1 provisional"
}
}