Skip to content

Peers at ebus-panel-sim 0.8.0 and panelbench 2.4.0; ask the producers before CI does - #171

Merged
cayossarian merged 5 commits into
mainfrom
chore/peers-at-emitter-0.8.0
Aug 27, 2026
Merged

Peers at ebus-panel-sim 0.8.0 and panelbench 2.4.0; ask the producers before CI does#171
cayossarian merged 5 commits into
mainfrom
chore/peers-at-emitter-0.8.0

Conversation

@cayossarian

Copy link
Copy Markdown
Member

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

  • Peers re-pinned to ebus-panel-sim v0.8.0 and panelbench 2.4.0; panelbench goldens re-vendored byte for byte; the reference tree re-captured. The manifest mirrors the emitter's 0.8.0 example, which commissions a sixth circuit never-backup — so the priority lock schema-1 1.1.1 reads is now a case a conforming producer emits, not one a test builds by editing a declaration. The capture script forwards never-backup the 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 in peer-drift.yml with --strict, replacing the inline Python there. Skipped in ci.yml so a pull request never fails for a producer's push.
  • schema-1 1.1.2 (spec_lock.json ships 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-drift skips the hook as CI does.

…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.
@cayossarian
cayossarian merged commit fbda391 into main Aug 27, 2026
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant