The healthy-branch restore after a runtime (SQLite) repair called
_refresh_active_lazy_features as a bare statement and dropped its bool, so a
failed restore into the freshly swapped venv still ended in '✓ Already up to
date!' and a rerun could not recover (the next snapshot sees the stripped venv).
Mirror the pull path (update_cmd_deps): write the lazy-refresh-incomplete marker
before the restore, clear it only when the refresh reports success, otherwise
print the same 'recovery incomplete' hint so the next `hermes` run finishes it.
Test: one invariant case (refresh returns False -> marker written, not cleared);
red on the previous head, green here. The marker helpers are stubbed so the test
never writes into the real home.