Cohort-D PR-D3: wire instrumentScalarWrite into Hono routes with Promise.all + drizzle.transaction
6e4bf1d3-9ebb-48c8-a04b-8ff4627c51bc
Wiring instrumentScalarWrite (Layer 1-3 sync scan + optional Layer-4 sweep) into existing public/staff Hono routes that previously wrote raw user input directly to Postgres. Each route has 2-3 free-form prose columns (title/description/admin_notes for bug_reports; subject/message for contact_submissions; title/body for notifications). The helper returns sanitized text + an optional redactionFindings payload that must be persisted as a separate redaction_findings row referenced by FK from the parent row — meaning the parent INSERT and the findings INSERT must be in the same transaction or the FK lookup races. Additionally, vitest mocks for db.transaction need to mirror the drizzle-style chained insert(values).returning() API or the route handlers blow up with "values is not a function" during tests.