Skip to content

chore(mcp-4da)(deps): bump better-sqlite3 from 12.11.1 to 13.0.3 in /mcp-4da-server - #446

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/mcp-4da-server/better-sqlite3-13.0.3
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/mcp-4da-server/better-sqlite3-13.0.3

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 15, 2026

Copy link
Copy Markdown
Contributor

Bumps better-sqlite3 from 12.11.1 to 13.0.3.

Release notes

Sourced from better-sqlite3's releases.

v13.0.3

What's Changed

Full Changelog: WiseLibs/better-sqlite3@v13.0.2...v13.0.3

v13.0.2

What's Changed

New Contributors

Full Changelog: WiseLibs/better-sqlite3@v13.0.1...v13.0.2

v13.0.1

Full Changelog: WiseLibs/better-sqlite3@v13.0.0...v13.0.1

Fixed a regression in parameter binding where it would be overly strict and reject plain objects from other realms (e.g., in jest tests).

v13.0.0

Version 13.0.0 marks a major milestone, as it's the first version of better-sqlite3 to run on the N-API. This means prebuilt binaries should theoretically work across different versions of Node.js and Electron, and perhaps even other runtimes like Bun. As a result, we've removed the deprecated prebuild-install dependency, and now prebuilt binaries are published directly with the better-sqlite3 code itself. If your platform/architecture doesn't have a prebuilt binary, it should compile during install as before.

What's Changed

New Contributors

Full Changelog: WiseLibs/better-sqlite3@v12.12.0...v13.0.0

v12.12.0

What's Changed

[!WARNING]

BREAKING: Starting with Electron v43, binary assets will require glibc 2.41 or higher on Linux hosts.

... (truncated)

Commits

@dependabot
dependabot Bot requested a review from runyourempire as a code owner August 15, 2026 14:02
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file mcp MCP server related labels Aug 15, 2026
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/mcp-4da-server/better-sqlite3-13.0.3 branch 4 times, most recently from d75e5f5 to eb75703 Compare August 23, 2026 11:08
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/mcp-4da-server/better-sqlite3-13.0.3 branch from eb75703 to 5e3264f Compare August 24, 2026 03:28
runyourempire added a commit that referenced this pull request Aug 31, 2026
… matrix, remove-by wired (#554)

Lane D of the 2026-08-31 audit remediation: four known CI holes, each
re-verified against live state before touching anything. Two needed
changes (shipped here); two turned out to be already closed on the
current base — documented below so the audit trail reflects what was
actually found, not what the brief assumed.

## Hole 1 — Dependabot NOTICE starvation (FIXED: new `dependabot-notice`
job)

**The hole.** `Repo guards` requires `node scripts/generate-notice.cjs
--check --require` to pass on every PR: third-party attribution must be
regenerated in the same change as any dependency move. Dependabot cannot
run repo scripts, so every cargo or production-npm bump it opens fails
`Third-party attribution is current (NOTICE)` and rots. Verified live at
step level before fixing: PRs #457 (cargo `zip`) and #516 (npm `react`)
both fail exactly that step, every other repo-guards step green. 27
Dependabot PRs are currently open, several ecosystems pinned at their
`open-pull-requests-limit` — the gate had starved automated dependency
updates entirely.

**The fix.** A `dependabot-notice` job in validate.yml, gated
`github.event_name == 'pull_request' && github.actor ==
'dependabot[bot]'`, that completes the commit on Dependabot's behalf:

- Checks out the **PR branch** (`github.event.pull_request.head.ref`),
not the unpushable detached merge ref. Dependabot branches always live
in this repo, never a fork, so the job token can push them.
- Rebuilds NOTICE with the **exact recipe the gate itself uses** (stable
Rust toolchain for `cargo metadata`, `pnpm install --frozen-lockfile
--ignore-scripts` for `pnpm licenses list`), so what it generates is
byte-for-byte what `--check` will verify. Verified end-to-end locally:
that recipe followed by write-mode `generate-notice.cjs` reproduces the
committed NOTICE with zero diff on a current tree, and `git diff --quiet
-- NOTICE` is the correct changed-detector.
- If NOTICE changed: commits it, pushes to the branch, and
**re-dispatches Validate** on the healed head.

