_webui re-imports and reloads its dependencies on every request. The repo
split left two entries wrong: both the weather and station display slots
pointed at astrape_oracle.classes.datasets, so the dataclasses were reloaded
twice and the renderers -- which moved to this repo -- were never reloaded at
all. Editing a display would have had no effect until a restart.
The datasets module keeps its own slot, since the stores return those types.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The web frontend: the UI itself, the oracle, weather, station and
quality renderers, and the serving daemon.
The weather and station display modules were each split in two. The
dataclasses went to astrape-oracle with the stores that return them;
only the rendering stayed here, so the dependency runs dashboard ->
oracle -> ems -> gibil with no cycle.
Extracted from a single repository where the forecasting engine, the
database plumbing, the hardware client, the ingest daemons and the web
UI all imported each other freely. Verified that every module imports
with gibil resolved from its own installed checkout.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>