# tools/ — manual & one-shot operator scripts These are **not** part of the running stack (no service executes them). They are manual utilities, mostly one-shot tasks that have already been run. Kept here for reference and the occasional re-run, out of the production root. They import `ts_shared_rev` (DB pool, API client, clean helpers) from the repo root, so run them **as modules from the image root** (`/app`), not as bare files: ```bash WK=$(docker ps --filter name=ingest_worker --format "{{.Names}}" | head -1) docker exec -it "$WK" python -m tools. [args] ``` | Script | What it does | One-shot? | |---|---|---| | `sync_driver_audit.py` | API↔DB driver/IMEI gap report + full device upsert across all sub-accounts | re-runnable audit | | `audit_device_reconciliation.py` | Read-only: reconcile the vehicle CSV (`data/`) against `tracksolid.devices`; reports gaps + NULL fields | re-runnable audit | | `import_drivers_csv.py` | Populate device names/plates from CSV (`--apply` to commit). The registry is already populated — kept for future bulk re-imports | one-shot (done) | | `backfill_trips_enrichment.py` | One-shot backfill of historical `tracksolid.trips` (route_geom/addresses/plate) for rows predating migration 09 (`--apply` to commit) | one-shot (done) | > INC/CRQ ticket ingestion (`import_tickets.py`) moved to its own repo — > `repo.rahamafresh.com/kianiadee/fleettickets.git`. `data/` holds the source CSVs the import/audit scripts read (default: `data/20260427_FSG_Vehicles_mitieng.csv`).