hikoutei 0.10.1-dev → 0.10.3-dev

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.
Files changed (177) hide show
  1. package/dist/composition/localRuntime.js +2 -2
  2. package/dist/composition/localRuntime.js.map +1 -1
  3. package/dist/contracts/domain/model/constants.d.ts +15 -0
  4. package/dist/contracts/domain/model/constants.d.ts.map +1 -1
  5. package/dist/contracts/domain/model/constants.js +13 -0
  6. package/dist/contracts/domain/model/constants.js.map +1 -1
  7. package/dist/contracts/shared/observability/internalLog.d.ts.map +1 -0
  8. package/dist/contracts/shared/observability/internalLog.js.map +1 -0
  9. package/dist/contracts/shared/observability/logEvents.d.ts.map +1 -0
  10. package/dist/contracts/shared/observability/logEvents.js.map +1 -0
  11. package/dist/contracts/sheets/mutationCoordinator/CoordinatedSheetsProvider.js +1 -1
  12. package/dist/contracts/sheets/mutationCoordinator/CoordinatedSheetsProvider.js.map +1 -1
  13. package/dist/contracts/sheets/mutationCoordinator/laneTelemetry.d.ts +1 -1
  14. package/dist/contracts/sheets/mutationCoordinator/laneTelemetry.d.ts.map +1 -1
  15. package/dist/contracts/sheets/mutationCoordinator/laneTelemetry.js +1 -1
  16. package/dist/contracts/sheets/mutationCoordinator/laneTelemetry.js.map +1 -1
  17. package/dist/contracts/sheets/timing.d.ts +4 -37
  18. package/dist/contracts/sheets/timing.d.ts.map +1 -1
  19. package/dist/contracts/sheets/timing.js +4 -18
  20. package/dist/contracts/sheets/timing.js.map +1 -1
  21. package/dist/internal/syncStatus.d.ts.map +1 -1
  22. package/dist/internal/syncStatus.js +1 -2
  23. package/dist/internal/syncStatus.js.map +1 -1
  24. package/dist/orm/persistence/projection/projectionEffects.d.ts.map +1 -1
  25. package/dist/orm/persistence/projection/projectionEffects.js +2 -2
  26. package/dist/orm/persistence/projection/projectionEffects.js.map +1 -1
  27. package/dist/sheets/providers/google-sheets-api/GoogleSheetsApiSyncProvider.d.ts +2 -0
  28. package/dist/sheets/providers/google-sheets-api/GoogleSheetsApiSyncProvider.d.ts.map +1 -1
  29. package/dist/sheets/providers/google-sheets-api/GoogleSheetsApiSyncProvider.js +21 -4
  30. package/dist/sheets/providers/google-sheets-api/GoogleSheetsApiSyncProvider.js.map +1 -1
  31. package/dist/sheets/providers/google-sheets-api/constants.d.ts +13 -2
  32. package/dist/sheets/providers/google-sheets-api/constants.d.ts.map +1 -1
  33. package/dist/sheets/providers/google-sheets-api/constants.js +17 -2
  34. package/dist/sheets/providers/google-sheets-api/constants.js.map +1 -1
  35. package/dist/sheets/providers/google-sheets-api/errors.js +2 -2
  36. package/dist/sheets/providers/google-sheets-api/errors.js.map +1 -1
  37. package/dist/sheets/providers/google-sheets-api/index.d.ts +1 -1
  38. package/dist/sheets/providers/google-sheets-api/index.d.ts.map +1 -1
  39. package/dist/sheets/providers/google-sheets-api/index.js +1 -1
  40. package/dist/sheets/providers/google-sheets-api/index.js.map +1 -1
  41. package/dist/sheets/providers/google-sheets-api/model/batchBuilder.d.ts.map +1 -1
  42. package/dist/sheets/providers/google-sheets-api/model/batchBuilder.js +7 -7
  43. package/dist/sheets/providers/google-sheets-api/model/batchBuilder.js.map +1 -1
  44. package/dist/sheets/providers/google-sheets-api/model/observation.d.ts +3 -3
  45. package/dist/sheets/providers/google-sheets-api/model/observation.d.ts.map +1 -1
  46. package/dist/sheets/providers/google-sheets-api/model/observation.js +11 -8
  47. package/dist/sheets/providers/google-sheets-api/model/observation.js.map +1 -1
  48. package/dist/sheets/providers/google-sheets-api/model/plannerReceipt.d.ts +6 -5
  49. package/dist/sheets/providers/google-sheets-api/model/plannerReceipt.d.ts.map +1 -1
  50. package/dist/sheets/providers/google-sheets-api/model/plannerReceipt.js +97 -43
  51. package/dist/sheets/providers/google-sheets-api/model/plannerReceipt.js.map +1 -1
  52. package/dist/sheets/providers/google-sheets-api/model/postcondition.d.ts +8 -5
  53. package/dist/sheets/providers/google-sheets-api/model/postcondition.d.ts.map +1 -1
  54. package/dist/sheets/providers/google-sheets-api/model/postcondition.js +50 -60
  55. package/dist/sheets/providers/google-sheets-api/model/postcondition.js.map +1 -1
  56. package/dist/sheets/providers/google-sheets-api/model/preflightContext.d.ts +5 -6
  57. package/dist/sheets/providers/google-sheets-api/model/preflightContext.d.ts.map +1 -1
  58. package/dist/sheets/providers/google-sheets-api/model/preflightContext.js +22 -15
  59. package/dist/sheets/providers/google-sheets-api/model/preflightContext.js.map +1 -1
  60. package/dist/sheets/providers/google-sheets-api/model/preflightVerify.d.ts +2 -2
  61. package/dist/sheets/providers/google-sheets-api/model/preflightVerify.d.ts.map +1 -1
  62. package/dist/sheets/providers/google-sheets-api/model/preflightVerify.js +10 -7
  63. package/dist/sheets/providers/google-sheets-api/model/preflightVerify.js.map +1 -1
  64. package/dist/sheets/providers/google-sheets-api/operations/applyEffects.d.ts.map +1 -1
  65. package/dist/sheets/providers/google-sheets-api/operations/applyEffects.js +2 -3
  66. package/dist/sheets/providers/google-sheets-api/operations/applyEffects.js.map +1 -1
  67. package/dist/sheets/providers/google-sheets-api/operations/fastAppend.d.ts.map +1 -1
  68. package/dist/sheets/providers/google-sheets-api/operations/fastAppend.js +2 -3
  69. package/dist/sheets/providers/google-sheets-api/operations/fastAppend.js.map +1 -1
  70. package/dist/sheets/providers/google-sheets-api/operations/preflightOp.d.ts.map +1 -1
  71. package/dist/sheets/providers/google-sheets-api/operations/preflightOp.js +2 -2
  72. package/dist/sheets/providers/google-sheets-api/operations/preflightOp.js.map +1 -1
  73. package/dist/sheets/providers/google-sheets-api/operations/provisioning.d.ts.map +1 -1
  74. package/dist/sheets/providers/google-sheets-api/operations/provisioning.js +2 -2
  75. package/dist/sheets/providers/google-sheets-api/operations/provisioning.js.map +1 -1
  76. package/dist/sheets/providers/google-sheets-api/operations/readRows.js +1 -1
  77. package/dist/sheets/providers/google-sheets-api/operations/readRows.js.map +1 -1
  78. package/dist/sheets/providers/google-sheets-api/operations/rowChecks.d.ts.map +1 -1
  79. package/dist/sheets/providers/google-sheets-api/operations/rowChecks.js +9 -7
  80. package/dist/sheets/providers/google-sheets-api/operations/rowChecks.js.map +1 -1
  81. package/dist/sheets/providers/google-sheets-api/operations/shared.d.ts +119 -58
  82. package/dist/sheets/providers/google-sheets-api/operations/shared.d.ts.map +1 -1
  83. package/dist/sheets/providers/google-sheets-api/operations/shared.js +168 -153
  84. package/dist/sheets/providers/google-sheets-api/operations/shared.js.map +1 -1
  85. package/dist/sheets/providers/google-sheets-api/transport/googleSheetsApiTransport.d.ts +1 -1
  86. package/dist/sheets/providers/google-sheets-api/transport/googleSheetsApiTransport.js +4 -4
  87. package/dist/sheets/providers/google-sheets-api/transport/googleSheetsApiTransport.js.map +1 -1
  88. package/dist/storage/sqlite/migrateSchema.d.ts.map +1 -1
  89. package/dist/storage/sqlite/migrateSchema.js +36 -3
  90. package/dist/storage/sqlite/migrateSchema.js.map +1 -1
  91. package/dist/storage/sqlite/schema.d.ts +3 -1
  92. package/dist/storage/sqlite/schema.d.ts.map +1 -1
  93. package/dist/storage/sqlite/schema.js +6 -2
  94. package/dist/storage/sqlite/schema.js.map +1 -1
  95. package/dist/storage/sqlite/schemaTypes.d.ts +1 -1
  96. package/dist/storage/sqlite/schemaTypes.d.ts.map +1 -1
  97. package/dist/sync/outbound/projection/ProjectionEffectFactory.d.ts +19 -0
  98. package/dist/sync/outbound/projection/ProjectionEffectFactory.d.ts.map +1 -1
  99. package/dist/sync/outbound/projection/ProjectionEffectFactory.js +35 -0
  100. package/dist/sync/outbound/projection/ProjectionEffectFactory.js.map +1 -1
  101. package/dist/sync-engine/api/hikouteiCore.js +2 -2
  102. package/dist/sync-engine/api/hikouteiCore.js.map +1 -1
  103. package/dist/sync-engine/api/internalEntityManager.js +2 -2
  104. package/dist/sync-engine/api/internalEntityManager.js.map +1 -1
  105. package/dist/sync-engine/sync/outbound/SheetsEffectDispatcher.d.ts +13 -2
  106. package/dist/sync-engine/sync/outbound/SheetsEffectDispatcher.d.ts.map +1 -1
  107. package/dist/sync-engine/sync/outbound/SheetsEffectDispatcher.js +37 -5
  108. package/dist/sync-engine/sync/outbound/SheetsEffectDispatcher.js.map +1 -1
  109. package/dist/sync-engine/sync/outbound/dispatcherSupport.d.ts +4 -7
  110. package/dist/sync-engine/sync/outbound/dispatcherSupport.d.ts.map +1 -1
  111. package/dist/sync-engine/sync/outbound/dispatcherSupport.js +4 -14
  112. package/dist/sync-engine/sync/outbound/dispatcherSupport.js.map +1 -1
  113. package/dist/sync-engine/sync/service/SyncServiceBootstrap.js +2 -2
  114. package/dist/sync-engine/sync/service/SyncServiceBootstrap.js.map +1 -1
  115. package/dist/sync-engine/sync/service/adopt/adoptionSeeding.js +1 -1
  116. package/dist/sync-engine/sync/service/adopt/adoptionSeeding.js.map +1 -1
  117. package/dist/sync-engine/sync/service/effectSupervisor.js +2 -2
  118. package/dist/sync-engine/sync/service/effectSupervisor.js.map +1 -1
  119. package/dist/sync-engine/sync/service/pollingSupervisor.js +2 -2
  120. package/dist/sync-engine/sync/service/pollingSupervisor.js.map +1 -1
  121. package/dist/sync-engine/sync/service/requestTelemetry.js +2 -2
  122. package/dist/sync-engine/sync/service/requestTelemetry.js.map +1 -1
  123. package/dist/sync-engine/sync/service/shutdown.js +1 -1
  124. package/dist/sync-engine/sync/service/shutdown.js.map +1 -1
  125. package/dist/sync-engine/sync/service/syncAutoStart.js +2 -2
  126. package/dist/sync-engine/sync/service/syncAutoStart.js.map +1 -1
  127. package/dist/sync-engine/sync/sheetsContract/conflictProjectionRegistration.js +1 -1
  128. package/dist/sync-engine/sync/sheetsContract/conflictProjectionRegistration.js.map +1 -1
  129. package/package.json +2 -2
  130. package/dist/contracts/sheets/transportOutcome.d.ts +0 -90
  131. package/dist/contracts/sheets/transportOutcome.d.ts.map +0 -1
  132. package/dist/contracts/sheets/transportOutcome.js +0 -191
  133. package/dist/contracts/sheets/transportOutcome.js.map +0 -1
  134. package/dist/sheets/providers/google-sheets-api/model/readPlan.d.ts +0 -168
  135. package/dist/sheets/providers/google-sheets-api/model/readPlan.d.ts.map +0 -1
  136. package/dist/sheets/providers/google-sheets-api/model/readPlan.js +0 -184
  137. package/dist/sheets/providers/google-sheets-api/model/readPlan.js.map +0 -1
  138. package/dist/sheets/providers/google-sheets-api/model/receiptCursor.d.ts +0 -102
  139. package/dist/sheets/providers/google-sheets-api/model/receiptCursor.d.ts.map +0 -1
  140. package/dist/sheets/providers/google-sheets-api/model/receiptCursor.js +0 -132
  141. package/dist/sheets/providers/google-sheets-api/model/receiptCursor.js.map +0 -1
  142. package/dist/sheets/providers/google-sheets-api/model/rowCheckFormula.d.ts +0 -35
  143. package/dist/sheets/providers/google-sheets-api/model/rowCheckFormula.d.ts.map +0 -1
  144. package/dist/sheets/providers/google-sheets-api/model/rowCheckFormula.js +0 -57
  145. package/dist/sheets/providers/google-sheets-api/model/rowCheckFormula.js.map +0 -1
  146. package/dist/sheets/providers/google-sheets-api/model/sheetIdAllocator.d.ts +0 -16
  147. package/dist/sheets/providers/google-sheets-api/model/sheetIdAllocator.d.ts.map +0 -1
  148. package/dist/sheets/providers/google-sheets-api/model/sheetIdAllocator.js +0 -29
  149. package/dist/sheets/providers/google-sheets-api/model/sheetIdAllocator.js.map +0 -1
  150. package/dist/sheets/providers/google-sheets-api/operations/readEngine.d.ts +0 -50
  151. package/dist/sheets/providers/google-sheets-api/operations/readEngine.d.ts.map +0 -1
  152. package/dist/sheets/providers/google-sheets-api/operations/readEngine.js +0 -124
  153. package/dist/sheets/providers/google-sheets-api/operations/readEngine.js.map +0 -1
  154. package/dist/sheets/providers/google-sheets-api/operations/writeEngine.d.ts +0 -90
  155. package/dist/sheets/providers/google-sheets-api/operations/writeEngine.d.ts.map +0 -1
  156. package/dist/sheets/providers/google-sheets-api/operations/writeEngine.js +0 -112
  157. package/dist/sheets/providers/google-sheets-api/operations/writeEngine.js.map +0 -1
  158. package/dist/sheets/providers/google-sheets-api/transport/quotaGovernor.d.ts +0 -229
  159. package/dist/sheets/providers/google-sheets-api/transport/quotaGovernor.d.ts.map +0 -1
  160. package/dist/sheets/providers/google-sheets-api/transport/quotaGovernor.js +0 -299
  161. package/dist/sheets/providers/google-sheets-api/transport/quotaGovernor.js.map +0 -1
  162. package/dist/sheets/providers/google-sheets-api/transport/rateLimiter.d.ts +0 -185
  163. package/dist/sheets/providers/google-sheets-api/transport/rateLimiter.d.ts.map +0 -1
  164. package/dist/sheets/providers/google-sheets-api/transport/rateLimiter.js +0 -248
  165. package/dist/sheets/providers/google-sheets-api/transport/rateLimiter.js.map +0 -1
  166. package/dist/sheets/providers/google-sheets-api/transport/rawErrorSchemas.d.ts +0 -7
  167. package/dist/sheets/providers/google-sheets-api/transport/rawErrorSchemas.d.ts.map +0 -1
  168. package/dist/sheets/providers/google-sheets-api/transport/rawErrorSchemas.js +0 -26
  169. package/dist/sheets/providers/google-sheets-api/transport/rawErrorSchemas.js.map +0 -1
  170. package/dist/sync-engine/shared/observability/internalLog.d.ts.map +0 -1
  171. package/dist/sync-engine/shared/observability/internalLog.js.map +0 -1
  172. package/dist/sync-engine/shared/observability/logEvents.d.ts.map +0 -1
  173. package/dist/sync-engine/shared/observability/logEvents.js.map +0 -1
  174. /package/dist/{sync-engine → contracts}/shared/observability/internalLog.d.ts +0 -0
  175. /package/dist/{sync-engine → contracts}/shared/observability/internalLog.js +0 -0
  176. /package/dist/{sync-engine → contracts}/shared/observability/logEvents.d.ts +0 -0
  177. /package/dist/{sync-engine → contracts}/shared/observability/logEvents.js +0 -0
