Skip to content

ci: treat the speed-loop record as prose, not a full board - #496

Merged
jonit-dev merged 1 commit into
developfrom
ci/dashboard-prose
Oct 12, 2026
Merged

jonit-dev merged 1 commit into
developfrom
ci/dashboard-prose

Conversation

@jonit-dev

@jonit-dev jonit-dev commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Why

Dashboard-only PRs ran the full board. docs/ci-speed/ledger.json and docs/ci-speed/index.html are generated data, but the classifier treated only .md as 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 select prose, like Markdown.
  • scripts/ci-speed-loop.mjs is not changed. It matches the scripts/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 with expected 'full' to be 'prose' before the classifier change.
  • AGENTS.md and the root CLAUDE.md mirror: the inert-prose sentence names the record.

Decisions

  • Draft PRs keep their current CI behaviour. ci.yml runs no board on a draft PR. A PR that becomes draft while a run is in flight keeps that run. Cancelling it needs ci-janitor.yml to listen for converted_to_draft, but ci-structure.spec.ts pins that trigger to closed. That rule is the owner's to change, so it is not changed here.
  • CI does not lint the two dashboard files. Prose-only changes skip pnpm lint. ledger.json passes biome check locally. index.html is 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.
  • One PR. PR docs(ci-speed): record iteration 21, narrowed merge-group window (PRD-550) #495 (the iteration-21 record) is closed. Its branch is kept until the record is re-recorded or archived.

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 in packages/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), and runtime-next-contract says 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's test job passed on these test files at merge-group run 38189272195 (sha 35139bd18). Since then, the only runtime-native change is generated-render-chain.test.mjs, which is not in the failing list. Not verified locally. The PR run and the merge-queue run both skipped the test job, because this scope is ci. 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 executes test. That was wrong.)
  • pnpm check:docs (run inside pnpm 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.

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'").
@jonit-dev
jonit-dev added this pull request to the merge queue Oct 12, 2026
Merged via the queue into develop with commit 451fdcf Oct 12, 2026
51 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant