diff --git a/GOVERNANCE.md b/GOVERNANCE.md index c8596b41f..21040ca81 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -351,7 +351,7 @@ Contributors commit to this repo with signed commits. The SSH-signing setup live ## Editor and Tasks - **VS Code is the primary IDE, and the experience favors it.** Prefer VS Code tasks and launch configurations for building, running, and testing over ad-hoc shell scripts. A script is the fallback, not the default. -- The `.code-workspace` file carries the shared editor settings and the recommended-extension set. **All VS Code settings and extension recommendations live only here, never in a standalone `.vscode/settings.json` or `.vscode/extensions.json`** (`.vscode/` holds only `tasks.json` and `launch.json`). A **standard set** of extensions applies to every repo (markdownlint, cspell, editorconfig, markdown-all-in-one, better-todo-tree), kept to extensions that work without a separately installed tool. A repo shipping a language adds that language's **defaults** (.NET: csdevkit, csharpier. Python: python, pylance, ruff, mypy. Docker: the Docker extension). **Any repo can add further extensions** of its own on top of them. +- The `.code-workspace` file carries the shared editor settings and the recommended-extension set. **All VS Code settings and extension recommendations live only here, never in a standalone `settings.json` or `extensions.json` under `.vscode/`** (`.vscode/` holds only `tasks.json` and `launch.json`). A **standard set** of extensions applies to every repo (markdownlint, cspell, editorconfig, markdown-all-in-one, better-todo-tree), kept to extensions that work without a separately installed tool. A repo shipping a language adds that language's **defaults** (.NET: csdevkit, csharpier. Python: python, pylance, ruff, mypy. Docker: the Docker extension). **Any repo can add further extensions** of its own on top of them. - The Table of Contents is maintained by the Markdown All in One extension, and `markdown.extension.toc.levels` in the workspace sets which heading levels it includes (see the Markdown rules for the authoring convention and the `` exclusion marker). - **Agents: editing a `.code-workspace` that a VS Code window has loaded as its workspace can reload that window and drop an agent session running in it.** "Verification Discipline" holds the rule. An agent leaves that edit to the maintainer while it knows a window with the file loaded hosts an agent session, the agent's own included. It treats any window but its own as hosting no session unless it knows otherwise. Where it still cannot tell whether the rule binds it, it asks the maintainer. An agent the rule does not bind edits the file directly. Opening the folder rather than the workspace, in every window holding the checkout, keeps a checkout's own file editable. diff --git a/docs/pre-commit-hooks-rollout.md b/docs/pre-commit-hooks-rollout.md index adc65cb6e..27a00ef6d 100644 --- a/docs/pre-commit-hooks-rollout.md +++ b/docs/pre-commit-hooks-rollout.md @@ -57,8 +57,8 @@ 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 - `.husky/pre-commit` since PR #642, and the ruff/mypy half added in this PR's own commits, +- [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 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. @@ -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`): doc-gate half only, no declared language. +- [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 diff --git a/registry/repos.json b/registry/repos.json index b519d58e3..7e7fd7e2e 100644 --- a/registry/repos.json +++ b/registry/repos.json @@ -156,16 +156,17 @@ "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", - "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."] + "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 (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",