Repository navigation
Recover saved load learning after clock-jump labels - #1656
Merged
Merged
Conversation
Signed-off-by: Fredrik Ahlgren <fredrik@sourceful-labs.com>
frahlg
force-pushed
the
fix/load-learning-recovery-20261016
branch
from
October 16, 2026 04:51
08844b0 to
4142cf7
Compare
frahlg
marked this pull request as ready for review
October 16, 2026 04:51
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.
Problem and result
The old wall-clock collection bug could leave bad quarter-hour labels in saved household load learning. Fixing new collection did not remove that learned state, so it could survive an update or restart and keep producing unusable forecasts.
Recover only when the retained archive contains two adjacent complete household intervals with the same capture time, both more than two minutes late. Bind older worker cohorts to the current physical learning identity through one archived issue. Reuse the durable load-only learning cutoff, so a crash resumes the same reset and later restarts keep new healthy learning.
Scope and safety
Keep solar learning, saved charging goals and raw evidence. Start the affected load model from its existing configured prior; do not cap household power at the grid fuse or reset healthy models on each boot. A clock that starts before the archive waits for the next archived capture time and checks again after time sync. Reads retain existing row, byte, decompression and time bounds.
Advance past an explicitly rejected observation only after its raw archive save succeeds. Known observation-limit rejections cannot block later valid training. Model/state/configuration errors, storage failures, transport failures and cancellation still retry with visible pipeline failure status.
Verification
make verifypasses without overlays on4142cf72cfb7fc63a77dc809056eaca05c420953, rebased on mastercc1ee6d73e7494598663e3610c3828cb5648a5e0. This includes the final native worker gate, all Go suites, vet, build and release/contract boundaries.Checklist