Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion reports/divergences.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Generated by `python3 spec/fidelity_honesty.py --report` - do not hand-edit. Cur
- **.github/workflows/build-docker-task.yml** (manifest gap, carried by ESPHome-NonRoot, NxWitness, PlexCleaner, VSCode-Server-DotNetCore) - The Docker core is hub-hosted as its own workflow_call task alongside build-release-task.yml, per docs/reusable-workflows.md "Stage 4: The Release Chain and the Docker Core", so a downstream copy of this filename is retired rather than re-vendored the same way. The five carriers measured on develop at hub 7c67328 are ESPHome-NonRoot, NxWitness, PhotoCleaner, PlexCleaner, and VSCode-Server-DotNetCore. Delete the copy as each repo adopts the hub task; adoption is a separate, later change per repo (docs/reusable-workflows.md "Rollout" Stage 4).
- **.github/workflows/get-version-task.yml** (manifest gap, carried by ESPHome-NonRoot, KiCadLibrary, NxWitness, PlexCleaner, VSCode-Server-DotNetCore, aiopurpleair, homeassistant-purpleair) - The task is hub-hosted rather than carried, per GOVERNANCE.md "Hub-Hosted Tooling", so it is no manifest entry and a downstream copy is retired rather than re-vendored. Every copy is the hub's own NBGV logic with nothing per-repo in it beyond the action pins Dependabot already owns. The carriers, read from the fleet on 2026-08-15, are ESPHome-NonRoot, NxWitness, PhotoCleaner, PlexCleaner, VSCode-Server-DotNetCore, KiCadLibrary, aiopurpleair, and homeassistant-purpleair. Delete the copy and reach the hub task by pin as each repo is next visited, per docs/reusable-workflows.md "Adopting the Pure Functions".
- **.github/workflows/publish-plan-task.yml** (manifest gap, carried by ESPHome-NonRoot, NxWitness, Utilities) - The task is hub-hosted rather than carried, per GOVERNANCE.md "Hub-Hosted Tooling", so it is no manifest entry and a downstream copy is retired rather than re-vendored. The carriers, read from the fleet on 2026-08-15, are ESPHome-NonRoot, NxWitness, and Utilities, and all three carry a strict subset of the canonical, missing the -E in set -Eeuo pipefail and the ::warning:: branch for an unrecognized actor pushing to main (WORKFLOW.md D8.4). Delete the copy and reach the hub task by pin as each repo is next visited, per docs/reusable-workflows.md "Adopting the Pure Functions".
- **.github/workflows/validate-task.yml** (manifest gap, carried by AudioCleaner, ESPHome-NonRoot, LanguageTags, MediaTools, NxWitness, PlexCleaner, Utilities, VSCode-Server-DotNetCore, aiopurpleair) - The file is hub-hosted as a workflow_call task rather than carried, per GOVERNANCE.md "Hub-Hosted Tooling" and docs/reusable-workflows.md "Stage 2: The Gates". The fleet doc-lint block, the language lint, the prose gate, and the repo gate move into the hub task, and a repo's own domain checks move into its own .github/actions/validate/action.yml hook instead, so a downstream copy is retired rather than re-vendored. The thirteen repos carrying a copy today are PhotoCleaner, PlexCleaner, LanguageTags, Utilities, MediaTools, AudioCleaner, aiopurpleair, Financial-Modeling, Blog, ESPHome-NonRoot, NxWitness, VSCode-Server-DotNetCore, and HomeAutomation-Config. Delete the copy and adopt the caller stub in docs/reusable-workflows.md "Adopting the Gates" as each repo is next visited.
- **.github/workflows/validate-task.yml** (manifest gap, carried by AudioCleaner, ESPHome-NonRoot, LanguageTags, MediaTools, NxWitness, PlexCleaner, Utilities, VSCode-Server-DotNetCore, aiopurpleair) - The file is hub-hosted as a workflow_call task rather than carried, per GOVERNANCE.md "Hub-Hosted Tooling" and docs/reusable-workflows.md "Stage 2: The Gates". The fleet doc-lint block, the language lint, the prose gate, and the repo gate move into the hub task, and a repo's own domain checks move into its own .github/actions/validate/action.yml hook instead, so a downstream copy is retired rather than re-vendored. The thirteen repos carrying a copy as of 2026-08-16 were PhotoCleaner, PlexCleaner, LanguageTags, Utilities, MediaTools, AudioCleaner, aiopurpleair, Financial-Modeling, Blog, ESPHome-NonRoot, NxWitness, VSCode-Server-DotNetCore, and HomeAutomation-Config, and the live current carrier list above may have moved on since. Delete the copy and adopt the caller stub in docs/reusable-workflows.md "Adopting the Gates" as each repo is next visited.
Comment thread
ptr727 marked this conversation as resolved.
- **.github/workflows/publish-docker-readme-task.yml** (manifest gap, carried by VSCode-Server-DotNetCore) - The task is hub-hosted per docs/reusable-workflows.md "The Docker Family", so a downstream copy of the job graph is retired rather than converged. The carrier is VSCode-Server-DotNetCore, whose copy replaces with the caller stub in docs/reusable-workflows.md "Adopting the Type-Specific Tasks" once a release carries the task.
- **.github/workflows/check-upstream-version-task.yml** (manifest gap, carried by ESPHome-NonRoot) - The task is hub-hosted per docs/reusable-workflows.md "The Docker Family", so a downstream copy of the job graph is retired rather than converged. The carrier is ESPHome-NonRoot, whose check-upstream-version.yml caller and check-upstream-version-task.yml body both replace with the caller stub once a release carries the task. Its second tracker, check-upstream-dependency.yml, is a candidate to fold into the same hub task with auto-merge false, tracked as an adoption note rather than a gap here since it was never a copy of this snippet.
- **.github/workflows/run-codegen-pull-request-task.yml** (manifest gap, carried by LanguageTags, NxWitness) - The task is hub-hosted per docs/reusable-workflows.md "Adopting the Type-Specific Tasks", so a downstream copy of the job graph is retired rather than converged. The carriers are LanguageTags and NxWitness, each replacing its copy with a codegen hook plus the caller stub once a release carries the task.
Expand Down
2 changes: 1 addition & 1 deletion spec/divergences.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
{ "path": "pyproject.toml", "disposition": "investigate", "reason": "The hub gained a config-only Scripts-profile pyproject.toml in #388. Decide whether to track it (intent, appliesTo python) after confirming the python repos carry an equivalent.", "tracking": null },
{ "path": ".github/workflows/get-version-task.yml", "disposition": "retire", "reason": "The task is hub-hosted rather than carried, per GOVERNANCE.md \"Hub-Hosted Tooling\", so it is no manifest entry and a downstream copy is retired rather than re-vendored. Every copy is the hub's own NBGV logic with nothing per-repo in it beyond the action pins Dependabot already owns. The carriers, read from the fleet on 2026-08-15, are ESPHome-NonRoot, NxWitness, PhotoCleaner, PlexCleaner, VSCode-Server-DotNetCore, KiCadLibrary, aiopurpleair, and homeassistant-purpleair. Delete the copy and reach the hub task by pin as each repo is next visited, per docs/reusable-workflows.md \"Adopting the Pure Functions\".", "tracking": null },
{ "path": ".github/workflows/publish-plan-task.yml", "disposition": "retire", "reason": "The task is hub-hosted rather than carried, per GOVERNANCE.md \"Hub-Hosted Tooling\", so it is no manifest entry and a downstream copy is retired rather than re-vendored. The carriers, read from the fleet on 2026-08-15, are ESPHome-NonRoot, NxWitness, and Utilities, and all three carry a strict subset of the canonical, missing the -E in set -Eeuo pipefail and the ::warning:: branch for an unrecognized actor pushing to main (WORKFLOW.md D8.4). Delete the copy and reach the hub task by pin as each repo is next visited, per docs/reusable-workflows.md \"Adopting the Pure Functions\".", "tracking": null },
{ "path": ".github/workflows/validate-task.yml", "disposition": "retire", "reason": "The file is hub-hosted as a workflow_call task rather than carried, per GOVERNANCE.md \"Hub-Hosted Tooling\" and docs/reusable-workflows.md \"Stage 2: The Gates\". The fleet doc-lint block, the language lint, the prose gate, and the repo gate move into the hub task, and a repo's own domain checks move into its own .github/actions/validate/action.yml hook instead, so a downstream copy is retired rather than re-vendored. The thirteen repos carrying a copy today are PhotoCleaner, PlexCleaner, LanguageTags, Utilities, MediaTools, AudioCleaner, aiopurpleair, Financial-Modeling, Blog, ESPHome-NonRoot, NxWitness, VSCode-Server-DotNetCore, and HomeAutomation-Config. Delete the copy and adopt the caller stub in docs/reusable-workflows.md \"Adopting the Gates\" as each repo is next visited.", "tracking": null },
{ "path": ".github/workflows/validate-task.yml", "disposition": "retire", "reason": "The file is hub-hosted as a workflow_call task rather than carried, per GOVERNANCE.md \"Hub-Hosted Tooling\" and docs/reusable-workflows.md \"Stage 2: The Gates\". The fleet doc-lint block, the language lint, the prose gate, and the repo gate move into the hub task, and a repo's own domain checks move into its own .github/actions/validate/action.yml hook instead, so a downstream copy is retired rather than re-vendored. The thirteen repos carrying a copy as of 2026-08-16 were PhotoCleaner, PlexCleaner, LanguageTags, Utilities, MediaTools, AudioCleaner, aiopurpleair, Financial-Modeling, Blog, ESPHome-NonRoot, NxWitness, VSCode-Server-DotNetCore, and HomeAutomation-Config, and the live current carrier list above may have moved on since. Delete the copy and adopt the caller stub in docs/reusable-workflows.md \"Adopting the Gates\" as each repo is next visited.", "tracking": null },
{ "path": ".github/workflows/deploy-site-task.yml", "disposition": "retire", "reason": "The task is hub-hosted per docs/reusable-workflows.md \"Adopting the Type-Specific Tasks\", so it is no longer a manifest entry (spec/files.json keeps only the deploy-site.yml caller stub entry for the hugo type) and a downstream copy is retired rather than converged. The carrier is Blog, replacing its copy with the caller stub once a release carries the task.", "tracking": null },
{ "path": ".github/workflows/publish-docker-readme-task.yml", "disposition": "retire", "reason": "The task is hub-hosted per docs/reusable-workflows.md \"The Docker Family\", so a downstream copy of the job graph is retired rather than converged. The carrier is VSCode-Server-DotNetCore, whose copy replaces with the caller stub in docs/reusable-workflows.md \"Adopting the Type-Specific Tasks\" once a release carries the task.", "tracking": null },
{ "path": ".github/workflows/check-upstream-version-task.yml", "disposition": "retire", "reason": "The task is hub-hosted per docs/reusable-workflows.md \"The Docker Family\", so a downstream copy of the job graph is retired rather than converged. The carrier is ESPHome-NonRoot, whose check-upstream-version.yml caller and check-upstream-version-task.yml body both replace with the caller stub once a release carries the task. Its second tracker, check-upstream-dependency.yml, is a candidate to fold into the same hub task with auto-merge false, tracked as an adoption note rather than a gap here since it was never a copy of this snippet.", "tracking": null },
Expand Down