Files
Garry TanandClaude Fable 5 54c7581f91 fix(engine,resolver,migrate): put-after-soft-delete resurrection, sole-source guard, migrate failure accounting
- #3071: putPage's ON CONFLICT DO UPDATE now clears deleted_at in BOTH
  engines (engine parity), so a put after soft-delete resurrects the row
  instead of leaving fresh content invisible to deleted_at IS NULL reads.
- #3070: pickSoleNonDefaultSource only auto-routes when the 'default'
  source holds no live pages (the tier's original #1434 charter). An
  established default corpus keeps bare put/capture in 'default'.
  Fails open on probe error (legacy schema without deleted_at).
- #3194: gbrain migrate can no longer report success while pages are
  missing. Per-page copy failures are collected (kept out of the resume
  manifest so a re-run retries them), link-phase failures are collected
  instead of aborting the phase, and per-source live page counts are
  verified source-vs-target before the config switch. Any failure or
  count mismatch prints a summary, leaves config + manifest intact for
  resume, and exits non-zero. Soft-deleted pages are documented as
  deliberately excluded.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 11:00:57 -07:00
..