Reclassify ESPHome-Config and record the devcontainer convention - #440
Merged
Conversation
Declare ESPHome-Config as source-only + python(lint-only) + cpp(lint-only) now that the type model supports lint-only languages, so its codegen tooling no longer draws the spurious codecov findings. Record in the section model that a devcontainer is optional and not required by any type: an operational live-config repo is edited and deployed live and its Devcontainer section states none, while a repo that keeps one (a toolchain or an offline-debug aid) describes it. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Updates the governance model and fleet registry to reflect that ESPHome-Config contains lint-only Python and C/C++ surfaces, and documents the convention that devcontainers are optional infrastructure rather than a required feature of any repo type.
Changes:
- Document devcontainer expectations in
spec/section-model.md, including guidance for operational live-config repos that typically do not ship a devcontainer. - Reclassify
ESPHome-Configinregistry/repos.jsonto includepythonandcppwithlint-onlyprofiles, and expand drift notes to capture the rationale.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| spec/section-model.md | Adds an explicit statement that devcontainers are optional and clarifies what the Devcontainer section should say for repos with none. |
| registry/repos.json | Reclassifies ESPHome-Config as source-only + python(lint-only) + cpp(lint-only) via types plus a profiles map, and records the drift rationale. |
ptr727
added a commit
that referenced
this pull request
Jul 25, 2026
## Promote develop to main The lint-only language type work, slices 1-4 (doc/spec/registry only, no code path changes - no release): - **#437** - `spec/type-model.md`: the durable model doc (declared-primary, detection-as-validator, build/lint-only profiles, the ignore mechanism). - **#438** - the `cpp` type + `build`/`lint-only` profile vocabulary + per-check `minProfile` in `project-types.json`/schemas + `validate.py` enforcement; python profile names aligned to build/lint-only. - **#439** - `audit.py` gates the codecov requirement (CODECOV_TOKEN secret + codecov.yml file) on a build profile, so a lint-only language draws no coverage finding. - **#440** - reclassify ESPHome-Config `source-only + python(lint-only) + cpp(lint-only)`; record the devcontainer-is-optional convention in the section model. ## Verification - `spec/validate.py` OK; `spec/audit.py --selftest` PASS. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Slice 4 of the lint-only language type work. Applies the model to the config repos and records the devcontainer convention.
What
ESPHome-Configin the registry:source-only->source-only + python(lint-only) + cpp(lint-only), with aprofilesmap and a driftNote (lint-only python codegen + cpp headers; clang-format not yet added). Now that the type model supports lint-only languages, its codegen tooling draws no spurious codecov findings (theCODECOV_TOKENDEFECT andcodecov.ymlLETTER a naive+pythonproduced are gone - verified).section-model.md: a devcontainer is optional and not required by any type. An operational live-config repo is edited/deployed live and its Devcontainer section states none; a repo that keeps one (a toolchain, or an offline-debug aid) describes it.Not this PR
HomeAssistant-Configneeds no reclassification - it is pure YAML config (no python/cpp), correctlysource-only. Its convergence is downstream (a shared issue). ESPHome-Config's own AGENTS re-vendor debt is likewise downstream (#65).Verification
spec/validate.pyOK; a live audit of ESPHome-Config with the reclassification shows zero codecov findings.🤖 Generated with Claude Code