v3.22.0 — Holistic Review & Diagnostic-Sink Convergence Sixth review-driven milestone (phases 212-217). Fresh 8-axis holistic review at HEAD d5902a3f → bound fix-set. ⚠️ Breaking: - demoted With<Edge> no longer accepts sub-includes (compile-error, was silent runtime no-op) [FUT-API-02] - period-overlap finder renamed ListManyBy…AndPeriodOverlap → FindManyBy… [API-02] Added: - --emit-interface opt-in Repository interface (MethodCtxs-only, sqlc emit_interface analog) - <Method>DebugSQL() inlined-SQL accessors on all 20 kinds (injection-safe, debug-only, never-logged) - DiagnosticSink io.Writer injectable diagnostic sink (ADR-0021, replaces 78+ hardcoded os.Stderr) - SQLLogger post-exec Duration/RowsAffected/Err + slog.Enabled() gate Fixed: - 2 Critical DebugSQL nil-pointer panics (CR-01 debugSQLLiteral typed-nil, CR-02 sqlx.In Valuer fast-path) - period-overlap empty-slice guard (CORR-01); FK-cycle exit-1 ERROR+message+hint (UX-03); impact --format subcommand name (UX-01) Changed: - JOIN ListWith parent-PK dedup O(N²)→O(N) (PERF-01) - complexity ratchet 135/62/22/41/5 → 117/62/22/40/5 Removed: dead CheckBanner + skipped banner tests. All gates green: make check + check-integration + vuln + rc-acceptance step-8 byte-equal; 0 net-new deps.