- Auto-save photo_path to matched assets when photo uploaded via /api/ocr
- Auto-extract and save serial_number from OCR text to blank-serial matched assets
- Add _extract_serial_from_text helper for serial number pattern matching
- Create scripts/backfill_vision_photos.py for batch-processing unlinked photos
- Add docs/OCR_PIPELINE.md documenting the full OCR/vision pipeline
- Fix test DB schema: add connect_id, equipment_id, barcode, customer_name
- Fix OCR test assertions to match actual endpoint behavior
- Cleared all MSFS-derived (address-geocoded) GPS
- Only real field GPS (28 assets from photo EXIF) remains
- Documented backup locations and clean-slate process
Refs #46
- Retake full set of p9a_admin_*.png screenshots (login, dashboard, settings, users, customers, activity, export, import, sidebar)
- Each screenshot inspected for layout errors
- Proper 1280px desktop viewport for all pages, clean empty states
- Save to docs/images directory
- Replace p9a_admin_sync.png with p9a_admin_import.png (new Import page)
- Add p9a_admin_sidebar.png (mobile sidebar with hamburger open)
- Update ADMIN_GUIDE.md with mobile navigation section
- Add screenshot reference in Import section
- Replace Cantaloupe Sync section with Excel Import section
- Update troubleshooting tips for import (not sync)
- Mention hamburger menu in mobile description