fix(tooling): fall back to uncached lints and force nightly scope - #817
Conversation
Amp-Thread-ID: https://ampcode.com/threads/T-01a0cf2b-5969-7627-bccd-702e8d30adda Co-authored-by: Amp <amp@ampcode.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Blocked merge diagnosis — blocked |
Up to standards ✅🟢 Issues
|
GitNexus Review · PR #8172 issues found across 1 file. 🤖 Agent context — 4 symbols · 7 filesSummaryThis appears to be a tooling and CI change focused on lint-cache fallback behavior and nightly test scope. The graph shows no dependent or execution-flow reach, but the workflow configuration warrants focused review. 🟠 HIGH blast radius. A tooling and CI change centered on Review
What changedSymbol Changes (4)
Changed Files (7)
What to checkFile Risk (2)
Prompt for AI agents (2 issues)Full detail lives in the GitNexus check run for this commit. |
Amp-Thread-ID: https://ampcode.com/threads/T-01a0cf2b-5969-7627-bccd-702e8d30adda Co-authored-by: Amp <amp@ampcode.com>
GitNexus Review · PR #8172 issues found across 1 file. 🤖 Agent context — 4 symbols · 7 filesSummaryThis appears to be a tooling and CI change focused on lint-cache fallback behavior and nightly test scope. The graph shows no dependent or execution-flow reach, but the workflow configuration warrants focused review. 🟠 HIGH blast radius. A tooling and CI change centered on Review
What changedSymbol Changes (4)
Changed Files (7)
What to checkFile Risk (2)
Prompt for AI agents (2 issues)Full detail lives in the GitNexus check run for this commit. |

Two follow-ups from the plans/147 and plans/149 sweeps, both in the same class: a check that looks like it ran.
1. The gate accused the wrong thing when its lint cache was missing (plans/147 §4.1)
quality_gate.shsourcesscripts/lib/lint_cache.shonly when the file exists, but callslint_if_changedunconditionally. With the library absent the helper is undefined, so every call failed ascommand not foundand the gate reported✗ shellcheck failed: <file>for every shell file — a false failure, with the cause invisible (that call discards stderr).It now defines an uncached fallback and warns once. The contract is unchanged, and a real finding still fails the gate.
2. A scheduled run had no guaranteed scope (plans/149 §5.1)
The nightly's
e2e-testsneedsunit-tests, and both gate onchanges.outputs.any_code. On a schedule there is no diff, so that value came fromdorny/paths-filter's fallback (list every file as added) — verified in today's07:59Zrun (Detected 1404 changed files,any_code = true). It worked by accident; had it resolved tofalse, the nightly would have silently no-opped again.A
forcedstep now writes the outputs astrueforscheduleandworkflow_dispatch, and every job output prefers it. PRs and pushes keep their real diff, so PR scope and cost are untouched.Also in this PR, in the same file: two
yamllintwarnings cleared (truthyonon:, comment indentation onworkflow_dispatch) and theSC2129findings in both output steps.Why today's nightly looked broken
The
07:59Zrun skipped every job, but its head (064702a) predates the plans/149 fix (9d693ba, 10:14 UTC) — a scheduled run uses the workflow as it exists on the default branch at trigger time. The next nightly is the first scheduled execution of the fixed workflow.Verification
bats tests/quality-gate-lint-cache.bats— 3/3 pass; with the fix reverted, test 1 fails (reproduces the false failure) while the fail-closed test keeps passing.pnpm exec vitest run src/lib/__tests__/workflows.test.ts— 64/64; dropping theforcedstep fails the new contract test../scripts/quality_gate.sh— all gates passed.yamllint(CI parity) andactionlintexit 0.Implementation record:
plans/151.📝 Summary by GitNexus
Summary
This appears to be a tooling and CI change focused on lint-cache fallback behavior and nightly test scope. The graph shows no dependent or execution-flow reach, but the workflow configuration warrants focused review.
🟠 HIGH blast radius. A tooling and CI change centered on
scripts/quality_gate.shand.github/workflows/ci-and-labels.yml, with no graph-resolved dependents.Review
scripts/quality_gate.shalongsidetests/quality-gate-lint-cache.batsfirst, since the PR title and branch indicate changes to uncached lint fallback behavior. The accompanying workflow test insrc/lib/__tests__/workflows.test.tsand the nightly-scope plan material indicate that CI behavior is part of the change surface..github/workflows/ci-and-labels.ymlis the HIGH-risk file. Confirm that its nightly scope aligns with the guard described byfix/lint-cache-fallback-and-nightly-guard, and that the script behavior remains covered when cached lint results are unavailable.Added by GitNexus for PR #817. Edit freely — this block is replaced on the next review, everything above it is left untouched.