instrumentation.ts pulls pg (node driver) into the Edge middleware graph — move error-capture behind an Edge-safe boundary
Class-A (appEvents error + email-send path). Root (MARS-449): src/instrumentation.ts onRequestError is edge+node compiled; its dynamic import('@/lib/logger')->@/lib/db->pg drags the node pg driver into the _middleware edge chunk. Exposed when pg 8.22 added require('util/types')->node:util/types (unpolyfilled on Edge); Vercel edge validation rejected v2.25.16/17 (state=ERROR). Worked around by holding pg exact 8.20.0 (2213a5a); driver still in every edge graph. ACCEPTANCE: (1) pg/node-only deps GONE from .next edge chunks (no node:* ; sourcemap no pg tree). (2) Edge errors STILL reported via an Edge-safe sink (fetch-beacon to internal node route / edge transport), NOT disable-logging under NEXT_RUNTIME=edge (audit BLOCK:2213a5a MEDIUM: preserve-and-report). (3) node error capture unchanged (appEvents row + alert email). (4) pg can be un-held+bumped, deploy READY, edge chunk clean. (5) Class-A gates: audit design-ping + pre-push diff review + build/runtime PTD. Secondary: trims edge bundle (MARS-104 budget).