Rulebook v1.0 draft (consolidated, unapproved)
Thresholds t1.4 2026-08-26
Invoices2,168
Pending extract0
Needs review38
Unconfirmed units195
Open findings0
Replacement costs9
Build173d256
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 dateVendorTypeTotalFlagsDocument
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.

Outcome
Note (optional)
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"
 }
}