Skip to content

Reclassify ESPHome-Config and record the devcontainer convention - #440

Merged
ptr727 merged 1 commit into
developfrom
esphome-reclassify-lintonly
Jul 25, 2026
Merged

Reclassify ESPHome-Config and record the devcontainer convention#440
ptr727 merged 1 commit into
developfrom
esphome-reclassify-lintonly

Conversation

@ptr727

@ptr727 ptr727 commented Jul 25, 2026

Copy link
Copy Markdown
Owner

Slice 4 of the lint-only language type work. Applies the model to the config repos and records the devcontainer convention.

What

  • Reclassify ESPHome-Config in the registry: source-only -> source-only + python(lint-only) + cpp(lint-only), with a profiles map 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 (the CODECOV_TOKEN DEFECT and codecov.yml LETTER a naive +python produced are gone - verified).
  • Devcontainer convention in 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-Config needs no reclassification - it is pure YAML config (no python/cpp), correctly source-only. Its convergence is downstream (a shared issue). ESPHome-Config's own AGENTS re-vendor debt is likewise downstream (#65).

Verification

spec/validate.py OK; a live audit of ESPHome-Config with the reclassification shows zero codecov findings.

🤖 Generated with Claude Code

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>
Copilot AI review requested due to automatic review settings July 25, 2026 16:56

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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-Config in registry/repos.json to include python and cpp with lint-only profiles, 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
ptr727 merged commit f03ffb2 into develop Jul 25, 2026
7 checks passed
@ptr727
ptr727 deleted the esphome-reclassify-lintonly branch July 25, 2026 17:10
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)
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.

2 participants