@amalgm/shell 0.1.164-preview.36814066164 → 0.1.164-preview.36833169660

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/PURPOSE.md CHANGED
@@ -1655,8 +1655,35 @@ after adoption.
1655
1655
  `(uuid, generation)` storage; `ground_roots` names each root's one visible
1656
1656
  generation, and writes touch only that generation. A flat file converts in
1657
1657
  one transaction that proves the views reproduce it exactly, or it stays as
1658
- it was. The qualified profile gathers no planner statistics, but
1659
- statistics already present are kept, never treated as corruption.
1658
+ it was. The released flat form stated each object as stat numbers: its
1659
+ device and inode are the physical key exactly as stored, and its
1660
+ millisecond times state neither a source signature nor a content
1661
+ boundary, so a converted row holds neither and its first examination
1662
+ reads every leaf again. It also stored the user's root at the route it
1663
+ was given, while every root is found by its physical route (its
1664
+ synchronization address, `src/sync-address.ts`), so conversion moves each
1665
+ root's rows onto that route: a root left at another spelling of it
1666
+ (`/var` for `/private/var`, an 8.3 short name for a long one) would never
1667
+ be found again, and its ground would be declared a second time under a
1668
+ new identity. A root on a volume that is not mounted keeps its route; it
1669
+ has nothing to resolve now, and only the user's own root was stored
1670
+ unresolved. The
1671
+ qualified profile gathers no planner statistics, but statistics already
1672
+ present are kept, never treated as corruption.
1673
+
1674
+ 76. **Replication state belongs to the authority that ordered it.** This
1675
+ machine's entity authority is named by a contract-scoped id, so a registry
1676
+ contract change derives a new one and the superseded authority never again
1677
+ orders anything this machine sends or receives. Before convergence reads
1678
+ any of it, binding the ground to its current authority retires every
1679
+ record, cursor, baseline, Apply fact and intent, and Register declaration
1680
+ of any other authority in one transaction. None of them can mean anything
1681
+ to the current authority: a pending row would stall Send behind a contract
1682
+ that no longer decodes, a cursor or resolution would skip the current
1683
+ authority's first sequences, and an accepted result would settle a new
1684
+ observation as if the current authority already held it. Files ground is
1685
+ untouched; convergence settles it with the current authority exactly as it
1686
+ settles ground that holds no replication state.
1660
1687
 
1661
1688
  ## Relationship to amalgm-engine
