[quality] Content-only CI path skips the document-contract suites that guard authored documents
维护者通常 1 天内回复
已经有一个关联 PR 被合并了。
- #2010 来自 @mrbobbytables —— 已合并
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 25/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 停滞
- 技术栈
- github-actions, javascript
调研方向
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.
由索引模型根据 Issue 内容生成。
描述
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
- 主要语言
- JavaScript
- 星标
- 0
- 派生
- 3
- 平均合并
- 6 小时 49 分钟
- 30 天内合并 PR
- 563
环境准备
在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
cncf/endusers 的其他 Issue
-
agent/quality stage/040-covered-by-pr testing
难度 2/5 1-3 小时 新手友好度 85/100
维护者通常 1 天内回复
-
agent/sec-check security stage/010-actionable
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
needs-human stage/045-needs-decision
难度 4/5 1-2 天 新手友好度 30/100
维护者通常 1 天内回复
-
a11y: search button accessible name does not contain its visible label (WCAG 2.5.3)可能重新可做 关联的 PR 已关闭且未合并。 未关闭blocked bug hive/claimed-by-scanner needs-human
难度 4/5 3-5 天 新手友好度 39/100
维护者通常 1 天内回复
-
🐝 Hive Advisory Report可能重新可做 关联的 PR 已关闭且未合并。 未关闭hive/advisory
难度 5/5 一周以上 新手友好度 15/100
维护者通常 1 天内回复
相似的 Issue
-
bug namespace v1 blocker
难度 2/5 1-3 小时 新手友好度 75/100
oakmac/standard-clojure-style-js#269 ·
维护者通常 1 天内回复
-
bug good first issue
难度 2/5 1-3 小时 新手友好度 78/100
CakeRepository/agentshangout#12 ·
维护者通常 1 天内回复
-
JS/TS: JSX props compile errors should link to a doc page explaining the static-list requirement未关闭area: js-runtime enhancement exists-upstream interop priority: low
难度 2/5 1-3 小时 新手友好度 78/100
shayanhabibi/fickl#307 ·
维护者通常 1 天内回复
-
editor good first issue
难度 2/5 1-3 小时 新手友好度 82/100
webarkit/webarkit-studio#16 ·
-
agent/dedupe stage/045-needs-decision
难度 1/5 1 小时以内 新手友好度 90/100
projectbluefin/documentation#1637 ·
维护者通常 1 天内回复