feat(web): simple forecast status with details on demand - #1278
Merged
Merged
Conversation
This was referenced Sep 17, 2026
frahlg
marked this pull request as ready for review
September 17, 2026 07:24
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The ML twins panel mixed Energyplan learning state with older model statistics and quality bars. More now shows two simple forecast cards with a status, elapsed learning days when a recorded start exists, and a Details button. The cards are available in simple mode, above Advanced.
Details contains model state, training dates, the household profile, explained local-model statistics and relearning. The view removes the training-quality percentage bars. Disclosure state and keyboard focus survive refreshes; polling runs only while More and the browser tab are visible.
Healthy requires
learning.health: healthy, a ready model and a valid recent training timestamp. Degraded health takes priority. Missing health fields produce a neutral Ready state; a missing start date produces no day count. Paired backend: #1283 supplieslearning.healthandlearning.health_reason, including storage failures; it currently depends on #1282. This UI handles older servers without those fields. Health reports operation, not measured forecast accuracy.Validation:
PATH=/opt/homebrew/bin:$PATH make verifypasses with the installed modern Bash.Fredrik reviewed the rendered preview and approved merging on 2026-09-17. Local preview: http://127.0.0.1:8196/#more (sample data). No box deployment.
Related: #1177 touches polling in twins.js; its twins.js version is identical to master at this PR's base. This change retains hidden-tab suspension and further limits polling to More.