00 — Overview

R11 reference application. Built from the v0.14 Work & Supply reference pack, reusing the cpm_assets pattern (Asset → Usage → Component life → Forecast). The demo data is fictional.

What Asset Lifecycle is

Lifecycle owns usage and life: meter readings and their corrections, how much of a component's life is used, and when it will be due. Which physical unit it is and where it is fitted belongs to the Asset Register; the work done on it to Work Management.

Lifecycle owns all usage. Anyone who needs a unit's reading at a date asks lifecycle.usage_at: the most recent accepted reading at or before that date, on the corrected scale. There is no interpolation and no estimate (a quiet meter does not prove the unit was working).

The models

Usage (4) - UsageMetricType — what is measured: SMU hours, km, run hours, calendar days; a display unit and factor (km shown as miles). Other applications pick one with lifecycle.search_usage_metric_types. - UsageMeter — one meter of a unit and metric (source: telematics, ECU, FMS, gateway, manual), with its current corrected value and its daily rate (the last 30 days). - UsageReading — every reading, raw and corrected, with its quality. Never overwritten. - MeterCorrection — a reset, rollover, ECU replacement, calibration or manual adjustment (a technician's reading that disagrees with the history), with the offset applied from its date forward, the reason and who entered it. No approval step.

Life (7) - LifeModel — how long a kind of component lasts, found from the unit's maintenance group (walking up to the parent groups; the most specific wins) and the component's SMCS. - LifeModelLimit — one limit per metric (hours, km, fuel, calendar days) with warning and critical remaining; the first one reached governs. - LifeModelRebuildStep — the life factor by rebuild number (new 1.0, first rebuild 0.9 …). - ComponentLifeCycle — a component's life since its last rebuild; a reman exchange unit arrives part-used (starting_life_fraction). - AssetLifeAssignment — a span: one fitment of the component inside a cycle, on the meter of the unit it was fitted to. The life model chosen is recorded on it. - LifeSpanUsage — the span's exposure per metric (start, end, consumed), stored when readings, corrections or fittings arrive and revised when a late reading or a correction reaches it. - LifeForecast / LifeForecastLimit — the headline per component, and the figures per limit (consumed, remaining, predicted date, status) with the governing limit marked.

Deratings (1) — DeratingEvent: a limit placed on an asset (load, speed, monitoring).

The demo data

Life model TX-793 (793F haul trucks + SMCS 3030): 20 000 h (watch below 2 000, due below 500) and 3 650 calendar days; rebuild factors 1.0 / 0.9 / 0.85.

Meter / component What
TRUCK-17 SMU stopped at 33 250 h when it broke down (22 Sep)
TRUCK-09 SMU ECU replaced in March 2025 — raw ~11 100, corrected ~50 000 (the correction explains it)
TX-793-00412 21 400 → 33 250 h on TRUCK-17: 11 850 h at removal (forecast ended)
TX-793-00388 on TRUCK-09 since 41 210 h — ~8 800 h, normal
TX-793-00521 a reman unit (came with 9 500 h, 47.5 % of the limit) on TRUCK-21 — ~17 950 of 20 000 h; about two more days of hauling puts it in watch