@@ -3,19 +3,33 @@
3
3
  * operations.
4
4
  *
5
5
  * The provider class hands one immutable `GoogleSheetsApiProviderDeps` object
6
- * to every operation function so the class stays a thin facade. Pacing
7
- * (independent request-start limiters: reads serialize only against reads,
8
- * writes only against writes), redacted telemetry, route validation against
9
- * the registered definition, and batchUpdate reply validation live here
10
- * because every operation shares them.
6
+ * to every operation function so the class stays a thin facade. Bounded
7
+ * request-start admission (independent read/write lanes, per-credential
8
+ * slots) lives in the kernel (`@hikoutei/ikisaki`); the `runRead`/`runWrite`
9
+ * wrappers here bind that admission to Sheets telemetry, quota-outcome
10
+ * feedback, and refusal errors. Route validation against the registered
11
+ * definition and batchUpdate reply validation live here because every
12
+ * operation shares them.
11
13
  */
12
14
  import { SYNC_INVALID_PROVIDER_OPERATIONS, SYNC_INVALID_PROVIDER_REASONS, SYNC_SHEETS_ERROR_CODES, SyncSheetsContractError, } from "../../../../contracts/sheets/errors.js";
13
- import { classifyTransportOutcome, sanitizeTransportRemoteCode } from "../../../../contracts/sheets/transportOutcome.js";
15
+ import { classifyTransportOutcome, sanitizeTransportRemoteCode } from "@hikoutei/ikisaki";
14
16
  import { presentValue, absentValue, PRESENCE_KINDS } from "../../../../contracts/state/index.js";
