# Weatherfeeder Outlook V2 Support ## Status Implemented in current behavior docs and code. The authoritative implemented contracts now live in: - [`docs/api.md`](../api.md) for public outlook routes, query parameters, and response fields; - [`docs/integrations/weatherfeeder-postgres.md`](../integrations/weatherfeeder-postgres.md) for weatherfeeder-owned table assumptions; - [`docs/internal/postgres-repository.md`](../internal/postgres-repository.md), [`docs/internal/http-adapter.md`](../internal/http-adapter.md), and [`docs/internal/presenters.md`](../internal/presenters.md) for internal behavior. `docs/roadmap/implementation.md` remains as the implementation checklist and verification record for this compatibility update. ## Delivered Behavior - Existing public routes remain available: - `GET /outlooks/convective` - `GET /outlooks/convective/active` - `GET /outlooks/convective/location` - The Postgres repository reads weatherfeeder outlook v2 tables: `outlook_runs`, `outlooks`, and `outlook_discussions`. - Outlook polygons no longer include prose fields. - Run-level `discussions` are loaded, copied, presented, and timezone-converted. - Application filtering trims `discussions` to days represented by retained outlooks. - Missing latest data still returns `data: null`. - Filtered no-match responses return a run object with `outlooks: []` and `discussions: []`. - `weatherapi` remains read-only and does not create, migrate, or repair weatherfeeder tables.