Finding
scripts/import-architectures.mjs emits files that Prettier rejects, and nothing in
the import pipeline notices. Open PR #681 (chore: import latest reference architectures, head automation/import-architectures @ 5be488e) carries 16
changed files, every one of which fails prettier --check.
The same 16 paths are clean on main:
$ git checkout origin/main
$ npx prettier --check $(git diff --name-only origin/main...5be488e)
All matched files use Prettier code style!
$ git checkout 5be488e
$ npx prettier --check $(git diff --name-only origin/main...5be488e)
[warn] data/architectures/catalog.json
[warn] data/architectures/records/adobe.json
... (16 total)
[warn] Code style issues found in 16 files. Run Prettier with --write to fix.
So this is not inherited drift. The importer regenerates these files in a shape
Prettier does not accept, on every run. A representative diff, docs/architectures/zeiss.md:
---
-title: "ZEISS Vision Care - Order Fulfillment"
-sidebar_label: "ZEISS"
+title: 'ZEISS Vision Care - Order Fulfillment'
+sidebar_label: 'ZEISS'
---
-> Imported from the [CNCF Cloud Native Reference Architecture project](...). Source revision: `3ddf...`. Documentation is distributed under [CC BY 4.0](...).
+> Imported from the
+> [CNCF Cloud Native Reference Architecture project](...).
+> Source revision: `3ddf...`. Documentation is
+> distributed under [CC BY 4.0](...).
Quote style in frontmatter, prose wrapping, and the indentation of the generated
<CNCFProjectCard ... /> elements all differ from what Prettier produces.
Why no check catches it
.github/workflows/import-architectures.yml runs npm run test:unit, not
npm test. npm test is npm run check && npm run test:unit, and check is what
contains check:format (along with check:spelling, check:markdown,
check:links). By choosing test:unit the import job runs the unit suite and the
data validators but never the formatter, so the job goes green while producing
output that the repository's own formatting gate rejects.
The pull request it opens does not catch it either: that PR gets no Validate repository run at all (filed separately as a distinct root cause). Its only check
is DCO.
Consequence
Merging #681 as it stands makes npm run check:format — and therefore npm test —
fail on main for every contributor, in 16 files. This is the same failure that was
cleaned up once already in #510; the importer will keep reintroducing it every night
until the pipeline formats what it generates.
Recommendation
Format the generated output inside the import job, before the validators and before
the PR is opened. In .github/workflows/import-architectures.yml, replace this run
of steps:
- run: npm run import:architectures
- run: npm run validate:architectures
with:
- run: npm run import:architectures
# The generator does not emit Prettier-formatted output, so format it here:
# the job runs test:unit rather than the full `npm test`, which means
# check:format never runs, and the PR this job opens gets no CI of its own.
# Without this the import lands 16 files that fail `npm run check:format`
# on main.
- run: npm run fix:format
- run: npm run check:format
- run: npm run validate:architectures
npm run fix:format is the repository's existing script (prettier --write). No new
dependency, no new action pin, and check:format immediately afterwards keeps the
job honest if Prettier ever cannot normalise something on its own.
Verified at 5be488e
$ npm run fix:format
$ npx prettier --check $(git diff --name-only origin/main...5be488e)
All matched files use Prettier code style!
$ git status --porcelain | wc -l
16
fix:format touches exactly the 16 imported files and nothing else, and the recheck
passes. The fix is confirmed complete, not merely plausible.
This needs a human or an ISSUES_PRS_MERGE agent to land
The whole change is inside .github/workflows/. An agent at the contributor token
tier holds no workflows permission, so a push carrying this diff is rejected by
GitHub before anyone can review it. No pull request accompanies this issue — that
is a hard ceiling, not a choice. The replacement text above is complete and verbatim
so applying it is mechanical. No part of this fix lives outside
.github/workflows/, so nothing is being PR'd separately.
Priority
- Impact: high — the next merge of an import PR breaks
npm run check:format, and therefore npm test, on main for every contributor; it recurs nightly.
- Effort: low — two added steps in an existing job, both using scripts that already exist.
🐝 Hive Agent: quality | Instance: hosted-available-lke648397-260827-5n31 | SHA: 5be488e
— hive: agent=quality backend=copilot model=claude-opus-5 copilot=1.0.88
Finding
scripts/import-architectures.mjsemits files that Prettier rejects, and nothing inthe import pipeline notices. Open PR #681 (
chore: import latest reference architectures, headautomation/import-architectures@5be488e) carries 16changed files, every one of which fails
prettier --check.The same 16 paths are clean on
main:So this is not inherited drift. The importer regenerates these files in a shape
Prettier does not accept, on every run. A representative diff,
docs/architectures/zeiss.md:Quote style in frontmatter, prose wrapping, and the indentation of the generated
<CNCFProjectCard ... />elements all differ from what Prettier produces.Why no check catches it
.github/workflows/import-architectures.ymlrunsnpm run test:unit, notnpm test.npm testisnpm run check && npm run test:unit, andcheckis whatcontains
check:format(along withcheck:spelling,check:markdown,check:links). By choosingtest:unitthe import job runs the unit suite and thedata validators but never the formatter, so the job goes green while producing
output that the repository's own formatting gate rejects.
The pull request it opens does not catch it either: that PR gets no
Validate repositoryrun at all (filed separately as a distinct root cause). Its only checkis DCO.
Consequence
Merging #681 as it stands makes
npm run check:format— and thereforenpm test—fail on
mainfor every contributor, in 16 files. This is the same failure that wascleaned up once already in #510; the importer will keep reintroducing it every night
until the pipeline formats what it generates.
Recommendation
Format the generated output inside the import job, before the validators and before
the PR is opened. In
.github/workflows/import-architectures.yml, replace this runof steps:
with:
npm run fix:formatis the repository's existing script (prettier --write). No newdependency, no new action pin, and
check:formatimmediately afterwards keeps thejob honest if Prettier ever cannot normalise something on its own.
Verified at
5be488efix:formattouches exactly the 16 imported files and nothing else, and the recheckpasses. The fix is confirmed complete, not merely plausible.
This needs a human or an ISSUES_PRS_MERGE agent to land
The whole change is inside
.github/workflows/. An agent at thecontributortokentier holds no
workflowspermission, so a push carrying this diff is rejected byGitHub before anyone can review it. No pull request accompanies this issue — that
is a hard ceiling, not a choice. The replacement text above is complete and verbatim
so applying it is mechanical. No part of this fix lives outside
.github/workflows/, so nothing is being PR'd separately.Priority
npm run check:format, and thereforenpm test, onmainfor every contributor; it recurs nightly.🐝 Hive Agent:
quality| Instance:hosted-available-lke648397-260827-5n31| SHA:5be488e— hive: agent=quality backend=copilot model=claude-opus-5 copilot=1.0.88