Three GitHub mechanics are load-bearing and documented in the job
comment:

1. **Dependabot-triggered runs get a read-only `GITHUB_TOKEN`**
regardless of repo defaults. The job-level `permissions:` block
(`contents: write`, `actions: write`) elevates this job only; every
other job keeps its defaults.
2. **Pushes made with `GITHUB_TOKEN` never trigger workflow runs**
(GitHub's recursion guard). Without compensation the healed commit would
sit forever with no `Validate Success` on it — and the main ruleset's
*sole* required check (verified via `rules/branches/main`: `Validate
Success`, strict) reads the PR's head SHA. `workflow_dispatch` is the
documented exception to the recursion guard, and validate.yml already
runs its full suite on dispatch (the heavy legs' `github.event_name ==
'workflow_dispatch'` clauses), so the job dispatches Validate on the
healed branch tip. Its check runs attach to the new head SHA, which is
what the merge gate reads. Hermetic is deliberately NOT re-dispatched:
the healed commit differs from the already-hermetic-tested head by
NOTICE text only, `Hermetic Success` is not a required check, and a
~20-min two-OS cacheless matrix would spend metered hosted minutes to
learn nothing.
3. **No loop is possible.** The heal push triggers nothing (recursion
guard); in the dispatched run the job skips (neither `pull_request` nor
the Dependabot actor test holds). If Dependabot force-pushes a rebase,
the NOTICE commit is dropped — but that push is a Dependabot-actored
`pull_request` event, so the heal simply runs again on the new head. A
push race with a Dependabot rebase is rejected non-fast-forward and
self-corrects the same way.

`validate-success` now includes `dependabot-notice` in `needs`: it skips
(== pass) on every non-Dependabot PR, but a heal failure on a Dependabot
PR is visible in the aggregate instead of vanishing.

Expected behavior on a healed PR: the original run's `Repo guards` still
fails against the pre-heal commit (correct — that SHA is stale), and the
dispatched run on the healed head goes green and satisfies the ruleset.
Bumps that don't move the shipped closure (dev-dep and actions bumps —
verified on #517/#518) regenerate to no diff, push nothing, and dispatch
nothing.

## Hole 2 — file-size gate skippable on Rust-only PRs (VERIFIED ALREADY
CLOSED — no change)

The brief said `Check file sizes` runs inside the path-filtered Frontend
job. Checked against the current base before acting: it was **moved to
`repo-guards` on 2026-08-14** (the job's own comment documents the
#423/#430 incident), the Frontend job carries a tombstone comment
pointing there, `repo-guards` has no `if:` and no `needs:` so it runs on
every PR and dispatch, and live Dependabot runs show `Check file sizes`
executing and passing inside `Repo guards`. `node
scripts/check-file-sizes.cjs --ci` exits 0 on this tree. Nothing to do;
recorded here so the hole is closed with evidence rather than by
assumption.

## Hole 3 — Hermetic vacuously green on main (HALF ALREADY CLOSED, other
half FIXED: install retry)

**Vacuous-green half: already closed.** The `!cancelled()` wrapper on
`fresh-clone`'s `if:` (documented in-file, with the 2026-08-13/14
observations of 7-9s "successes") already forces the full matrix on
push/schedule/dispatch; the path filter applies only to `pull_request`.
Verified against live runs, not just the YAML: the latest `push` run
built for ~19 min and the latest `schedule` run for ~23 min — real
two-OS cold builds, not 1-second skips. No change.

**Retry half: shipped.** `pnpm install --frozen-lockfile` now retries up
to 3 attempts (20s backoff, `::warning::` per miss, `::error::` on
exhaustion) in **both** places that build better-sqlite3 natively:

- the root install (better-sqlite3 is a direct root dependency), and
- the `mcp-4da-server` install line (a direct dependency there too — the
open 13.x bump PR #446 targets exactly that package; only the install
line is retried, build and tests stay single-shot because a failure
there is real signal).

better-sqlite3 falls back to a node-gyp source build whenever no
prebuilt binary matches the image's Node ABI (the 13.x line in
particular), and that native build flakes on windows-latest. Three
attempts separates network/toolchain weather from a genuine fresh-clone
break; anything still failing after 3 tries IS the finding.

## Hole 4 — `check-remove-by.cjs` unenforced (FIXED: wired into `Repo
guards`)

Shipped in #421 and wired to nothing — verified by grep across
package.json, `.husky/`, and `.github/`: zero references.
(`.husky/pre-commit` runs the *staged-files-only* cousin
`check-dead-code-expiry.cjs`, which covers only `#[allow(dead_code)]`;
the whole-tree `REMOVE BY <date>` gate never ran anywhere, so an expired
marker could never fail anything.) Now a step in `repo-guards` — the
unfiltered job that runs on every PR — invoked as `node
scripts/check-remove-by.cjs --ci` for GitHub annotations. Exits 0 on the
current tree (49 markers, all future-dated, 0 expired, 0 allowlisted),
so this ratchets from a clean baseline.

## Verification performed

- `node scripts/check-file-sizes.cjs --ci` — exit 0
- `node scripts/check-remove-by.cjs` — exit 0 (49 upcoming, 0 expired)
- `pnpm install --frozen-lockfile --ignore-scripts` + `node
scripts/generate-notice.cjs` (write mode) — NOTICE byte-identical,
diff-detector confirmed
- `node scripts/check-workflow-shell-syntax.cjs` — 53 inline scripts
(including the new run blocks) parse cleanly
- Both workflows parsed with a YAML parser (actionlint not installed on
this box); job graphs confirmed: validate = `changes, frontend,
mcp-server, relay, repo-guards, dependabot-notice, rust,
validate-success`; hermetic = `changes, fresh-clone, hermetic-success`
- Live-state checks: ruleset required checks, failing step
identification on #457/#516, passing repo-guards on #517/#518, hermetic
push/schedule run durations

## Out of scope (deliberately untouched)

Frontend job's npx/audit steps and its 30-min timeout; release.yml
(signing owned elsewhere).

## Residual risks, disclosed

- The heal costs ~4-8 hosted-runner minutes per Dependabot PR sync
(toolchain + install + `cargo metadata`); dev-dep bumps pay it only to
conclude "no diff". Acceptable against 27 rotting PRs.
- After the bot pushes to a Dependabot branch, Dependabot treats the PR
as externally modified and stops auto-rebasing it; `@dependabot rebase`
still works and simply re-triggers the heal on the recreated branch.
- The dispatched Validate run executes the FULL suite (dispatch runs all
heavy legs) — heavier than the path-filtered PR run, but the only
dispatch-shaped trigger that exists, and correctness beats economy at a
required gate.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01LrXvdHoDGUj99Fqf1fCYJY

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/mcp-4da-server/better-sqlite3-13.0.3 branch 3 times, most recently from d0f8605 to dd4a169 Compare September 1, 2026 15:34
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/mcp-4da-server/better-sqlite3-13.0.3 branch from dd4a169 to 5ea0641 Compare September 9, 2026 22:05
Bumps [better-sqlite3](https://github.com/WiseLibs/better-sqlite3) from 12.11.1 to 13.0.3.
- [Release notes](https://github.com/WiseLibs/better-sqlite3/releases)
- [Commits](WiseLibs/better-sqlite3@v12.11.1...v13.0.3)

---
updated-dependencies:
- dependency-name: better-sqlite3
  dependency-version: 13.0.3
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/mcp-4da-server/better-sqlite3-13.0.3 branch from 5ea0641 to 4e37c44 Compare September 11, 2026 00:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file mcp MCP server related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant