vestige/crates
Sam Valladares f97caff186 fix(core): V19 idempotency NULL/'' collision + VESTIGE_TRACE gate + trace retention
- upsert_by_source lookup now matches the V19 unique index's NULL/''
  bucketing (COALESCE on both sides); a legacy NULL-project row no longer
  collides with an empty-string envelope. Two regression tests added.
- Black Box tracing gets an opt-out (VESTIGE_TRACE=0) parsed like the other
  levers, read once per process, plus a bounded retention sweep
  (VESTIGE_TRACE_RETENTION_DAYS, default 30, 0 keeps forever).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-25 21:58:03 +08:00
..
vestige-core fix(core): V19 idempotency NULL/'' collision + VESTIGE_TRACE gate + trace retention 2026-07-25 21:58:03 +08:00
vestige-mcp fix(core): V19 idempotency NULL/'' collision + VESTIGE_TRACE gate + trace retention 2026-07-25 21:58:03 +08:00