Catalog the 14 backlog repos; add the eda type and releaseTrigger none - #247
Conversation
Classify and catalog every backlog repo (status -> cataloged with types, fields, and driftNotes). Per maintainer decisions: add a first-class 'eda' type for KiCad/PCB repos (github-release data zip, EDA-specific CI validation, deterministic build-time artifact/version injection); add 'none' to the releaseTrigger enum for repos with no release automation (WIP or file-history-only). Non-conformant branch states (missing main/develop, 'master', 'first-branch', stale/empty main) are recorded and flagged for correction, never treated as permanent. TelemetryImporter noted abandoned; .github noted as a candidate for removal. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR updates the fleet classification spec and registry to clear the remaining backlog by (a) introducing an EDA-focused project type and (b) allowing repos to explicitly declare that they have no release automation, while moving 14 repos from backlog to cataloged with recorded drift notes.
Changes:
- Add a new
edaproject type to the spec with detection heuristics and audit checks. - Extend the registry schema to allow
releaseTrigger: none. - Reclassify 14 previously-backlog repositories as
catalogedwith types, release triggers, and drift notes.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| spec/project-types.json | Adds the new eda type definition, including detection patterns and audit check assertions. |
| registry/repos.schema.json | Extends releaseTrigger enum to include none. |
| registry/repos.json | Converts 14 repos from backlog to cataloged and records their classification fields and drift notes. |
Uh oh!
There was an error while loading. Please reload this page.
dispatch-only understated it: the repo publishes on the weekly schedule and a Matrix.json pin push and merges do not publish - the two-phase model plus a codegen-pin republish. Align the value with the driftNote. Addresses Copilot review. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (1)
registry/repos.schema.json:29
- The schema currently allows invalid publish combinations (e.g., target "github-release" with mechanism "oidc"/"static-secret", or non-github-release targets with mechanism "none"). Because spec/validate.py doesn't enforce a target-vs-mechanism match when targetMechanisms[target] is null (github-release), these mistakes can slip in silently; consider enforcing the allowed mechanism per target directly in the JSON schema.
"releaseTrigger": { "enum": ["two-phase", "publish-on-merge", "dispatch-only", "none"] },
"mechanism": { "enum": ["oidc", "static-secret", "none"] },
"target": { "enum": ["nuget", "pypi", "docker", "github-release"] },
"repo": {
"type": "object",
Uh oh!
There was an error while loading. Please reload this page.
Per spec/secrets.json, baseline merge-bot App secrets (CODEGEN_APP_CLIENT_ID/PRIVATE_KEY) are implicit and not repeated in a repo's requiredSecrets, which lists only domain additions - matching VSCode-Server-DotNetCore and ESPHome-NonRoot (docker: DOCKER_HUB_* only). Addresses Copilot review. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
…er and wording Per review: set groundTruthBranch to develop for KiCadLibrary/EspDinIoT/HolidayLights (main is stale/empty; the auditor must read the branch that holds the authoritative content, with driftNotes flagging that main should be promoted). Set MediaTools releaseTrigger to none (its two-phase publisher never fires - main/develop do not exist). Drop the hyphen in 'GitHub release' for consistency. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Uh oh!
There was an error while loading. Please reload this page.
The eda.build.deterministic ref (and a pre-existing occurrence) used #d3-versioning-and-classification; the heading 'D3 - Versioning and Classification' slugs to #d3---versioning-and-classification. Addresses Copilot review. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Uh oh!
There was an error while loading. Please reload this page.
'D4 - Release / Publish' and 'D7 - Concurrency, Permissions, Safety' slug to #d4---release--publish and #d7---concurrency-permissions-safety (triple hyphen for ' - ', double for ' / '). Fixes the broken single-hyphen forms (including my eda.release.zip ref) across the file. Addresses Copilot review. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Two-phase promotion of the accumulated governance work on `develop` to `main`. Carries #244-#251: - #244 Foundational Principles (the model's governing *why*) - #245 Replace the mypy ban with a strong-typing policy - #246 aiopurpleair + homeassistant-purpleair audit reports - #247 Catalog the 14 backlog repos; add the `eda` type and `releaseTrigger: none` - #248 Branch-conditional Docker platforms (multi-arch main, amd64 elsewhere) - #249 Retire the both-branch matrix for symmetric single-branch self-release - #250 Declare workflow YAML as LF and validate line endings in CI - #251 Extend line-ending governance to pattern files and catalog snippets All commits were reviewed and CI-green on their individual develop PRs.
Resolves the classification backlog (22 cataloged, 0 backlog). Per your decisions:
MediaTools static NUGET_API_KEY (forbidden) recorded in driftNotes, publish[] left empty pending OIDC correction. validate.py green.