From 20d6c300d39cc44f696625871a2753fc3e26d290 Mon Sep 17 00:00:00 2001 From: Pieter Viljoen Date: Tue, 27 Oct 2026 14:52:58 -0700 Subject: [PATCH 1/7] Declare Python on HomeAutomation-Config's Registry Entry The repository's CI validates eight Python directories through the hub validator, and the registry declared no python type, so the audit reported the type, both workflows' python-directories inputs, and the CODECOV_TOKEN secret in both stores as drift. Declaring python with those eight directories and requiring CODECOV_TOKEN matches the entry to what the repository runs. Co-Authored-By: Claude Opus 5.5 --- registry/repos.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/registry/repos.json b/registry/repos.json index b519d58e3..afdb7223e 100644 --- a/registry/repos.json +++ b/registry/repos.json @@ -156,15 +156,16 @@ "name": "HomeAutomation-Config", "url": "https://github.com/ptr727/HomeAutomation-Config", "status": "cataloged", - "types": ["source-only"], + "types": ["source-only", "python"], "groundTruthBranch": "main", "workflowModel": "release", "lineEndings": "lf", "hasDevelop": true, "publish": [{ "target": "github-release", "mechanism": "none" }], - "requiredSecrets": [], + "requiredSecrets": ["CODECOV_TOKEN"], "consumerModel": "pull", "releaseTrigger": "dispatch-only", + "pythonDirectories": ["CloudInit", "Cloudflare", "MutationSweep", "Notify", "Trackers", "USBDev", "VPS", "scripts"], "driftNotes": ["Maintainer home-lab code repo (docker-compose stacks, host install and lifecycle scripts, Firewalla configs), installed onto the Proxmox host and the VPS rather than edited in place, so it runs the release model. It is Linux-consumed, so lineEndings lf.", "Reclassified from operational to release on 2026-09-24 (HomeAutomation-Config #425). The -Config suffix in its name predates the reclassification.", "Renamed from HomeAutomation for fleet naming consistency (config repos are *-Config). The Vantage controller config is split out to its own Vantage-Config repo (lf default, only `.dc` pinned CRLF), not carried here, and the legacy Vantage/ subtree is stripped."] }, { From beb154a43120ceb0dd79798d9d0add1659b0e179 Mon Sep 17 00:00:00 2001 From: Pieter Viljoen Date: Tue, 27 Oct 2026 14:56:04 -0700 Subject: [PATCH 2/7] Correct HomeAutomation-Config's and the Hub's Hooks Rollout Rows HomeAutomation-Config now declares python, so its row owes the pre-commit framework half beside the doc gates, rather than reading as a doc-gate-only repo a resync would tick as complete. The hub's own row also omitted the python type it declares. Co-Authored-By: Claude Opus 5.5 --- docs/pre-commit-hooks-rollout.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/pre-commit-hooks-rollout.md b/docs/pre-commit-hooks-rollout.md index adc65cb6e..27c7c0c78 100644 --- a/docs/pre-commit-hooks-rollout.md +++ b/docs/pre-commit-hooks-rollout.md @@ -57,7 +57,7 @@ later resync should mistake for unfinished work. Repos and their current `registry/repos.json` `types`, from the hub's own registry as of this doc's authorship. Archived repos are not tracked. -- [x] **ProjectTemplate** (`source-only`, `docs`): the hub itself. Doc gates wired in +- [x] **ProjectTemplate** (`source-only`, `docs`, `python`): the hub itself. Doc gates wired in `.husky/pre-commit` since PR #642, and the ruff/mypy half added in this PR's own commits, once the corpus was confirmed clean (0 ruff errors, 200 files formatted, mypy clean). - [ ] **Utilities** (`csharp`, `nuget`): Husky.Net + doc gates. @@ -70,7 +70,7 @@ doc's authorship. Archived repos are not tracked. - [ ] **ESPHome-NonRoot** (`docker`, `upstream-wrapper`): doc-gate half only, no declared language. - [ ] **VSCode-Server-DotNetCore** (`docker`): doc-gate half only, no declared language. - [ ] **NxWitness** (`docker`, `upstream-wrapper`, `codegen`, `csharp`): Husky.Net + doc gates. -- [ ] **HomeAutomation-Config** (`source-only`): doc-gate half only, no declared language. +- [ ] **HomeAutomation-Config** (`source-only`, `python`): `pre-commit` framework + doc gates. - [ ] **KiCadLibrary** (`eda`, `python`): `pre-commit` framework + doc gates. - [ ] **EspDinIoT** (`eda`): doc-gate half only, no fleet-covered language. - [ ] **ESPHome-Config** (`source-only`, `python`, `cpp`): `pre-commit` framework + doc gates for From e3c0db60681c5268b43919ad9721b2d2f09c6eb8 Mon Sep 17 00:00:00 2001 From: Pieter Viljoen Date: Tue, 27 Oct 2026 14:57:48 -0700 Subject: [PATCH 3/7] Check HomeAutomation-Config's Hooks Box and Split the Hub Row's Sentence The hub audit in reports/homeautomation-config/audit.md graded parity.hooks passing, Python gates included, so under the tracker's maintenance rule the box is owed rather than pending. The hub's own row ran one sentence past the sentence-length limit once its types grew. Co-Authored-By: Claude Opus 5.5 --- docs/pre-commit-hooks-rollout.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/pre-commit-hooks-rollout.md b/docs/pre-commit-hooks-rollout.md index 27c7c0c78..cb792731b 100644 --- a/docs/pre-commit-hooks-rollout.md +++ b/docs/pre-commit-hooks-rollout.md @@ -58,7 +58,7 @@ Repos and their current `registry/repos.json` `types`, from the hub's own regist doc's authorship. Archived repos are not tracked. - [x] **ProjectTemplate** (`source-only`, `docs`, `python`): the hub itself. Doc gates wired in - `.husky/pre-commit` since PR #642, and the ruff/mypy half added in this PR's own commits, + `.husky/pre-commit` since PR #642. The ruff/mypy half was added in this PR's own commits, once the corpus was confirmed clean (0 ruff errors, 200 files formatted, mypy clean). - [ ] **Utilities** (`csharp`, `nuget`): Husky.Net + doc gates. - [ ] **LanguageTags** (`csharp`, `nuget`, `codegen`): Husky.Net + doc gates. @@ -70,7 +70,8 @@ doc's authorship. Archived repos are not tracked. - [ ] **ESPHome-NonRoot** (`docker`, `upstream-wrapper`): doc-gate half only, no declared language. - [ ] **VSCode-Server-DotNetCore** (`docker`): doc-gate half only, no declared language. - [ ] **NxWitness** (`docker`, `upstream-wrapper`, `codegen`, `csharp`): Husky.Net + doc gates. -- [ ] **HomeAutomation-Config** (`source-only`, `python`): `pre-commit` framework + doc gates. +- [x] **HomeAutomation-Config** (`source-only`, `python`): `pre-commit` framework + doc gates. + The hub audit in `reports/homeautomation-config/audit.md` graded `parity.hooks` passing. - [ ] **KiCadLibrary** (`eda`, `python`): `pre-commit` framework + doc gates. - [ ] **EspDinIoT** (`eda`): doc-gate half only, no fleet-covered language. - [ ] **ESPHome-Config** (`source-only`, `python`, `cpp`): `pre-commit` framework + doc gates for From 0ebaeb8f197cc34bc3b3057090f7986af376b429 Mon Sep 17 00:00:00 2001 From: Pieter Viljoen Date: Tue, 27 Oct 2026 15:11:01 -0700 Subject: [PATCH 4/7] Name the Pull Request That Added the Hub's Ruff and Mypy Hook Half The hub's row said the half was added in "this PR's own commits", which read true only inside the pull request that wrote it. It names #962. Co-Authored-By: Claude Opus 5.5 --- docs/pre-commit-hooks-rollout.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pre-commit-hooks-rollout.md b/docs/pre-commit-hooks-rollout.md index cb792731b..27a00ef6d 100644 --- a/docs/pre-commit-hooks-rollout.md +++ b/docs/pre-commit-hooks-rollout.md @@ -58,7 +58,7 @@ Repos and their current `registry/repos.json` `types`, from the hub's own regist doc's authorship. Archived repos are not tracked. - [x] **ProjectTemplate** (`source-only`, `docs`, `python`): the hub itself. Doc gates wired in - `.husky/pre-commit` since PR #642. The ruff/mypy half was added in this PR's own commits, + `.husky/pre-commit` since PR #642. The ruff/mypy half was added in PR #962, once the corpus was confirmed clean (0 ruff errors, 200 files formatted, mypy clean). - [ ] **Utilities** (`csharp`, `nuget`): Husky.Net + doc gates. - [ ] **LanguageTags** (`csharp`, `nuget`, `codegen`): Husky.Net + doc gates. From de8b7d38cadafc1b9020c7dcbc22366d6d3b2286 Mon Sep 17 00:00:00 2001 From: Pieter Viljoen Date: Tue, 27 Oct 2026 15:12:42 -0700 Subject: [PATCH 5/7] Record the Reversed Python Decision on HomeAutomation-Config's Entry The committed hub audit records the maintainer's earlier decision, on HomeAutomation-Config #438, to keep python undeclared. A driftNote now says the maintainer reversed it under #2255, so the registry and that report no longer disagree silently. Co-Authored-By: Claude Opus 5.5 --- registry/repos.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/registry/repos.json b/registry/repos.json index afdb7223e..e9d6a9fc2 100644 --- a/registry/repos.json +++ b/registry/repos.json @@ -166,7 +166,7 @@ "consumerModel": "pull", "releaseTrigger": "dispatch-only", "pythonDirectories": ["CloudInit", "Cloudflare", "MutationSweep", "Notify", "Trackers", "USBDev", "VPS", "scripts"], - "driftNotes": ["Maintainer home-lab code repo (docker-compose stacks, host install and lifecycle scripts, Firewalla configs), installed onto the Proxmox host and the VPS rather than edited in place, so it runs the release model. It is Linux-consumed, so lineEndings lf.", "Reclassified from operational to release on 2026-09-24 (HomeAutomation-Config #425). The -Config suffix in its name predates the reclassification.", "Renamed from HomeAutomation for fleet naming consistency (config repos are *-Config). The Vantage controller config is split out to its own Vantage-Config repo (lf default, only `.dc` pinned CRLF), not carried here, and the legacy Vantage/ subtree is stripped."] + "driftNotes": ["Maintainer home-lab code repo (docker-compose stacks, host install and lifecycle scripts, Firewalla configs), installed onto the Proxmox host and the VPS rather than edited in place, so it runs the release model. It is Linux-consumed, so lineEndings lf.", "Reclassified from operational to release on 2026-09-24 (HomeAutomation-Config #425). The -Config suffix in its name predates the reclassification.", "Declares python since 2026-10-27 (#2255), the maintainer reversing the decision on HomeAutomation-Config #438 to keep it undeclared once its CI gated eight Python directories through the hub validator.", "Renamed from HomeAutomation for fleet naming consistency (config repos are *-Config). The Vantage controller config is split out to its own Vantage-Config repo (lf default, only `.dc` pinned CRLF), not carried here, and the legacy Vantage/ subtree is stripped."] }, { "name": "KiCadLibrary", From 6cf0a0956f161bdb99f4ed947a6b76fad77a4780 Mon Sep 17 00:00:00 2001 From: Pieter Viljoen Date: Tue, 27 Oct 2026 15:14:33 -0700 Subject: [PATCH 6/7] Split the Python DriftNote So Its Timing Clause Cannot Attach to #438 Co-Authored-By: Claude Opus 5.5 --- registry/repos.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/registry/repos.json b/registry/repos.json index e9d6a9fc2..70f3b709a 100644 --- a/registry/repos.json +++ b/registry/repos.json @@ -166,7 +166,7 @@ "consumerModel": "pull", "releaseTrigger": "dispatch-only", "pythonDirectories": ["CloudInit", "Cloudflare", "MutationSweep", "Notify", "Trackers", "USBDev", "VPS", "scripts"], - "driftNotes": ["Maintainer home-lab code repo (docker-compose stacks, host install and lifecycle scripts, Firewalla configs), installed onto the Proxmox host and the VPS rather than edited in place, so it runs the release model. It is Linux-consumed, so lineEndings lf.", "Reclassified from operational to release on 2026-09-24 (HomeAutomation-Config #425). The -Config suffix in its name predates the reclassification.", "Declares python since 2026-10-27 (#2255), the maintainer reversing the decision on HomeAutomation-Config #438 to keep it undeclared once its CI gated eight Python directories through the hub validator.", "Renamed from HomeAutomation for fleet naming consistency (config repos are *-Config). The Vantage controller config is split out to its own Vantage-Config repo (lf default, only `.dc` pinned CRLF), not carried here, and the legacy Vantage/ subtree is stripped."] + "driftNotes": ["Maintainer home-lab code repo (docker-compose stacks, host install and lifecycle scripts, Firewalla configs), installed onto the Proxmox host and the VPS rather than edited in place, so it runs the release model. It is Linux-consumed, so lineEndings lf.", "Reclassified from operational to release on 2026-09-24 (HomeAutomation-Config #425). The -Config suffix in its name predates the reclassification.", "Declares python since 2026-10-27 (#2255), after its CI came to gate eight Python directories through the hub validator. The maintainer reversed the earlier decision, on HomeAutomation-Config #438, to keep python undeclared.", "Renamed from HomeAutomation for fleet naming consistency (config repos are *-Config). The Vantage controller config is split out to its own Vantage-Config repo (lf default, only `.dc` pinned CRLF), not carried here, and the legacy Vantage/ subtree is stripped."] }, { "name": "KiCadLibrary", From 5570c034c5db915d60458ad85e36ec1326d45186 Mon Sep 17 00:00:00 2001 From: Pieter Viljoen Date: Tue, 27 Oct 2026 15:15:45 -0700 Subject: [PATCH 7/7] Name the Hub Repository on the Python DriftNote's Issue Reference Co-Authored-By: Claude Opus 5.5 --- registry/repos.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/registry/repos.json b/registry/repos.json index 70f3b709a..7e7fd7e2e 100644 --- a/registry/repos.json +++ b/registry/repos.json @@ -166,7 +166,7 @@ "consumerModel": "pull", "releaseTrigger": "dispatch-only", "pythonDirectories": ["CloudInit", "Cloudflare", "MutationSweep", "Notify", "Trackers", "USBDev", "VPS", "scripts"], - "driftNotes": ["Maintainer home-lab code repo (docker-compose stacks, host install and lifecycle scripts, Firewalla configs), installed onto the Proxmox host and the VPS rather than edited in place, so it runs the release model. It is Linux-consumed, so lineEndings lf.", "Reclassified from operational to release on 2026-09-24 (HomeAutomation-Config #425). The -Config suffix in its name predates the reclassification.", "Declares python since 2026-10-27 (#2255), after its CI came to gate eight Python directories through the hub validator. The maintainer reversed the earlier decision, on HomeAutomation-Config #438, to keep python undeclared.", "Renamed from HomeAutomation for fleet naming consistency (config repos are *-Config). The Vantage controller config is split out to its own Vantage-Config repo (lf default, only `.dc` pinned CRLF), not carried here, and the legacy Vantage/ subtree is stripped."] + "driftNotes": ["Maintainer home-lab code repo (docker-compose stacks, host install and lifecycle scripts, Firewalla configs), installed onto the Proxmox host and the VPS rather than edited in place, so it runs the release model. It is Linux-consumed, so lineEndings lf.", "Reclassified from operational to release on 2026-09-24 (HomeAutomation-Config #425). The -Config suffix in its name predates the reclassification.", "Declares python since 2026-10-27 (ProjectTemplate #2255), after its CI came to gate eight Python directories through the hub validator. The maintainer reversed the earlier decision, on HomeAutomation-Config #438, to keep python undeclared.", "Renamed from HomeAutomation for fleet naming consistency (config repos are *-Config). The Vantage controller config is split out to its own Vantage-Config repo (lf default, only `.dc` pinned CRLF), not carried here, and the legacy Vantage/ subtree is stripped."] }, { "name": "KiCadLibrary",