1662
1689
 
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Replication state belongs to the authority that ordered it.
3
+ *
4
+ * This machine's entity authority is named by a contract-scoped id: a
5
+ * registry contract change derives a new one, and the superseded authority
6
+ * never again orders anything this machine sends or receives. Its records,
7
+ * cursors, baselines, Apply facts and intents, and Register declarations
8
+ * describe a history the current authority does not hold, so no reader may
9
+ * interpret them: a pending record would block Send behind a superseded
10
+ * contract, a cursor or resolution would skip the current authority's first
11
+ * sequences, and an accepted result would settle a new observation as if the
12
+ * current authority already held it.
13
+ *
14
+ * Binding the ground to its authority therefore retires every row of any
15
+ * other authority, in one transaction, before convergence reads any of them.
16
+ * Files ground is untouched: it is current truth, and convergence settles it
17
+ * with the current authority exactly as it settles ground that holds no
18
+ * replication state. An intent's private control directory stays where it is
19
+ * as machine-control evidence; the bytes it may hold are a superseded
20
+ * authority's history, never unsent local work.
21
+ *
22
+ * Run only by the ground file's saver thread (ground-save-ops.ts).
23
+ */
24
+ import type Database from "better-sqlite3";
25
+ /** Every table that holds replication state, by the column naming its authority. */
26
+ declare const AUTHORITY_SCOPED: readonly [readonly ["record_outbox", "authority_id"], readonly ["record_inbox", "authority_id"], readonly ["entity_receive_cursors", "authority_id"], readonly ["authority_delivery_cursors", "authority_id"], readonly ["authority_snapshot_baselines", "authority_id"], readonly ["entity_apply_state", "authority_id"], readonly ["entity_apply_intents", "authority_id"], readonly ["snapshot_publications", "resource_id"]];
27
+ export type RetiredReplication = Readonly<Record<(typeof AUTHORITY_SCOPED)[number][0], number>>;
28
+ /** `ground.bindAuthority`: how many rows of each table it retired. */
29
+ export declare function bindGroundAuthority(database: Database.Database, input: {
30
+ readonly authorityId: string;
31
+ }): RetiredReplication;
32
+ export {};
@@ -0,0 +1,23 @@
1
+ /** Every table that holds replication state, by the column naming its authority. */
2
+ const AUTHORITY_SCOPED = [
3
+ ["record_outbox", "authority_id"],
4
+ ["record_inbox", "authority_id"],
5
+ ["entity_receive_cursors", "authority_id"],
6
+ ["authority_delivery_cursors", "authority_id"],
7
+ ["authority_snapshot_baselines", "authority_id"],
8
+ ["entity_apply_state", "authority_id"],
9
+ ["entity_apply_intents", "authority_id"],
10
+ ["snapshot_publications", "resource_id"],
11
+ ];
12
+ /** `ground.bindAuthority`: how many rows of each table it retired. */
13
+ export function bindGroundAuthority(database, input) {
14
+ const { authorityId } = input;
15
+ if (!authorityId)
16
+ throw new Error("the ground's entity authority is required");
17
+ // A declaration's pages belong to its journal row.
18
+ database.prepare(`DELETE FROM snapshot_publication_pages WHERE mutation_id IN
19
+ (SELECT mutation_id FROM snapshot_publications WHERE resource_id <> ?)`).run(authorityId);
20
+ return Object.fromEntries(AUTHORITY_SCOPED.map(([table, column]) => [table,
21
+ database.prepare(`DELETE FROM ${table} WHERE ${column} <> ?`).run(authorityId).changes]));
22
+ }
23
+ //# sourceMappingURL=authority-binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authority-binding.js","sourceRoot":"","sources":["../src/authority-binding.ts"],"names":[],"mappings":"AAyBA,oFAAoF;AACpF,MAAM,gBAAgB,GAAG;IACvB,CAAC,eAAe,EAAE,cAAc,CAAC;IACjC,CAAC,cAAc,EAAE,cAAc,CAAC;IAChC,CAAC,wBAAwB,EAAE,cAAc,CAAC;IAC1C,CAAC,4BAA4B,EAAE,cAAc,CAAC;IAC9C,CAAC,8BAA8B,EAAE,cAAc,CAAC;IAChD,CAAC,oBAAoB,EAAE,cAAc,CAAC;IACtC,CAAC,sBAAsB,EAAE,cAAc,CAAC;IACxC,CAAC,uBAAuB,EAAE,aAAa,CAAC;CAChC,CAAC;AAIX,sEAAsE;AACtE,MAAM,UAAU,mBAAmB,CAAC,QAA2B,EAAE,KAEhE;IACC,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC9B,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/E,mDAAmD;IACnD,QAAQ,CAAC,OAAO,CAAC;2EACwD,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC5F,OAAO,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK;QACxE,QAAQ,CAAC,OAAO,CAAC,eAAe,KAAK,UAAU,MAAM,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAuB,CAAC;AACpH,CAAC"}
package/dist/cli.js CHANGED
@@ -115,10 +115,10 @@ async function runSelectedCli(argv, shutdown, profile) {
115
115
  message: error instanceof Error ? error.message : String(error),
116
116
  })}\n`);
117
117
  },
118
- // One entity's Apply lane failing never stops the others; it must still
119
- // be visible in the product log rather than swallowed.
120
- onApplyError: (error) => {
121
- process.stdout.write(`AMALGM_APPLY_ERROR ${JSON.stringify({
118
+ // A failed background pass never stops the others; it must still be
119
+ // visible in the product log rather than swallowed.
120
+ onBackgroundError: (error) => {
121
+ process.stdout.write(`AMALGM_BACKGROUND_ERROR ${JSON.stringify({
122
122
  message: error instanceof Error ? error.message : String(error),
123
123
  })}\n`);
124
124
  },
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -84,154 +84,166 @@ export function migrateGroundDatabase(file) {
84
84
  ensurePrivateDir(dirname(file));
85
85
  const database = configureGroundConnection(openFileDatabase(file));
86
86
  try {
87
- requireCurrentJournal(database, columnsOf(database, "snapshot_publications"));
88
- // A seal is disposable reuse evidence: another shape is dropped, never read.
89
- const sealColumns = columnsOf(database, "repository_git_evidence");
90
- if (sealColumns.size > 0 && !sealColumns.has("selection_key"))
91
- database.exec("DROP TABLE repository_git_evidence");
92
- database.exec(`
93
- CREATE TABLE IF NOT EXISTS ground_identity (
94
- singleton INTEGER PRIMARY KEY CHECK (singleton = 1),
95
- user_id TEXT NOT NULL,
96
- user_email TEXT NOT NULL,
97
- device_id TEXT NOT NULL
98
- );
99
- CREATE TABLE IF NOT EXISTS record_outbox (
100
- local_sequence INTEGER PRIMARY KEY AUTOINCREMENT,
101
- mutation_id TEXT NOT NULL UNIQUE,
102
- authority_id TEXT NOT NULL,
103
- entity_id TEXT NOT NULL,
104
- record_json TEXT NOT NULL,
105
- status TEXT NOT NULL CHECK(status IN ('pending', 'accepted')),
106
- global_sequence INTEGER,
107
- created_at INTEGER NOT NULL,
108
- accepted_at INTEGER,
109
- CHECK((status = 'pending' AND global_sequence IS NULL AND accepted_at IS NULL)
110
- OR (status = 'accepted' AND global_sequence > 0 AND accepted_at IS NOT NULL))
111
- );
112
- CREATE TABLE IF NOT EXISTS record_inbox (
113
- authority_id TEXT NOT NULL,
114
- entity_id TEXT NOT NULL,
115
- global_sequence INTEGER NOT NULL CHECK(global_sequence > 0),
116
- delivery_sequence INTEGER NOT NULL CHECK(delivery_sequence > 0),
117
- mutation_id TEXT NOT NULL,
118
- record_json TEXT NOT NULL,
119
- received_at INTEGER NOT NULL,
120
- resolved_at INTEGER,
121
- PRIMARY KEY(entity_id, global_sequence),
122
- UNIQUE(entity_id, mutation_id),
123
- UNIQUE(authority_id, delivery_sequence)
124
- );
125
- CREATE TABLE IF NOT EXISTS entity_receive_cursors (
126
- entity_id TEXT PRIMARY KEY,
127
- authority_id TEXT NOT NULL,
128
- received_through INTEGER NOT NULL CHECK(received_through >= 0)
129
- );
130
- CREATE TABLE IF NOT EXISTS authority_delivery_cursors (
131
- authority_id TEXT PRIMARY KEY,
132
- received_through INTEGER NOT NULL CHECK(received_through >= 0),
133
- history_floor INTEGER NOT NULL DEFAULT 0 CHECK(history_floor >= 0)
134
- );
135
- CREATE TABLE IF NOT EXISTS authority_snapshot_baselines (
136
- authority_id TEXT PRIMARY KEY,
137
- delivery_sequence INTEGER NOT NULL CHECK(delivery_sequence >= 0)
138
- );
139
- ${SNAPSHOT_PUBLICATIONS_SCHEMA}
140
- CREATE TABLE IF NOT EXISTS constructs (
141
- uuid TEXT PRIMARY KEY,
142
- type TEXT NOT NULL,
143
- name TEXT NOT NULL,
144
- status TEXT NOT NULL,
145
- version TEXT NOT NULL,
146
- payload_version TEXT,
147
- updated_at_ms INTEGER NOT NULL
148
- );
149
- CREATE TABLE IF NOT EXISTS entity_apply_state (
150
- entity_id TEXT PRIMARY KEY,
151
- authority_id TEXT NOT NULL,
152
- resolved_through INTEGER NOT NULL CHECK(resolved_through >= 0),
153
- materialized_sequence INTEGER,
154
- materialized_record_json TEXT,
155
- CHECK((materialized_sequence IS NULL AND materialized_record_json IS NULL)
156
- OR (materialized_sequence > 0 AND materialized_record_json IS NOT NULL))
157
- );
158
- CREATE TABLE IF NOT EXISTS entity_apply_intents (
159
- entity_id TEXT PRIMARY KEY,
160
- authority_id TEXT NOT NULL,
161
- intent_json TEXT NOT NULL,
162
- recovery_location TEXT,
163
- retirement_json TEXT
164
- );
165
- CREATE TABLE IF NOT EXISTS workspace_add_intents (
166
- workspace_uuid TEXT PRIMARY KEY,
167
- destination_path TEXT NOT NULL UNIQUE,
168
- intent_json TEXT NOT NULL
169
- );
170
- CREATE TABLE IF NOT EXISTS repository_git_evidence (
171
- uuid TEXT PRIMARY KEY,
172
- fingerprint TEXT NOT NULL,
173
- observed_payload TEXT NOT NULL,
174
- identity_hash TEXT NOT NULL,
175
- selection_key TEXT,
176
- selected_payload TEXT,
177
- selected_transport TEXT,
178
- CHECK((selection_key IS NULL) = (selected_payload IS NULL)
179
- AND (selection_key IS NULL) = (selected_transport IS NULL))
180
- );
181
- CREATE TABLE IF NOT EXISTS detect_dispositions (
182
- sequence INTEGER PRIMARY KEY AUTOINCREMENT,
183
- event_id TEXT NOT NULL UNIQUE,
184
- incarnation TEXT NOT NULL,
185
- fact TEXT NOT NULL CHECK(fact IN ('ready', 'outcome', 'observation')),
186
- collection_id TEXT,
187
- recorded_at INTEGER NOT NULL,
188
- event_json TEXT NOT NULL,
189
- CHECK(fact = 'observation' OR collection_id IS NOT NULL)
190
- );
191
- CREATE INDEX IF NOT EXISTS detect_dispositions_by_collection
192
- ON detect_dispositions(collection_id, fact) WHERE collection_id IS NOT NULL;
193
- CREATE INDEX IF NOT EXISTS record_inbox_apply
194
- ON record_inbox(authority_id, entity_id, global_sequence);
195
- CREATE INDEX IF NOT EXISTS record_inbox_entity_apply
196
- ON record_inbox(entity_id, global_sequence DESC);
197
- CREATE INDEX IF NOT EXISTS record_outbox_pending
198
- ON record_outbox(status, local_sequence);
199
- CREATE INDEX IF NOT EXISTS record_outbox_pending_entity
200
- ON record_outbox(status, entity_id, local_sequence);
201
- CREATE INDEX IF NOT EXISTS record_outbox_local_work
202
- ON record_outbox(authority_id, entity_id, global_sequence);
203
- `);
204
- if (!columnsOf(database, "record_inbox").has("resolved_at")) {
205
- database.exec("ALTER TABLE record_inbox ADD COLUMN resolved_at INTEGER");
206
- }
207
- // A cursor that predates its floor may have jumped at any adopted
208
- // snapshot, so the largest adopted baseline is its only honest floor.
209
- if (!columnsOf(database, "authority_delivery_cursors").has("history_floor")) {
210
- database.exec(`ALTER TABLE authority_delivery_cursors
211
- ADD COLUMN history_floor INTEGER NOT NULL DEFAULT 0 CHECK(history_floor >= 0)`);
212
- database.exec(`UPDATE authority_delivery_cursors SET history_floor = MIN(received_through, COALESCE(
213
- (SELECT delivery_sequence FROM authority_snapshot_baselines AS baseline
214
- WHERE baseline.authority_id = authority_delivery_cursors.authority_id), 0))`);
215
- }
216
- database.exec("DROP INDEX IF EXISTS record_inbox_delivery");
217
- // Resolved history is retained; readers of unresolved work pay only for it.
218
- database.exec(`CREATE INDEX IF NOT EXISTS record_inbox_unresolved
219
- ON record_inbox(authority_id, entity_id, global_sequence) WHERE resolved_at IS NULL`);
220
- const inventories = ensureInventorySchema(database);
221
- ensureGroundDifferences(database);
222
- database.exec("DROP TABLE IF EXISTS mutation_journal");
223
- // Once per file per process, like the migration: every connection this
224
- // process opens later reads the same epoch.
225
- beginGroundEpoch(database);
226
- const count = (table) => database.prepare(`SELECT COUNT(*) FROM ${table}`).pluck().get();
227
- return {
228
- incarnation: groundIncarnation(database),
229
- ...inventories,
230
- entities: count("entity_rows"),
231
- notebook: count("notebook_rows"),
232
- roots: count("ground_roots"),
233
- migrationMs: performance.now() - started,
234
- };
87
+ // One transaction: a migration that cannot complete leaves the file
88
+ // exactly as it was, never between two shapes. Each step's own
89
+ // transaction nests inside it.
90
+ return database.transaction(() => {
91
+ requireCurrentJournal(database, columnsOf(database, "snapshot_publications"));
92
+ // A seal is disposable reuse evidence: another shape is dropped, never read.
93
+ const sealColumns = columnsOf(database, "repository_git_evidence");
94
+ if (sealColumns.size > 0 && !sealColumns.has("selection_key"))
95
+ database.exec("DROP TABLE repository_git_evidence");
96
+ database.exec(`
97
+ CREATE TABLE IF NOT EXISTS ground_identity (
98
+ singleton INTEGER PRIMARY KEY CHECK (singleton = 1),
99
+ user_id TEXT NOT NULL,
100
+ user_email TEXT NOT NULL,
101
+ device_id TEXT NOT NULL
102
+ );
103
+ CREATE TABLE IF NOT EXISTS record_outbox (
104
+ local_sequence INTEGER PRIMARY KEY AUTOINCREMENT,
105
+ mutation_id TEXT NOT NULL UNIQUE,
106
+ authority_id TEXT NOT NULL,
107
+ entity_id TEXT NOT NULL,
108
+ record_json TEXT NOT NULL,
109
+ status TEXT NOT NULL CHECK(status IN ('pending', 'accepted')),
110
+ global_sequence INTEGER,
111
+ created_at INTEGER NOT NULL,
112
+ accepted_at INTEGER,
113
+ CHECK((status = 'pending' AND global_sequence IS NULL AND accepted_at IS NULL)
114
+ OR (status = 'accepted' AND global_sequence > 0 AND accepted_at IS NOT NULL))
115
+ );
116
+ CREATE TABLE IF NOT EXISTS record_inbox (
117
+ authority_id TEXT NOT NULL,
118
+ entity_id TEXT NOT NULL,
119
+ global_sequence INTEGER NOT NULL CHECK(global_sequence > 0),
120
+ delivery_sequence INTEGER NOT NULL CHECK(delivery_sequence > 0),
121
+ mutation_id TEXT NOT NULL,
122
+ record_json TEXT NOT NULL,
123
+ received_at INTEGER NOT NULL,
124
+ resolved_at INTEGER,
125
+ PRIMARY KEY(entity_id, global_sequence),
126
+ UNIQUE(entity_id, mutation_id),
127
+ UNIQUE(authority_id, delivery_sequence)
128
+ );
129
+ CREATE TABLE IF NOT EXISTS entity_receive_cursors (
130
+ entity_id TEXT PRIMARY KEY,
131
+ authority_id TEXT NOT NULL,
132
+ received_through INTEGER NOT NULL CHECK(received_through >= 0)
133
+ );
134
+ CREATE TABLE IF NOT EXISTS authority_delivery_cursors (
135
+ authority_id TEXT PRIMARY KEY,
136
+ received_through INTEGER NOT NULL CHECK(received_through >= 0),
137
+ history_floor INTEGER NOT NULL DEFAULT 0 CHECK(history_floor >= 0)
138
+ );
139
+ CREATE TABLE IF NOT EXISTS authority_snapshot_baselines (
140
+ authority_id TEXT PRIMARY KEY,
141
+ delivery_sequence INTEGER NOT NULL CHECK(delivery_sequence >= 0)
142
+ );
143
+ ${SNAPSHOT_PUBLICATIONS_SCHEMA}
144
+ CREATE TABLE IF NOT EXISTS constructs (
145
+ uuid TEXT PRIMARY KEY,
146
+ type TEXT NOT NULL,
147
+ name TEXT NOT NULL,
148
+ status TEXT NOT NULL,
149
+ version TEXT NOT NULL,
150
+ payload_version TEXT,
151
+ updated_at_ms INTEGER NOT NULL
152
+ );
153
+ CREATE TABLE IF NOT EXISTS entity_apply_state (
154
+ entity_id TEXT PRIMARY KEY,
155
+ authority_id TEXT NOT NULL,
156
+ resolved_through INTEGER NOT NULL CHECK(resolved_through >= 0),
157
+ materialized_sequence INTEGER,
158
+ materialized_record_json TEXT,
159
+ CHECK((materialized_sequence IS NULL AND materialized_record_json IS NULL)
160
+ OR (materialized_sequence > 0 AND materialized_record_json IS NOT NULL))
161
+ );
162
+ CREATE TABLE IF NOT EXISTS entity_apply_intents (
163
+ entity_id TEXT PRIMARY KEY,
164
+ authority_id TEXT NOT NULL,
165
+ intent_json TEXT NOT NULL,
166
+ recovery_location TEXT,
167
+ retirement_json TEXT
168
+ );
169
+ CREATE TABLE IF NOT EXISTS workspace_add_intents (
170
+ workspace_uuid TEXT PRIMARY KEY,
171
+ destination_path TEXT NOT NULL UNIQUE,
172
+ intent_json TEXT NOT NULL
173
+ );
174
+ CREATE TABLE IF NOT EXISTS repository_git_evidence (
175
+ uuid TEXT PRIMARY KEY,
176
+ fingerprint TEXT NOT NULL,
177
+ observed_payload TEXT NOT NULL,
178
+ identity_hash TEXT NOT NULL,
179
+ selection_key TEXT,
180
+ selected_payload TEXT,
181
+ selected_transport TEXT,
182
+ CHECK((selection_key IS NULL) = (selected_payload IS NULL)
183
+ AND (selection_key IS NULL) = (selected_transport IS NULL))
184
+ );
185
+ CREATE TABLE IF NOT EXISTS detect_dispositions (
186
+ sequence INTEGER PRIMARY KEY AUTOINCREMENT,
187
+ event_id TEXT NOT NULL UNIQUE,
188
+ incarnation TEXT NOT NULL,
189
+ fact TEXT NOT NULL CHECK(fact IN ('ready', 'outcome', 'observation')),
190
+ collection_id TEXT,
191
+ recorded_at INTEGER NOT NULL,
192
+ event_json TEXT NOT NULL,
193
+ CHECK(fact = 'observation' OR collection_id IS NOT NULL)
194
+ );
195
+ CREATE INDEX IF NOT EXISTS detect_dispositions_by_collection
196
+ ON detect_dispositions(collection_id, fact) WHERE collection_id IS NOT NULL;
197
+ CREATE INDEX IF NOT EXISTS record_inbox_apply
198
+ ON record_inbox(authority_id, entity_id, global_sequence);
199
+ CREATE INDEX IF NOT EXISTS record_inbox_entity_apply
200
+ ON record_inbox(entity_id, global_sequence DESC);
201
+ CREATE INDEX IF NOT EXISTS record_outbox_pending
202
+ ON record_outbox(status, local_sequence);
203
+ CREATE INDEX IF NOT EXISTS record_outbox_pending_entity
204
+ ON record_outbox(status, entity_id, local_sequence);
205
+ CREATE INDEX IF NOT EXISTS record_outbox_local_work
206
+ ON record_outbox(authority_id, entity_id, global_sequence);
207
+ `);
208
+ if (!columnsOf(database, "record_inbox").has("resolved_at")) {
209
+ database.exec("ALTER TABLE record_inbox ADD COLUMN resolved_at INTEGER");
210
+ }
211
+ // An intent journaled before Apply kept a recovery locator or a
212
+ // retirement holds neither.
213
+ const intentColumns = columnsOf(database, "entity_apply_intents");
214
+ for (const column of ["recovery_location", "retirement_json"]) {
215
+ if (!intentColumns.has(column))
216
+ database.exec(`ALTER TABLE entity_apply_intents ADD COLUMN ${column} TEXT`);
217
+ }
218
+ // A cursor that predates its floor may have jumped at any adopted
219
+ // snapshot, so the largest adopted baseline is its only honest floor.
220
+ if (!columnsOf(database, "authority_delivery_cursors").has("history_floor")) {
221
+ database.exec(`ALTER TABLE authority_delivery_cursors
222
+ ADD COLUMN history_floor INTEGER NOT NULL DEFAULT 0 CHECK(history_floor >= 0)`);
223
+ database.exec(`UPDATE authority_delivery_cursors SET history_floor = MIN(received_through, COALESCE(
224
+ (SELECT delivery_sequence FROM authority_snapshot_baselines AS baseline
225
+ WHERE baseline.authority_id = authority_delivery_cursors.authority_id), 0))`);
226
+ }
227
+ database.exec("DROP INDEX IF EXISTS record_inbox_delivery");
228
+ // Resolved history is retained; readers of unresolved work pay only for it.
229
+ database.exec(`CREATE INDEX IF NOT EXISTS record_inbox_unresolved
230
+ ON record_inbox(authority_id, entity_id, global_sequence) WHERE resolved_at IS NULL`);
231
+ const inventories = ensureInventorySchema(database);
232
+ ensureGroundDifferences(database);
233
+ database.exec("DROP TABLE IF EXISTS mutation_journal");
234
+ // Once per file per process, like the migration: every connection this
235
+ // process opens later reads the same epoch.
236
+ beginGroundEpoch(database);
237
+ const count = (table) => database.prepare(`SELECT COUNT(*) FROM ${table}`).pluck().get();
238
+ return {
239
+ incarnation: groundIncarnation(database),
240
+ ...inventories,
241
+ entities: count("entity_rows"),
242
+ notebook: count("notebook_rows"),
243
+ roots: count("ground_roots"),
244
+ migrationMs: performance.now() - started,
245
+ };
246
+ })();
235
247
  }
236
248
  finally {
237
249
  database.close();
@@ -1 +1 @@
1
- {"version":3,"file":"ground-database.js","sourceRoot":"","sources":["../src/ground-database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ground-database.js","sourceRoot":"","sources":["../src/ground-database.ts"],"names":[],"mappings":"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"}