Skip to content

Say What the Registry's Python Profile Means Once the Profile Is Per Directory #3556

Closed

Description

@ptr727

Summary

spec/type-model.md "Profiles: build vs lint-only" now says Python's profile belongs to each declared Python directory. The registry still declares one profile per type per repository, as profiles: { "python": "build" }. spec/validate.py accepts that one value, and the schema has no per-directory form.

So a repository whose declared directories differ cannot state its Python profile in the registry. Take a constructed repository declaring render/ (build) and tools/ (lint-only). Either value it declares contradicts one directory's shape.

The same section's "A declared python profile that contradicts the pyproject shape is a false declaration" reads one shape per repository too.

Expected

The spec says what a registry profiles.python value means once the profile is per directory. Two candidate shapes:

  • Drop python from profiles, since each directory's shape states its profile and pythonDirectories lists the directories.
  • Give profiles.python a per-directory form keyed by the pythonDirectories entries.

Either way, type-model.md, project-types.schema.json, validate.py, and the registry entries agree.

Found while fixing #3552, whose file bounds covered only the spec's Python profile text.

🤖 Generated with Claude Code

Activity

  1. ptr727 commented on Oct 28, 2026

    @ptr727
    OwnerAuthor

    Maintainer decision, 2026-10-28: drop python from the registry profiles. Each declared directory's pyproject shape states its profile, a lock or requirements file meaning build, and pythonDirectories lists the directories. spec/type-model.md, spec/project-types.schema.json, spec/validate.py and the registry entries that set it change to agree.

  2. ptr727 commented on Oct 28, 2026

    @ptr727
    OwnerAuthor

    Backlog burndown round 4 claim. Branch: feature/3556-drop-registry-python-profile. Files: registry/repos.json (the profiles.python declarations only, ProjectTemplate and ESPHome-Config), spec/project-types.json (the python type's allowed profiles and any text saying the registry declares it), spec/type-model.md ("Profiles: build vs lint-only" and the registry paragraph), spec/validate.py, spec/audit.py (only if it reads a python profile), tests/test_spec_validate.py, tests/test_audit_helpers.py. PR #3534 also touches registry/repos.json, and its owner released the hold for this change.

  3. added a commit that references this issue on Oct 28, 2026
    1abb46f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions