🧹 M168 SQLite cleanup β€” #2017

Three hygiene fixes in the M168 SQLite area, surfaced while shipping #2010/#2012. The headline: the Quality Report CI job ran on Node 20, which has no node:sqlite β€” so every registry test errored there, dragging the score to a phantom Grade C and reporting 0% coverage. Toggle the Node version and the test engine to see it.

ci-report.yml job

Node version

D1: 4 test files opened the DB for read-only asserts via better-sqlite3 while prod uses node:sqlite β€” a test↔prod engine split (the same source-tree blind spot that hid #2012). D2: dropped the now-dead external:['better-sqlite3'] from esbuild. D3: bumped the report job Node 20β†’22.

Quality Report outcome

node:sqlite available?
registry tests
coverage collected
test/prod engine