Found while resyncing Blog (ptr727/Blog) against the hub, following RESYNC.md's "Adopting the Gates" section.
The gap
The hub-hosted .github/workflows/validate-task.yml lint job hardcodes the markdownlint step:
- name: Lint Markdown step
uses: DavidAnson/markdownlint-cli2-action@21c1be1b93ad9ed58fa840aacc3f279cde2a72ff # v24.2.0
with:
globs: '**/*.md'
There is no workflow_call input to narrow or exclude paths from this glob, and .markdownlint-cli2.jsonc is declared "fidelity": "verbatim", "whole": true in spec/files.json, so a downstream repo cannot customize it locally either. The only mitigation the shared config offers is "gitignore": true, which excludes gitignored paths, not tracked-but-not-authored-here paths.
Where this actually bites
Blog vendors the PaperMod theme under themes/PaperMod/ and carries an imported WordPress content archive under content/**, both git-tracked (not gitignored). Blog's current (pre-migration) validate-task.yml deliberately excludes both from its markdownlint step:
globs: |
**/*.md
!content/**
!themes/*/**
!public/**
Adopting the hub's validate-task.yml as documented would start linting several hundred WordPress-imported posts and the entire vendored theme tree (issue templates, docs, etc.) that Blog does not author and has no way to keep clean, breaking the PR gate rather than improving it.
Ask
Some way for a caller to narrow the markdownlint glob without touching .markdownlint-cli2.jsonc - a workflow_call input (e.g. markdown_exclude_globs) forwarded into the action's globs: list, or an equivalent mechanism (a .markdownlintignore convention the action already supports, if that composes with gitignore: true cleanly). Blog's test-pull-request.yml/validate-task.yml migration ("Adopting the Gates") is on hold pending this.
Filed per RESYNC.md section 2's "File defects in the hub" guidance; audit run stamp: audit run 2026-08-22T21:56:31Z | hub d5605f5.
Found while resyncing Blog (ptr727/Blog) against the hub, following RESYNC.md's "Adopting the Gates" section.
The gap
The hub-hosted
.github/workflows/validate-task.ymllintjob hardcodes the markdownlint step:There is no
workflow_callinput to narrow or exclude paths from this glob, and.markdownlint-cli2.jsoncis declared"fidelity": "verbatim", "whole": trueinspec/files.json, so a downstream repo cannot customize it locally either. The only mitigation the shared config offers is"gitignore": true, which excludes gitignored paths, not tracked-but-not-authored-here paths.Where this actually bites
Blog vendors the PaperMod theme under
themes/PaperMod/and carries an imported WordPress content archive undercontent/**, both git-tracked (not gitignored). Blog's current (pre-migration)validate-task.ymldeliberately excludes both from its markdownlint step:Adopting the hub's
validate-task.ymlas documented would start linting several hundred WordPress-imported posts and the entire vendored theme tree (issue templates, docs, etc.) that Blog does not author and has no way to keep clean, breaking the PR gate rather than improving it.Ask
Some way for a caller to narrow the markdownlint glob without touching
.markdownlint-cli2.jsonc- aworkflow_callinput (e.g.markdown_exclude_globs) forwarded into the action'sglobs:list, or an equivalent mechanism (a.markdownlintignoreconvention the action already supports, if that composes withgitignore: truecleanly). Blog'stest-pull-request.yml/validate-task.ymlmigration ("Adopting the Gates") is on hold pending this.Filed per RESYNC.md section 2's "File defects in the hub" guidance; audit run stamp:
audit run 2026-08-22T21:56:31Z | hub d5605f5.