Found while verifying #5405 (deleting the dead release.yml). Filed unassigned, not fixed there — out of that card's scope, which was limited to release.yml and the doc describing it.
Measured
README.md line 11 carries this badge:
[[CodeQL](``https://github.com/objectstack-ai/objectui/workflows/CodeQL%20Security%20Scan/badge.svg)](https://github.com/objectstack-ai/objectui/actions/workflows/codeql.yml)``
Both halves point at something that is not there:
- No workflow file.
find .github -iname '*codeql*' returns nothing. .github/ holds dependabot.yml, labeler.yml, prompts/ and workflows/, and codeql.yml is in none of them. - No registered workflow.
GET /repos/objectstack-ai/objectui/actions/workflows returns 31 workflows. None is named CodeQL Security Scan, and none has the path .github/workflows/codeql.yml. The only dynamic/ entries are the Claude and Copilot agents.
Counter-probe, so that a pair of empty results is a reading rather than a broken query: the same workflow listing resolves 31 real entries including CI and Changeset Release, and the same find pattern with -iname '*release*' matches the files that do exist.
Why it is worth fixing rather than leaving
This is the failure mode this repository has already written down twice, pointing the dangerous way. From scripts/__tests__/ci-cd-pipeline-doc.test.ts (objectui#3197):
A doc that understates a gate is annoying; a doc that advertises a guardrail the CI does not have is worse than no doc, because people make size decisions believing something will stop them.
Same shape here, on the security surface and on the most-read page in the repo: a reader — human or agent — concludes that pushed code gets a CodeQL security scan. Nothing scans it. The badge image itself renders as "no status" rather than as an error, so it does not look broken to a casual eye.
Before fixing, one thing to check
Decide which of two different fixes applies, because they are opposite:
- CodeQL was never set up, or was removed — then the badge and its link are stale and should go, and whether the repo wants a CodeQL scan is a separate question worth asking rather than assuming.
- CodeQL "default setup" is enabled in repository settings — that form runs without a workflow file committed to the repo, so the absence of
codeql.yml would not mean the absence of scanning. In that case the badge is merely pointing at the wrong URL and the fix is to correct it, not delete it. This cannot be settled from inside the checkout; it needs the repository's Security settings, which is why this is filed rather than guessed at.
Whoever picks this up should establish which case holds first. Note also that a fix touching README.md alone does not get caught by the ci-cd-pipeline.md inventory pins — those cover content/docs/guide/ci-cd-pipeline.md, not the README, so the badge block is unpinned by construction and can drift again.
Evidence: #5405, #5393.
Found while verifying #5405 (deleting the dead
release.yml). Filed unassigned, not fixed there — out of that card's scope, which was limited torelease.ymland the doc describing it.Measured
README.mdline 11 carries this badge:Both halves point at something that is not there:
find .github -iname '*codeql*'returns nothing..github/holdsdependabot.yml,labeler.yml,prompts/andworkflows/, andcodeql.ymlis in none of them.GET /repos/objectstack-ai/objectui/actions/workflowsreturns 31 workflows. None is namedCodeQL Security Scan, and none has the path.github/workflows/codeql.yml. The onlydynamic/entries are the Claude and Copilot agents.Counter-probe, so that a pair of empty results is a reading rather than a broken query: the same workflow listing resolves 31 real entries including
CIandChangeset Release, and the samefindpattern with-iname '*release*'matches the files that do exist.Why it is worth fixing rather than leaving
This is the failure mode this repository has already written down twice, pointing the dangerous way. From
scripts/__tests__/ci-cd-pipeline-doc.test.ts(objectui#3197):Same shape here, on the security surface and on the most-read page in the repo: a reader — human or agent — concludes that pushed code gets a CodeQL security scan. Nothing scans it. The badge image itself renders as "no status" rather than as an error, so it does not look broken to a casual eye.
Before fixing, one thing to check
Decide which of two different fixes applies, because they are opposite:
codeql.ymlwould not mean the absence of scanning. In that case the badge is merely pointing at the wrong URL and the fix is to correct it, not delete it. This cannot be settled from inside the checkout; it needs the repository's Security settings, which is why this is filed rather than guessed at.Whoever picks this up should establish which case holds first. Note also that a fix touching
README.mdalone does not get caught by theci-cd-pipeline.mdinventory pins — those covercontent/docs/guide/ci-cd-pipeline.md, not the README, so the badge block is unpinned by construction and can drift again.Evidence: #5405, #5393.