Skip to content

Add the project type model doc - #437

Merged
ptr727 merged 6 commits into
developfrom
type-model-doc
Jul 25, 2026
Merged

Add the project type model doc#437
ptr727 merged 6 commits into
developfrom
type-model-doc

Conversation

@ptr727

Copy link
Copy Markdown
Owner

Slice 1 of the lint-only language type work: a durable model doc, before the schema/registry/audit slices consume it (same rollout order as the section and fidelity models).

What

  • New spec/type-model.md - companion to section-model.md / fidelity-model.md. Defines: declaration (registry) is the source of truth; detection validates it (the consistent / false-declaration / discovery-advisory / ok matrix, with an explicit reason-carrying ignore); language profile (build vs lint-only) with each check naming its minProfile; codecov checks profile-aware; the cpp lint-only type (clang-format); change-carries-review-weight.
  • project-types.json note gains a pointer to it.

Not yet (later slices)

Schema + cpp/profile in project-types.json + registry declarations (slice 2), the audit engine - detection-as-validator, profile-aware codecov, cpp check (slice 3), ESPHome-Config reclassification (slice 4). Doc-only here, so the audit is unchanged.

Verification

spec/validate.py OK; project-types.json valid JSON.

🤖 Generated with Claude Code

Define how a repo's types and language profiles are declared, validated
against detection, and gated by profile, as a companion to the section
and fidelity models. Declaration in the registry is the source of truth;
detection validates it (false declaration and discovery advisory, with an
explicit reason-carrying ignore); a language carries a build or lint-only
profile, and each check names its minimum profile so a lint-only language
draws no coverage or packaging finding. Records the cpp lint-only type
(clang-format) and the codecov profile-awareness the model requires.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
CopilotAI review requested due to automatic review settings July 25, 2026 14:32

CopilotAI 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

Adds a new spec document that defines the intended “project type” declaration/validation model for the fleet, and wires a pointer to it from the type spec metadata so future schema/audit slices can reference a single source of truth.

Changes:

  • Add spec/type-model.md describing the declaration-vs-detection model and the planned “profile” concept (build vs lint-only) for language types.
  • Update spec/project-types.json’s top-level note to reference the new type model doc and clarify “declared types” wording.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

FileDescription
spec/type-model.mdNew governance/spec doc defining the project type model (declaration, detection-as-validation, profiles, and enforcement expectations).
spec/project-types.jsonUpdates the explanatory note to point readers at the new type model doc.

Comment threadspec/type-model.md Outdated
Comment threadspec/type-model.md Outdated
Comment threadspec/type-model.md
Split the clause-joining semicolons in the model doc (four total),
reference the setup.driftnotes.current check and the registry driftNotes
field by their real names, and add a Rollout status note so the doc reads
as the contract the staged implementation realizes rather than describing
checks not yet wired.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
CopilotAI review requested due to automatic review settings July 25, 2026 14:38

CopilotAI 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

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

Comment threadspec/project-types.json Outdated
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
CopilotAI review requested due to automatic review settings July 25, 2026 14:42

CopilotAI 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

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

Comments suppressed due to low confidence (1)

spec/type-model.md:69

  • The reference link definitions under "" are not alphabetized by reference name, which violates the repo Markdown convention for reference-style links (AGENTS.md:137). Please reorder these definitions alphabetically to keep the section consistent with other spec docs (e.g., spec/section-model.md).
[section-model]: ./section-model.md
[fidelity-model]: ./fidelity-model.md
[types]: ./project-types.json
[schema]: ./project-types.schema.json
[repos]: ../registry/repos.json

Comment threadspec/type-model.md Outdated
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
CopilotAI review requested due to automatic review settings July 25, 2026 14:46

CopilotAI 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

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

Comment threadspec/type-model.md Outdated
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
CopilotAI review requested due to automatic review settings July 25, 2026 14:50

CopilotAI 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

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

Comment threadspec/type-model.md Outdated
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
CopilotAI review requested due to automatic review settings July 25, 2026 14:53

CopilotAI 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

Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.

@ptr727
ptr727 merged commit e419048 into developJul 25, 2026
7 checks passed
@ptr727
ptr727 deleted the type-model-doc branch July 25, 2026 14:57
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 freeto 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

@ptr727