15
- import { HIKOUTEI_LOG_LEVELS, logHikouteiInternalEvent, } from "../../../../sync-engine/shared/observability/internalLog.js";
16
- import { HIKOUTEI_LOG_COMPONENTS, HIKOUTEI_LOG_EVENTS, } from "../../../../sync-engine/shared/observability/logEvents.js";
17
- import { RATE_LIMIT_OPTIONS_ERROR_CODES, RateLimitOptionsError, } from "../transport/rateLimiter.js";
18
- import { isQuotaLimitedOutcome, QUOTA_GOVERNOR_LANES, } from "../transport/quotaGovernor.js";
17
+ import { HIKOUTEI_LOG_LEVELS, logHikouteiInternalEvent, } from "../../../../contracts/shared/observability/internalLog.js";
18
+ import { HIKOUTEI_LOG_COMPONENTS, HIKOUTEI_LOG_EVENTS, } from "../../../../contracts/shared/observability/logEvents.js";
19
+ import { createEngineRuntime as createNeutralEngineRuntime, ensureBandRowBounds, } from "@hikoutei/ikisaki";
20
+ import { executeBatchUpdate as executeNeutralBatchUpdate, executePreparedWrite as executeNeutralPreparedWrite, groupByRouteKey as groupNeutralByRouteKey, receiptInitNeeded as receiptInitNeededNeutral, refreshFirstRouteContext as refreshNeutralFirstRouteContext, } from "@hikoutei/ikisaki";
21
+ import { enumerateSheetProperties, } from "../model/preflightContext.js";
22
+ import { parseSpreadsheetDocument, } from "../model/preflightParsing.js";
23
+ import { admitRequestStart, credentialBinding, } from "@hikoutei/ikisaki";
24
+ import { isQuotaLimitedOutcome, QUOTA_GOVERNOR_LANES, } from "@hikoutei/ikisaki";
25
+ /**
26
+ * Re-exports of the neutral request-start admission surface (owned by
27
+ * `@hikoutei/ikisaki` `worker/pacing/requestAdmission.ts`) so operation
28
+ * modules keep importing the pacing vocabulary from this shared wiring
29
+ * module. Route validation, batchUpdate reply validation, and
30
+ * transport-outcome mapping stay Sheets-owned below.
31
+ */
32
+ export { credentialBinding, } from "@hikoutei/ikisaki";
19
33
  import { GOOGLE_SHEETS_API_TRANSPORT_ERROR_CODES, GoogleSheetsApiTransportError, invalidProviderState, } from "../errors.js";
