/plant and /plant/map import Fuel Logs CSVs by exact QR and show each
vehicle's current and previous distinct site with the dates they were
observed.
- plant_site_observations is durable, QR-keyed history. It is never wiped
and a previous site is never manufactured.
- An older or repeated snapshot must not move a vehicle backwards; untimed
conflicting sites on one day are held for review.
- A manual site change shares the same history and the same lock.
- Current/previous metadata and the sticker QR are captured BEFORE the asset
rows are deleted in the seed, so a re-seed cannot wipe them. Explicit
empty values are preserved too: clearing a site is a deliberate manual
observation, not permission to restore an old sheet value.
- Imports change location metadata only. They never touch income, cost or
fuel measurements.
- A new named site is created only for a matched Plant vehicle. Missing
coordinates mean "awaiting a pin", never a headquarters fallback.
Owner-confirmed 2026-11-04: TLB06's QR is 1089, not the old meter reading
4704. lib/plant-site-policy.json holds the confirmed aliases (Equestria
Bastion Job -> Equestria 215, Cosmo City / Lion Park -> Cosmo City); no
other identity is guessed.
- Job cards and Fuel: vehicle search above a compact camera
- Fuel: optional "who is fuelling" employee search, recorded in Booked by
- Remove the codeless "Diesel Truck" / "Water truck" register rows
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
WIP carried over from the working tree, committed separately so it does not
sit inside the invoice work.
- inline Edit cells for code / name / type and an active toggle
- GET /api/assets/:id/impact returns the cascade counts so the client can
confirm before a delete
- DELETE /api/assets/:id hard delete; PocketBase cascade clears the dependent
income / running / cost-line rows
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>