Rulebook v1.0 draft (consolidated, unapproved)
Thresholds t1.4 2026-08-26
Invoices2,168
Pending extract0
Needs review38
Unconfirmed units195
Open findings0
Replacement costs9
Builddc65359
Recommendation is replace based on the thresholds engine. The repeat‑repair threshold fired: this unit had 7 repairs in the last 12 months against a limit of 4.0. That repeat‑repair pattern is what indicates replacement. For context, the current hypothetical quote is small relative to the replacement benchmark: $300 equals 0.7% of the $44,000 replacement cost, which is below the 5.0% small‑repair floor; that would support repairing a one‑off issue. However, the decision trigger here is the exceeded 12‑month repair count, so the mapped recommendation is replace. No inputs were untestable and there are no listed data gaps blocking this decision.

Figures used

  • facts.thresholds.fired[0].observed = 7
  • facts.thresholds.values.max_repairs_ttm = 4.0
  • facts.spend.ttm_repair_count = 7
  • facts.quote.amount = 300.0
  • facts.economics.est_replacement_cost = 44000
  • facts.ratios.quote_pct_of_replacement = 0.7
  • facts.thresholds.clear_repair.limit = 5.0
  • facts.thresholds.clear_repair.observed = 0.7
  • facts.coverage.invoice_window_months = 33

Rules cited

  • “max_repairs_ttm”

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.4 2026-08-26 · compared in code, not by the model
ALL BAND no mature age is set, so every lever is tested.
LeverThis unitReplace atReading
Flag when repairs in 12 months reach
spend.ttm_repair_count
7 repairs 4.0 repairs AT OR OVER
Quote is under the clear-repair line 0.7% 5.0% UNDER

The unit

Full history →
Unit
FL-00870
Make / model
Unicarriers MCT1B2L25S
Power
electric · 4,400 lb
Site
45 Brunswick (Tiles), New Jersey
Age
4.01 yrs (acquired 2022-08-30)
Hour meter
8,678 @ 2026-06-19
Hours / year
2,317
Readings
7
Invoices
7
Last service
2026-06-19
Spend seen
$2,312.49
Trailing 12mo
$2,312.49
Replacement
$44,000
Quote / repl.
0.7%
Spend / repl.
5.3%

Repair history behind this

Service dateVendorTypeTotalFlagsDocument
2026-06-19 HERCULES repair $118.83 CONSUMABLE_FLAT 4919675_Autoa1284520-f010-49a1-9fb9-6a17d3829331~APWH_20260707150511.pdf
2026-06-19 HERCULES repair $238.63 FAVORABLE INVOICE_LAG 4.pdf
2026-03-19 HERCULES repair $145.47 CONSUMABLE_FLAT 4598371_Auto0ddcacce-f9c2-46eb-ae76-fa50fbf4bc96~APWH_20260323215738_1.pdf
2026-03-19 HERCULES repair $209.45 FAVORABLE CONSUMABLE_FLAT 4605502_Autoccf4dcf4-630c-4045-83d1-5067efcb6cf7~APWH_20260330120020.pdf
2026-02-05 HERCULES repair $155.02 FAVORABLE 4442563_Auto2a53d824-4af2-47ab-94f9-d3837c57ebae~APWH_20260217090223_1.pdf
2026-01-30 HERCULES repair $1,109.27 FAVORABLE CONSUMABLE_FLAT 4401418_Auto25dcd2a4-898a-4a61-9981-da784201c146~APWH_20260205123219.pdf
2025-12-02 HERCULES repair $335.82 FAVORABLE INVOICE_LAG 4346979_Autoff55485c-3d67-46eb-95b7-f9f692e79bb8~APWH_20251230113220.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.

Outcomes are recorded under a named account. Sign in to record what was done.