20
34
  import { batchUpdateResponseShapeSchema } from "../model/rawResponseSchemas.js";
21
35
  /**
@@ -48,145 +62,6 @@ export class PromiseTailLock {
48
62
  * stable code to requeue through the CAS/recovery path.
49
63
  */
50
64
  const REQUEST_START_REFUSED_MESSAGE = "Google Sheets API request start refused before transport: the pacing queue exceeds the bounded admission wait.";
51
- /**
52
- * Builds the `{ credentialIndex }` request decoration that binds one paced
53
- * transport call to the identity admission selected. Returns an EMPTY object
54
- * on the single-credential path, so un-pooled requests stay byte-identical
55
- * to the pre-pool wire contract (the key is absent, not `undefined`).
56
- */
57
- export function credentialBinding(credentialIndex) {
58
- return credentialIndex === undefined ? {} : { credentialIndex };
59
- }
60
- /**
61
- * Acquires one bounded request-start slot, refusing (and logging one
62
- * redacted event) only when EVERY pooled identity refuses within the shared
63
- * admission deadline. Round-robin picks the STARTING slot from the pool
64
- * cursor, but a budget-or-lane refusal on that slot moves the search on to
65
- * the remaining slots (each tried at most once, from the cursor onward) with
66
- * only the time still left under the SAME deadline: a busy identity (429 /
67
- * backoff / uneven reservations) never blocks a healthy sibling. The request
68
- * is bound to the index ACTUALLY admitted, so pacing and signing stay on one
69
- * identity. A refusal NEVER advances any limiter/scheduler horizon on any
70
- * identity and throws the stable delivery-uncertain transport error before
71
- * any SDK call, so the durable worker requeues instead of firing an unpaced
72
- * burst.
73
- *
74
- * Composition order per slot: the per-minute budget gates FIRST (it is the
75
- * outer quota ceiling), then the lane's interval pacing — both against that
76
- * slot's limiters. A class-pacing refusal AFTER a budget admission leaks
77
- * that one budget reservation until the window slides — accepted because
78
- * pacing refusals are already rare and the leak over-counts (never
79
- * under-counts) the budget, which is the safe direction for quota safety.
80
- * AIMD/budget bookkeeping happens only on the slot that was admitted.
81
- *
82
- * The whole search shares ONE admission budget: a single deadline
83
- * (`now + maxRequestStartWaitMs`) is computed once and every gate on every
84
- * slot attempt is bounded by the time still remaining, so total
85
- * bounded-admission waiting never exceeds `maxRequestStartWaitMs` (the
86
- * effect-lease headroom contract assumes exactly one bounded wait per
87
- * request start) — on a pooled run as on the single-credential path. A
88
- * deadline spent by earlier attempts makes every later gate refuse any
89
- * nonzero predicted wait immediately, so the loop itself stays bounded.
90
- *
91
- * Returns the summed budget + pacing wait for the granted slot (0 when both
92
- * were already available) PLUS the admitted identity, so callers bind the
93
- * transport call to the credential that was paced (admitted index = signing
94
- * client, no skew).
95
- */
96
- async function admitRequestStart(deps, pacing) {
97
- // Validate the bound ONCE before any deadline arithmetic: the limiters
98
- // validate their own `maxWaitMs` argument, but this helper pre-derives the
99
- // remaining-time bound, so an invalid configured bound (negative,
100
- // non-integer, NaN) must fail here with the SAME structured error the
101
- // limiters would have thrown when the raw bound reached them.
102
- const maxWaitMs = deps.maxRequestStartWaitMs;
103
- if (!Number.isSafeInteger(maxWaitMs) || maxWaitMs < 0) {
104
- throw new RateLimitOptionsError(RATE_LIMIT_OPTIONS_ERROR_CODES.MAX_WAIT_NON_NEGATIVE_REQUIRED);
105
- }
106
- const lane = pacing === "write"
107
- ? QUOTA_GOVERNOR_LANES.WRITE
108
- : QUOTA_GOVERNOR_LANES.READ;
109
- // One shared admission deadline for the WHOLE search (every gate, every
110
- // slot): each waitForSlot bound is the time still remaining (never above
111
- // the validated bound), so bounded waits can never stack past
112
- // maxRequestStartWaitMs across slots.
113
- const admissionDeadline = deps.now() + maxWaitMs;
114
- const pool = deps.credentialPacing;
115
- if (pool !== undefined && pool.slots.length >= 2) {
116
- // Exactly ONE rotation step is consumed per request start, decided up
117
- // front (see CredentialPacingPool) even when every attempt is refused.
118
- const startIndex = pool.nextIndex % pool.slots.length;
119
- pool.nextIndex = (startIndex + 1) % pool.slots.length;
120
- for (let step = 0; step < pool.slots.length; step += 1) {
121
- const index = (startIndex + step) % pool.slots.length;
122
- const slot = pool.slots[index];
123
- if (slot === undefined) {
124
- // Unreachable while the provider owns the pool (indexes are always
125
- // taken modulo the slot count); fail closed rather than pace
126
- // against nothing.
127
- invalidProviderState("credential pacing cursor escaped the slot table");
128
- }
129
- const outcome = await tryAdmitOnSlot(deps, slot, lane, pacing, admissionDeadline, maxWaitMs, index);
130
- if (outcome !== null) {
131
- return outcome;
132
- }
133
- }
134
- return refuseRequestStart(deps, pacing);
135
- }
136
- // Single-credential path (no pool, or a degenerate <2-slot pool): the flat
137
- // fields ARE the one slot, NO index is bound, and the attempt order is
138
- // byte-identical to the pre-pool admission.
139
- const outcome = await tryAdmitOnSlot(deps, {
140
- readScheduler: deps.readScheduler,
141
- writeLimiter: deps.writeLimiter,
142
- readBudget: deps.readBudget,
143
- writeBudget: deps.writeBudget,
144
- quotaGovernor: deps.quotaGovernor,
145
- }, lane, pacing, admissionDeadline, maxWaitMs, undefined);
146
- return outcome ?? refuseRequestStart(deps, pacing);
147
- }
148
- /**
149
- * Runs the full budget-then-pacing admission stack on ONE slot under the
150
- * shared deadline. Returns `null` when THIS slot refused (either gate) so
151
- * the caller can try the next sibling. A budget refusal reserves nothing;
152
- * a budget admission reserves PROVISIONALLY and is rolled back when the
153
- * later lane gate refuses, so a tried-and-refused slot always leaves its
154
- * budgets untouched and only the admitted slot pays AIMD/budget bookkeeping.
155
- */
156
- async function tryAdmitOnSlot(deps, slot, lane, pacing, admissionDeadline, maxWaitMs, credentialIndex) {
157
- const budget = pacing === "write" ? slot.writeBudget : slot.readBudget;
158
- const budgetAdmission = await budget.waitForSlot(remainingAdmissionMs(admissionDeadline, deps.now(), maxWaitMs));
159
- if (budgetAdmission.status === "refused") {
160
- return null;
161
- }
162
- const remainingMs = remainingAdmissionMs(admissionDeadline, deps.now(), maxWaitMs);
163
- const admission = pacing === "write"
164
- ? await slot.writeLimiter.waitForSlot(remainingMs)
165
- : await slot.readScheduler.waitForSlot(pacing, remainingMs);
166
- if (admission.status === "refused") {
167
- // The budget reserved provisionally above; this slot never starts a
168
- // request, so hand the reservation back. Rollback is identity-matched
169
- // and never advances the window (see RollingQuotaBudget.rollback).
170
- budget.rollback(budgetAdmission.reservation);
171
- return null;
172
- }
173
- // One successful request START counts toward this lane's AIMD quiet
174
- // period on THIS identity's governor (recovery steps advance only while
175
- // starts keep succeeding).
176
- slot.quotaGovernor.recordRequestStart(lane);
177
- return { pacingWaitMs: budgetAdmission.waitedMs + admission.waitedMs, credentialIndex, slot };
178
- }
179
- /**
180
- * Whole-millisecond time still left under the shared admission deadline,
181
- * clamped into [0, maxWaitMs]: a spent budget (clock past the deadline) makes
182
- * the next gate refuse any nonzero predicted wait, and a backward-moving
183
- * clock between the two gates can otherwise re-derive a bound ABOVE the
184
- * configured maximum. `maxWaitMs` is pre-validated by the caller, so the
185
- * result is always a non-negative safe integer (waitForSlot's own contract).
186
- */
187
- function remainingAdmissionMs(deadline, now, maxWaitMs) {
188
- return Math.min(maxWaitMs, Math.max(0, Math.floor(deadline - now)));
189
- }
190
65
  /**
191
66
  * Shared refusal exit for both admission stages: one redacted boundary log
192
67
  * (stable code + lane tag only) and the delivery-uncertain
@@ -259,7 +134,10 @@ export async function runRead(deps,
259
134
  * transport request via `credentialBinding` when the pool is active
260
135
  * (`undefined` on the single-credential path). */
261
136
  task, pacing = "polling", meta) {
262
- const admission = await admitRequestStart(deps, pacing);
137
+ // Pacing admission lives in the kernel; a refused start throws the stable
138
+ // delivery-uncertain error here (Sheets vocabulary) before any SDK call.
139
+ const admission = await admitRequestStart(deps, pacing)
140
+ ?? refuseRequestStart(deps, pacing);
263
141
  const { pacingWaitMs, credentialIndex } = admission;
264
142
  const startedAt = deps.now();
265
143
  try {
@@ -289,7 +167,7 @@ task, pacing = "polling", meta) {
289
167
  // pacing interval on the NEXT reservation of the SAME pooled identity
290
168
  // only; any other failure leaves the governor untouched (the durable
291
169
  // worker's own retry path is unchanged).
292
- if (isQuotaLimitedOutcome(outcome)) {
170
+ if (isQuotaLimitedOutcome(outcome, deps.timingDefaults)) {
293
171
  admission.slot.quotaGovernor.recordQuotaLimited(pacing === "write" ? QUOTA_GOVERNOR_LANES.WRITE : QUOTA_GOVERNOR_LANES.READ);
294
172
  }
295
173
  emitRequest(deps, "getSpreadsheet", pacing, 1, startedAt, false, outcome.httpStatus, outcome.code, {
@@ -303,7 +181,8 @@ task, pacing = "polling", meta) {
303
181
  export async function runWrite(deps,
304
182
  /** See `runRead`: bind the admitted pool identity into the request. */
305
183
  task, meta) {
306
- const admission = await admitRequestStart(deps, "write");
184
+ const admission = await admitRequestStart(deps, "write")
185
+ ?? refuseRequestStart(deps, "write");
307
186
  const { pacingWaitMs, credentialIndex } = admission;
308
187
  const startedAt = deps.now();
309
188
  try {
@@ -321,7 +200,7 @@ task, meta) {
321
200
  }
322
201
  catch (error) {
323
202
  const outcome = classifyTransportOutcome(error);
324
- if (isQuotaLimitedOutcome(outcome)) {
203
+ if (isQuotaLimitedOutcome(outcome, deps.timingDefaults)) {
325
204
  admission.slot.quotaGovernor.recordQuotaLimited(QUOTA_GOVERNOR_LANES.WRITE);
326
205
  }
327
206
  emitRequest(deps, "batchUpdate", "write", 1, startedAt, false, outcome.httpStatus, outcome.code, {
@@ -437,4 +316,140 @@ export function requireValidBatchUpdateReply(value, requestCount) {
437
316
  }
438
317
  });
439
318
  }
319
+ /**
320
+ * Builds the executor for ONE logical read: fixed field mask, evidence
321
+ * class, pacing lane, and telemetry label. The returned closure owns no
322
+ * state — bounds/calibration updates land on the shared `deps` carriers.
323
+ */
324
+ export function createBandedGet(deps, pacing, fields, evidence, label) {
325
+ return createEngineRuntime(deps, pacing, label).makeGet(fields, evidence);
326
+ }
327
+ /**
328
+ * Builds the model-facing engine runtime for one logical read on one lane:
329
+ * the fields/evidence → executor factory plus the shared bounds cache and
330
+ * calibration tracker. Model functions receive this instead of a raw
331
+ * transport, which is what lets a single logical read expand into
332
+ * sequential paced band requests WITHOUT the model layer importing the
333
+ * operations layer.
334
+ */
335
+ export function createEngineRuntime(deps, pacing, label) {
336
+ return createNeutralEngineRuntime({
337
+ makeFetch: (fields, evidence) => async (addresses) => {
338
+ // The RAW document is measured INSIDE the paced task (the awaited-call
339
+ // ordering the historical reads proved): runRead emits its telemetry
340
+ // event when the task resolves, so a later measurement would land one
341
+ // event too late.
342
+ const rawMeta = createRawResponseMeta(deps);
343
+ const raw = await runRead(deps, async (credentialIndex) => {
344
+ const response = await deps.transport.getSpreadsheet({
345
+ spreadsheetId: deps.spreadsheetId,
346
+ ranges: [...addresses],
347
+ fields,
348
+ ...(deps.readTimeoutMs === undefined ? {} : { timeoutMs: deps.readTimeoutMs }),
349
+ ...credentialBinding(credentialIndex),
350
+ });
351
+ rawMeta.onRawResponse?.(response);
352
+ return response;
353
+ }, pacing, rawMeta.meta);
354
+ const document = parseSpreadsheetDocument(raw, label);
355
+ return {
356
+ sheets: document.sheets,
357
+ grids: document.grids,
358
+ responseBytes: rawMeta.meta.responseBytes,
359
+ };
360
+ },
361
+ sheetKey: (sheet) => sheet.title,
362
+ rowBounds: deps.sheetRowBounds,
363
+ calibration: deps.readCalibration,
364
+ noteSheet: (sheet) => {
365
+ const rowCount = sheet.gridProperties?.rowCount;
366
+ if (rowCount !== undefined)
367
+ deps.sheetRowBounds.set(sheet.title, rowCount);
368
+ },
369
+ noteResponse: (evidence, cells, responseBytes) => {
370
+ if (responseBytes !== undefined)
371
+ deps.readCalibration.observe(evidence, cells, responseBytes);
372
+ },
373
+ });
374
+ }
375
+ /**
376
+ * Ensures every listed tab has an authoritative row bound in the
377
+ * provider-instance cache, settling cold titles with ONE range-less
378
+ * metadata enumeration (`gridProperties.rowCount` is metadata-only). The
379
+ * cache is refreshed by every subsequent engine response's sheet
380
+ * properties, so the enumeration is a once-per-title-per-instance cost —
381
+ * the polling lane has no per-dispatch enumeration of its own and this is
382
+ * where its committed upper bound comes from.
383
+ */
384
+ export async function ensureSheetRowBounds(deps, pacing, titles) {
385
+ return ensureBandRowBounds({
386
+ hasBound: (title) => deps.sheetRowBounds.has(title),
387
+ enumerate: async () => {
388
+ const enumeration = createRawResponseMeta(deps);
389
+ const sheets = await runRead(deps, (credentialIndex) => enumerateSheetProperties(deps.transport, deps.spreadsheetId, deps.readTimeoutMs, enumeration.onRawResponse, credentialIndex), pacing, enumeration.meta);
390
+ return sheets.map((sheet) => ({
391
+ title: sheet.title,
392
+ rowCount: sheet.gridProperties?.rowCount,
393
+ }));
394
+ },
395
+ noteBound: (title, rowCount) => {
396
+ if (rowCount !== undefined)
397
+ deps.sheetRowBounds.set(title, rowCount);
398
+ },
399
+ }, titles);
400
+ }
401
+ /**
402
+ * Sends one built batch as ONE paced `batchUpdate` and validates the reply.
403
+ *
404
+ * `BuiltApplyBatch` is the shared return shape of every batch builder
405
+ * (apply, append, and their combined variants), and the batch contents here
406
+ * are exactly what the caller's builder produced: the engine never rebuilds
407
+ * or reorders requests. A malformed or short reply throws the existing
408
+ * delivery-uncertain invalid-state classification, so a 2xx that cannot be
409
+ * matched request-for-request never closes effects. Zero-request batches
410
+ * must be skipped by the caller (no transport call and no telemetry event
411
+ * for an empty batch, exactly like before).
412
+ */
413
+ export async function executeBatchUpdate(deps, batch, telemetry) {
414
+ return executeNeutralBatchUpdate(batch, telemetry, {
415
+ send: (requests) => runWrite(deps, (credentialIndex) => deps.transport.batchUpdate({
416
+ spreadsheetId: deps.spreadsheetId,
417
+ requests: [...requests],
418
+ ...credentialBinding(credentialIndex),
419
+ }), {
420
+ requestCount: requests.length,
421
+ bodyBytes: batch.bytes,
422
+ ...telemetry,
423
+ }),
424
+ validateReply: (reply, requestCount) => requireValidBatchUpdateReply(reply, requestCount),
425
+ });
426
+ }
427
+ /**
428
+ * Runs one prepared write unit behind the receipt-init guard.
429
+ *
430
+ * When the unit needs initialization, refresh + write run as ONE atomic
431
+ * section on the per-spreadsheet `receiptInitLock`; steady state (receipt
432
+ * present at preflight) never takes the lock. Callers keep their own
433
+ * eligibility guard: a deterministic no-op batch must not take the refresh,
434
+ * whose write-lane admission can be refused under saturation and would turn
435
+ * the no-op into a delivery-uncertain requeue.
436
+ */
437
+ export async function executePreparedWrite(deps, unit) {
438
+ return executeNeutralPreparedWrite(deps.receiptInitLock, unit);
439
+ }
440
+ /** True when a preflight context observed the shared receipt tab absent. */
441
+ export function receiptInitNeeded(context) {
442
+ return receiptInitNeededNeutral(context.receiptSheetId.kind === PRESENCE_KINDS.PRESENT);
443
+ }
444
+ /**
445
+ * Buckets items by their canonical route key (neutral kernel grouping:
446
+ * first-seen group order and per-group order are preserved).
447
+ */
448
+ export const groupByRouteKey = groupNeutralByRouteKey;
449
+ /**
450
+ * Refreshes the shared receipt tab through the FIRST route's context and
451
+ * returns the route list with that context replaced (neutral kernel
452
+ * first-route replacement; the caller supplies the Sheets refresh).
453
+ */
454
+ export const refreshFirstRouteContext = refreshNeutralFirstRouteContext;
440
455
  //# sourceMappingURL=shared.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../../../../src/sheets/providers/google-sheets-api/operations/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../../../../src/sheets/providers/google-sheets-api/operations/shared.ts"],"names":[],"mappings":"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"}
@@ -88,7 +88,7 @@ export declare function classifyGoogleSheetsApiError(error: unknown): GoogleShee
88
88
  /**
89
89
  * True when the status kind marks a transient remote condition.
90
90
  *
91
- * Mirrors the shared `isGoogleSheetsApiDeliveryUncertain` boundary: an
91
+ * Mirrors the shared `isDeliveryUncertainTransport` boundary: an
92
92
  * absent status (timeout/network), HTTP 408 (request timeout — the proxy or
93
93
  * API may still have committed the write), HTTP 429, and every 5xx are
94
94
  * retryable/uncertain; the proven pre-mutation 4xx rejections (400, 401,
@@ -12,11 +12,11 @@ import { GoogleAuth } from "google-auth-library";
12
12
  import { readFileSync } from "node:fs";
13
13
  import { sheets } from "@googleapis/sheets";
14
14
  import { presentValue, absentValue, PRESENCE_KINDS } from "../../../../contracts/state/index.js";
15
- import { HIKOUTEI_LOG_LEVELS, logHikouteiInternalEvent, } from "../../../../sync-engine/shared/observability/internalLog.js";
16
- import { HIKOUTEI_LOG_COMPONENTS, HIKOUTEI_LOG_EVENTS, } from "../../../../sync-engine/shared/observability/logEvents.js";
15
+ import { HIKOUTEI_LOG_LEVELS, logHikouteiInternalEvent, } from "../../../../contracts/shared/observability/internalLog.js";
16
+ import { HIKOUTEI_LOG_COMPONENTS, HIKOUTEI_LOG_EVENTS, } from "../../../../contracts/shared/observability/logEvents.js";
17
17
  import { GOOGLE_SHEETS_API_SCOPES } from "../constants.js";
18
18
  import { GOOGLE_SHEETS_API_TRANSPORT_ERROR_CODES, GoogleSheetsApiTransportError, invalidProviderRequest, } from "../errors.js";
19
- import { parseRawErrorRecord, parseRawErrorText, parseRawHttpStatus, } from "./rawErrorSchemas.js";
19
+ import { parseRawErrorRecord, parseRawErrorText, parseRawHttpStatus, } from "@hikoutei/ikisaki";
20
20
  /**
21
21
  * Advances (and returns) the next round-robin client index for a pool.
22
22
  *
@@ -238,7 +238,7 @@ function logTransportFailure(error) {
238
238
  /**
239
239
  * True when the status kind marks a transient remote condition.
240
240
  *
241
- * Mirrors the shared `isGoogleSheetsApiDeliveryUncertain` boundary: an
241
+ * Mirrors the shared `isDeliveryUncertainTransport` boundary: an
242
242
  * absent status (timeout/network), HTTP 408 (request timeout — the proxy or
243
243
  * API may still have committed the write), HTTP 429, and every 5xx are
244
244
  * retryable/uncertain; the proven pre-mutation 4xx rejections (400, 401,
@@ -1 +1 @@
1
- {"version":3,"file":"googleSheetsApiTransport.js","sourceRoot":"","sources":["../../../../../../../../src/sheets/providers/google-sheets-api/transport/googleSheetsApiTransport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"googleSheetsApiTransport.js","sourceRoot":"","sources":["../../../../../../../../src/sheets/providers/google-sheets-api/transport/googleSheetsApiTransport.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrateSchema.d.ts","sourceRoot":"","sources":["../../../../../../src/storage/sqlite/migrateSchema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAe,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEzF,OAAO,EAaL,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAC;AAOrB;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,qBAAqB,CAAC,CAuGhC"}
1
+ {"version":3,"file":"migrateSchema.d.ts","sourceRoot":"","sources":["../../../../../../src/storage/sqlite/migrateSchema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAe,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEzF,OAAO,EAcL,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAC;AAOrB;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,qBAAqB,CAAC,CAkHhC"}
@@ -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, 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";
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, REQUIRED_V9_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.
@@ -96,6 +96,17 @@ export async function migrateSqliteSchema(storage) {
96
96
  await writeSchemaVersion(sql, 8);
97
97
  appliedVersions.push(8);
98
98
  }
99
+ if (fromVersion < 9) {
100
+ // Stamp the opaque worker dispatch bucket on every outbox effect.
101
+ // Fresh rows always stamp explicitly; legacy rows backfill from the
102
+ // SQL-visible fast-append shape (the factory classifier's exact
103
+ // predicate: an empty visible baseline is equivalent to
104
+ // createIfMissing there, deletions never sit at revision zero, and
105
+ // only the two appendable kind/projection/target routes qualify).
106
+ await applyVersion9DispatchClassMigration(sql);
107
+ await writeSchemaVersion(sql, 9);
108
+ appliedVersions.push(9);
109
+ }
99
110
  await verifyRequiredColumns(sql);
100
111
  await executeSqlScript(sql, syncSchemaIndexesDdl());
101
112
  // v5-only indexes are created after every migration so an upgraded v4
@@ -123,7 +134,7 @@ async function applyVersion5DurableDeliveryMigration(sql) {
123
134
  await executeSqlScript(sql, syncSchemaTablesDdl());
124
135
  await sql.run(`
125
136
  INSERT INTO sheet_effect_outbox (
126
- effect_id, effect_kind, commit_id, logical_sheet_id, physical_sheet_id,
137
+ effect_id, effect_kind, dispatch_class, commit_id, logical_sheet_id, physical_sheet_id,
127
138
  projection, row_binding_id, conflict_id, target_kind, target_id,
128
139
  target_entity_revision, target_field_revision_hash, target_canonical_commit_id,
129
140
  expected_visible_revision, expected_visible_hash, repair_guard_hash,
@@ -134,7 +145,13 @@ async function applyVersion5DurableDeliveryMigration(sql) {
134
145
  created_at
135
146
  )
136
147
  SELECT
137
- effect_id, effect_kind, commit_id, logical_sheet_id, physical_sheet_id,
148
+ effect_id, effect_kind,
149
+ CASE WHEN ((effect_kind = 'system_projection' AND projection = 'system_state' AND target_kind = 'entity')
150
+ OR (effect_kind = 'resolution_projection' AND projection = 'sync_conflicts' AND target_kind = 'conflict'))
151
+ AND expected_visible_revision = 0
152
+ AND expected_visible_hash = ''
153
+ THEN 'fast-append' ELSE 'regular' END,
154
+ commit_id, logical_sheet_id, physical_sheet_id,
138
155
  projection, row_binding_id, conflict_id, target_kind, target_id,
139
156
  target_entity_revision, target_field_revision_hash, target_canonical_commit_id,
140
157
  expected_visible_revision, expected_visible_hash, repair_guard_hash,
@@ -184,6 +201,19 @@ async function applyVersion7CleanupMigration(sql) {
184
201
  async function applyVersion8LeaseHeartbeatMigration(sql) {
185
202
  await addColumnIfMissing(sql, "writer_lease", "heartbeat_at", "INTEGER");
186
203
  }
204
+ async function applyVersion9DispatchClassMigration(sql) {
205
+ // SQLite requires a non-null default when adding a NOT NULL column to a
206
+ // populated table; every writer stamps explicitly, so the default only
207
+ // covers the pre-backfill instant inside this same migration step.
208
+ await addColumnIfMissing(sql, "sheet_effect_outbox", "dispatch_class", "TEXT NOT NULL DEFAULT 'regular'");
209
+ await sql.run(`
210
+ UPDATE sheet_effect_outbox SET dispatch_class = 'fast-append'
211
+ WHERE ((effect_kind = 'system_projection' AND projection = 'system_state' AND target_kind = 'entity')
212
+ OR (effect_kind = 'resolution_projection' AND projection = 'sync_conflicts' AND target_kind = 'conflict'))
213
+ AND expected_visible_revision = 0
214
+ AND expected_visible_hash = ''
215
+ `);
216
+ }
187
217
  async function verifyCurrentSchema(sql) {
188
218
  await verifyRequiredColumns(sql);
189
219
  await verifyDroppedColumns(sql);
@@ -219,6 +249,9 @@ async function verifyRequiredColumns(sql) {
219
249
  for (const tableName of ["quarantine_record"]) {
220
250
  await verifyTableColumns(sql, tableName, REQUIRED_V7_COLUMNS[tableName]);
221
251
  }
252
+ for (const tableName of ["sheet_effect_outbox"]) {
253
+ await verifyTableColumns(sql, tableName, REQUIRED_V9_COLUMNS[tableName]);
254
+ }
222
255
  }
223
256
  /**
224
257
  * Final-version expectations beyond required columns: the v7 cleanup tables