chore(deps-dev): bump @types/node from 24.13.2 to 26.0.1 - #94
Closed
dependabot[bot] wants to merge 1 commit into
Closed
chore(deps-dev): bump @types/node from 24.13.2 to 26.0.1#94dependabot[bot] wants to merge 1 commit into
dependabot[bot] wants to merge 1 commit into
Conversation
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 24.13.2 to 26.0.1. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-version: 26.0.1 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
BigSimmo
commented
Jun 29, 2026
Owner
Closing for now because this repo is explicitly pinned to Node 24.x/npm 11.x, while this PR moves the Node type surface to @types/node 26. We should revisit when the runtime/toolchain is intentionally moved to Node 26. |
ContributorAuthor
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |
This was referenced Jul 30, 2026
BigSimmo added a commit
that referenced
this pull request
Jul 30, 2026
* fix(ci): distinguish a cancelled PR-required run from a real failure `cancel-in-progress` supersedes an in-flight run on every push, and the aggregate's require_* helpers lumped the resulting `cancelled` in with `failure`. The red was therefore indistinguishable from a genuine break at a glance. Measured cost: one 2026-07-30 session spent four separate investigations on `::error::changes result was cancelled` / `static-pr result was cancelled`, and PR #1401 merged straight through an unrelated red the repo had learned to ignore — which is the worse half, because a signal that is red for reasons unrelated to the diff trains everyone to click through the one time it is real. The aggregate now wires RUN_CANCELLED: ${{ cancelled() }}, reports a workflow-level cancellation once through a shared cancelled_error helper, and labels a cancelled job result as cancelled rather than as a plain failure. The message is actionable rather than merely accurate: it names the supersession, points at the newest run for the current head, and tells a reader who finds no newer run that the run was hand-cancelled, verified nothing, and must be re-run rather than merged past. The obvious fix was rejected as unsafe. Treating cancelled as neutral, or skipping the aggregate with `if: !cancelled()`, makes the red disappear — but GitHub counts a SKIPPED required check as PASSING, so a hand-cancelled run on the current head would become mergeable with nothing verified. That is also what #95's own stop rule forbids. So the result stays RED; only the diagnosis cost is removed, and `if: always()` is now pinned by a test with the reason recorded. Seven cases in tests/ci-cache-safety.test.ts EXECUTE the extracted aggregate script under synthetic job results rather than grepping the YAML, because the defect was behavioural and a structural assertion passed against it (#94). They cover the green baseline, workflow-level cancellation, a single cancelled job, a genuine failure keeping its plain message with no cancellation excuse, and the invariant that no cancelled required job can ever exit 0. Mutation-proven: three fail against the pre-fix aggregate, and one asserts the extraction is non-empty so a YAML restructure cannot make the group vacuously green. Verified: verify:cheap — Test Files 432 passed (432), Tests 4477 passed | 4 skipped (4481); check:github-actions, check:ci-scope, check:ci-triage, prettier all pass. Ledger #95 records the fix and the rejected approach. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012YRCXgX4AWZ579bKN6sk6b * fix(ci): drop the invalid cancelled() env expression that broke ci.yml My previous commit wired the workflow-level cancelled status function through an `env:` value. That is invalid: GitHub allows the status-check functions (success/failure/cancelled/always) only in `if:` conditions. The whole workflow file therefore failed to parse — the run was named `.github/workflows/ci.yml` instead of `CI`, created ZERO jobs, and reported a bare failure with no logs to read. Nothing local caught it, and that is the part worth fixing. It is valid YAML and an invalid Actions schema, so prettier, lint, typecheck, check:github-actions and all 432 unit files passed the broken version. It was visible only on hosted CI — exactly the gap I flagged as unverifiable when the first commit went up. The env expression was never needed. Reading each job's own `cancelled` result does the same work, because a supersession cancels the upstream jobs, so the first require_* call reports it. So the fix is a deletion, not a workaround. A new case in tests/ci-cache-safety.test.ts scans every file under .github/workflows/** and fails on a status-check function outside an `if:`. It caught a second instance immediately: the comment I had written to warn about the first mistake contained the offending expression, and `${{ }}` is interpolated inside `run:` blocks too, so that comment alone would have kept the file unparseable. The comment now describes the trap without spelling it. Verified: verify:cheap — Test Files 432 passed (432), Tests 4478 passed | 4 skipped (4482); check:github-actions passes; the guard is mutation-proven by reintroducing the env expression and watching it fail. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012YRCXgX4AWZ579bKN6sk6b --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
BigSimmo pushed a commit
that referenced
this pull request
Jul 30, 2026
Appearance and client performance were the two verification surfaces with no gate. `playwright.visual.config.ts` and `test:e2e:visual` existed but pointed at a spec that only attaches screenshots for a human to eyeball, and Lighthouse only ran against the deployed origin, after a merge had already auto-deployed. Style contracts (required, deterministic). `tests/ui-style-contract.spec.ts` asserts rendered computed style for the unlayered class rules in globals.css — the rules that exist to beat a Tailwind utility and go inert if moved into a layer. That is ledger #94: the search band's accent rail shipped inert while its test asserted `toHaveClass("search-band")`, the cause rather than the effect. jsdom cannot catch it (no cascade layers) and check:design-system-contract cannot either (it reads source text). Where a rule has an attribute-scoped variant, the contract also proves the variant wins the cascade. `tests/style-contract-registry.test.ts` closes the inventory: all 38 unlayered visual classes must carry a contract or a reasoned exemption, so the next one cannot be added unnoticed. The single existing rail assertion was a one-off with nothing forcing a successor. Pixel baselines (advisory). `tests/ui-visual-baseline.spec.ts` compares clipped locator screenshots against committed per-platform baselines. Never fullPage (#93 — Next.js leaves a hidden duplicate page root under CI load), demo mode only for stable content, motion off. No baselines are committed yet; the first CI run's artifact supplies them, and the job is continue-on-error until they have held across a few runs. Performance budget (advisory). `verify:lighthouse` builds and serves an isolated production app in demo mode, measures the budgeted routes, and grades relative to a committed baseline with per-metric tolerances — absolute web-vitals thresholds are meaningless against localhost. Reuses the fail-closed primitives in summarise-web-vitals.mjs, so incomplete evidence always fails regardless of `enforce`. Shares one pinned Lighthouse version with the live-domain workflow, guarded by a test. Component state matrix (#107). `tests/source-preview-popover.dom.test.tsx` covers a zero-coverage document-access surface: placement flip, hidden-until- measured, focus entry, and listener release on close and unmount. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XrPbbfU9yWuEjEVypCr4ZQ
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 freeto 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.
Bumps @types/node from 24.13.2 to 26.0.1.
Commits
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)