Skip to content

scaffold drift: emitted output not aligned with current ecosystem patterns #41

@TMHSDigital

Description

@TMHSDigital

Summary

While populating Blender-Developer-Tools to v0.1.0 against current ecosystem
patterns, I found that scaffold/ in this repo emits an output that is now
materially behind several conventions established after the scaffold was last
touched. New tool repos generated today will land already-drifted from the
ecosystem and require manual rework before they pass drift-check@v1.9 or
align with release-doc-sync@v1.

This issue tracks the audit; no fix is requested in the issue itself.
Blender-Developer-Tools was populated using Plaid-Developer-Tools as the
working pattern reference, not the scaffold output, so the new repo lands at
current ecosystem patterns regardless of scaffold staleness.

Concrete gaps observed (against Plaid-Developer-Tools and

Home-Lab-Developer-Tools as reference points, with VERSION at 1.9.1)

  1. templates/validate.yml.j2 has no validate-counts job. Plaid grew
    one (DTD#39 era). The scaffold still only does JSON/manifest/frontmatter
    validation. New repos cannot enforce README aggregate count truthfulness
    out of the box.

  2. templates/ does not emit drift-check.yml. Consumer wiring at
    TMHSDigital/Developer-Tools-Directory/.github/actions/drift-check@v1.9
    is missing entirely. New repos start with zero drift coverage.

  3. templates/release.yml.j2 does not consume release-doc-sync@v1.
    The current template ends at gh release create ... --generate-notes
    without ever invoking the doc-sync action, so CHANGELOG.md, CLAUDE.md
    **Version:**, and ROADMAP.md **Current:** will not auto-update on
    release in newly scaffolded repos.

  4. templates/ does not emit label-sync.yml. No self-healing
    gh label create --force per-label loop pattern (the DTD#4 fix). New
    repos have no auto-labeling at all.

  5. templates/ does not emit dependabot.yml. The expected
    github-actions ecosystem entry (now standard across tool repos) is
    missing, so newly scaffolded repos will silently lag on action security
    updates.

  6. templates/CLAUDE.md.j2 does not carry a **Version:** line.
    release-doc-sync rewrites this line on every release. Without it
    in the template, freshly scaffolded repos start with a CLAUDE.md that
    release-doc-sync cannot align until somebody hand-adds the line.

  7. templates/ROADMAP.md.j2 is missing both the <!-- standards-version: -->
    marker and the **Current:** convention.
    Same problem as chore: finish Phase 1 with standards template and scaffold updates #6 plus the
    marker is required for drift-check@v1.9 to recognize the file. Today
    newly scaffolded ROADMAP.md fails drift-check on day one.

  8. templates/AGENTS.md.j2 does carry the standards-version marker.
    This one is correct. Listing it for completeness so the audit is
    exhaustive.

Suggested fix scope (not done in this issue)

  • Add validate-counts to validate.yml.j2.
  • Add a drift-check.yml.j2 template and emit it from create-tool.py.
  • Add the release-doc-sync@v1 step to release.yml.j2 between the version
    bump and the commit/tag step. Wire plugin-version and previous-version.
  • Add a label-sync.yml.j2 template using the per-label gh label create --force pattern.
  • Add a dependabot.yml.j2 template at .github/dependabot.yml with a
    github-actions ecosystem entry (weekly schedule, target main).
  • Add **Version:** {{ version }} to CLAUDE.md.j2.
  • Add <!-- standards-version: {{ standards_version }} --> and **Current:** {{ version }} to ROADMAP.md.j2.

Reference

Pattern source for all of the above: TMHSDigital/Plaid-Developer-Tools
(skills/rules/release flow) plus TMHSDigital/Home-Lab-Developer-Tools
(label-sync layout). Both currently mark standards-version: 1.9.0. Meta
VERSION at the time of audit: 1.9.1.

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