You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
.github/WORKFLOWS.md documents 5 workflows that do not exist and omits 9 that do — including a changeset gate and a skip-changeset label neither of which is real #3724
Found while implementing #3523 (PR #3722). Filed rather than fixed there — out of that card's scope — but it cost real time in that task, which is the argument for it being a defect rather than tidiness.
Measured
Comparing the **File**: ...yml entries in .github/WORKFLOWS.md against .github/workflows/:
Documented, but does not exist (5):changeset-check.yml, codeql.yml, deploy-docs.yml, pr-checks.yml, size-check.yml
The page does not merely lag; it advertises guardrails that do not exist, which is the exact direction scripts/__tests__/ci-cd-pipeline-doc.test.ts was written to catch on the other page:
Section 9 describes a "Changeset Check" workflow that "fails the check if changeset is missing" and can "be skipped with skip-changeset or dependencies label". No such workflow exists. skip-changeset is not a label in this repository either — the API returns label 'skip-changeset' not found in objectstack-ai/objectui. A contributor following that instruction adds a label that cannot be created without repo permissions, to skip a check that never runs.
size-check.yml is named as a real workflow. That specific filename is the subject of a dedicated assertion on the other page — it('does not resurrect the never-existent size-check.yml') in ci-cd-pipeline-doc.test.ts — added because it "has never existed in this repository" (Docs:ci-cd-pipeline.md 的 Performance Budget / Size Check 两节与实际工作流不符(预算数字差 5.8 倍、记录了一个不存在的工作流) #3197). The pin covers content/docs/guide/ci-cd-pipeline.md and nothing else, so the same false claim survives untouched one directory over.
Delete .github/WORKFLOWS.md and leave content/docs/guide/ci-cd-pipeline.md as the single home. That page is pinned in both directions — a workflow with no heading fails pnpm test, and a heading naming a nonexistent .yml fails too — so the drift cannot recur there. A second, unpinned copy of the same inventory is a drift generator by construction, which is the lint.yml 的头部注释说「三条 object-ui/* 规则设成 error」,实际已经是四条 #3261 argument for not keeping hand-maintained enumerations at all.
Keep it and extend the pin to cover both files. More work, and it leaves two documents saying the same thing, which is how they diverged.
Recommendation: (1). The content worth keeping (the "when to skip" guidance, the per-workflow "if it fails" notes) either already exists on the guide page or can be moved there in the same change, and the guide page's pin then owns it.
Not urgent, but not cosmetic either: this page is what an agent or a new contributor reads first, being in .github/, and it currently instructs them to do impossible things.
Found while implementing #3523 (PR #3722). Filed rather than fixed there — out of that card's scope — but it cost real time in that task, which is the argument for it being a defect rather than tidiness.
Measured
Comparing the
**File**: ...ymlentries in.github/WORKFLOWS.mdagainst.github/workflows/:Documented, but does not exist (5):
changeset-check.yml,codeql.yml,deploy-docs.yml,pr-checks.yml,size-check.ymlExists, but undocumented (9):
changeset-guard.yml,check-links.yml,control-bytes.yml,cross-repo-issue-closer.yml,docs-links.yml,live-e2e.yml,lint.yml,performance-budget.yml,shadcn-check.ymlWhy this is worse than an out-of-date file
The page does not merely lag; it advertises guardrails that do not exist, which is the exact direction
scripts/__tests__/ci-cd-pipeline-doc.test.tswas written to catch on the other page:skip-changesetordependencieslabel". No such workflow exists.skip-changesetis not a label in this repository either — the API returnslabel 'skip-changeset' not found in objectstack-ai/objectui. A contributor following that instruction adds a label that cannot be created without repo permissions, to skip a check that never runs.size-check.ymlis named as a real workflow. That specific filename is the subject of a dedicated assertion on the other page —it('does not resurrect the never-existent size-check.yml')inci-cd-pipeline-doc.test.ts— added because it "has never existed in this repository" (Docs:ci-cd-pipeline.md 的 Performance Budget / Size Check 两节与实际工作流不符(预算数字差 5.8 倍、记录了一个不存在的工作流) #3197). The pin coverscontent/docs/guide/ci-cd-pipeline.mdand nothing else, so the same false claim survives untouched one directory over.lint.ymlis a real PR gate and is absent. That is Docs:ci-cd-pipeline.md 的工作流清单与 ci.yml 一节仍与实际不符(11 vs 12、两个工作流没被记录、五个任务名里三个不存在) #3212 verbatim ("lint.ymlgated PRs for months while this page never mentioned it"), on the second page.Two candidate resolutions
.github/WORKFLOWS.mdand leavecontent/docs/guide/ci-cd-pipeline.mdas the single home. That page is pinned in both directions — a workflow with no heading failspnpm test, and a heading naming a nonexistent.ymlfails too — so the drift cannot recur there. A second, unpinned copy of the same inventory is a drift generator by construction, which is the lint.yml 的头部注释说「三条 object-ui/* 规则设成 error」,实际已经是四条 #3261 argument for not keeping hand-maintained enumerations at all.Recommendation: (1). The content worth keeping (the "when to skip" guidance, the per-workflow "if it fails" notes) either already exists on the guide page or can be moved there in the same change, and the guide page's pin then owns it.
Not urgent, but not cosmetic either: this page is what an agent or a new contributor reads first, being in
.github/, and it currently instructs them to do impossible things.