Skip to content

r202639: measure the reference captures with the adapter fidelity harness - #210

Merged
cayossarian merged 1 commit into
prerelease/3.8from
test/r202639-capture-cells
Oct 9, 2026
Merged

cayossarian merged 1 commit into
prerelease/3.8from
test/r202639-capture-cells

Conversation

@cayossarian

Copy link
Copy Markdown
Member

r202639: measure the reference captures with the adapter fidelity harness.

Each vendored reference capture becomes a fidelity cell, using the harness and rules the MAIN 32 cells use: no property is silently dropped, no value is fabricated or breaks its documented transform, and every valued drop is a reviewed row. What the cells pin is keyed by row, never by capture.

  • A circuit-typed device with no breaker space has its own role (meter-outside-panel), read import-positive with imported energy as consumed, as circuits.build_circuit reads a meter outside the panel.
  • The EVSE charge-current pair gets transforms in both spellings charge_limit.resolve_charge_limit reads.
  • With no MID, dominant_power_source GRID is a derivation citing the elimination in panel.resolve_dominant_power_source.
  • info/tags, info/locations, info/dedicated, connection/backed-up, the upstream lugs' service-rating and the downstream lugs' feeds-role are pinned as dropped by the identity and topology node rule. The site properties are pinned as dropped.

Follow-up: four str fields hold "UNKNOWN" where the panel publishes nothing for them, recorded in the cells as explicit exceptions (a pre-existing str sentinel; the type question is deferred past 3.8.0b1):

  • circuit.relay_state, circuit.relay_requester and circuit.priority on a device that publishes no relay or shed priority;
  • panel.main_relay_state while status/relay is unpublished.

Checks:

  • pytest tests -q: 1848 passed, 7 skipped, 9 xfailed (49 new; tests/adapter_fidelity 79 passed, about two minutes).
  • pre-commit run --all-files: all hooks pass.

…y harness

Each vendored reference capture is a fidelity cell, measured with the
same harness as the MAIN 32 captures: no property is silently dropped,
no value is fabricated or breaks its documented transform, and every
valued drop is a reviewed row. The cells pin by row, never by capture.

- A circuit-typed device with no breaker space has its own role, read
  import-positive with imported energy as consumed, as build_circuit
  reads a meter outside the panel; the circuit row's negation is not
  reused.
- The EVSE charge-current pair has transforms in both spellings
  resolve_charge_limit reads.
- With no MID, dominant_power_source GRID is a derivation citing the
  elimination in resolve_dominant_power_source.
- The "UNKNOWN" str fields of a device that publishes no relay or shed
  priority, and the panel's relay state while status/relay is
  unpublished, are recorded as explicit exceptions: a pre-existing str
  sentinel, with the type question deferred past 3.8.0b1.
- info/tags, info/locations, info/dedicated, connection/backed-up, the
  upstream lugs' service rating and the downstream lugs' feeds role are
  pinned as dropped by the identity and topology node rule.

Part of the spanos3/r202639/03 batch 2 work.
@cayossarian
cayossarian merged commit 4240d84 into prerelease/3.8 Oct 9, 2026
5 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