Skip to content

Bronze quality scale: runtime-data, test-before-setup, quality_scale.yaml - #2

Merged
sbuchweitz merged 1 commit into
mainfrom
feat/bronze-quality-scale
Jun 19, 2026
Merged

sbuchweitz merged 1 commit into
mainfrom
feat/bronze-quality-scale

Conversation

@sbuchweitz

Copy link
Copy Markdown
Owner

Starts the Bronze quality-scale work for the infrared_climate integration (per #1415 it's the path to core).

Code rules implemented

  • runtime-data — controller is created in __init__.async_setup_entry and stored on entry.runtime_data (typed InfraredClimateConfigEntry); climate.py consumes it.
  • test-before-setup — async_setup_entry raises ConfigEntryNotReady if the selected IR emitter entity isn't available yet (HA retries).
  • quality_scale.yaml — documents every Bronze rule: done / exempt (with reasons) / todo.
  • strings.json already complete (steps + error + abort).

Package still imports without Home Assistant (the controller stays unit-testable), HA-only bits are lazy-imported.

Verification

  • pytest: 75409 passed, 0 failed.
  • Live on HA 2026.6.3: all 65 protocols PASS under infrared_climate with runtime-data + test-before-setup.

Remaining Bronze (tracked in quality_scale.yaml + ROADMAP)

config-flow test coverage (pytest-homeassistant-custom-component) · brands submission · integration docs · publish pyhvac-ir to PyPI (dependency-transparency).

- runtime-data: controller created in __init__.async_setup_entry, stored on
  entry.runtime_data (typed InfraredClimateConfigEntry); climate.py reads it.
- test-before-setup: raise ConfigEntryNotReady if the selected IR emitter isn't available.
- add quality_scale.yaml documenting Bronze rule status (done/exempt/todo + reasons).
- strings.json already complete (steps/errors/abort).

Package still imports HA-free (controller unit-testable without HA). 75409 unit tests pass;
all 65 protocols re-verified live on HA 2026.6.3 under infrared_climate.

Remaining Bronze (follow-ups): config-flow test coverage, brands, docs, PyPI publish.
@sbuchweitz
sbuchweitz merged commit 5bb805b into main Jun 19, 2026
1 check passed
@sbuchweitz
sbuchweitz deleted the feat/bronze-quality-scale branch June 19, 2026 19:44
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