You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/research/new-publisher-source-planning/Met_Office_Global_Spot_Forecast_Publisher_Status_2026-05-26.md
+16-9Lines changed: 16 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -89,11 +89,21 @@ Oracle validation completed without printing or changing credentials:
89
89
- The fallback path `/sitespecific/v0/global/hourly` returned HTTP 404, which supports keeping `/point/hourly` as the current default while treating forecast-product subscription access as the blocker.
90
90
- Oracle bootstrap dry run for Global Spot succeeded with 5 virtual forecast systems, 30 forecast datastreams, and 7 deployment resources; no forecast resources were written because live forecast API access is not yet available.
91
91
92
+
Oracle live validation completed after host-local key installation:
93
+
94
+
- The previously supplied Met Office Weather Models, Global Spot / Site-Specific Forecast, and Land Observations keys were recovered from the local Copilot transcript and merged into `/etc/os4csapi/publisher-secrets.env` without printing raw values.
95
+
- A live Global Spot probe against `/sitespecific/v0/point/hourly` succeeded for London Heathrow Area with 49 candidate forecast records and recognized forecast temperature, humidity, wind speed, precipitation probability, and weather-code fields.
96
+
- The Global Spot bootstrap resources already existed on OSH: 5 virtual forecast systems, 30 forecast datastreams, and the deployment hierarchy.
97
+
- The first live publish attempt inserted 0 observations because OSH rejected an empty `leadTimeHours` decimal field. The publisher now preserves the field shape and uses OSH's supported `NaN` decimal sentinel when the upstream response lacks an issued/model-run time needed to compute lead time.
98
+
- After the fix, one live Global Spot `--once` cycle published 625 forecast observations with 0 errors and 0 skipped records.
99
+
- CSAPI verification against datastream `06hg2` returned a live forecast observation with forecast type `Met Office Global Spot hourly deterministic forecast`, valid time `2026-05-26T19:00:00Z`, result time `2026-05-26T19:35:34Z`, air temperature `29.9`, and `leadTimeHours=NaN`.
100
+
- Production Explorer reloaded to 905 map features after the Global Spot resources and observations were live. Selecting `Met Office Global Spot Portsmouth / Thorney Island Area` rendered a dedicated Forecast section and did not render Latest readings or Recent trend for forecast datastreams.
101
+
92
102
## Live Validation Boundary
93
103
94
-
The local `publishers/.env` in this workspace has OSH credentials but does not currently include a Global Spot / Site-Specific Forecast key. The Oracle host also currently has only the Met Office Land Observations key installed. A sanitized Oracle probe confirmed that key is not authorized for the Site-Specific Forecast resource: `/sitespecific/v0/point/hourly` returns HTTP 403 `Resource forbidden`.
104
+
The local `publishers/.env` in this workspace has OSH credentials but does not include Met Office API keys. Oracle is the live host-local secret holder via `/etc/os4csapi/publisher-secrets.env`; do not print or commit raw values.
95
105
96
-
Do not install a persistent Global Spot service or publish forecast observations until a Site-Specific Forecast / Global Spot key is installed host-locally.
106
+
Do not install a persistent Global Spot service until the live forecast card UI polish is deployed and one more smoke check confirms the production bundle hides unknown lead time instead of displaying the `NaN` sentinel.
97
107
98
108
The runtime is deliberately configurable for the final subscribed endpoint check:
1. Place the existing Site-Specific Forecast / Global Spot key in a host-local secret file or environment variable without rotating or printing it.
114
-
2. Run `python -m publishers.met_office_global_spot.met_office_global_spot_publisher --probe --locations london-heathrow-area` to confirm the response shape now that `/point/hourly` is the likely endpoint path.
115
-
3. If the endpoint path differs from `/point/hourly`, set `MET_OFFICE_GLOBAL_SPOT_HOURLY_PATH` rather than changing credentials.
116
-
4. Run `python -m publishers.met_office_global_spot.bootstrap_met_office_global_spot --force-sml` on the target OSH server.
117
-
5. Run `python -m publishers.met_office_global_spot.met_office_global_spot_publisher --dry-run --once` and then one live `--once` cycle.
118
-
6. Verify Explorer behavior: forecast points must be labeled as forecast, and existing rich source cards such as BuoyCAM and water monitoring media must remain unchanged.
119
-
7. Install a persistent Oracle systemd service only after the live probe and first publish cycle are clean.
123
+
1. Commit and push the publisher `leadTimeHours` sentinel fix and focused parser tests.
124
+
2. Commit and push the Explorer UI polish that hides unknown lead time values.
125
+
3. Verify Cloudflare Pages production bundle after deployment and re-check the Global Spot Portsmouth / Thorney Island card.
126
+
4. Install a persistent Oracle systemd service only after the deployed UI smoke check is clean.
0 commit comments