From 7a578b70dc359fdb45b38e698713350bb16b1c1b Mon Sep 17 00:00:00 2001 From: davidabuch Date: Mon, 21 Sep 2026 19:22:57 -0700 Subject: [PATCH 01/12] Prepare v0.11.50 recovery release metadata --- custom_components/poolos/const.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/poolos/const.py b/custom_components/poolos/const.py index 8506ec7..cc84489 100644 --- a/custom_components/poolos/const.py +++ b/custom_components/poolos/const.py @@ -6,7 +6,7 @@ DOMAIN = "poolos" NAME = "PoolOS" -INTEGRATION_VERSION = "0.11.48" +INTEGRATION_VERSION = "0.11.50" CONFIG_ENTRY_VERSION = 2 CONFIG_ENTRY_MINOR_VERSION = 1 From 9afb1de246a6b3c4bcf7aecd57a56ec393693235 Mon Sep 17 00:00:00 2001 From: davidabuch Date: Mon, 21 Sep 2026 19:23:00 -0700 Subject: [PATCH 02/12] Pin PoolOS integration to v0.11.50 --- custom_components/poolos/manifest.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/custom_components/poolos/manifest.json b/custom_components/poolos/manifest.json index 69a1a9a..226da6f 100644 --- a/custom_components/poolos/manifest.json +++ b/custom_components/poolos/manifest.json @@ -10,9 +10,9 @@ "iot_class": "local_push", "issue_tracker": "https://github.com/davidabuch/poolos/issues", "requirements": [ - "poolos@git+https://github.com/davidabuch/poolos.git@v0.11.48", + "poolos@git+https://github.com/davidabuch/poolos.git@v0.11.50", "pyintellicenter==0.1.20" ], "single_config_entry": true, - "version": "0.11.48" + "version": "0.11.50" } From 9943dee72ce1ce291709c0a72bfec0011b0962ce Mon Sep 17 00:00:00 2001 From: davidabuch Date: Mon, 21 Sep 2026 19:24:38 -0700 Subject: [PATCH 03/12] Update v0.11.50 release contract expectations --- tests/test_home_assistant_behavioral_inference.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_home_assistant_behavioral_inference.py b/tests/test_home_assistant_behavioral_inference.py index bad6525..78aa33d 100644 --- a/tests/test_home_assistant_behavioral_inference.py +++ b/tests/test_home_assistant_behavioral_inference.py @@ -18,9 +18,9 @@ def test_113c_core_and_adr_exist() -> None: def test_manifest_advances_to_080_and_matching_core_tag() -> None: manifest = json.loads((COMPONENT / "manifest.json").read_text(encoding="utf-8")) - assert manifest["version"] == "0.11.48" + assert manifest["version"] == "0.11.50" assert manifest["requirements"] == [ - "poolos@git+https://github.com/davidabuch/poolos.git@v0.11.48", + "poolos@git+https://github.com/davidabuch/poolos.git@v0.11.50", "pyintellicenter==0.1.20", ] assert manifest["iot_class"] == "local_push" From bffd0c92e4763db155e77c5974eaceb18f92b397 Mon Sep 17 00:00:00 2001 From: davidabuch Date: Mon, 21 Sep 2026 19:24:44 -0700 Subject: [PATCH 04/12] Update v0.11.50 release contract expectations --- tests/test_home_assistant_control_center.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_home_assistant_control_center.py b/tests/test_home_assistant_control_center.py index 81fed4c..fb4d77b 100644 --- a/tests/test_home_assistant_control_center.py +++ b/tests/test_home_assistant_control_center.py @@ -58,9 +58,9 @@ def test_integration_forwards_only_control_center_platforms() -> None: def test_manifest_advances_control_center_version() -> None: manifest = json.loads((COMPONENT / "manifest.json").read_text(encoding="utf-8")) - assert manifest["version"] == "0.11.48" + assert manifest["version"] == "0.11.50" assert manifest["requirements"] == [ - "poolos@git+https://github.com/davidabuch/poolos.git@v0.11.48", + "poolos@git+https://github.com/davidabuch/poolos.git@v0.11.50", "pyintellicenter==0.1.20", ] From fa483a028c730e402eee34fbd21ea2fe7a83aa79 Mon Sep 17 00:00:00 2001 From: davidabuch Date: Mon, 21 Sep 2026 19:24:50 -0700 Subject: [PATCH 05/12] Update v0.11.50 release contract expectations --- tests/test_home_assistant_daily_retrospective.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_home_assistant_daily_retrospective.py b/tests/test_home_assistant_daily_retrospective.py index 76c20e1..7240b01 100644 --- a/tests/test_home_assistant_daily_retrospective.py +++ b/tests/test_home_assistant_daily_retrospective.py @@ -17,9 +17,9 @@ def test_113d_core_tests_and_adr_exist() -> None: def test_manifest_advances_to_090_and_matching_core_tag() -> None: manifest = json.loads((COMPONENT / "manifest.json").read_text(encoding="utf-8")) - assert manifest["version"] == "0.11.48" + assert manifest["version"] == "0.11.50" assert manifest["requirements"] == [ - "poolos@git+https://github.com/davidabuch/poolos.git@v0.11.48", + "poolos@git+https://github.com/davidabuch/poolos.git@v0.11.50", "pyintellicenter==0.1.20", ] assert manifest["iot_class"] == "local_push" From 61e8ec18e4d7967a2fac3056edf96cb118193693 Mon Sep 17 00:00:00 2001 From: davidabuch Date: Mon, 21 Sep 2026 19:24:53 -0700 Subject: [PATCH 06/12] Update v0.11.50 release contract expectations --- tests/test_home_assistant_hacs_commissioning_readiness.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_home_assistant_hacs_commissioning_readiness.py b/tests/test_home_assistant_hacs_commissioning_readiness.py index baf236f..b039019 100644 --- a/tests/test_home_assistant_hacs_commissioning_readiness.py +++ b/tests/test_home_assistant_hacs_commissioning_readiness.py @@ -8,8 +8,8 @@ ROOT = Path(__file__).resolve().parents[1] COMPONENT = ROOT / "custom_components" / "poolos" -EXPECTED_VERSION = "0.11.48" -EXPECTED_CORE_REQUIREMENT = "poolos@git+https://github.com/davidabuch/poolos.git@v0.11.48" +EXPECTED_VERSION = "0.11.50" +EXPECTED_CORE_REQUIREMENT = "poolos@git+https://github.com/davidabuch/poolos.git@v0.11.50" EXPECTED_PROTOCOL_REQUIREMENT = "pyintellicenter==0.1.20" From b13742e4251c0397670553e4a9c5c5d2cf3b863d Mon Sep 17 00:00:00 2001 From: davidabuch Date: Mon, 21 Sep 2026 19:24:57 -0700 Subject: [PATCH 07/12] Update v0.11.50 release contract expectations --- tests/test_home_assistant_high_fidelity_observation.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_home_assistant_high_fidelity_observation.py b/tests/test_home_assistant_high_fidelity_observation.py index 902d037..c346149 100644 --- a/tests/test_home_assistant_high_fidelity_observation.py +++ b/tests/test_home_assistant_high_fidelity_observation.py @@ -12,9 +12,9 @@ def test_114a_version_and_adr() -> None: manifest = json.loads((COMPONENT / "manifest.json").read_text(encoding="utf-8")) - assert manifest["version"] == "0.11.48" + assert manifest["version"] == "0.11.50" assert manifest["requirements"] == [ - "poolos@git+https://github.com/davidabuch/poolos.git@v0.11.48", + "poolos@git+https://github.com/davidabuch/poolos.git@v0.11.50", "pyintellicenter==0.1.20", ] assert (ROOT / "docs" / "adr" / "ADR-087-high-fidelity-event-driven-observation.md").is_file() From 7da4920b83a4ebfde9bf3a22690e1c9c455d79ee Mon Sep 17 00:00:00 2001 From: davidabuch Date: Mon, 21 Sep 2026 19:25:01 -0700 Subject: [PATCH 08/12] Update v0.11.50 release contract expectations --- tests/test_home_assistant_integration_skeleton.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_home_assistant_integration_skeleton.py b/tests/test_home_assistant_integration_skeleton.py index 64ebc11..d4a4c85 100644 --- a/tests/test_home_assistant_integration_skeleton.py +++ b/tests/test_home_assistant_integration_skeleton.py @@ -64,10 +64,10 @@ def test_manifest_declares_safe_single_entry_config_flow() -> None: assert manifest["config_flow"] is True assert manifest["single_config_entry"] is True assert manifest["requirements"] == [ - "poolos@git+https://github.com/davidabuch/poolos.git@v0.11.48", + "poolos@git+https://github.com/davidabuch/poolos.git@v0.11.50", "pyintellicenter==0.1.20", ] - assert manifest["version"] == "0.11.48" + assert manifest["version"] == "0.11.50" def test_custom_integration_uses_runtime_english_translation() -> None: From 02b089f0cc3a98abf7a074f9deb9a51e5183e71e Mon Sep 17 00:00:00 2001 From: davidabuch Date: Mon, 21 Sep 2026 19:25:03 -0700 Subject: [PATCH 09/12] Update v0.11.50 release contract expectations --- tests/test_home_assistant_local_commissioning_package.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_home_assistant_local_commissioning_package.py b/tests/test_home_assistant_local_commissioning_package.py index 2225723..7ff2a23 100644 --- a/tests/test_home_assistant_local_commissioning_package.py +++ b/tests/test_home_assistant_local_commissioning_package.py @@ -23,7 +23,7 @@ def test_local_vendor_bootstrap_runs_before_coordinator_import() -> None: def test_source_manifest_remains_release_pinned_for_future_distribution() -> None: manifest = json.loads((COMPONENT / "manifest.json").read_text(encoding="utf-8")) assert manifest["requirements"] == [ - "poolos@git+https://github.com/davidabuch/poolos.git@v0.11.48", + "poolos@git+https://github.com/davidabuch/poolos.git@v0.11.50", "pyintellicenter==0.1.20", ] @@ -46,7 +46,7 @@ def test_local_builder_produces_self_contained_custom_component(tmp_path: Path) assert "custom_components/poolos/LOCAL_COMMISSIONING.txt" in names manifest = json.loads(archive.read("custom_components/poolos/manifest.json")) assert manifest["requirements"] == ["pyintellicenter==0.1.20"] - assert manifest["version"] == "0.11.48" + assert manifest["version"] == "0.11.50" assert not any("__pycache__" in name for name in names) assert not any(name.endswith((".pyc", ".pyo", ".DS_Store")) for name in names) assert not any("/.git/" in f"/{name}" or "/.venv/" in f"/{name}" for name in names) From 586cae2eb85787af3dce35de3f0e8f0f2855c0e6 Mon Sep 17 00:00:00 2001 From: davidabuch Date: Mon, 21 Sep 2026 19:25:06 -0700 Subject: [PATCH 10/12] Update v0.11.50 release contract expectations --- tests/test_home_assistant_observation_bridge_commissioning.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_home_assistant_observation_bridge_commissioning.py b/tests/test_home_assistant_observation_bridge_commissioning.py index 2e39234..dd877f3 100644 --- a/tests/test_home_assistant_observation_bridge_commissioning.py +++ b/tests/test_home_assistant_observation_bridge_commissioning.py @@ -22,9 +22,9 @@ def test_all_component_python_modules_parse() -> None: def test_manifest_advances_observation_bridge_version() -> None: manifest = json.loads((COMPONENT / "manifest.json").read_text(encoding="utf-8")) - assert manifest["version"] == "0.11.48" + assert manifest["version"] == "0.11.50" assert manifest["requirements"] == [ - "poolos@git+https://github.com/davidabuch/poolos.git@v0.11.48", + "poolos@git+https://github.com/davidabuch/poolos.git@v0.11.50", "pyintellicenter==0.1.20", ] assert manifest["single_config_entry"] is True From ad7cede6dfe0e468e7a9b91bd213d3bf11429ee7 Mon Sep 17 00:00:00 2001 From: davidabuch Date: Mon, 21 Sep 2026 19:25:09 -0700 Subject: [PATCH 11/12] Update v0.11.50 release contract expectations --- tests/test_home_assistant_persistent_observation_recorder.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_home_assistant_persistent_observation_recorder.py b/tests/test_home_assistant_persistent_observation_recorder.py index 098a28b..d72d6c4 100644 --- a/tests/test_home_assistant_persistent_observation_recorder.py +++ b/tests/test_home_assistant_persistent_observation_recorder.py @@ -18,9 +18,9 @@ def test_113b_files_and_adr_exist() -> None: def test_manifest_advances_to_070_and_matching_core_tag() -> None: manifest = json.loads((COMPONENT / "manifest.json").read_text(encoding="utf-8")) - assert manifest["version"] == "0.11.48" + assert manifest["version"] == "0.11.50" assert manifest["requirements"] == [ - "poolos@git+https://github.com/davidabuch/poolos.git@v0.11.48", + "poolos@git+https://github.com/davidabuch/poolos.git@v0.11.50", "pyintellicenter==0.1.20", ] assert manifest["iot_class"] == "local_push" From b38d4b9723f5d68618189ca126b0cbedba4866d2 Mon Sep 17 00:00:00 2001 From: davidabuch Date: Mon, 21 Sep 2026 19:25:12 -0700 Subject: [PATCH 12/12] Update v0.11.50 release contract expectations --- tests/test_home_assistant_shadow_runtime_commissioning.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_home_assistant_shadow_runtime_commissioning.py b/tests/test_home_assistant_shadow_runtime_commissioning.py index a2bef6e..7adc1e8 100644 --- a/tests/test_home_assistant_shadow_runtime_commissioning.py +++ b/tests/test_home_assistant_shadow_runtime_commissioning.py @@ -23,9 +23,9 @@ def test_component_modules_parse() -> None: def test_manifest_advances_shadow_runtime_version() -> None: manifest = json.loads((COMPONENT / "manifest.json").read_text(encoding="utf-8")) - assert manifest["version"] == "0.11.48" + assert manifest["version"] == "0.11.50" assert manifest["requirements"] == [ - "poolos@git+https://github.com/davidabuch/poolos.git@v0.11.48", + "poolos@git+https://github.com/davidabuch/poolos.git@v0.11.50", "pyintellicenter==0.1.20", ]