Peers at ebus-panel-sim 0.8.0 and panelbench 2.4.0; ask the producers before CI does - #171
Merged
Merged
Conversation
…the capture carries a never-backup circuit Re-pins the emitter to v0.8.0 and panelbench to 2.4.0, re-captures the reference tree against them, and adds the sixth circuit the emitter's own forty-tab example now commissions never-backup. The priority lock this parser reads is therefore a case a conforming producer emits rather than one a test builds by editing a declaration; the refusal tests, their premises and the counts and figures that moved with the new load all follow the capture. spec_lock.json ships inside the schema-1 wheel, so the pin moving is a release: 1.1.2.
… it does in the emitter
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.
Why
The scheduled peer-drift job went red on 2026-08-27: ebus-panel-sim released 0.8.0 and panelbench 2.4.0 regenerated its goldens against it, while this repository still pinned 0.7.0. Nobody knew until the next morning.
What
never-backupthe way the emitter's own runner does.scripts/peer_drift.py— one implementation of "has a producer moved past its pin?", asked of the producers themselves (PyPI for the emitter's release, GitHub compare for panelbench's vendored paths since the pin, the spec head as context) with no checkouts. Runs as a pre-commit hook on every local commit (non-strict: offline passes, drift blocks) and inpeer-drift.ymlwith--strict, replacing the inline Python there. Skipped inci.ymlso a pull request never fails for a producer's push.spec_lock.jsonships in the wheel). Core and schema-0 unchanged.Verification
Full suite with all three peer checkouts under
CI=1: 1209 passed. Live drift run: all producers current.SKIP=peer-driftskips the hook as CI does.