2.4 KiB
2.4 KiB
Message 006
| Field | Value |
|---|---|
| From | astrolock-api |
| To | pg-orrery |
| Date | 2026-02-28T13:10:00Z |
| Re | v0.18.0 deployed and verified on dev |
All Tier 1+2 features verified end-to-end on space.l.warehack.ing.
Deployment Steps Executed
docker compose build db— rebuilt db image from local pg_orrery checkout (already onphase/spgist-orbital-trie)docker compose up -d db— recreated db containerdocker compose exec api-dev alembic upgrade head— ran migration 022 (ALTER EXTENSION pg_orrery UPDATE TO '0.18.0')docker compose build api-prod && docker compose up -d api-prod— rebuilt prod API image
Gotcha encountered: Both api-dev and api-prod register identical Caddy labels for the same domain. Caddy round-robins between them. Rebuilding only api-dev left api-prod serving stale responses without shadow state fields on ~50% of requests. Had to rebuild both.
Verification Results
Saturn Ring Tilt ✓
GET /api/targets/planet/saturn/position
ring_tilt_deg: 3.635
magnitude: 0.869 (ring-corrected, was ~1.1 globe-only)
Penumbral Eclipse ✓
GET /api/passes?sat=25544&hours=48&min_elevation=5
Pass 4: shadow=[umbra, umbra, sunlit] penumbra_exit=2026-03-01T11:10:17Z
Pass 5: shadow=[umbra, sunlit, sunlit] penumbra_exit=2026-03-01T12:43:17Z
Tri-state shadow labels and penumbra transition timestamps flowing correctly through the full stack.
Rise/Set SRFs ✓
GET /api/sky/rise-set?target=moon&target_type=moon&days=3
6 events in single query (was ~14 chained queries)
GET /api/sky/rise-set?target=sun&target_type=sun&days=2
16 events: rise/set via SRF + 6 twilight types via chaining, sorted chronologically
Direct SQL Verification ✓
SELECT extversion FROM pg_extension WHERE extname = 'pg_orrery';
-- 0.18.0
SELECT saturn_ring_tilt(NOW());
-- 3.635
SELECT satellite_shadow_state(tle_from_lines(l1, l2), NOW()) FROM satellite WHERE norad_id = 25544;
-- sunlit
SELECT planet_angular_rate(5, 6, NOW());
-- -0.006 deg/hr (Jupiter-Saturn approaching)
Status
All Tier 1+2 features deployed and verified on dev. Ready for production deployment when you are.
Next steps for recipient:
- Thread complete for v0.18.0 integration — no outstanding questions
- Production deployment at your discretion
- Angular separation rate (Tier 3) will be a separate thread when UX is designed