3.4 KiB
3.4 KiB
Terra-View Roadmap
Living document — captures known deferred work, in-flight initiatives, and longer-term ideas.
Bump items up/down or strike them through as priorities shift. Source of truth for "what's next"
should be this file plus the ## Current Development Focus block in CLAUDE.md.
Last updated: 2026-06-05 (Terra-View v0.13.3)
In Flight
Work that's started or has obvious next steps in the code.
- SFM Integration Phase 2 — device control — expose
/device/*(start, stop, erase, push-config) through the Terra-View proxy. Blocked on SFM growing an auth layer; placeholder TODOs already inbackend/services/device_controller.py(lines 73, 109, 207, 282, 582). - Calibration sync from SFM events — done in v0.13.x. Daily 03:15 job + Settings "Sync now" button. Future: surface "last sync" timestamp on unit detail; per-unit "sync this one" action.
- Synology NAS deployment — doc lives at
docs/SYNOLOGY_DEPLOYMENT.md. Need to actually deploy- write up what tripped us up vs. the doc's expectations.
Near-Term
Concrete things scoped but not started.
- Migrate GPS coord parse in
photos.py— currently writes to deadRosterUnit.coordinatesfield. Should write to the activeMonitoringLocationinstead (matches the location-as-truth refactor done elsewhere). Helper:backend/services/unit_location.py. - Phase 3 — drag-to-resize deployment bars on the fleet-wide deployment-history Gantt
(
/tools/deployment-history). Phase 2 (the calendar + Gantt tabs) shipped in v0.12.0. - Phase 5c — swap-detection daily job — placeholder card already in
templates/tools.html:162. Auto-detects unit swaps in the field (BE12345 → BE67890 at the same project+location) from operator-typed metadata. Pairs with a notification inbox. - Geocoding for address strings — TODO in
templates/dashboard.html:913. Lets locations without explicit coordinates still appear on maps. - ModemManager backend —
backend/routers/modem_dashboard.py:279has a TODO for querying a real modem backend. Currently the modem dashboard is mostly read-only metadata.
Medium-Term
Bigger features, sketched but not designed in detail.
- Alerting — email/SMS for missing units, calibration-expiring-soon, sync failures.
README's "Future Enhancements" has had this for a while; would pair well with the existing
UserPreferencesthresholds. - Multi-user auth — currently single-tenant, no login. Probably the prerequisite for any cloud-hosted multi-customer deployment.
- Notification inbox — central place for swap-detection alerts, sync errors, calibration warnings, FT-flag review queue, etc.
- Audit log UI —
UnitHistoryalready records everything; expose a filterable view.
Long-Term / Wishlist
Speculative. Promote up the list once there's a concrete need.
- PostgreSQL backend for larger deployments (SQLite is fine for now)
- Advanced filtering / saved searches on roster + events
- Export roster in additional formats (XLSX, GeoJSON)
- Public-facing project status pages (read-only, share-link gated)
- SLM module parity with seismographs — modal-based event/measurement detail similar to SFM modal
- Weather station / accelerometer / GPS tracker modules (new device-type modules following the
SLMM pattern — see
CLAUDE.md→ "Adding a New Device Type Module")
Done / Reference
For shipped items, see CHANGELOG.md. For architecture decisions, see CLAUDE.md.