hikoutei 0.9.9 → 0.9.11

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.
@@ -114,4 +114,6 @@ export declare function defineTypedSheetsEntity<Name extends string, Properties
114
114
  * `defineTypedSheetsEntity` wrapper instead.
115
115
  */
116
116
  export declare function resolveEntityDescriptor(input: HikouteiEntityDescriptorInput): ResolvedHikouteiEntityDescriptor;
117
+ /** Names owned by Hikoutei's SQLite sync schema and SQLite itself. */
118
+ export declare const RESERVED_TABLE_NAMES: Set<string>;
117
119
  //# sourceMappingURL=entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/api/entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/api/entity.ts"],"names":[],"mappings":"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"}
@@ -209,10 +209,13 @@ function isHikouteiScalarType(value) {
209
209
  }
210
210
  const SQL_IDENTIFIER_PATTERN = /^[A-Za-z_][A-Za-z0-9_]*$/;
211
211
  /** Names owned by Hikoutei's SQLite sync schema and SQLite itself. */
212
- const RESERVED_TABLE_NAMES = new Set([
212
+ export const RESERVED_TABLE_NAMES = new Set([
213
213
  "sheet_registry",
214
214
  "physical_sheet_registry",
215
215
  "row_binding",
216
+ // Retired by the v7 cleanup migration (the orphan table is dropped); kept
217
+ // reserved so the dropped-table verification in migrateSchema.ts stays
218
+ // meaningful forever — a user entity must never re-create this name.
216
219
  "projection_row_binding",
217
220
  "entity_state",
218
221
  "entity_field_state",
@@ -1 +1 @@
1
- {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/api/entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/api/entity.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrateSchema.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/storage/sqlite/migrateSchema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAe,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAEpG,OAAO,EAUL,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAC;AAOrB;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,qBAAqB,CAAC,CAmFhC"}
1
+ {"version":3,"file":"migrateSchema.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/storage/sqlite/migrateSchema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAe,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAEpG,OAAO,EAaL,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAC;AAOrB;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,qBAAqB,CAAC,CA+FhC"}
@@ -7,7 +7,7 @@
7
7
  * migration sequence while keeping DDL and later writes on one connection.
8
8
  */
9
9
  import { STORAGE_ERROR_CODES, StorageError } from "../errors.js";
10
- import { CURRENT_SCHEMA_VERSION, REQUIRED_V2_COLUMNS, REQUIRED_V3_COLUMNS, REQUIRED_V5_COLUMNS, REQUIRED_V6_COLUMNS, SQLITE_CONNECTION_PRAGMAS, syncSchemaIndexesDdl, syncSchemaTablesDdl, syncSchemaV5IndexesDdl, } from "./schema.js";
10
+ import { CURRENT_SCHEMA_VERSION, DROPPED_V7_COLUMNS, DROPPED_V7_TABLES, REQUIRED_V2_COLUMNS, REQUIRED_V3_COLUMNS, REQUIRED_V5_COLUMNS, REQUIRED_V6_COLUMNS, REQUIRED_V7_COLUMNS, SQLITE_CONNECTION_PRAGMAS, syncSchemaIndexesDdl, syncSchemaTablesDdl, syncSchemaV5IndexesDdl, } from "./schema.js";
11
11
  import { executeSqlScript } from "./sqlScript.js";
12
12
  /**
13
13
  * Brings one SQLite store to the current sync schema version.
@@ -76,6 +76,18 @@ export async function migrateSqliteSchema(storage) {
76
76
  await writeSchemaVersion(sql, 6);
77
77
  appliedVersions.push(6);
78
78
  }
79
+ if (fromVersion < 7) {
80
+ // Drop the orphan projection_row_binding table (with its two partial
81
+ // unique indexes) and the dead columns. Of the dead columns, the five
82
+ // "write-never" ones are lossless to drop; the three quarantine repair
83
+ // columns did receive writes and their discard is an owner-approved
84
+ // intentional deletion (see the step body below). Each step tolerates
85
+ // already-clean databases so the step stays idempotent wherever a fresh
86
+ // v7 DDL already applied.
87
+ await applyVersion7CleanupMigration(sql);
88
+ await writeSchemaVersion(sql, 7);
89
+ appliedVersions.push(7);
90
+ }
79
91
  await verifyRequiredColumns(sql);
80
92
  await executeSqlScript(sql, syncSchemaIndexesDdl());
81
93
  // v5-only indexes are created after every migration so an upgraded v4
@@ -136,8 +148,34 @@ async function applyVersion6CandidateEvidenceMigration(sql) {
136
148
  await addColumnIfMissing(sql, "sync_conflict", "candidate_visible_revision", "INTEGER");
137
149
  await addColumnIfMissing(sql, "sync_conflict", "candidate_visible_hash", "TEXT");
138
150
  }
151
+ async function applyVersion7CleanupMigration(sql) {
152
+ // The orphan table and its partial unique indexes: the indexes are dropped
153
+ // by the table drop, but explicit IF EXISTS statements also cover renamed
154
+ // legacy tables that may have left the index names behind (v5-style).
155
+ await sql.run("DROP TABLE IF EXISTS projection_row_binding");
156
+ await sql.run("DROP INDEX IF EXISTS projection_row_binding_entity_uq");
157
+ await sql.run("DROP INDEX IF EXISTS projection_row_binding_conflict_uq");
158
+ // Dead columns. The five write-never columns (sheet_registry.locale,
159
+ // sheet_registry.timezone, sheet_registry.stable_encode_version,
160
+ // event_observation.redacted_at, observation_receipt.redacted_at) never
161
+ // received a single write, so dropping them is lossless. The three
162
+ // quarantine repair columns DID receive writes, but were never read by any
163
+ // executor: discarding them is an OWNER-APPROVED INTENTIONAL DELETION of
164
+ // unused data, not a lossless cleanup.
165
+ // Skip-if-absent keeps the step idempotent against any database whose
166
+ // columns are already gone (including one created by fresh v7 DDL).
167
+ await dropColumnIfPresent(sql, "sheet_registry", "locale");
168
+ await dropColumnIfPresent(sql, "sheet_registry", "timezone");
169
+ await dropColumnIfPresent(sql, "sheet_registry", "stable_encode_version");
170
+ await dropColumnIfPresent(sql, "event_observation", "redacted_at");
171
+ await dropColumnIfPresent(sql, "observation_receipt", "redacted_at");
172
+ await dropColumnIfPresent(sql, "quarantine_record", "repair_state");
173
+ await dropColumnIfPresent(sql, "quarantine_record", "repair_fields_json");
174
+ await dropColumnIfPresent(sql, "quarantine_record", "candidate_payload_json");
175
+ }
139
176
  async function verifyCurrentSchema(sql) {
140
177
  await verifyRequiredColumns(sql);
178
+ await verifyDroppedColumns(sql);
141
179
  if (!(await indexExists(sql, "sync_conflict_candidate_attempt_uq"))) {
142
180
  throw new StorageError(STORAGE_ERROR_CODES.SCHEMA_INDEX_MISSING, "SQLite schema is missing sync_conflict_candidate_attempt_uq.");
143
181
  }
@@ -167,6 +205,38 @@ async function verifyRequiredColumns(sql) {
167
205
  for (const tableName of ["sync_conflict"]) {
168
206
  await verifyTableColumns(sql, tableName, REQUIRED_V6_COLUMNS[tableName]);
169
207
  }
208
+ for (const tableName of ["quarantine_record"]) {
209
+ await verifyTableColumns(sql, tableName, REQUIRED_V7_COLUMNS[tableName]);
210
+ }
211
+ }
212
+ /**
213
+ * Final-version expectations beyond required columns: the v7 cleanup tables
214
+ * and columns must be gone. Fresh installs satisfy this from the DDL;
215
+ * upgraded databases only after the v7 step has run.
216
+ *
217
+ * The TABLE-absence check on `projection_row_binding` is protected by that
218
+ * name remaining in `RESERVED_TABLE_NAMES` (src/api/entity.ts): a user entity
219
+ * can never re-create the table, so the check can never misfire on user data.
220
+ * Do NOT un-reserve the name to match the DDL removal — the reservation is
221
+ * the durable contract that keeps this verification sound.
222
+ * The COLUMN-absence checks target only still-reserved system tables
223
+ * (sheet_registry, event_observation, observation_receipt, quarantine_record
224
+ * are all in RESERVED_TABLE_NAMES), so they can never collide with a user
225
+ * entity's descriptor either.
226
+ */
227
+ async function verifyDroppedColumns(sql) {
228
+ for (const tableName of DROPPED_V7_TABLES) {
229
+ if (await tableExists(sql, tableName)) {
230
+ throw new StorageError(STORAGE_ERROR_CODES.SCHEMA_VERSION_INVALID, `SQLite schema still contains dropped table ${tableName}; refusing a v7 marker.`);
231
+ }
232
+ }
233
+ for (const [tableName, columns] of Object.entries(DROPPED_V7_COLUMNS)) {
234
+ for (const columnName of columns) {
235
+ if (await columnExists(sql, tableName, columnName)) {
236
+ throw new StorageError(STORAGE_ERROR_CODES.SCHEMA_VERSION_INVALID, `SQLite schema still contains ${tableName}.${columnName}; refusing a v7 marker.`);
237
+ }
238
+ }
239
+ }
170
240
  }
171
241
  async function verifyTableColumns(sql, tableName, requiredColumns) {
172
242
  if (!(await tableExists(sql, tableName))) {
@@ -183,6 +253,11 @@ async function addColumnIfMissing(sql, tableName, columnName, definition) {
183
253
  return;
184
254
  await sql.run(`ALTER TABLE ${tableName} ADD COLUMN ${columnName} ${definition}`);
185
255
  }
256
+ async function dropColumnIfPresent(sql, tableName, columnName) {
257
+ if (!(await columnExists(sql, tableName, columnName)))
258
+ return;
259
+ await sql.run(`ALTER TABLE ${tableName} DROP COLUMN ${columnName}`);
260
+ }
186
261
  async function readSchemaVersion(sql) {
187
262
  const row = await sql.get("PRAGMA user_version");
188
263
  const version = row?.user_version;
@@ -1 +1 @@
1
- {"version":3,"file":"migrateSchema.js","sourceRoot":"","sources":["../../../../src/infrastructure/storage/sqlite/migrateSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrateSchema.js","sourceRoot":"","sources":["../../../../src/infrastructure/storage/sqlite/migrateSchema.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@
14
14
  export { REQUIRED_V3_COLUMNS } from "@hikoutei/ikisaki";
15
15
  export { syncSchemaV5IndexesDdl } from "@hikoutei/ikisaki";
16
16
  /** Current durable schema version managed by the provider migration. */
17
- export declare const CURRENT_SCHEMA_VERSION = 6;
17
+ export declare const CURRENT_SCHEMA_VERSION = 7;
18
18
  /** Observable result of bringing one SQLite database to the current schema. */
19
19
  export interface SchemaMigrationResult {
20
20
  readonly fromVersion: number;
@@ -35,6 +35,19 @@ export declare const REQUIRED_V5_SCHEMA_COLUMNS: Readonly<Record<"spreadsheet_au
35
35
  export declare const REQUIRED_V5_COLUMNS: Readonly<Record<"sheet_effect_outbox" | "spreadsheet_authority", readonly string[]>>;
36
36
  /** Candidate-evidence columns added to sync_conflict by the v6 migration. */
37
37
  export declare const REQUIRED_V6_COLUMNS: Readonly<Record<"sync_conflict", readonly string[]>>;
38
+ /**
39
+ * Columns that must exist in the v7-cleaned quarantine table. The repair
40
+ * columns (repair_state, repair_fields_json, candidate_payload_json) were
41
+ * dead — never read by the repair executor — and are removed by the v7
42
+ * migration; only the surviving evidence columns are required.
43
+ */
44
+ export declare const REQUIRED_V7_COLUMNS: Readonly<Record<"quarantine_record", readonly string[]>>;
45
+ /**
46
+ * Columns and tables removed from the durable schema by the v7 cleanup
47
+ * migration. Present in pre-v7 databases; verified absent at version 7.
48
+ */
49
+ export declare const DROPPED_V7_TABLES: readonly string[];
50
+ export declare const DROPPED_V7_COLUMNS: Readonly<Record<"sheet_registry" | "event_observation" | "observation_receipt" | "quarantine_record", readonly string[]>>;
38
51
  /** Returns table DDL only, so migration transactions never change connection pragmas. */
39
52
  export declare function syncSchemaTablesDdl(): string;
40
53
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/storage/sqlite/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH;;;;GAIG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,wEAAwE;AACxE,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,+EAA+E;AAC/E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAED,uEAAuE;AACvE,eAAO,MAAM,yBAAyB,iGAIrC,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CACxC,MAAM,CAAC,eAAe,GAAG,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC,CAsClE,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAC/C,MAAM,CAAC,uBAAuB,EAAE,SAAS,MAAM,EAAE,CAAC,CASnD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CACxC,MAAM,CAAC,qBAAqB,GAAG,uBAAuB,EAAE,SAAS,MAAM,EAAE,CAAC,CAI3E,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CACxC,MAAM,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC,CAG3C,CAAC;AAEF,yFAAyF;AACzF,wBAAgB,mBAAmB,IAAI,MAAM,CAY5C;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAK7C"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/storage/sqlite/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH;;;;GAIG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,wEAAwE;AACxE,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,+EAA+E;AAC/E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAED,uEAAuE;AACvE,eAAO,MAAM,yBAAyB,iGAIrC,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CACxC,MAAM,CAAC,eAAe,GAAG,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC,CAsClE,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAC/C,MAAM,CAAC,uBAAuB,EAAE,SAAS,MAAM,EAAE,CAAC,CASnD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CACxC,MAAM,CAAC,qBAAqB,GAAG,uBAAuB,EAAE,SAAS,MAAM,EAAE,CAAC,CAI3E,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CACxC,MAAM,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC,CAG3C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CACxC,MAAM,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC,CAe/C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAA+B,CAAC;AAE/E,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CACvC,MAAM,CAAC,gBAAgB,GAAG,mBAAmB,GAAG,qBAAqB,GAAG,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC,CAMhH,CAAC;AAEF,yFAAyF;AACzF,wBAAgB,mBAAmB,IAAI,MAAM,CAY5C;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAK7C"}
@@ -15,7 +15,7 @@ import { EFFECT_OUTBOX_DDL, REQUIRED_V5_COLUMNS as KERNEL_REQUIRED_V5_COLUMNS, V
15
15
  export { REQUIRED_V3_COLUMNS } from "@hikoutei/ikisaki";
16
16
  export { syncSchemaV5IndexesDdl } from "@hikoutei/ikisaki";
17
17
  /** Current durable schema version managed by the provider migration. */
18
- export const CURRENT_SCHEMA_VERSION = 6;
18
+ export const CURRENT_SCHEMA_VERSION = 7;
19
19
  /** Connection settings required by every typed-sheets SQLite store. */
20
20
  export const SQLITE_CONNECTION_PRAGMAS = `
21
21
  PRAGMA foreign_keys = ON;
@@ -83,6 +83,38 @@ export const REQUIRED_V5_COLUMNS = {
83
83
  export const REQUIRED_V6_COLUMNS = {
84
84
  sync_conflict: ["candidate_visible_revision", "candidate_visible_hash"],
85
85
  };
86
+ /**
87
+ * Columns that must exist in the v7-cleaned quarantine table. The repair
88
+ * columns (repair_state, repair_fields_json, candidate_payload_json) were
89
+ * dead — never read by the repair executor — and are removed by the v7
90
+ * migration; only the surviving evidence columns are required.
91
+ */
92
+ export const REQUIRED_V7_COLUMNS = {
93
+ quarantine_record: [
94
+ "quarantine_id",
95
+ "event_id",
96
+ "observation_id",
97
+ "logical_sheet_id",
98
+ "row_binding_id",
99
+ "reason",
100
+ "before_row_json",
101
+ "after_row_json",
102
+ "fields_json",
103
+ "created_at",
104
+ "updated_at",
105
+ ],
106
+ };
107
+ /**
108
+ * Columns and tables removed from the durable schema by the v7 cleanup
109
+ * migration. Present in pre-v7 databases; verified absent at version 7.
110
+ */
111
+ export const DROPPED_V7_TABLES = ["projection_row_binding"];
112
+ export const DROPPED_V7_COLUMNS = {
113
+ sheet_registry: ["locale", "timezone", "stable_encode_version"],
114
+ event_observation: ["redacted_at"],
115
+ observation_receipt: ["redacted_at"],
116
+ quarantine_record: ["repair_fields_json", "repair_state", "candidate_payload_json"],
117
+ };
86
118
  /** Returns table DDL only, so migration transactions never change connection pragmas. */
87
119
  export function syncSchemaTablesDdl() {
88
120
  return [
@@ -113,10 +145,7 @@ const REGISTRY_TABLES_DDL = `
113
145
  schema_version INTEGER NOT NULL,
114
146
  ownership_manifest_json TEXT NOT NULL,
115
147
  business_key_field TEXT NOT NULL,
116
- locale TEXT,
117
- timezone TEXT,
118
148
  anchor_mode TEXT NOT NULL DEFAULT 'business_key',
119
- stable_encode_version TEXT NOT NULL DEFAULT 'stable_encode_v1',
120
149
  enabled INTEGER NOT NULL DEFAULT 1
121
150
  );
122
151
 
@@ -153,25 +182,6 @@ const IDENTITY_TABLES_DDL = `
153
182
  UNIQUE(logical_sheet_id, anchor_reference)
154
183
  );
155
184
 
156
- CREATE TABLE IF NOT EXISTS projection_row_binding (
157
- projection_row_id TEXT PRIMARY KEY,
158
- physical_sheet_id TEXT NOT NULL REFERENCES physical_sheet_registry(physical_sheet_id),
159
- row_binding_id TEXT REFERENCES row_binding(row_binding_id),
160
- conflict_id TEXT,
161
- anchor_reference TEXT NOT NULL,
162
- physical_row_locator INTEGER NOT NULL,
163
- state TEXT NOT NULL DEFAULT 'active',
164
- CHECK ((row_binding_id IS NOT NULL) != (conflict_id IS NOT NULL)),
165
- UNIQUE(physical_sheet_id, anchor_reference)
166
- );
167
-
168
- CREATE UNIQUE INDEX IF NOT EXISTS projection_row_binding_entity_uq
169
- ON projection_row_binding(physical_sheet_id, row_binding_id)
170
- WHERE row_binding_id IS NOT NULL;
171
-
172
- CREATE UNIQUE INDEX IF NOT EXISTS projection_row_binding_conflict_uq
173
- ON projection_row_binding(physical_sheet_id, conflict_id)
174
- WHERE conflict_id IS NOT NULL;
175
185
  `;
176
186
  const CANONICAL_STATE_TABLES_DDL = `
177
187
  CREATE TABLE IF NOT EXISTS entity_state (
@@ -227,7 +237,6 @@ const EVENT_LEDGER_TABLES_DDL = `
227
237
  payload_hash TEXT NOT NULL,
228
238
  detected_at INTEGER NOT NULL,
229
239
  received_at INTEGER NOT NULL,
230
- redacted_at INTEGER,
231
240
  ingress_actor_id TEXT NOT NULL,
232
241
  editor_actor_id TEXT,
233
242
  editor_actor_source TEXT NOT NULL DEFAULT 'unavailable'
@@ -243,7 +252,6 @@ const EVENT_LEDGER_TABLES_DDL = `
243
252
  state TEXT NOT NULL DEFAULT 'pending' CHECK (state IN ('pending', 'evaluated', 'duplicate', 'quarantined')),
244
253
  first_seen_at INTEGER NOT NULL,
245
254
  last_seen_at INTEGER NOT NULL,
246
- redacted_at INTEGER,
247
255
  PRIMARY KEY(logical_sheet_id, observation_key)
248
256
  );
249
257
 
@@ -300,9 +308,6 @@ const CONFLICT_AND_QUARANTINE_TABLES_DDL = `
300
308
  before_row_json TEXT,
301
309
  after_row_json TEXT,
302
310
  fields_json TEXT NOT NULL,
303
- repair_fields_json TEXT NOT NULL DEFAULT '[]',
304
- repair_state TEXT,
305
- candidate_payload_json TEXT,
306
311
  created_at INTEGER NOT NULL,
307
312
  updated_at INTEGER NOT NULL
308
313
  );
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/infrastructure/storage/sqlite/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,iBAAiB,EACjB,mBAAmB,IAAI,0BAA0B,EACjD,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAE3B;;;;GAIG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,wEAAwE;AACxE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAUxC,uEAAuE;AACvE,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;CAIxC,CAAC;AAEF,+EAA+E;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAE5B;IACF,aAAa,EAAE;QACb,aAAa;QACb,mBAAmB;QACnB,UAAU;QACV,kBAAkB;QAClB,WAAW;QACX,gBAAgB;QAChB,YAAY;QACZ,YAAY;QACZ,oBAAoB;QACpB,8BAA8B;QAC9B,iCAAiC;QACjC,yBAAyB;QACzB,4BAA4B;QAC5B,iBAAiB;QACjB,QAAQ;QACR,wBAAwB;QACxB,uBAAuB;QACvB,YAAY;QACZ,YAAY;KACb;IACD,kBAAkB,EAAE;QAClB,YAAY;QACZ,aAAa;QACb,QAAQ;QACR,UAAU;QACV,MAAM;QACN,oBAAoB;QACpB,mBAAmB;QACnB,uBAAuB;QACvB,0BAA0B;QAC1B,cAAc;QACd,QAAQ;QACR,WAAW;QACX,mBAAmB;KACpB;CACF,CAAC;AAEF,gFAAgF;AAChF,MAAM,CAAC,MAAM,0BAA0B,GAEnC;IACF,qBAAqB,EAAE;QACrB,gBAAgB;QAChB,UAAU;QACV,iBAAiB;QACjB,iBAAiB;QACjB,YAAY;KACb;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAE5B;IACF,GAAG,0BAA0B;IAC7B,GAAG,0BAA0B;CAC9B,CAAC;AAEF,6EAA6E;AAC7E,MAAM,CAAC,MAAM,mBAAmB,GAE5B;IACF,aAAa,EAAE,CAAC,4BAA4B,EAAE,wBAAwB,CAAC;CACxE,CAAC;AAEF,yFAAyF;AACzF,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,mBAAmB;QACnB,mBAAmB;QACnB,0BAA0B;QAC1B,wBAAwB;QACxB,uBAAuB;QACvB,kCAAkC;QAClC,sBAAsB;QACtB,iBAAiB;QACjB,gBAAgB;KACjB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO;;;GAGN,CAAC;AACJ,CAAC;AAED,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiC3B,CAAC;AAEF,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B3B,CAAC;AAEF,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;CAgBlC,CAAC;AAEF,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyE/B,CAAC;AAEF,MAAM,kCAAkC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0D1C,CAAC;AAEF,MAAM,sBAAsB,GAAG;;;;;;;;;;;;CAY9B,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/infrastructure/storage/sqlite/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,iBAAiB,EACjB,mBAAmB,IAAI,0BAA0B,EACjD,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAE3B;;;;GAIG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,wEAAwE;AACxE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAUxC,uEAAuE;AACvE,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;CAIxC,CAAC;AAEF,+EAA+E;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAE5B;IACF,aAAa,EAAE;QACb,aAAa;QACb,mBAAmB;QACnB,UAAU;QACV,kBAAkB;QAClB,WAAW;QACX,gBAAgB;QAChB,YAAY;QACZ,YAAY;QACZ,oBAAoB;QACpB,8BAA8B;QAC9B,iCAAiC;QACjC,yBAAyB;QACzB,4BAA4B;QAC5B,iBAAiB;QACjB,QAAQ;QACR,wBAAwB;QACxB,uBAAuB;QACvB,YAAY;QACZ,YAAY;KACb;IACD,kBAAkB,EAAE;QAClB,YAAY;QACZ,aAAa;QACb,QAAQ;QACR,UAAU;QACV,MAAM;QACN,oBAAoB;QACpB,mBAAmB;QACnB,uBAAuB;QACvB,0BAA0B;QAC1B,cAAc;QACd,QAAQ;QACR,WAAW;QACX,mBAAmB;KACpB;CACF,CAAC;AAEF,gFAAgF;AAChF,MAAM,CAAC,MAAM,0BAA0B,GAEnC;IACF,qBAAqB,EAAE;QACrB,gBAAgB;QAChB,UAAU;QACV,iBAAiB;QACjB,iBAAiB;QACjB,YAAY;KACb;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAE5B;IACF,GAAG,0BAA0B;IAC7B,GAAG,0BAA0B;CAC9B,CAAC;AAEF,6EAA6E;AAC7E,MAAM,CAAC,MAAM,mBAAmB,GAE5B;IACF,aAAa,EAAE,CAAC,4BAA4B,EAAE,wBAAwB,CAAC;CACxE,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAE5B;IACF,iBAAiB,EAAE;QACjB,eAAe;QACf,UAAU;QACV,gBAAgB;QAChB,kBAAkB;QAClB,gBAAgB;QAChB,QAAQ;QACR,iBAAiB;QACjB,gBAAgB;QAChB,aAAa;QACb,YAAY;QACZ,YAAY;KACb;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAsB,CAAC,wBAAwB,CAAC,CAAC;AAE/E,MAAM,CAAC,MAAM,kBAAkB,GAE3B;IACF,cAAc,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,uBAAuB,CAAC;IAC/D,iBAAiB,EAAE,CAAC,aAAa,CAAC;IAClC,mBAAmB,EAAE,CAAC,aAAa,CAAC;IACpC,iBAAiB,EAAE,CAAC,oBAAoB,EAAE,cAAc,EAAE,wBAAwB,CAAC;CACpF,CAAC;AAEF,yFAAyF;AACzF,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,mBAAmB;QACnB,mBAAmB;QACnB,0BAA0B;QAC1B,wBAAwB;QACxB,uBAAuB;QACvB,kCAAkC;QAClC,sBAAsB;QACtB,iBAAiB;QACjB,gBAAgB;KACjB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO;;;GAGN,CAAC;AACJ,CAAC;AAED,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8B3B,CAAC;AAEF,MAAM,mBAAmB,GAAG;;;;;;;;;;;;CAY3B,CAAC;AAEF,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;CAgBlC,CAAC;AAEF,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuE/B,CAAC;AAEF,MAAM,kCAAkC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuD1C,CAAC;AAEF,MAAM,sBAAsB,GAAG;;;;;;;;;;;;CAY9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"observationQuarantine.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationQuarantine.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAGxE,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACf,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAQ9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAqBrE,eAAO,MAAM,qCAAqC;;;;CAIxC,CAAC;AAEX,MAAM,MAAM,4BAA4B,GACpC;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,qCAAqC,CAAC,QAAQ,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACvG;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,qCAAqC,CAAC,SAAS,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACxG;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,qCAAqC,CAAC,UAAU,CAAA;CAAE,CAAC;AAE/E,iFAAiF;AACjF,wBAAsB,iCAAiC,CACrD,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,uBAAuB,EAC9B,GAAG,EAAE,iBAAiB,EACtB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EACzB,aAAa,EAAE,iCAAiC,GAC/C,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED,wFAAwF;AACxF,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,uBAAuB,EAC9B,UAAU,EAAE,cAAc,EAC1B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GACxB,OAAO,CAAC,MAAM,CAAC,CA4BjB;AAED,oEAAoE;AACpE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,wEAAwE;IACxE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,4BAA4B,CAAC,CAkCvC"}
1
+ {"version":3,"file":"observationQuarantine.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationQuarantine.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAGxE,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACf,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAM9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAmBrE,eAAO,MAAM,qCAAqC;;;;CAIxC,CAAC;AAEX,MAAM,MAAM,4BAA4B,GACpC;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,qCAAqC,CAAC,QAAQ,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACvG;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,qCAAqC,CAAC,SAAS,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACxG;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,qCAAqC,CAAC,UAAU,CAAA;CAAE,CAAC;AAE/E,iFAAiF;AACjF,wBAAsB,iCAAiC,CACrD,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,uBAAuB,EAC9B,GAAG,EAAE,iBAAiB,EACtB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EACzB,aAAa,EAAE,iCAAiC,GAC/C,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED,wFAAwF;AACxF,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,uBAAuB,EAC9B,UAAU,EAAE,cAAc,EAC1B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GACxB,OAAO,CAAC,MAAM,CAAC,CAqBjB;AAED,oEAAoE;AACpE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,wEAAwE;IACxE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,4BAA4B,CAAC,CA+BvC"}
@@ -1,6 +1,6 @@
1
1
  /** Quarantine persistence for invalid or unresolvable observed rows. */
2
2
  import { stableHash } from "../../../../shared/encoding/stableEncode.js";
3
- import { QUARANTINE_ID_PREFIX, QUARANTINE_REPAIR_STATUSES, ROW_OUTCOMES, } from "../../../../domain/evaluate/constants.js";
3
+ import { QUARANTINE_ID_PREFIX, } from "../../../../domain/evaluate/constants.js";
4
4
  import { QUARANTINE_REASONS, ROW_OPERATIONS } from "../../../../domain/model/constants.js";
5
5
  import { toSqlNullable } from "../../sqlite/sqlState.js";
6
6
  import { FENCE_EXISTS_SQL, fenceParameters, isFencingValidWithSql, } from "@hikoutei/ikisaki";
@@ -8,17 +8,15 @@ import { auditJson } from "./observationAudit.js";
8
8
  const INSERT_QUARANTINE_RECORD_SQL = `
9
9
  INSERT INTO quarantine_record (
10
10
  quarantine_id, event_id, observation_id, logical_sheet_id, row_binding_id,
11
- reason, before_row_json, after_row_json, fields_json, repair_fields_json,
12
- repair_state, candidate_payload_json, created_at, updated_at
13
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
11
+ reason, before_row_json, after_row_json, fields_json, created_at, updated_at
12
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
14
13
  ON CONFLICT(quarantine_id) DO NOTHING
15
14
  `;
16
15
  const INSERT_POLLING_QUARANTINE_RECORD_SQL = `
17
16
  INSERT INTO quarantine_record (
18
17
  quarantine_id, event_id, observation_id, logical_sheet_id, row_binding_id,
19
- reason, before_row_json, after_row_json, fields_json, repair_fields_json,
20
- repair_state, candidate_payload_json, created_at, updated_at
21
- ) SELECT ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?
18
+ reason, before_row_json, after_row_json, fields_json, created_at, updated_at
19
+ ) SELECT ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?
22
20
  WHERE EXISTS (${FENCE_EXISTS_SQL})
23
21
  ON CONFLICT(quarantine_id) DO NOTHING
24
22
  `;
@@ -40,10 +38,6 @@ export async function persistQuarantineWithSql(sql, input, quarantine, eventId)
40
38
  const afterRow = quarantine.operation === ROW_OPERATIONS.DELETE
41
39
  ? null
42
40
  : quarantine.afterRow;
43
- const repairState = input.evaluation.outcome === ROW_OUTCOMES.QUARANTINE &&
44
- input.evaluation.repair.status === QUARANTINE_REPAIR_STATUSES.PLANNED
45
- ? "pending"
46
- : null;
47
41
  await sql.run(INSERT_QUARANTINE_RECORD_SQL, [
48
42
  quarantine.quarantineId,
49
43
  toSqlNullable(eventId),
@@ -54,9 +48,6 @@ export async function persistQuarantineWithSql(sql, input, quarantine, eventId)
54
48
  auditJson(beforeRow),
55
49
  auditJson(afterRow),
56
50
  auditJson(quarantine.fields),
57
- auditJson(quarantine.repairFields),
58
- repairState,
59
- input.observation.payloadJson,
60
51
  input.observation.receivedAt,
61
52
  input.observation.receivedAt,
62
53
  ]);
@@ -88,9 +79,6 @@ export async function persistPollingQuarantineWithSql(sql, fence, input) {
88
79
  input.beforeRowJson,
89
80
  input.afterRowJson,
90
81
  input.fieldsJson,
91
- "[]",
92
- null,
93
- input.payloadJson,
94
82
  input.detectedAt,
95
83
  input.detectedAt,
96
84
  ...fenceParameters(fence),
@@ -1 +1 @@
1
- {"version":3,"file":"observationQuarantine.js","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationQuarantine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observationQuarantine.js","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationQuarantine.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hikoutei",
3
- "version": "0.9.9",
3
+ "version": "0.9.11",
4
4
  "description": "Typed repository and safe write layer for Google Sheets-backed MVPs. SQLite-authoritative entity lifecycle with asynchronous Google Sheets projection.",
5
5
  "repository": {
6
6
  "type": "git",