Repository navigation
ci: treat the speed-loop record as prose, not a full board - #496
Merged
Merged
Conversation
docs/ci-speed/ledger.json and index.html are generated data. The
classifier treated only Markdown as inert, so each record PR fell
through to "a non-Markdown path" and ran the full board.
Only scripts/ci-speed-loop.mjs reads these files, and it runs by
hand. That script matches the scripts/ci-* CI rule, so a change to
it still runs the CI lanes.
The new spec failed first ("expected 'full' to be 'prose'").
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Dashboard-only PRs ran the full board.
docs/ci-speed/ledger.jsonanddocs/ci-speed/index.htmlare generated data, but the classifier treated only.mdas inert, so both fell through to "a non-Markdown path". PR #495 was a record-only change that ran the full board twice: once in the PR and once in the merge queue.Change
scripts/ci-change-scope.mjs: the two generated files selectprose, like Markdown.scripts/ci-speed-loop.mjsis not changed. It matches thescripts/ci-*CI rule, so a change to it still runs the CI lanes.scripts/__tests__/ci-efficiency.spec.ts: a new test, written first. It failed withexpected 'full' to be 'prose'before the classifier change.AGENTS.mdand the rootCLAUDE.mdmirror: the inert-prose sentence names the record.Decisions
ci.ymlruns no board on a draft PR. A PR that becomes draft while a run is in flight keeps that run. Cancelling it needsci-janitor.ymlto listen forconverted_to_draft, butci-structure.spec.tspins that trigger toclosed. That rule is the owner's to change, so it is not changed here.pnpm lint.ledger.jsonpassesbiome checklocally.index.htmlis not a Biome target. A hand edit that broke the JSON format would pass CI until a full board runs. Accepted, because a CI-scope script writes the file.Checked locally (commit 41eb752, run after the push)
pnpm typecheck: exit 0.pnpm lint: exit 0. Biome reports 0 errors and 1,392 warnings across the repo.pnpm sync:agents --check: exit 0.pnpm test: exit 1. 21 tests fail in 6 files, all inpackages/runtime-native. 1,550 tests pass. No failure is outside that package. This worktree has no native host build (packages/runtime-native/build/does not exist). Two files name the missing binary (crash-handler-policy,rg11b10-renderable), andruntime-next-contractsays to build the host first. The other three (pump-silence,native-adapter-policy,timestamp-query) also run the host. I did not read their errors. CI'stestjob passed on these test files at merge-group run38189272195(sha35139bd18). Since then, the only runtime-native change isgenerated-render-chain.test.mjs, which is not in the failing list. Not verified locally. The PR run and the merge-queue run both skipped thetestjob, because this scope isci. This merge did not run the runtime-native tests in CI. (Correction after merge: an earlier draft of this section said the merge-queue run executestest. That was wrong.)pnpm check:docs(run insidepnpm test): 3,029 links in 1,350 files, no errors.scripts/__tests__/ci-efficiency.spec.ts: 55 of 55 pass.pnpm exec biome check docs/ci-speed/ledger.json: clean.