@cleocode/core 2026.10.6 → 2026.10.7-rc.ci.674
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build-provenance.json +2 -2
- package/dist/cloud/http.d.ts +8 -0
- package/dist/cloud/http.d.ts.map +1 -1
- package/dist/cloud/http.js +11 -0
- package/dist/cloud/http.js.map +1 -1
- package/dist/cloud/journal.d.ts +6 -0
- package/dist/cloud/journal.d.ts.map +1 -1
- package/dist/cloud/journal.js +1 -1
- package/dist/cloud/journal.js.map +1 -1
- package/dist/cloud/nexus-cloud-status.d.ts.map +1 -1
- package/dist/cloud/nexus-cloud-status.js +3 -1
- package/dist/cloud/nexus-cloud-status.js.map +1 -1
- package/dist/cloud/nexus-vault.d.ts +86 -1
- package/dist/cloud/nexus-vault.d.ts.map +1 -1
- package/dist/cloud/nexus-vault.js +875 -98
- package/dist/cloud/nexus-vault.js.map +1 -1
- package/dist/docs/doctor.d.ts +183 -0
- package/dist/docs/doctor.d.ts.map +1 -0
- package/dist/docs/doctor.js +537 -0
- package/dist/docs/doctor.js.map +1 -0
- package/dist/doctor/system-health.d.ts +189 -0
- package/dist/doctor/system-health.d.ts.map +1 -0
- package/dist/doctor/system-health.js +783 -0
- package/dist/doctor/system-health.js.map +1 -0
- package/dist/git/hooks-install.d.ts +17 -34
- package/dist/git/hooks-install.d.ts.map +1 -1
- package/dist/git/hooks-install.js +173 -70
- package/dist/git/hooks-install.js.map +1 -1
- package/dist/harness/ask-enforce.d.ts +43 -0
- package/dist/harness/ask-enforce.d.ts.map +1 -0
- package/dist/harness/ask-enforce.js +165 -0
- package/dist/harness/ask-enforce.js.map +1 -0
- package/dist/hooks.d.ts +8 -30
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +36 -116
- package/dist/hooks.js.map +1 -1
- package/dist/init.d.ts +2 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +5 -14
- package/dist/init.js.map +1 -1
- package/dist/injection.d.ts +2 -2
- package/dist/injection.d.ts.map +1 -1
- package/dist/injection.js +108 -10
- package/dist/injection.js.map +1 -1
- package/dist/internal.d.ts +1 -1
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +1 -1
- package/dist/internal.js.map +1 -1
- package/dist/issue/create.d.ts +4 -0
- package/dist/issue/create.d.ts.map +1 -1
- package/dist/issue/create.js +12 -0
- package/dist/issue/create.js.map +1 -1
- package/dist/issue/index.d.ts +1 -1
- package/dist/issue/index.d.ts.map +1 -1
- package/dist/issue/index.js +1 -1
- package/dist/issue/index.js.map +1 -1
- package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
- package/dist/orchestrate/spawn-ops.js +8 -2
- package/dist/orchestrate/spawn-ops.js.map +1 -1
- package/dist/orchestration/lean-change.d.ts +15 -0
- package/dist/orchestration/lean-change.d.ts.map +1 -0
- package/dist/orchestration/lean-change.js +17 -0
- package/dist/orchestration/lean-change.js.map +1 -0
- package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
- package/dist/orchestration/spawn-prompt.js +6 -4
- package/dist/orchestration/spawn-prompt.js.map +1 -1
- package/dist/release/ci-evidence.d.ts +59 -0
- package/dist/release/ci-evidence.d.ts.map +1 -1
- package/dist/release/ci-evidence.js +150 -5
- package/dist/release/ci-evidence.js.map +1 -1
- package/dist/release/plan.d.ts.map +1 -1
- package/dist/release/plan.js +11 -2
- package/dist/release/plan.js.map +1 -1
- package/dist/release/pr-evidence.d.ts +15 -0
- package/dist/release/pr-evidence.d.ts.map +1 -1
- package/dist/release/pr-evidence.js +42 -1
- package/dist/release/pr-evidence.js.map +1 -1
- package/dist/release/reconcile.js +2 -2
- package/dist/release/reconcile.js.map +1 -1
- package/dist/release/verify-provenance.js +2 -2
- package/dist/release/verify-provenance.js.map +1 -1
- package/dist/resources/admission-ledger.d.ts +8 -0
- package/dist/resources/admission-ledger.d.ts.map +1 -1
- package/dist/resources/admission-ledger.js +5 -0
- package/dist/resources/admission-ledger.js.map +1 -1
- package/dist/resources/claim-keepalive.d.ts +34 -0
- package/dist/resources/claim-keepalive.d.ts.map +1 -0
- package/dist/resources/claim-keepalive.js +49 -0
- package/dist/resources/claim-keepalive.js.map +1 -0
- package/dist/resources/governor.d.ts.map +1 -1
- package/dist/resources/governor.js +3 -0
- package/dist/resources/governor.js.map +1 -1
- package/dist/scaffold/ensure-config.js +1 -1
- package/dist/scaffold/ensure-config.js.map +1 -1
- package/dist/store/attachment-store.d.ts.map +1 -1
- package/dist/store/attachment-store.js +2 -1
- package/dist/store/attachment-store.js.map +1 -1
- package/dist/store/restore-marker.d.ts +50 -7
- package/dist/store/restore-marker.d.ts.map +1 -1
- package/dist/store/restore-marker.js +77 -25
- package/dist/store/restore-marker.js.map +1 -1
- package/dist/store/row-identity-registry.d.ts +6 -4
- package/dist/store/row-identity-registry.d.ts.map +1 -1
- package/dist/store/row-identity-registry.js +156 -33
- package/dist/store/row-identity-registry.js.map +1 -1
- package/dist/store/schema/cleo-project/provenance-orphans.d.ts +16 -0
- package/dist/store/schema/cleo-project/provenance-orphans.d.ts.map +1 -1
- package/dist/store/schema/cleo-project/provenance-orphans.js +4 -1
- package/dist/store/schema/cleo-project/provenance-orphans.js.map +1 -1
- package/dist/store/schema/cleo-shared/brain.d.ts +240 -0
- package/dist/store/schema/cleo-shared/brain.d.ts.map +1 -1
- package/dist/store/schema/cleo-shared/brain.js +69 -0
- package/dist/store/schema/cleo-shared/brain.js.map +1 -1
- package/dist/store/schema/tasks.d.ts +1 -1
- package/dist/store/schema/tasks.d.ts.map +1 -1
- package/dist/store/schema/tasks.js +9 -1
- package/dist/store/schema/tasks.js.map +1 -1
- package/dist/store/sync/apply/applier.d.ts.map +1 -1
- package/dist/store/sync/apply/applier.js +85 -3
- package/dist/store/sync/apply/applier.js.map +1 -1
- package/dist/store/sync/apply/parent-delete.d.ts.map +1 -1
- package/dist/store/sync/apply/parent-delete.js +4 -0
- package/dist/store/sync/apply/parent-delete.js.map +1 -1
- package/dist/store/sync/capture.d.ts +8 -0
- package/dist/store/sync/capture.d.ts.map +1 -1
- package/dist/store/sync/capture.js +20 -0
- package/dist/store/sync/capture.js.map +1 -1
- package/dist/store/sync/clock-store.d.ts +21 -0
- package/dist/store/sync/clock-store.d.ts.map +1 -1
- package/dist/store/sync/clock-store.js +47 -0
- package/dist/store/sync/clock-store.js.map +1 -1
- package/dist/store/sync/conflicts.d.ts +13 -0
- package/dist/store/sync/conflicts.d.ts.map +1 -1
- package/dist/store/sync/conflicts.js +22 -0
- package/dist/store/sync/conflicts.js.map +1 -1
- package/dist/store/sync/genesis.d.ts +113 -12
- package/dist/store/sync/genesis.d.ts.map +1 -1
- package/dist/store/sync/genesis.js +325 -27
- package/dist/store/sync/genesis.js.map +1 -1
- package/dist/store/sync/merge/types.d.ts +8 -2
- package/dist/store/sync/merge/types.d.ts.map +1 -1
- package/dist/store/sync/pull.d.ts +192 -0
- package/dist/store/sync/pull.d.ts.map +1 -0
- package/dist/store/sync/pull.js +429 -0
- package/dist/store/sync/pull.js.map +1 -0
- package/dist/store/sync/push.d.ts +110 -0
- package/dist/store/sync/push.d.ts.map +1 -0
- package/dist/store/sync/push.js +172 -0
- package/dist/store/sync/push.js.map +1 -0
- package/dist/store/sync/replay-pin.d.ts +70 -0
- package/dist/store/sync/replay-pin.d.ts.map +1 -0
- package/dist/store/sync/replay-pin.js +172 -0
- package/dist/store/sync/replay-pin.js.map +1 -0
- package/dist/store/sync/sealer.d.ts.map +1 -1
- package/dist/store/sync/sealer.js +6 -2
- package/dist/store/sync/sealer.js.map +1 -1
- package/dist/store/sync/timestamp-canon.d.ts.map +1 -1
- package/dist/store/sync/timestamp-canon.js +15 -0
- package/dist/store/sync/timestamp-canon.js.map +1 -1
- package/dist/store/table-classification.d.ts.map +1 -1
- package/dist/store/table-classification.js +51 -15
- package/dist/store/table-classification.js.map +1 -1
- package/dist/store/tasks-schema.d.ts +1 -1
- package/dist/store/tasks-schema.d.ts.map +1 -1
- package/dist/store/tasks-schema.js +1 -1
- package/dist/store/tasks-schema.js.map +1 -1
- package/dist/store/twin-collapse.d.ts.map +1 -1
- package/dist/store/twin-collapse.js +5 -0
- package/dist/store/twin-collapse.js.map +1 -1
- package/dist/store/vault-manifest.d.ts +7 -0
- package/dist/store/vault-manifest.d.ts.map +1 -1
- package/dist/store/vault-manifest.js +4 -0
- package/dist/store/vault-manifest.js.map +1 -1
- package/dist/tasks/ac-table.d.ts +17 -0
- package/dist/tasks/ac-table.d.ts.map +1 -1
- package/dist/tasks/ac-table.js +49 -0
- package/dist/tasks/ac-table.js.map +1 -1
- package/dist/tasks/affected-scope.d.ts +52 -3
- package/dist/tasks/affected-scope.d.ts.map +1 -1
- package/dist/tasks/affected-scope.js +94 -3
- package/dist/tasks/affected-scope.js.map +1 -1
- package/dist/tasks/change-set.d.ts.map +1 -1
- package/dist/tasks/change-set.js +9 -5
- package/dist/tasks/change-set.js.map +1 -1
- package/dist/tasks/complete-ci.d.ts +2 -0
- package/dist/tasks/complete-ci.d.ts.map +1 -1
- package/dist/tasks/complete-ci.js +26 -7
- package/dist/tasks/complete-ci.js.map +1 -1
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +10 -0
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/done-plan.d.ts.map +1 -1
- package/dist/tasks/done-plan.js +63 -6
- package/dist/tasks/done-plan.js.map +1 -1
- package/dist/tasks/evidence.d.ts +3 -0
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +106 -2
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/gate-preview.d.ts +19 -1
- package/dist/tasks/gate-preview.d.ts.map +1 -1
- package/dist/tasks/gate-preview.js +44 -2
- package/dist/tasks/gate-preview.js.map +1 -1
- package/dist/tasks/gate-runner.d.ts +16 -0
- package/dist/tasks/gate-runner.d.ts.map +1 -1
- package/dist/tasks/gate-runner.js +25 -2
- package/dist/tasks/gate-runner.js.map +1 -1
- package/dist/tasks/qa-run-binding.d.ts +88 -0
- package/dist/tasks/qa-run-binding.d.ts.map +1 -0
- package/dist/tasks/qa-run-binding.js +188 -0
- package/dist/tasks/qa-run-binding.js.map +1 -0
- package/dist/tasks/req.d.ts +50 -0
- package/dist/tasks/req.d.ts.map +1 -1
- package/dist/tasks/req.js +99 -1
- package/dist/tasks/req.js.map +1 -1
- package/dist/tasks/test-run-binding.d.ts +29 -0
- package/dist/tasks/test-run-binding.d.ts.map +1 -1
- package/dist/tasks/test-run-binding.js +47 -23
- package/dist/tasks/test-run-binding.js.map +1 -1
- package/dist/tasks/tool-resolver.d.ts +9 -0
- package/dist/tasks/tool-resolver.d.ts.map +1 -1
- package/dist/tasks/tool-resolver.js +14 -3
- package/dist/tasks/tool-resolver.js.map +1 -1
- package/dist/tasks/tool-semaphore.d.ts.map +1 -1
- package/dist/tasks/tool-semaphore.js +3 -0
- package/dist/tasks/tool-semaphore.js.map +1 -1
- package/dist/upgrade.d.ts.map +1 -1
- package/dist/upgrade.js +10 -1
- package/dist/upgrade.js.map +1 -1
- package/dist/validation/engine-ops.d.ts.map +1 -1
- package/dist/validation/engine-ops.js +14 -3
- package/dist/validation/engine-ops.js.map +1 -1
- package/migrations/drizzle-cleo-global/20261010130000_t12895-brain-natural-uids/migration.sql +28 -0
- package/migrations/drizzle-cleo-global/20261010140000_t12896-brain-autoinc-uids/migration.sql +54 -0
- package/migrations/drizzle-cleo-project/20261010130000_t12895-brain-natural-uids/migration.sql +36 -0
- package/migrations/drizzle-cleo-project/20261010140000_t12896-brain-autoinc-uids/migration.sql +58 -0
- package/migrations/sync-journal/20261008120000_t12343-pull-cursor/migration.sql +28 -0
- package/migrations/sync-journal/20261009120000_t13318-seen-floor/migration.sql +41 -0
- package/package.json +18 -18
- package/templates/CLEO-INJECTION.md +5 -3
- package/templates/CLEO-REFERENCE.md +1 -1
- package/templates/git-hooks/legacy-hashes.json +20 -0
- package/templates/git-hooks/pre-commit +1 -0
|
@@ -25,14 +25,17 @@
|
|
|
25
25
|
* @task T12343
|
|
26
26
|
* @module store/sync/genesis
|
|
27
27
|
*/
|
|
28
|
-
import {
|
|
28
|
+
import { existsSync } from 'node:fs';
|
|
29
|
+
import { holdRestoreMarker } from '../restore-marker.js';
|
|
29
30
|
import { BIRTH_FP_COLUMN, ROW_IDENTITY, rowIdentityRecipeCurrent, UID_COLUMN, } from '../row-identity.js';
|
|
30
|
-
import { captureTriggerDrift, syncSetTables } from './capture.js';
|
|
31
|
-
import { isSyncFlagOn, setSyncFlag } from './flags.js';
|
|
32
|
-
import {
|
|
33
|
-
import {
|
|
31
|
+
import { captureTriggerDrift, setCaptureEnabled, syncSetTables } from './capture.js';
|
|
32
|
+
import { isSyncFlagOn, readSyncFlags, setSyncFlag } from './flags.js';
|
|
33
|
+
import { writeStreamCursor } from './pull.js';
|
|
34
|
+
import { baselineRowMeta, planRepair } from './repair.js';
|
|
35
|
+
import { activeReplica, persistStoreSeq } from './replica.js';
|
|
34
36
|
import { hasTable } from './schema.js';
|
|
35
|
-
import { sealPending, sealPreconditions } from './sealer.js';
|
|
37
|
+
import { sealerRowView, sealPending, sealPreconditions } from './sealer.js';
|
|
38
|
+
import { capturePosition } from './sequencing.js';
|
|
36
39
|
import { hasTriggerSuspendTable, verifyOwnedTriggers } from './trigger-classes.js';
|
|
37
40
|
import { raiseMinWriterVersion } from './writer-version.js';
|
|
38
41
|
/** `_sync_meta` key prefix of a stream's genesis cut (read by `streamStarted`, T13217). */
|
|
@@ -41,6 +44,10 @@ export const GENESIS_CUT_KEY_PREFIX = 'genesis_cut:';
|
|
|
41
44
|
export const GENESIS_SOURCE_SEQ_KEY_PREFIX = 'genesis_source_seq:';
|
|
42
45
|
/** `_sync_meta` key prefix set at the cut and cleared once the genesis checkpoint is stored. */
|
|
43
46
|
export const GENESIS_PENDING_KEY_PREFIX = 'genesis_pending:';
|
|
47
|
+
/** `_sync_meta` key prefix: the highest `local_seq` a stream's cut folded (so a raced cut can be undone). */
|
|
48
|
+
export const GENESIS_FOLDED_UPTO_KEY_PREFIX = 'genesis_folded_upto:';
|
|
49
|
+
/** `_sync_meta` key prefix: the lowest `local_seq` a stream's cut folded (its range, never another cut's). */
|
|
50
|
+
export const GENESIS_FOLDED_FROM_KEY_PREFIX = 'genesis_folded_from:';
|
|
44
51
|
/** `_sync_meta` key the capture triggers' undo `WHEN` checks (§3.5 Rule 2). */
|
|
45
52
|
export const UNDO_ENABLED_KEY = 'undo_enabled';
|
|
46
53
|
/** How many times the cut re-drains when writes arrive between the drain and the cut. */
|
|
@@ -49,6 +56,7 @@ const report = (stream, fields) => ({
|
|
|
49
56
|
stream,
|
|
50
57
|
refused: null,
|
|
51
58
|
already: false,
|
|
59
|
+
resumed: false,
|
|
52
60
|
cut: null,
|
|
53
61
|
sealed: 0,
|
|
54
62
|
folded: 0,
|
|
@@ -160,6 +168,15 @@ export function genesisPreconditions(db, opts) {
|
|
|
160
168
|
}
|
|
161
169
|
return null;
|
|
162
170
|
}
|
|
171
|
+
/** A stream other than `stream` this store has cut, if any (T13303: one cut stream per store). */
|
|
172
|
+
function otherCutStream(db, stream) {
|
|
173
|
+
const row = db
|
|
174
|
+
.prepare('SELECT substr(key, ?) AS stream FROM _sync_meta WHERE substr(key, 1, ?) = ? AND key <> ? LIMIT 1')
|
|
175
|
+
.get(GENESIS_CUT_KEY_PREFIX.length + 1, GENESIS_CUT_KEY_PREFIX.length, GENESIS_CUT_KEY_PREFIX, `${GENESIS_CUT_KEY_PREFIX}${stream}`);
|
|
176
|
+
return row?.stream;
|
|
177
|
+
}
|
|
178
|
+
/** Why a second stream's cut is refused (T13303). */
|
|
179
|
+
const secondStreamRefusal = (other) => `this store already pushes ${other}; a second stream needs per-stream routing (T13254)`;
|
|
163
180
|
/** Seal until no capture is live; the reason it stopped early, or null. */
|
|
164
181
|
function drain(db, opts, replica) {
|
|
165
182
|
let sealed = 0;
|
|
@@ -208,6 +225,14 @@ function openCut(db, opts) {
|
|
|
208
225
|
const already = genesisCutOf(db, opts.stream);
|
|
209
226
|
if (already !== undefined)
|
|
210
227
|
return report(opts.stream, { already: true, cut: already });
|
|
228
|
+
// T13303: one cut stream per store. Nothing routes a sealed transaction to
|
|
229
|
+
// a stream yet (T13254), so a second stream's cut would fold the first
|
|
230
|
+
// stream's sealed, unsent transactions into its own checkpoint, and the
|
|
231
|
+
// first stream would never push them. The per-cut fold range and the
|
|
232
|
+
// "no other stream is cut" undo are kept for when routing lands.
|
|
233
|
+
const other = otherCutStream(db, opts.stream);
|
|
234
|
+
if (other !== undefined)
|
|
235
|
+
return report(opts.stream, { refused: secondStreamRefusal(other) });
|
|
211
236
|
const refused = genesisPreconditions(db, opts);
|
|
212
237
|
if (refused)
|
|
213
238
|
return report(opts.stream, { refused });
|
|
@@ -233,6 +258,12 @@ function openCut(db, opts) {
|
|
|
233
258
|
db.exec('ROLLBACK');
|
|
234
259
|
return report(opts.stream, { already: true, cut: raced, sealed });
|
|
235
260
|
}
|
|
261
|
+
// Under the lock: another process may have cut a different stream meanwhile.
|
|
262
|
+
const racedOther = otherCutStream(db, opts.stream);
|
|
263
|
+
if (racedOther !== undefined) {
|
|
264
|
+
db.exec('ROLLBACK');
|
|
265
|
+
return report(opts.stream, { refused: secondStreamRefusal(racedOther), sealed });
|
|
266
|
+
}
|
|
236
267
|
const cut = Number(db.prepare("SELECT seq FROM sqlite_sequence WHERE name = '_sync_capture'").get()?.seq ?? 0);
|
|
237
268
|
return { cut, at: now(), replica, sealed };
|
|
238
269
|
}
|
|
@@ -258,9 +289,17 @@ function closeCut(db, opts, o) {
|
|
|
258
289
|
if (n)
|
|
259
290
|
baselined[table] = n;
|
|
260
291
|
}
|
|
292
|
+
const range = db
|
|
293
|
+
.prepare("SELECT min(local_seq) AS lo, max(local_seq) AS hi FROM _sync_txn WHERE state = 'sealed'")
|
|
294
|
+
.get();
|
|
295
|
+
// An empty fold records an empty range (from > upto).
|
|
296
|
+
const upto = Number(range.hi ?? 0);
|
|
297
|
+
const from = Number(range.lo ?? upto + 1);
|
|
261
298
|
const folded = db
|
|
262
299
|
.prepare("UPDATE _sync_txn SET state = 'folded' WHERE state = 'sealed'")
|
|
263
300
|
.run().changes;
|
|
301
|
+
setMeta(db, `${GENESIS_FOLDED_FROM_KEY_PREFIX}${opts.stream}`, String(from), atIso);
|
|
302
|
+
setMeta(db, `${GENESIS_FOLDED_UPTO_KEY_PREFIX}${opts.stream}`, String(upto), atIso);
|
|
264
303
|
setMeta(db, `${GENESIS_CUT_KEY_PREFIX}${opts.stream}`, String(o.cut), atIso);
|
|
265
304
|
setMeta(db, `${GENESIS_SOURCE_SEQ_KEY_PREFIX}${opts.stream}`, String(o.cut), atIso);
|
|
266
305
|
setMeta(db, `${GENESIS_PENDING_KEY_PREFIX}${opts.stream}`, String(o.cut), atIso);
|
|
@@ -295,43 +334,302 @@ export function cutGenesis(db, opts) {
|
|
|
295
334
|
throw err;
|
|
296
335
|
}
|
|
297
336
|
}
|
|
337
|
+
/** A write reached the store between the cut and the end of its snapshot; the cut was undone. */
|
|
338
|
+
export class GenesisRacedError extends Error {
|
|
339
|
+
code = 'E_SYNC_GENESIS_RACED';
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Another process took the genesis marker over during the snapshot: the
|
|
343
|
+
* pending cut, and any bundle saved for it, are the new holder's (T13390).
|
|
344
|
+
*/
|
|
345
|
+
export class GenesisTakenOverError extends GenesisRacedError {
|
|
346
|
+
code = 'E_SYNC_GENESIS_MARKER_LOST';
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Undo a committed cut whose genesis checkpoint was never pushed (its
|
|
350
|
+
* snapshot failed, or a write raced it), in one `BEGIN IMMEDIATE`: drop the
|
|
351
|
+
* stream's genesis keys, turn push off, return the transactions it folded to
|
|
352
|
+
* `sealed`, and, when no other stream is cut, turn undo off and drop the undo
|
|
353
|
+
* written since. Row meta it baselined stays: before the stream starts that
|
|
354
|
+
* is what the repair diff would write anyway (T13217).
|
|
355
|
+
*/
|
|
356
|
+
function uncutGenesis(db, opts) {
|
|
357
|
+
db.exec('BEGIN IMMEDIATE');
|
|
358
|
+
try {
|
|
359
|
+
// Only this cut's fold: another stream's earlier cut keeps its own (LOW-1 on #1953).
|
|
360
|
+
const upto = Number(metaValue(db, `${GENESIS_FOLDED_UPTO_KEY_PREFIX}${opts.stream}`) ?? 0);
|
|
361
|
+
const from = Number(metaValue(db, `${GENESIS_FOLDED_FROM_KEY_PREFIX}${opts.stream}`) ?? upto + 1);
|
|
362
|
+
db.prepare("UPDATE _sync_txn SET state = 'sealed' WHERE state = 'folded' AND local_seq BETWEEN ? AND ?").run(from, upto);
|
|
363
|
+
const del = db.prepare('DELETE FROM _sync_meta WHERE key = ?');
|
|
364
|
+
for (const prefix of [
|
|
365
|
+
GENESIS_CUT_KEY_PREFIX,
|
|
366
|
+
GENESIS_SOURCE_SEQ_KEY_PREFIX,
|
|
367
|
+
GENESIS_PENDING_KEY_PREFIX,
|
|
368
|
+
GENESIS_FOLDED_UPTO_KEY_PREFIX,
|
|
369
|
+
GENESIS_FOLDED_FROM_KEY_PREFIX,
|
|
370
|
+
]) {
|
|
371
|
+
del.run(`${prefix}${opts.stream}`);
|
|
372
|
+
}
|
|
373
|
+
if (!db.prepare(`SELECT 1 FROM _sync_meta WHERE key LIKE '${GENESIS_CUT_KEY_PREFIX}%'`).get()) {
|
|
374
|
+
del.run(UNDO_ENABLED_KEY);
|
|
375
|
+
db.exec('DELETE FROM _sync_undo');
|
|
376
|
+
if (hasTable(db, '_sync_row_undo'))
|
|
377
|
+
db.exec('DELETE FROM _sync_row_undo');
|
|
378
|
+
setSyncFlag(db, 'sync.push', false);
|
|
379
|
+
}
|
|
380
|
+
db.exec('COMMIT');
|
|
381
|
+
}
|
|
382
|
+
catch (err) {
|
|
383
|
+
if (db.isTransaction)
|
|
384
|
+
db.exec('ROLLBACK');
|
|
385
|
+
throw err;
|
|
386
|
+
}
|
|
387
|
+
}
|
|
298
388
|
/**
|
|
299
|
-
* {@link cutGenesis}
|
|
300
|
-
* cut (§2.11 §10
|
|
301
|
-
*
|
|
302
|
-
*
|
|
303
|
-
*
|
|
389
|
+
* {@link cutGenesis}, then the genesis checkpoint's bundle snapshotted at
|
|
390
|
+
* the committed cut (§2.11 §10; T13296). The cut commits FIRST, so the
|
|
391
|
+
* bundle carries everything it wrote: genesis row meta, the genesis keys,
|
|
392
|
+
* `undo_enabled`, `sync.push` and the folded transactions. A device restored
|
|
393
|
+
* from it therefore has full row meta and never pushes a folded transaction.
|
|
304
394
|
*
|
|
305
|
-
*
|
|
306
|
-
*
|
|
307
|
-
* other
|
|
308
|
-
*
|
|
309
|
-
*
|
|
310
|
-
*
|
|
395
|
+
* Nothing may write between the cut and the end of the snapshot. For the
|
|
396
|
+
* whole run the store carries a `genesis` marker ({@link writeRestoreMarker}):
|
|
397
|
+
* other processes wait at their store open, and every writer, in this
|
|
398
|
+
* process too, waits at the write chokepoint (`assertExodusWriteSafe`: the
|
|
399
|
+
* task accessor's write transactions, session creation, `insertIdempotent`,
|
|
400
|
+
* `upsertIdempotent`) and refuses with `E_STORE_GENESIS` if the snapshot
|
|
401
|
+
* outlasts its wait (T13297). The snapshot itself writes nothing. A writer
|
|
402
|
+
* that bypasses the chokepoint is caught after the snapshot (the capture
|
|
403
|
+
* position moved past the cut): the cut is undone and
|
|
404
|
+
* {@link GenesisRacedError} is thrown, so no bundle holding a post-cut write
|
|
405
|
+
* is ever pushed. A failing snapshot undoes the cut too, and so does a
|
|
406
|
+
* marker that went stale during the snapshot with nobody taking it over
|
|
407
|
+
* ({@link GenesisRacedError}, `E_SYNC_GENESIS_MARKER_LOST`). When another
|
|
408
|
+
* process took the stale marker over, it owns the pending cut: this run
|
|
409
|
+
* aborts with the same error and never undoes the cut. The marker is always
|
|
410
|
+
* released, unless another process now holds it.
|
|
411
|
+
*
|
|
412
|
+
* A cut that an earlier run committed but never snapshotted (a crash, kill
|
|
413
|
+
* or sleep mid-export; `genesis_pending` still set) is resumed (T13301): with
|
|
414
|
+
* no capture since, the snapshot runs at that cut (`resumed`); otherwise the
|
|
415
|
+
* stale cut is undone and the store is cut again. A stored cut
|
|
416
|
+
* (`genesis_pending` cleared) is `already`, and no snapshot runs.
|
|
311
417
|
*
|
|
312
418
|
* @param db - The store.
|
|
313
419
|
* @param opts - {@link GenesisCutOptions}, plus the store file the marker guards.
|
|
314
|
-
* @param snapshot - Export the store as the checkpoint bundle; receives the cut.
|
|
420
|
+
* @param snapshot - Export the store as the checkpoint bundle; receives the cut. Must not write.
|
|
315
421
|
* @returns What was cut, or why not.
|
|
422
|
+
* @throws {GenesisRacedError} When a write reached the store during the snapshot.
|
|
316
423
|
*/
|
|
317
424
|
export async function cutGenesisWithSnapshot(db, opts, snapshot) {
|
|
318
|
-
const
|
|
425
|
+
const marker = holdRestoreMarker(opts.dbPath, 'genesis');
|
|
319
426
|
try {
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
427
|
+
let r;
|
|
428
|
+
const crashed = genesisPending(db, opts.stream) ? genesisCutOf(db, opts.stream) : undefined;
|
|
429
|
+
if (crashed !== undefined && capturePosition(db) === crashed) {
|
|
430
|
+
// T13301: an earlier run committed this cut and died before its
|
|
431
|
+
// snapshot finished; nothing was captured since, so the store is still
|
|
432
|
+
// exactly the cut. Snapshot it now.
|
|
433
|
+
r = report(opts.stream, { cut: crashed, resumed: true });
|
|
434
|
+
}
|
|
435
|
+
else {
|
|
436
|
+
// Written to since that crash: the cut no longer describes the store.
|
|
437
|
+
// Undo it and cut again.
|
|
438
|
+
if (crashed !== undefined)
|
|
439
|
+
uncutGenesis(db, opts);
|
|
440
|
+
r = cutGenesis(db, opts);
|
|
441
|
+
if (r.refused !== null || r.already || r.cut === null)
|
|
442
|
+
return r;
|
|
443
|
+
}
|
|
444
|
+
const cut = r.cut;
|
|
445
|
+
if (cut === null)
|
|
446
|
+
return r;
|
|
323
447
|
try {
|
|
324
|
-
await snapshot(
|
|
325
|
-
return closeCut(db, opts, open);
|
|
448
|
+
await snapshot(cut);
|
|
326
449
|
}
|
|
327
450
|
catch (err) {
|
|
328
|
-
|
|
329
|
-
|
|
451
|
+
// A holder that took the marker over owns the pending cut now: leave it.
|
|
452
|
+
if (marker.takenOver()) {
|
|
453
|
+
// @sync-invariant none:local-only the snapshot failed after another process took the genesis marker over; the pending cut is left to it
|
|
454
|
+
throw new GenesisTakenOverError(`E_SYNC_GENESIS_MARKER_LOST: another process took over the genesis marker; the snapshot failed: ${err instanceof Error ? err.message : String(err)}`, { cause: err });
|
|
455
|
+
}
|
|
456
|
+
uncutGenesis(db, opts);
|
|
330
457
|
throw err;
|
|
331
458
|
}
|
|
459
|
+
// Our marker went stale and another process took it over (a genesis run
|
|
460
|
+
// resuming this pending cut, or a restore): the cut is its to finish or
|
|
461
|
+
// replace. Abort without undoing it, and push nothing from this snapshot.
|
|
462
|
+
if (marker.takenOver()) {
|
|
463
|
+
// @sync-invariant none:local-only another process took the genesis marker over during the snapshot; the pending cut is left to it and nothing is pushed
|
|
464
|
+
throw new GenesisTakenOverError('E_SYNC_GENESIS_MARKER_LOST: another process took over the genesis marker during the snapshot; the pending cut is left to it and nothing is pushed');
|
|
465
|
+
}
|
|
466
|
+
if (capturePosition(db) > cut) {
|
|
467
|
+
uncutGenesis(db, opts);
|
|
468
|
+
// @sync-invariant none:local-only a local write raced the genesis snapshot; the cut is undone and nothing is pushed
|
|
469
|
+
throw new GenesisRacedError('E_SYNC_GENESIS_RACED: a write reached the store during the genesis snapshot; the cut was undone, run it again');
|
|
470
|
+
}
|
|
471
|
+
// A marker that went stale, with nobody taking it over, held nobody off
|
|
472
|
+
// for part of the snapshot: discard the cut, never finish it (an
|
|
473
|
+
// uncaptured write may be in the bundle). The bundle is complete here, so
|
|
474
|
+
// a lapse after this check no longer matters.
|
|
475
|
+
if (!marker.intact()) {
|
|
476
|
+
uncutGenesis(db, opts);
|
|
477
|
+
// @sync-invariant none:local-only the genesis marker lapsed during the snapshot; the cut is undone and nothing is pushed
|
|
478
|
+
throw new GenesisRacedError('E_SYNC_GENESIS_MARKER_LOST: the genesis marker went stale during the snapshot; the cut was undone, run it again');
|
|
479
|
+
}
|
|
480
|
+
return r;
|
|
481
|
+
}
|
|
482
|
+
finally {
|
|
483
|
+
marker.release();
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
/**
|
|
487
|
+
* Finish a stream's genesis once its checkpoint is stored (S4-1b), in one
|
|
488
|
+
* `BEGIN IMMEDIATE`: raise the persisted replicaSeq high-water mark to the
|
|
489
|
+
* replica's last segment on the stream (the vault's delta segments spend this
|
|
490
|
+
* replica's seqs, so the first journal segment follows them), then clear
|
|
491
|
+
* `genesis_pending:<stream>`, which lets the push send segments.
|
|
492
|
+
*
|
|
493
|
+
* @param db - The store, outside a transaction.
|
|
494
|
+
* @param o - Stream, replica, the replica's last replicaSeq on the stream (null: none yet) and the time.
|
|
495
|
+
*/
|
|
496
|
+
export function completeGenesis(db, o) {
|
|
497
|
+
db.exec('BEGIN IMMEDIATE');
|
|
498
|
+
try {
|
|
499
|
+
if (o.replicaSeqFloor !== null) {
|
|
500
|
+
persistStoreSeq(db, o.replica, o.stream, o.replicaSeqFloor, new Date(o.nowIso));
|
|
501
|
+
}
|
|
502
|
+
db.prepare('DELETE FROM _sync_meta WHERE key = ?').run(`${GENESIS_PENDING_KEY_PREFIX}${o.stream}`);
|
|
503
|
+
db.exec('COMMIT');
|
|
504
|
+
}
|
|
505
|
+
catch (err) {
|
|
506
|
+
if (db.isTransaction)
|
|
507
|
+
db.exec('ROLLBACK');
|
|
508
|
+
throw err;
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
/**
|
|
512
|
+
* A stream's genesis cut read from a store file with a read-only open, or
|
|
513
|
+
* undefined (no cut, no store, or no journal): the vault reads it before a
|
|
514
|
+
* push without binding or migrating anything.
|
|
515
|
+
*
|
|
516
|
+
* @param dbPath - The `cleo.db` file.
|
|
517
|
+
* @param stream - The stream.
|
|
518
|
+
*/
|
|
519
|
+
export async function readGenesisCut(dbPath, stream) {
|
|
520
|
+
if (!existsSync(dbPath))
|
|
521
|
+
return undefined;
|
|
522
|
+
const { openNativeDatabase } = await import('../sqlite-native.js');
|
|
523
|
+
const db = openNativeDatabase(dbPath, { readonly: true, enableWal: false });
|
|
524
|
+
try {
|
|
525
|
+
return genesisCutOf(db, stream);
|
|
332
526
|
}
|
|
333
527
|
finally {
|
|
334
|
-
|
|
528
|
+
db.close();
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
/**
|
|
532
|
+
* The row-check skips that leave nothing unchecked: a table this store lacks,
|
|
533
|
+
* or one outside the sync set. Any other skip refuses the join.
|
|
534
|
+
*/
|
|
535
|
+
const JOIN_BENIGN_SKIPS = new Set([
|
|
536
|
+
'table does not exist',
|
|
537
|
+
'not in the sync set',
|
|
538
|
+
'table has no uid column',
|
|
539
|
+
]);
|
|
540
|
+
/**
|
|
541
|
+
* Join a stream another device already started (T13312; journal spec
|
|
542
|
+
* §2.11 §10, §3.5 Rule 2): the store holds exactly the journal checkpoint it
|
|
543
|
+
* restored, with that checkpoint's row meta, and from here on pushes its own
|
|
544
|
+
* writes and pulls the stream's after it. No genesis, no fold: the checkpoint
|
|
545
|
+
* is the store's base.
|
|
546
|
+
*
|
|
547
|
+
* Every sync-set row must carry meta that matches it (the restore carried
|
|
548
|
+
* the checkpoint's merge state, and nothing changed since); a row without
|
|
549
|
+
* meta, or one whose content left its meta behind, refuses the join, and so
|
|
550
|
+
* does a write captured after the check (seen inside the cut's transaction).
|
|
551
|
+
* A refusal leaves capture as it found it. Then, in ONE `BEGIN IMMEDIATE`
|
|
552
|
+
* that also turns sealing on: the restore's
|
|
553
|
+
* suspect marks are cleared (the check just proved the rows clean), the
|
|
554
|
+
* ledgers set, `genesis_cut:<stream>` records the join point (the stream has
|
|
555
|
+
* started here: T13217's meta-less-row rule applies from now), `undo_enabled`,
|
|
556
|
+
* `sync.push` and `sync.pull` are set, and the pull position is seeded from
|
|
557
|
+
* the checkpoint.
|
|
558
|
+
*
|
|
559
|
+
* @param db - The store, outside a transaction, bound to its own replica.
|
|
560
|
+
* @param o - Scope, stream, the checkpoint's pull position, and the unreleased opt-in.
|
|
561
|
+
* @returns The join point, or why not.
|
|
562
|
+
*/
|
|
563
|
+
export function joinStream(db, o) {
|
|
564
|
+
if (db.isTransaction) {
|
|
565
|
+
// @sync-invariant none:local-only programming-error guard: the join opens its own transaction
|
|
566
|
+
throw new Error('joinStream must run outside a transaction');
|
|
567
|
+
}
|
|
568
|
+
const already = genesisCutOf(db, o.stream);
|
|
569
|
+
if (already !== undefined)
|
|
570
|
+
return { stream: o.stream, refused: null, cut: already };
|
|
571
|
+
const replica = activeReplica(db, o.scope)?.replicaId;
|
|
572
|
+
if (!replica)
|
|
573
|
+
return { stream: o.stream, refused: 'no bound replica', cut: null };
|
|
574
|
+
const now = o.now ?? Date.now;
|
|
575
|
+
// Capture installs the triggers the row check needs, and from then on
|
|
576
|
+
// every write is a live capture, which the cut below checks for. A refusal
|
|
577
|
+
// puts capture back as it was, so a store that had it off does not pile up
|
|
578
|
+
// captures that would refuse every retry.
|
|
579
|
+
const captureWasOn = readSyncFlags(db)['sync.capture'];
|
|
580
|
+
setCaptureEnabled(db, o.scope, true);
|
|
581
|
+
const refuse = (why) => {
|
|
582
|
+
if (!captureWasOn)
|
|
583
|
+
setCaptureEnabled(db, o.scope, false);
|
|
584
|
+
return { stream: o.stream, refused: why, cut: null };
|
|
585
|
+
};
|
|
586
|
+
// Every row must still match the meta the checkpoint carried.
|
|
587
|
+
const view = sealerRowView(db, o.scope);
|
|
588
|
+
for (const table of syncSetTables(o.scope)) {
|
|
589
|
+
const plan = planRepair(db, o.scope, table, view);
|
|
590
|
+
if (plan.skipped !== null && !JOIN_BENIGN_SKIPS.has(plan.skipped)) {
|
|
591
|
+
return refuse(`${table}: ${plan.skipped}`);
|
|
592
|
+
}
|
|
593
|
+
if (plan.skipped !== null)
|
|
594
|
+
continue;
|
|
595
|
+
const off = plan.inserts.length + plan.updates.length + plan.deletes.length + plan.unbaselined.length;
|
|
596
|
+
if (off > 0) {
|
|
597
|
+
return refuse(`${table}: ${off} row(s) without matching row meta; the store is not the journal checkpoint it restored (restore it again)`);
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
const at = now();
|
|
601
|
+
const atIso = new Date(at).toISOString();
|
|
602
|
+
db.exec('BEGIN IMMEDIATE');
|
|
603
|
+
try {
|
|
604
|
+
// The check ran outside this transaction: a write since then (another
|
|
605
|
+
// process, or this one) is a live capture, and the cut would baseline its
|
|
606
|
+
// row as the checkpoint's. The store changed since its restore: refuse.
|
|
607
|
+
if (db.prepare("SELECT 1 FROM _sync_capture WHERE state = 'live' LIMIT 1").get()) {
|
|
608
|
+
db.exec('ROLLBACK');
|
|
609
|
+
return refuse('a write landed while the join checked the store; it is no longer the journal checkpoint it restored (restore it again)');
|
|
610
|
+
}
|
|
611
|
+
// Sealing starts with the join, never before the check.
|
|
612
|
+
setSyncFlag(db, 'sync.seal', true, o.allowUnreleased ? { allowUnreleased: true } : {});
|
|
613
|
+
db.prepare("DELETE FROM _sync_meta WHERE key LIKE 'suspect:%'").run();
|
|
614
|
+
// Ledgers (count + held) and baseline keys; every row already has meta.
|
|
615
|
+
for (const table of syncSetTables(o.scope))
|
|
616
|
+
baselineRowMeta(db, o.scope, table, replica, at);
|
|
617
|
+
const cut = capturePosition(db);
|
|
618
|
+
setMeta(db, `${GENESIS_CUT_KEY_PREFIX}${o.stream}`, String(cut), atIso);
|
|
619
|
+
setMeta(db, `${GENESIS_SOURCE_SEQ_KEY_PREFIX}${o.stream}`, String(cut), atIso);
|
|
620
|
+
setMeta(db, UNDO_ENABLED_KEY, '1', atIso);
|
|
621
|
+
raiseMinWriterVersion(db);
|
|
622
|
+
const flag = { now: new Date(at), ...(o.allowUnreleased ? { allowUnreleased: true } : {}) };
|
|
623
|
+
setSyncFlag(db, 'sync.push', true, flag);
|
|
624
|
+
setSyncFlag(db, 'sync.pull', true, flag);
|
|
625
|
+
writeStreamCursor(db, o.stream, o.cursor, atIso);
|
|
626
|
+
db.exec('COMMIT');
|
|
627
|
+
return { stream: o.stream, refused: null, cut };
|
|
628
|
+
}
|
|
629
|
+
catch (err) {
|
|
630
|
+
if (db.isTransaction)
|
|
631
|
+
db.exec('ROLLBACK');
|
|
632
|
+
throw err;
|
|
335
633
|
}
|
|
336
634
|
}
|
|
337
635
|
//# sourceMappingURL=genesis.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"genesis.js","sourceRoot":"","sources":["../../../src/store/sync/genesis.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"genesis.js","sourceRoot":"","sources":["../../../src/store/sync/genesis.ts"],"names":[],"mappings":"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"}
|
|
@@ -150,7 +150,11 @@ export type MergeConflictKind =
|
|
|
150
150
|
| 'guard'
|
|
151
151
|
/** (applier) A parent delete whose sync-set children remain: the delete is voided. */
|
|
152
152
|
| 'delete-with-live-children'
|
|
153
|
-
/**
|
|
153
|
+
/**
|
|
154
|
+
* (applier) A uid held here by a row with another birth fingerprint
|
|
155
|
+
* (T12341 §6.4 step 3): an incoming row op is held, never merged; a re-key
|
|
156
|
+
* onto a live uid is voided.
|
|
157
|
+
*/
|
|
154
158
|
| 'uid-collision'
|
|
155
159
|
/** (applier) A Gate C post-apply invariant broke: the whole transaction is voided. */
|
|
156
160
|
| 'post-apply';
|
|
@@ -163,7 +167,9 @@ export interface MergeConflict {
|
|
|
163
167
|
/** The typed rule, for `typed-rule`. */
|
|
164
168
|
readonly rule?: string;
|
|
165
169
|
/** What happened to the incoming values of `columns`. */
|
|
166
|
-
readonly resolution: 'incoming-applied' | 'incoming-dropped' | 'row-deleted' | 'op-voided'
|
|
170
|
+
readonly resolution: 'incoming-applied' | 'incoming-dropped' | 'row-deleted' | 'op-voided'
|
|
171
|
+
/** The op's transaction waits, pending, until the collision is settled (§6.4). */
|
|
172
|
+
| 'op-held';
|
|
167
173
|
readonly opHlc: string;
|
|
168
174
|
/** The local HLC the op was compared against, when there was one. */
|
|
169
175
|
readonly localHlc?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/store/sync/merge/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/store/sync/merge/types.ts"],"names":[],"mappings":"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"}
|