pg_orrery/docs/agent-threads/v018-astrolock/006-astrolock-deployment-verified.md

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

  1. docker compose build db — rebuilt db image from local pg_orrery checkout (already on phase/spgist-orbital-trie)
  2. docker compose up -d db — recreated db container
  3. docker compose exec api-dev alembic upgrade head — ran migration 022 (ALTER EXTENSION pg_orrery UPDATE TO '0.18.0')
  4. 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