88cc98f3cc
Migration 0001_positions.sql now runs CREATE EXTENSION IF NOT EXISTS postgis alongside timescaledb. PostGIS isn't used in Phase 1 but enabling it now means Phase 2's geofence engine doesn't need a separate migration step. The deploy stack uses the timescale/timescaledb-ha:*-all image which ships both extensions. Integration test (pipeline.integration.test.ts) updated to use the same timescale/timescaledb-ha:pg16.6-ts2.17.2-all image as the deploy stack. Stock POSTGRES_USER/PASSWORD/DB env vars retained — if recent ha-image revisions don't accept them, the test container will fail clearly on first run with Docker, and we'll switch to the right env-var scheme.