Full facts record (d0.2 · openai:gpt-5)
{
 "as_of": "2026-09-01",
 "asset": {
  "acquire_date": "2022-08-30",
  "age_years": 4.01,
  "asset_id": "FL-00870",
  "capacity_lbs": 4400,
  "make": "Unicarriers",
  "model": "MCT1B2L25S",
  "power_type": "electric",
  "serial": "CT1B2-985866",
  "site_name": "45 Brunswick (Tiles), New Jersey",
  "source": "asset_master",
  "status": "active",
  "wh_code": "NJED-45"
 },
 "coverage": {
  "invoice_window_end": "2026-07-28",
  "invoice_window_months": 33,
  "invoice_window_start": "2023-10-19",
  "invoices_in_system": 2108
 },
 "data_gaps": [],
 "economics": {
  "book_value": 17970.0,
  "book_value_basis": "(1 - 4.0/10) x $30,000, floored at 0",
  "est_acquisition_cost": 30000,
  "est_replacement_cost": 44000,
  "est_useful_life_yrs": 10,
  "fully_depreciated": false
 },
 "found": true,
 "history": [
  {
   "doc_type": "repair",
   "file_ref": "4919675_Autoa1284520-f010-49a1-9fb9-6a17d3829331~APWH_20260707150511.pdf",
   "flag_codes": "NO_PO;CONSUMABLE_FLAT",
   "invoice_id": 1286,
   "needs_review": 0,
   "on_date": "2026-06-19",
   "total": 118.83,
   "vendor_id": "HERCULES"
  },
  {
   "doc_type": "repair",
   "file_ref": "4.pdf",
   "flag_codes": "NO_PO;FAVORABLE;INVOICE_LAG",
   "invoice_id": 4,
   "needs_review": 0,
   "on_date": "2026-06-19",
   "total": 238.63,
   "vendor_id": "HERCULES"
  },
  {
   "doc_type": "repair",
   "file_ref": "4598371_Auto0ddcacce-f9c2-46eb-ae76-fa50fbf4bc96~APWH_20260323215738_1.pdf",
   "flag_codes": "NO_PO;CONSUMABLE_FLAT",
   "invoice_id": 1550,
   "needs_review": 0,
   "on_date": "2026-03-19",
   "total": 145.47,
   "vendor_id": "HERCULES"
  },
  {
   "doc_type": "repair",
   "file_ref": "4605502_Autoccf4dcf4-630c-4045-83d1-5067efcb6cf7~APWH_20260330120020.pdf",
   "flag_codes": "NO_PO;FAVORABLE;CONSUMABLE_FLAT",
   "invoice_id": 629,
   "needs_review": 0,
   "on_date": "2026-03-19",
   "total": 209.45,
   "vendor_id": "HERCULES"
  },
  {
   "doc_type": "repair",
   "file_ref": "4442563_Auto2a53d824-4af2-47ab-94f9-d3837c57ebae~APWH_20260217090223_1.pdf",
   "flag_codes": "NO_PO;FAVORABLE",
   "invoice_id": 1543,
   "needs_review": 0,
   "on_date": "2026-02-05",
   "total": 155.02,
   "vendor_id": "HERCULES"
  },
  {
   "doc_type": "repair",
   "file_ref": "4401418_Auto25dcd2a4-898a-4a61-9981-da784201c146~APWH_20260205123219.pdf",
   "flag_codes": "NO_PO;FAVORABLE;CONSUMABLE_FLAT",
   "invoice_id": 298,
   "needs_review": 0,
   "on_date": "2026-01-30",
   "total": 1109.27,
   "vendor_id": "HERCULES"
  },
  {
   "doc_type": "repair",
   "file_ref": "4346979_Autoff55485c-3d67-46eb-95b7-f9f692e79bb8~APWH_20251230113220.pdf",
   "flag_codes": "NO_PO;FAVORABLE;INVOICE_LAG",
   "invoice_id": 34,
   "needs_review": 0,
   "on_date": "2025-12-02",
   "total": 335.82,
   "vendor_id": "HERCULES"
  }
 ],
 "meter": {
  "est_hours_per_year": 2317,
  "implausible_readings": 0,
  "last_reading_date": "2026-06-19",
  "last_reading_hours": 8678,
  "readings_on_file": 7
 },
 "quote": {
  "amount": 300.0,
  "source": "comment",
  "symptom_text": "Hypothetical follow-up repair being considered, exploring before a real quote is in hand",
  "vendor_id": null
 },
 "ratios": {
  "age_pct_of_est_useful_life": 40.1,
  "lifetime_spend_seen_pct_of_replacement": 5.3,
  "quote_pct_of_book_value": 1.7,
  "quote_pct_of_replacement": 0.7,
  "quote_plus_ttm_pct_of_replacement": 5.9,
  "spend_seen_per_meter_hour": 0.27,
  "ttm_spend_pct_of_replacement": 5.3
 },
 "replacement_benchmark": {
  "as_of": "2026-08-25",
  "est_replacement_cost": 44000,
  "est_useful_life_yrs": 10,
  "matched_by": "power type + capacity band",
  "model_match": null,
  "source": "market research 2026-08 (inferred, pending dealer quotes)"
 },
 "spend": {
  "invoices_matched": 7,
  "last_service_date": "2026-06-19",
  "lifetime_spend_seen": 2312.49,
  "out_of_scope_invoices": 0,
  "out_of_scope_spend": 0.0,
  "ttm_invoice_count": 7,
  "ttm_repair_count": 7,
  "ttm_spend": 2312.49
 },
 "thresholds": {
  "band": {
   "band": "all",
   "reason": "no mature age is set, so every lever is tested",
   "single_repair_levers": true
  },
  "clear_repair": {
   "limit": 5.0,
   "observed": 0.7,
   "threshold": "repair_below_quote_pct",
   "unit": "%"
  },
  "fired": [
   {
    "label": "Flag when repairs in 12 months reach",
    "limit": 4.0,
    "observed": 7,
    "source": "spend.ttm_repair_count",
    "threshold": "max_repairs_ttm",
    "unit": "repairs"
   }
  ],
  "mapped_recommendation": "replace",
  "retired": [
   "replace_age_years",
   "replace_meter_hours"
  ],
  "skipped": [],
  "threshold_version_id": 5,
  "untestable": [],
  "values": {
   "lifetime_spend_pct_of_replacement": 200.0,
   "max_repairs_ttm": 4.0,
   "max_single_repair_usd": 10000.0,
   "max_ttm_spend_usd": 20000.0,
   "quote_pct_of_book_value": 200.0,
   "quote_pct_of_replacement": 25.0,
   "repair_below_quote_pct": 5.0,
   "replace_age_years": 20.0,
   "replace_meter_hours": 20000.0,
   "ttm_spend_pct_of_replacement": 50.0
  },
  "verdict": "replace_indicated",
  "version_label": "t1.4 2026-08-26"
 }
}