Skip to content

AttachAckPayload

Defined in: packages/client/src/worker/protocol.ts:229

worker → tab: attach acknowledged. alreadyBooted is false for the attach that booted the engine.

alreadyBooted: boolean

Defined in: packages/client/src/worker/protocol.ts:230


optional bootSettled?: boolean

Defined in: packages/client/src/worker/protocol.ts:245


optional bootSettledError?: BridgeErrorWire

Defined in: packages/client/src/worker/protocol.ts:254


optional engineReady?: boolean

Defined in: packages/client/src/worker/protocol.ts:237

True when the engine’s initial sync had ALREADY fired by the time this attach was acked (a late attach, ADR-0032 FIX 3). ready is monotonic in-process — once it resolves it stays resolved even if the phase later degrades — so a tab attaching after that moment must resolve ready immediately from the ack, rather than wait for a phase-“ready” status that may never come again.


optional error?: BridgeErrorWire

Defined in: packages/client/src/worker/protocol.ts:261

Present when the engine boot REJECTED for this attach: the tab rejects attachSyncClient with this message instead of hanging forever on the ack (ADR-0032 FIX 1). A later attach retries the boot. This is a LOCAL-READ-CORE failure (the engine never reached localReadReady); a tail failure after localReadReady uses the stage-error fields above and does NOT reject the attach.


optional writeReady?: boolean

Defined in: packages/client/src/worker/protocol.ts:244

Late-attach milestone fold (ADR-0041 stage 2): true when the engine had ALREADY crossed writeReady / bootSettled by the time this attach was acked, so a tab attaching after the stage fired resolves it straight from the ack rather than waiting for a milestone broadcast it missed. The ack fires AT localReadReady, so that stage is always implied by a non-error ack and carries no boolean.


optional writeReadyError?: BridgeErrorWire

Defined in: packages/client/src/worker/protocol.ts:253

Late-attach failure fold (ADR-0041 stage 2): present when the engine’s background write/sync tail had already REJECTED a downstream stage before this attach was acked. The tab rejects the matching stage promise (so a gated write / bootSettled awaiter fails loudly rather than hangs) — but the attach itself still RESOLVES (the engine reached localReadReady; only the tail failed). A live milestone failure after attach rides the milestone-error broadcast instead.