# CVU boundary-censoring reconciliation fix ## Problem The previous cross-representation CVU patch reduced the mixed result from 22 to 12 vehicle-usage intervals, but one duplicate pair remained. The unmatched period was represented as: - file session: `2026-03-31T00:00:00Z` to `2026-04-02T12:27:15Z`, missing begin odometer; - database: `2026-04-01T00:00:00Z` to `2026-04-02T12:27:15Z`, complete database vehicle identity. The file interval starts at the file-session load boundary and has no observed begin odometer. The database representation starts at the requested boundary. Before final projection clipping, their starts differ by 24 hours, so the prior 60-second boundary rule rejected them. After clipping, both appeared as the same interval in the REST response. ## Fix Cross-representation CVU matching now accepts a one-sided boundary-censored match when: - driver and vehicle identity are compatible; - the intervals overlap; - the opposite boundary matches within 60 seconds; and - the non-aligned boundary has a missing corresponding odometer in at least one representation. Known, conflicting boundaries are still kept separate. Fusion keeps the database interval identity and vehicle/VIN data, but preserves the wider temporal boundary. It does not copy an odometer value onto an earlier/later boundary where that value was not actually observed. New decision types: - `LEFT_BOUNDARY_CENSORED` - `RIGHT_BOUNDARY_CENSORED` ## Regression coverage Added tests for: - the supplied March 31 / April 1 left-boundary case; - preserving a `null` begin odometer on the widened interval; - retaining database identity and file-session provenance; - not reconciling intervals whose differing starts are both explicitly observed.