Skip to content

Track template-convergence review findings #208

Description

@ptr727

Context

Codex re-reviewed the current template-alignment PR heads across the scoped repos after the downstream agents marked them ready for review. This issue is a hub checklist for findings that remain after that pass, plus template/generalization questions that should be decided upstream before downstreams converge again.

Reviewed alignment PR heads:

Validation run: actionlint via rhysd/actionlint:latest was clean across all listed alignment branches.

Downstream fixes still needed

  • PlexCleaner: merge-bot workflow is still on the old shape.

    • Current file: PlexCleaner/.github/workflows/merge-bot-pull-request.yml lines 3-9 still use pull_request, group: ${{ github.workflow }}-${{ github.ref }}, and cancel-in-progress: true.
    • It also lacks the template's opened/reopened-only merge guard and disable-auto-merge-on-maintainer-push job.
    • Suggested correction: carry/adapt the current ProjectTemplate merge-bot-pull-request.yml shape: pull_request_target, per-PR concurrency on ${{ github.event.pull_request.number }}, cancel-in-progress: false, opened/reopened guards, and maintainer-push disable logic. Keep only the repo's genuine target set.
  • Utilities: publish artifacts are not cleaned up.

    • Current file: Utilities/.github/workflows/build-nugetlibrary-task.yml uploads release-asset-${{ inputs.branch }}-nugetlibrary, but Utilities/.github/workflows/publish-release.yml has no terminal cleanup-artifacts job.
    • Suggested correction: add the template terminal cleanup job to publish-release.yml with needs covering setup, publish, and date-badge, if: ${{ always() && needs.setup.outputs.publish == 'true' }}, permissions: actions: write, and best-effort REST deletion.
  • PlexCleaner: publish artifacts are not cleaned up.

    • Current files: PlexCleaner/.github/workflows/build-executable-task.yml uploads both matrix build artifacts and release-asset-${{ inputs.branch }}-executable; build-toolversions-task.yml uploads versions-*; but PlexCleaner/.github/workflows/publish-release.yml has no terminal cleanup-artifacts job.
    • Suggested correction: add the template terminal cleanup job with needs covering setup, publish, tool-versions, docker-readme, and date-badge, gated by always() && needs.setup.outputs.publish == 'true'.
  • homeassistant-purpleair: BYOB action is still tag-pinned and the comment is stale.

    • Current file: homeassistant-purpleair/.github/workflows/build-datebadge-task.yml lines 35-38 says BYOB is not SHA-pinnable and uses RubbaBoy/BYOB@v1.
    • Current template pins it as RubbaBoy/BYOB@a4919104bc0ec7cfd7f113e42c405cc45246f2a4 # v1.
    • Suggested correction: replace the floating tag with the template SHA pin and remove the stale comment.

Template/generalization questions

  • Clarify whether action pinning applies to repo-owned build-layer leaves.

    • ProjectTemplate AGENTS.md says every action must be SHA-pinned except dotnet/nbgv@master.
    • NxWitness documents build-docker-task.yml, build-base-images-task.yml, and test-release-task.yml as repo-owned build-layer leaves whose action versions remain tag-owned and Dependabot-managed. Those files currently contain actions/checkout@v7, docker/setup-qemu-action@v4, docker/setup-buildx-action@v4, docker/login-action@v4, docker/build-push-action@v7, and actions/setup-dotnet@v5.
    • Suggested upstream decision: either require SHA pinning in repo-owned build leaves too, or document a narrow exception/ownership rule so downstream agents stop flagging this as drift.
  • Clarify Docker cache policy for multi-image repos.

    • ProjectTemplate AGENTS.md says Docker layer cache should use registry tags, not type=gha, to avoid the 10 GB Actions cache.
    • NxWitness uses type=gha in its multi-image build leaves, including PR-scoped caches and per-image branch caches. It also uses one registry cache line for shared base images.
    • Suggested upstream decision: either migrate NxWitness to registry-backed per-image caches, or add a documented exception/general pattern for multi-image repos where registry cache tags are impractical or too expensive.
  • Remove stale CODESTYLE droppable-section wording from downstream instructions.

    • Current ProjectTemplate CODESTYLE.md says the file is carried whole and unused language sections are inert.
    • Some downstream AGENTS text still says language sections are droppable or instructs re-syncing then dropping unused language sections. Examples found: Utilities, PlexCleaner, KiCadLibrary, VSCode-Server-DotNetCore.
    • Suggested correction: converge downstream AGENTS text on the current carry-whole-file model, or update the template if droppable language sections are still meant to be supported.

Notes

  • This issue intentionally separates downstream fixes from upstream policy questions. If a policy question is resolved upstream, downstreams should reapply the template decision rather than maintaining private exceptions.
  • No file changes were made by Codex during this review pass.

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