[GH-ISSUE #3116] fix(ci): run owning static checks for executable documentation changes #1084

Closed
opened 2026-10-15 18:30:57 +00:00 by bsakaguchi · 0 comments
Owner

Originally created by @N0zoM1z0 on GitHub (Oct 14, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/3116

Originally assigned to: @N0zoM1z0 on GitHub.

A pull request that changes only executable code under docs/ can pass the selected CI checks without running its owning static checkers. Verified on main at f3534749e564421036ac445f536fc766b038208f.

Reproduction and evidence

  1. Change only docs/.vitepress/config.ts, adding export const ciAuditTypeError: number = "ci-audit";.
  2. Run the production change planner (scripts/ci/plan.mjs) against the before/after commits: it selects docs=true, code=false, tier=fast.
  3. npm run format:check and npm run docs:check both exit 0. tsc --noEmit exits 1 with TS2322 at the injected line.
  4. .github/workflows/ci.yml runs check:ci only when code=true; the documentation lane does not run TypeScript. The required-lane gate accepts successful selected lanes, so it cannot detect this missing check.

tsconfig.json explicitly includes the VitePress config, and the lint/cache inventories already recognize authored JavaScript/TypeScript under docs/. The planner's broad documentation branch returns before selecting code checks. ciChangeScope.test.ts currently codifies code=false for this typed config. This is a real false-green path, not an unavailable provider or stale build.

Proposed correction

Classify authored executable documentation files at the selection owner so they retain documentation checks and also select portable code/static checks. Cover supported JS/TS extensions and removed paths. Keep Markdown-only changes on the inexpensive documentation route; do not enable unrelated native/provider lanes.

Validation and performance requirements

  • Regression must fail against the unmodified planner and pass after the fix.
  • Exercise the production planner and workflow gate, including malformed typed configuration and Markdown controls.
  • Run focused selection/gate/cache tests, static checks and discovery.
  • Keep selection overhead bounded by changed paths, without new repository traversal or subprocesses. Do not claim a global CI speedup: this correction intentionally restores necessary checks for authored documentation code.

Toolchain used for the audit: Node 24.18.0, npm 11.16.0, Linux x64. The injected fault was restored after measurement. No real-provider coverage is claimed.

Originally created by @N0zoM1z0 on GitHub (Oct 14, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/3116 Originally assigned to: @N0zoM1z0 on GitHub. A pull request that changes only executable code under `docs/` can pass the selected CI checks without running its owning static checkers. Verified on `main` at `f3534749e564421036ac445f536fc766b038208f`. ### Reproduction and evidence 1. Change only `docs/.vitepress/config.ts`, adding `export const ciAuditTypeError: number = "ci-audit";`. 2. Run the production change planner (`scripts/ci/plan.mjs`) against the before/after commits: it selects `docs=true`, `code=false`, `tier=fast`. 3. `npm run format:check` and `npm run docs:check` both exit 0. `tsc --noEmit` exits 1 with TS2322 at the injected line. 4. `.github/workflows/ci.yml` runs `check:ci` only when `code=true`; the documentation lane does not run TypeScript. The required-lane gate accepts successful selected lanes, so it cannot detect this missing check. `tsconfig.json` explicitly includes the VitePress config, and the lint/cache inventories already recognize authored JavaScript/TypeScript under `docs/`. The planner's broad documentation branch returns before selecting code checks. `ciChangeScope.test.ts` currently codifies `code=false` for this typed config. This is a real false-green path, not an unavailable provider or stale build. ### Proposed correction Classify authored executable documentation files at the selection owner so they retain documentation checks and also select portable code/static checks. Cover supported JS/TS extensions and removed paths. Keep Markdown-only changes on the inexpensive documentation route; do not enable unrelated native/provider lanes. ### Validation and performance requirements - Regression must fail against the unmodified planner and pass after the fix. - Exercise the production planner and workflow gate, including malformed typed configuration and Markdown controls. - Run focused selection/gate/cache tests, static checks and discovery. - Keep selection overhead bounded by changed paths, without new repository traversal or subprocesses. Do not claim a global CI speedup: this correction intentionally restores necessary checks for authored documentation code. Toolchain used for the audit: Node 24.18.0, npm 11.16.0, Linux x64. The injected fault was restored after measurement. No real-provider coverage is claimed.
bsakaguchi 2026-10-15 18:30:57 +00:00
  • closed this issue
  • added the
    bug
    label
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#1084
No description provided.