[quality] Content-only CI path skips the document-contract suites that guard authored documents
Los mantenedores suelen responder en 1 día
Ya se ha fusionado un pull request relacionado.
- #2010 de @mrbobbytables — fusionado
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Stack tecnológico
- github-actions, javascript
Línea de trabajo
Read .github/workflows/ci.yml, especially the “Check content contracts” step, and inspect the listed suites alongside the eligible authored document paths described in the issue. The issue reports that the fix is a single workflow test list and gives the proposed additions; completion means those suites run on the content-only path. An open linked pull request (#2010) already covers the issue.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Finding
ADR 0011 keeps "the applicable document-contract checks" on the focused path.
The implementation keeps three: tests/docs-contract.test.mjs,
tests/markdown-references.test.mjs and
tests/community-group-coverage.test.mjs
(.github/workflows/ci.yml, step "Check content contracts"). Other
document-contract suites read the same eligible authored documents and are
skipped, so a prose-only PR can pass every focused check and still break the
required Validate repository job. merge_group classifies the merge commit
the same way, so the PR merges green and the next full-validation PR — anyone
else's — opens red.
Two instances verified at c686990 on a clean npm ci tree:
- Unindexed ADR. Adding
adr/0012-example-decision.mdalone:
classifyChanges('pull_request', <sha>, [{status:'A', path:'adr/0012-example-decision.md'}])
returns{"documentOnly":true,...}; the trio passes (pass 19 / fail 0) and
runDocumentLintpasses prettier, cspell and markdownlint; but
node --test tests/adr-contract.test.mjsfails
"every number-prefixed ADR file is listed in the index".adr/is not part
of the Docusaurus build, so the production build does not catch it either. - Broken relative link in a root document. Appending
[missing page](docs/nope-not-here.md)toREADME.md:
tests/markdown-references.test.mjsreportsfail 0,
tests/root-docs-links.test.mjsreportsfail 1. A broken link in
README.mdis also visible to anyone reading the repository on GitHub.
This is one gate-configuration defect, not two findings: both are the same
missing entries in one list.
Recommendation
Extend the node --test list in the "Check content contracts" step with the
document-contract suites whose inputs are classifier-eligible documents
(adr/**, blog/**, docs/** except the data-backed and architecture-generated
pages, and the ROOT_DOCUMENTS set). Suites that only read ineligible inputs
(tests/events-page.test.mjs — docs/events/index.md is data-backed;
tests/mdx-active-content.test.mjs — docs/architectures/_security-regression.md
is not eligible) are deliberately left out.
Replace, in .github/workflows/ci.yml:
- name: Check content contracts
if: ${{ !cancelled() && env.CONTENT_ONLY == 'true' }}
run: >-
node --test tests/docs-contract.test.mjs
tests/markdown-references.test.mjs
tests/community-group-coverage.test.mjs
with:
- name: Check content contracts
if: ${{ !cancelled() && env.CONTENT_ONLY == 'true' }}
run: >-
node --test tests/docs-contract.test.mjs
tests/markdown-references.test.mjs
tests/community-group-coverage.test.mjs
tests/adr-contract.test.mjs
tests/architecture-submission-contract.test.mjs
tests/architectures-sidebar-contract.test.mjs
tests/blog-frontmatter.test.mjs
tests/content-security-contract.test.mjs
tests/contributing-e2e-setup.test.mjs
tests/contributing-just-build-parity.test.mjs
tests/docs-threshold-parity.test.mjs
tests/e2e-docs-threshold-parity.test.mjs
tests/enduser-directory-copy.test.mjs
tests/governance-hygiene-parity.test.mjs
tests/root-docs-links.test.mjs
tests/skills-manifest.test.mjs
The full list runs 134 tests, fail 0, in 1.2s locally at c686990, so the
focused path stays fast. tests/content-only-ci-workflow.test.mjs asserts the
step's if: expression and not its command, so no test file needs to change
with it; this does not touch any threshold (ADR 0008).
This change needs a human or an ISSUES_PRS_MERGE agent to land. The fix is
confined to .github/workflows/ci.yml, and this lane's token is minted without
the Workflows permission, so no PR it pushes could contain the edit. Nothing
here lives outside .github/workflows/, so there is no partial PR to open.
Priority
- Impact: high — a prose-only merge turns a required check red for every other
contributor until someone bisects it. - Effort: low — one list in one workflow step.
Filed by quality agent (hold-gated mode)
🐝 Hive Agent: quality | Instance: hosted-available-lke648397-260827-5n31 | SHA: c686990
— hive: agent=quality backend=copilot model=claude-opus-5 copilot=1.0.88
- Lenguaje dominante
- JavaScript
- Estrellas
- 0
- Forks
- 3
- Merge medio
- 6 h 49 min
- PR fusionados (30 d)
- 563
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de cncf/endusers
-
agent/quality stage/040-covered-by-pr testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
cncf/endusers#2031 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
agent/sec-check security stage/010-actionable
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
cncf/endusers#2030 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
needs-human stage/045-needs-decision
Dificultad 4/5 1-2 días Aptitud para principiantes 30/100
cncf/endusers#2011 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
a11y: search button accessible name does not contain its visible label (WCAG 2.5.3)Quizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abiertoblocked bug hive/claimed-by-scanner needs-human
Dificultad 4/5 3-5 días Aptitud para principiantes 39/100
cncf/endusers#1618 · 8 comentarios ·
Los mantenedores suelen responder en 1 día
-
🐝 Hive Advisory ReportQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abiertohive/advisory
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
cncf/endusers#23 · 11 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de cncf/endusers
Issues similares
-
Let TypeScript accept an initial object in ReactiveDictPosiblemente ocupada @yograj-vijay-yadav la tomó hoy. Abiertobug good first issue help wanted workshop
Dificultad 2/5 1-3 horas Aptitud para principiantes 92/100
meteor/meteor#14919 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
akitaonrails/FrankMD#268 ·
Los mantenedores suelen responder en 1 día
-
account: profile
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 5 días
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
mfreed7/xslt_polyfill#65 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día