/** * Detached worker for the session-end SQLite snapshot. * * Spawned by `requestSessionEndSnapshot` (`session-end-snapshot.ts`) as a * detached, unref'd process, so the command that ended the session returns * without waiting for a VACUUM. Takes the snapshot through the gate's * `required` mode, waiting up to the full pre-destructive bound for the lock * (nobody is waiting on this process). * * As soon as it holds the gate lock it drops the per-project "worker pending" * marker — so a later session end spawns the next worker instead of * coalescing onto a snapshot that may no longer contain its writes — and then * snapshots UNCONDITIONALLY (`alwaysSnapshot`). Requests coalesced onto this * worker while it was queued; no generation it could observe proves their * writes are in an earlier snapshot, so it never counts itself covered. * * It appends one JSON line with the outcome to * `.cleo/logs/session-end-snapshot.log` (never stdout: this process has no * reader, and CLEO keeps stdout for LAFS envelopes). * * After the snapshot it embeds one bounded batch of observations that one-shot * processes stored unembedded (T13126, `memory/embedding-backfill.ts`), then * runs the automatic cloud sync (T13468, `cloud/auto-sync.ts`). Both run only * here, in the detached worker, never in the process that ended the session. * * argv: ` ` * * @task T12508 * @task T13126 * @task T13468 */ export {}; //# sourceMappingURL=session-end-snapshot-entry.d.ts.map