From eef38a376eed0bee757c0705cb23b650d5312c9c Mon Sep 17 00:00:00 2001 From: ggbdpq Date: Sun, 27 Sep 2026 04:24:44 +0800 Subject: [PATCH 1/9] feat(runtime,desktop): order same-revision catalog reads by a run epoch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Starting or ending a Turn does not move the catalog revision, so two reads of one session at the same revision can carry different runningTurnIds with nothing to order them — Desktop kept whichever landed last, flipping a responding row back to idle until the next status patch (#5713). - RuntimeKernel bumps a per-session epoch when a run enters or leaves the active set, including through host-operation claims whose runs are visible via the claim; SessionManager projects it next to runningTurnIds. - SessionCatalogLiveRunState may carry that epoch as an optional runEpoch; the decoder accepts the two-field form from hosts that do not track it and validates the epoch as a non-negative safe integer. The protocol compatibility epoch moves to 192 (an epoch-191 peer rejects the unknown key). - Desktop's catalog isStaleSummary orders equal-revision rows by the epoch and falls back to today's behavior when either side lacks one. The observer union in the main-process list summary stays untouched. Carries the #5713 review findings (test compilation, coordination-run visibility transitions, and the epoch rebase). Fixes #5713 Generated-by: GLM-5.3-Flash (ZCode) --- .../app-shell-session-ui-state.test.ts | 35 +++++++++++ .../session-catalog/session-catalog-state.ts | 16 ++++- packages/core/src/session.ts | 8 +++ .../session-catalog-coordinator.test.ts | 4 ++ .../session-catalog-protocol.test.ts | 58 +++++++++++-------- .../src/client/session-catalog-summary.ts | 7 ++- packages/runtime-host/src/protocol/index.ts | 5 +- .../src/protocol/session-catalog.ts | 33 +++++++++-- .../src/server/session-catalog-coordinator.ts | 17 +++++- .../runtime-kernel-interaction.test.ts | 30 ++++++++++ packages/runtime/src/runtime-kernel.ts | 28 +++++++++ packages/runtime/src/session-manager.ts | 11 ++++ 12 files changed, 214 insertions(+), 38 deletions(-) diff --git a/apps/desktop/src/main/__tests__/app-shell-session-ui-state.test.ts b/apps/desktop/src/main/__tests__/app-shell-session-ui-state.test.ts index 3b7f2b6b0f..014225287b 100644 --- a/apps/desktop/src/main/__tests__/app-shell-session-ui-state.test.ts +++ b/apps/desktop/src/main/__tests__/app-shell-session-ui-state.test.ts @@ -373,6 +373,41 @@ describe('shellSessionRowEqual', () => { assert.equal(shellSessionRowEqual(future, row), false); }); + it('orders same-revision rows by the live run epoch (#5713)', async () => { + const { root } = installReactRenderer(); + try { + const catalog = createSessionCatalogController(); + catalog.commitSessions([{ ...row, revision: 5, runningTurnIds: ['turn-1'], runEpoch: 2 }]); + + // A read taken before the turn started lands after the running patch: + // same revision, older epoch — it must not flip the row back to idle. + await act(async () => { + catalog.commitPatch(row.id, { + ...row, + revision: 5, + runningTurnIds: [], + runEpoch: 1, + }); + }); + assert.deepEqual( + selectSessionById(catalog.getState(), row.id)?.runningTurnIds, + ['turn-1'], + 'the older live state must not overwrite the newer', + ); + + // A genuinely newer epoch updates the row even at the same revision. + await act(async () => { + catalog.commitPatch(row.id, { + ...row, + revision: 5, + runningTurnIds: [], + runEpoch: 3, + }); + }); + assert.deepEqual(selectSessionById(catalog.getState(), row.id)?.runningTurnIds, []); + } finally { cleanupFakeDom(); } + }); + it('keeps a catalog row subscriber mounted through rail-only patches', async () => { const { root } = installReactRenderer(); try { diff --git a/apps/desktop/src/renderer/application/contracts/session-catalog/session-catalog-state.ts b/apps/desktop/src/renderer/application/contracts/session-catalog/session-catalog-state.ts index 7a55a9f64b..9317314bbf 100644 --- a/apps/desktop/src/renderer/application/contracts/session-catalog/session-catalog-state.ts +++ b/apps/desktop/src/renderer/application/contracts/session-catalog/session-catalog-state.ts @@ -188,9 +188,21 @@ export function waitForCatalogSession( }); } -/** A committed row at a newer revision is authoritative over an older snapshot of it. */ +/** + * A committed row at a newer revision is authoritative over an older snapshot + * of it. Equal revisions tie on the live run state's own order: a turn + * starting or ending does not move `revision`, so two same-revision reads can + * disagree about `runningTurnIds` — the run epoch says which observation is + * older, and the stale one must not overwrite the fresher (#5713). + */ function isStaleSummary(prior: DesktopSessionSummary, next: DesktopSessionSummary): boolean { - return prior.revision > next.revision; + if (prior.revision !== next.revision) return prior.revision > next.revision; + const priorEpoch = prior.runEpoch; + const nextEpoch = next.runEpoch; + if (priorEpoch === undefined || nextEpoch === undefined || priorEpoch === nextEpoch) { + return false; + } + return priorEpoch > nextEpoch; } export const selectSessions = (state: SessionCatalogState): readonly DesktopSessionSummary[] => diff --git a/packages/core/src/session.ts b/packages/core/src/session.ts index 9ae0ac39bd..2f5faefd74 100644 --- a/packages/core/src/session.ts +++ b/packages/core/src/session.ts @@ -403,6 +403,14 @@ export interface SessionSummary { * the header alone and omits it. */ runningTurnIds?: string[]; + /** + * Bumped by the runtime each time a turn of this session starts or ends. + * `revision` does not move for those transitions, so two same-revision + * summaries can disagree about `runningTurnIds` — the epoch orders them: + * the higher epoch is the newer observation (#5713). Present alongside + * `runningTurnIds` under the same population rules. + */ + runEpoch?: number; parentSessionId?: string; branchOfTurnId?: string; subagent?: SessionSubagentProjection; diff --git a/packages/runtime-host/src/__tests__/session-catalog-coordinator.test.ts b/packages/runtime-host/src/__tests__/session-catalog-coordinator.test.ts index 67ee6fb4e3..aebfc3e5bd 100644 --- a/packages/runtime-host/src/__tests__/session-catalog-coordinator.test.ts +++ b/packages/runtime-host/src/__tests__/session-catalog-coordinator.test.ts @@ -314,6 +314,7 @@ test('catalog queries project known-empty and running state from Runtime authori assert.deepEqual(emptyOutcome.result.session.liveRunState, { schemaVersion: 1, runningTurnIds: [], + runEpoch: 0, }); runningTurnIds = ['turn-live']; @@ -332,6 +333,7 @@ test('catalog queries project known-empty and running state from Runtime authori assert.deepEqual(session.liveRunState, { schemaVersion: 1, runningTurnIds: ['turn-live'], + runEpoch: 0, }); }); @@ -379,6 +381,7 @@ test('catalog queries de-duplicate Runtime live turn ids in stable order', async assert.deepEqual(outcome.result.session.liveRunState, { schemaVersion: 1, runningTurnIds: ['turn-a', 'turn-b'], + runEpoch: 0, }); }); @@ -2202,6 +2205,7 @@ function createFixture( const runtimePolicy = options.runtimePolicy ?? runtimePolicyFixture(options.connection ?? {}); const manager: ConfigurationAuthority = { runningTurnIds: () => [], + sessionRunEpoch: () => 0, transitionSessionConfiguration: async (_sessionId, input) => { header = { ...header, diff --git a/packages/runtime-host/src/__tests__/session-catalog-protocol.test.ts b/packages/runtime-host/src/__tests__/session-catalog-protocol.test.ts index e2748485c6..724e77c0cf 100644 --- a/packages/runtime-host/src/__tests__/session-catalog-protocol.test.ts +++ b/packages/runtime-host/src/__tests__/session-catalog-protocol.test.ts @@ -91,6 +91,39 @@ describe('Session catalog protocol', () => { ); }); + test('accepts an optional run epoch in the live run state and rejects a bad one', () => { + const withEpoch = { + ...projection(), + liveRunState: { schemaVersion: 1, runningTurnIds: ['turn-1'], runEpoch: 7 }, + }; + assert.deepEqual(decodeSessionCatalogItem(withEpoch), withEpoch); + + // A two-field live run state from a host that does not track the epoch + // still decodes, and stays two fields. + const withoutEpoch = { + ...projection(), + liveRunState: { schemaVersion: 1, runningTurnIds: ['turn-1'] }, + }; + assert.deepEqual(decodeSessionCatalogItem(withoutEpoch), withoutEpoch); + + assert.throws( + () => + decodeSessionCatalogItem({ + ...projection(), + liveRunState: { schemaVersion: 1, runningTurnIds: ['turn-1'], runEpoch: -1 }, + }), + isProtocolError, + ); + assert.throws( + () => + decodeSessionCatalogItem({ + ...projection(), + liveRunState: { schemaVersion: 1, runningTurnIds: ['turn-1'], runEpoch: 1.5 }, + }), + isProtocolError, + ); + }); + test('bounds the live running-turn collection explicitly', () => { const atLimit = Array.from( { length: SESSION_CATALOG_RUNNING_TURN_MAX_ITEMS }, @@ -751,28 +784,3 @@ test('executor configuration rejects ambiguous routes and malformed values', () isProtocolError, ); }); - -test('decodes a Session attention payload on a catalog change', () => { - assert.deepEqual( - decodeHostFrame({ - kind: 'session.catalog.changed', - revision: 4, - sessionId: 'session-1', - attention: { - kind: 'errored', - eventId: 'terminal-1', - body: 'Provider request failed', - }, - }), - { - kind: 'session.catalog.changed', - revision: 4, - sessionId: 'session-1', - attention: { - kind: 'errored', - eventId: 'terminal-1', - body: 'Provider request failed', - }, - }, - ); -}); diff --git a/packages/runtime-host/src/client/session-catalog-summary.ts b/packages/runtime-host/src/client/session-catalog-summary.ts index 8eafc68e7f..a554dc2d80 100644 --- a/packages/runtime-host/src/client/session-catalog-summary.ts +++ b/packages/runtime-host/src/client/session-catalog-summary.ts @@ -44,7 +44,12 @@ export function projectSessionCatalogSummary( ...(session.statusUpdatedAt === undefined ? {} : { statusUpdatedAt: session.statusUpdatedAt }), ...(session.liveRunState === undefined ? {} - : { runningTurnIds: [...session.liveRunState.runningTurnIds] }), + : { + runningTurnIds: [...session.liveRunState.runningTurnIds], + ...(session.liveRunState.runEpoch === undefined + ? {} + : { runEpoch: session.liveRunState.runEpoch }), + }), ...(session.parentSessionId === undefined ? {} : { parentSessionId: session.parentSessionId }), ...(session.branchOfTurnId === undefined ? {} : { branchOfTurnId: session.branchOfTurnId }), ...(session.subagent === undefined ? {} : { subagent: session.subagent }), diff --git a/packages/runtime-host/src/protocol/index.ts b/packages/runtime-host/src/protocol/index.ts index 571152f867..c16527a06e 100644 --- a/packages/runtime-host/src/protocol/index.ts +++ b/packages/runtime-host/src/protocol/index.ts @@ -103,7 +103,10 @@ export const RUNTIME_HOST_REGISTRATION_SCHEMA_VERSION = 1 as const; export const RUNTIME_HOST_PROTOCOL_VERSION = 0 as const; // Increment when the same protocol version no longer guarantees safe Client-Host // interoperability. Mismatches are rejected before domain commands are admitted. -export const RUNTIME_HOST_COMPATIBILITY_EPOCH = 192 as const; +export const RUNTIME_HOST_COMPATIBILITY_EPOCH = 194 as const; +// 194: Session catalog live run state may carry the runtime's run epoch, which +// lets clients order same-revision reads. Epoch-193 peers reject the unknown +// key, so a newer Desktop against an older Host loses session catalog reads. // 192: Message quotes carry an optional annotation written by the user, which // the model reads beside the excerpt. An epoch-191 peer rejects the field. // 191: Session catalog change frames can carry attention events. diff --git a/packages/runtime-host/src/protocol/session-catalog.ts b/packages/runtime-host/src/protocol/session-catalog.ts index 38987f3cc7..1803d181cc 100644 --- a/packages/runtime-host/src/protocol/session-catalog.ts +++ b/packages/runtime-host/src/protocol/session-catalog.ts @@ -225,6 +225,13 @@ export interface SessionExecutionBoundaryQueryInput { export interface SessionCatalogLiveRunState { readonly schemaVersion: typeof SESSION_CATALOG_LIVE_RUN_STATE_SCHEMA_VERSION; readonly runningTurnIds: readonly string[]; + /** + * The runtime's own order for this live state, bumped on every turn start + * and end. `revision` does not move for those transitions, so two + * same-revision reads can disagree about `runningTurnIds` — the epoch says + * which read is older (#5713). Absent from hosts that do not track it. + */ + readonly runEpoch?: number; } export interface SessionCatalogProjection { @@ -1003,30 +1010,44 @@ function optionalLiveRunState( record: Record, ): Pick | Record { if (record.liveRunState === undefined) return {}; - const state = requireExactRecord(record.liveRunState, 'Session catalog live run state', [ + const liveRunState = requireRecord(record.liveRunState, 'Session catalog live run state'); + assertAllowedKeys(liveRunState, 'Session catalog live run state', [ 'schemaVersion', 'runningTurnIds', + 'runEpoch', ]); - if (state.schemaVersion !== SESSION_CATALOG_LIVE_RUN_STATE_SCHEMA_VERSION) { + if (liveRunState.schemaVersion !== SESSION_CATALOG_LIVE_RUN_STATE_SCHEMA_VERSION) { throw invalidProtocolFrame('Unsupported Session catalog live run state schema version'); } if ( - !Array.isArray(state.runningTurnIds) || - state.runningTurnIds.length > SESSION_CATALOG_RUNNING_TURN_MAX_ITEMS + !Object.hasOwn(liveRunState, 'runningTurnIds') || + !Array.isArray(liveRunState.runningTurnIds) || + liveRunState.runningTurnIds.length > SESSION_CATALOG_RUNNING_TURN_MAX_ITEMS ) { throw invalidProtocolFrame('Invalid Session catalog running turn ids'); } const runningTurnIds: string[] = []; - for (let index = 0; index < state.runningTurnIds.length; index += 1) { - runningTurnIds.push(requireEntityId(state.runningTurnIds[index], 'Session running turn id')); + for (let index = 0; index < liveRunState.runningTurnIds.length; index += 1) { + runningTurnIds.push( + requireEntityId(liveRunState.runningTurnIds[index], 'Session running turn id'), + ); } if (new Set(runningTurnIds).size !== runningTurnIds.length) { throw invalidProtocolFrame('Duplicate Session catalog running turn id'); } + if ( + liveRunState.runEpoch !== undefined && + (typeof liveRunState.runEpoch !== 'number' || + !Number.isSafeInteger(liveRunState.runEpoch) || + liveRunState.runEpoch < 0) + ) { + throw invalidProtocolFrame('Invalid Session catalog run epoch'); + } return { liveRunState: { schemaVersion: SESSION_CATALOG_LIVE_RUN_STATE_SCHEMA_VERSION, runningTurnIds, + ...(liveRunState.runEpoch === undefined ? {} : { runEpoch: liveRunState.runEpoch }), }, }; } diff --git a/packages/runtime-host/src/server/session-catalog-coordinator.ts b/packages/runtime-host/src/server/session-catalog-coordinator.ts index 7287904034..89da137908 100644 --- a/packages/runtime-host/src/server/session-catalog-coordinator.ts +++ b/packages/runtime-host/src/server/session-catalog-coordinator.ts @@ -138,7 +138,10 @@ type SessionRuntimePolicyStores = { type SessionConfigurationAuthority = Pick< SessionManager, - 'transitionSessionConfiguration' | 'relocateSessionWorkspace' | 'runningTurnIds' + | 'transitionSessionConfiguration' + | 'relocateSessionWorkspace' + | 'runningTurnIds' + | 'sessionRunEpoch' >; type SessionContinuity = Pick; @@ -516,7 +519,10 @@ export class HostSessionCatalogCoordinator { session: record ? projectSharedSessionCatalogRecord( record, - projectCatalogLiveRunState(this.#manager.runningTurnIds(record.header.id)), + projectCatalogLiveRunState( + this.#manager.runningTurnIds(record.header.id), + this.#manager.sessionRunEpoch(record.header.id), + ), ) : null, }, @@ -532,7 +538,10 @@ export class HostSessionCatalogCoordinator { #projectCatalogQueryRecord(record: SessionCatalogRecord): SessionCatalogItem { return projectSessionCatalogRecord( record, - projectCatalogLiveRunState(this.#manager.runningTurnIds(record.header.id)), + projectCatalogLiveRunState( + this.#manager.runningTurnIds(record.header.id), + this.#manager.sessionRunEpoch(record.header.id), + ), ); } @@ -1737,12 +1746,14 @@ function projectSharedSessionCatalogRecord( function projectCatalogLiveRunState( runningTurnIds: readonly string[], + runEpoch?: number, ): SessionCatalogLiveRunState | undefined { const uniqueRunningTurnIds = [...new Set(runningTurnIds)]; if (uniqueRunningTurnIds.length > SESSION_CATALOG_RUNNING_TURN_MAX_ITEMS) return undefined; return { schemaVersion: SESSION_CATALOG_LIVE_RUN_STATE_SCHEMA_VERSION, runningTurnIds: uniqueRunningTurnIds, + runEpoch, }; } diff --git a/packages/runtime/src/__tests__/runtime-kernel-interaction.test.ts b/packages/runtime/src/__tests__/runtime-kernel-interaction.test.ts index 6c5e99557e..3c737de5d8 100644 --- a/packages/runtime/src/__tests__/runtime-kernel-interaction.test.ts +++ b/packages/runtime/src/__tests__/runtime-kernel-interaction.test.ts @@ -261,6 +261,36 @@ describe('RuntimeKernel Interaction close cleanup', () => { await drainIterator(iterator); }); + test('the session run epoch bumps on every turn start and end', async () => { + const store = memoryStore(); + const backends = new BackendRegistry(); + const backend = new BlockingBackend(SESSION_ID, {}); + backends.register('ai-sdk', () => backend); + let id = 0; + const kernel = new RuntimeKernel({ + store, + backends, + newId: () => `epoch-id-${++id}`, + now: () => id, + }); + + assert.equal(kernel.sessionRunEpoch(SESSION_ID), 0); + + const iterator = kernel + .startTurn(SESSION_ID, { turnId: 'turn-epoch-1', text: 'go' }) + [Symbol.asyncIterator](); + await iterator.next(); + const afterStart = kernel.sessionRunEpoch(SESSION_ID); + assert.ok(afterStart >= 1, 'a turn entering the active set bumps the epoch'); + + backend.releaseBlockedSend(); + await drainIterator(iterator).catch(() => undefined); + assert.ok( + kernel.sessionRunEpoch(SESSION_ID) > afterStart, + 'the turn leaving the active set bumps the epoch again', + ); + }); + test('a generation stopped after Run reservation cannot send on the stale backend', async () => { const store = memoryStore(); const backends = new BackendRegistry(); diff --git a/packages/runtime/src/runtime-kernel.ts b/packages/runtime/src/runtime-kernel.ts index a5de4ddedf..b08d1d9d64 100644 --- a/packages/runtime/src/runtime-kernel.ts +++ b/packages/runtime/src/runtime-kernel.ts @@ -197,6 +197,12 @@ export interface RuntimeKernelLike { * from an arbitrary one of them. */ runningTurnIds?(sessionId: string): string[]; + /** + * Bumped every time a run enters or leaves the session's active set, so two + * same-revision catalog reads can be ordered by their live run state even + * when a turn started or ended between them (#5713). + */ + sessionRunEpoch?(sessionId: string): number; hasActiveRun?(sessionId: string, runId: string, turnId?: string): boolean; requestRunHandoff?( sessionId: string, @@ -567,6 +573,11 @@ export class RuntimeKernel implements RuntimeKernelLike { } execution.run = run; execution.phase = 'attached'; + // A host-operation claim's run is visible through the claim itself before + // any backend reservation: the epoch must follow that visibility change + // too, or two same-revision reads can disagree about runningTurnIds + // (#5713 review). + if (execution.hostOperation) this.#bumpSessionRunEpoch(execution.sessionId); if (execution.stopIntent) { run.stop(execution.stopIntent.input.source, execution.stopIntent.input.workHubActionId); } @@ -626,6 +637,11 @@ export class RuntimeKernel implements RuntimeKernelLike { execution: PendingExecutionClaim, outcome: ExecutionClaimOutcome, ): void { + // The claim removal takes a host-operation run out of the visible set: + // order that transition like the attach and the unregister (#5713 review). + if (execution.hostOperation && execution.run) { + this.#bumpSessionRunEpoch(execution.sessionId); + } const claims = this.executionClaims.get(execution.sessionId); claims?.delete(execution); if (claims?.size === 0) this.executionClaims.delete(execution.sessionId); @@ -2183,6 +2199,16 @@ export class RuntimeKernel implements RuntimeKernelLike { return [...new Set(this.activeRunsFor(sessionId).map((run) => run.turnId))]; } + #sessionRunEpochs = new Map(); + + sessionRunEpoch(sessionId: string): number { + return this.#sessionRunEpochs.get(sessionId) ?? 0; + } + + #bumpSessionRunEpoch(sessionId: string): void { + this.#sessionRunEpochs.set(sessionId, (this.#sessionRunEpochs.get(sessionId) ?? 0) + 1); + } + hasActiveRun(sessionId: string, runId: string, turnId?: string): boolean { return this.activeRunsFor(sessionId).some( (run) => run.runId === runId && (turnId === undefined || run.turnId === turnId), @@ -2721,6 +2747,7 @@ export class RuntimeKernel implements RuntimeKernelLike { } active.activeRuns.set(run.runId, run); active.turnToRunId.set(run.turnId, run.runId); + this.#bumpSessionRunEpoch(active.sessionId); } private assertRunCanDispatch(run: AgentRun, backend: AgentBackend): void { @@ -2748,6 +2775,7 @@ export class RuntimeKernel implements RuntimeKernelLike { if (active.turnToRunId.get(run.turnId) === run.runId) { active.turnToRunId.delete(run.turnId); } + this.#bumpSessionRunEpoch(active.sessionId); } private async unregisterParentRun(active: AgentRunActiveSession, run: AgentRun): Promise { diff --git a/packages/runtime/src/session-manager.ts b/packages/runtime/src/session-manager.ts index 40b020fc83..73a5c06113 100644 --- a/packages/runtime/src/session-manager.ts +++ b/packages/runtime/src/session-manager.ts @@ -967,12 +967,23 @@ export class SessionManager { return this.runtimeKernel.runningTurnIds?.(sessionId) ?? []; } + /** + * The live run state's own order, bumped on every turn start and end. Two + * same-revision catalog reads can disagree about `runningTurnIds`; the epoch + * says which one is older (#5713). + */ + sessionRunEpoch(sessionId: string): number { + return this.runtimeKernel.sessionRunEpoch?.(sessionId) ?? 0; + } + #projectLiveRunState(sessions: SessionSummary[]): SessionSummary[] { const runningTurnIds = this.runtimeKernel.runningTurnIds?.bind(this.runtimeKernel); if (!runningTurnIds) return sessions; + const sessionRunEpoch = this.runtimeKernel.sessionRunEpoch?.bind(this.runtimeKernel); return sessions.map((session) => ({ ...session, runningTurnIds: runningTurnIds(session.id), + ...(sessionRunEpoch ? { runEpoch: sessionRunEpoch(session.id) } : {}), })); } From f5850bc987f3addf51b713c06429e3abdb813157 Mon Sep 17 00:00:00 2001 From: ggbdpq Date: Sun, 27 Sep 2026 04:42:02 +0800 Subject: [PATCH 2/9] test(runtime-host): expect the run epoch in the known-empty live run state The two-client UDS suites run only on Linux, so the runEpoch field the seed now projects was visible in CI but not on a Windows checkout: the known-empty fixture lacked the field the projection adds. Generated-by: GLM-5.3-Flash (ZCode) --- .../runtime-host/src/__tests__/authenticated-websocket.test.ts | 1 + .../src/__tests__/session-catalog-two-client-uds.test.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/runtime-host/src/__tests__/authenticated-websocket.test.ts b/packages/runtime-host/src/__tests__/authenticated-websocket.test.ts index b3a96a6a4f..4e8ea45b46 100644 --- a/packages/runtime-host/src/__tests__/authenticated-websocket.test.ts +++ b/packages/runtime-host/src/__tests__/authenticated-websocket.test.ts @@ -58,6 +58,7 @@ const PROTOCOL = { const KNOWN_EMPTY_LIVE_RUN_STATE = { schemaVersion: SESSION_CATALOG_LIVE_RUN_STATE_SCHEMA_VERSION, runningTurnIds: [], + runEpoch: 0, } as const; async function configureTestModel(local: RuntimeHostConnection): Promise { diff --git a/packages/runtime-host/src/__tests__/session-catalog-two-client-uds.test.ts b/packages/runtime-host/src/__tests__/session-catalog-two-client-uds.test.ts index d53f65f79d..eaad31faff 100644 --- a/packages/runtime-host/src/__tests__/session-catalog-two-client-uds.test.ts +++ b/packages/runtime-host/src/__tests__/session-catalog-two-client-uds.test.ts @@ -69,6 +69,7 @@ const WIRE_OVERSIZED_MODEL_ID = '😀'.repeat(256); const KNOWN_EMPTY_LIVE_RUN_STATE = { schemaVersion: SESSION_CATALOG_LIVE_RUN_STATE_SCHEMA_VERSION, runningTurnIds: [], + runEpoch: 0, } as const; test('two Clients share stable Session creation, CAS configuration, and catalog continuity', { From 7bb7e570126067cf7a0d63841094caf276ab2ce9 Mon Sep 17 00:00:00 2001 From: ggbdpq Date: Sun, 27 Sep 2026 13:28:21 +0800 Subject: [PATCH 3/9] fix(runtime): seed the run epoch from the process clock; restore the attention decoder test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two review follow-ups: - The per-session run-epoch counters restart at zero with a fresh Host process, while Desktop's catalog rows survive the restart — the epoch comparison then rejected every fresh same-revision read until the new counter outgrew the old one, pinning a stale session row across a Host restart. Seed the epoch with the construction clock so a restarted Host's epochs are strictly greater than anything the previous process produced. - The epoch rebase dropped main's decodeHostFrame regression for session.catalog.changed frames carrying an attention payload; restore it, and extend the Desktop ordering regression with the restart scenario. Generated-by: GLM-5.3-Flash (ZCode) --- .../app-shell-session-ui-state.test.ts | 13 + j1.txt | 18160 ++++++++++++++++ .../session-catalog-protocol.test.ts | 25 + packages/runtime/src/runtime-kernel.ts | 10 +- 4 files changed, 18206 insertions(+), 2 deletions(-) create mode 100644 j1.txt diff --git a/apps/desktop/src/main/__tests__/app-shell-session-ui-state.test.ts b/apps/desktop/src/main/__tests__/app-shell-session-ui-state.test.ts index 014225287b..ed847e2688 100644 --- a/apps/desktop/src/main/__tests__/app-shell-session-ui-state.test.ts +++ b/apps/desktop/src/main/__tests__/app-shell-session-ui-state.test.ts @@ -405,6 +405,19 @@ describe('shellSessionRowEqual', () => { }); }); assert.deepEqual(selectSessionById(catalog.getState(), row.id)?.runningTurnIds, []); + + // A Host restart reseeds the epoch from the new process's clock, so the + // restarted Host's first read (a low counter on a huge clock base) must + // beat any epoch the previous process produced (#5713 review). + await act(async () => { + catalog.commitPatch(row.id, { + ...row, + revision: 5, + runningTurnIds: ['turn-2'], + runEpoch: 1_700_000_000_000, + }); + }); + assert.deepEqual(selectSessionById(catalog.getState(), row.id)?.runningTurnIds, ['turn-2']); } finally { cleanupFakeDom(); } }); diff --git a/j1.txt b/j1.txt new file mode 100644 index 0000000000..8ce3509558 --- /dev/null +++ b/j1.txt @@ -0,0 +1,18160 @@ +2026-09-27T05:28:32.3669087Z Current runner version: '2.337.0' +2026-09-27T05:28:32.3692947Z ##[group]Runner Image Provisioner +2026-09-27T05:28:32.3693862Z Hosted Compute Agent +2026-09-27T05:28:32.3694610Z Version: 20260828.587 +2026-09-27T05:28:32.3695236Z Commit: abac92662cab4cc7352de4f9f9d2e2419aad9c29 +2026-09-27T05:28:32.3695959Z Build Date: 2026-08-28T16:44:25Z +2026-09-27T05:28:32.3696624Z Worker ID: {02737957-83a4-4abb-80aa-af794513c072} +2026-09-27T05:28:32.3697285Z Azure Region: northcentralus +2026-09-27T05:28:32.3697925Z ##[endgroup] +2026-09-27T05:28:32.3699303Z ##[group]Operating System +2026-09-27T05:28:32.3699970Z Ubuntu +2026-09-27T05:28:32.3700498Z 24.04.5 +2026-09-27T05:28:32.3700975Z LTS +2026-09-27T05:28:32.3701496Z ##[endgroup] +2026-09-27T05:28:32.3702021Z ##[group]Runner Image +2026-09-27T05:28:32.3702592Z Image: ubuntu-24.04 +2026-09-27T05:28:32.3703160Z Version: 20260920.314.1 +2026-09-27T05:28:32.3704363Z Included Software: https://github.com/actions/runner-images/blob/ubuntu24/20260920.314/images/ubuntu/Ubuntu2404-Readme.md +2026-09-27T05:28:32.3706122Z Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20260920.314 +2026-09-27T05:28:32.3707033Z ##[endgroup] +2026-09-27T05:28:32.3708121Z ##[group]GITHUB_TOKEN Permissions +2026-09-27T05:28:32.3710638Z Contents: read +2026-09-27T05:28:32.3711255Z Metadata: read +2026-09-27T05:28:32.3711766Z ##[endgroup] +2026-09-27T05:28:32.3713755Z Secret source: None +2026-09-27T05:28:32.3714907Z Cache mode: write +2026-09-27T05:28:32.3715841Z Prepare workflow directory +2026-09-27T05:28:32.4028484Z Prepare all required actions +2026-09-27T05:28:32.4077132Z Getting action download info +2026-09-27T05:28:32.7387842Z Download action repository 'actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1' (SHA:3d3c42e5aac5ba805825da76410c181273ba90b1) +2026-09-27T05:28:32.8511012Z Download action repository 'actions/setup-node@820762786026740c76f36085b0efc47a31fe5020' (SHA:820762786026740c76f36085b0efc47a31fe5020) +2026-09-27T05:28:32.9642109Z Download action repository 'actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9' (SHA:55cc8345863c7cc4c66a329aec7e433d2d1c52a9) +2026-09-27T05:28:33.1827377Z Download action repository 'actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a' (SHA:043fb46d1a93c77aae656e7c1c64a875d1fc6a0a) +2026-09-27T05:28:33.3066320Z Download action repository 'taiki-e/install-action@1ed6d7be6168f6c9046541087ff549b6bc581fdf' (SHA:1ed6d7be6168f6c9046541087ff549b6bc581fdf) +2026-09-27T05:28:33.8792894Z Complete job name: test +2026-09-27T05:28:34.0107538Z ##[group]Run actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 +2026-09-27T05:28:34.0109095Z with: +2026-09-27T05:28:34.0110021Z fetch-depth: 0 +2026-09-27T05:28:34.0110972Z persist-credentials: false +2026-09-27T05:28:34.0111986Z repository: apache/maka +2026-09-27T05:28:34.0118733Z token: *** +2026-09-27T05:28:34.0119605Z ssh-strict: true +2026-09-27T05:28:34.0120512Z ssh-user: git +2026-09-27T05:28:34.0121370Z clean: true +2026-09-27T05:28:34.0122275Z sparse-checkout-cone-mode: true +2026-09-27T05:28:34.0123412Z fetch-tags: false +2026-09-27T05:28:34.0124355Z show-progress: true +2026-09-27T05:28:34.0125402Z lfs: false +2026-09-27T05:28:34.0126295Z submodules: false +2026-09-27T05:28:34.0127251Z set-safe-directory: true +2026-09-27T05:28:34.0128443Z allow-unsafe-pr-checkout: false +2026-09-27T05:28:34.0129932Z ##[endgroup] +2026-09-27T05:28:34.1092069Z Syncing repository: apache/maka +2026-09-27T05:28:34.1094831Z ##[group]Getting Git version info +2026-09-27T05:28:34.1096309Z Working directory is '/home/runner/work/maka/maka' +2026-09-27T05:28:34.1098167Z [command]/usr/bin/git version +2026-09-27T05:28:34.1146680Z git version 2.55.0 +2026-09-27T05:28:34.1166270Z ##[endgroup] +2026-09-27T05:28:34.1174768Z Temporarily overriding HOME='/home/runner/work/_temp/e8021272-f433-4153-b3bf-10de7fe8d1a4' before making global git config changes +2026-09-27T05:28:34.1177281Z Adding repository directory to the temporary git global config as a safe directory +2026-09-27T05:28:34.1179559Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/maka/maka +2026-09-27T05:28:34.1223117Z Deleting the contents of '/home/runner/work/maka/maka' +2026-09-27T05:28:34.1226061Z ##[group]Determining repository object format +2026-09-27T05:28:34.1228244Z ##[endgroup] +2026-09-27T05:28:34.1229860Z ##[group]Initializing the repository +2026-09-27T05:28:34.1231718Z [command]/usr/bin/git init /home/runner/work/maka/maka +2026-09-27T05:28:34.1318657Z hint: Using 'master' as the name for the initial branch. This default branch name +2026-09-27T05:28:34.1320516Z hint: will change to "main" in Git 3.0. To configure the initial branch name +2026-09-27T05:28:34.1322226Z hint: to use in all of your new repositories, which will suppress this warning, +2026-09-27T05:28:34.1323489Z hint: call: +2026-09-27T05:28:34.1324351Z hint: +2026-09-27T05:28:34.1325842Z hint: git config --global init.defaultBranch +2026-09-27T05:28:34.1327438Z hint: +2026-09-27T05:28:34.1328944Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +2026-09-27T05:28:34.1330641Z hint: 'development'. The just-created branch can be renamed via this command: +2026-09-27T05:28:34.1332221Z hint: +2026-09-27T05:28:34.1333077Z hint: git branch -m +2026-09-27T05:28:34.1334226Z hint: +2026-09-27T05:28:34.1335859Z hint: Disable this message with "git config set advice.defaultBranchName false" +2026-09-27T05:28:34.1337532Z Initialized empty Git repository in /home/runner/work/maka/maka/.git/ +2026-09-27T05:28:34.1340676Z [command]/usr/bin/git remote add origin https://github.com/apache/maka +2026-09-27T05:28:34.1383013Z ##[endgroup] +2026-09-27T05:28:34.1385055Z ##[group]Disabling automatic garbage collection +2026-09-27T05:28:34.1386480Z [command]/usr/bin/git config --local gc.auto 0 +2026-09-27T05:28:34.1415743Z ##[endgroup] +2026-09-27T05:28:34.1417286Z ##[group]Setting up auth +2026-09-27T05:28:34.1418524Z Removing SSH command configuration +2026-09-27T05:28:34.1420137Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand +2026-09-27T05:28:34.1446920Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :" +2026-09-27T05:28:34.1742348Z Removing HTTP extra header +2026-09-27T05:28:34.1746611Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader +2026-09-27T05:28:34.1772508Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :" +2026-09-27T05:28:34.1947773Z Removing includeIf entries pointing to credentials config files +2026-09-27T05:28:34.1952987Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: +2026-09-27T05:28:34.1978982Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url +2026-09-27T05:28:34.2160502Z [command]/usr/bin/git config --file /home/runner/work/_temp/git-credentials-a745d6d8-6269-4e4a-a47f-690242882e2b.config http.https://github.com/.extraheader AUTHORIZATION: basic *** +2026-09-27T05:28:34.2192869Z [command]/usr/bin/git config --local includeIf.gitdir:/home/runner/work/maka/maka/.git.path /home/runner/work/_temp/git-credentials-a745d6d8-6269-4e4a-a47f-690242882e2b.config +2026-09-27T05:28:34.2222568Z [command]/usr/bin/git config --local includeIf.gitdir:/home/runner/work/maka/maka/.git/worktrees/*.path /home/runner/work/_temp/git-credentials-a745d6d8-6269-4e4a-a47f-690242882e2b.config +2026-09-27T05:28:34.2253770Z [command]/usr/bin/git config --local includeIf.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-a745d6d8-6269-4e4a-a47f-690242882e2b.config +2026-09-27T05:28:34.2283939Z [command]/usr/bin/git config --local includeIf.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-a745d6d8-6269-4e4a-a47f-690242882e2b.config +2026-09-27T05:28:34.2309504Z ##[endgroup] +2026-09-27T05:28:34.2310952Z ##[group]Fetching the repository +2026-09-27T05:28:34.2316236Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules origin +refs/heads/*:refs/remotes/origin/* +refs/tags/*:refs/tags/* +7bfadeae3cbf5c7e2ea368eb3dbdedcb34590feb:refs/remotes/pull/5741/merge +2026-09-27T05:28:45.3411395Z From https://github.com/apache/maka +2026-09-27T05:28:45.3412411Z * [new branch] agent/1341-claimed-intent-execution -> origin/agent/1341-claimed-intent-execution +2026-09-27T05:28:45.3413414Z * [new branch] agent/1341-desktop-graph-mode -> origin/agent/1341-desktop-graph-mode +2026-09-27T05:28:45.3414247Z * [new branch] agent/1341-dispatch-runnable-graph -> origin/agent/1341-dispatch-runnable-graph +2026-09-27T05:28:45.3415394Z * [new branch] agent/1341-durable-intent-claims -> origin/agent/1341-durable-intent-claims +2026-09-27T05:28:45.3416347Z * [new branch] agent/1341-dynamic-operator-bootstrap -> origin/agent/1341-dynamic-operator-bootstrap +2026-09-27T05:28:45.3417287Z * [new branch] agent/1341-graph-read-model -> origin/agent/1341-graph-read-model +2026-09-27T05:28:45.3418237Z * [new branch] agent/1341-graph-supervisor-tools -> origin/agent/1341-graph-supervisor-tools +2026-09-27T05:28:45.3419263Z * [new branch] agent/1341-host-graph-invocation -> origin/agent/1341-host-graph-invocation +2026-09-27T05:28:45.3420278Z * [new branch] agent/1341-operator-local-readiness -> origin/agent/1341-operator-local-readiness +2026-09-27T05:28:45.3421263Z * [new branch] agent/1341-reconcile-graph-schedule -> origin/agent/1341-reconcile-graph-schedule +2026-09-27T05:28:45.3422283Z * [new branch] agent/1341-trace-graph-topology -> origin/agent/1341-trace-graph-topology +2026-09-27T05:28:45.3423129Z * [new branch] agent/1529-graph-trace -> origin/agent/1529-graph-trace +2026-09-27T05:28:45.3423957Z * [new branch] agent/1593-bound-agent-output -> origin/agent/1593-bound-agent-output +2026-09-27T05:28:45.3425052Z * [new branch] agent/1593-committed-result -> origin/agent/1593-committed-result +2026-09-27T05:28:45.3426008Z * [new branch] agent/1593-large-output-regression -> origin/agent/1593-large-output-regression +2026-09-27T05:28:45.3427067Z * [new branch] agent/1593-supervisor-overflow-recovery -> origin/agent/1593-supervisor-overflow-recovery +2026-09-27T05:28:45.3428398Z * [new branch] agent/1604-graph-root-failure -> origin/agent/1604-graph-root-failure +2026-09-27T05:28:45.3429420Z * [new branch] agent/1606-graph-child-failure-recovery -> origin/agent/1606-graph-child-failure-recovery +2026-09-27T05:28:45.3430500Z * [new branch] agent/1623-graph-compacted-replay -> origin/agent/1623-graph-compacted-replay +2026-09-27T05:28:45.3431556Z * [new branch] agent/1626-cli-stream-connect-timeout -> origin/agent/1626-cli-stream-connect-timeout +2026-09-27T05:28:45.3432595Z * [new branch] agent/child-session-host-lifecycle -> origin/agent/child-session-host-lifecycle +2026-09-27T05:28:45.3433338Z * [new branch] agent/child-session-runtime-primitive -> origin/agent/child-session-runtime-primitive +2026-09-27T05:28:45.3434055Z * [new branch] agent/child-session-tool-migration -> origin/agent/child-session-tool-migration +2026-09-27T05:28:45.3435204Z * [new branch] agent/graph-architecture-docs -> origin/agent/graph-architecture-docs +2026-09-27T05:28:45.3435872Z * [new branch] agent/linked-child-session-relation -> origin/agent/linked-child-session-relation +2026-09-27T05:28:45.3436500Z * [new branch] agent/worktree-child-executor -> origin/agent/worktree-child-executor +2026-09-27T05:28:45.3437037Z * [new branch] asf-site -> origin/asf-site +2026-09-27T05:28:45.3437600Z * [new branch] audit/grok-assisted-contributions -> origin/audit/grok-assisted-contributions +2026-09-27T05:28:45.3438349Z * [new branch] chore/3360-repatch-astryx-0.4.3 -> origin/chore/3360-repatch-astryx-0.4.3 +2026-09-27T05:28:45.3439570Z * [new branch] chore/ai-sdk-drop-tool-call-patch -> origin/chore/ai-sdk-drop-tool-call-patch +2026-09-27T05:28:45.3440160Z * [new branch] chore/arch-round-3 -> origin/chore/arch-round-3 +2026-09-27T05:28:45.3440680Z * [new branch] chore/arch-round-4 -> origin/chore/arch-round-4 +2026-09-27T05:28:45.3441241Z * [new branch] chore/arch-round-5 -> origin/chore/arch-round-5 +2026-09-27T05:28:45.3441977Z * [new branch] chore/arch-round-6 -> origin/chore/arch-round-6 +2026-09-27T05:28:45.3442553Z * [new branch] chore/arch-round-7-final -> origin/chore/arch-round-7-final +2026-09-27T05:28:45.3443134Z * [new branch] chore/arch-ui-campaign-0719 -> origin/chore/arch-ui-campaign-0719 +2026-09-27T05:28:45.3443696Z * [new branch] chore/ci-wallclock-slim -> origin/chore/ci-wallclock-slim +2026-09-27T05:28:45.3444227Z * [new branch] chore/deps-astryx-0.2.0 -> origin/chore/deps-astryx-0.2.0 +2026-09-27T05:28:45.3445074Z * [new branch] chore/drop-astryx-dom-contracts -> origin/chore/drop-astryx-dom-contracts +2026-09-27T05:28:45.3445826Z * [new branch] chore/headless-raise-pair-concurrency-cap -> origin/chore/headless-raise-pair-concurrency-cap +2026-09-27T05:28:45.3446635Z * [new branch] chore/notifications-disable-commit-email -> origin/chore/notifications-disable-commit-email +2026-09-27T05:28:45.3447295Z * [new branch] chore/release-0-1-4 -> origin/chore/release-0-1-4 +2026-09-27T05:28:45.3447960Z * [new branch] chore/release-0.1.5-prep -> origin/chore/release-0.1.5-prep +2026-09-27T05:28:45.3448517Z * [new branch] chore/release-0.1.6 -> origin/chore/release-0.1.6 +2026-09-27T05:28:45.3449111Z * [new branch] chore/release-windows-workflow -> origin/chore/release-windows-workflow +2026-09-27T05:28:45.3449720Z * [new branch] chore/remove-voice-module -> origin/chore/remove-voice-module +2026-09-27T05:28:45.3450308Z * [new branch] chore/trim-low-value-tests -> origin/chore/trim-low-value-tests +2026-09-27T05:28:45.3450902Z * [new branch] chore/ui-quality-campaign -> origin/chore/ui-quality-campaign +2026-09-27T05:28:45.3451510Z * [new branch] ci/alignment-audit-own-lane -> origin/ci/alignment-audit-own-lane +2026-09-27T05:28:45.3452258Z * [new branch] ci/dedupe-asf-npm-policy-check -> origin/ci/dedupe-asf-npm-policy-check +2026-09-27T05:28:45.3452863Z * [new branch] claude/e2e-home-sandbox -> origin/claude/e2e-home-sandbox +2026-09-27T05:28:45.3453561Z * [new branch] claude/emptystate-border-and-knip -> origin/claude/emptystate-border-and-knip +2026-09-27T05:28:45.3454234Z * [new branch] claude/fix-settings-row-track -> origin/claude/fix-settings-row-track +2026-09-27T05:28:45.3455064Z * [new branch] claude/happy-hermann-4febe7 -> origin/claude/happy-hermann-4febe7 +2026-09-27T05:28:45.3455630Z * [new branch] claude/revert-1515 -> origin/claude/revert-1515 +2026-09-27T05:28:45.3456224Z * [new branch] claude/skill-delete-user-scope -> origin/claude/skill-delete-user-scope +2026-09-27T05:28:45.3456794Z * [new branch] codex/cli-graph -> origin/codex/cli-graph +2026-09-27T05:28:45.3457427Z * [new branch] codex/copilot-review-cost-efficiency -> origin/codex/copilot-review-cost-efficiency +2026-09-27T05:28:45.3458148Z * [new branch] codex/cu-webcontent-integration -> origin/codex/cu-webcontent-integration +2026-09-27T05:28:45.3458808Z * [new branch] codex/cu-window-transition-pin -> origin/codex/cu-window-transition-pin +2026-09-27T05:28:45.3459500Z * [new branch] codex/desktop-managed-files-delivery -> origin/codex/desktop-managed-files-delivery +2026-09-27T05:28:45.3460226Z * [new branch] codex/eval-eight-arm-concurrency-16 -> origin/codex/eval-eight-arm-concurrency-16 +2026-09-27T05:28:45.3461026Z * [new branch] codex/eval-maka-artifacts-current -> origin/codex/eval-maka-artifacts-current +2026-09-27T05:28:45.3461688Z * [new branch] codex/eval-maka-tool-profile -> origin/codex/eval-maka-tool-profile +2026-09-27T05:28:45.3462404Z * [new branch] codex/eval-pi-terminal-status -> origin/codex/eval-pi-terminal-status +2026-09-27T05:28:45.3463095Z * [new branch] codex/fix-embedded-model-proxy -> origin/codex/fix-embedded-model-proxy +2026-09-27T05:28:45.3463706Z * [new branch] codex/fix-pr-2152-review -> origin/codex/fix-pr-2152-review +2026-09-27T05:28:45.3464565Z * [new branch] codex/fix-release-filesystem-protocol -> origin/codex/fix-release-filesystem-protocol +2026-09-27T05:28:45.3465481Z * [new branch] codex/gitoxide-file-execution-delivery -> origin/codex/gitoxide-file-execution-delivery +2026-09-27T05:28:45.3466247Z * [new branch] codex/managed-files-recovery-delivery -> origin/codex/managed-files-recovery-delivery +2026-09-27T05:28:45.3467037Z * [new branch] codex/managed-mutation-authority-delivery -> origin/codex/managed-mutation-authority-delivery +2026-09-27T05:28:45.3467802Z * [new branch] codex/model-capability-resolution -> origin/codex/model-capability-resolution +2026-09-27T05:28:45.3468401Z * [new branch] codex/pr-assets -> origin/codex/pr-assets +2026-09-27T05:28:45.3469027Z * [new branch] codex/prune-test-suite-round-23 -> origin/codex/prune-test-suite-round-23 +2026-09-27T05:28:45.3469712Z * [new branch] codex/prune-test-suite-round-24 -> origin/codex/prune-test-suite-round-24 +2026-09-27T05:28:45.3470378Z * [new branch] codex/prune-test-suite-round-25 -> origin/codex/prune-test-suite-round-25 +2026-09-27T05:28:45.3470941Z * [new branch] codex/release-0.1.2 -> origin/codex/release-0.1.2 +2026-09-27T05:28:45.3471622Z * [new branch] codex/remove-duplicate-runtime-architecture -> origin/codex/remove-duplicate-runtime-architecture +2026-09-27T05:28:45.3472330Z * [new branch] codex/scheduled-task-global -> origin/codex/scheduled-task-global +2026-09-27T05:28:45.3472898Z * [new branch] codex/seo-geo-foundation -> origin/codex/seo-geo-foundation +2026-09-27T05:28:45.3473516Z * [new branch] codex/simplify-public-api-scripts -> origin/codex/simplify-public-api-scripts +2026-09-27T05:28:45.3474155Z * [new branch] codex/windows-computer-use -> origin/codex/windows-computer-use +2026-09-27T05:28:45.3475320Z * [new branch] dependabot/github_actions/taiki-e/install-action-2.87.17 -> origin/dependabot/github_actions/taiki-e/install-action-2.87.17 +2026-09-27T05:28:45.3476202Z * [new branch] dependabot/npm_and_yarn/babel/parser-8.0.4 -> origin/dependabot/npm_and_yarn/babel/parser-8.0.4 +2026-09-27T05:28:45.3476948Z * [new branch] dependabot/npm_and_yarn/electron-44.2.0 -> origin/dependabot/npm_and_yarn/electron-44.2.0 +2026-09-27T05:28:45.3477650Z * [new branch] dependabot/npm_and_yarn/electron-44.4.3 -> origin/dependabot/npm_and_yarn/electron-44.4.3 +2026-09-27T05:28:45.3478421Z * [new branch] dependabot/npm_and_yarn/intl-messageformat-12.1.2 -> origin/dependabot/npm_and_yarn/intl-messageformat-12.1.2 +2026-09-27T05:28:45.3479183Z * [new branch] dependabot/npm_and_yarn/mermaid-12.0.0 -> origin/dependabot/npm_and_yarn/mermaid-12.0.0 +2026-09-27T05:28:45.3479952Z * [new branch] dependabot/npm_and_yarn/minor-and-patch-cff605b596 -> origin/dependabot/npm_and_yarn/minor-and-patch-cff605b596 +2026-09-27T05:28:45.3481018Z * [new branch] dependabot/npm_and_yarn/packages/eval/harbor/deepseek-harness-toolchain/hono-4.13.7 -> origin/dependabot/npm_and_yarn/packages/eval/harbor/deepseek-harness-toolchain/hono-4.13.7 +2026-09-27T05:28:45.3482287Z * [new branch] dependabot/npm_and_yarn/packages/eval/harbor/deepseek-harness-toolchain/js-yaml-4.3.2 -> origin/dependabot/npm_and_yarn/packages/eval/harbor/deepseek-harness-toolchain/js-yaml-4.3.2 +2026-09-27T05:28:45.3483617Z * [new branch] dependabot/npm_and_yarn/packages/eval/harbor/deepseek-harness-toolchain/sharp-0.35.4 -> origin/dependabot/npm_and_yarn/packages/eval/harbor/deepseek-harness-toolchain/sharp-0.35.4 +2026-09-27T05:28:45.3484631Z * [new branch] devin/cleanup-scan-consolidated -> origin/devin/cleanup-scan-consolidated +2026-09-27T05:28:45.3485272Z * [new branch] docs/1680-deepseek-flash-report -> origin/docs/1680-deepseek-flash-report +2026-09-27T05:28:45.3485903Z * [new branch] docs/design-material-agent-book -> origin/docs/design-material-agent-book +2026-09-27T05:28:45.3486627Z * [new branch] docs/eval-4arm-tbench-2.1-deepseek-v4-flash -> origin/docs/eval-4arm-tbench-2.1-deepseek-v4-flash +2026-09-27T05:28:45.3487400Z * [new branch] docs/nightly-tag-workflows-rejection -> origin/docs/nightly-tag-workflows-rejection +2026-09-27T05:28:45.3488116Z * [new branch] docs/tb21-glm52-maka-opencode-report -> origin/docs/tb21-glm52-maka-opencode-report +2026-09-27T05:28:45.3488758Z * [new branch] eval/headless-reasonix-arm -> origin/eval/headless-reasonix-arm +2026-09-27T05:28:45.3489414Z * [new branch] experiment/visual-context-compression -> origin/experiment/visual-context-compression +2026-09-27T05:28:45.3490115Z * [new branch] feat/1341-committed-graph-projection -> origin/feat/1341-committed-graph-projection +2026-09-27T05:28:45.3490760Z * [new branch] feat/1970-three-arm-deepseek -> origin/feat/1970-three-arm-deepseek +2026-09-27T05:28:45.3491459Z * [new branch] feat/2357-operational-schema-compatibility -> origin/feat/2357-operational-schema-compatibility +2026-09-27T05:28:45.3492196Z * [new branch] feat/4299-semantic-prefix-continuity -> origin/feat/4299-semantic-prefix-continuity +2026-09-27T05:28:45.3492800Z * [new branch] feat/auto-review-mode -> origin/feat/auto-review-mode +2026-09-27T05:28:45.3493400Z * [new branch] feat/chat-turn-running-status-line -> origin/feat/chat-turn-running-status-line +2026-09-27T05:28:45.3494009Z * [new branch] feat/composer-mentions -> origin/feat/composer-mentions +2026-09-27T05:28:45.3494734Z * [new branch] feat/composer-toolbar-split -> origin/feat/composer-toolbar-split +2026-09-27T05:28:45.3495340Z * [new branch] feat/daily-review-redesign -> origin/feat/daily-review-redesign +2026-09-27T05:28:45.3495982Z * [new branch] feat/default-thinking-level -> origin/feat/default-thinking-level +2026-09-27T05:28:45.3496605Z * [new branch] feat/desktop-activity-card-sticky -> origin/feat/desktop-activity-card-sticky +2026-09-27T05:28:45.3497200Z * [new branch] feat/desktop-gpui-spike -> origin/feat/desktop-gpui-spike +2026-09-27T05:28:45.3497753Z * [new branch] feat/desktop-message-queue -> origin/feat/desktop-message-queue +2026-09-27T05:28:45.3498343Z * [new branch] feat/desktop-stop-safe-resume -> origin/feat/desktop-stop-safe-resume +2026-09-27T05:28:45.3498937Z * [new branch] feat/eval-edit-contract-arms -> origin/feat/eval-edit-contract-arms +2026-09-27T05:28:45.3499549Z * [new branch] feat/eval-eight-arm-comparison -> origin/feat/eval-eight-arm-comparison +2026-09-27T05:28:45.3500152Z * [new branch] feat/eval-fleet-coordinator -> origin/feat/eval-fleet-coordinator +2026-09-27T05:28:45.3500786Z * [new branch] feat/harness-contamination-detector -> origin/feat/harness-contamination-detector +2026-09-27T05:28:45.3501490Z * [new branch] feat/headless-deep-swe-full-profile -> origin/feat/headless-deep-swe-full-profile +2026-09-27T05:28:45.3502185Z * [new branch] feat/headless-deepseek-flash-runtime -> origin/feat/headless-deepseek-flash-runtime +2026-09-27T05:28:45.3502929Z * [new branch] feat/headless-maka-task-run-under-harbor -> origin/feat/headless-maka-task-run-under-harbor +2026-09-27T05:28:45.3503658Z * [new branch] feat/headless-managed-shell-sessions -> origin/feat/headless-managed-shell-sessions +2026-09-27T05:28:45.3504479Z * [new branch] feat/headless-opencode-config-path -> origin/feat/headless-opencode-config-path +2026-09-27T05:28:45.3505160Z * [new branch] feat/headless-opencode-pier-arm -> origin/feat/headless-opencode-pier-arm +2026-09-27T05:28:45.3505792Z * [new branch] feat/inspector-session-overview -> origin/feat/inspector-session-overview +2026-09-27T05:28:45.3506376Z * [new branch] feat/keep-system-awake -> origin/feat/keep-system-awake +2026-09-27T05:28:45.3506965Z * [new branch] feat/manual-safe-resume-default -> origin/feat/manual-safe-resume-default +2026-09-27T05:28:45.3507529Z * [new branch] feat/mcp-runtime-v1 -> origin/feat/mcp-runtime-v1 +2026-09-27T05:28:45.3508042Z * [new branch] feat/mcp-simple-icons -> origin/feat/mcp-simple-icons +2026-09-27T05:28:45.3508601Z * [new branch] feat/midflight-subagent-open -> origin/feat/midflight-subagent-open +2026-09-27T05:28:45.3509303Z * [new branch] feat/opencode-free-default-enabled-models -> origin/feat/opencode-free-default-enabled-models +2026-09-27T05:28:45.3510022Z * [new branch] feat/permission-drag-onboarding -> origin/feat/permission-drag-onboarding +2026-09-27T05:28:45.3510712Z * [new branch] feat/permission-surface-plain-language -> origin/feat/permission-surface-plain-language +2026-09-27T05:28:45.3511360Z * [new branch] feat/project-row-actions -> origin/feat/project-row-actions +2026-09-27T05:28:45.3511906Z * [new branch] feat/projects-list-rework -> origin/feat/projects-list-rework +2026-09-27T05:28:45.3512467Z * [new branch] feat/projects-settings-page -> origin/feat/projects-settings-page +2026-09-27T05:28:45.3513019Z * [new branch] feat/runtime-host-manager -> origin/feat/runtime-host-manager +2026-09-27T05:28:45.3513553Z * [new branch] feat/runtime-host-rust -> origin/feat/runtime-host-rust +2026-09-27T05:28:45.3514164Z * [new branch] feat/scheduled-task-unified-catalog -> origin/feat/scheduled-task-unified-catalog +2026-09-27T05:28:45.3515030Z * [new branch] feat/settings-unify-content-width -> origin/feat/settings-unify-content-width +2026-09-27T05:28:45.3515674Z * [new branch] feat/subagent-session-layout -> origin/feat/subagent-session-layout +2026-09-27T05:28:45.3516299Z * [new branch] feat/svg-governance-mcp-polish -> origin/feat/svg-governance-mcp-polish +2026-09-27T05:28:45.3516969Z * [new branch] feat/swarm-concurrency-32 -> origin/feat/swarm-concurrency-32 +2026-09-27T05:28:45.3517505Z * [new branch] feat/tool-result-diff -> origin/feat/tool-result-diff +2026-09-27T05:28:45.3518089Z * [new branch] feat/ts-manual-turn-after-unknown -> origin/feat/ts-manual-turn-after-unknown +2026-09-27T05:28:45.3518663Z * [new branch] feat/ui-quote-comments -> origin/feat/ui-quote-comments +2026-09-27T05:28:45.3519202Z * [new branch] feat/update-check-on-focus -> origin/feat/update-check-on-focus +2026-09-27T05:28:45.3519813Z * [new branch] fix/1584-model-catalog-authority -> origin/fix/1584-model-catalog-authority +2026-09-27T05:28:45.3520486Z * [new branch] fix/1976-streamed-tool-call-identity -> origin/fix/1976-streamed-tool-call-identity +2026-09-27T05:28:45.3521152Z * [new branch] fix/2072-user-question-rehydration -> origin/fix/2072-user-question-rehydration +2026-09-27T05:28:45.3521780Z * [new branch] fix/2574-chatlayout-draft-a11y -> origin/fix/2574-chatlayout-draft-a11y +2026-09-27T05:28:45.3522382Z * [new branch] fix/2995-model-switch-warning -> origin/fix/2995-model-switch-warning +2026-09-27T05:28:45.3523021Z * [new branch] fix/3211-fake-backend-out-of-release -> origin/fix/3211-fake-backend-out-of-release +2026-09-27T05:28:45.3523673Z * [new branch] fix/3521-live-tool-result-content -> origin/fix/3521-live-tool-result-content +2026-09-27T05:28:45.3524317Z * [new branch] fix/agent-graph-panel-collapse -> origin/fix/agent-graph-panel-collapse +2026-09-27T05:28:45.3525068Z * [new branch] fix/archive-ref-read-tool -> origin/fix/archive-ref-read-tool +2026-09-27T05:28:45.3525670Z * [new branch] fix/astryx-tooltip-ref-stability -> origin/fix/astryx-tooltip-ref-stability +2026-09-27T05:28:45.3526242Z * [new branch] fix/audit-dompurify -> origin/fix/audit-dompurify +2026-09-27T05:28:45.3526874Z * [new branch] fix/chat-empty-state-vertical-centering -> origin/fix/chat-empty-state-vertical-centering +2026-09-27T05:28:45.3527499Z * [new branch] fix/ci-flaky-tests -> origin/fix/ci-flaky-tests +2026-09-27T05:28:45.3528045Z * [new branch] fix/ci-sandbox-cli-closure -> origin/fix/ci-sandbox-cli-closure +2026-09-27T05:28:45.3528705Z * [new branch] fix/cli-signal-probe-cold-start-2293 -> origin/fix/cli-signal-probe-cold-start-2293 +2026-09-27T05:28:45.3529402Z * [new branch] fix/collapsed-rail-dark-top-seam -> origin/fix/collapsed-rail-dark-top-seam +2026-09-27T05:28:45.3530051Z * [new branch] fix/collapsed-rail-icon-rhythm -> origin/fix/collapsed-rail-icon-rhythm +2026-09-27T05:28:45.3530638Z * [new branch] fix/composer-band-seam -> origin/fix/composer-band-seam +2026-09-27T05:28:45.3531225Z * [new branch] fix/composer-mode-footer-state -> origin/fix/composer-mode-footer-state +2026-09-27T05:28:45.3531903Z * [new branch] fix/composer-model-thinking-toolbar -> origin/fix/composer-model-thinking-toolbar +2026-09-27T05:28:45.3532603Z * [new branch] fix/composer-skill-astryx-surface -> origin/fix/composer-skill-astryx-surface +2026-09-27T05:28:45.3533192Z * [new branch] fix/deep-review-round -> origin/fix/deep-review-round +2026-09-27T05:28:45.3533790Z * [new branch] fix/desktop-bot-session-fixture -> origin/fix/desktop-bot-session-fixture +2026-09-27T05:28:45.3534725Z * [new branch] fix/desktop-drop-deleted-permission-engine -> origin/fix/desktop-drop-deleted-permission-engine +2026-09-27T05:28:45.3535573Z * [new branch] fix/desktop-lightbox-close-drag-region -> origin/fix/desktop-lightbox-close-drag-region +2026-09-27T05:28:45.3536310Z * [new branch] fix/desktop-swarm-default-routing -> origin/fix/desktop-swarm-default-routing +2026-09-27T05:28:45.3536954Z * [new branch] fix/dev-build-runtime-host -> origin/fix/dev-build-runtime-host +2026-09-27T05:28:45.3537618Z * [new branch] fix/e2e-astryx-selectors -> origin/fix/e2e-astryx-selectors +2026-09-27T05:28:45.3538218Z * [new branch] fix/e2e-attachment-alignment -> origin/fix/e2e-attachment-alignment +2026-09-27T05:28:45.3538925Z * [new branch] fix/e2e-fixture-plan-reminder-created-at -> origin/fix/e2e-fixture-plan-reminder-created-at +2026-09-27T05:28:45.3539633Z * [new branch] fix/e2e-sidenav-resize-hit-area -> origin/fix/e2e-sidenav-resize-hit-area +2026-09-27T05:28:45.3540290Z * [new branch] fix/eval-deepseek-pricing-current -> origin/fix/eval-deepseek-pricing-current +2026-09-27T05:28:45.3541001Z * [new branch] fix/eval-subject-namespace-privilege -> origin/fix/eval-subject-namespace-privilege +2026-09-27T05:28:45.3541682Z * [new branch] fix/external-session-continuity -> origin/fix/external-session-continuity +2026-09-27T05:28:45.3542237Z * [new branch] fix/format-2406 -> origin/fix/format-2406 +2026-09-27T05:28:45.3542831Z * [new branch] fix/harness-maka-repo-mount-scope -> origin/fix/harness-maka-repo-mount-scope +2026-09-27T05:28:45.3543579Z * [new branch] fix/harness-maka-trajectory-envelope-drift -> origin/fix/harness-maka-trajectory-envelope-drift +2026-09-27T05:28:45.3544452Z * [new branch] fix/harness-resume-fingerprint-concurrency -> origin/fix/harness-resume-fingerprint-concurrency +2026-09-27T05:28:45.3545244Z * [new branch] fix/headless-archive-read-registration -> origin/fix/headless-archive-read-registration +2026-09-27T05:28:45.3545937Z * [new branch] fix/headless-bound-scope-teardown -> origin/fix/headless-bound-scope-teardown +2026-09-27T05:28:45.3546669Z * [new branch] fix/headless-bridge-command-timeout -> origin/fix/headless-bridge-command-timeout +2026-09-27T05:28:45.3547472Z * [new branch] fix/headless-budget-exhausted-authoritative-reward -> origin/fix/headless-budget-exhausted-authoritative-reward +2026-09-27T05:28:45.3548334Z * [new branch] fix/headless-infra-failed-misclassification -> origin/fix/headless-infra-failed-misclassification +2026-09-27T05:28:45.3549109Z * [new branch] fix/headless-opencode-deepseek-provider -> origin/fix/headless-opencode-deepseek-provider +2026-09-27T05:28:45.3549796Z * [new branch] fix/headless-pier-terminal-stream -> origin/fix/headless-pier-terminal-stream +2026-09-27T05:28:45.3550662Z * [new branch] fix/headless-proxy-usage-protocol-wire -> origin/fix/headless-proxy-usage-protocol-wire +2026-09-27T05:28:45.3551601Z * [new branch] fix/headless-published-run-semantics -> origin/fix/headless-published-run-semantics +2026-09-27T05:28:45.3552565Z * [new branch] fix/headless-restore-maka-settlement-window -> origin/fix/headless-restore-maka-settlement-window +2026-09-27T05:28:45.3553610Z * [new branch] fix/headless-scope-competitor-repo-mount -> origin/fix/headless-scope-competitor-repo-mount +2026-09-27T05:28:45.3554676Z * [new branch] fix/headless-scope-output-replay-orphan -> origin/fix/headless-scope-output-replay-orphan +2026-09-27T05:28:45.3555831Z * [new branch] fix/headless-settle-timeouts-by-evidence -> origin/fix/headless-settle-timeouts-by-evidence +2026-09-27T05:28:45.3557000Z * [new branch] fix/headless-smoke-settlement-window -> origin/fix/headless-smoke-settlement-window +2026-09-27T05:28:45.3557866Z * [new branch] fix/knip-orphaned-css-helpers -> origin/fix/knip-orphaned-css-helpers +2026-09-27T05:28:45.3558526Z * [new branch] fix/mcp-real-brand-logos -> origin/fix/mcp-real-brand-logos +2026-09-27T05:28:45.3559203Z * [new branch] fix/mcp-remaining-brand-marks -> origin/fix/mcp-remaining-brand-marks +2026-09-27T05:28:45.3559875Z * [new branch] fix/model-picker-group-logo -> origin/fix/model-picker-group-logo +2026-09-27T05:28:45.3560691Z * [new branch] fix/module-unbox-daily-review-restyle -> origin/fix/module-unbox-daily-review-restyle +2026-09-27T05:28:45.3561613Z * [new branch] fix/peer-mesh-cleanup -> origin/fix/peer-mesh-cleanup +2026-09-27T05:28:45.3562497Z * [new branch] fix/peer-reconnect-recovery -> origin/fix/peer-reconnect-recovery +2026-09-27T05:28:45.3563473Z * [new branch] fix/permission-surface-reload-e2e -> origin/fix/permission-surface-reload-e2e +2026-09-27T05:28:45.3564554Z * [new branch] fix/plan-form-deep-review -> origin/fix/plan-form-deep-review +2026-09-27T05:28:45.3565367Z * [new branch] fix/polish-wave-table-language -> origin/fix/polish-wave-table-language +2026-09-27T05:28:45.3566344Z * [new branch] fix/prompt-rail-fixture-readiness -> origin/fix/prompt-rail-fixture-readiness +2026-09-27T05:28:45.3567174Z * [new branch] fix/radius-calc-spacing -> origin/fix/radius-calc-spacing +2026-09-27T05:28:45.3567986Z * [new branch] fix/read-model-isolate-unclaimed-event -> origin/fix/read-model-isolate-unclaimed-event +2026-09-27T05:28:45.3568615Z * [new branch] fix/reading-column-polish -> origin/fix/reading-column-polish +2026-09-27T05:28:45.3569158Z * [new branch] fix/readme-badge-placement -> origin/fix/readme-badge-placement +2026-09-27T05:28:45.3569744Z * [new branch] fix/release-ip-address-advisory -> origin/fix/release-ip-address-advisory +2026-09-27T05:28:45.3570404Z * [new branch] fix/runtime-gateway-invocation-source -> origin/fix/runtime-gateway-invocation-source +2026-09-27T05:28:45.3571066Z * [new branch] fix/runtime-host-drain-handshake -> origin/fix/runtime-host-drain-handshake +2026-09-27T05:28:45.3571747Z * [new branch] fix/runtime-host-first-connection-grace -> origin/fix/runtime-host-first-connection-grace +2026-09-27T05:28:45.3572565Z * [new branch] fix/runtime-host-flaky-steering-test -> origin/fix/runtime-host-flaky-steering-test +2026-09-27T05:28:45.3573187Z * [new branch] fix/runtime-per-turn-scope -> origin/fix/runtime-per-turn-scope +2026-09-27T05:28:45.3573857Z * [new branch] fix/runtime-responses-encrypted-reasoning -> origin/fix/runtime-responses-encrypted-reasoning +2026-09-27T05:28:45.3574834Z * [new branch] fix/runtime-stopped-run-terminal-fact -> origin/fix/runtime-stopped-run-terminal-fact +2026-09-27T05:28:45.3575564Z * [new branch] fix/runtime-symlink-cwd-containment -> origin/fix/runtime-symlink-cwd-containment +2026-09-27T05:28:45.3576267Z * [new branch] fix/runtime-truncated-stream-end-turn -> origin/fix/runtime-truncated-stream-end-turn +2026-09-27T05:28:45.3576978Z * [new branch] fix/sandbox-boundary-pending-restart -> origin/fix/sandbox-boundary-pending-restart +2026-09-27T05:28:45.3577698Z * [new branch] fix/session-workhub-return-visibility -> origin/fix/session-workhub-return-visibility +2026-09-27T05:28:45.3578410Z * [new branch] fix/settings-bounds-contract-rows-kit -> origin/fix/settings-bounds-contract-rows-kit +2026-09-27T05:28:45.3579059Z * [new branch] fix/settings-titlebar-chrome -> origin/fix/settings-titlebar-chrome +2026-09-27T05:28:45.3579622Z * [new branch] fix/shell-run-flush-flake -> origin/fix/shell-run-flush-flake +2026-09-27T05:28:45.3580173Z * [new branch] fix/sidebar-e2e-project-seed -> origin/fix/sidebar-e2e-project-seed +2026-09-27T05:28:45.3580717Z * [new branch] fix/sidebar-rail-color -> origin/fix/sidebar-rail-color +2026-09-27T05:28:45.3581245Z * [new branch] fix/sidebar-sidenav-align -> origin/fix/sidebar-sidenav-align +2026-09-27T05:28:45.3581851Z * [new branch] fix/sidenav-collapse-regressions -> origin/fix/sidenav-collapse-regressions +2026-09-27T05:28:45.3582459Z * [new branch] fix/skills-examples-cleanup -> origin/fix/skills-examples-cleanup +2026-09-27T05:28:45.3583053Z * [new branch] fix/steering-durable-admission -> origin/fix/steering-durable-admission +2026-09-27T05:28:45.3583624Z * [new branch] fix/storage-root-e2e-linux -> origin/fix/storage-root-e2e-linux +2026-09-27T05:28:45.3584369Z * [new branch] fix/swarm-exclusive-ledger-finalization -> origin/fix/swarm-exclusive-ledger-finalization +2026-09-27T05:28:45.3585203Z * [new branch] fix/swarm-progress-1559 -> origin/fix/swarm-progress-1559 +2026-09-27T05:28:45.3585742Z * [new branch] fix/titlebar-column-chrome -> origin/fix/titlebar-column-chrome +2026-09-27T05:28:45.3586382Z * [new branch] fix/tool-activity-astryx-convergence -> origin/fix/tool-activity-astryx-convergence +2026-09-27T05:28:45.3587046Z * [new branch] fix/tool-activity-diff-rendering -> origin/fix/tool-activity-diff-rendering +2026-09-27T05:28:45.3587620Z * [new branch] fix/transcript-midturn -> origin/fix/transcript-midturn +2026-09-27T05:28:45.3588144Z * [new branch] fix/ui-build-astryx-0.5.0 -> origin/fix/ui-build-astryx-0.5.0 +2026-09-27T05:28:45.3588714Z * [new branch] fix/ui-queue-delivery-feedback -> origin/fix/ui-queue-delivery-feedback +2026-09-27T05:28:45.3589330Z * [new branch] fix/ui-reasoning-chevron-stroke -> origin/fix/ui-reasoning-chevron-stroke +2026-09-27T05:28:45.3589993Z * [new branch] fix/ui-tool-group-collapsed-default -> origin/fix/ui-tool-group-collapsed-default +2026-09-27T05:28:45.3590612Z * [new branch] fix/ui-zh-duration-spacing -> origin/fix/ui-zh-duration-spacing +2026-09-27T05:28:45.3591138Z * [new branch] fix/usage-stats-restyle -> origin/fix/usage-stats-restyle +2026-09-27T05:28:45.3591700Z * [new branch] fix/workhub-plain-conversation -> origin/fix/workhub-plain-conversation +2026-09-27T05:28:45.3592303Z * [new branch] kenji/pr-plan-reminder-mvp-0 -> origin/kenji/pr-plan-reminder-mvp-0 +2026-09-27T05:28:45.3592990Z * [new branch] kenji/pr-session-sticky-model-0 -> origin/kenji/pr-session-sticky-model-0 +2026-09-27T05:28:45.3593707Z * [new branch] lordlogres/runtime-adversarial-self-check-loop -> origin/lordlogres/runtime-adversarial-self-check-loop +2026-09-27T05:28:45.3594328Z * [new branch] main -> origin/main +2026-09-27T05:28:45.3595031Z * [new branch] perf/desktop-idle-event-health-polling -> origin/perf/desktop-idle-event-health-polling +2026-09-27T05:28:45.3595764Z * [new branch] perf/desktop-session-ui-subscription -> origin/perf/desktop-session-ui-subscription +2026-09-27T05:28:45.3596414Z * [new branch] perf/scroll-baseline-20260913 -> origin/perf/scroll-baseline-20260913 +2026-09-27T05:28:45.3597047Z * [new branch] perf/scroll-known-space-20260913 -> origin/perf/scroll-known-space-20260913 +2026-09-27T05:28:45.3597663Z * [new branch] perf/scroll-paired-20260913 -> origin/perf/scroll-paired-20260913 +2026-09-27T05:28:45.3598266Z * [new branch] perf/storage-wal-race-stress -> origin/perf/storage-wal-race-stress +2026-09-27T05:28:45.3598866Z * [new branch] perf/test-fast-and-changed -> origin/perf/test-fast-and-changed +2026-09-27T05:28:45.3599475Z * [new branch] polish/skills-empty-actions -> origin/polish/skills-empty-actions +2026-09-27T05:28:45.3600055Z * [new branch] pr-190-review-with-fixes -> origin/pr-190-review-with-fixes +2026-09-27T05:28:45.3600599Z * [new branch] pr-a11y-generic-name-4 -> origin/pr-a11y-generic-name-4 +2026-09-27T05:28:45.3601113Z * [new branch] pr-assets-4314 -> origin/pr-assets-4314 +2026-09-27T05:28:45.3601616Z * [new branch] pr-assets/3122-cf6780d -> origin/pr-assets/3122-cf6780d +2026-09-27T05:28:45.3602148Z * [new branch] pr-astryx-click-action-1 -> origin/pr-astryx-click-action-1 +2026-09-27T05:28:45.3602743Z * [new branch] pr-astryx-collapsible-group-3 -> origin/pr-astryx-collapsible-group-3 +2026-09-27T05:28:45.3603340Z * [new branch] pr-astryx-use-hotkeys-2 -> origin/pr-astryx-use-hotkeys-2 +2026-09-27T05:28:45.3603939Z * [new branch] pr-composer-workspace-chips-12 -> origin/pr-composer-workspace-chips-12 +2026-09-27T05:28:45.3604646Z * [new branch] pr-dedupe-expandable-row-13 -> origin/pr-dedupe-expandable-row-13 +2026-09-27T05:28:45.3605359Z * [new branch] pr-drop-more-menu-10 -> origin/pr-drop-more-menu-10 +2026-09-27T05:28:45.3605872Z * [new branch] pr-evidence-1927 -> origin/pr-evidence-1927 +2026-09-27T05:28:45.3606383Z * [new branch] pr-fix-row-hairline-5 -> origin/pr-fix-row-hairline-5 +2026-09-27T05:28:45.3606909Z * [new branch] pr-plan-regressions-14 -> origin/pr-plan-regressions-14 +2026-09-27T05:28:45.3607515Z * [new branch] pr-serialize-flaky-workspaces-11 -> origin/pr-serialize-flaky-workspaces-11 +2026-09-27T05:28:45.3608169Z * [new branch] pr-set-default-connection-20 -> origin/pr-set-default-connection-20 +2026-09-27T05:28:45.3608791Z * [new branch] pr-settings-expandable-row-9 -> origin/pr-settings-expandable-row-9 +2026-09-27T05:28:45.3609429Z * [new branch] pr-settings-status-semantics-17 -> origin/pr-settings-status-semantics-17 +2026-09-27T05:28:45.3610032Z * [new branch] pr-status-vocabulary-16 -> origin/pr-status-vocabulary-16 +2026-09-27T05:28:45.3610625Z * [new branch] pr-status-vocabulary-round2-18 -> origin/pr-status-vocabulary-round2-18 +2026-09-27T05:28:45.3611207Z * [new branch] pr-tidy-loose-ends-12 -> origin/pr-tidy-loose-ends-12 +2026-09-27T05:28:45.3611720Z * [new branch] pr-ux-about-data-6 -> origin/pr-ux-about-data-6 +2026-09-27T05:28:45.3612257Z * [new branch] pr-ux-health-memory-8 -> origin/pr-ux-health-memory-8 +2026-09-27T05:28:45.3612760Z * [new branch] pr-ux-voice-search-7 -> origin/pr-ux-voice-search-7 +2026-09-27T05:28:45.3613325Z * [new branch] pr/drop-cua-driver -> origin/pr/drop-cua-driver +2026-09-27T05:28:45.3613819Z * [new branch] pr/maka-cu-backend -> origin/pr/maka-cu-backend +2026-09-27T05:28:45.3614311Z * [new branch] pr/maka-cu-default -> origin/pr/maka-cu-default +2026-09-27T05:28:45.3615000Z * [new branch] redesign/plan-form-side-panel -> origin/redesign/plan-form-side-panel +2026-09-27T05:28:45.3615721Z * [new branch] redesign/plan-list-premium -> origin/redesign/plan-list-premium +2026-09-27T05:28:45.3616396Z * [new branch] redesign/plan-reminders-astryx -> origin/redesign/plan-reminders-astryx +2026-09-27T05:28:45.3616981Z * [new branch] redesign/skills-premium -> origin/redesign/skills-premium +2026-09-27T05:28:45.3617537Z * [new branch] redesign/skills-tsx-premium -> origin/redesign/skills-tsx-premium +2026-09-27T05:28:45.3618235Z * [new branch] redesign/subagent-settings-astryx-idiom -> origin/redesign/subagent-settings-astryx-idiom +2026-09-27T05:28:45.3618952Z * [new branch] refactor/2984-converge-archive-state -> origin/refactor/2984-converge-archive-state +2026-09-27T05:28:45.3619711Z * [new branch] refactor/automations-unify-module-page-shell -> origin/refactor/automations-unify-module-page-shell +2026-09-27T05:28:45.3620476Z * [new branch] refactor/benchmark-identity-out-of-dist -> origin/refactor/benchmark-identity-out-of-dist +2026-09-27T05:28:45.3621116Z * [new branch] refactor/bot-chat-astryx -> origin/refactor/bot-chat-astryx +2026-09-27T05:28:45.3621736Z * [new branch] refactor/chat-css-drop-dead-trow-rules -> origin/refactor/chat-css-drop-dead-trow-rules +2026-09-27T05:28:45.3622429Z * [new branch] refactor/claude-card-wechat-astryx -> origin/refactor/claude-card-wechat-astryx +2026-09-27T05:28:45.3623112Z * [new branch] refactor/composer-single-send-toggle -> origin/refactor/composer-single-send-toggle +2026-09-27T05:28:45.3623920Z * [new branch] refactor/composer-workspace-picker-ghost-menu -> origin/refactor/composer-workspace-picker-ghost-menu +2026-09-27T05:28:45.3624856Z * [new branch] refactor/desktop-drop-open-update-download -> origin/refactor/desktop-drop-open-update-download +2026-09-27T05:28:45.3625562Z * [new branch] refactor/eval-shared-execution -> origin/refactor/eval-shared-execution +2026-09-27T05:28:45.3626523Z * [new branch] refactor/incremental-transcript-projection -> origin/refactor/incremental-transcript-projection +2026-09-27T05:28:45.3627358Z * [new branch] refactor/session-workbar-astryx-redesign -> origin/refactor/session-workbar-astryx-redesign +2026-09-27T05:28:45.3628124Z * [new branch] refactor/settings-page-kit-container -> origin/refactor/settings-page-kit-container +2026-09-27T05:28:45.3628802Z * [new branch] refactor/sidebar-update-entry -> origin/refactor/sidebar-update-entry +2026-09-27T05:28:45.3629509Z * [new branch] refactor/slice11-astryx-shell-navigation -> origin/refactor/slice11-astryx-shell-navigation +2026-09-27T05:28:45.3630252Z * [new branch] refactor/typography-astryx-type-scale -> origin/refactor/typography-astryx-type-scale +2026-09-27T05:28:45.3630960Z * [new branch] refactor/ui-bubble-astryx-defaults -> origin/refactor/ui-bubble-astryx-defaults +2026-09-27T05:28:45.3631610Z * [new branch] refactor/ui-composer-chat-input -> origin/refactor/ui-composer-chat-input +2026-09-27T05:28:45.3632292Z * [new branch] refactor/ui-workbar-astryx-resizable -> origin/refactor/ui-workbar-astryx-resizable +2026-09-27T05:28:45.3632910Z * [new branch] release/prepare-0.1.7 -> origin/release/prepare-0.1.7 +2026-09-27T05:28:45.3633435Z * [new branch] release/prepare-0.1.8 -> origin/release/prepare-0.1.8 +2026-09-27T05:28:45.3633960Z * [new branch] release/prepare-0.1.9 -> origin/release/prepare-0.1.9 +2026-09-27T05:28:45.3634657Z * [new branch] research/runtime-host-webrtc-phase0 -> origin/research/runtime-host-webrtc-phase0 +2026-09-27T05:28:45.3635744Z * [new branch] revert-4378-fix/write-stdin-contract-conformance -> origin/revert-4378-fix/write-stdin-contract-conformance +2026-09-27T05:28:45.3636427Z * [new branch] settings/astryx-refactor -> origin/settings/astryx-refactor +2026-09-27T05:28:45.3637041Z * [new branch] site/v0-2-0-incubating-rc1-staging -> origin/site/v0-2-0-incubating-rc1-staging +2026-09-27T05:28:45.3637718Z * [new branch] site/v0-2-0-incubating-rc2-staging -> origin/site/v0-2-0-incubating-rc2-staging +2026-09-27T05:28:45.3638302Z * [new branch] spike/4613-two-sections -> origin/spike/4613-two-sections +2026-09-27T05:28:45.3638967Z * [new branch] stack/4956-session-experience-foundation -> origin/stack/4956-session-experience-foundation +2026-09-27T05:28:45.3639592Z * [new branch] stack/i18n-ko-core -> origin/stack/i18n-ko-core +2026-09-27T05:28:45.3640167Z * [new branch] test/2000-mermaid-toolbar-offset -> origin/test/2000-mermaid-toolbar-offset +2026-09-27T05:28:45.3640825Z * [new branch] test/core-envelope-value-domains -> origin/test/core-envelope-value-domains +2026-09-27T05:28:45.3641566Z * [new branch] test/headless-mount-declaration-authority -> origin/test/headless-mount-declaration-authority +2026-09-27T05:28:45.3642422Z * [new branch] test/transcript-scroll-io-diagnostic -> origin/test/transcript-scroll-io-diagnostic +2026-09-27T05:28:45.3643344Z * [new branch] test/trim-low-value-suites -> origin/test/trim-low-value-suites +2026-09-27T05:28:45.3644257Z * [new branch] test/ui-answer-identity-teeth -> origin/test/ui-answer-identity-teeth +2026-09-27T05:28:45.3645242Z * [new branch] test/windows-repro-probe -> origin/test/windows-repro-probe +2026-09-27T05:28:45.3646210Z * [new branch] worktree-fix-settings-row-wrapping -> origin/worktree-fix-settings-row-wrapping +2026-09-27T05:28:45.3646978Z * [new branch] worktree-permission-overlay-stage2 -> origin/worktree-permission-overlay-stage2 +2026-09-27T05:28:45.3647824Z * [new branch] worktree-permission-scope-key -> origin/worktree-permission-scope-key +2026-09-27T05:28:45.3648609Z * [new branch] worktree-readme-lang-badges -> origin/worktree-readme-lang-badges +2026-09-27T05:28:45.3649174Z * [new branch] yuejing/pr-build-hygiene-0 -> origin/yuejing/pr-build-hygiene-0 +2026-09-27T05:28:45.3649855Z * [new branch] yuejing/pr-daily-review-copy-0 -> origin/yuejing/pr-daily-review-copy-0 +2026-09-27T05:28:45.3650443Z * [new branch] yuejing/pr-security-policy-0 -> origin/yuejing/pr-security-policy-0 +2026-09-27T05:28:45.3650956Z * [new tag] cli-v0.1.0-beta.1 -> cli-v0.1.0-beta.1 +2026-09-27T05:28:45.3651820Z * [new tag] oracle-evidence-d0a2ba154b7907a5d15487d855c07ea2b526bbdcfcb99345fb139f7dfd587c07 -> oracle-evidence-d0a2ba154b7907a5d15487d855c07ea2b526bbdcfcb99345fb139f7dfd587c07 +2026-09-27T05:28:45.3652633Z * [new tag] v0.1.0 -> v0.1.0 +2026-09-27T05:28:45.3653016Z * [new tag] v0.1.1 -> v0.1.1 +2026-09-27T05:28:45.3653453Z * [new tag] v0.1.10 -> v0.1.10 +2026-09-27T05:28:45.3653846Z * [new tag] v0.1.11 -> v0.1.11 +2026-09-27T05:28:45.3654215Z * [new tag] v0.1.2 -> v0.1.2 +2026-09-27T05:28:45.3655108Z * [new tag] v0.1.3 -> v0.1.3 +2026-09-27T05:28:45.3655478Z * [new tag] v0.1.4 -> v0.1.4 +2026-09-27T05:28:45.3655845Z * [new tag] v0.1.5 -> v0.1.5 +2026-09-27T05:28:45.3656209Z * [new tag] v0.1.6 -> v0.1.6 +2026-09-27T05:28:45.3656569Z * [new tag] v0.1.7 -> v0.1.7 +2026-09-27T05:28:45.3656931Z * [new tag] v0.1.8 -> v0.1.8 +2026-09-27T05:28:45.3657292Z * [new tag] v0.1.9 -> v0.1.9 +2026-09-27T05:28:45.3657786Z * [new tag] v0.2.0-dev.10.20260831 -> v0.2.0-dev.10.20260831 +2026-09-27T05:28:45.3658221Z * [new tag] v0.2.0-dev.11.20260831 -> v0.2.0-dev.11.20260831 +2026-09-27T05:28:45.3658649Z * [new tag] v0.2.0-dev.12.20260901 -> v0.2.0-dev.12.20260901 +2026-09-27T05:28:45.3659073Z * [new tag] v0.2.0-dev.15.20260902 -> v0.2.0-dev.15.20260902 +2026-09-27T05:28:45.3659495Z * [new tag] v0.2.0-dev.16.20260903 -> v0.2.0-dev.16.20260903 +2026-09-27T05:28:45.3660018Z * [new tag] v0.2.0-dev.19.20260904 -> v0.2.0-dev.19.20260904 +2026-09-27T05:28:45.3660652Z * [new tag] v0.2.0-dev.20.20260904 -> v0.2.0-dev.20.20260904 +2026-09-27T05:28:45.3661091Z * [new tag] v0.2.0-dev.22.20260905 -> v0.2.0-dev.22.20260905 +2026-09-27T05:28:45.3661514Z * [new tag] v0.2.0-dev.23.20260906 -> v0.2.0-dev.23.20260906 +2026-09-27T05:28:45.3661926Z * [new tag] v0.2.0-dev.25.20260908 -> v0.2.0-dev.25.20260908 +2026-09-27T05:28:45.3662346Z * [new tag] v0.2.0-dev.26.20260909 -> v0.2.0-dev.26.20260909 +2026-09-27T05:28:45.3662753Z * [new tag] v0.2.0-dev.27.20260910 -> v0.2.0-dev.27.20260910 +2026-09-27T05:28:45.3663161Z * [new tag] v0.2.0-dev.28.20260911 -> v0.2.0-dev.28.20260911 +2026-09-27T05:28:45.3663572Z * [new tag] v0.2.0-dev.30.20260912 -> v0.2.0-dev.30.20260912 +2026-09-27T05:28:45.3663989Z * [new tag] v0.2.0-dev.31.20260913 -> v0.2.0-dev.31.20260913 +2026-09-27T05:28:45.3664548Z * [new tag] v0.2.0-dev.35.20260915 -> v0.2.0-dev.35.20260915 +2026-09-27T05:28:45.3665025Z * [new tag] v0.2.0-dev.36.20260915 -> v0.2.0-dev.36.20260915 +2026-09-27T05:28:45.3665448Z * [new tag] v0.2.0-dev.37.20260915 -> v0.2.0-dev.37.20260915 +2026-09-27T05:28:45.3665877Z * [new tag] v0.2.0-dev.38.20260916 -> v0.2.0-dev.38.20260916 +2026-09-27T05:28:45.3666308Z * [new tag] v0.2.0-dev.39.20260916 -> v0.2.0-dev.39.20260916 +2026-09-27T05:28:45.3666749Z * [new tag] v0.2.0-dev.40.20260917 -> v0.2.0-dev.40.20260917 +2026-09-27T05:28:45.3667175Z * [new tag] v0.2.0-dev.41.20260918 -> v0.2.0-dev.41.20260918 +2026-09-27T05:28:45.3667608Z * [new tag] v0.2.0-dev.42.20260918 -> v0.2.0-dev.42.20260918 +2026-09-27T05:28:45.3668042Z * [new tag] v0.2.0-dev.43.20260919 -> v0.2.0-dev.43.20260919 +2026-09-27T05:28:45.3668549Z * [new tag] v0.2.0-dev.44.20260920 -> v0.2.0-dev.44.20260920 +2026-09-27T05:28:45.3668963Z * [new tag] v0.2.0-dev.46.20260922 -> v0.2.0-dev.46.20260922 +2026-09-27T05:28:45.3669371Z * [new tag] v0.2.0-dev.47.20260922 -> v0.2.0-dev.47.20260922 +2026-09-27T05:28:45.3669782Z * [new tag] v0.2.0-dev.48.20260923 -> v0.2.0-dev.48.20260923 +2026-09-27T05:28:45.3670202Z * [new tag] v0.2.0-dev.49.20260924 -> v0.2.0-dev.49.20260924 +2026-09-27T05:28:45.3670612Z * [new tag] v0.2.0-dev.51.20260925 -> v0.2.0-dev.51.20260925 +2026-09-27T05:28:45.3671032Z * [new tag] v0.2.0-dev.52.20260926 -> v0.2.0-dev.52.20260926 +2026-09-27T05:28:45.3671462Z * [new tag] v0.2.0-dev.9.20260831 -> v0.2.0-dev.9.20260831 +2026-09-27T05:28:45.3671898Z * [new tag] v0.2.0-incubating-rc1 -> v0.2.0-incubating-rc1 +2026-09-27T05:28:45.3672341Z * [new tag] v0.2.0-incubating-rc2 -> v0.2.0-incubating-rc2 +2026-09-27T05:28:45.3672821Z * [new ref] 7bfadeae3cbf5c7e2ea368eb3dbdedcb34590feb -> pull/5741/merge +2026-09-27T05:28:45.3674299Z ##[endgroup] +2026-09-27T05:28:45.3674867Z ##[group]Determining the checkout info +2026-09-27T05:28:45.3675342Z ##[endgroup] +2026-09-27T05:28:45.3675643Z [command]/usr/bin/git sparse-checkout disable +2026-09-27T05:28:45.3676486Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig +2026-09-27T05:28:45.3685304Z ##[group]Checking out the ref +2026-09-27T05:28:45.3689193Z [command]/usr/bin/git checkout --progress --force refs/remotes/pull/5741/merge +2026-09-27T05:28:45.8596207Z Note: switching to 'refs/remotes/pull/5741/merge'. +2026-09-27T05:28:45.8596752Z +2026-09-27T05:28:45.8597019Z You are in 'detached HEAD' state. You can look around, make experimental +2026-09-27T05:28:45.8597503Z changes and commit them, and you can discard any commits you make in this +2026-09-27T05:28:45.8598060Z state without impacting any branches by switching back to a branch. +2026-09-27T05:28:45.8598349Z +2026-09-27T05:28:45.8598536Z If you want to create a new branch to retain commits you create, you may +2026-09-27T05:28:45.8599021Z do so (now or later) by using -c with the switch command. Example: +2026-09-27T05:28:45.8599305Z +2026-09-27T05:28:45.8599461Z git switch -c +2026-09-27T05:28:45.8599771Z +2026-09-27T05:28:45.8599956Z Or undo this operation with: +2026-09-27T05:28:45.8600172Z +2026-09-27T05:28:45.8600302Z git switch - +2026-09-27T05:28:45.8600488Z +2026-09-27T05:28:45.8600741Z Turn off this advice by setting config variable advice.detachedHead to false +2026-09-27T05:28:45.8601114Z +2026-09-27T05:28:45.8601536Z HEAD is now at 7bfadeae3 Merge 585a1e3754ed10bf2ed304736b5fbbd7d8780ea2 into d89ccce01ab631d63de2a8986fc76a1960af8dc2 +2026-09-27T05:28:45.8787824Z ##[endgroup] +2026-09-27T05:28:45.8828929Z [command]/usr/bin/git log -1 --format=%H +2026-09-27T05:28:45.8852718Z 7bfadeae3cbf5c7e2ea368eb3dbdedcb34590feb +2026-09-27T05:28:45.8867342Z ##[group]Removing auth +2026-09-27T05:28:45.8867779Z Removing SSH command configuration +2026-09-27T05:28:45.8868576Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand +2026-09-27T05:28:45.8894071Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :" +2026-09-27T05:28:45.9090072Z Removing HTTP extra header +2026-09-27T05:28:45.9094078Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader +2026-09-27T05:28:45.9120472Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :" +2026-09-27T05:28:45.9300950Z Removing includeIf entries pointing to credentials config files +2026-09-27T05:28:45.9304945Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: +2026-09-27T05:28:45.9327133Z includeif.gitdir:/home/runner/work/maka/maka/.git.path +2026-09-27T05:28:45.9327702Z includeif.gitdir:/home/runner/work/maka/maka/.git/worktrees/*.path +2026-09-27T05:28:45.9328077Z includeif.gitdir:/github/workspace/.git.path +2026-09-27T05:28:45.9328485Z includeif.gitdir:/github/workspace/.git/worktrees/*.path +2026-09-27T05:28:45.9334224Z [command]/usr/bin/git config --local --get-all includeif.gitdir:/home/runner/work/maka/maka/.git.path +2026-09-27T05:28:45.9352892Z /home/runner/work/_temp/git-credentials-a745d6d8-6269-4e4a-a47f-690242882e2b.config +2026-09-27T05:28:45.9363698Z [command]/usr/bin/git config --local --unset includeif.gitdir:/home/runner/work/maka/maka/.git.path \/home\/runner\/work\/_temp\/git\-credentials\-a745d6d8\-6269\-4e4a\-a47f\-690242882e2b\.config +2026-09-27T05:28:45.9402558Z [command]/usr/bin/git config --local --get-all includeif.gitdir:/home/runner/work/maka/maka/.git/worktrees/*.path +2026-09-27T05:28:45.9421129Z /home/runner/work/_temp/git-credentials-a745d6d8-6269-4e4a-a47f-690242882e2b.config +2026-09-27T05:28:45.9429060Z [command]/usr/bin/git config --local --unset includeif.gitdir:/home/runner/work/maka/maka/.git/worktrees/*.path \/home\/runner\/work\/_temp\/git\-credentials\-a745d6d8\-6269\-4e4a\-a47f\-690242882e2b\.config +2026-09-27T05:28:45.9458046Z [command]/usr/bin/git config --local --get-all includeif.gitdir:/github/workspace/.git.path +2026-09-27T05:28:45.9476897Z /github/runner_temp/git-credentials-a745d6d8-6269-4e4a-a47f-690242882e2b.config +2026-09-27T05:28:45.9484129Z [command]/usr/bin/git config --local --unset includeif.gitdir:/github/workspace/.git.path \/github\/runner_temp\/git\-credentials\-a745d6d8\-6269\-4e4a\-a47f\-690242882e2b\.config +2026-09-27T05:28:45.9513943Z [command]/usr/bin/git config --local --get-all includeif.gitdir:/github/workspace/.git/worktrees/*.path +2026-09-27T05:28:45.9535978Z /github/runner_temp/git-credentials-a745d6d8-6269-4e4a-a47f-690242882e2b.config +2026-09-27T05:28:45.9543462Z [command]/usr/bin/git config --local --unset includeif.gitdir:/github/workspace/.git/worktrees/*.path \/github\/runner_temp\/git\-credentials\-a745d6d8\-6269\-4e4a\-a47f\-690242882e2b\.config +2026-09-27T05:28:45.9574377Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url +2026-09-27T05:28:45.9751187Z Removing credentials config '/home/runner/work/_temp/git-credentials-a745d6d8-6269-4e4a-a47f-690242882e2b.config' +2026-09-27T05:28:45.9761240Z ##[endgroup] +2026-09-27T05:28:45.9947648Z ##[group]Run # Every diff-based gate must compare the same checked-out tree. +2026-09-27T05:28:45.9948265Z # Every diff-based gate must compare the same checked-out tree. +2026-09-27T05:28:45.9948720Z # PR event bases can predate the main parent of the actual merge. +2026-09-27T05:28:45.9949069Z BASE_SHA="" +2026-09-27T05:28:45.9949347Z HEAD_SHA="$(git rev-parse --verify HEAD)" +2026-09-27T05:28:45.9949694Z if [[ "$CI_EVENT_NAME" == "pull_request" ]]; then +2026-09-27T05:28:45.9950071Z  MERGED_HEAD_SHA="$(git rev-parse --verify 'HEAD^2')" +2026-09-27T05:28:45.9950475Z  if [[ -z "$PR_HEAD_SHA" || "$MERGED_HEAD_SHA" != "$PR_HEAD_SHA" ]]; then +2026-09-27T05:28:45.9950953Z  echo "CI comparison requires the merge of the requested PR head" >&2 +2026-09-27T05:28:45.9951320Z  exit 1 +2026-09-27T05:28:45.9951532Z  fi +2026-09-27T05:28:45.9951824Z  BASE_SHA="$(git rev-parse --verify 'HEAD^1')" +2026-09-27T05:28:45.9952208Z elif [[ "$CI_EVENT_NAME" == "push" && ! "$PUSH_BASE_SHA" =~ ^0+$ ]]; then +2026-09-27T05:28:45.9952578Z  BASE_SHA="$PUSH_BASE_SHA" +2026-09-27T05:28:45.9952821Z fi +2026-09-27T05:28:45.9953112Z printf 'base=%s\nhead=%s\n' "$BASE_SHA" "$HEAD_SHA" >> "$GITHUB_OUTPUT" +2026-09-27T05:28:46.0159415Z shell: /usr/bin/bash -e {0} +2026-09-27T05:28:46.0159711Z env: +2026-09-27T05:28:46.0159935Z CI_EVENT_NAME: pull_request +2026-09-27T05:28:46.0160259Z PUSH_BASE_SHA: fbe79bb310b1ec5c79b05d515dd19ad62106fd9e +2026-09-27T05:28:46.0160621Z PR_HEAD_SHA: 585a1e3754ed10bf2ed304736b5fbbd7d8780ea2 +2026-09-27T05:28:46.0160912Z ##[endgroup] +2026-09-27T05:28:46.0349215Z ##[group]Run # Dispatches, initial pushes and unavailable history select every surface. +2026-09-27T05:28:46.0349801Z # Dispatches, initial pushes and unavailable history select every surface. +2026-09-27T05:28:46.0350273Z if [[ -z "$BASE_SHA" ]] || ! git cat-file -e "${BASE_SHA}^{commit}"; then +2026-09-27T05:28:46.0350699Z  node scripts/ci-test-plan.mjs --full >> "$GITHUB_OUTPUT" +2026-09-27T05:28:46.0351012Z else +2026-09-27T05:28:46.0351378Z  node scripts/ci-test-plan.mjs --base "$BASE_SHA" --head "$HEAD_SHA" >> "$GITHUB_OUTPUT" +2026-09-27T05:28:46.0351764Z fi +2026-09-27T05:28:46.0387625Z shell: /usr/bin/bash -e {0} +2026-09-27T05:28:46.0387895Z env: +2026-09-27T05:28:46.0388162Z BASE_SHA: d89ccce01ab631d63de2a8986fc76a1960af8dc2 +2026-09-27T05:28:46.0388514Z HEAD_SHA: 7bfadeae3cbf5c7e2ea368eb3dbdedcb34590feb +2026-09-27T05:28:46.0388827Z ##[endgroup] +2026-09-27T05:28:46.2224120Z CI test plan: apps/desktop/src/main/__tests__/app-shell-session-ui-state.test.ts, apps/desktop/src/renderer/application/contracts/session-catalog/session-catalog-state.ts, packages/core/src/session.ts, packages/runtime-host/src/__tests__/authenticated-websocket.test.ts, packages/runtime-host/src/__tests__/session-catalog-coordinator.test.ts, packages/runtime-host/src/__tests__/session-catalog-protocol.test.ts, packages/runtime-host/src/__tests__/session-catalog-two-client-uds.test.ts, packages/runtime-host/src/client/session-catalog-summary.ts, packages/runtime-host/src/protocol/index.ts, packages/runtime-host/src/protocol/session-catalog.ts, packages/runtime-host/src/server/session-catalog-coordinator.ts, packages/runtime/src/__tests__/runtime-kernel-interaction.test.ts, packages/runtime/src/runtime-kernel.ts, packages/runtime/src/session-manager.ts +2026-09-27T05:28:46.2339988Z ##[group]Run node --test --test-concurrency=1 scripts/ci-test-plan.test.mjs scripts/ci-workflow-policy.test.mjs scripts/verify-windows-harness.test.mjs scripts/run-workspace-tests-parallel.test.mjs scripts/install-electron-with-retry.test.mjs +2026-09-27T05:28:46.2342371Z node --test --test-concurrency=1 scripts/ci-test-plan.test.mjs scripts/ci-workflow-policy.test.mjs scripts/verify-windows-harness.test.mjs scripts/run-workspace-tests-parallel.test.mjs scripts/install-electron-with-retry.test.mjs +2026-09-27T05:28:46.2400140Z shell: /usr/bin/bash -e {0} +2026-09-27T05:28:46.2400562Z ##[endgroup] +2026-09-27T05:28:46.3667450Z TAP version 13 +2026-09-27T05:28:46.4408487Z # Subtest: documentation-only changes select nothing at all +2026-09-27T05:28:46.4409182Z ok 1 - documentation-only changes select nothing at all +2026-09-27T05:28:46.4409621Z --- +2026-09-27T05:28:46.4409924Z duration_ms: 15.279594 +2026-09-27T05:28:46.4410254Z type: 'test' +2026-09-27T05:28:46.4410675Z ... +2026-09-27T05:28:46.4411094Z # Subtest: documentation inside workspaces selects nothing at all +2026-09-27T05:28:46.4411763Z ok 2 - documentation inside workspaces selects nothing at all +2026-09-27T05:28:46.4412235Z --- +2026-09-27T05:28:46.4412514Z duration_ms: 1.199266 +2026-09-27T05:28:46.4412846Z type: 'test' +2026-09-27T05:28:46.4413102Z ... +2026-09-27T05:28:46.4413534Z # Subtest: the READMEs run the website tests that check their opening sentence +2026-09-27T05:28:46.4414204Z ok 3 - the READMEs run the website tests that check their opening sentence +2026-09-27T05:28:46.4414919Z --- +2026-09-27T05:28:46.4415187Z duration_ms: 0.423004 +2026-09-27T05:28:46.4415475Z type: 'test' +2026-09-27T05:28:46.4415717Z ... +2026-09-27T05:28:46.4416106Z # Subtest: mixed documentation and code changes still select code validation +2026-09-27T05:28:46.4416832Z ok 4 - mixed documentation and code changes still select code validation +2026-09-27T05:28:46.4417339Z --- +2026-09-27T05:28:46.4417627Z duration_ms: 0.306877 +2026-09-27T05:28:46.4417923Z type: 'test' +2026-09-27T05:28:46.4418204Z ... +2026-09-27T05:28:46.4418668Z # Subtest: documentation with a dedicated contract still selects that contract +2026-09-27T05:28:46.4419432Z ok 5 - documentation with a dedicated contract still selects that contract +2026-09-27T05:28:46.4419961Z --- +2026-09-27T05:28:46.4420234Z duration_ms: 0.31314 +2026-09-27T05:28:46.4420566Z type: 'test' +2026-09-27T05:28:46.4420845Z ... +2026-09-27T05:28:46.4421334Z # Subtest: DeepSeek Harness toolchain inputs rebuild its pinned fingerprint +2026-09-27T05:28:46.4424634Z ok 6 - DeepSeek Harness toolchain inputs rebuild its pinned fingerprint +2026-09-27T05:28:46.4425213Z --- +2026-09-27T05:28:46.4425490Z duration_ms: 0.197845 +2026-09-27T05:28:46.4425805Z type: 'test' +2026-09-27T05:28:46.4426079Z ... +2026-09-27T05:28:46.4426965Z # Subtest: changed files are derived from the PR merge base +2026-09-27T05:28:46.4427535Z ok 7 - changed files are derived from the PR merge base +2026-09-27T05:28:46.4427932Z --- +2026-09-27T05:28:46.4428192Z duration_ms: 0.315135 +2026-09-27T05:28:46.4428452Z type: 'test' +2026-09-27T05:28:46.4429435Z ... +2026-09-27T05:28:46.4429795Z # Subtest: type changes remain in the PR-owned delta +2026-09-27T05:28:46.4430283Z ok 8 - type changes remain in the PR-owned delta +2026-09-27T05:28:46.4430682Z --- +2026-09-27T05:28:46.4430941Z duration_ms: 0.218254 +2026-09-27T05:28:46.4431253Z type: 'test' +2026-09-27T05:28:46.4431529Z ... +2026-09-27T05:28:46.4433066Z # Subtest: the Astryx inventory can run without selecting the code suite +2026-09-27T05:28:46.4434138Z ok 9 - the Astryx inventory can run without selecting the code suite +2026-09-27T05:28:46.4434662Z --- +2026-09-27T05:28:46.4434941Z duration_ms: 0.316605 +2026-09-27T05:28:46.4435333Z type: 'test' +2026-09-27T05:28:46.4435718Z ... +2026-09-27T05:28:46.4436087Z # Subtest: desktop renderer changes retain Electron and Storybook coverage +2026-09-27T05:28:46.4436912Z ok 10 - desktop renderer changes retain Electron and Storybook coverage +2026-09-27T05:28:46.4437249Z --- +2026-09-27T05:28:46.4437448Z duration_ms: 0.449066 +2026-09-27T05:28:46.4437659Z type: 'test' +2026-09-27T05:28:46.4437858Z ... +2026-09-27T05:28:46.4438176Z # Subtest: Storybook catalog changes avoid real-window E2E and workspace tests +2026-09-27T05:28:46.4438725Z ok 11 - Storybook catalog changes avoid real-window E2E and workspace tests +2026-09-27T05:28:46.4439281Z --- +2026-09-27T05:28:46.4439539Z duration_ms: 0.162497 +2026-09-27T05:28:46.4439802Z type: 'test' +2026-09-27T05:28:46.4439990Z ... +2026-09-27T05:28:46.4440293Z # Subtest: AX audit contract test edits avoid the Storybook browser pipeline +2026-09-27T05:28:46.4440717Z ok 12 - AX audit contract test edits avoid the Storybook browser pipeline +2026-09-27T05:28:46.4441087Z --- +2026-09-27T05:28:46.4441347Z duration_ms: 0.120949 +2026-09-27T05:28:46.4441614Z type: 'test' +2026-09-27T05:28:46.4441876Z ... +2026-09-27T05:28:46.4442147Z # Subtest: runtime changes retain the dedicated Runtime Host lane +2026-09-27T05:28:46.4442537Z ok 13 - runtime changes retain the dedicated Runtime Host lane +2026-09-27T05:28:46.4442831Z --- +2026-09-27T05:28:46.4443015Z duration_ms: 0.081565 +2026-09-27T05:28:46.4443327Z type: 'test' +2026-09-27T05:28:46.4443579Z ... +2026-09-27T05:28:46.4444015Z # Subtest: CLI release inputs select installed-package validation +2026-09-27T05:28:46.4444578Z ok 14 - CLI release inputs select installed-package validation +2026-09-27T05:28:46.4445070Z --- +2026-09-27T05:28:46.4445361Z duration_ms: 0.056555 +2026-09-27T05:28:46.4445651Z type: 'test' +2026-09-27T05:28:46.4445896Z ... +2026-09-27T05:28:46.4459094Z # Subtest: release metadata selects only the gate that consumes it +2026-09-27T05:28:46.4459715Z ok 15 - release metadata selects only the gate that consumes it +2026-09-27T05:28:46.4460136Z --- +2026-09-27T05:28:46.4460323Z duration_ms: 0.078324 +2026-09-27T05:28:46.4460623Z type: 'test' +2026-09-27T05:28:46.4460881Z ... +2026-09-27T05:28:46.4461211Z # Subtest: source legal authority and generated provenance select the ASF source gate +2026-09-27T05:28:46.4461947Z ok 16 - source legal authority and generated provenance select the ASF source gate +2026-09-27T05:28:46.4464796Z --- +2026-09-27T05:28:46.4465223Z duration_ms: 0.124386 +2026-09-27T05:28:46.4465569Z type: 'test' +2026-09-27T05:28:46.4465839Z ... +2026-09-27T05:28:46.4466267Z # Subtest: release authority changes select their dedicated contract gate +2026-09-27T05:28:46.4466957Z ok 17 - release authority changes select their dedicated contract gate +2026-09-27T05:28:46.4467448Z --- +2026-09-27T05:28:46.4467711Z duration_ms: 0.303424 +2026-09-27T05:28:46.4468000Z type: 'test' +2026-09-27T05:28:46.4468273Z ... +2026-09-27T05:28:46.4468689Z # Subtest: every test a gate script runs reaches a lane that runs that gate +2026-09-27T05:28:46.4473297Z ok 18 - every test a gate script runs reaches a lane that runs that gate +2026-09-27T05:28:46.4473937Z --- +2026-09-27T05:28:46.4474357Z duration_ms: 0.752525 +2026-09-27T05:28:46.4474950Z type: 'test' +2026-09-27T05:28:46.4475353Z ... +2026-09-27T05:28:46.4475854Z # Subtest: the planner names no path that no longer exists +2026-09-27T05:28:46.4476553Z ok 19 - the planner names no path that no longer exists +2026-09-27T05:28:46.4477203Z --- +2026-09-27T05:28:46.4477600Z duration_ms: 6.613191 +2026-09-27T05:28:46.4478043Z type: 'test' +2026-09-27T05:28:46.4478516Z ... +2026-09-27T05:28:46.4480048Z # Subtest: Product Nightly authority changes select the release contract gate +2026-09-27T05:28:46.4481261Z ok 20 - Product Nightly authority changes select the release contract gate +2026-09-27T05:28:46.4495577Z --- +2026-09-27T05:28:46.4496013Z duration_ms: 0.241108 +2026-09-27T05:28:46.4496486Z type: 'test' +2026-09-27T05:28:46.4496898Z ... +2026-09-27T05:28:46.4497446Z # Subtest: both committed third-party notices reach the release gate +2026-09-27T05:28:46.4498263Z ok 21 - both committed third-party notices reach the release gate +2026-09-27T05:28:46.4499100Z --- +2026-09-27T05:28:46.4499500Z duration_ms: 0.146726 +2026-09-27T05:28:46.4500106Z type: 'test' +2026-09-27T05:28:46.4500544Z ... +2026-09-27T05:28:46.4501110Z # Subtest: the notice regression test selects the release gate alone +2026-09-27T05:28:46.4501917Z ok 22 - the notice regression test selects the release gate alone +2026-09-27T05:28:46.4502522Z --- +2026-09-27T05:28:46.4502884Z duration_ms: 0.080242 +2026-09-27T05:28:46.4503290Z type: 'test' +2026-09-27T05:28:46.4503745Z ... +2026-09-27T05:28:46.4504309Z # Subtest: ASF source authority changes select their dedicated gate +2026-09-27T05:28:46.4505368Z ok 23 - ASF source authority changes select their dedicated gate +2026-09-27T05:28:46.4506021Z --- +2026-09-27T05:28:46.4506442Z duration_ms: 0.170857 +2026-09-27T05:28:46.4506886Z type: 'test' +2026-09-27T05:28:46.4507294Z ... +2026-09-27T05:28:46.4507836Z # Subtest: every script that drives the Electron tier selects it +2026-09-27T05:28:46.4508606Z ok 24 - every script that drives the Electron tier selects it +2026-09-27T05:28:46.4509225Z --- +2026-09-27T05:28:46.4509640Z duration_ms: 0.192547 +2026-09-27T05:28:46.4510094Z type: 'test' +2026-09-27T05:28:46.4510505Z ... +2026-09-27T05:28:46.4511113Z # Subtest: shared CLI validation changes select installed-package validation +2026-09-27T05:28:46.4512018Z ok 25 - shared CLI validation changes select installed-package validation +2026-09-27T05:28:46.4512686Z --- +2026-09-27T05:28:46.4513083Z duration_ms: 0.089495 +2026-09-27T05:28:46.4513534Z type: 'test' +2026-09-27T05:28:46.4513960Z ... +2026-09-27T05:28:46.4514667Z # Subtest: desktop-only changes skip installed-package validation +2026-09-27T05:28:46.4515367Z ok 26 - desktop-only changes skip installed-package validation +2026-09-27T05:28:46.4515739Z --- +2026-09-27T05:28:46.4515994Z duration_ms: 0.061353 +2026-09-27T05:28:46.4516277Z type: 'test' +2026-09-27T05:28:46.4516535Z ... +2026-09-27T05:28:46.4516864Z # Subtest: full selection covers every live surface +2026-09-27T05:28:46.4517263Z ok 27 - full selection covers every live surface +2026-09-27T05:28:46.4517594Z --- +2026-09-27T05:28:46.4517852Z duration_ms: 0.091968 +2026-09-27T05:28:46.4518136Z type: 'test' +2026-09-27T05:28:46.4519026Z ... +2026-09-27T05:28:46.4519516Z # Subtest: unknown top-level code fails safe to full selection +2026-09-27T05:28:46.4520171Z ok 28 - unknown top-level code fails safe to full selection +2026-09-27T05:28:46.4520992Z --- +2026-09-27T05:28:46.4521332Z duration_ms: 0.071014 +2026-09-27T05:28:46.4521647Z type: 'test' +2026-09-27T05:28:46.4521931Z ... +2026-09-27T05:28:46.4522373Z # Subtest: a Rust crate with its own admission lane selects no JavaScript surface +2026-09-27T05:28:46.4522996Z ok 29 - a Rust crate with its own admission lane selects no JavaScript surface +2026-09-27T05:28:46.4523523Z --- +2026-09-27T05:28:46.4523776Z duration_ms: 0.099717 +2026-09-27T05:28:46.4524067Z type: 'test' +2026-09-27T05:28:46.4524322Z ... +2026-09-27T05:28:46.4524951Z # Subtest: the direct-peer crate and its lint policy select CLI packaging alone +2026-09-27T05:28:46.4525623Z ok 30 - the direct-peer crate and its lint policy select CLI packaging alone +2026-09-27T05:28:46.4526100Z --- +2026-09-27T05:28:46.4526352Z duration_ms: 0.131738 +2026-09-27T05:28:46.4526640Z type: 'test' +2026-09-27T05:28:46.4526913Z ... +2026-09-27T05:28:46.4527332Z # Subtest: a native root without an admission lane still fails safe to full +2026-09-27T05:28:46.4528006Z ok 31 - a native root without an admission lane still fails safe to full +2026-09-27T05:28:46.4528801Z --- +2026-09-27T05:28:46.4529083Z duration_ms: 0.08454 +2026-09-27T05:28:46.4529404Z type: 'test' +2026-09-27T05:28:46.4529693Z ... +2026-09-27T05:28:46.4530090Z # Subtest: branch protection reaches the suite that parses it +2026-09-27T05:28:46.4530711Z ok 32 - branch protection reaches the suite that parses it +2026-09-27T05:28:46.4531189Z --- +2026-09-27T05:28:46.4531472Z duration_ms: 0.094198 +2026-09-27T05:28:46.4531802Z type: 'test' +2026-09-27T05:28:46.4532187Z ... +2026-09-27T05:28:46.4532677Z # Subtest: a dependency patch keeps the full suite until a consumer map exists +2026-09-27T05:28:46.4533463Z ok 33 - a dependency patch keeps the full suite until a consumer map exists +2026-09-27T05:28:46.4534018Z --- +2026-09-27T05:28:46.4534306Z duration_ms: 0.075012 +2026-09-27T05:28:46.4534819Z type: 'test' +2026-09-27T05:28:46.4535119Z ... +2026-09-27T05:28:46.4535519Z # Subtest: full-suite authority files select every surface +2026-09-27T05:28:46.4536120Z ok 34 - full-suite authority files select every surface +2026-09-27T05:28:46.4536590Z --- +2026-09-27T05:28:46.4536871Z duration_ms: 0.118551 +2026-09-27T05:28:46.4537210Z type: 'test' +2026-09-27T05:28:46.4537507Z ... +2026-09-27T05:28:46.4538072Z # Subtest: a full suite still selects the icon and toolchain gates only from their own inputs +2026-09-27T05:28:46.4538915Z ok 35 - a full suite still selects the icon and toolchain gates only from their own inputs +2026-09-27T05:28:46.4539503Z --- +2026-09-27T05:28:46.4539763Z duration_ms: 0.153223 +2026-09-27T05:28:46.4540083Z type: 'test' +2026-09-27T05:28:46.4540375Z ... +2026-09-27T05:28:46.4540786Z # Subtest: retiring an operation selects the released forward roll +2026-09-27T05:28:46.4541416Z ok 36 - retiring an operation selects the released forward roll +2026-09-27T05:28:46.4541845Z --- +2026-09-27T05:28:46.4542114Z duration_ms: 0.107637 +2026-09-27T05:28:46.4542471Z type: 'test' +2026-09-27T05:28:46.4542764Z ... +2026-09-27T05:28:46.4543164Z # Subtest: a durable-state decoder selects the released forward roll +2026-09-27T05:28:46.4543873Z ok 37 - a durable-state decoder selects the released forward roll +2026-09-27T05:28:46.4544310Z --- +2026-09-27T05:28:46.4544732Z duration_ms: 0.092778 +2026-09-27T05:28:46.4545026Z type: 'test' +2026-09-27T05:28:46.4545265Z ... +2026-09-27T05:28:46.4545646Z # Subtest: a core durable-state decoder selects the released forward roll +2026-09-27T05:28:46.4546316Z ok 38 - a core durable-state decoder selects the released forward roll +2026-09-27T05:28:46.4546685Z --- +2026-09-27T05:28:46.4546881Z duration_ms: 0.070305 +2026-09-27T05:28:46.4547435Z type: 'test' +2026-09-27T05:28:46.4547705Z ... +2026-09-27T05:28:46.4548088Z # Subtest: ordinary changes do not pay for the released forward roll +2026-09-27T05:28:46.4548532Z ok 39 - ordinary changes do not pay for the released forward roll +2026-09-27T05:28:46.4548854Z --- +2026-09-27T05:28:46.4549096Z duration_ms: 0.063218 +2026-09-27T05:28:46.4549389Z type: 'test' +2026-09-27T05:28:46.4549670Z ... +2026-09-27T05:28:46.4550058Z # Subtest: ordinary product code does not pay for app icon drift +2026-09-27T05:28:46.4550658Z ok 40 - ordinary product code does not pay for app icon drift +2026-09-27T05:28:46.4550964Z --- +2026-09-27T05:28:46.4551153Z duration_ms: 0.181713 +2026-09-27T05:28:46.4551400Z type: 'test' +2026-09-27T05:28:46.4551665Z ... +2026-09-27T05:28:46.8875819Z # Subtest: GitHub output matches the selections consumed by CI +2026-09-27T05:28:46.8905696Z ok 41 - GitHub output matches the selections consumed by CI +2026-09-27T05:28:46.8915272Z --- +2026-09-27T05:28:46.8921191Z duration_ms: 3.232358 +2026-09-27T05:28:46.8945095Z type: 'test' +2026-09-27T05:28:46.8957153Z ... +2026-09-27T05:28:46.8957822Z # Subtest: one unconditional job carries the required context on every pull request +2026-09-27T05:28:46.8958686Z ok 42 - one unconditional job carries the required context on every pull request +2026-09-27T05:28:46.8959289Z --- +2026-09-27T05:28:46.8959640Z duration_ms: 0.755173 +2026-09-27T05:28:46.8960430Z type: 'test' +2026-09-27T05:28:46.8960766Z ... +2026-09-27T05:28:46.8961321Z # Subtest: comparison precedes planning and every later gate uses plan outputs +2026-09-27T05:28:46.8962064Z ok 43 - comparison precedes planning and every later gate uses plan outputs +2026-09-27T05:28:46.8962657Z --- +2026-09-27T05:28:46.8962988Z duration_ms: 0.358025 +2026-09-27T05:28:46.8963372Z type: 'test' +2026-09-27T05:28:46.8963718Z ... +2026-09-27T05:28:46.8964689Z # Subtest: core CI validates pull requests and the resulting main branch state +2026-09-27T05:28:46.8965531Z ok 44 - core CI validates pull requests and the resulting main branch state +2026-09-27T05:28:46.8966128Z --- +2026-09-27T05:28:46.8966475Z duration_ms: 0.208298 +2026-09-27T05:28:46.8966863Z type: 'test' +2026-09-27T05:28:46.8967209Z ... +2026-09-27T05:28:46.8967738Z # Subtest: the Desktop e2e tier reaches its servers through the tested runner +2026-09-27T05:28:46.8968502Z ok 45 - the Desktop e2e tier reaches its servers through the tested runner +2026-09-27T05:28:46.8969082Z --- +2026-09-27T05:28:46.8969411Z duration_ms: 0.216704 +2026-09-27T05:28:46.8969775Z type: 'test' +2026-09-27T05:28:46.8970102Z ... +2026-09-27T05:28:46.8970559Z # Subtest: every main commit keeps a concurrency group of its own +2026-09-27T05:28:46.8971209Z ok 46 - every main commit keeps a concurrency group of its own +2026-09-27T05:28:46.8971712Z --- +2026-09-27T05:28:46.8972069Z duration_ms: 0.258656 +2026-09-27T05:28:46.8972461Z type: 'test' +2026-09-27T05:28:46.8972811Z ... +2026-09-27T05:28:46.8973406Z # Subtest: every core diff gate consumes the shared comparison without resolving another base +2026-09-27T05:28:46.8974343Z ok 47 - every core diff gate consumes the shared comparison without resolving another base +2026-09-27T05:28:46.8975266Z --- +2026-09-27T05:28:46.8975593Z duration_ms: 1.034264 +2026-09-27T05:28:46.9005012Z type: 'test' +2026-09-27T05:28:46.9011250Z ... +2026-09-27T05:28:46.9011855Z # Subtest: core CI uses the Windows inventory package-script authority +2026-09-27T05:28:46.9012621Z ok 48 - core CI uses the Windows inventory package-script authority +2026-09-27T05:28:46.9013219Z --- +2026-09-27T05:28:46.9013601Z duration_ms: 0.184325 +2026-09-27T05:28:46.9014019Z type: 'test' +2026-09-27T05:28:46.9014564Z ... +2026-09-27T05:28:46.9015253Z # Subtest: shared comparison drives every diff gate on refreshed merges, pushes and dispatches +2026-09-27T05:28:46.9016304Z ok 49 - shared comparison drives every diff gate on refreshed merges, pushes and dispatches +2026-09-27T05:28:46.9017016Z --- +2026-09-27T05:28:46.9017371Z duration_ms: 153.041875 +2026-09-27T05:28:46.9017753Z type: 'test' +2026-09-27T05:28:46.9018055Z ... +2026-09-27T05:28:46.9018505Z # Subtest: contract checks run before dependency setup and can fail the job +2026-09-27T05:28:46.9019230Z ok 50 - contract checks run before dependency setup and can fail the job +2026-09-27T05:28:46.9019840Z --- +2026-09-27T05:28:46.9020170Z duration_ms: 0.657889 +2026-09-27T05:28:46.9020573Z type: 'test' +2026-09-27T05:28:46.9020875Z ... +2026-09-27T05:28:46.9021447Z # Subtest: every selection that gates a step needing dependencies selects the install +2026-09-27T05:28:46.9022345Z ok 51 - every selection that gates a step needing dependencies selects the install +2026-09-27T05:28:46.9022987Z --- +2026-09-27T05:28:46.9023330Z duration_ms: 163.56618 +2026-09-27T05:28:46.9023693Z type: 'test' +2026-09-27T05:28:46.9024015Z ... +2026-09-27T05:28:46.9024638Z # Subtest: the app icon gate selects every file its own tests open +2026-09-27T05:28:46.9025360Z ok 52 - the app icon gate selects every file its own tests open +2026-09-27T05:28:46.9025866Z --- +2026-09-27T05:28:46.9026196Z duration_ms: 4.727165 +2026-09-27T05:28:46.9026549Z type: 'test' +2026-09-27T05:28:46.9026879Z ... +2026-09-27T05:28:46.9027309Z # Subtest: core CI gates app icon drift on the artwork surface +2026-09-27T05:28:46.9027960Z ok 53 - core CI gates app icon drift on the artwork surface +2026-09-27T05:28:46.9028470Z --- +2026-09-27T05:28:46.9029139Z duration_ms: 0.220935 +2026-09-27T05:28:46.9029510Z type: 'test' +2026-09-27T05:28:46.9029825Z ... +2026-09-27T05:28:46.9030273Z # Subtest: core CI checks the Astryx inventory for every code change before building +2026-09-27T05:28:46.9030900Z ok 54 - core CI checks the Astryx inventory for every code change before building +2026-09-27T05:28:46.9031348Z --- +2026-09-27T05:28:46.9031659Z duration_ms: 0.193312 +2026-09-27T05:28:46.9032014Z type: 'test' +2026-09-27T05:28:46.9032442Z ... +2026-09-27T05:28:46.9032894Z # Subtest: CI installs dependencies whenever the Astryx surface inventory runs +2026-09-27T05:28:46.9033623Z ok 55 - CI installs dependencies whenever the Astryx surface inventory runs +2026-09-27T05:28:46.9034207Z --- +2026-09-27T05:28:46.9034697Z duration_ms: 0.122759 +2026-09-27T05:28:46.9035008Z type: 'test' +2026-09-27T05:28:46.9035315Z ... +2026-09-27T05:28:46.9035758Z # Subtest: core CI validates affected installed CLI packages on the heavy runner +2026-09-27T05:28:46.9036560Z ok 56 - core CI validates affected installed CLI packages on the heavy runner +2026-09-27T05:28:46.9037169Z --- +2026-09-27T05:28:46.9037522Z duration_ms: 0.106853 +2026-09-27T05:28:46.9037916Z type: 'test' +2026-09-27T05:28:46.9038252Z ... +2026-09-27T05:28:46.9038730Z # Subtest: Rust build caches publish immutable source generations only from the default branch +2026-09-27T05:28:46.9039345Z ok 57 - Rust build caches publish immutable source generations only from the default branch +2026-09-27T05:28:46.9039776Z --- +2026-09-27T05:28:46.9040019Z duration_ms: 2.193135 +2026-09-27T05:28:46.9040281Z type: 'test' +2026-09-27T05:28:46.9040527Z ... +2026-09-27T05:28:46.9040815Z # Subtest: release contracts run against built CLI outputs +2026-09-27T05:28:46.9041206Z ok 58 - release contracts run against built CLI outputs +2026-09-27T05:28:46.9041528Z --- +2026-09-27T05:28:46.9041762Z duration_ms: 0.174638 +2026-09-27T05:28:46.9042016Z type: 'test' +2026-09-27T05:28:46.9042252Z ... +2026-09-27T05:28:46.9042557Z # Subtest: pull request triggers stay on an explicit allowlist +2026-09-27T05:28:46.9042988Z ok 59 - pull request triggers stay on an explicit allowlist +2026-09-27T05:28:46.9043331Z --- +2026-09-27T05:28:46.9043570Z duration_ms: 1.74283 +2026-09-27T05:28:46.9043837Z type: 'test' +2026-09-27T05:28:46.9044089Z ... +2026-09-27T05:28:46.9044734Z # Subtest: every pull request lane holds a scarce runner for the same bounded time +2026-09-27T05:28:46.9045556Z ok 60 - every pull request lane holds a scarce runner for the same bounded time +2026-09-27T05:28:46.9046037Z --- +2026-09-27T05:28:46.9046395Z duration_ms: 3.392535 +2026-09-27T05:28:46.9046772Z type: 'test' +2026-09-27T05:28:46.9047113Z ... +2026-09-27T05:28:46.9048293Z # Subtest: the recovery lane pairs its path filter with a nightly run and a main push +2026-09-27T05:28:46.9049405Z ok 61 - the recovery lane pairs its path filter with a nightly run and a main push +2026-09-27T05:28:46.9049874Z --- +2026-09-27T05:28:46.9050119Z duration_ms: 1.075977 +2026-09-27T05:28:46.9050426Z type: 'test' +2026-09-27T05:28:46.9050709Z ... +2026-09-27T05:28:46.9051021Z # Subtest: no lane asks for the one runner label that queues +2026-09-27T05:28:46.9051696Z ok 62 - no lane asks for the one runner label that queues +2026-09-27T05:28:46.9052055Z --- +2026-09-27T05:28:46.9052312Z duration_ms: 1.439876 +2026-09-27T05:28:46.9052577Z type: 'test' +2026-09-27T05:28:46.9052827Z ... +2026-09-27T05:28:46.9053197Z # Subtest: a lane that filters both triggers filters them on the same paths +2026-09-27T05:28:46.9053680Z ok 63 - a lane that filters both triggers filters them on the same paths +2026-09-27T05:28:46.9054072Z --- +2026-09-27T05:28:46.9054323Z duration_ms: 3.139305 +2026-09-27T05:28:46.9054834Z type: 'test' +2026-09-27T05:28:46.9055096Z ... +2026-09-27T05:28:46.9055563Z # Subtest: installed-package validation discards superseded pull request runs +2026-09-27T05:28:46.9056096Z ok 64 - installed-package validation discards superseded pull request runs +2026-09-27T05:28:46.9056756Z --- +2026-09-27T05:28:46.9056999Z duration_ms: 0.24456 +2026-09-27T05:28:46.9057270Z type: 'test' +2026-09-27T05:28:46.9057519Z ... +2026-09-27T05:28:46.9057917Z # Subtest: the recovery lane keeps every run kind out of one shared concurrency group +2026-09-27T05:28:46.9058475Z ok 65 - the recovery lane keeps every run kind out of one shared concurrency group +2026-09-27T05:28:46.9058885Z --- +2026-09-27T05:28:46.9059136Z duration_ms: 0.18508 +2026-09-27T05:28:46.9059525Z type: 'test' +2026-09-27T05:28:46.9059773Z ... +2026-09-27T05:28:46.9060137Z # Subtest: the recovery lane leaves the suites it executes to the required test lane +2026-09-27T05:28:46.9060676Z ok 66 - the recovery lane leaves the suites it executes to the required test lane +2026-09-27T05:28:46.9061090Z --- +2026-09-27T05:28:46.9061332Z duration_ms: 1.088708 +2026-09-27T05:28:46.9061608Z type: 'test' +2026-09-27T05:28:46.9061858Z ... +2026-09-27T05:28:46.9062195Z # Subtest: the recovery lane filter follows the postinstall launcher chain +2026-09-27T05:28:46.9062688Z ok 67 - the recovery lane filter follows the postinstall launcher chain +2026-09-27T05:28:46.9063064Z --- +2026-09-27T05:28:46.9063307Z duration_ms: 0.536624 +2026-09-27T05:28:46.9063588Z type: 'test' +2026-09-27T05:28:46.9063830Z ... +2026-09-27T05:28:46.9064182Z # Subtest: the recovery lane filters pull requests by what only Windows can prove +2026-09-27T05:28:46.9065009Z ok 68 - the recovery lane filters pull requests by what only Windows can prove +2026-09-27T05:28:46.9065535Z --- +2026-09-27T05:28:46.9065804Z duration_ms: 0.274574 +2026-09-27T05:28:46.9066095Z type: 'test' +2026-09-27T05:28:46.9066364Z ... +2026-09-27T05:28:46.9066791Z # Subtest: a filtered pull-request lane can still run when its filter misses +2026-09-27T05:28:46.9067254Z ok 69 - a filtered pull-request lane can still run when its filter misses +2026-09-27T05:28:46.9067589Z --- +2026-09-27T05:28:46.9067778Z duration_ms: 2.341432 +2026-09-27T05:28:46.9067994Z type: 'test' +2026-09-27T05:28:46.9068194Z ... +2026-09-27T05:28:46.9068494Z # Subtest: the packaged Windows gate triggers on release orchestration changes +2026-09-27T05:28:46.9068956Z ok 70 - the packaged Windows gate triggers on release orchestration changes +2026-09-27T05:28:46.9069304Z --- +2026-09-27T05:28:46.9069532Z duration_ms: 0.146137 +2026-09-27T05:28:46.9069747Z type: 'test' +2026-09-27T05:28:46.9069941Z ... +2026-09-27T05:28:46.9070228Z # Subtest: the packaged Windows gate never spells the installer it built +2026-09-27T05:28:46.9070657Z ok 71 - the packaged Windows gate never spells the installer it built +2026-09-27T05:28:46.9070980Z --- +2026-09-27T05:28:46.9071172Z duration_ms: 0.122839 +2026-09-27T05:28:46.9071400Z type: 'test' +2026-09-27T05:28:46.9071599Z ... +2026-09-27T05:28:46.9071909Z # Subtest: the packaged Windows gate workflow is itself a release-contract input +2026-09-27T05:28:46.9072394Z ok 72 - the packaged Windows gate workflow is itself a release-contract input +2026-09-27T05:28:46.9072744Z --- +2026-09-27T05:28:46.9072934Z duration_ms: 0.512336 +2026-09-27T05:28:46.9073151Z type: 'test' +2026-09-27T05:28:46.9073344Z ... +2026-09-27T05:28:46.9073662Z # Subtest: the packaged Windows gate triggers on the worker copy step it cannot import +2026-09-27T05:28:46.9074175Z ok 73 - the packaged Windows gate triggers on the worker copy step it cannot import +2026-09-27T05:28:46.9074623Z --- +2026-09-27T05:28:46.9074810Z duration_ms: 0.118371 +2026-09-27T05:28:46.9075073Z type: 'test' +2026-09-27T05:28:46.9075272Z ... +2026-09-27T05:28:46.9075537Z # Subtest: the packaged Linux gate verifies under a virtual display +2026-09-27T05:28:46.9075934Z ok 74 - the packaged Linux gate verifies under a virtual display +2026-09-27T05:28:46.9076239Z --- +2026-09-27T05:28:46.9076427Z duration_ms: 0.245299 +2026-09-27T05:28:46.9076637Z type: 'test' +2026-09-27T05:28:46.9076828Z ... +2026-09-27T05:28:46.9077140Z # Subtest: pull-request and release lanes share the packaged sandbox lifecycle verifier +2026-09-27T05:28:46.9077772Z ok 75 - pull-request and release lanes share the packaged sandbox lifecycle verifier +2026-09-27T05:28:46.9078125Z --- +2026-09-27T05:28:46.9078315Z duration_ms: 0.312005 +2026-09-27T05:28:46.9078531Z type: 'test' +2026-09-27T05:28:46.9078719Z ... +2026-09-27T05:28:46.9078975Z # Subtest: the Gitoxide gate owns repository admission changes +2026-09-27T05:28:46.9079347Z ok 76 - the Gitoxide gate owns repository admission changes +2026-09-27T05:28:46.9079639Z --- +2026-09-27T05:28:46.9079891Z duration_ms: 0.099708 +2026-09-27T05:28:46.9080096Z type: 'test' +2026-09-27T05:28:46.9080283Z ... +2026-09-27T05:28:46.9080582Z # Subtest: specialized platform workflows stay reachable without pull requests +2026-09-27T05:28:46.9081092Z ok 77 - specialized platform workflows stay reachable without pull requests +2026-09-27T05:28:46.9081437Z --- +2026-09-27T05:28:46.9081628Z duration_ms: 0.235431 +2026-09-27T05:28:46.9081837Z type: 'test' +2026-09-27T05:28:46.9082026Z ... +2026-09-27T05:28:46.9082332Z # Subtest: Windows recovery executes the exact managed dependency ADS regressions +2026-09-27T05:28:46.9082810Z ok 78 - Windows recovery executes the exact managed dependency ADS regressions +2026-09-27T05:28:46.9083155Z --- +2026-09-27T05:28:46.9083338Z duration_ms: 0.147157 +2026-09-27T05:28:46.9083548Z type: 'test' +2026-09-27T05:28:46.9083737Z ... +2026-09-27T05:28:46.9084025Z # Subtest: Windows recovery executes the root initialization replacement race +2026-09-27T05:28:46.9084573Z ok 79 - Windows recovery executes the root initialization replacement race +2026-09-27T05:28:46.9084921Z --- +2026-09-27T05:28:46.9085105Z duration_ms: 0.143169 +2026-09-27T05:28:46.9085315Z type: 'test' +2026-09-27T05:28:46.9085506Z ... +2026-09-27T05:28:46.9085777Z # Subtest: Windows recovery executes the complete Skill catalog suite +2026-09-27T05:28:46.9086179Z ok 80 - Windows recovery executes the complete Skill catalog suite +2026-09-27T05:28:46.9086540Z --- +2026-09-27T05:28:46.9086748Z duration_ms: 0.14931 +2026-09-27T05:28:46.9086966Z type: 'test' +2026-09-27T05:28:46.9087156Z ... +2026-09-27T05:28:46.9087441Z # Subtest: workflows never persist the job credential into the checkout +2026-09-27T05:28:46.9087867Z ok 81 - workflows never persist the job credential into the checkout +2026-09-27T05:28:46.9088190Z --- +2026-09-27T05:28:46.9088373Z duration_ms: 2.029141 +2026-09-27T05:28:46.9088585Z type: 'test' +2026-09-27T05:28:46.9088774Z ... +2026-09-27T05:28:46.9089067Z # Subtest: a pull_request_target checkout is pinned to the trusted base commit +2026-09-27T05:28:46.9089508Z ok 82 - a pull_request_target checkout is pinned to the trusted base commit +2026-09-27T05:28:46.9089837Z --- +2026-09-27T05:28:46.9090021Z duration_ms: 1.69275 +2026-09-27T05:28:46.9090229Z type: 'test' +2026-09-27T05:28:46.9090425Z ... +2026-09-27T05:28:46.9090699Z # Subtest: core CI runs the live Eval proxy lifecycle when Eval is selected +2026-09-27T05:28:46.9091114Z ok 83 - core CI runs the live Eval proxy lifecycle when Eval is selected +2026-09-27T05:28:46.9091434Z --- +2026-09-27T05:28:46.9091626Z duration_ms: 0.265262 +2026-09-27T05:28:46.9091835Z type: 'test' +2026-09-27T05:28:46.9092117Z ... +2026-09-27T05:28:46.9092437Z # Subtest: core CI rebuilds the DeepSeek Harness tree before accepting a new fingerprint +2026-09-27T05:28:46.9092948Z ok 84 - core CI rebuilds the DeepSeek Harness tree before accepting a new fingerprint +2026-09-27T05:28:46.9093319Z --- +2026-09-27T05:28:46.9093510Z duration_ms: 0.159649 +2026-09-27T05:28:46.9093723Z type: 'test' +2026-09-27T05:28:46.9093907Z ... +2026-09-27T05:28:46.9094201Z # Subtest: everything that runs before dependency setup imports only node builtins +2026-09-27T05:28:46.9094751Z ok 85 - everything that runs before dependency setup imports only node builtins +2026-09-27T05:28:46.9095090Z --- +2026-09-27T05:28:46.9095271Z duration_ms: 3.234721 +2026-09-27T05:28:46.9095478Z type: 'test' +2026-09-27T05:28:46.9095663Z ... +2026-09-27T05:28:46.9096000Z # Subtest: every CI run validates the real committed source archive without dependency installation +2026-09-27T05:28:46.9096677Z ok 86 - every CI run validates the real committed source archive without dependency installation +2026-09-27T05:28:46.9097073Z --- +2026-09-27T05:28:46.9097254Z duration_ms: 0.201544 +2026-09-27T05:28:46.9097461Z type: 'test' +2026-09-27T05:28:46.9097647Z ... +2026-09-27T05:28:46.9578312Z # Subtest: waits through a sustained transient Electron download outage +2026-09-27T05:28:46.9598246Z ok 87 - waits through a sustained transient Electron download outage +2026-09-27T05:28:46.9611633Z --- +2026-09-27T05:28:46.9612231Z duration_ms: 1.498983 +2026-09-27T05:28:46.9612659Z type: 'test' +2026-09-27T05:28:46.9613094Z ... +2026-09-27T05:28:47.0125046Z # Subtest: the heaviest workspace is scheduled first +2026-09-27T05:28:47.0126145Z ok 88 - the heaviest workspace is scheduled first +2026-09-27T05:28:47.0126879Z --- +2026-09-27T05:28:47.0127707Z duration_ms: 1.312756 +2026-09-27T05:28:47.0128177Z type: 'test' +2026-09-27T05:28:47.0128557Z ... +2026-09-27T05:28:47.0138177Z # Subtest: a single workspace is never weighed +2026-09-27T05:28:47.0139113Z ok 89 - a single workspace is never weighed +2026-09-27T05:28:47.0139731Z --- +2026-09-27T05:28:47.0140161Z duration_ms: 0.16281 +2026-09-27T05:28:47.0140607Z type: 'test' +2026-09-27T05:28:47.0140994Z ... +2026-09-27T05:28:47.0144341Z # Subtest: equally weighted workspaces keep their declared order +2026-09-27T05:28:47.0145437Z ok 90 - equally weighted workspaces keep their declared order +2026-09-27T05:28:47.0145950Z --- +2026-09-27T05:28:47.0153758Z duration_ms: 0.10782 +2026-09-27T05:28:47.0154559Z type: 'test' +2026-09-27T05:28:47.0155001Z ... +2026-09-27T05:28:47.0155632Z # Subtest: build output and dependencies do not count toward a workspace weight +2026-09-27T05:28:47.0156469Z ok 91 - build output and dependencies do not count toward a workspace weight +2026-09-27T05:28:47.0157326Z --- +2026-09-27T05:28:47.0157740Z duration_ms: 1.940004 +2026-09-27T05:28:47.0158165Z type: 'test' +2026-09-27T05:28:47.0158572Z ... +2026-09-27T05:28:47.0159129Z # Subtest: an unreadable workspace weighs nothing instead of failing the run +2026-09-27T05:28:47.0159913Z ok 92 - an unreadable workspace weighs nothing instead of failing the run +2026-09-27T05:28:47.0160517Z --- +2026-09-27T05:28:47.0160893Z duration_ms: 0.174105 +2026-09-27T05:28:47.0161335Z type: 'test' +2026-09-27T05:28:47.0161729Z ... +2026-09-27T05:28:47.0162128Z # [ws-heavy] start: npm run test:dist +2026-09-27T05:28:47.0162687Z # [ws-heavy] passed +2026-09-27T05:28:47.0175689Z # [ws-light] start: npm run test:dist +2026-09-27T05:28:47.0179337Z # [ws-light] passed +2026-09-27T05:28:47.0190488Z # Subtest: the run queues the heaviest workspace ahead of the lighter one +2026-09-27T05:28:47.0191373Z ok 93 - the run queues the heaviest workspace ahead of the lighter one +2026-09-27T05:28:47.0191992Z --- +2026-09-27T05:28:47.0192370Z duration_ms: 10.234986 +2026-09-27T05:28:47.0192791Z type: 'test' +2026-09-27T05:28:47.0193168Z ... +2026-09-27T05:28:47.2348912Z # Subtest: pins every Phase 4 adversarial category to executable evidence +2026-09-27T05:28:47.2350105Z ok 94 - pins every Phase 4 adversarial category to executable evidence +2026-09-27T05:28:47.2350785Z --- +2026-09-27T05:28:47.2351571Z duration_ms: 28.592802 +2026-09-27T05:28:47.2352049Z type: 'test' +2026-09-27T05:28:47.2352399Z ... +2026-09-27T05:28:47.2353011Z # Subtest: scopes rollback registration reads and deletion to the fixture uninstaller +2026-09-27T05:28:47.2353961Z ok 95 - scopes rollback registration reads and deletion to the fixture uninstaller +2026-09-27T05:28:47.2354749Z --- +2026-09-27T05:28:47.2355065Z duration_ms: 0.498978 +2026-09-27T05:28:47.2355429Z type: 'test' +2026-09-27T05:28:47.2355733Z ... +2026-09-27T05:28:47.2356109Z # Subtest: rendererLayoutMatchesViewport +2026-09-27T05:28:47.2356749Z # Subtest: accepts a renderer tree that covers the maximized viewport +2026-09-27T05:28:47.2357465Z ok 1 - accepts a renderer tree that covers the maximized viewport +2026-09-27T05:28:47.2358304Z --- +2026-09-27T05:28:47.2358601Z duration_ms: 0.278235 +2026-09-27T05:28:47.2358940Z type: 'test' +2026-09-27T05:28:47.2359228Z ... +2026-09-27T05:28:47.2359675Z # Subtest: rejects the stale-height band from the maximize regression +2026-09-27T05:28:47.2360357Z ok 2 - rejects the stale-height band from the maximize regression +2026-09-27T05:28:47.2360830Z --- +2026-09-27T05:28:47.2361102Z duration_ms: 0.130526 +2026-09-27T05:28:47.2361571Z type: 'test' +2026-09-27T05:28:47.2361859Z ... +2026-09-27T05:28:47.2362382Z # Subtest: matches the renderer viewport to native client pixels at the reported scale +2026-09-27T05:28:47.2363218Z ok 3 - matches the renderer viewport to native client pixels at the reported scale +2026-09-27T05:28:47.2363813Z --- +2026-09-27T05:28:47.2364102Z duration_ms: 0.158112 +2026-09-27T05:28:47.2364561Z type: 'test' +2026-09-27T05:28:47.2364862Z ... +2026-09-27T05:28:47.2365317Z # Subtest: accepts proportional native dimensions independently of reported DPR +2026-09-27T05:28:47.2365964Z ok 4 - accepts proportional native dimensions independently of reported DPR +2026-09-27T05:28:47.2366483Z --- +2026-09-27T05:28:47.2366746Z duration_ms: 0.105146 +2026-09-27T05:28:47.2367024Z type: 'test' +2026-09-27T05:28:47.2367284Z ... +2026-09-27T05:28:47.2367696Z # Subtest: rejects a renderer viewport that is stale against the native client +2026-09-27T05:28:47.2368359Z ok 5 - rejects a renderer viewport that is stale against the native client +2026-09-27T05:28:47.2368859Z --- +2026-09-27T05:28:47.2369126Z duration_ms: 0.150787 +2026-09-27T05:28:47.2369455Z type: 'test' +2026-09-27T05:28:47.2369722Z ... +2026-09-27T05:28:47.2369969Z 1..5 +2026-09-27T05:28:47.2370260Z ok 96 - rendererLayoutMatchesViewport +2026-09-27T05:28:47.2370615Z --- +2026-09-27T05:28:47.2370879Z duration_ms: 1.298248 +2026-09-27T05:28:47.2371183Z type: 'suite' +2026-09-27T05:28:47.2371468Z ... +2026-09-27T05:28:47.2371932Z # Subtest: runs packaged sandbox lifecycle evidence against the exact shipped broker +2026-09-27T05:28:47.2372654Z ok 97 - runs packaged sandbox lifecycle evidence against the exact shipped broker +2026-09-27T05:28:47.2373162Z --- +2026-09-27T05:28:47.2373441Z duration_ms: 0.511887 +2026-09-27T05:28:47.2373747Z type: 'test' +2026-09-27T05:28:47.2374012Z ... +2026-09-27T05:28:47.2405619Z # Subtest: uses the product SemVer contract throughout Windows release verification +2026-09-27T05:28:47.2406471Z ok 98 - uses the product SemVer contract throughout Windows release verification +2026-09-27T05:28:47.2407044Z --- +2026-09-27T05:28:47.2407331Z duration_ms: 1.013768 +2026-09-27T05:28:47.2407663Z type: 'test' +2026-09-27T05:28:47.2407947Z ... +2026-09-27T05:28:47.2408452Z # Subtest: reuses the packaged renderer smoke without widening rollback verification +2026-09-27T05:28:47.2409274Z ok 99 - reuses the packaged renderer smoke without widening rollback verification +2026-09-27T05:28:47.2409844Z --- +2026-09-27T05:28:47.2410124Z duration_ms: 6.315393 +2026-09-27T05:28:47.2410416Z type: 'test' +2026-09-27T05:28:47.2410675Z ... +2026-09-27T05:28:47.2620215Z # Subtest: directoryTreeManifest +2026-09-27T05:28:47.2620979Z # Subtest: returns sorted POSIX-relative paths with sha256 content hashes +2026-09-27T05:28:47.2621741Z ok 1 - returns sorted POSIX-relative paths with sha256 content hashes +2026-09-27T05:28:47.2622418Z --- +2026-09-27T05:28:47.2622907Z duration_ms: 21.237835 +2026-09-27T05:28:47.2623319Z type: 'test' +2026-09-27T05:28:47.2623728Z ... +2026-09-27T05:28:47.2636078Z # Subtest: records empty directories so their loss is visible +2026-09-27T05:28:47.2636713Z ok 2 - records empty directories so their loss is visible +2026-09-27T05:28:47.2637067Z --- +2026-09-27T05:28:47.2637311Z duration_ms: 1.812112 +2026-09-27T05:28:47.2637624Z type: 'test' +2026-09-27T05:28:47.2637848Z ... +2026-09-27T05:28:47.2662684Z # Subtest: hashes content, not names: same names different bytes differ +2026-09-27T05:28:47.2663342Z ok 3 - hashes content, not names: same names different bytes differ +2026-09-27T05:28:47.2663767Z --- +2026-09-27T05:28:47.2664066Z duration_ms: 2.702033 +2026-09-27T05:28:47.2664305Z type: 'test' +2026-09-27T05:28:47.2664736Z ... +2026-09-27T05:28:47.2687894Z # Subtest: throws on non-regular entries instead of skipping them +2026-09-27T05:28:47.2688973Z ok 4 - throws on non-regular entries instead of skipping them +2026-09-27T05:28:47.2689666Z --- +2026-09-27T05:28:47.2690140Z duration_ms: 1.373296 +2026-09-27T05:28:47.2690605Z type: 'test' +2026-09-27T05:28:47.2691024Z ... +2026-09-27T05:28:47.2691407Z 1..4 +2026-09-27T05:28:47.2691811Z ok 100 - directoryTreeManifest +2026-09-27T05:28:47.2692275Z --- +2026-09-27T05:28:47.2692749Z duration_ms: 27.453996 +2026-09-27T05:28:47.2693163Z type: 'suite' +2026-09-27T05:28:47.2693451Z ... +2026-09-27T05:28:47.2721814Z # Subtest: diffTreeManifests +2026-09-27T05:28:47.2722257Z # Subtest: identical manifests diff empty +2026-09-27T05:28:47.2722680Z ok 1 - identical manifests diff empty +2026-09-27T05:28:47.2723036Z --- +2026-09-27T05:28:47.2723344Z duration_ms: 0.276567 +2026-09-27T05:28:47.2723571Z type: 'test' +2026-09-27T05:28:47.2723770Z ... +2026-09-27T05:28:47.2745500Z # Subtest: a lost file is missing +2026-09-27T05:28:47.2746242Z ok 2 - a lost file is missing +2026-09-27T05:28:47.2746568Z --- +2026-09-27T05:28:47.2746820Z duration_ms: 0.107394 +2026-09-27T05:28:47.2747093Z type: 'test' +2026-09-27T05:28:47.2747307Z ... +2026-09-27T05:28:47.2747506Z # Subtest: a new file is extra +2026-09-27T05:28:47.2747754Z ok 3 - a new file is extra +2026-09-27T05:28:47.2747973Z --- +2026-09-27T05:28:47.2748162Z duration_ms: 0.09368 +2026-09-27T05:28:47.2748376Z type: 'test' +2026-09-27T05:28:47.2748573Z ... +2026-09-27T05:28:47.2748822Z # Subtest: different bytes at the same path are changed +2026-09-27T05:28:47.2749169Z ok 4 - different bytes at the same path are changed +2026-09-27T05:28:47.2749441Z --- +2026-09-27T05:28:47.2749629Z duration_ms: 0.079992 +2026-09-27T05:28:47.2749903Z type: 'test' +2026-09-27T05:28:47.2750093Z ... +2026-09-27T05:28:47.2750306Z # Subtest: a lost empty directory is missing +2026-09-27T05:28:47.2750598Z ok 5 - a lost empty directory is missing +2026-09-27T05:28:47.2750857Z --- +2026-09-27T05:28:47.2751049Z duration_ms: 0.066005 +2026-09-27T05:28:47.2751275Z type: 'test' +2026-09-27T05:28:47.2751465Z ... +2026-09-27T05:28:47.2751637Z 1..5 +2026-09-27T05:28:47.2751830Z ok 101 - diffTreeManifests +2026-09-27T05:28:47.2752044Z --- +2026-09-27T05:28:47.2752231Z duration_ms: 0.783097 +2026-09-27T05:28:47.2752440Z type: 'suite' +2026-09-27T05:28:47.2752628Z ... +2026-09-27T05:28:48.1823264Z # Subtest: runCommand +2026-09-27T05:28:48.1823854Z # Subtest: kills the child and rejects when timeoutMs elapses +2026-09-27T05:28:48.1824578Z ok 1 - kills the child and rejects when timeoutMs elapses +2026-09-27T05:28:48.1825068Z --- +2026-09-27T05:28:48.1825535Z duration_ms: 911.445721 +2026-09-27T05:28:48.1825947Z type: 'test' +2026-09-27T05:28:48.1826420Z ... +2026-09-27T05:28:48.2527913Z # Subtest: resolves stdout for a completing command without a timeout +2026-09-27T05:28:48.2545903Z ok 2 - resolves stdout for a completing command without a timeout +2026-09-27T05:28:48.2555201Z --- +2026-09-27T05:28:48.2565669Z duration_ms: 27.073274 +2026-09-27T05:28:48.2566599Z type: 'test' +2026-09-27T05:28:48.2567021Z ... +2026-09-27T05:28:48.2567342Z 1..2 +2026-09-27T05:28:48.2567649Z ok 102 - runCommand +2026-09-27T05:28:48.2567993Z --- +2026-09-27T05:28:48.2568308Z duration_ms: 938.746703 +2026-09-27T05:28:48.2568665Z type: 'suite' +2026-09-27T05:28:48.2568990Z ... +2026-09-27T05:28:48.2569345Z # Subtest: waitForDevToolsPort +2026-09-27T05:28:48.2570226Z # Subtest: resolves the announced port +2026-09-27T05:28:48.2570724Z ok 1 - resolves the announced port +2026-09-27T05:28:48.2571149Z --- +2026-09-27T05:28:48.2571462Z duration_ms: 0.77577 +2026-09-27T05:28:48.2571843Z type: 'test' +2026-09-27T05:28:48.2572185Z ... +2026-09-27T05:28:48.2572618Z # Subtest: rejects when the child exits before announcing +2026-09-27T05:28:48.2573362Z ok 2 - rejects when the child exits before announcing +2026-09-27T05:28:48.2573852Z --- +2026-09-27T05:28:48.2574174Z duration_ms: 0.248597 +2026-09-27T05:28:48.2574674Z type: 'test' +2026-09-27T05:28:48.2574984Z ... +2026-09-27T05:28:48.2575268Z 1..2 +2026-09-27T05:28:48.2575658Z ok 103 - waitForDevToolsPort +2026-09-27T05:28:48.2576027Z --- +2026-09-27T05:28:48.2576330Z duration_ms: 1.170809 +2026-09-27T05:28:48.2576669Z type: 'suite' +2026-09-27T05:28:48.2576980Z ... +2026-09-27T05:28:48.7352082Z # Subtest: findRendererTarget +2026-09-27T05:28:48.7353256Z # Subtest: waits past startup, blank and dialog targets for the packaged main entry +2026-09-27T05:28:48.7354346Z ok 1 - waits past startup, blank and dialog targets for the packaged main entry +2026-09-27T05:28:48.7355304Z --- +2026-09-27T05:28:48.7355757Z duration_ms: 523.758462 +2026-09-27T05:28:48.7356218Z type: 'test' +2026-09-27T05:28:48.7356642Z ... +2026-09-27T05:28:48.7357070Z 1..1 +2026-09-27T05:28:48.7385613Z ok 104 - findRendererTarget +2026-09-27T05:28:48.7405319Z --- +2026-09-27T05:28:48.7405664Z duration_ms: 523.895269 +2026-09-27T05:28:48.7406004Z type: 'suite' +2026-09-27T05:28:48.7406263Z ... +2026-09-27T05:28:48.7406476Z # Subtest: waitForUsableRenderer +2026-09-27T05:28:48.7406798Z # Subtest: fails fast when the child is already dead +2026-09-27T05:28:48.7407134Z ok 1 - fails fast when the child is already dead +2026-09-27T05:28:48.7407407Z --- +2026-09-27T05:28:48.7407603Z duration_ms: 1.758227 +2026-09-27T05:28:48.7407852Z type: 'test' +2026-09-27T05:28:48.7408050Z ... +2026-09-27T05:28:49.4895640Z # Subtest: retries failed probes and fails only at the deadline +2026-09-27T05:28:49.4896297Z ok 2 - retries failed probes and fails only at the deadline +2026-09-27T05:28:49.4897090Z --- +2026-09-27T05:28:49.4897774Z duration_ms: 752.800186 +2026-09-27T05:28:49.4898084Z type: 'test' +2026-09-27T05:28:49.4898309Z ... +2026-09-27T05:28:49.6918386Z # Subtest: caps a half-open WebSocket probe to the remaining deadline budget +2026-09-27T05:28:49.6923669Z ok 3 - caps a half-open WebSocket probe to the remaining deadline budget +2026-09-27T05:28:49.6924650Z --- +2026-09-27T05:28:49.6925079Z duration_ms: 203.797349 +2026-09-27T05:28:49.6925543Z type: 'test' +2026-09-27T05:28:49.6925936Z ... +2026-09-27T05:28:49.6926302Z 1..3 +2026-09-27T05:28:49.6926701Z ok 105 - waitForUsableRenderer +2026-09-27T05:28:49.6927157Z --- +2026-09-27T05:28:49.6927554Z duration_ms: 958.682832 +2026-09-27T05:28:49.6928005Z type: 'suite' +2026-09-27T05:28:49.6928378Z ... +2026-09-27T05:28:49.7026043Z # Subtest: waitForInstalledProcessesToExit +2026-09-27T05:28:49.7026595Z # Subtest: returns once an enumeration reports no processes +2026-09-27T05:28:49.7026983Z ok 1 - returns once an enumeration reports no processes +2026-09-27T05:28:49.7027281Z --- +2026-09-27T05:28:49.7027487Z duration_ms: 10.828845 +2026-09-27T05:28:49.7027725Z type: 'test' +2026-09-27T05:28:49.7027949Z ... +2026-09-27T05:28:49.9086146Z # Subtest: never treats a failed enumeration as empty: rejects at the deadline +2026-09-27T05:28:49.9087066Z ok 2 - never treats a failed enumeration as empty: rejects at the deadline +2026-09-27T05:28:49.9087691Z --- +2026-09-27T05:28:49.9088007Z duration_ms: 205.099131 +2026-09-27T05:28:49.9088392Z type: 'test' +2026-09-27T05:28:49.9088711Z ... +2026-09-27T05:28:49.9088999Z 1..2 +2026-09-27T05:28:49.9089341Z ok 106 - waitForInstalledProcessesToExit +2026-09-27T05:28:49.9090283Z --- +2026-09-27T05:28:49.9090611Z duration_ms: 216.196481 +2026-09-27T05:28:49.9090980Z type: 'suite' +2026-09-27T05:28:49.9091285Z ... +2026-09-27T05:28:49.9091588Z # Subtest: listInstalledProcesses +2026-09-27T05:28:49.9092037Z # Subtest: bounds a WMI round to ten seconds so polling can retry +2026-09-27T05:28:49.9092464Z ok 1 - bounds a WMI round to ten seconds so polling can retry +2026-09-27T05:28:49.9092932Z --- +2026-09-27T05:28:49.9093380Z duration_ms: 0.328337 +2026-09-27T05:28:49.9093763Z type: 'test' +2026-09-27T05:28:49.9094287Z ... +2026-09-27T05:28:49.9095045Z 1..1 +2026-09-27T05:28:49.9095608Z ok 107 - listInstalledProcesses +2026-09-27T05:28:49.9095941Z --- +2026-09-27T05:28:49.9096199Z duration_ms: 0.396001 +2026-09-27T05:28:49.9096488Z type: 'suite' +2026-09-27T05:28:49.9096748Z ... +2026-09-27T05:28:49.9193814Z # Subtest: waitForInstalledProcessAppearance +2026-09-27T05:28:49.9205381Z # Subtest: survives a failed probe and returns the later successful match +2026-09-27T05:28:49.9206256Z ok 1 - survives a failed probe and returns the later successful match +2026-09-27T05:28:49.9206807Z --- +2026-09-27T05:28:49.9207123Z duration_ms: 10.72112 +2026-09-27T05:28:49.9207486Z type: 'test' +2026-09-27T05:28:49.9207832Z ... +2026-09-27T05:28:49.9208311Z # Subtest: matches by executable basename, case-insensitively +2026-09-27T05:28:49.9208972Z ok 2 - matches by executable basename, case-insensitively +2026-09-27T05:28:49.9209460Z --- +2026-09-27T05:28:49.9209757Z duration_ms: 0.247786 +2026-09-27T05:28:49.9210098Z type: 'test' +2026-09-27T05:28:49.9210402Z ... +2026-09-27T05:28:50.0736415Z # Subtest: reports the last probe error only when no later enumeration succeeds +2026-09-27T05:28:50.0737287Z ok 3 - reports the last probe error only when no later enumeration succeeds +2026-09-27T05:28:50.0737789Z --- +2026-09-27T05:28:50.0738011Z duration_ms: 153.56986 +2026-09-27T05:28:50.0738286Z type: 'test' +2026-09-27T05:28:50.0738514Z ... +2026-09-27T05:28:50.0738713Z 1..3 +2026-09-27T05:28:50.0738948Z ok 108 - waitForInstalledProcessAppearance +2026-09-27T05:28:50.0739249Z --- +2026-09-27T05:28:50.0739465Z duration_ms: 164.816784 +2026-09-27T05:28:50.0739706Z type: 'suite' +2026-09-27T05:28:50.0739918Z ... +2026-09-27T05:28:50.0760761Z # Subtest: waitForInstalledProductVersion +2026-09-27T05:28:50.0761518Z # Subtest: retries a stalled PowerShell read within the outer deadline +2026-09-27T05:28:50.0762260Z ok 1 - retries a stalled PowerShell read within the outer deadline +2026-09-27T05:28:50.0762818Z --- +2026-09-27T05:28:50.0763143Z duration_ms: 2.14626 +2026-09-27T05:28:50.0763498Z type: 'test' +2026-09-27T05:28:50.0763815Z ... +2026-09-27T05:28:50.0764100Z 1..1 +2026-09-27T05:28:50.0764552Z ok 109 - waitForInstalledProductVersion +2026-09-27T05:28:50.0764950Z --- +2026-09-27T05:28:50.0765257Z duration_ms: 2.280276 +2026-09-27T05:28:50.0765616Z type: 'suite' +2026-09-27T05:28:50.0765911Z ... +2026-09-27T05:28:50.0780551Z # Subtest: terminateInstalledProcesses +2026-09-27T05:28:50.0781753Z # Subtest: tolerates exit 128 and an overrun kill, then proves exit +2026-09-27T05:28:50.0782510Z ok 1 - tolerates exit 128 and an overrun kill, then proves exit +2026-09-27T05:28:50.0783113Z --- +2026-09-27T05:28:50.0783832Z duration_ms: 0.39196 +2026-09-27T05:28:50.0784236Z type: 'test' +2026-09-27T05:28:50.0784796Z ... +2026-09-27T05:28:50.0785315Z # Subtest: lets the exit proof decide after any taskkill mechanism failure +2026-09-27T05:28:50.0786084Z ok 2 - lets the exit proof decide after any taskkill mechanism failure +2026-09-27T05:28:50.0786645Z --- +2026-09-27T05:28:50.0786915Z duration_ms: 0.115547 +2026-09-27T05:28:50.0787224Z type: 'test' +2026-09-27T05:28:50.0787507Z ... +2026-09-27T05:28:50.0787991Z # Subtest: reports the exit proof and taskkill failures together when residue remains +2026-09-27T05:28:50.0789158Z ok 3 - reports the exit proof and taskkill failures together when residue remains +2026-09-27T05:28:50.0789731Z --- +2026-09-27T05:28:50.0790014Z duration_ms: 0.225322 +2026-09-27T05:28:50.0790342Z type: 'test' +2026-09-27T05:28:50.0790633Z ... +2026-09-27T05:28:50.0805508Z # Subtest: retries a transient enumeration failure before killing and proving exit +2026-09-27T05:28:50.0806677Z ok 4 - retries a transient enumeration failure before killing and proving exit +2026-09-27T05:28:50.0807321Z --- +2026-09-27T05:28:50.0807683Z duration_ms: 3.728693 +2026-09-27T05:28:50.0808093Z type: 'test' +2026-09-27T05:28:50.0808443Z ... +2026-09-27T05:28:50.0808770Z 1..4 +2026-09-27T05:28:50.0809156Z ok 110 - terminateInstalledProcesses +2026-09-27T05:28:50.0809611Z --- +2026-09-27T05:28:50.0809949Z duration_ms: 4.665567 +2026-09-27T05:28:50.0810315Z type: 'suite' +2026-09-27T05:28:50.0810647Z ... +2026-09-27T05:28:50.0811061Z # Subtest: completeInstalledApplicationUninstall +2026-09-27T05:28:50.0811773Z # Subtest: runs the uninstaller and waits for both cleanup barriers in order +2026-09-27T05:28:50.0812547Z ok 1 - runs the uninstaller and waits for both cleanup barriers in order +2026-09-27T05:28:50.0813131Z --- +2026-09-27T05:28:50.0813481Z duration_ms: 0.264342 +2026-09-27T05:28:50.0814051Z type: 'test' +2026-09-27T05:28:50.0814324Z ... +2026-09-27T05:28:50.0815036Z # Subtest: still proves both barriers when a detached uninstaller is already gone +2026-09-27T05:28:50.0815539Z ok 2 - still proves both barriers when a detached uninstaller is already gone +2026-09-27T05:28:50.0815893Z --- +2026-09-27T05:28:50.0816097Z duration_ms: 0.125815 +2026-09-27T05:28:50.0816325Z type: 'test' +2026-09-27T05:28:50.0816524Z ... +2026-09-27T05:28:50.0816706Z 1..2 +2026-09-27T05:28:50.0816940Z ok 111 - completeInstalledApplicationUninstall +2026-09-27T05:28:50.0817217Z --- +2026-09-27T05:28:50.0817428Z duration_ms: 0.454013 +2026-09-27T05:28:50.0817643Z type: 'suite' +2026-09-27T05:28:50.0817832Z ... +2026-09-27T05:28:50.0915105Z # Subtest: waitForUninstallRegistrationToClear +2026-09-27T05:28:50.0915686Z # Subtest: returns once the registration reads empty +2026-09-27T05:28:50.0916176Z ok 1 - returns once the registration reads empty +2026-09-27T05:28:50.0916479Z --- +2026-09-27T05:28:50.0916704Z duration_ms: 10.685054 +2026-09-27T05:28:50.0916959Z type: 'test' +2026-09-27T05:28:50.0917203Z ... +2026-09-27T05:28:50.2446051Z # Subtest: reports the lingering registration at the deadline +2026-09-27T05:28:50.2446687Z ok 2 - reports the lingering registration at the deadline +2026-09-27T05:28:50.2446987Z --- +2026-09-27T05:28:50.2447191Z duration_ms: 152.956091 +2026-09-27T05:28:50.2447421Z type: 'test' +2026-09-27T05:28:50.2447627Z ... +2026-09-27T05:28:50.3970888Z # Subtest: tolerates probe failures but rejects with them at the deadline +2026-09-27T05:28:50.3971640Z ok 3 - tolerates probe failures but rejects with them at the deadline +2026-09-27T05:28:50.3972099Z --- +2026-09-27T05:28:50.3972558Z duration_ms: 152.279049 +2026-09-27T05:28:50.3973036Z type: 'test' +2026-09-27T05:28:50.3973421Z ... +2026-09-27T05:28:50.3973836Z 1..3 +2026-09-27T05:28:50.3978534Z ok 112 - waitForUninstallRegistrationToClear +2026-09-27T05:28:50.3978939Z --- +2026-09-27T05:28:50.3979420Z duration_ms: 316.21223 +2026-09-27T05:28:50.3979831Z type: 'suite' +2026-09-27T05:28:50.3980262Z ... +2026-09-27T05:28:50.4099463Z 1..112 +2026-09-27T05:28:50.4099784Z # tests 136 +2026-09-27T05:28:50.4100020Z # suites 14 +2026-09-27T05:28:50.4100251Z # pass 136 +2026-09-27T05:28:50.4100441Z # fail 0 +2026-09-27T05:28:50.4100624Z # cancelled 0 +2026-09-27T05:28:50.4100821Z # skipped 0 +2026-09-27T05:28:50.4100998Z # todo 0 +2026-09-27T05:28:50.4101192Z # duration_ms 4076.007169 +2026-09-27T05:28:50.4181684Z ##[group]Run node --test --test-concurrency=1 scripts/pr-effort.test.mjs +2026-09-27T05:28:50.4182278Z node --test --test-concurrency=1 scripts/pr-effort.test.mjs +2026-09-27T05:28:50.4221722Z shell: /usr/bin/bash -e {0} +2026-09-27T05:28:50.4221995Z ##[endgroup] +2026-09-27T05:28:50.4663036Z TAP version 13 +2026-09-27T05:28:50.5064648Z # Subtest: tier boundaries +2026-09-27T05:28:50.5065240Z # Subtest: places each tier on its inclusive upper bound +2026-09-27T05:28:50.5075481Z ok 1 - places each tier on its inclusive upper bound +2026-09-27T05:28:50.5095493Z --- +2026-09-27T05:28:50.5095891Z duration_ms: 2.099471 +2026-09-27T05:28:50.5096321Z type: 'test' +2026-09-27T05:28:50.5096658Z ... +2026-09-27T05:28:50.5097045Z # Subtest: counts additions and deletions together +2026-09-27T05:28:50.5097583Z ok 2 - counts additions and deletions together +2026-09-27T05:28:50.5098035Z --- +2026-09-27T05:28:50.5098345Z duration_ms: 0.137296 +2026-09-27T05:28:50.5098810Z type: 'test' +2026-09-27T05:28:50.5099115Z ... +2026-09-27T05:28:50.5099548Z # Subtest: treats an empty pull request as the smallest tier +2026-09-27T05:28:50.5100186Z ok 3 - treats an empty pull request as the smallest tier +2026-09-27T05:28:50.5100643Z --- +2026-09-27T05:28:50.5100955Z duration_ms: 0.15438 +2026-09-27T05:28:50.5101311Z type: 'test' +2026-09-27T05:28:50.5101633Z ... +2026-09-27T05:28:50.5101872Z 1..3 +2026-09-27T05:28:50.5102155Z ok 1 - tier boundaries +2026-09-27T05:28:50.5102428Z --- +2026-09-27T05:28:50.5102680Z duration_ms: 3.20394 +2026-09-27T05:28:50.5102985Z type: 'suite' +2026-09-27T05:28:50.5103240Z ... +2026-09-27T05:28:50.5103533Z # Subtest: unread paths +2026-09-27T05:28:50.5103941Z # Subtest: excludes every lockfile format in the tree +2026-09-27T05:28:50.5104633Z ok 1 - excludes every lockfile format in the tree +2026-09-27T05:28:50.5105125Z --- +2026-09-27T05:28:50.5105464Z duration_ms: 0.275521 +2026-09-27T05:28:50.5105825Z type: 'test' +2026-09-27T05:28:50.5106125Z ... +2026-09-27T05:28:50.5106509Z # Subtest: excludes both spellings the notice generator emits +2026-09-27T05:28:50.5107041Z ok 2 - excludes both spellings the notice generator emits +2026-09-27T05:28:50.5107436Z --- +2026-09-27T05:28:50.5107712Z duration_ms: 0.109549 +2026-09-27T05:28:50.5108027Z type: 'test' +2026-09-27T05:28:50.5108291Z ... +2026-09-27T05:28:50.5108667Z # Subtest: excludes generated sources, snapshots and binaries +2026-09-27T05:28:50.5109221Z ok 3 - excludes generated sources, snapshots and binaries +2026-09-27T05:28:50.5109693Z --- +2026-09-27T05:28:50.5109965Z duration_ms: 0.101892 +2026-09-27T05:28:50.5110295Z type: 'test' +2026-09-27T05:28:50.5110566Z ... +2026-09-27T05:28:50.5110865Z # Subtest: normalizes Windows separators +2026-09-27T05:28:50.5111285Z ok 4 - normalizes Windows separators +2026-09-27T05:28:50.5111655Z --- +2026-09-27T05:28:50.5111936Z duration_ms: 0.169246 +2026-09-27T05:28:50.5112254Z type: 'test' +2026-09-27T05:28:50.5112535Z ... +2026-09-27T05:28:50.5112952Z # Subtest: keeps hand-authored sources, including tests and locale copy +2026-09-27T05:28:50.5113631Z ok 5 - keeps hand-authored sources, including tests and locale copy +2026-09-27T05:28:50.5114123Z --- +2026-09-27T05:28:50.5114567Z duration_ms: 0.219521 +2026-09-27T05:28:50.5114919Z type: 'test' +2026-09-27T05:28:50.5115187Z ... +2026-09-27T05:28:50.5115592Z # Subtest: keeps a dependency bump at the tier its readable diff earns +2026-09-27T05:28:50.5116189Z ok 6 - keeps a dependency bump at the tier its readable diff earns +2026-09-27T05:28:50.5116644Z --- +2026-09-27T05:28:50.5116892Z duration_ms: 0.184529 +2026-09-27T05:28:50.5117292Z type: 'test' +2026-09-27T05:28:50.5117568Z ... +2026-09-27T05:28:50.5117837Z 1..6 +2026-09-27T05:28:50.5118106Z ok 2 - unread paths +2026-09-27T05:28:50.5118856Z --- +2026-09-27T05:28:50.5119151Z duration_ms: 1.520451 +2026-09-27T05:28:50.5119468Z type: 'suite' +2026-09-27T05:28:50.5119873Z ... +2026-09-27T05:28:50.5120206Z # Subtest: label planning +2026-09-27T05:28:50.5135714Z # Subtest: adds the tier and leaves unrelated labels alone +2026-09-27T05:28:50.5136549Z ok 1 - adds the tier and leaves unrelated labels alone +2026-09-27T05:28:50.5137112Z --- +2026-09-27T05:28:50.5137792Z duration_ms: 0.714996 +2026-09-27T05:28:50.5138234Z type: 'test' +2026-09-27T05:28:50.5138569Z ... +2026-09-27T05:28:50.5138957Z # Subtest: replaces a tier the pull request has outgrown +2026-09-27T05:28:50.5139477Z ok 2 - replaces a tier the pull request has outgrown +2026-09-27T05:28:50.5139869Z --- +2026-09-27T05:28:50.5140170Z duration_ms: 0.104286 +2026-09-27T05:28:50.5140486Z type: 'test' +2026-09-27T05:28:50.5140781Z ... +2026-09-27T05:28:50.5141115Z # Subtest: collapses duplicate tiers left by an earlier run +2026-09-27T05:28:50.5141686Z ok 3 - collapses duplicate tiers left by an earlier run +2026-09-27T05:28:50.5142107Z --- +2026-09-27T05:28:50.5142395Z duration_ms: 0.073563 +2026-09-27T05:28:50.5142710Z type: 'test' +2026-09-27T05:28:50.5143012Z ... +2026-09-27T05:28:50.5143410Z # Subtest: is idempotent once the tier already matches +2026-09-27T05:28:50.5143926Z ok 4 - is idempotent once the tier already matches +2026-09-27T05:28:50.5144244Z --- +2026-09-27T05:28:50.5144653Z duration_ms: 0.063018 +2026-09-27T05:28:50.5144902Z type: 'test' +2026-09-27T05:28:50.5145167Z ... +2026-09-27T05:28:50.5145360Z 1..4 +2026-09-27T05:28:50.5145584Z ok 3 - label planning +2026-09-27T05:28:50.5145804Z --- +2026-09-27T05:28:50.5145996Z duration_ms: 1.08698 +2026-09-27T05:28:50.5146285Z type: 'suite' +2026-09-27T05:28:50.5146538Z ... +2026-09-27T05:28:50.5189213Z 1..3 +2026-09-27T05:28:50.5189529Z # tests 13 +2026-09-27T05:28:50.5189813Z # suites 3 +2026-09-27T05:28:50.5190082Z # pass 13 +2026-09-27T05:28:50.5190412Z # fail 0 +2026-09-27T05:28:50.5190687Z # cancelled 0 +2026-09-27T05:28:50.5191025Z # skipped 0 +2026-09-27T05:28:50.5191462Z # todo 0 +2026-09-27T05:28:50.5191908Z # duration_ms 62.868999 +2026-09-27T05:28:50.5261208Z ##[group]Run node --test --test-concurrency=1 scripts/issue-pr-lifecycle.test.mjs +2026-09-27T05:28:50.5261749Z node --test --test-concurrency=1 scripts/issue-pr-lifecycle.test.mjs +2026-09-27T05:28:50.5300834Z shell: /usr/bin/bash -e {0} +2026-09-27T05:28:50.5301101Z ##[endgroup] +2026-09-27T05:28:50.5719681Z TAP version 13 +2026-09-27T05:28:50.6128036Z # Subtest: issue lifecycle +2026-09-27T05:28:50.6128674Z # Subtest: warns at the 30-day inactivity boundary +2026-09-27T05:28:50.6141229Z ok 1 - warns at the 30-day inactivity boundary +2026-09-27T05:28:50.6142373Z --- +2026-09-27T05:28:50.6143209Z duration_ms: 1.849663 +2026-09-27T05:28:50.6143903Z type: 'test' +2026-09-27T05:28:50.6144317Z ... +2026-09-27T05:28:50.6144938Z # Subtest: uses the latest human comment as activity +2026-09-27T05:28:50.6145707Z ok 2 - uses the latest human comment as activity +2026-09-27T05:28:50.6146348Z --- +2026-09-27T05:28:50.6146925Z duration_ms: 0.733059 +2026-09-27T05:28:50.6147435Z type: 'test' +2026-09-27T05:28:50.6147872Z ... +2026-09-27T05:28:50.6148365Z # Subtest: ignores bot comments when measuring activity +2026-09-27T05:28:50.6149071Z ok 3 - ignores bot comments when measuring activity +2026-09-27T05:28:50.6149703Z --- +2026-09-27T05:28:50.6150096Z duration_ms: 0.159991 +2026-09-27T05:28:50.6150527Z type: 'test' +2026-09-27T05:28:50.6150919Z ... +2026-09-27T05:28:50.6151513Z # Subtest: treats a lifecycle reopen marker as a fresh activity timestamp +2026-09-27T05:28:50.6152449Z ok 4 - treats a lifecycle reopen marker as a fresh activity timestamp +2026-09-27T05:28:50.6153086Z --- +2026-09-27T05:28:50.6153464Z duration_ms: 0.139456 +2026-09-27T05:28:50.6153877Z type: 'test' +2026-09-27T05:28:50.6154266Z ... +2026-09-27T05:28:50.6154925Z # Subtest: closes only after the full 30-day grace period +2026-09-27T05:28:50.6155926Z ok 5 - closes only after the full 30-day grace period +2026-09-27T05:28:50.6156464Z --- +2026-09-27T05:28:50.6156819Z duration_ms: 0.188321 +2026-09-27T05:28:50.6157263Z type: 'test' +2026-09-27T05:28:50.6157664Z ... +2026-09-27T05:28:50.6158151Z # Subtest: removes stale after a human response to the warning +2026-09-27T05:28:50.6158797Z ok 6 - removes stale after a human response to the warning +2026-09-27T05:28:50.6159332Z --- +2026-09-27T05:28:50.6159715Z duration_ms: 0.13495 +2026-09-27T05:28:50.6160132Z type: 'test' +2026-09-27T05:28:50.6160508Z ... +2026-09-27T05:28:50.6161021Z # Subtest: exempts assigned issues and removes an existing stale label +2026-09-27T05:28:50.6161783Z ok 7 - exempts assigned issues and removes an existing stale label +2026-09-27T05:28:50.6162321Z --- +2026-09-27T05:28:50.6162740Z duration_ms: 0.18361 +2026-09-27T05:28:50.6163174Z type: 'test' +2026-09-27T05:28:50.6163575Z ... +2026-09-27T05:28:50.6164008Z 1..7 +2026-09-27T05:28:50.6164551Z ok 1 - issue lifecycle +2026-09-27T05:28:50.6164990Z --- +2026-09-27T05:28:50.6165396Z duration_ms: 4.3454 +2026-09-27T05:28:50.6165852Z type: 'suite' +2026-09-27T05:28:50.6166325Z ... +2026-09-27T05:28:50.6179564Z # Subtest: pull request lifecycle +2026-09-27T05:28:50.6180634Z # Subtest: warns based on the latest commit instead of creation or comments +2026-09-27T05:28:50.6181901Z ok 1 - warns based on the latest commit instead of creation or comments +2026-09-27T05:28:50.6206605Z --- +2026-09-27T05:28:50.6207581Z duration_ms: 0.307958 +2026-09-27T05:28:50.6208318Z type: 'test' +2026-09-27T05:28:50.6208989Z ... +2026-09-27T05:28:50.6209834Z # Subtest: closes after seven days without a new commit +2026-09-27T05:28:50.6210856Z ok 2 - closes after seven days without a new commit +2026-09-27T05:28:50.6211687Z --- +2026-09-27T05:28:50.6212432Z duration_ms: 0.21148 +2026-09-27T05:28:50.6213328Z type: 'test' +2026-09-27T05:28:50.6213911Z ... +2026-09-27T05:28:50.6215080Z # Subtest: removes stale after a commit newer than the warning +2026-09-27T05:28:50.6215897Z ok 3 - removes stale after a commit newer than the warning +2026-09-27T05:28:50.6216625Z --- +2026-09-27T05:28:50.6217446Z duration_ms: 0.255483 +2026-09-27T05:28:50.6217934Z type: 'test' +2026-09-27T05:28:50.6218281Z ... +2026-09-27T05:28:50.6219131Z # Subtest: ignores a lifecycle reopen marker for PR activity timing +2026-09-27T05:28:50.6219748Z ok 4 - ignores a lifecycle reopen marker for PR activity timing +2026-09-27T05:28:50.6220142Z --- +2026-09-27T05:28:50.6220423Z duration_ms: 0.108936 +2026-09-27T05:28:50.6220722Z type: 'test' +2026-09-27T05:28:50.6221011Z ... +2026-09-27T05:28:50.6221454Z # Subtest: still finds human activity when more than 100 comments are present +2026-09-27T05:28:50.6221979Z ok 5 - still finds human activity when more than 100 comments are present +2026-09-27T05:28:50.6222401Z --- +2026-09-27T05:28:50.6222679Z duration_ms: 0.36815 +2026-09-27T05:28:50.6223006Z type: 'test' +2026-09-27T05:28:50.6223265Z ... +2026-09-27T05:28:50.6223501Z 1..5 +2026-09-27T05:28:50.6223804Z ok 2 - pull request lifecycle +2026-09-27T05:28:50.6224128Z --- +2026-09-27T05:28:50.6224691Z duration_ms: 1.55667 +2026-09-27T05:28:50.6225150Z type: 'suite' +2026-09-27T05:28:50.6225400Z ... +2026-09-27T05:28:50.6225714Z # Subtest: state repair and exemptions +2026-09-27T05:28:50.6226132Z # Subtest: starts a fresh grace period when stale has no workflow warning +2026-09-27T05:28:50.6226617Z ok 1 - starts a fresh grace period when stale has no workflow warning +2026-09-27T05:28:50.6227033Z --- +2026-09-27T05:28:50.6227293Z duration_ms: 0.197176 +2026-09-27T05:28:50.6227603Z type: 'test' +2026-09-27T05:28:50.6227893Z ... +2026-09-27T05:28:50.6228236Z # Subtest: does not trust a human-authored warning marker +2026-09-27T05:28:50.6228834Z ok 2 - does not trust a human-authored warning marker +2026-09-27T05:28:50.6229234Z --- +2026-09-27T05:28:50.6229524Z duration_ms: 0.080541 +2026-09-27T05:28:50.6229807Z type: 'test' +2026-09-27T05:28:50.6230084Z ... +2026-09-27T05:28:50.6230412Z # Subtest: exempts pinned issues and pull requests +2026-09-27T05:28:50.6230798Z ok 3 - exempts pinned issues and pull requests +2026-09-27T05:28:50.6231233Z --- +2026-09-27T05:28:50.6231501Z duration_ms: 0.985012 +2026-09-27T05:28:50.6231803Z type: 'test' +2026-09-27T05:28:50.6232091Z ... +2026-09-27T05:28:50.6232387Z 1..3 +2026-09-27T05:28:50.6232715Z ok 3 - state repair and exemptions +2026-09-27T05:28:50.6233088Z --- +2026-09-27T05:28:50.6233520Z duration_ms: 1.367076 +2026-09-27T05:28:50.6233822Z type: 'suite' +2026-09-27T05:28:50.6234082Z ... +2026-09-27T05:28:50.6259470Z 1..3 +2026-09-27T05:28:50.6265196Z # tests 15 +2026-09-27T05:28:50.6265567Z # suites 3 +2026-09-27T05:28:50.6279999Z # pass 15 +2026-09-27T05:28:50.6280517Z # fail 0 +2026-09-27T05:28:50.6280888Z # cancelled 0 +2026-09-27T05:28:50.6281250Z # skipped 0 +2026-09-27T05:28:50.6281528Z # todo 0 +2026-09-27T05:28:50.6281853Z # duration_ms 64.320989 +2026-09-27T05:28:50.6334376Z ##[group]Run npm run windows:inventory +2026-09-27T05:28:50.6335003Z npm run windows:inventory +2026-09-27T05:28:50.6375879Z shell: /usr/bin/bash -e {0} +2026-09-27T05:28:50.6376228Z ##[endgroup] +2026-09-27T05:28:51.2707984Z +2026-09-27T05:28:51.2708820Z > maka@0.2.0 windows:inventory +2026-09-27T05:28:51.2709607Z > node --test scripts/windows-test-inventory.test.mjs && node scripts/windows-test-inventory.mjs --check +2026-09-27T05:28:51.2710082Z +2026-09-27T05:28:51.3258007Z TAP version 13 +2026-09-27T05:28:51.3633474Z # Subtest: exempts a complete Windows-false ternary from the skip inventory +2026-09-27T05:28:51.3638775Z ok 1 - exempts a complete Windows-false ternary from the skip inventory +2026-09-27T05:28:51.3639815Z --- +2026-09-27T05:28:51.3640399Z duration_ms: 1.067693 +2026-09-27T05:28:51.3641077Z type: 'test' +2026-09-27T05:28:51.3641650Z ... +2026-09-27T05:28:51.3645549Z # Subtest: keeps a composite expression that can still skip on Windows +2026-09-27T05:28:51.3647520Z ok 2 - keeps a composite expression that can still skip on Windows +2026-09-27T05:28:51.3648608Z --- +2026-09-27T05:28:51.3649303Z duration_ms: 0.264474 +2026-09-27T05:28:51.3649821Z type: 'test' +2026-09-27T05:28:51.3650326Z ... +2026-09-27T05:28:51.3650997Z # Subtest: keeps a direct Windows exclusion in the skip inventory +2026-09-27T05:28:51.3651856Z ok 3 - keeps a direct Windows exclusion in the skip inventory +2026-09-27T05:28:51.3652550Z --- +2026-09-27T05:28:51.3653012Z duration_ms: 0.179871 +2026-09-27T05:28:51.3653712Z type: 'test' +2026-09-27T05:28:51.3654213Z ... +2026-09-27T05:28:51.3717979Z 1..3 +2026-09-27T05:28:51.3718445Z # tests 3 +2026-09-27T05:28:51.3719033Z # suites 0 +2026-09-27T05:28:51.3719463Z # pass 3 +2026-09-27T05:28:51.3719858Z # fail 0 +2026-09-27T05:28:51.3720332Z # cancelled 0 +2026-09-27T05:28:51.3720780Z # skipped 0 +2026-09-27T05:28:51.3721181Z # todo 0 +2026-09-27T05:28:51.3721641Z # duration_ms 56.397304 +2026-09-27T05:28:52.1110865Z Windows test skip inventory is current (105 declarations) +2026-09-27T05:28:52.1253102Z ##[group]Run npm run check:e2e-budget +2026-09-27T05:28:52.1253550Z npm run check:e2e-budget +2026-09-27T05:28:52.1293237Z shell: /usr/bin/bash -e {0} +2026-09-27T05:28:52.1293652Z ##[endgroup] +2026-09-27T05:28:52.2212276Z +2026-09-27T05:28:52.2213202Z > maka@0.2.0 check:e2e-budget +2026-09-27T05:28:52.2214104Z > npm --workspace @maka/desktop run check:e2e-budget +2026-09-27T05:28:52.2214858Z +2026-09-27T05:28:52.4833655Z +2026-09-27T05:28:52.4834818Z > @maka/desktop@0.2.0 check:e2e-budget +2026-09-27T05:28:52.4835447Z > node --test scripts/check-e2e-budget.test.mjs && node scripts/check-e2e-budget.mjs +2026-09-27T05:28:52.4835952Z +2026-09-27T05:28:52.5241561Z TAP version 13 +2026-09-27T05:28:52.5696094Z # Subtest: counts the top-level tests and nothing configuring them +2026-09-27T05:28:52.5700057Z ok 1 - counts the top-level tests and nothing configuring them +2026-09-27T05:28:52.5701138Z --- +2026-09-27T05:28:52.5701742Z duration_ms: 0.87769 +2026-09-27T05:28:52.5702620Z type: 'test' +2026-09-27T05:28:52.5703207Z ... +2026-09-27T05:28:52.5708410Z # Subtest: refuses a top-level form whose test count it cannot read +2026-09-27T05:28:52.5709669Z ok 2 - refuses a top-level form whose test count it cannot read +2026-09-27T05:28:52.5710724Z --- +2026-09-27T05:28:52.5711446Z duration_ms: 0.410948 +2026-09-27T05:28:52.5712161Z type: 'test' +2026-09-27T05:28:52.5713151Z ... +2026-09-27T05:28:52.5713735Z # Subtest: refuses a `test(` it cannot attribute to a line of its own +2026-09-27T05:28:52.5714828Z ok 3 - refuses a `test(` it cannot attribute to a line of its own +2026-09-27T05:28:52.5715612Z --- +2026-09-27T05:28:52.5716169Z duration_ms: 0.125407 +2026-09-27T05:28:52.5716807Z type: 'test' +2026-09-27T05:28:52.5717301Z ... +2026-09-27T05:28:52.5718019Z # Subtest: finds every file Playwright would run, not just top-level .spec.ts +2026-09-27T05:28:52.5719003Z ok 4 - finds every file Playwright would run, not just top-level .spec.ts +2026-09-27T05:28:52.5719745Z --- +2026-09-27T05:28:52.5720246Z duration_ms: 8.863365 +2026-09-27T05:28:52.5720783Z type: 'test' +2026-09-27T05:28:52.5721340Z ... +2026-09-27T05:28:52.5721947Z # Subtest: reports every way the tier and the budget can disagree +2026-09-27T05:28:52.5722777Z ok 5 - reports every way the tier and the budget can disagree +2026-09-27T05:28:52.5723478Z --- +2026-09-27T05:28:52.5723956Z duration_ms: 0.235004 +2026-09-27T05:28:52.5724616Z type: 'test' +2026-09-27T05:28:52.5725113Z ... +2026-09-27T05:28:52.5786118Z 1..5 +2026-09-27T05:28:52.5786637Z # tests 5 +2026-09-27T05:28:52.5787014Z # suites 0 +2026-09-27T05:28:52.5787375Z # pass 5 +2026-09-27T05:28:52.5787717Z # fail 0 +2026-09-27T05:28:52.5788045Z # cancelled 0 +2026-09-27T05:28:52.5788377Z # skipped 0 +2026-09-27T05:28:52.5788690Z # todo 0 +2026-09-27T05:28:52.5789023Z # duration_ms 64.881937 +2026-09-27T05:28:52.6199172Z E2E budget holds: 34 tests in 20 files. +2026-09-27T05:28:52.6376316Z ##[group]Run node scripts/protocol-epoch-check.mjs --base "$BASE_SHA" +2026-09-27T05:28:52.6376863Z node scripts/protocol-epoch-check.mjs --base "$BASE_SHA" +2026-09-27T05:28:52.6416232Z shell: /usr/bin/bash -e {0} +2026-09-27T05:28:52.6416699Z env: +2026-09-27T05:28:52.6417041Z BASE_SHA: d89ccce01ab631d63de2a8986fc76a1960af8dc2 +2026-09-27T05:28:52.6417419Z ##[endgroup] +2026-09-27T05:28:52.7032530Z Protocol epoch guard: Protocol changed and the epoch moved: 191 -> 192. +2026-09-27T05:28:52.7092769Z ##[group]Run node --test --test-concurrency=1 scripts/protocol-epoch-check.test.mjs +2026-09-27T05:28:52.7093443Z node --test --test-concurrency=1 scripts/protocol-epoch-check.test.mjs +2026-09-27T05:28:52.7135086Z shell: /usr/bin/bash -e {0} +2026-09-27T05:28:52.7135454Z ##[endgroup] +2026-09-27T05:28:52.7559333Z TAP version 13 +2026-09-27T05:28:53.0681441Z # fatal: path 'packages/runtime-host/src/protocol/added.ts' exists on disk, but not in 'HEAD^' +2026-09-27T05:28:53.0700764Z # fatal: path 'packages/runtime-host/src/protocol/after-rename.ts' exists on disk, but not in 'HEAD^' +2026-09-27T05:28:53.0744937Z # fatal: path 'packages/runtime-host/src/protocol/before-rename.ts' does not exist in 'HEAD' +2026-09-27T05:28:53.0788717Z # fatal: path 'packages/runtime-host/src/protocol/removed.ts' does not exist in 'HEAD' +2026-09-27T05:28:53.0859036Z # fatal: path 'packages/runtime-host/src/protocol/added.ts' exists on disk, but not in 'HEAD^' +2026-09-27T05:28:53.0883882Z # fatal: path 'packages/runtime-host/src/protocol/after-rename.ts' exists on disk, but not in 'HEAD^' +2026-09-27T05:28:53.0932232Z # fatal: path 'packages/runtime-host/src/protocol/before-rename.ts' does not exist in 'HEAD' +2026-09-27T05:28:53.0980144Z # fatal: path 'packages/runtime-host/src/protocol/removed.ts' does not exist in 'HEAD' +2026-09-27T05:28:53.2353747Z # Subtest: extracts the epoch from the declaration line +2026-09-27T05:28:53.2361654Z ok 1 - extracts the epoch from the declaration line +2026-09-27T05:28:53.2362243Z --- +2026-09-27T05:28:53.2362696Z duration_ms: 1.016834 +2026-09-27T05:28:53.2363373Z type: 'test' +2026-09-27T05:28:53.2363899Z ... +2026-09-27T05:28:53.2364607Z # Subtest: refuses a source with no epoch declaration or more than one +2026-09-27T05:28:53.2369263Z ok 2 - refuses a source with no epoch declaration or more than one +2026-09-27T05:28:53.2369862Z --- +2026-09-27T05:28:53.2375292Z duration_ms: 0.49022 +2026-09-27T05:28:53.2375729Z type: 'test' +2026-09-27T05:28:53.2376193Z ... +2026-09-27T05:28:53.2376774Z # Subtest: parses the real protocol index, so the pattern cannot silently rot +2026-09-27T05:28:53.2377553Z ok 3 - parses the real protocol index, so the pattern cannot silently rot +2026-09-27T05:28:53.2378248Z --- +2026-09-27T05:28:53.2378624Z duration_ms: 0.476436 +2026-09-27T05:28:53.2379050Z type: 'test' +2026-09-27T05:28:53.2379408Z ... +2026-09-27T05:28:53.2379899Z # Subtest: fails a protocol change whose epoch equals the current base parent +2026-09-27T05:28:53.2380447Z ok 4 - fails a protocol change whose epoch equals the current base parent +2026-09-27T05:28:53.2380882Z --- +2026-09-27T05:28:53.2381153Z duration_ms: 0.297685 +2026-09-27T05:28:53.2381455Z type: 'test' +2026-09-27T05:28:53.2381723Z ... +2026-09-27T05:28:53.2382162Z # Subtest: allows only files covered by a newly added compatible-change declaration +2026-09-27T05:28:53.2389270Z ok 5 - allows only files covered by a newly added compatible-change declaration +2026-09-27T05:28:53.2395179Z --- +2026-09-27T05:28:53.2396522Z duration_ms: 1.114517 +2026-09-27T05:28:53.2397009Z type: 'test' +2026-09-27T05:28:53.2397542Z ... +2026-09-27T05:28:53.2398201Z # Subtest: reads newly added compatible-change declarations from the compared revision +2026-09-27T05:28:53.2399237Z ok 6 - reads newly added compatible-change declarations from the compared revision +2026-09-27T05:28:53.2400007Z --- +2026-09-27T05:28:53.2415767Z duration_ms: 38.256187 +2026-09-27T05:28:53.2416573Z type: 'test' +2026-09-27T05:28:53.2417068Z ... +2026-09-27T05:28:53.2417877Z # Subtest: catches sibling same-number bumps against the synthetic merge first parent +2026-09-27T05:28:53.2418947Z ok 7 - catches sibling same-number bumps against the synthetic merge first parent +2026-09-27T05:28:53.2421588Z --- +2026-09-27T05:28:53.2422060Z duration_ms: 70.093863 +2026-09-27T05:28:53.2422509Z type: 'test' +2026-09-27T05:28:53.2422981Z ... +2026-09-27T05:28:53.2423643Z # Subtest: fails any epoch decrease, protocol change or not +2026-09-27T05:28:53.2424815Z ok 8 - fails any epoch decrease, protocol change or not +2026-09-27T05:28:53.2425844Z --- +2026-09-27T05:28:53.2426285Z duration_ms: 0.201904 +2026-09-27T05:28:53.2426734Z type: 'test' +2026-09-27T05:28:53.2427142Z ... +2026-09-27T05:28:53.2427642Z # Subtest: passes a protocol change that moves the epoch forward +2026-09-27T05:28:53.2428468Z ok 9 - passes a protocol change that moves the epoch forward +2026-09-27T05:28:53.2429142Z --- +2026-09-27T05:28:53.2429546Z duration_ms: 0.387683 +2026-09-27T05:28:53.2429976Z type: 'test' +2026-09-27T05:28:53.2430360Z ... +2026-09-27T05:28:53.2430892Z # Subtest: passes when nothing under the protocol directory changed +2026-09-27T05:28:53.2431578Z ok 10 - passes when nothing under the protocol directory changed +2026-09-27T05:28:53.2432064Z --- +2026-09-27T05:28:53.2432432Z duration_ms: 0.380306 +2026-09-27T05:28:53.2432826Z type: 'test' +2026-09-27T05:28:53.2433301Z ... +2026-09-27T05:28:53.2433904Z # Subtest: checks staged protocol changes against the current HEAD epoch +2026-09-27T05:28:53.2434914Z ok 11 - checks staged protocol changes against the current HEAD epoch +2026-09-27T05:28:53.2435597Z --- +2026-09-27T05:28:53.2436012Z duration_ms: 82.232325 +2026-09-27T05:28:53.2436457Z type: 'test' +2026-09-27T05:28:53.2436885Z ... +2026-09-27T05:28:53.2437459Z # Subtest: exempts a protocol file that only gained the ASF license header +2026-09-27T05:28:53.2438618Z ok 12 - exempts a protocol file that only gained the ASF license header +2026-09-27T05:28:53.2439311Z --- +2026-09-27T05:28:53.2439785Z duration_ms: 50.369562 +2026-09-27T05:28:53.2440341Z type: 'test' +2026-09-27T05:28:53.2440788Z ... +2026-09-27T05:28:53.2441389Z # Subtest: treats added, deleted, and renamed protocol files as real changes +2026-09-27T05:28:53.2442269Z ok 13 - treats added, deleted, and renamed protocol files as real changes +2026-09-27T05:28:53.2442922Z --- +2026-09-27T05:28:53.2443451Z duration_ms: 69.567245 +2026-09-27T05:28:53.2443927Z type: 'test' +2026-09-27T05:28:53.2444368Z ... +2026-09-27T05:28:53.2445231Z # Subtest: accepts a declaration amended by a later commit on the same branch +2026-09-27T05:28:53.2446057Z ok 14 - accepts a declaration amended by a later commit on the same branch +2026-09-27T05:28:53.2446780Z --- +2026-09-27T05:28:53.2447135Z duration_ms: 75.978936 +2026-09-27T05:28:53.2447530Z type: 'test' +2026-09-27T05:28:53.2447888Z ... +2026-09-27T05:28:53.2448490Z # Subtest: refuses a landed declaration edited to cover a new protocol file +2026-09-27T05:28:53.2449142Z ok 15 - refuses a landed declaration edited to cover a new protocol file +2026-09-27T05:28:53.2449660Z --- +2026-09-27T05:28:53.2450191Z duration_ms: 47.985914 +2026-09-27T05:28:53.2450707Z type: 'test' +2026-09-27T05:28:53.2451120Z ... +2026-09-27T05:28:53.2451681Z # Subtest: names what makes a declaration invalid, and tells a stale one to re-pin +2026-09-27T05:28:53.2452440Z ok 16 - names what makes a declaration invalid, and tells a stale one to re-pin +2026-09-27T05:28:53.2452991Z --- +2026-09-27T05:28:53.2453393Z duration_ms: 0.451016 +2026-09-27T05:28:53.2453786Z type: 'test' +2026-09-27T05:28:53.2454174Z ... +2026-09-27T05:28:53.2454894Z # Subtest: offers a paste-ready declaration when a protocol change has no epoch to show for it +2026-09-27T05:28:53.2455831Z ok 17 - offers a paste-ready declaration when a protocol change has no epoch to show for it +2026-09-27T05:28:53.2456493Z --- +2026-09-27T05:28:53.2456821Z duration_ms: 0.161797 +2026-09-27T05:28:53.2457228Z type: 'test' +2026-09-27T05:28:53.2457566Z ... +2026-09-27T05:28:53.2494894Z 1..17 +2026-09-27T05:28:53.2495408Z # tests 17 +2026-09-27T05:28:53.2495810Z # suites 0 +2026-09-27T05:28:53.2496236Z # pass 17 +2026-09-27T05:28:53.2496721Z # fail 0 +2026-09-27T05:28:53.2497172Z # cancelled 0 +2026-09-27T05:28:53.2497690Z # skipped 0 +2026-09-27T05:28:53.2498063Z # todo 0 +2026-09-27T05:28:53.2498454Z # duration_ms 503.886519 +2026-09-27T05:28:53.2571516Z ##[group]Run node --test scripts/ax-tree-audit.test.mjs scripts/storybook-visual-smoke.test.mjs +2026-09-27T05:28:53.2572285Z node --test scripts/ax-tree-audit.test.mjs scripts/storybook-visual-smoke.test.mjs +2026-09-27T05:28:53.2613920Z shell: /usr/bin/bash -e {0} +2026-09-27T05:28:53.2614307Z ##[endgroup] +2026-09-27T05:28:53.3085448Z TAP version 13 +2026-09-27T05:28:53.3526119Z # Subtest: rejects trees whose only source records are ignored +2026-09-27T05:28:53.3565738Z ok 1 - rejects trees whose only source records are ignored +2026-09-27T05:28:53.3575624Z --- +2026-09-27T05:28:53.3605476Z duration_ms: 1.234118 +2026-09-27T05:28:53.3606016Z type: 'test' +2026-09-27T05:28:53.3606537Z ... +2026-09-27T05:28:53.3607265Z # Subtest: rejects a document shell whose application subtree is fully ignored +2026-09-27T05:28:53.3608241Z ok 2 - rejects a document shell whose application subtree is fully ignored +2026-09-27T05:28:53.3608851Z --- +2026-09-27T05:28:53.3609425Z duration_ms: 1.145613 +2026-09-27T05:28:53.3609829Z type: 'test' +2026-09-27T05:28:53.3610269Z ... +2026-09-27T05:28:53.3610806Z # Subtest: rejects duplicate actions in the same named scope +2026-09-27T05:28:53.3611471Z ok 3 - rejects duplicate actions in the same named scope +2026-09-27T05:28:53.3612050Z --- +2026-09-27T05:28:53.3612433Z duration_ms: 0.842327 +2026-09-27T05:28:53.3612872Z type: 'test' +2026-09-27T05:28:53.3613257Z ... +2026-09-27T05:28:53.3613796Z # Subtest: allows the same action name in distinct named dialogs +2026-09-27T05:28:53.3614957Z ok 4 - allows the same action name in distinct named dialogs +2026-09-27T05:28:53.3615470Z --- +2026-09-27T05:28:53.3615837Z duration_ms: 0.179393 +2026-09-27T05:28:53.3616296Z type: 'test' +2026-09-27T05:28:53.3616632Z ... +2026-09-27T05:28:53.3617109Z # Subtest: uses visible status content to distinguish repeated dismiss actions +2026-09-27T05:28:53.3617860Z ok 5 - uses visible status content to distinguish repeated dismiss actions +2026-09-27T05:28:53.3618447Z --- +2026-09-27T05:28:53.3618835Z duration_ms: 0.429018 +2026-09-27T05:28:53.3619208Z type: 'test' +2026-09-27T05:28:53.3619523Z ... +2026-09-27T05:28:53.3620036Z # Subtest: does not merge long scope names that differ after the diagnostic limit +2026-09-27T05:28:53.3620862Z ok 6 - does not merge long scope names that differ after the diagnostic limit +2026-09-27T05:28:53.3621489Z --- +2026-09-27T05:28:53.3621828Z duration_ms: 0.227293 +2026-09-27T05:28:53.3622203Z type: 'test' +2026-09-27T05:28:53.3622570Z ... +2026-09-27T05:28:53.3623102Z # Subtest: audits large trees without rescanning non-scope ancestor subtrees +2026-09-27T05:28:53.3623897Z ok 7 - audits large trees without rescanning non-scope ancestor subtrees +2026-09-27T05:28:53.3624584Z --- +2026-09-27T05:28:53.3625000Z duration_ms: 4.079027 +2026-09-27T05:28:53.3625419Z type: 'test' +2026-09-27T05:28:53.3625813Z ... +2026-09-27T05:28:53.3626207Z # Subtest: requires state on state-bearing controls +2026-09-27T05:28:53.3626860Z ok 8 - requires state on state-bearing controls +2026-09-27T05:28:53.3627435Z --- +2026-09-27T05:28:53.3627829Z duration_ms: 0.404738 +2026-09-27T05:28:53.3628300Z type: 'test' +2026-09-27T05:28:53.3628707Z ... +2026-09-27T05:28:53.3629305Z # Subtest: requires expanded state on controls that own a disclosure target +2026-09-27T05:28:53.3630166Z ok 9 - requires expanded state on controls that own a disclosure target +2026-09-27T05:28:53.3630804Z --- +2026-09-27T05:28:53.3631244Z duration_ms: 0.502628 +2026-09-27T05:28:53.3631695Z type: 'test' +2026-09-27T05:28:53.3632128Z ... +2026-09-27T05:28:53.3632610Z # Subtest: does not treat a tab panel relationship as a disclosure +2026-09-27T05:28:53.3633297Z ok 10 - does not treat a tab panel relationship as a disclosure +2026-09-27T05:28:53.3633973Z --- +2026-09-27T05:28:53.3634364Z duration_ms: 0.401267 +2026-09-27T05:28:53.3635118Z type: 'test' +2026-09-27T05:28:53.3635446Z ... +2026-09-27T05:28:53.3635784Z # Subtest: requires names on dialogs +2026-09-27T05:28:53.3636692Z ok 11 - requires names on dialogs +2026-09-27T05:28:53.3637163Z --- +2026-09-27T05:28:53.3637555Z duration_ms: 0.183911 +2026-09-27T05:28:53.3637983Z type: 'test' +2026-09-27T05:28:53.3638360Z ... +2026-09-27T05:28:53.3830314Z # Subtest: ordinary catalog stories render the default palette in light mode +2026-09-27T05:28:53.3831730Z ok 12 - ordinary catalog stories render the default palette in light mode +2026-09-27T05:28:53.3832748Z --- +2026-09-27T05:28:53.3833426Z duration_ms: 2.384456 +2026-09-27T05:28:53.3834257Z type: 'test' +2026-09-27T05:28:53.3835005Z ... +2026-09-27T05:28:53.3835983Z # Subtest: dark theme sentinel stories render the default palette in both colour schemes +2026-09-27T05:28:53.3837276Z ok 13 - dark theme sentinel stories render the default palette in both colour schemes +2026-09-27T05:28:53.3838217Z --- +2026-09-27T05:28:53.3838904Z duration_ms: 0.324376 +2026-09-27T05:28:53.3839565Z type: 'test' +2026-09-27T05:28:53.3840223Z ... +2026-09-27T05:28:53.3841026Z # Subtest: long system notes cover both locales at standard and narrow widths +2026-09-27T05:28:53.3842181Z ok 14 - long system notes cover both locales at standard and narrow widths +2026-09-27T05:28:53.3851914Z --- +2026-09-27T05:28:53.3852537Z duration_ms: 0.998824 +2026-09-27T05:28:53.3853264Z type: 'test' +2026-09-27T05:28:53.3853846Z ... +2026-09-27T05:28:53.3854864Z # Subtest: forced-colors stories render under the forced palette +2026-09-27T05:28:53.3855982Z ok 15 - forced-colors stories render under the forced palette +2026-09-27T05:28:53.3857067Z --- +2026-09-27T05:28:53.3857728Z duration_ms: 0.235005 +2026-09-27T05:28:53.3858392Z type: 'test' +2026-09-27T05:28:53.3858887Z ... +2026-09-27T05:28:53.3859708Z # Subtest: the reference story renders every palette in both colour schemes +2026-09-27T05:28:53.3860786Z ok 16 - the reference story renders every palette in both colour schemes +2026-09-27T05:28:53.3861633Z --- +2026-09-27T05:28:53.3862193Z duration_ms: 0.406374 +2026-09-27T05:28:53.3862764Z type: 'test' +2026-09-27T05:28:53.3863334Z ... +2026-09-27T05:28:53.3864025Z # Subtest: a mixed catalog adds only the full palette story theme matrix +2026-09-27T05:28:53.3865155Z ok 17 - a mixed catalog adds only the full palette story theme matrix +2026-09-27T05:28:53.3866015Z --- +2026-09-27T05:28:53.3866495Z duration_ms: 0.3558 +2026-09-27T05:28:53.3867116Z type: 'test' +2026-09-27T05:28:53.3867644Z ... +2026-09-27T05:28:53.3868297Z # Subtest: duplicate palette ids do not duplicate render jobs +2026-09-27T05:28:53.3869245Z ok 18 - duplicate palette ids do not duplicate render jobs +2026-09-27T05:28:53.3869960Z --- +2026-09-27T05:28:53.3870546Z duration_ms: 0.31059 +2026-09-27T05:28:53.3871116Z type: 'test' +2026-09-27T05:28:53.3871744Z ... +2026-09-27T05:28:53.3872571Z # Subtest: catalog jobs require a non-empty palette inventory containing default +2026-09-27T05:28:53.3877472Z ok 19 - catalog jobs require a non-empty palette inventory containing default +2026-09-27T05:28:53.3878479Z --- +2026-09-27T05:28:53.3879019Z duration_ms: 0.64354 +2026-09-27T05:28:53.3879600Z type: 'test' +2026-09-27T05:28:53.3879970Z ... +2026-09-27T05:28:53.3880406Z # Subtest: story URLs encode the selected colour scheme and palette +2026-09-27T05:28:53.3881002Z ok 20 - story URLs encode the selected colour scheme and palette +2026-09-27T05:28:53.3881471Z --- +2026-09-27T05:28:53.3881805Z duration_ms: 0.696334 +2026-09-27T05:28:53.3882218Z type: 'test' +2026-09-27T05:28:53.3882572Z ... +2026-09-27T05:28:53.3883106Z # Subtest: allows the intentional settings read failure only in its error story +2026-09-27T05:28:53.3883732Z ok 21 - allows the intentional settings read failure only in its error story +2026-09-27T05:28:53.3884218Z --- +2026-09-27T05:28:53.3884857Z duration_ms: 0.652796 +2026-09-27T05:28:53.3885334Z type: 'test' +2026-09-27T05:28:53.3885924Z ... +2026-09-27T05:28:53.3886503Z # Subtest: keeps unexpected settings errors fatal, including errors in the error story +2026-09-27T05:28:53.3887341Z ok 22 - keeps unexpected settings errors fatal, including errors in the error story +2026-09-27T05:28:53.3887794Z --- +2026-09-27T05:28:53.3888072Z duration_ms: 0.327292 +2026-09-27T05:28:53.3888430Z type: 'test' +2026-09-27T05:28:53.3888702Z ... +2026-09-27T05:28:53.3889081Z # Subtest: a rescued render is recorded with its story id and reason +2026-09-27T05:28:53.3889562Z ok 23 - a rescued render is recorded with its story id and reason +2026-09-27T05:28:53.3889940Z --- +2026-09-27T05:28:53.3890245Z duration_ms: 0.373616 +2026-09-27T05:28:53.3890542Z type: 'test' +2026-09-27T05:28:53.3890793Z ... +2026-09-27T05:28:53.3891239Z # Subtest: a run with no rescued renders records nothing +2026-09-27T05:28:53.3891653Z ok 24 - a run with no rescued renders records nothing +2026-09-27T05:28:53.3892034Z --- +2026-09-27T05:28:53.3892352Z duration_ms: 0.104691 +2026-09-27T05:28:53.3892695Z type: 'test' +2026-09-27T05:28:53.3893055Z ... +2026-09-27T05:28:53.3893583Z # Subtest: a play assertion exception fails the render even if Storybook emits a finished event +2026-09-27T05:28:53.3894238Z ok 25 - a play assertion exception fails the render even if Storybook emits a finished event +2026-09-27T05:28:53.3894891Z --- +2026-09-27T05:28:53.3895166Z duration_ms: 1.65222 +2026-09-27T05:28:53.3895478Z type: 'test' +2026-09-27T05:28:53.3895747Z ... +2026-09-27T05:28:53.3896178Z # Subtest: WorkHub suggestion geometry runs at both widths in both themes +2026-09-27T05:28:53.3896683Z ok 26 - WorkHub suggestion geometry runs at both widths in both themes +2026-09-27T05:28:53.3897178Z --- +2026-09-27T05:28:53.3897456Z duration_ms: 0.259912 +2026-09-27T05:28:53.3897844Z type: 'test' +2026-09-27T05:28:53.3898127Z ... +2026-09-27T05:28:53.3985208Z 1..26 +2026-09-27T05:28:53.3985603Z # tests 26 +2026-09-27T05:28:53.3986005Z # suites 0 +2026-09-27T05:28:53.3986328Z # pass 26 +2026-09-27T05:28:53.3995188Z # fail 0 +2026-09-27T05:28:53.4006675Z # cancelled 0 +2026-09-27T05:28:53.4007118Z # skipped 0 +2026-09-27T05:28:53.4007461Z # todo 0 +2026-09-27T05:28:53.4007850Z # duration_ms 105.116172 +2026-09-27T05:28:53.4072964Z ##[group]Run node --test scripts/computer-use/lab-root.test.mjs +2026-09-27T05:28:53.4073770Z node --test scripts/computer-use/lab-root.test.mjs +2026-09-27T05:28:53.4121896Z shell: /usr/bin/bash -e {0} +2026-09-27T05:28:53.4122276Z ##[endgroup] +2026-09-27T05:28:53.4553115Z TAP version 13 +2026-09-27T05:28:53.5280562Z # Subtest: Computer Use CLI advertises only the supported evidence commands +2026-09-27T05:28:53.5286510Z ok 1 - Computer Use CLI advertises only the supported evidence commands +2026-09-27T05:28:53.5287600Z --- +2026-09-27T05:28:53.5290781Z duration_ms: 34.705739 +2026-09-27T05:28:53.5291274Z type: 'test' +2026-09-27T05:28:53.5291651Z ... +2026-09-27T05:28:53.5330429Z # Subtest: rejects missing and invalid Computer Use Lab roots +2026-09-27T05:28:53.5332368Z ok 2 - rejects missing and invalid Computer Use Lab roots +2026-09-27T05:28:53.5333616Z --- +2026-09-27T05:28:53.5334009Z duration_ms: 7.722229 +2026-09-27T05:28:53.5334348Z type: 'test' +2026-09-27T05:28:53.5335185Z ... +2026-09-27T05:28:53.5360483Z # Subtest: canonicalizes a valid Computer Use Lab root +2026-09-27T05:28:53.5363543Z ok 3 - canonicalizes a valid Computer Use Lab root +2026-09-27T05:28:53.5364543Z --- +2026-09-27T05:28:53.5364978Z duration_ms: 2.839122 +2026-09-27T05:28:53.5365457Z type: 'test' +2026-09-27T05:28:53.5366017Z ... +2026-09-27T05:28:53.5381589Z # Subtest: Lab-backed entry points require the configured root +2026-09-27T05:28:53.5382481Z ok 4 - Lab-backed entry points require the configured root +2026-09-27T05:28:53.5383259Z --- +2026-09-27T05:28:53.5383734Z duration_ms: 2.267509 +2026-09-27T05:28:53.5384565Z type: 'test' +2026-09-27T05:28:53.5385059Z ... +2026-09-27T05:28:53.5387674Z # Subtest: real AX harness supplies every explicit runtime permission authority +2026-09-27T05:28:53.5389309Z ok 5 - real AX harness supplies every explicit runtime permission authority +2026-09-27T05:28:53.5390171Z --- +2026-09-27T05:28:53.5390705Z duration_ms: 0.836229 +2026-09-27T05:28:53.5391190Z type: 'test' +2026-09-27T05:28:53.5391599Z ... +2026-09-27T05:28:53.5472196Z 1..5 +2026-09-27T05:28:53.5472606Z # tests 5 +2026-09-27T05:28:53.5473156Z # suites 0 +2026-09-27T05:28:53.5473501Z # pass 5 +2026-09-27T05:28:53.5473838Z # fail 0 +2026-09-27T05:28:53.5474209Z # cancelled 0 +2026-09-27T05:28:53.5474679Z # skipped 0 +2026-09-27T05:28:53.5475099Z # todo 0 +2026-09-27T05:28:53.5475463Z # duration_ms 102.249232 +2026-09-27T05:28:53.5552332Z ##[group]Run node --test scripts/script-entrypoints.test.mjs +2026-09-27T05:28:53.5553100Z node --test scripts/script-entrypoints.test.mjs +2026-09-27T05:28:53.5598418Z shell: /usr/bin/bash -e {0} +2026-09-27T05:28:53.5598854Z ##[endgroup] +2026-09-27T05:28:53.6089210Z TAP version 13 +2026-09-27T05:28:53.6479363Z # Subtest: direct script guards encode entrypoint paths with spaces +2026-09-27T05:28:53.6486775Z ok 1 - direct script guards encode entrypoint paths with spaces +2026-09-27T05:28:53.6487419Z --- +2026-09-27T05:28:53.6487781Z duration_ms: 4.738473 +2026-09-27T05:28:53.6488376Z type: 'test' +2026-09-27T05:28:53.6488756Z ... +2026-09-27T05:28:53.6552173Z 1..1 +2026-09-27T05:28:53.6553281Z # tests 1 +2026-09-27T05:28:53.6554200Z # suites 0 +2026-09-27T05:28:53.6554967Z # pass 1 +2026-09-27T05:28:53.6555615Z # fail 0 +2026-09-27T05:28:53.6556335Z # cancelled 0 +2026-09-27T05:28:53.6556941Z # skipped 0 +2026-09-27T05:28:53.6557924Z # todo 0 +2026-09-27T05:28:53.6558702Z # duration_ms 56.630887 +2026-09-27T05:28:53.6627077Z ##[group]Run node --test scripts/plugins/codex-app-server-executor/test/plugin.test.mjs +2026-09-27T05:28:53.6627914Z node --test scripts/plugins/codex-app-server-executor/test/plugin.test.mjs +2026-09-27T05:28:53.6669335Z shell: /usr/bin/bash -e {0} +2026-09-27T05:28:53.6669717Z ##[endgroup] +2026-09-27T05:28:53.7114885Z TAP version 13 +2026-09-27T05:28:53.7511426Z # Subtest: package registers the main-compatible executor and lifecycle order +2026-09-27T05:28:53.7529104Z ok 1 - package registers the main-compatible executor and lifecycle order +2026-09-27T05:28:53.7530052Z --- +2026-09-27T05:28:53.7530533Z duration_ms: 4.325583 +2026-09-27T05:28:53.7531229Z type: 'test' +2026-09-27T05:28:53.7531634Z ... +2026-09-27T05:28:53.7600423Z # Subtest: client bundle merges Codex and native models in the Composer model selector +2026-09-27T05:28:53.7601504Z ok 2 - client bundle merges Codex and native models in the Composer model selector +2026-09-27T05:28:53.7602280Z --- +2026-09-27T05:28:53.7602887Z duration_ms: 4.753318 +2026-09-27T05:28:53.7603370Z type: 'test' +2026-09-27T05:28:53.7603783Z ... +2026-09-27T05:28:53.7607001Z # Subtest: configuration validates safe unattended defaults +2026-09-27T05:28:53.7607677Z ok 3 - configuration validates safe unattended defaults +2026-09-27T05:28:53.7608141Z --- +2026-09-27T05:28:53.7608478Z duration_ms: 0.499873 +2026-09-27T05:28:53.7608801Z type: 'test' +2026-09-27T05:28:53.7609147Z ... +2026-09-27T05:28:53.7949293Z # Subtest: client lists Codex models and their supported reasoning efforts +2026-09-27T05:28:53.7950387Z ok 4 - client lists Codex models and their supported reasoning efforts +2026-09-27T05:28:53.7952836Z --- +2026-09-27T05:28:53.7953543Z duration_ms: 36.19477 +2026-09-27T05:28:53.7954177Z type: 'test' +2026-09-27T05:28:53.7954969Z ... +2026-09-27T05:28:53.7955810Z # Subtest: client bounds model paging even when every App Server page is malformed +2026-09-27T05:28:53.7961843Z ok 5 - client bounds model paging even when every App Server page is malformed +2026-09-27T05:28:53.7962731Z --- +2026-09-27T05:28:53.7963208Z duration_ms: 0.487186 +2026-09-27T05:28:53.7963635Z type: 'test' +2026-09-27T05:28:53.7964045Z ... +2026-09-27T05:28:53.8285482Z # Subtest: client reuses a thread and projects rich events while declining approvals +2026-09-27T05:28:53.8287691Z ok 6 - client reuses a thread and projects rich events while declining approvals +2026-09-27T05:28:53.8288317Z --- +2026-09-27T05:28:53.8288695Z duration_ms: 33.738837 +2026-09-27T05:28:53.8289124Z type: 'test' +2026-09-27T05:28:53.8289633Z ... +2026-09-27T05:28:53.8635952Z # Subtest: Session model overrides the plugin fallback and every turn refreshes model and effort +2026-09-27T05:28:53.8637487Z ok 7 - Session model overrides the plugin fallback and every turn refreshes model and effort +2026-09-27T05:28:53.8638479Z --- +2026-09-27T05:28:53.8639156Z duration_ms: 34.579364 +2026-09-27T05:28:53.8639809Z type: 'test' +2026-09-27T05:28:53.8640513Z ... +2026-09-27T05:28:53.8962517Z # Subtest: plugin model remains the new-thread fallback when the Session has no model +2026-09-27T05:28:53.8964045Z ok 8 - plugin model remains the new-thread fallback when the Session has no model +2026-09-27T05:28:53.8965376Z --- +2026-09-27T05:28:53.8966095Z duration_ms: 32.259972 +2026-09-27T05:28:53.8966857Z type: 'test' +2026-09-27T05:28:53.8967506Z ... +2026-09-27T05:28:53.9497235Z # Subtest: client interrupts an active Codex turn on Maka cancellation +2026-09-27T05:28:53.9498540Z ok 9 - client interrupts an active Codex turn on Maka cancellation +2026-09-27T05:28:53.9499213Z --- +2026-09-27T05:28:53.9499635Z duration_ms: 54.023665 +2026-09-27T05:28:53.9500215Z type: 'test' +2026-09-27T05:28:53.9500791Z ... +2026-09-27T05:28:55.0543580Z # Subtest: client settles cancellation when App Server omits turn/completed +2026-09-27T05:28:55.0545029Z ok 10 - client settles cancellation when App Server omits turn/completed +2026-09-27T05:28:55.0545831Z --- +2026-09-27T05:28:55.0546878Z duration_ms: 1105.068779 +2026-09-27T05:28:55.0547466Z type: 'test' +2026-09-27T05:28:55.0548083Z ... +2026-09-27T05:28:55.0548796Z # Subtest: malformed messages and closed response transports never throw into the Host +2026-09-27T05:28:55.0549734Z ok 11 - malformed messages and closed response transports never throw into the Host +2026-09-27T05:28:55.0550391Z --- +2026-09-27T05:28:55.0550760Z duration_ms: 0.600682 +2026-09-27T05:28:55.0551190Z type: 'test' +2026-09-27T05:28:55.0551554Z ... +2026-09-27T05:28:55.0552103Z # Subtest: attachments are rejected instead of being silently dropped +2026-09-27T05:28:55.0552962Z ok 12 - attachments are rejected instead of being silently dropped +2026-09-27T05:28:55.0553391Z --- +2026-09-27T05:28:55.0553673Z duration_ms: 0.231236 +2026-09-27T05:28:55.0553977Z type: 'test' +2026-09-27T05:28:55.0554256Z ... +2026-09-27T05:28:55.0625544Z 1..12 +2026-09-27T05:28:55.0625899Z # tests 12 +2026-09-27T05:28:55.0626189Z # suites 0 +2026-09-27T05:28:55.0626465Z # pass 12 +2026-09-27T05:28:55.0626788Z # fail 0 +2026-09-27T05:28:55.0627056Z # cancelled 0 +2026-09-27T05:28:55.0645751Z # skipped 0 +2026-09-27T05:28:55.0646026Z # todo 0 +2026-09-27T05:28:55.0646368Z # duration_ms 1362.927545 +2026-09-27T05:28:55.0694076Z ##[group]Run node --test --test-concurrency=1 scripts/update-test-feed-wiring.test.mjs +2026-09-27T05:28:55.0694894Z node --test --test-concurrency=1 scripts/update-test-feed-wiring.test.mjs +2026-09-27T05:28:55.0735249Z shell: /usr/bin/bash -e {0} +2026-09-27T05:28:55.0735573Z ##[endgroup] +2026-09-27T05:28:55.1189588Z TAP version 13 +2026-09-27T05:28:55.1593486Z # Subtest: the packaged boot path hands the harness feed to the update service +2026-09-27T05:28:55.1600396Z ok 1 - the packaged boot path hands the harness feed to the update service +2026-09-27T05:28:55.1601227Z --- +2026-09-27T05:28:55.1601789Z duration_ms: 1.389768 +2026-09-27T05:28:55.1602315Z type: 'test' +2026-09-27T05:28:55.1602771Z ... +2026-09-27T05:28:55.1615401Z # Subtest: the harness feed still redirects packaged user data away from the real root +2026-09-27T05:28:55.1621662Z ok 2 - the harness feed still redirects packaged user data away from the real root +2026-09-27T05:28:55.1622446Z --- +2026-09-27T05:28:55.1622983Z duration_ms: 0.341459 +2026-09-27T05:28:55.1623475Z type: 'test' +2026-09-27T05:28:55.1623910Z ... +2026-09-27T05:28:55.1624591Z # Subtest: the Windows autoupdate verifier is what supplies the feed +2026-09-27T05:28:55.1625399Z ok 3 - the Windows autoupdate verifier is what supplies the feed +2026-09-27T05:28:55.1625978Z --- +2026-09-27T05:28:55.1626404Z duration_ms: 1.110678 +2026-09-27T05:28:55.1627297Z type: 'test' +2026-09-27T05:28:55.1627898Z ... +2026-09-27T05:28:55.1680022Z 1..3 +2026-09-27T05:28:55.1680348Z # tests 3 +2026-09-27T05:28:55.1680658Z # suites 0 +2026-09-27T05:28:55.1681113Z # pass 3 +2026-09-27T05:28:55.1681592Z # fail 0 +2026-09-27T05:28:55.1681970Z # cancelled 0 +2026-09-27T05:28:55.1682494Z # skipped 0 +2026-09-27T05:28:55.1683072Z # todo 0 +2026-09-27T05:28:55.1683371Z # duration_ms 59.85192 +2026-09-27T05:28:55.1752700Z ##[group]Run npm run check:app-shell-hooks +2026-09-27T05:28:55.1753053Z npm run check:app-shell-hooks +2026-09-27T05:28:55.1793715Z shell: /usr/bin/bash -e {0} +2026-09-27T05:28:55.1794005Z ##[endgroup] +2026-09-27T05:28:55.2662867Z +2026-09-27T05:28:55.2663850Z > maka@0.2.0 check:app-shell-hooks +2026-09-27T05:28:55.2664327Z > node scripts/check-app-shell-hooks.mjs +2026-09-27T05:28:55.2664842Z +2026-09-27T05:28:55.3169379Z app-shell hook scope: ok (35 hooks, 57 call sites across AppShell + AppShellContent) +2026-09-27T05:28:55.3276657Z ##[group]Run node --test --test-concurrency=1 scripts/check-app-shell-hooks.test.mjs +2026-09-27T05:28:55.3277274Z node --test --test-concurrency=1 scripts/check-app-shell-hooks.test.mjs +2026-09-27T05:28:55.3316925Z shell: /usr/bin/bash -e {0} +2026-09-27T05:28:55.3317209Z ##[endgroup] +2026-09-27T05:28:55.3785498Z TAP version 13 +2026-09-27T05:28:55.4261204Z # Subtest: each shell component is delimited by its own braces +2026-09-27T05:28:55.4266945Z ok 1 - each shell component is delimited by its own braces +2026-09-27T05:28:55.4268121Z --- +2026-09-27T05:28:55.4268919Z duration_ms: 2.543411 +2026-09-27T05:28:55.4269394Z type: 'test' +2026-09-27T05:28:55.4269761Z ... +2026-09-27T05:28:55.4272252Z # Subtest: a destructured parameter is not mistaken for the body +2026-09-27T05:28:55.4273572Z ok 2 - a destructured parameter is not mistaken for the body +2026-09-27T05:28:55.4274131Z --- +2026-09-27T05:28:55.4274686Z duration_ms: 0.417253 +2026-09-27T05:28:55.4275188Z type: 'test' +2026-09-27T05:28:55.4275623Z ... +2026-09-27T05:28:55.4276165Z # Subtest: an unknown component is reported rather than guessed at +2026-09-27T05:28:55.4277543Z ok 3 - an unknown component is reported rather than guessed at +2026-09-27T05:28:55.4278069Z --- +2026-09-27T05:28:55.4278439Z duration_ms: 0.387697 +2026-09-27T05:28:55.4278865Z type: 'test' +2026-09-27T05:28:55.4279239Z ... +2026-09-27T05:28:55.4279804Z # Subtest: an arrow component is found too, so a refactor cannot silence the gate +2026-09-27T05:28:55.4280588Z ok 4 - an arrow component is found too, so a refactor cannot silence the gate +2026-09-27T05:28:55.4281155Z --- +2026-09-27T05:28:55.4285378Z duration_ms: 0.241347 +2026-09-27T05:28:55.4285721Z type: 'test' +2026-09-27T05:28:55.4286115Z ... +2026-09-27T05:28:55.4286493Z # Subtest: an exported declaration is found +2026-09-27T05:28:55.4286969Z ok 5 - an exported declaration is found +2026-09-27T05:28:55.4287354Z --- +2026-09-27T05:28:55.4287631Z duration_ms: 0.201848 +2026-09-27T05:28:55.4287959Z type: 'test' +2026-09-27T05:28:55.4288314Z ... +2026-09-27T05:28:55.4289190Z # Subtest: a brace in column zero does not end the body early +2026-09-27T05:28:55.4289949Z ok 6 - a brace in column zero does not end the body early +2026-09-27T05:28:55.4290614Z --- +2026-09-27T05:28:55.4297686Z duration_ms: 1.007475 +2026-09-27T05:28:55.4298235Z type: 'test' +2026-09-27T05:28:55.4298628Z ... +2026-09-27T05:28:55.4299149Z # Subtest: an explicit type argument is still a call site +2026-09-27T05:28:55.4304641Z ok 7 - an explicit type argument is still a call site +2026-09-27T05:28:55.4305268Z --- +2026-09-27T05:28:55.4305690Z duration_ms: 0.275021 +2026-09-27T05:28:55.4306145Z type: 'test' +2026-09-27T05:28:55.4306553Z ... +2026-09-27T05:28:55.4307118Z # Subtest: a member call on something other than React is not a hook +2026-09-27T05:28:55.4307912Z ok 8 - a member call on something other than React is not a hook +2026-09-27T05:28:55.4308510Z --- +2026-09-27T05:28:55.4308933Z duration_ms: 0.118829 +2026-09-27T05:28:55.4309383Z type: 'test' +2026-09-27T05:28:55.4309793Z ... +2026-09-27T05:28:55.4310368Z # Subtest: the React namespace form is the same call site as the bare name +2026-09-27T05:28:55.4311204Z ok 9 - the React namespace form is the same call site as the bare name +2026-09-27T05:28:55.4311835Z --- +2026-09-27T05:28:55.4312294Z duration_ms: 0.324921 +2026-09-27T05:28:55.4312747Z type: 'test' +2026-09-27T05:28:55.4322017Z ... +2026-09-27T05:28:55.4322789Z # Subtest: React 19's bare `use` is a hook, and identifiers merely starting with `use` are not +2026-09-27T05:28:55.4323783Z ok 10 - React 19's bare `use` is a hook, and identifiers merely starting with `use` are not +2026-09-27T05:28:55.4324635Z --- +2026-09-27T05:28:55.4325021Z duration_ms: 0.334798 +2026-09-27T05:28:55.4325511Z type: 'test' +2026-09-27T05:28:55.4325909Z ... +2026-09-27T05:28:55.4326459Z # Subtest: a namespace import of React is refused rather than under-counted +2026-09-27T05:28:55.4327600Z ok 11 - a namespace import of React is refused rather than under-counted +2026-09-27T05:28:55.4328131Z --- +2026-09-27T05:28:55.4328484Z duration_ms: 0.403287 +2026-09-27T05:28:55.4328816Z type: 'test' +2026-09-27T05:28:55.4329085Z ... +2026-09-27T05:28:55.4329517Z # Subtest: a type position is not a call site +2026-09-27T05:28:55.4330057Z ok 12 - a type position is not a call site +2026-09-27T05:28:55.4330521Z --- +2026-09-27T05:28:55.4330871Z duration_ms: 0.109108 +2026-09-27T05:28:55.4331260Z type: 'test' +2026-09-27T05:28:55.4331743Z ... +2026-09-27T05:28:55.4332184Z # Subtest: a call split across lines is still a call site +2026-09-27T05:28:55.4332790Z ok 13 - a call split across lines is still a call site +2026-09-27T05:28:55.4333282Z --- +2026-09-27T05:28:55.4333633Z duration_ms: 0.072844 +2026-09-27T05:28:55.4334002Z type: 'test' +2026-09-27T05:28:55.4334359Z ... +2026-09-27T05:28:55.4334921Z # Subtest: prose naming a hook is not a call site +2026-09-27T05:28:55.4335476Z ok 14 - prose naming a hook is not a call site +2026-09-27T05:28:55.4335897Z --- +2026-09-27T05:28:55.4336177Z duration_ms: 0.098945 +2026-09-27T05:28:55.4336469Z type: 'test' +2026-09-27T05:28:55.4336729Z ... +2026-09-27T05:28:55.4337088Z # Subtest: an apostrophe in JSX text does not swallow the rest of the body +2026-09-27T05:28:55.4337591Z ok 15 - an apostrophe in JSX text does not swallow the rest of the body +2026-09-27T05:28:55.4338018Z --- +2026-09-27T05:28:55.4338277Z duration_ms: 0.06123 +2026-09-27T05:28:55.4338555Z type: 'test' +2026-09-27T05:28:55.4338820Z ... +2026-09-27T05:28:55.4339197Z # Subtest: a regex literal containing a quote does not swallow the rest of the body +2026-09-27T05:28:55.4339742Z ok 16 - a regex literal containing a quote does not swallow the rest of the body +2026-09-27T05:28:55.4340160Z --- +2026-09-27T05:28:55.4340418Z duration_ms: 0.056508 +2026-09-27T05:28:55.4340699Z type: 'test' +2026-09-27T05:28:55.4340958Z ... +2026-09-27T05:28:55.4341280Z # Subtest: a JSX closing tag is not the start of a regex literal +2026-09-27T05:28:55.4341719Z ok 17 - a JSX closing tag is not the start of a regex literal +2026-09-27T05:28:55.4342071Z --- +2026-09-27T05:28:55.4342326Z duration_ms: 0.054366 +2026-09-27T05:28:55.4342695Z type: 'test' +2026-09-27T05:28:55.4343036Z ... +2026-09-27T05:28:55.4343450Z # Subtest: an escaped quote does not swallow the rest of the body +2026-09-27T05:28:55.4344056Z ok 18 - an escaped quote does not swallow the rest of the body +2026-09-27T05:28:55.4344567Z --- +2026-09-27T05:28:55.4344911Z duration_ms: 0.056013 +2026-09-27T05:28:55.4345369Z type: 'test' +2026-09-27T05:28:55.4345621Z ... +2026-09-27T05:28:55.4345906Z # Subtest: a URL is not mistaken for a line comment +2026-09-27T05:28:55.4346292Z ok 19 - a URL is not mistaken for a line comment +2026-09-27T05:28:55.4346551Z --- +2026-09-27T05:28:55.4346734Z duration_ms: 0.054661 +2026-09-27T05:28:55.4346935Z type: 'test' +2026-09-27T05:28:55.4347116Z ... +2026-09-27T05:28:55.4347383Z # Subtest: blanking preserves offsets, so a body keeps its shape +2026-09-27T05:28:55.4347761Z ok 20 - blanking preserves offsets, so a body keeps its shape +2026-09-27T05:28:55.4348054Z --- +2026-09-27T05:28:55.4348243Z duration_ms: 0.093085 +2026-09-27T05:28:55.4348447Z type: 'test' +2026-09-27T05:28:55.4348632Z ... +2026-09-27T05:28:55.4348915Z # Subtest: purely derived hooks do not widen a scope, so they are not counted +2026-09-27T05:28:55.4349345Z ok 21 - purely derived hooks do not widen a scope, so they are not counted +2026-09-27T05:28:55.4349688Z --- +2026-09-27T05:28:55.4349884Z duration_ms: 0.075262 +2026-09-27T05:28:55.4350100Z type: 'test' +2026-09-27T05:28:55.4350295Z ... +2026-09-27T05:28:55.4350547Z # Subtest: a new hook in the render body fails the gate +2026-09-27T05:28:55.4350903Z ok 22 - a new hook in the render body fails the gate +2026-09-27T05:28:55.4351174Z --- +2026-09-27T05:28:55.4351360Z duration_ms: 0.146444 +2026-09-27T05:28:55.4351571Z type: 'test' +2026-09-27T05:28:55.4351762Z ... +2026-09-27T05:28:55.4352260Z # Subtest: a second call site of an inventoried hook fails the gate +2026-09-27T05:28:55.4352659Z ok 23 - a second call site of an inventoried hook fails the gate +2026-09-27T05:28:55.4352965Z --- +2026-09-27T05:28:55.4353182Z duration_ms: 0.068529 +2026-09-27T05:28:55.4353399Z type: 'test' +2026-09-27T05:28:55.4353609Z ... +2026-09-27T05:28:55.4353928Z # Subtest: a migrated hook fails until its entry is deleted, so the gate converges +2026-09-27T05:28:55.4354576Z ok 24 - a migrated hook fails until its entry is deleted, so the gate converges +2026-09-27T05:28:55.4355096Z --- +2026-09-27T05:28:55.4355290Z duration_ms: 0.05658 +2026-09-27T05:28:55.4355506Z type: 'test' +2026-09-27T05:28:55.4355701Z ... +2026-09-27T05:28:55.4558420Z # Subtest: the committed inventory matches the shell as it stands +2026-09-27T05:28:55.4559123Z ok 25 - the committed inventory matches the shell as it stands +2026-09-27T05:28:55.4559463Z --- +2026-09-27T05:28:55.4559672Z duration_ms: 34.061882 +2026-09-27T05:28:55.4559912Z type: 'test' +2026-09-27T05:28:55.4560149Z ... +2026-09-27T05:28:55.4649653Z # Subtest: the shell body is delimited to something plausible, not to the whole file +2026-09-27T05:28:55.4650586Z ok 26 - the shell body is delimited to something plausible, not to the whole file +2026-09-27T05:28:55.4651188Z --- +2026-09-27T05:28:55.4651546Z duration_ms: 9.166195 +2026-09-27T05:28:55.4651923Z type: 'test' +2026-09-27T05:28:55.4652277Z ... +2026-09-27T05:28:55.4741644Z 1..26 +2026-09-27T05:28:55.4741958Z # tests 26 +2026-09-27T05:28:55.4742240Z # suites 0 +2026-09-27T05:28:55.4742479Z # pass 26 +2026-09-27T05:28:55.4742713Z # fail 0 +2026-09-27T05:28:55.4742952Z # cancelled 0 +2026-09-27T05:28:55.4743227Z # skipped 0 +2026-09-27T05:28:55.4743460Z # todo 0 +2026-09-27T05:28:55.4743824Z # duration_ms 106.749076 +2026-09-27T05:28:55.4811357Z ##[group]Run npm run check:asf-npm +2026-09-27T05:28:55.4811663Z npm run check:asf-npm +2026-09-27T05:28:55.4852744Z shell: /usr/bin/bash -e {0} +2026-09-27T05:28:55.4853047Z ##[endgroup] +2026-09-27T05:28:55.5764122Z +2026-09-27T05:28:55.5764821Z > maka@0.2.0 check:asf-npm +2026-09-27T05:28:55.5765387Z > node --test scripts/asf-npm-workflow-policy.test.mjs +2026-09-27T05:28:55.5765624Z +2026-09-27T05:28:55.6161330Z TAP version 13 +2026-09-27T05:28:55.6499914Z # Subtest: ASF npm preflight validates the source RC package without publishing +2026-09-27T05:28:55.6508919Z ok 1 - ASF npm preflight validates the source RC package without publishing +2026-09-27T05:28:55.6509514Z --- +2026-09-27T05:28:55.6509748Z duration_ms: 0.840287 +2026-09-27T05:28:55.6509977Z type: 'test' +2026-09-27T05:28:55.6510170Z ... +2026-09-27T05:28:55.6581587Z 1..1 +2026-09-27T05:28:55.6582546Z # tests 1 +2026-09-27T05:28:55.6583395Z # suites 0 +2026-09-27T05:28:55.6583769Z # pass 1 +2026-09-27T05:28:55.6585362Z # fail 0 +2026-09-27T05:28:55.6585712Z # cancelled 0 +2026-09-27T05:28:55.6586041Z # skipped 0 +2026-09-27T05:28:55.6586864Z # todo 0 +2026-09-27T05:28:55.6587305Z # duration_ms 52.366808 +2026-09-27T05:28:55.6695618Z ##[group]Run npm run check:asf-headers +2026-09-27T05:28:55.6695949Z npm run check:asf-headers +2026-09-27T05:28:55.6736251Z shell: /usr/bin/bash -e {0} +2026-09-27T05:28:55.6736541Z ##[endgroup] +2026-09-27T05:28:55.7625682Z +2026-09-27T05:28:55.7626186Z > maka@0.2.0 check:asf-headers +2026-09-27T05:28:55.7626700Z > node scripts/asf-license-headers.mjs check +2026-09-27T05:28:55.7627023Z +2026-09-27T05:28:56.6956048Z Audited 4068 covered and 251 excluded file(s) in checkout mode at /home/runner/work/maka/maka +2026-09-27T05:28:56.6958019Z Every source file carries the ASF header or a reviewed exclusion. +2026-09-27T05:28:56.7125402Z ##[group]Run node scripts/asf-source-release.mjs create --revision HEAD --version "$(node -p 'require("./package.json").version')" +2026-09-27T05:28:56.7126199Z node scripts/asf-source-release.mjs create --revision HEAD --version "$(node -p 'require("./package.json").version')" +2026-09-27T05:28:56.7166728Z shell: /usr/bin/bash -e {0} +2026-09-27T05:28:56.7167056Z ##[endgroup] +2026-09-27T05:29:03.5653319Z Created /home/runner/work/maka/maka/release/asf/apache-maka-0.2.0-incubating-src.tar.gz +2026-09-27T05:29:03.5654045Z Commit 7bfadeae3cbf5c7e2ea368eb3dbdedcb34590feb +2026-09-27T05:29:03.5746527Z ##[group]Run node --test scripts/check-locale-hygiene.test.mjs +2026-09-27T05:29:03.5746994Z node --test scripts/check-locale-hygiene.test.mjs +2026-09-27T05:29:03.5747334Z if [[ -n "$BASE_SHA" ]]; then +2026-09-27T05:29:03.5747666Z  npm run check:locale-hygiene -- --base "$BASE_SHA" +2026-09-27T05:29:03.5748096Z else +2026-09-27T05:29:03.5748322Z  npm run check:locale-hygiene +2026-09-27T05:29:03.5748583Z fi +2026-09-27T05:29:03.5787832Z shell: /usr/bin/bash -e {0} +2026-09-27T05:29:03.5788117Z env: +2026-09-27T05:29:03.5788379Z BASE_SHA: d89ccce01ab631d63de2a8986fc76a1960af8dc2 +2026-09-27T05:29:03.5788688Z ##[endgroup] +2026-09-27T05:29:03.6228286Z TAP version 13 +2026-09-27T05:29:03.6630375Z # Subtest: flags locale literal comparisons in either quote style +2026-09-27T05:29:03.6635237Z ok 1 - flags locale literal comparisons in either quote style +2026-09-27T05:29:03.6637545Z --- +2026-09-27T05:29:03.6638178Z duration_ms: 3.02444 +2026-09-27T05:29:03.6638787Z type: 'test' +2026-09-27T05:29:03.6639584Z ... +2026-09-27T05:29:03.6640101Z # Subtest: counts every match on a line, not the line +2026-09-27T05:29:03.6640693Z ok 2 - counts every match on a line, not the line +2026-09-27T05:29:03.6641157Z --- +2026-09-27T05:29:03.6641466Z duration_ms: 0.454491 +2026-09-27T05:29:03.6641844Z type: 'test' +2026-09-27T05:29:03.6642155Z ... +2026-09-27T05:29:03.6642588Z # Subtest: flags silent locale defaults and payload sniffing +2026-09-27T05:29:03.6647637Z ok 3 - flags silent locale defaults and payload sniffing +2026-09-27T05:29:03.6655711Z --- +2026-09-27T05:29:03.6656507Z duration_ms: 0.332222 +2026-09-27T05:29:03.6657249Z type: 'test' +2026-09-27T05:29:03.6657605Z ... +2026-09-27T05:29:03.6657926Z # Subtest: ignores catalog indexing +2026-09-27T05:29:03.6658382Z ok 4 - ignores catalog indexing +2026-09-27T05:29:03.6658739Z --- +2026-09-27T05:29:03.6659042Z duration_ms: 0.131685 +2026-09-27T05:29:03.6659385Z type: 'test' +2026-09-27T05:29:03.6659649Z ... +2026-09-27T05:29:03.6659962Z # Subtest: compare fails only on growth per rule +2026-09-27T05:29:03.6660456Z ok 5 - compare fails only on growth per rule +2026-09-27T05:29:03.6660838Z --- +2026-09-27T05:29:03.6661118Z duration_ms: 0.387119 +2026-09-27T05:29:03.6661417Z type: 'test' +2026-09-27T05:29:03.6661703Z ... +2026-09-27T05:29:03.6662057Z # Subtest: flags a Han fallback handed to the en-only helper +2026-09-27T05:29:03.6662604Z ok 6 - flags a Han fallback handed to the en-only helper +2026-09-27T05:29:03.6663057Z --- +2026-09-27T05:29:03.6663343Z duration_ms: 0.122997 +2026-09-27T05:29:03.6663659Z type: 'test' +2026-09-27T05:29:03.6663932Z ... +2026-09-27T05:29:03.6664314Z # Subtest: flags a literal title in a native dialog call +2026-09-27T05:29:03.6665015Z ok 7 - flags a literal title in a native dialog call +2026-09-27T05:29:03.6665452Z --- +2026-09-27T05:29:03.6665730Z duration_ms: 0.211296 +2026-09-27T05:29:03.6666035Z type: 'test' +2026-09-27T05:29:03.6666334Z ... +2026-09-27T05:29:03.6721900Z 1..7 +2026-09-27T05:29:03.6722217Z # tests 7 +2026-09-27T05:29:03.6722477Z # suites 0 +2026-09-27T05:29:03.6722720Z # pass 7 +2026-09-27T05:29:03.6722946Z # fail 0 +2026-09-27T05:29:03.6723178Z # cancelled 0 +2026-09-27T05:29:03.6723435Z # skipped 0 +2026-09-27T05:29:03.6723970Z # todo 0 +2026-09-27T05:29:03.6724321Z # duration_ms 60.194653 +2026-09-27T05:29:03.7587966Z +2026-09-27T05:29:03.7589081Z > maka@0.2.0 check:locale-hygiene +2026-09-27T05:29:03.7590203Z > node scripts/check-locale-hygiene.mjs --base d89ccce01ab631d63de2a8986fc76a1960af8dc2 +2026-09-27T05:29:03.7590984Z +2026-09-27T05:29:05.0812745Z Locale hygiene check passed. +2026-09-27T05:29:05.0970332Z ##[group]Run actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 +2026-09-27T05:29:05.0970702Z with: +2026-09-27T05:29:05.0970909Z node-version: 24 +2026-09-27T05:29:05.0971118Z cache: npm +2026-09-27T05:29:05.0971323Z check-latest: false +2026-09-27T05:29:05.0973487Z token: *** +2026-09-27T05:29:05.0973706Z package-manager-cache: true +2026-09-27T05:29:05.0973952Z ##[endgroup] +2026-09-27T05:29:05.2207744Z Found in cache @ /opt/hostedtoolcache/node/24.21.0/x64 +2026-09-27T05:29:05.2209920Z ##[group]Environment details +2026-09-27T05:29:05.5901682Z node: v24.21.0 +2026-09-27T05:29:05.5902051Z npm: 11.19.0 +2026-09-27T05:29:05.5902654Z yarn: 1.22.22 +2026-09-27T05:29:05.5903174Z ##[endgroup] +2026-09-27T05:29:05.5918320Z [command]/opt/hostedtoolcache/node/24.21.0/x64/bin/npm config get cache +2026-09-27T05:29:05.6983990Z /home/runner/.npm +2026-09-27T05:29:05.8238763Z Cache hit for: node-cache-Linux-x64-npm-7c16d5ef1a6cdb54d21ed5ef38633e29c6d2cae966c135b32f943cea66cd25a0 +2026-09-27T05:29:06.9436789Z Received 134217728 of 236212523 (56.8%), 127.9 MBs/sec +2026-09-27T05:29:07.3028071Z Received 236212523 of 236212523 (100.0%), 165.5 MBs/sec +2026-09-27T05:29:07.3038157Z Cache Size: ~225 MB (236212523 B) +2026-09-27T05:29:07.3139333Z [command]/usr/bin/tar -xf /home/runner/work/_temp/9fd01933-829c-40b3-bb62-31c28c86d0c4/cache.tzst -P -C /home/runner/work/maka/maka --use-compress-program unzstd +2026-09-27T05:29:07.5998150Z Cache restored successfully +2026-09-27T05:29:07.6092382Z Cache restored from key: node-cache-Linux-x64-npm-7c16d5ef1a6cdb54d21ed5ef38633e29c6d2cae966c135b32f943cea66cd25a0 +2026-09-27T05:29:07.6230336Z ##[group]Run npm install --global --no-audit --no-fund "$(node -p 'require("./package.json").packageManager')" +2026-09-27T05:29:07.6231031Z npm install --global --no-audit --no-fund "$(node -p 'require("./package.json").packageManager')" +2026-09-27T05:29:07.6278535Z shell: /usr/bin/bash -e {0} +2026-09-27T05:29:07.6278840Z ##[endgroup] +2026-09-27T05:29:11.1862503Z +2026-09-27T05:29:11.1870029Z changed 10 packages in 3s +2026-09-27T05:29:11.2708446Z ##[group]Run actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 +2026-09-27T05:29:11.2708805Z with: +2026-09-27T05:29:11.2709035Z path: ~/.cache/electron +2026-09-27T05:29:11.2709452Z key: electron-Linux-7c16d5ef1a6cdb54d21ed5ef38633e29c6d2cae966c135b32f943cea66cd25a0 +2026-09-27T05:29:11.2709905Z restore-keys: electron-Linux- +2026-09-27T05:29:11.2710179Z enableCrossOsArchive: false +2026-09-27T05:29:11.2710448Z fail-on-cache-miss: false +2026-09-27T05:29:11.2710692Z lookup-only: false +2026-09-27T05:29:11.2710917Z save-always: false +2026-09-27T05:29:11.2711140Z ##[endgroup] +2026-09-27T05:29:11.5005801Z Cache hit for: electron-Linux-7c16d5ef1a6cdb54d21ed5ef38633e29c6d2cae966c135b32f943cea66cd25a0 +2026-09-27T05:29:12.6116432Z Received 146800640 of 249901822 (58.7%), 139.7 MBs/sec +2026-09-27T05:29:12.9761441Z Received 249901822 of 249901822 (100.0%), 174.1 MBs/sec +2026-09-27T05:29:12.9762664Z Cache Size: ~238 MB (249901822 B) +2026-09-27T05:29:12.9829935Z [command]/usr/bin/tar -xf /home/runner/work/_temp/b346f799-27c0-4a64-b44c-21963efc577a/cache.tzst -P -C /home/runner/work/maka/maka --use-compress-program unzstd +2026-09-27T05:29:13.2042157Z Cache restored successfully +2026-09-27T05:29:13.2204222Z Cache restored from key: electron-Linux-7c16d5ef1a6cdb54d21ed5ef38633e29c6d2cae966c135b32f943cea66cd25a0 +2026-09-27T05:29:13.2301090Z ##[group]Run sudo apt-get update && sudo apt-get install -y ripgrep bubblewrap +2026-09-27T05:29:13.2301609Z sudo apt-get update && sudo apt-get install -y ripgrep bubblewrap +2026-09-27T05:29:13.2340670Z shell: /usr/bin/bash -e {0} +2026-09-27T05:29:13.2340982Z ##[endgroup] +2026-09-27T05:29:13.3004531Z Get:1 file:/etc/apt/apt-mirrors.txt Mirrorlist [144 B] +2026-09-27T05:29:13.3398548Z Get:6 https://packages.microsoft.com/ubuntu/24.04/prod noble InRelease [3600 B] +2026-09-27T05:29:13.3638598Z Hit:2 http://azure.archive.ubuntu.com/ubuntu noble InRelease +2026-09-27T05:29:13.3662461Z Get:3 http://azure.archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB] +2026-09-27T05:29:13.3717434Z Get:4 http://azure.archive.ubuntu.com/ubuntu noble-backports InRelease [126 kB] +2026-09-27T05:29:13.3729571Z Get:5 http://azure.archive.ubuntu.com/ubuntu noble-security InRelease [126 kB] +2026-09-27T05:29:13.4174055Z Get:7 https://packages.microsoft.com/ubuntu/24.04/prod noble/main arm64 Packages [446 kB] +2026-09-27T05:29:13.4336475Z Get:8 https://packages.microsoft.com/ubuntu/24.04/prod noble/main amd64 Packages [498 kB] +2026-09-27T05:29:13.5034192Z Get:9 http://azure.archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages [1319 kB] +2026-09-27T05:29:13.5099336Z Get:10 http://azure.archive.ubuntu.com/ubuntu noble-updates/main Translation-en [299 kB] +2026-09-27T05:29:13.5118764Z Get:11 http://azure.archive.ubuntu.com/ubuntu noble-updates/main amd64 Components [181 kB] +2026-09-27T05:29:13.5133416Z Get:12 http://azure.archive.ubuntu.com/ubuntu noble-updates/universe amd64 Packages [1697 kB] +2026-09-27T05:29:13.5217158Z Get:13 http://azure.archive.ubuntu.com/ubuntu noble-updates/universe Translation-en [340 kB] +2026-09-27T05:29:13.5235657Z Get:14 http://azure.archive.ubuntu.com/ubuntu noble-updates/universe amd64 Components [388 kB] +2026-09-27T05:29:13.5259012Z Get:15 http://azure.archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Packages [1654 kB] +2026-09-27T05:29:13.5351301Z Get:16 http://azure.archive.ubuntu.com/ubuntu noble-updates/restricted Translation-en [377 kB] +2026-09-27T05:29:13.5374552Z Get:17 http://azure.archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Components [940 B] +2026-09-27T05:29:13.5535645Z Get:18 http://azure.archive.ubuntu.com/ubuntu noble-backports/main amd64 Packages [40.6 kB] +2026-09-27T05:29:13.5983021Z Get:19 http://azure.archive.ubuntu.com/ubuntu noble-backports/main amd64 Components [5760 B] +2026-09-27T05:29:13.6015811Z Get:20 http://azure.archive.ubuntu.com/ubuntu noble-backports/universe amd64 Packages [31.0 kB] +2026-09-27T05:29:13.6024959Z Get:21 http://azure.archive.ubuntu.com/ubuntu noble-backports/universe Translation-en [18.6 kB] +2026-09-27T05:29:13.6026566Z Get:22 http://azure.archive.ubuntu.com/ubuntu noble-backports/universe amd64 Components [12.6 kB] +2026-09-27T05:29:13.6027962Z Get:23 http://azure.archive.ubuntu.com/ubuntu noble-security/main amd64 Packages [1053 kB] +2026-09-27T05:29:13.6080408Z Get:24 http://azure.archive.ubuntu.com/ubuntu noble-security/main Translation-en [219 kB] +2026-09-27T05:29:13.6098242Z Get:25 http://azure.archive.ubuntu.com/ubuntu noble-security/main amd64 Components [46.5 kB] +2026-09-27T05:29:13.6108528Z Get:26 http://azure.archive.ubuntu.com/ubuntu noble-security/universe amd64 Packages [1220 kB] +2026-09-27T05:29:13.6167795Z Get:27 http://azure.archive.ubuntu.com/ubuntu noble-security/universe Translation-en [245 kB] +2026-09-27T05:29:13.6196017Z Get:28 http://azure.archive.ubuntu.com/ubuntu noble-security/universe amd64 Components [76.3 kB] +2026-09-27T05:29:13.6206918Z Get:29 http://azure.archive.ubuntu.com/ubuntu noble-security/restricted amd64 Packages [1535 kB] +2026-09-27T05:29:13.6280842Z Get:30 http://azure.archive.ubuntu.com/ubuntu noble-security/restricted Translation-en [353 kB] +2026-09-27T05:29:18.0756004Z Fetched 12.4 MB in 1s (8796 kB/s) +2026-09-27T05:29:18.9409390Z Reading package lists... +2026-09-27T05:29:18.9744862Z Reading package lists... +2026-09-27T05:29:19.1675436Z Building dependency tree... +2026-09-27T05:29:19.1681104Z Reading state information... +2026-09-27T05:29:19.3467529Z The following NEW packages will be installed: +2026-09-27T05:29:19.3475502Z bubblewrap ripgrep +2026-09-27T05:29:19.3638433Z 0 upgraded, 2 newly installed, 0 to remove and 32 not upgraded. +2026-09-27T05:29:19.3639206Z Need to get 1602 kB of archives. +2026-09-27T05:29:19.3639935Z After this operation, 5468 kB of additional disk space will be used. +2026-09-27T05:29:19.3640557Z Get:1 file:/etc/apt/apt-mirrors.txt Mirrorlist [144 B] +2026-09-27T05:29:19.4098044Z Get:2 http://azure.archive.ubuntu.com/ubuntu noble-updates/main amd64 bubblewrap amd64 0.9.0-1ubuntu0.3 [50.4 kB] +2026-09-27T05:29:19.4354729Z Get:3 http://azure.archive.ubuntu.com/ubuntu noble/universe amd64 ripgrep amd64 14.1.0-1 [1551 kB] +2026-09-27T05:29:19.7961059Z Fetched 1602 kB in 0s (8452 kB/s) +2026-09-27T05:29:19.8239155Z Selecting previously unselected package bubblewrap. +2026-09-27T05:29:19.8425143Z (Reading database ... +2026-09-27T05:29:19.8425807Z (Reading database ... 5% +2026-09-27T05:29:19.8426141Z (Reading database ... 10% +2026-09-27T05:29:19.8427332Z (Reading database ... 15% +2026-09-27T05:29:19.8427819Z (Reading database ... 20% +2026-09-27T05:29:19.8428186Z (Reading database ... 25% +2026-09-27T05:29:19.8428534Z (Reading database ... 30% +2026-09-27T05:29:19.8429341Z (Reading database ... 35% +2026-09-27T05:29:19.8429678Z (Reading database ... 40% +2026-09-27T05:29:19.8430044Z (Reading database ... 45% +2026-09-27T05:29:19.8430377Z (Reading database ... 50% +2026-09-27T05:29:19.8488999Z (Reading database ... 55% +2026-09-27T05:29:19.9766309Z (Reading database ... 60% +2026-09-27T05:29:20.1246543Z (Reading database ... 65% +2026-09-27T05:29:20.3714211Z (Reading database ... 70% +2026-09-27T05:29:20.5366406Z (Reading database ... 75% +2026-09-27T05:29:20.6780165Z (Reading database ... 80% +2026-09-27T05:29:20.8861230Z (Reading database ... 85% +2026-09-27T05:29:21.0758664Z (Reading database ... 90% +2026-09-27T05:29:21.2399441Z (Reading database ... 95% +2026-09-27T05:29:21.2400049Z (Reading database ... 100% +2026-09-27T05:29:21.2400756Z (Reading database ... 202190 files and directories currently installed.) +2026-09-27T05:29:21.2445738Z Preparing to unpack .../bubblewrap_0.9.0-1ubuntu0.3_amd64.deb ... +2026-09-27T05:29:21.2523176Z Unpacking bubblewrap (0.9.0-1ubuntu0.3) ... +2026-09-27T05:29:21.2759740Z Selecting previously unselected package ripgrep. +2026-09-27T05:29:21.2882568Z Preparing to unpack .../ripgrep_14.1.0-1_amd64.deb ... +2026-09-27T05:29:21.2892340Z Unpacking ripgrep (14.1.0-1) ... +2026-09-27T05:29:21.3824892Z Setting up bubblewrap (0.9.0-1ubuntu0.3) ... +2026-09-27T05:29:21.3873444Z Setting up ripgrep (14.1.0-1) ... +2026-09-27T05:29:21.3897140Z Processing triggers for man-db (2.12.0-4build2) ... +2026-09-27T05:29:21.3917635Z Not building database; man-db/auto-update is not 'true'. +2026-09-27T05:29:21.9468414Z +2026-09-27T05:29:21.9469678Z Running kernel seems to be up-to-date. +2026-09-27T05:29:21.9470081Z +2026-09-27T05:29:21.9470287Z No services need to be restarted. +2026-09-27T05:29:21.9470576Z +2026-09-27T05:29:21.9470779Z No containers need to be restarted. +2026-09-27T05:29:21.9471048Z +2026-09-27T05:29:21.9471315Z No user sessions are running outdated binaries. +2026-09-27T05:29:21.9471616Z +2026-09-27T05:29:21.9471997Z No VM guests are running outdated hypervisor (qemu) binaries on this host. +2026-09-27T05:29:22.8513456Z ##[group]Run if [[ -e /proc/sys/kernel/apparmor_restrict_unprivileged_userns ]]; then +2026-09-27T05:29:22.8514054Z if [[ -e /proc/sys/kernel/apparmor_restrict_unprivileged_userns ]]; then +2026-09-27T05:29:22.8514773Z  sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 +2026-09-27T05:29:22.8515140Z fi +2026-09-27T05:29:22.8515443Z if [[ -e /proc/sys/kernel/unprivileged_userns_clone ]]; then +2026-09-27T05:29:22.8515851Z  sudo sysctl -w kernel.unprivileged_userns_clone=1 +2026-09-27T05:29:22.8516183Z fi +2026-09-27T05:29:22.8556476Z shell: /usr/bin/bash -e {0} +2026-09-27T05:29:22.8556787Z ##[endgroup] +2026-09-27T05:29:22.8669871Z kernel.apparmor_restrict_unprivileged_userns = 0 +2026-09-27T05:29:22.8729857Z kernel.unprivileged_userns_clone = 1 +2026-09-27T05:29:22.8770361Z ##[group]Run npm ci +2026-09-27T05:29:22.8770606Z npm ci +2026-09-27T05:29:22.8806591Z shell: /usr/bin/bash -e {0} +2026-09-27T05:29:22.8806876Z ##[endgroup] +2026-09-27T05:29:28.6098339Z npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. +2026-09-27T05:29:28.6719465Z npm warn deprecated rimraf@2.6.3: Rimraf versions prior to v4 are no longer supported +2026-09-27T05:29:28.6996576Z npm warn deprecated lodash.isequal@4.5.0: This package is deprecated. Use require('node:util').isDeepStrictEqual instead. +2026-09-27T05:29:28.7984518Z npm warn deprecated glob@7.2.3: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me +2026-09-27T05:29:28.8001986Z npm warn deprecated glob@7.2.3: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me +2026-09-27T05:29:28.8020410Z npm warn deprecated glob@7.2.3: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me +2026-09-27T05:29:28.8031615Z npm warn deprecated glob@7.2.3: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me +2026-09-27T05:29:29.2404311Z npm warn deprecated boolean@3.2.0: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. +2026-09-27T05:29:30.4597168Z npm warn deprecated @modelcontextprotocol/server-legacy@2.0.0: This package is a frozen copy of v1's SSE transport and OAuth Authorization Server helpers for migration purposes only. Use StreamableHTTP from @modelcontextprotocol/server and a dedicated OAuth server in production. Will not receive new features. +2026-09-27T05:29:38.4724534Z +2026-09-27T05:29:38.4725131Z > maka@0.2.0 postinstall +2026-09-27T05:29:38.4725760Z > node scripts/apply-dependency-patches.mjs && node scripts/install-electron-with-retry.mjs +2026-09-27T05:29:38.4726120Z +2026-09-27T05:29:38.6295659Z patch-package 8.0.1 +2026-09-27T05:29:38.6296944Z Applying patches... +2026-09-27T05:29:38.6361310Z @ai-sdk/provider-utils@5.0.40 ✔ +2026-09-27T05:29:38.8625868Z @astryxdesign/core@0.6.2 ✔ +2026-09-27T05:29:38.8675894Z @earendil-works/pi-tui@0.85.1 ✔ +2026-09-27T05:29:38.8841488Z @maka/runtime/@ai-sdk/code-mode@1.0.56 ✔ +2026-09-27T05:29:38.9031975Z @modelcontextprotocol/client@2.0.0 ✔ +2026-09-27T05:29:38.9255041Z @sigstore/core@4.0.1 ✔ +2026-09-27T05:29:38.9262304Z @tufjs/models@5.0.0 ✔ +2026-09-27T05:29:38.9597649Z @xterm/xterm@6.0.0 ✔ +2026-09-27T05:29:38.9612288Z app-builder-lib@26.15.3 ✔ +2026-09-27T05:29:38.9741017Z electron-updater@6.8.9 ✔ +2026-09-27T05:29:38.9751101Z node-pty@1.2.0-beta.15 ✔ +2026-09-27T05:29:39.1153089Z run@2.1.4 ✔ +2026-09-27T05:29:39.1423659Z virtua@0.52.7 ✔ +2026-09-27T05:29:39.1437159Z zod@4.6.5 ✔ +2026-09-27T05:29:40.3310319Z +2026-09-27T05:29:40.3310929Z > maka@0.2.0 prepare +2026-09-27T05:29:40.3311588Z > npm run sync:model-metadata && node scripts/install-husky.mjs +2026-09-27T05:29:40.3311934Z +2026-09-27T05:29:40.4356483Z +2026-09-27T05:29:40.4357146Z > maka@0.2.0 sync:model-metadata +2026-09-27T05:29:40.4357680Z > node scripts/sync-model-metadata.mjs +2026-09-27T05:29:40.4357884Z +2026-09-27T05:29:40.5147033Z (node:3823) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time +2026-09-27T05:29:40.5148223Z (Use `node --trace-warnings ...` to show where the warning was created) +2026-09-27T05:29:41.0714835Z +2026-09-27T05:29:41.0715939Z added 1076 packages, and audited 1090 packages in 18s +2026-09-27T05:29:41.0716387Z +2026-09-27T05:29:41.0716799Z 213 packages are looking for funding +2026-09-27T05:29:41.0717162Z run `npm fund` for details +2026-09-27T05:29:41.0728611Z +2026-09-27T05:29:41.0728947Z found 0 vulnerabilities +2026-09-27T05:29:41.0741874Z npm warn install-scripts 7 packages have install scripts not yet covered by allowScripts: +2026-09-27T05:29:41.0742657Z npm warn install-scripts @astryxdesign/cli@0.6.2 (postinstall: node scripts/postinstall.mjs) +2026-09-27T05:29:41.0743350Z npm warn install-scripts @astryxdesign/core@0.6.2 (postinstall: node scripts/postinstall.mjs) +2026-09-27T05:29:41.0744173Z npm warn install-scripts @jackwener/opencli@1.8.7 (postinstall: node scripts/postinstall.js || true; node scripts/fetch-adapters.js || true) +2026-09-27T05:29:41.0745385Z npm warn install-scripts electron-winstaller@5.4.0 (install: node ./script/select-7z-arch.js) +2026-09-27T05:29:41.0745993Z npm warn install-scripts esbuild@0.28.2 (postinstall: node install.js) +2026-09-27T05:29:41.0746800Z npm warn install-scripts protobufjs@7.6.5 (postinstall: node scripts/postinstall) +2026-09-27T05:29:41.0747399Z npm warn install-scripts tree-sitter-javascript@0.25.0 (install: node-gyp-build) +2026-09-27T05:29:41.0747812Z npm warn install-scripts +2026-09-27T05:29:41.0748368Z npm warn install-scripts Run `npm install-scripts ls` to review, or `npm install-scripts approve ` to allow. +2026-09-27T05:29:41.1380684Z ##[group]Run npm run check:tui-copy +2026-09-27T05:29:41.1381025Z npm run check:tui-copy +2026-09-27T05:29:41.1381361Z node --test scripts/check-tui-copy.test.mjs +2026-09-27T05:29:41.1420711Z shell: /usr/bin/bash -e {0} +2026-09-27T05:29:41.1421006Z ##[endgroup] +2026-09-27T05:29:41.2355472Z +2026-09-27T05:29:41.2356271Z > maka@0.2.0 check:tui-copy +2026-09-27T05:29:41.2356842Z > node scripts/check-tui-copy.mjs +2026-09-27T05:29:41.2357130Z +2026-09-27T05:29:41.5412501Z TUI copy boundaries: ok (18 files) +2026-09-27T05:29:41.6636846Z ✔ rejects CJK in string and template literals (8.998875ms) +2026-09-27T05:29:41.6638073Z ✔ ignores CJK in comments and runtime data (0.581315ms) +2026-09-27T05:29:41.6638816Z ✔ rejects locale comparisons that select copy (3.510478ms) +2026-09-27T05:29:41.6639528Z ✔ rejects literals at user-visible presentation sinks (2.387515ms) +2026-09-27T05:29:41.6640214Z ✔ does not classify protocol fields or dynamic labels as copy literals (0.625339ms) +2026-09-27T05:29:41.6640794Z ✔ the legacy inventory is exact in both directions (0.338487ms) +2026-09-27T05:29:41.6641358Z ✔ classifies every TUI source file as covered or infrastructure (4.780136ms) +2026-09-27T05:29:41.6716385Z ℹ tests 7 +2026-09-27T05:29:41.6716749Z ℹ suites 0 +2026-09-27T05:29:41.6717043Z ℹ pass 7 +2026-09-27T05:29:41.6718271Z ℹ fail 0 +2026-09-27T05:29:41.6718683Z ℹ cancelled 0 +2026-09-27T05:29:41.6719067Z ℹ skipped 0 +2026-09-27T05:29:41.6719381Z ℹ todo 0 +2026-09-27T05:29:41.6719764Z ℹ duration_ms 90.394923 +2026-09-27T05:29:41.6805829Z ##[group]Run node --test scripts/biome-staged-check.test.mjs +2026-09-27T05:29:41.6806477Z node --test scripts/biome-staged-check.test.mjs +2026-09-27T05:29:41.6862947Z shell: /usr/bin/bash -e {0} +2026-09-27T05:29:41.6863370Z ##[endgroup] +2026-09-27T05:29:41.8286677Z example.js: staged content is not formatted by Biome +2026-09-27T05:29:41.9197605Z valid.js: staged content is not formatted by Biome +2026-09-27T05:29:42.0142329Z large.js: staged content is not formatted by Biome +2026-09-27T05:29:42.0295738Z huge.js: staged text is 2082 bytes, over the 1024 this check reads +2026-09-27T05:29:42.1774052Z ✔ checks staged bytes when the working tree was formatted afterward (61.510457ms) +2026-09-27T05:29:42.1779070Z ✔ skips a staged binary larger than the default child-process buffer (31.982992ms) +2026-09-27T05:29:42.1783353Z ✔ checks a staged source file that holds a NUL byte (58.468619ms) +2026-09-27T05:29:42.1784765Z ✔ checks a staged source file larger than the default child-process buffer (94.428439ms) +2026-09-27T05:29:42.1786983Z ✔ refuses a staged source file over the ceiling instead of skipping it (14.937615ms) +2026-09-27T05:29:42.1787948Z ✔ skips a staged binary over the ceiling (13.547099ms) +2026-09-27T05:29:42.1788763Z ✔ skips a small staged binary Biome cannot decode (13.927201ms) +2026-09-27T05:29:42.1789638Z ✔ passes a language Biome parses but does not format (54.863514ms) +2026-09-27T05:29:42.1790620Z ✔ ignores unstaged formatting drift when staged bytes are formatted (57.62623ms) +2026-09-27T05:29:42.1873910Z ℹ tests 9 +2026-09-27T05:29:42.1874270Z ℹ suites 0 +2026-09-27T05:29:42.1874722Z ℹ pass 9 +2026-09-27T05:29:42.1874969Z ℹ fail 0 +2026-09-27T05:29:42.1875220Z ℹ cancelled 0 +2026-09-27T05:29:42.1875506Z ℹ skipped 0 +2026-09-27T05:29:42.1875772Z ℹ todo 0 +2026-09-27T05:29:42.1876068Z ℹ duration_ms 462.802633 +2026-09-27T05:29:42.1954642Z ##[group]Run npm run lint +2026-09-27T05:29:42.1954966Z npm run lint +2026-09-27T05:29:42.1995219Z shell: /usr/bin/bash -e {0} +2026-09-27T05:29:42.1995672Z ##[endgroup] +2026-09-27T05:29:42.2893112Z +2026-09-27T05:29:42.2893715Z > maka@0.2.0 lint +2026-09-27T05:29:42.2894035Z > biome lint . +2026-09-27T05:29:42.2894178Z +2026-09-27T05:29:44.9790835Z Checked 3857 files in 2s. No fixes applied. +2026-09-27T05:29:45.3341302Z ##[group]Run npm run format:check +2026-09-27T05:29:45.3341618Z npm run format:check +2026-09-27T05:29:45.3382411Z shell: /usr/bin/bash -e {0} +2026-09-27T05:29:45.3382748Z ##[endgroup] +2026-09-27T05:29:45.4338126Z +2026-09-27T05:29:45.4338914Z > maka@0.2.0 format:check +2026-09-27T05:29:45.4339467Z > biome format . +2026-09-27T05:29:45.4339752Z +2026-09-27T05:29:47.7843187Z Checked 2246 files in 2s. No fixes applied. +2026-09-27T05:29:47.9959854Z ##[group]Run if [[ -n "$BASE_SHA" ]]; then +2026-09-27T05:29:47.9960198Z if [[ -n "$BASE_SHA" ]]; then +2026-09-27T05:29:47.9960615Z  npm run check:renderer-architecture -- --base "$BASE_SHA" --strict-base +2026-09-27T05:29:47.9961007Z else +2026-09-27T05:29:47.9961292Z  npm run check:renderer-architecture +2026-09-27T05:29:47.9961580Z fi +2026-09-27T05:29:48.0003193Z shell: /usr/bin/bash -e {0} +2026-09-27T05:29:48.0003500Z env: +2026-09-27T05:29:48.0003785Z BASE_SHA: d89ccce01ab631d63de2a8986fc76a1960af8dc2 +2026-09-27T05:29:48.0004128Z ##[endgroup] +2026-09-27T05:29:48.0941754Z +2026-09-27T05:29:48.0942539Z > maka@0.2.0 check:renderer-architecture +2026-09-27T05:29:48.0943592Z > npm --workspace @maka/desktop run check:architecture -- --base d89ccce01ab631d63de2a8986fc76a1960af8dc2 --strict-base +2026-09-27T05:29:48.0944030Z +2026-09-27T05:29:48.2115376Z +2026-09-27T05:29:48.2116295Z > @maka/desktop@0.2.0 check:architecture +2026-09-27T05:29:48.2117468Z > node --test scripts/check-renderer-architecture.test.mjs && node scripts/check-renderer-architecture.mjs --base d89ccce01ab631d63de2a8986fc76a1960af8dc2 --strict-base +2026-09-27T05:29:48.2118050Z +2026-09-27T05:29:48.3944603Z ▶ renderer architecture checker fixtures +2026-09-27T05:29:48.3945563Z ✔ accepts the legal inward dependency graph and testing entry boundary (50.976744ms) +2026-09-27T05:29:48.4004005Z ✔ resolves @maka/desktop self-imports before enforcing zone boundaries (6.836094ms) +2026-09-27T05:29:48.4115208Z ✔ rejects direct browser environment access in shell and composition files (7.902064ms) +2026-09-27T05:29:48.4116268Z ✔ resolves browser-global shadowing lexically instead of masking the whole file (1.59706ms) +2026-09-27T05:29:48.4118446Z ✔ counts environment globals only in value-reference positions (1.46913ms) +2026-09-27T05:29:48.4161128Z ✔ rejects computed and optional access to the Desktop bridge in strict zones (4.523158ms) +2026-09-27T05:29:48.4208881Z ✔ rejects cross-feature, deep feature, and production testing imports (4.611308ms) +2026-09-27T05:29:48.4242676Z ✔ rejects a feature production module importing its own testing entry (3.279648ms) +2026-09-27T05:29:48.4275716Z ✔ keeps feature stories entries test-only (3.274122ms) +2026-09-27T05:29:48.4318565Z ✔ rejects an application contract re-exporting application implementation (4.182639ms) +2026-09-27T05:29:48.4357345Z ✔ rejects composition and Desktop adapters importing deep application implementation (3.694811ms) +2026-09-27T05:29:48.4396450Z ✔ rejects Electron and node built-in imports from strict feature code (4.023883ms) +2026-09-27T05:29:48.4464174Z ✔ keeps Desktop platform adapters free of UI lifecycle and runtime module loading (6.689369ms) +2026-09-27T05:29:48.4488308Z ✔ rejects new AppShell-family helper files outside the debt ledger (2.478967ms) +2026-09-27T05:29:48.4528484Z ✔ generates the transitive legacy closure owned directly by AppShell (3.912247ms) +2026-09-27T05:29:48.4633299Z ✔ prefers runtime source over a same-stem declaration in the AppShell closure (10.322511ms) +2026-09-27T05:29:48.4732781Z ✔ ratchets legacy helpers reachable through a feature public ownership boundary (9.98128ms) +2026-09-27T05:29:48.4795797Z ✔ ratchets legacy helpers reachable through a shared Desktop boundary (6.199964ms) +2026-09-27T05:29:48.4859867Z ✔ ratchets capability debt owned directly by a shared Desktop intermediary (6.294257ms) +2026-09-27T05:29:48.5003728Z ✔ allows support debt to leave the AppShell closure but rejects the reverse ownership regression (14.28227ms) +2026-09-27T05:29:48.5053634Z ✔ rejects stateful hook growth inside a transitive legacy AppShell helper (4.944366ms) +2026-09-27T05:29:48.5136687Z ✔ rejects a feature controller Hook returning to AppShell after provider migration (8.247059ms) +2026-09-27T05:29:48.5182425Z ✔ rejects bridge and environment capability growth inside a transitive legacy AppShell helper (4.503354ms) +2026-09-27T05:29:48.5236334Z ✔ rejects dependency growth inside a transitive legacy AppShell helper (5.352746ms) +2026-09-27T05:29:48.5316876Z ✔ allows replacing a legacy dependency with a platform adapter without growing imports (7.881795ms) +2026-09-27T05:29:48.5372493Z ✔ rejects a stale AppShell closure ledger when another legacy file becomes reachable (5.631274ms) +2026-09-27T05:29:48.5404940Z ✔ rejects non-static dependency escape hatches inside the AppShell legacy closure (3.260516ms) +2026-09-27T05:29:48.5515142Z ✔ rejects stateful shell hooks and imports from legacy implementation (10.860118ms) +2026-09-27T05:29:48.5545548Z ✔ rejects bridge debt that grows relative to the base ledger (2.900525ms) +2026-09-27T05:29:48.5643737Z ✔ accepts the single pinned renderer module entry (9.884699ms) +2026-09-27T05:29:48.5884620Z ✔ allows a WorkHub query on the pinned document, but rejects another surface or document (23.892656ms) +2026-09-27T05:29:48.5955236Z ✔ rejects replacing the pinned renderer module entry with an alternate source (7.040774ms) +2026-09-27T05:29:48.6032104Z ✔ rejects adding another renderer module entry beside the pinned source (7.637736ms) +2026-09-27T05:29:48.6096492Z ✔ rejects changing the packaged main-window loader to an alternate renderer document (6.470357ms) +2026-09-27T05:29:48.6165686Z ✔ rejects shadowing the pinned renderer path helpers behind local bindings (6.747295ms) +2026-09-27T05:29:48.6242305Z ✔ rejects reassigning the resolved renderer entry before loading it (7.682058ms) +2026-09-27T05:29:48.6306624Z ✔ rejects mutating the frozen renderer entry before loading it (6.434787ms) +2026-09-27T05:29:48.6377370Z ✔ rejects aliasing the main window navigation API around the dedicated loader (6.90463ms) +2026-09-27T05:29:48.6472397Z ✔ rejects a computed second navigation inside the dedicated loader branch (9.521139ms) +2026-09-27T05:29:48.6536570Z ✔ rejects remapping the Vite renderer root to an alternate source tree (6.410572ms) +2026-09-27T05:29:48.6605881Z ✔ rejects shadowing the pinned Vite config factory behind a local binding (6.83733ms) +2026-09-27T05:29:48.6711509Z ✔ rejects pointing the Vite entry guard at a different renderer root (8.206744ms) +2026-09-27T05:29:48.6712754Z ✔ attests the canonical main source in the final Vite entry graph (0.577697ms) +2026-09-27T05:29:48.6718014Z ✔ does not apply the renderer entry contract to Storybook builds (0.121284ms) +2026-09-27T05:29:48.6722933Z ✔ rejects a Vite HTML transform that swaps the final entry graph (0.133065ms) +2026-09-27T05:29:48.6724824Z ✔ rejects executable HTML injected around the canonical module entry (1.439582ms) +2026-09-27T05:29:48.6752282Z ✔ rejects a newly allowlisted root debt file relative to the base ledger (3.830775ms) +2026-09-27T05:29:48.6775565Z ✔ rejects deleting root debt while the existing root entry is still dirty (2.328062ms) +2026-09-27T05:29:48.6808652Z ✔ rejects removing the permanent root guard while a clean thin entry still exists (3.080883ms) +2026-09-27T05:29:48.6844234Z ✔ rejects bridge debt returning to a retained clean root entry (3.820932ms) +2026-09-27T05:29:48.6864027Z ✔ allows removing the permanent root guard after its source is deleted (1.967703ms) +2026-09-27T05:29:48.6892816Z ✔ rejects retiring root debt by moving state and storage ownership into bootstrap (2.79059ms) +2026-09-27T05:29:48.6911833Z ✔ allows new legacy files inside an explicitly approved growth directory (1.921375ms) +2026-09-27T05:29:48.6932221Z ✔ rejects arbitrary new unclassified renderer source names relative to the base ledger (1.678789ms) +2026-09-27T05:29:48.6968299Z ✔ rejects unbudgeted legacy imports from every strict ownership zone (3.853483ms) +2026-09-27T05:29:48.7057188Z ✔ detects bridge aliases, TypeScript wrappers, and aliased React hooks (3.847251ms) +2026-09-27T05:29:48.7058144Z ✔ retains full bridge method paths after the Desktop bridge is aliased (0.525665ms) +2026-09-27T05:29:48.7059424Z ✔ retains stateful hook ownership through local aliases (1.212395ms) +2026-09-27T05:29:48.7112034Z ✔ recognizes React 19 use and namespace-destructured custom Hooks (8.457012ms) +2026-09-27T05:29:48.7168165Z ✔ parses TypeScript and static-template dependencies and fails closed on dynamic paths (5.552337ms) +2026-09-27T05:29:48.7199609Z ✔ forbids exposing a feature testing entry through its public index (2.697666ms) +2026-09-27T05:29:48.7249249Z ✔ allows legacy AppShell dependency replacement with feature public APIs and application contracts (5.307899ms) +2026-09-27T05:29:48.7290882Z ✔ exempts AppShell import specifiers from src/renderer/application/contracts/fixture-diagnostics.ts (4.227517ms) +2026-09-27T05:29:48.7344248Z ✔ prices AppShell import specifiers from src/renderer/application/sessions/fixture-service.ts (4.974567ms) +2026-09-27T05:29:48.7379553Z ✔ rejects replacing legacy AppShell debt with a feature private import (3.733016ms) +2026-09-27T05:29:48.7434648Z ✔ enforces a unique feature owner for registered controllers (5.493701ms) +2026-09-27T05:29:48.7472766Z ✔ keeps the registered owner as a JSX-only component inside its own file (3.783574ms) +2026-09-27T05:29:48.7513672Z ✔ binds controller calls to the registered import instead of a same-name hook (3.927732ms) +2026-09-27T05:29:48.7575755Z ✔ requires consumers to mount the registered owner through JSX (6.060164ms) +2026-09-27T05:29:48.7648857Z ✔ rejects controller imports, runtime loading, and public re-exports outside the owner (7.341206ms) +2026-09-27T05:29:48.7678356Z ✔ requires the registered owner to import and call its controller exactly once (3.006189ms) +2026-09-27T05:29:48.7720215Z ✔ ratchets controller owner contracts against their base configuration (4.105671ms) +2026-09-27T05:29:48.7751854Z ✔ allows a registered controller to retire without allowing it to return (3.20069ms) +2026-09-27T05:29:48.9289335Z ✔ preserves hand-authored controller owner policy when regenerating debt (3.023855ms) +2026-09-27T05:29:48.9290757Z ✔ fails closed when the CLI base argument is missing or invalid (149.972956ms) +2026-09-27T05:29:48.9291938Z ✔ renderer architecture checker fixtures (587.035045ms) +2026-09-27T05:29:48.9405393Z ▶ validated copy catalog dependencies +2026-09-27T05:29:48.9406535Z ✔ admits a validated copy catalog as a new legacy dependency and closure entry (11.662742ms) +2026-09-27T05:29:48.9491471Z ✔ does not price a catalog's own bare package runtime import (8.593474ms) +2026-09-27T05:29:48.9564097Z ✔ keeps the ratchet for a catalog with a hook call (7.356333ms) +2026-09-27T05:29:48.9641037Z ✔ keeps the ratchet for a catalog with a relative implementation import (7.660309ms) +2026-09-27T05:29:48.9712275Z ✔ keeps the ratchet for a catalog with a @maka/desktop self-import (6.770375ms) +2026-09-27T05:29:48.9768557Z ✔ keeps the ratchet for a catalog with no UiCatalog marker (5.751849ms) +2026-09-27T05:29:48.9836841Z ✔ keeps admission for copy keys named after browser globals and type-only relative imports (6.770692ms) +2026-09-27T05:29:48.9928046Z ✔ exempts a validated catalog's own type-only contract imports from dependency debt (6.77752ms) +2026-09-27T05:29:48.9929395Z ✔ prices only the runtime part of `import type { A } from './x.js'` (0.326724ms) +2026-09-27T05:29:48.9930636Z ✔ prices only the runtime part of `import { type A } from './x.js'` (0.330909ms) +2026-09-27T05:29:48.9931721Z ✔ prices only the runtime part of `export type { A } from './x.js'` (0.171794ms) +2026-09-27T05:29:48.9932969Z ✔ prices only the runtime part of `export type * from './x.js'` (0.133627ms) +2026-09-27T05:29:48.9935890Z ✔ prices only the runtime part of `export type B = import('./x.js').A` (0.181313ms) +2026-09-27T05:29:48.9936929Z ✔ prices only the runtime part of `import { a, type A } from './x.js'` (0.581633ms) +2026-09-27T05:29:48.9937872Z ✔ prices only the runtime part of `import './x.js'` (0.203374ms) +2026-09-27T05:29:48.9938758Z ✔ prices only the runtime part of `export * from './x.js'` (0.131031ms) +2026-09-27T05:29:49.0001556Z ✔ records no dependency debt for a new type-only import anywhere in the closure (7.263915ms) +2026-09-27T05:29:49.0038519Z ✔ starts counting the moment a type-only edge turns into a runtime import (3.56619ms) +2026-09-27T05:29:49.0095662Z ✔ exempts a new legacy edge to src/renderer/application/contracts/fixture-diagnostics.ts (5.74747ms) +2026-09-27T05:29:49.0136420Z ✔ exempts a new legacy edge to src/renderer/shell/fixture-shell.ts (4.090808ms) +2026-09-27T05:29:49.0182418Z ✔ exempts a new legacy edge to src/renderer/features/alpha/index.ts (4.578422ms) +2026-09-27T05:29:49.0230178Z ✔ prices a new legacy edge to src/renderer/application/sessions/fixture-service.ts (4.720572ms) +2026-09-27T05:29:49.0279584Z ✔ prices a new legacy edge to src/renderer/features/alpha/fixture-internal.ts (4.776929ms) +2026-09-27T05:29:49.0325498Z ✔ rejects a legacy type-only edge into an application implementation as a hard violation (4.473372ms) +2026-09-27T05:29:49.0387321Z ✔ keeps pricing every non-catalog edge for a root entry (5.835613ms) +2026-09-27T05:29:49.0416850Z ✔ fails closed upstream when a reachable catalog uses a dynamic import (3.289375ms) +2026-09-27T05:29:49.0495413Z ✔ still rejects an unrelated dependency added beside a validated catalog (7.809134ms) +2026-09-27T05:29:49.0534363Z ✔ lets feature code import a validated catalog without a legacy budget edge (3.516807ms) +2026-09-27T05:29:49.0535723Z ✔ validated copy catalog dependencies (124.672617ms) +2026-09-27T05:29:49.5175062Z ▶ renderer architecture base-tree derivation (git fixtures) +2026-09-27T05:29:49.5175790Z ✔ passes when the head commit holds equal or lower debt than the derived base tree (463.756535ms) +2026-09-27T05:29:49.8545539Z ✔ rejects a new unclassified legacy renderer file relative to the derived base tree (337.007571ms) +2026-09-27T05:29:50.2851344Z ✔ does not wedge on a base ledger that under-reports its own tree (#4250) (430.253975ms) +2026-09-27T05:29:50.5981907Z ✔ fails loudly under --strict-base when the base tree cannot be materialized (313.164513ms) +2026-09-27T05:29:50.9486821Z ✔ rejects weakened classification with ledger version 1 under --strict-base (350.470931ms) +2026-09-27T05:29:51.4022379Z ✔ rejects weakened classification with ledger version 2 under --strict-base (453.449836ms) +2026-09-27T05:29:51.7354927Z ✔ requires the base generator export only under --strict-base (333.102727ms) +2026-09-27T05:29:52.0637116Z ✔ handles read-only POSIX permissions on the checker directory according to --strict-base (328.094852ms) +2026-09-27T05:29:52.3239382Z ✔ treats a base checker that cannot be imported as a failure only under --strict-base (260.269449ms) +2026-09-27T05:29:52.3240805Z ✔ renderer architecture base-tree derivation (git fixtures) (3270.569935ms) +2026-09-27T05:29:52.3357949Z ℹ tests 112 +2026-09-27T05:29:52.3358362Z ℹ suites 3 +2026-09-27T05:29:52.3358676Z ℹ pass 112 +2026-09-27T05:29:52.3358982Z ℹ fail 0 +2026-09-27T05:29:52.3359305Z ℹ cancelled 0 +2026-09-27T05:29:52.3359644Z ℹ skipped 0 +2026-09-27T05:29:52.3359951Z ℹ todo 0 +2026-09-27T05:29:52.3360307Z ℹ duration_ms 4090.934554 +2026-09-27T05:30:07.5508948Z Renderer architecture check passed against d89ccce01ab631d63de2a8986fc76a1960af8dc2. +2026-09-27T05:30:07.5937964Z ##[group]Run npm run astryx:surface-inventory +2026-09-27T05:30:07.5938381Z npm run astryx:surface-inventory +2026-09-27T05:30:07.5938714Z npm run astryx:surface-inventory:test +2026-09-27T05:30:07.5979636Z shell: /usr/bin/bash -e {0} +2026-09-27T05:30:07.5980164Z ##[endgroup] +2026-09-27T05:30:07.6920178Z +2026-09-27T05:30:07.6921081Z > maka@0.2.0 astryx:surface-inventory +2026-09-27T05:30:07.6921572Z > node scripts/check-astryx-surface-inventory.mjs +2026-09-27T05:30:07.6921808Z +2026-09-27T05:30:07.7954602Z astryx surface inventory coverage: ok (300 files, 2 exclusions) +2026-09-27T05:30:07.8912728Z +2026-09-27T05:30:07.8913345Z > maka@0.2.0 astryx:surface-inventory:test +2026-09-27T05:30:07.8913916Z > node --test scripts/generate-astryx-surface-inventory.test.mjs +2026-09-27T05:30:07.8914191Z +2026-09-27T05:30:08.0071661Z ▶ Astryx component set derivation (#3868) +2026-09-27T05:30:08.0072553Z ✔ is derived from @astryxdesign/core with the resolved version (0.726004ms) +2026-09-27T05:30:08.0073343Z ✔ Astryx component set derivation (#3868) (1.63465ms) +2026-09-27T05:30:08.0074841Z ▶ Astryx declaration parsing is fail-closed (#3868) +2026-09-27T05:30:08.0075585Z ✔ traverses a genuine multi-level `export *` barrel graph (0.730178ms) +2026-09-27T05:30:08.0076616Z ✔ resolves a flat `Dir.d.ts` barrel target alongside directory barrels (0.334766ms) +2026-09-27T05:30:08.0077696Z ✔ is cycle-safe when barrels re-export each other (0.474446ms) +2026-09-27T05:30:08.0079318Z ✔ throws on an unresolved barrel target (0.682326ms) +2026-09-27T05:30:08.0080359Z ✔ throws on an unresolved target nested below the first barrel layer (0.467296ms) +2026-09-27T05:30:08.0083703Z ✔ rejects a partial parse (too few components / missing a key component) (0.341433ms) +2026-09-27T05:30:08.0084975Z ✔ Astryx declaration parsing is fail-closed (#3868) (3.579143ms) +2026-09-27T05:30:08.0087380Z ▶ @maka/ui barrel resolution (#3868) +2026-09-27T05:30:08.0088175Z ✔ derives the Astryx re-export map from the real barrel (11.604795ms) +2026-09-27T05:30:08.0090508Z ✔ resolves nested export graphs and flags only local public shadows (0.543201ms) +2026-09-27T05:30:08.0098717Z ✔ fails closed on an unresolved relative barrel target (0.584452ms) +2026-09-27T05:30:08.0099890Z ✔ @maka/ui barrel resolution (#3868) (13.102914ms) +2026-09-27T05:30:08.0107108Z ▶ analyzeTsx severity (#3868) +2026-09-27T05:30:08.0107853Z ✔ counts a rendered Astryx component in the "Astryx used" column (0.985152ms) +2026-09-27T05:30:08.0108891Z ✔ counts an Astryx component imported via the @maka/ui re-export map (0.336517ms) +2026-09-27T05:30:08.0109868Z ✔ flags a public export that shadows an Astryx component (0.145282ms) +2026-09-27T05:30:08.0115878Z ✔ does not flag a private local component that merely shares a name (0.168823ms) +2026-09-27T05:30:08.0116881Z ✔ still flags a raw interactive control as a blocker (0.099791ms) +2026-09-27T05:30:08.0118054Z ✔ blocks hand-written span and div actions with an actionable Astryx diagnostic (0.15717ms) +2026-09-27T05:30:08.0152090Z ✔ allows non-interactive spans and divs used for layout or text (0.601738ms) +2026-09-27T05:30:08.0153314Z ✔ fails the CI gate even after a blocker inventory is regenerated (0.561607ms) +2026-09-27T05:30:08.0154668Z ✔ permits only exact legacy blocker fingerprints, never new debt at the same path (0.192524ms) +2026-09-27T05:30:08.0155812Z ✔ analyzeTsx severity (#3868) (3.610308ms) +2026-09-27T05:30:08.0245658Z ℹ tests 19 +2026-09-27T05:30:08.0246021Z ℹ suites 4 +2026-09-27T05:30:08.0246265Z ℹ pass 19 +2026-09-27T05:30:08.0246484Z ℹ fail 0 +2026-09-27T05:30:08.0246713Z ℹ cancelled 0 +2026-09-27T05:30:08.0246963Z ℹ skipped 0 +2026-09-27T05:30:08.0247182Z ℹ todo 0 +2026-09-27T05:30:08.0247448Z ℹ duration_ms 99.287493 +2026-09-27T05:30:08.0389839Z ##[group]Run npm run build +2026-09-27T05:30:08.0390239Z npm run build +2026-09-27T05:30:08.0446655Z shell: /usr/bin/bash -e {0} +2026-09-27T05:30:08.0447081Z ##[endgroup] +2026-09-27T05:30:08.1368669Z +2026-09-27T05:30:08.1369309Z > maka@0.2.0 build +2026-09-27T05:30:08.1371437Z > npm --workspace @maka/core run build && npm --workspace @maka/storage run build && npm --workspace @maka/mcp run build && npm --workspace @maka/runtime run build && npm --workspace @maka/acp-executor-plugin run build && npm --workspace @maka/antigravity-acp-plugin run build && npm --workspace @maka/runtime-host run build && npm --workspace @maka/computer-use run build && npm --workspace @maka/eval run build && npm --workspace maka-agent run build && npm --workspace @maka/ui run build && npm --workspace @maka/desktop run build +2026-09-27T05:30:08.1373204Z +2026-09-27T05:30:08.2511846Z +2026-09-27T05:30:08.2512489Z > @maka/core@0.1.0 prebuild +2026-09-27T05:30:08.2513186Z > npm --prefix ../.. run sync:model-metadata +2026-09-27T05:30:08.2513512Z +2026-09-27T05:30:08.3404019Z +2026-09-27T05:30:08.3405265Z > maka@0.2.0 sync:model-metadata +2026-09-27T05:30:08.3405700Z > node scripts/sync-model-metadata.mjs +2026-09-27T05:30:08.3405916Z +2026-09-27T05:30:08.4198347Z (node:4654) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time +2026-09-27T05:30:08.4199375Z (Use `node --trace-warnings ...` to show where the warning was created) +2026-09-27T05:30:08.4605622Z +2026-09-27T05:30:08.4605850Z > @maka/core@0.1.0 build +2026-09-27T05:30:08.4606235Z > tsc -p tsconfig.json +2026-09-27T05:30:08.4606399Z +2026-09-27T05:30:09.4480895Z +2026-09-27T05:30:09.4481513Z > @maka/storage@0.1.0 build +2026-09-27T05:30:09.4482019Z > tsc -p tsconfig.json +2026-09-27T05:30:09.4482256Z +2026-09-27T05:30:10.6923882Z +2026-09-27T05:30:10.6924546Z > @maka/mcp@0.1.0 build +2026-09-27T05:30:10.6924922Z > tsc -p tsconfig.json +2026-09-27T05:30:10.6925087Z +2026-09-27T05:30:11.4507881Z +2026-09-27T05:30:11.4508594Z > @maka/runtime@0.1.0 prebuild +2026-09-27T05:30:11.4509229Z > npm --prefix ../.. run sync:model-metadata +2026-09-27T05:30:11.4509547Z +2026-09-27T05:30:11.5405383Z +2026-09-27T05:30:11.5406131Z > maka@0.2.0 sync:model-metadata +2026-09-27T05:30:11.5406892Z > node scripts/sync-model-metadata.mjs +2026-09-27T05:30:11.5407320Z +2026-09-27T05:30:11.6174126Z (node:4760) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time +2026-09-27T05:30:11.6175362Z (Use `node --trace-warnings ...` to show where the warning was created) +2026-09-27T05:30:11.6582907Z +2026-09-27T05:30:11.6583519Z > @maka/runtime@0.1.0 build +2026-09-27T05:30:11.6584273Z > tsc -p tsconfig.json && node scripts/build-filesystem-worker.mjs +2026-09-27T05:30:11.6585026Z +2026-09-27T05:30:14.9889959Z +2026-09-27T05:30:14.9890649Z > @maka/acp-executor-plugin@0.1.0 build +2026-09-27T05:30:14.9891845Z > tsc -p tsconfig.json && esbuild src/index.ts --bundle --platform=node --format=esm --target=node22 --outfile=dist/plugin.mjs +2026-09-27T05:30:14.9892426Z +2026-09-27T05:30:15.2105954Z +2026-09-27T05:30:15.2108198Z dist/plugin.mjs 897.0kb +2026-09-27T05:30:15.2108519Z +2026-09-27T05:30:15.2108938Z ⚡ Done in 35ms +2026-09-27T05:30:15.3270864Z +2026-09-27T05:30:15.3271754Z > @maka/antigravity-acp-plugin@0.1.0 build +2026-09-27T05:30:15.3272920Z > tsc -p tsconfig.json && esbuild src/index.ts --bundle --platform=node --format=esm --target=node22 --outfile=dist/plugin.mjs +2026-09-27T05:30:15.3273988Z +2026-09-27T05:30:15.5149891Z +2026-09-27T05:30:15.5154992Z dist/plugin.mjs 4.2kb +2026-09-27T05:30:15.5155289Z +2026-09-27T05:30:15.5155746Z ⚡ Done in 33ms +2026-09-27T05:30:15.6310973Z +2026-09-27T05:30:15.6311603Z > @maka/runtime-host@0.1.0 build +2026-09-27T05:30:15.6312100Z > tsc -p tsconfig.json +2026-09-27T05:30:15.6312278Z +2026-09-27T05:30:21.1445137Z +2026-09-27T05:30:21.1446134Z > @maka/computer-use@0.1.0 build +2026-09-27T05:30:21.1446593Z > tsc -p tsconfig.json +2026-09-27T05:30:21.1446789Z +2026-09-27T05:30:21.4974614Z +2026-09-27T05:30:21.4975255Z > @maka/eval@0.1.0 build +2026-09-27T05:30:21.4975791Z > tsc -p tsconfig.json +2026-09-27T05:30:21.4976024Z +2026-09-27T05:30:21.9558186Z +2026-09-27T05:30:21.9558857Z > maka-agent@0.2.0 build +2026-09-27T05:30:21.9559469Z > tsc -p tsconfig.json && node scripts/chmod-bin.mjs +2026-09-27T05:30:21.9559714Z +2026-09-27T05:30:23.6582261Z +2026-09-27T05:30:23.6582846Z > @maka/ui@0.1.0 build +2026-09-27T05:30:23.6583282Z > tsc -p tsconfig.json +2026-09-27T05:30:23.6583433Z +2026-09-27T05:30:25.2492346Z +2026-09-27T05:30:25.2493412Z > @maka/desktop@0.2.0 build +2026-09-27T05:30:25.2494705Z > npm run build:resources && npm run build:main && npm run build:preload && npm run build:overlay && npm run build:renderer +2026-09-27T05:30:25.2495369Z +2026-09-27T05:30:25.3727493Z +2026-09-27T05:30:25.3728170Z > @maka/desktop@0.2.0 build:resources +2026-09-27T05:30:25.3728859Z > node scripts/copy-runtime-filesystem-worker.mjs +2026-09-27T05:30:25.3729221Z +2026-09-27T05:30:25.5323766Z +2026-09-27T05:30:25.5324633Z > @maka/desktop@0.2.0 build:main +2026-09-27T05:30:25.5325258Z > tsc -p tsconfig.main.json +2026-09-27T05:30:25.5325532Z +2026-09-27T05:30:29.1487265Z +2026-09-27T05:30:29.1488080Z > @maka/desktop@0.2.0 build:preload +2026-09-27T05:30:29.1488853Z > esbuild src/preload/preload.ts --bundle --platform=node --format=cjs --outfile=dist/preload/preload.cjs --external:electron +2026-09-27T05:30:29.1489273Z +2026-09-27T05:30:29.2491217Z +2026-09-27T05:30:29.2492446Z dist/preload/preload.cjs 2.7mb ⚠️ +2026-09-27T05:30:29.2492814Z +2026-09-27T05:30:29.2493058Z ⚡ Done in 93ms +2026-09-27T05:30:29.3724734Z +2026-09-27T05:30:29.3725396Z > @maka/desktop@0.2.0 build:overlay +2026-09-27T05:30:29.3726049Z > node ../../scripts/build-cursor-overlay.mjs +2026-09-27T05:30:29.3726385Z +2026-09-27T05:30:29.4280470Z +2026-09-27T05:30:29.4281227Z dist/overlay/cursor-overlay.js 27.7kb +2026-09-27T05:30:29.4281611Z +2026-09-27T05:30:29.4282035Z ⚡ Done in 7ms +2026-09-27T05:30:29.4321033Z +2026-09-27T05:30:29.4321769Z dist/overlay/cursor-overlay-preload.cjs 1.1kb +2026-09-27T05:30:29.4322066Z +2026-09-27T05:30:29.4322467Z ⚡ Done in 3ms +2026-09-27T05:30:29.4355255Z +2026-09-27T05:30:29.4355989Z dist/overlay/permission-overlay.js 2.5kb +2026-09-27T05:30:29.4356365Z +2026-09-27T05:30:29.4356680Z ⚡ Done in 2ms +2026-09-27T05:30:29.4371222Z +2026-09-27T05:30:29.4371716Z dist/overlay/permission-overlay-preload.cjs 866b +2026-09-27T05:30:29.4371982Z +2026-09-27T05:30:29.4372274Z ⚡ Done in 1ms +2026-09-27T05:30:29.4405410Z +2026-09-27T05:30:29.4405742Z dist/overlay/pip.js 3.9kb +2026-09-27T05:30:29.4406001Z +2026-09-27T05:30:29.4406231Z ⚡ Done in 2ms +2026-09-27T05:30:29.4421953Z +2026-09-27T05:30:29.4422554Z dist/overlay/pip-preload.cjs 1000b +2026-09-27T05:30:29.4422926Z +2026-09-27T05:30:29.4423204Z ⚡ Done in 1ms +2026-09-27T05:30:29.4431571Z overlays built → /home/runner/work/maka/maka/apps/desktop/dist/overlay +2026-09-27T05:30:29.5750413Z +2026-09-27T05:30:29.5751031Z > @maka/desktop@0.2.0 build:renderer +2026-09-27T05:30:29.5751792Z > vite build && node scripts/check-renderer-entry-output.mjs && node ../../scripts/check-third-party-notices.mjs +2026-09-27T05:30:29.5752210Z +2026-09-27T05:30:29.7921858Z vite v8.3.0 building client environment for production... +2026-09-27T05:30:29.8016808Z transforming... +2026-09-27T05:30:29.9305080Z [plugin rolldown:vite-resolve] Module "node:crypto" has been externalized for browser compatibility, imported by "/home/runner/work/maka/maka/packages/core/dist/events.js". See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details. +2026-09-27T05:30:30.7941956Z ✓ 5448 modules transformed. +2026-09-27T05:30:31.1569835Z rendering chunks... +2026-09-27T05:30:31.6505719Z computing gzip size... +2026-09-27T05:30:31.6932874Z dist-renderer/renderer-entry-attestation.json 0.11 kB │ gzip: 0.11 kB +2026-09-27T05:30:31.6934121Z dist-renderer/bundled-npm-packages.json 1.33 kB │ gzip: 0.53 kB +2026-09-27T05:30:31.6934995Z dist-renderer/assets/KaTeX_Size3-Regular-CTq5MqoE.woff 4.42 kB +2026-09-27T05:30:31.6935615Z dist-renderer/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 4.92 kB +2026-09-27T05:30:31.6936218Z dist-renderer/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 5.20 kB +2026-09-27T05:30:31.6936812Z dist-renderer/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 5.46 kB +2026-09-27T05:30:31.6937440Z dist-renderer/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2 5.81 kB +2026-09-27T05:30:31.6938209Z dist-renderer/assets/KaTeX_Size4-Regular-BF-4gkZK.woff 5.98 kB +2026-09-27T05:30:31.6938804Z dist-renderer/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2 6.17 kB +2026-09-27T05:30:31.6939382Z dist-renderer/assets/KaTeX_Size2-Regular-oD1tc_U0.woff 6.18 kB +2026-09-27T05:30:31.6939954Z dist-renderer/assets/KaTeX_Size1-Regular-C195tn64.woff 6.49 kB +2026-09-27T05:30:31.6940521Z dist-renderer/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 6.90 kB +2026-09-27T05:30:31.6941102Z dist-renderer/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 6.91 kB +2026-09-27T05:30:31.6942020Z dist-renderer/index.html 7.26 kB │ gzip: 2.89 kB +2026-09-27T05:30:31.6942776Z dist-renderer/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 7.42 kB +2026-09-27T05:30:31.6943641Z dist-renderer/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf 7.58 kB +2026-09-27T05:30:31.6944818Z dist-renderer/assets/antigravity-DgAQAdn3.svg 7.63 kB │ gzip: 1.74 kB +2026-09-27T05:30:31.6945816Z dist-renderer/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff 7.65 kB +2026-09-27T05:30:31.6946745Z dist-renderer/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2 7.69 kB +2026-09-27T05:30:31.6947732Z dist-renderer/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff 7.71 kB +2026-09-27T05:30:31.6948579Z dist-renderer/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 8.00 kB +2026-09-27T05:30:31.6949428Z dist-renderer/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 9.64 kB +2026-09-27T05:30:31.6950366Z dist-renderer/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 10.34 kB +2026-09-27T05:30:31.6951162Z dist-renderer/assets/KaTeX_Size4-Regular-DWFBv043.ttf 10.36 kB +2026-09-27T05:30:31.6952011Z dist-renderer/assets/KaTeX_Script-Regular-D5yQViql.woff 10.58 kB +2026-09-27T05:30:31.6953023Z dist-renderer/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 11.31 kB +2026-09-27T05:30:31.6953826Z dist-renderer/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 11.34 kB +2026-09-27T05:30:31.6954625Z dist-renderer/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf 11.50 kB +2026-09-27T05:30:31.6955236Z dist-renderer/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 12.02 kB +2026-09-27T05:30:31.6955818Z dist-renderer/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 12.21 kB +2026-09-27T05:30:31.6956389Z dist-renderer/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf 12.22 kB +2026-09-27T05:30:31.6956977Z dist-renderer/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff 12.31 kB +2026-09-27T05:30:31.6957565Z dist-renderer/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf 12.34 kB +2026-09-27T05:30:31.6958148Z dist-renderer/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf 12.36 kB +2026-09-27T05:30:31.6958765Z dist-renderer/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2 12.94 kB +2026-09-27T05:30:31.6959401Z dist-renderer/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff 13.20 kB +2026-09-27T05:30:31.6960211Z dist-renderer/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff 13.29 kB +2026-09-27T05:30:31.6961321Z dist-renderer/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 13.56 kB +2026-09-27T05:30:31.6961977Z dist-renderer/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff 14.11 kB +2026-09-27T05:30:31.6962835Z dist-renderer/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff 14.40 kB +2026-09-27T05:30:31.6963771Z dist-renderer/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2 14.69 kB +2026-09-27T05:30:31.6964681Z dist-renderer/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 15.08 kB +2026-09-27T05:30:31.6965299Z dist-renderer/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff 16.02 kB +2026-09-27T05:30:31.6966180Z dist-renderer/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 16.40 kB +2026-09-27T05:30:31.6966752Z dist-renderer/assets/KaTeX_Math-Italic-t53AETM-.woff2 16.44 kB +2026-09-27T05:30:31.6967479Z dist-renderer/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 16.51 kB +2026-09-27T05:30:31.6968304Z dist-renderer/assets/KaTeX_Script-Regular-C5JkGWo-.ttf 16.64 kB +2026-09-27T05:30:31.6968986Z dist-renderer/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 16.78 kB +2026-09-27T05:30:31.6969551Z dist-renderer/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 16.98 kB +2026-09-27T05:30:31.6970128Z dist-renderer/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff 18.66 kB +2026-09-27T05:30:31.6970697Z dist-renderer/assets/KaTeX_Math-Italic-DA0__PXp.woff 18.74 kB +2026-09-27T05:30:31.6971272Z dist-renderer/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff 19.41 kB +2026-09-27T05:30:31.6971847Z dist-renderer/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf 19.43 kB +2026-09-27T05:30:31.6972698Z dist-renderer/assets/KaTeX_Fraktur-Regular-CB_wures.ttf 19.57 kB +2026-09-27T05:30:31.6973486Z dist-renderer/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf 19.58 kB +2026-09-27T05:30:31.6974203Z dist-renderer/assets/KaTeX_Main-Italic-BMLOBm91.woff 19.67 kB +2026-09-27T05:30:31.6975068Z dist-renderer/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf 22.36 kB +2026-09-27T05:30:31.6975891Z dist-renderer/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2 23.12 kB +2026-09-27T05:30:31.6976626Z dist-renderer/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf 24.50 kB +2026-09-27T05:30:31.6977330Z dist-renderer/assets/KaTeX_Main-Bold-Cx986IdX.woff2 25.32 kB +2026-09-27T05:30:31.6978024Z dist-renderer/assets/KaTeX_Main-Regular-B22Nviop.woff2 26.27 kB +2026-09-27T05:30:31.6978771Z dist-renderer/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf 27.55 kB +2026-09-27T05:30:31.6979522Z dist-renderer/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 28.07 kB +2026-09-27T05:30:31.6980238Z dist-renderer/assets/geist-latin-wght-normal-BgDaEnEv.woff2 29.40 kB +2026-09-27T05:30:31.6980955Z dist-renderer/assets/KaTeX_Main-Bold-Jm3AIy58.woff 29.91 kB +2026-09-27T05:30:31.6981705Z dist-renderer/assets/KaTeX_Main-Regular-Dr94JaBh.woff 30.77 kB +2026-09-27T05:30:31.6982469Z dist-renderer/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf 31.19 kB +2026-09-27T05:30:31.6983197Z dist-renderer/assets/KaTeX_Math-Italic-flOr_0UB.ttf 31.30 kB +2026-09-27T05:30:31.6983929Z dist-renderer/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf 32.96 kB +2026-09-27T05:30:31.6984853Z dist-renderer/assets/KaTeX_AMS-Regular-DMm9YOAa.woff 33.51 kB +2026-09-27T05:30:31.6985620Z dist-renderer/assets/KaTeX_Main-Italic-3WenGoN9.ttf 33.58 kB +2026-09-27T05:30:31.6986346Z dist-renderer/assets/KaTeX_Main-Bold-waoOVXN0.ttf 51.33 kB +2026-09-27T05:30:31.6987089Z dist-renderer/assets/KaTeX_Main-Regular-ypZvNtVU.ttf 53.58 kB +2026-09-27T05:30:31.6988071Z dist-renderer/assets/KaTeX_AMS-Regular-DRggAlZN.ttf 63.63 kB +2026-09-27T05:30:31.6989119Z dist-renderer/assets/localai-COsYrfyd.svg 111.02 kB │ gzip: 49.20 kB +2026-09-27T05:30:31.6990017Z dist-renderer/assets/index-LqsFOiqI.css 420.16 kB │ gzip: 75.97 kB +2026-09-27T05:30:31.6990895Z dist-renderer/assets/array-BifhSqXX.js 0.10 kB │ gzip: 0.11 kB +2026-09-27T05:30:31.6991884Z dist-renderer/assets/channel-h6FRTVSu.js 0.11 kB │ gzip: 0.12 kB +2026-09-27T05:30:31.6992871Z dist-renderer/assets/pie-WAS4IAKB-ClCsbfz2.js 0.12 kB │ gzip: 0.12 kB +2026-09-27T05:30:31.6993768Z dist-renderer/assets/info-A6RAGUB7-BhHg484o.js 0.12 kB │ gzip: 0.12 kB +2026-09-27T05:30:31.6994817Z dist-renderer/assets/radar-RG4KPBEZ-DE5u3ufN.js 0.12 kB │ gzip: 0.12 kB +2026-09-27T05:30:31.6995884Z dist-renderer/assets/packet-AYTQ26CC-CxamwiJ3.js 0.12 kB │ gzip: 0.12 kB +2026-09-27T05:30:31.6996641Z dist-renderer/assets/cynefin-OW5HDTMX-Cr_gDexs.js 0.12 kB │ gzip: 0.13 kB +2026-09-27T05:30:31.6997393Z dist-renderer/assets/treemap-WGGIJYW6-DM7lNLvm.js 0.12 kB │ gzip: 0.13 kB +2026-09-27T05:30:31.6998160Z dist-renderer/assets/wardley-WFR3VGLG-Bp755zxQ.js 0.12 kB │ gzip: 0.13 kB +2026-09-27T05:30:31.6998925Z dist-renderer/assets/gitGraph-4MIJSDKK-DuxCDLZW.js 0.12 kB │ gzip: 0.13 kB +2026-09-27T05:30:31.6999707Z dist-renderer/assets/railroad-74A4TZTK-BIivpsmJ.js 0.12 kB │ gzip: 0.13 kB +2026-09-27T05:30:31.7000498Z dist-renderer/assets/treeView-Q6P3EWNA-D2Oo97Jt.js 0.12 kB │ gzip: 0.13 kB +2026-09-27T05:30:31.7001303Z dist-renderer/assets/railroad-peg-WCYAUIDC-R4abyWSX.js 0.13 kB │ gzip: 0.13 kB +2026-09-27T05:30:31.7002091Z dist-renderer/assets/architecture-7GRP2DOG-B4JcBcz0.js 0.13 kB │ gzip: 0.13 kB +2026-09-27T05:30:31.7002898Z dist-renderer/assets/railroad-abnf-HS5TGJTU-BVnQSDWD.js 0.13 kB │ gzip: 0.13 kB +2026-09-27T05:30:31.7003682Z dist-renderer/assets/railroad-ebnf-LZEXJU2U-BMwVDUs6.js 0.13 kB │ gzip: 0.13 kB +2026-09-27T05:30:31.7004685Z dist-renderer/assets/eventmodeling-NTZA5JFV-r2q0_QZP.js 0.13 kB │ gzip: 0.13 kB +2026-09-27T05:30:31.7005983Z dist-renderer/assets/init-C-OQMol4.js 0.14 kB │ gzip: 0.12 kB +2026-09-27T05:30:31.7006881Z dist-renderer/assets/chunk-Y2CYZVJY-DsF7k-Jl.js 0.15 kB │ gzip: 0.14 kB +2026-09-27T05:30:31.7007606Z dist-renderer/assets/check-D3kDHasx.js 0.16 kB │ gzip: 0.16 kB +2026-09-27T05:30:31.7008345Z dist-renderer/assets/chevron-left-D0pNOHJj.js 0.16 kB │ gzip: 0.16 kB +2026-09-27T05:30:31.7009090Z dist-renderer/assets/chunk-2Q5K7J3B-C1jixKkw.js 0.19 kB │ gzip: 0.16 kB +2026-09-27T05:30:31.7009845Z dist-renderer/assets/chunk-JWPE2WC7-DVXcaiue.js 0.22 kB │ gzip: 0.17 kB +2026-09-27T05:30:31.7010587Z dist-renderer/assets/chunk-XXDRQBXY-DqAYeljN.js 0.26 kB │ gzip: 0.22 kB +2026-09-27T05:30:31.7011314Z dist-renderer/assets/activity-CWW9hrpF.js 0.27 kB │ gzip: 0.22 kB +2026-09-27T05:30:31.7012043Z dist-renderer/assets/IconButton-BSIv0jWj.js 0.27 kB │ gzip: 0.22 kB +2026-09-27T05:30:31.7012779Z dist-renderer/assets/chunk-5VM5RSS4-ZNzvKenW.js 0.36 kB │ gzip: 0.27 kB +2026-09-27T05:30:31.7013515Z dist-renderer/assets/feature-services-D3FkabmQ.js 0.40 kB │ gzip: 0.28 kB +2026-09-27T05:30:31.7014360Z dist-renderer/assets/ui-locale-D5k4fSg3.js 0.41 kB │ gzip: 0.25 kB +2026-09-27T05:30:31.7015382Z dist-renderer/assets/MenuBottomSheet-CG61RUX6.js 0.55 kB │ gzip: 0.33 kB +2026-09-27T05:30:31.7016141Z dist-renderer/assets/chunk-POPQ4Y6H-Cz3rr8UE.js 0.57 kB │ gzip: 0.40 kB +2026-09-27T05:30:31.7016907Z dist-renderer/assets/flowDiagram-HODETNUW-Dqu-OJUv.js 0.57 kB │ gzip: 0.31 kB +2026-09-27T05:30:31.7017685Z dist-renderer/assets/useClipboard-PBCx2hnq.js 0.59 kB │ gzip: 0.39 kB +2026-09-27T05:30:31.7018532Z dist-renderer/assets/infoDiagram-27XIBGKW-D3Pgsev5.js 0.65 kB │ gzip: 0.42 kB +2026-09-27T05:30:31.7019300Z dist-renderer/assets/useCollapsible-C62ZBKox.js 0.67 kB │ gzip: 0.40 kB +2026-09-27T05:30:31.7020084Z dist-renderer/assets/rolldown-runtime-hePW80VL.js 0.71 kB │ gzip: 0.42 kB +2026-09-27T05:30:31.7020864Z dist-renderer/assets/bot-events-BFx6WTvs.js 0.76 kB │ gzip: 0.47 kB +2026-09-27T05:30:31.7021613Z dist-renderer/assets/classDiagram-ZZMXUADV-hOCKBrWE.js 0.77 kB │ gzip: 0.45 kB +2026-09-27T05:30:31.7022382Z dist-renderer/assets/classDiagram-v2-VYDZK3BY-hOCKBrWE.js 0.77 kB │ gzip: 0.45 kB +2026-09-27T05:30:31.7023275Z dist-renderer/assets/stateDiagram-v2-MP3YSRHH-B6kBamAG.js 0.78 kB │ gzip: 0.45 kB +2026-09-27T05:30:31.7024053Z dist-renderer/assets/swimlanesDiagram-VR7AAH4N-DllnE7wU.js 0.83 kB │ gzip: 0.48 kB +2026-09-27T05:30:31.7024980Z dist-renderer/assets/sizeCapture-INFHLROL-B0uUizjq.js 0.87 kB │ gzip: 0.51 kB +2026-09-27T05:30:31.7025701Z dist-renderer/assets/line-DGgZyvbt.js 0.94 kB │ gzip: 0.47 kB +2026-09-27T05:30:31.7026417Z dist-renderer/assets/bot-chat-settings-C65BQCBc.js 1.08 kB │ gzip: 0.60 kB +2026-09-27T05:30:31.7027142Z dist-renderer/assets/useMediaQuery-B8iEjdpv.js 1.16 kB │ gzip: 0.57 kB +2026-09-27T05:30:31.7027888Z dist-renderer/assets/CollapsibleGroup-CF0hfIvl.js 1.16 kB │ gzip: 0.70 kB +2026-09-27T05:30:31.7028600Z dist-renderer/assets/ordinal-BDEzSJ7C.js 1.17 kB │ gzip: 0.56 kB +2026-09-27T05:30:31.7029324Z dist-renderer/assets/preload-helper-uBIymjUX.js 1.23 kB │ gzip: 0.68 kB +2026-09-27T05:30:31.7030048Z dist-renderer/assets/chunk-GVQU2GXP-BjXB_lem.js 1.41 kB │ gzip: 0.79 kB +2026-09-27T05:30:31.7030770Z dist-renderer/assets/useScrollLock-DstsSNMY.js 1.51 kB │ gzip: 0.72 kB +2026-09-27T05:30:31.7031518Z dist-renderer/assets/railroadDiagram-O6MQD6OU-C4U00EQF.js 1.65 kB │ gzip: 0.77 kB +2026-09-27T05:30:31.7032298Z dist-renderer/assets/abnfDiagram-VCTEODGH-BhM3v199.js 1.84 kB │ gzip: 0.89 kB +2026-09-27T05:30:31.7033033Z dist-renderer/assets/chunk-P2QGCYS3-B84eFU3H.js 1.94 kB │ gzip: 0.95 kB +2026-09-27T05:30:31.7033756Z dist-renderer/assets/Tooltip-CSiWVQEU.js 1.96 kB │ gzip: 0.88 kB +2026-09-27T05:30:31.7034606Z dist-renderer/assets/chunk-F27PBJKO-rySoRfJA.js 1.97 kB │ gzip: 0.88 kB +2026-09-27T05:30:31.7035400Z dist-renderer/assets/pegDiagram-XKGWAZYB-CU5RYQX5.js 2.01 kB │ gzip: 0.94 kB +2026-09-27T05:30:31.7036185Z dist-renderer/assets/TimestampHoverCard-D909TXqM.js 2.01 kB │ gzip: 1.00 kB +2026-09-27T05:30:31.7036972Z dist-renderer/assets/ebnfDiagram-PWID7BFC-Buew_nmU.js 2.05 kB │ gzip: 0.89 kB +2026-09-27T05:30:31.7037803Z dist-renderer/assets/dist-v5Q1xZ2K.js 2.17 kB │ gzip: 0.98 kB +2026-09-27T05:30:31.7038613Z dist-renderer/assets/path-fybaL0A-.js 2.27 kB │ gzip: 0.98 kB +2026-09-27T05:30:31.7039343Z dist-renderer/assets/arc-Pry-7G1_.js 3.47 kB │ gzip: 1.46 kB +2026-09-27T05:30:31.7040082Z dist-renderer/assets/markdown-DhuSZKZa.js 4.16 kB │ gzip: 1.86 kB +2026-09-27T05:30:31.7040855Z dist-renderer/assets/diagram-Z3DM3KII-Db-Ip6QJ.js 4.28 kB │ gzip: 1.84 kB +2026-09-27T05:30:31.7041637Z dist-renderer/assets/redaction-B5oeWETO.js 4.32 kB │ gzip: 2.06 kB +2026-09-27T05:30:31.7042470Z dist-renderer/assets/defaultLocale-BFoDCU3G.js 4.63 kB │ gzip: 2.12 kB +2026-09-27T05:30:31.7043243Z dist-renderer/assets/relative-time-wMJ4OVCt.js 4.68 kB │ gzip: 2.15 kB +2026-09-27T05:30:31.7043962Z dist-renderer/assets/Banner-CXPyMAdv.js 4.68 kB │ gzip: 2.19 kB +2026-09-27T05:30:31.7044883Z dist-renderer/assets/browser-panel-Bry99I_8.js 5.29 kB │ gzip: 2.15 kB +2026-09-27T05:30:31.7045615Z dist-renderer/assets/linear-SzVmGSw4.js 5.51 kB │ gzip: 2.25 kB +2026-09-27T05:30:31.7046350Z dist-renderer/assets/chunk-PWAF6VOD-6HqImjm9.js 5.83 kB │ gzip: 2.68 kB +2026-09-27T05:30:31.7047101Z dist-renderer/assets/diagram-UQ7AKVKN-CNjgGo60.js 6.07 kB │ gzip: 2.56 kB +2026-09-27T05:30:31.7047872Z dist-renderer/assets/pieDiagram-E7YTZNPT-Bdxy50lW.js 6.22 kB │ gzip: 2.59 kB +2026-09-27T05:30:31.7048630Z dist-renderer/assets/HoverCard-4f8GRptU.js 6.67 kB │ gzip: 2.54 kB +2026-09-27T05:30:31.7049397Z dist-renderer/assets/session-terminal-panel-rmcjYXzF.js 7.05 kB │ gzip: 2.88 kB +2026-09-27T05:30:31.7050199Z dist-renderer/assets/session-review-panel-CYAajBVZ.js 7.13 kB │ gzip: 2.62 kB +2026-09-27T05:30:31.7050981Z dist-renderer/assets/diagram-S7CK7UJ4-DVj4foF-.js 8.19 kB │ gzip: 3.65 kB +2026-09-27T05:30:31.7051748Z dist-renderer/assets/daily-review-panel-D3GSN5vz.js 9.17 kB │ gzip: 3.24 kB +2026-09-27T05:30:31.7052553Z dist-renderer/assets/chunk-L3NEJ4N5-fTBmkF34.js 9.68 kB │ gzip: 2.93 kB +2026-09-27T05:30:31.7053348Z dist-renderer/assets/cynefinDiagram-5FMLGOSQ-CFXyERO4.js 9.94 kB │ gzip: 3.51 kB +2026-09-27T05:30:31.7054150Z dist-renderer/assets/stateDiagram-D77RDMKH-j4Ku2G1g.js 10.64 kB │ gzip: 3.74 kB +2026-09-27T05:30:31.7055106Z dist-renderer/assets/diagram-VSXAHHWV-BZmcTnGY.js 10.65 kB │ gzip: 4.11 kB +2026-09-27T05:30:31.7055868Z dist-renderer/assets/dagre-GXQ25YYZ--iNAGvLm.js 10.97 kB │ gzip: 4.16 kB +2026-09-27T05:30:31.7056610Z dist-renderer/assets/Section-BkYlIi06.js 12.79 kB │ gzip: 3.06 kB +2026-09-27T05:30:31.7057348Z dist-renderer/assets/chunk-SVP7TREG-CSFk4dhj.js 15.64 kB │ gzip: 4.35 kB +2026-09-27T05:30:31.7058093Z dist-renderer/assets/diagram-VX7I27RA-83qSEk-s.js 15.75 kB │ gzip: 5.52 kB +2026-09-27T05:30:31.7058891Z dist-renderer/assets/mermaid-parser.core-CwUzznet.js 16.75 kB │ gzip: 3.93 kB +2026-09-27T05:30:31.7059675Z dist-renderer/assets/ishikawaDiagram-5VMMS53U-CaGbK4s8.js 17.31 kB │ gzip: 6.53 kB +2026-09-27T05:30:31.7060470Z dist-renderer/assets/skills-copy-BmT8g1J_.js 17.72 kB │ gzip: 6.09 kB +2026-09-27T05:30:31.7061178Z dist-renderer/assets/skills-panel-Bh0rQaWH.js 18.12 kB │ gzip: 5.46 kB +2026-09-27T05:30:31.7061935Z dist-renderer/assets/useIsomorphicLayoutEffect-B4ti8Ugb.js 19.77 kB │ gzip: 7.16 kB +2026-09-27T05:30:31.7062787Z dist-renderer/assets/kanban-definition-UXKFOSKX-ClPWH7nF.js 20.26 kB │ gzip: 7.15 kB +2026-09-27T05:30:31.7063547Z dist-renderer/assets/artifact-pane-DW_52tIy.js 21.71 kB │ gzip: 6.24 kB +2026-09-27T05:30:31.7064291Z dist-renderer/assets/session-inspector-panel-BCy7OXFn.js 22.14 kB │ gzip: 6.55 kB +2026-09-27T05:30:31.7065188Z dist-renderer/assets/sankeyDiagram-P5KCCOFB-BzyklTFD.js 22.79 kB │ gzip: 8.25 kB +2026-09-27T05:30:31.7065956Z dist-renderer/assets/journeyDiagram-3NMN7TZE-B2qzULmd.js 23.15 kB │ gzip: 8.16 kB +2026-09-27T05:30:31.7066812Z dist-renderer/assets/mindmap-definition-YA3MSWOX-DU6-3Zjy.js 23.44 kB │ gzip: 8.02 kB +2026-09-27T05:30:31.7067546Z dist-renderer/assets/graphlib-DS17s2tU.js 23.90 kB │ gzip: 8.31 kB +2026-09-27T05:30:31.7068268Z dist-renderer/assets/bot-brand-logo-BE2Qqcgv.js 24.39 kB │ gzip: 10.82 kB +2026-09-27T05:30:31.7069032Z dist-renderer/assets/MenuBottomSheetActionList-DBFsebDb.js 25.00 kB │ gzip: 8.87 kB +2026-09-27T05:30:31.7069817Z dist-renderer/assets/wardleyDiagram-VM6X3IG4-Pu8vDOOA.js 25.20 kB │ gzip: 6.55 kB +2026-09-27T05:30:31.7070541Z dist-renderer/assets/rough.esm-Dy-Kn_BL.js 27.10 kB │ gzip: 8.85 kB +2026-09-27T05:30:31.7071281Z dist-renderer/assets/gitGraphDiagram-WWUBYQGX-uBXyAthp.js 29.00 kB │ gzip: 8.55 kB +2026-09-27T05:30:31.7072026Z dist-renderer/assets/BottomSheet-DSWLMMx4.js 30.33 kB │ gzip: 10.03 kB +2026-09-27T05:30:31.7072788Z dist-renderer/assets/timeline-definition-24CTP7MA-B3EQ9Ior.js 30.36 kB │ gzip: 9.97 kB +2026-09-27T05:30:31.7073546Z dist-renderer/assets/erDiagram-RLTQ6QDP-BK8S5oWU.js 30.69 kB │ gzip: 10.57 kB +2026-09-27T05:30:31.7074277Z dist-renderer/assets/chunk-75Z2AOVW-BVtjSzMZ.js 30.75 kB │ gzip: 8.50 kB +2026-09-27T05:30:31.7075160Z dist-renderer/assets/requirementDiagram-BXWQKSXE-ScXCmvvM.js 31.00 kB │ gzip: 9.78 kB +2026-09-27T05:30:31.7075948Z dist-renderer/assets/quadrantDiagram-AXDQQJYC-DmIT0njo.js 33.51 kB │ gzip: 9.74 kB +2026-09-27T05:30:31.7076698Z dist-renderer/assets/padding.stylex-Dj5NvG1q.js 34.26 kB │ gzip: 8.91 kB +2026-09-27T05:30:31.7077411Z dist-renderer/assets/chunk-OSK3NFVY-BOE_HYX4.js 36.46 kB │ gzip: 7.96 kB +2026-09-27T05:30:31.7078109Z dist-renderer/assets/dagre-C-rnJpZF.js 36.85 kB │ gzip: 13.23 kB +2026-09-27T05:30:31.7078820Z dist-renderer/assets/chunk-IMKFNOWR-D9SlpeZR.js 37.64 kB │ gzip: 12.27 kB +2026-09-27T05:30:31.7079562Z dist-renderer/assets/vennDiagram-4TSXK5OY-BGwS-4uq.js 41.15 kB │ gzip: 15.11 kB +2026-09-27T05:30:31.7080316Z dist-renderer/assets/blockDiagram-I7D4REHJ-BhP4h9SG.js 41.44 kB │ gzip: 13.36 kB +2026-09-27T05:30:31.7081066Z dist-renderer/assets/use-mounted-ref-7vKDrfZN.js 42.21 kB │ gzip: 15.80 kB +2026-09-27T05:30:31.7081819Z dist-renderer/assets/xychartDiagram-S5SC5T6Z-ChgaS25y.js 44.14 kB │ gzip: 12.22 kB +2026-09-27T05:30:31.7082550Z dist-renderer/assets/src-B6xuSHsQ.js 45.68 kB │ gzip: 16.00 kB +2026-09-27T05:30:31.7083252Z dist-renderer/assets/chunk-TICWLB2K-CdK6dh1C.js 48.78 kB │ gzip: 15.75 kB +2026-09-27T05:30:31.7083993Z dist-renderer/assets/workbar-surface-PysnnKou.js 49.18 kB │ gzip: 15.39 kB +2026-09-27T05:30:31.7084905Z dist-renderer/assets/use-roving-row-focus-ANZwv-NA.js 50.75 kB │ gzip: 17.23 kB +2026-09-27T05:30:31.7085658Z dist-renderer/assets/chunk-GMAD6QVW-DPQy_FmO.js 51.84 kB │ gzip: 16.68 kB +2026-09-27T05:30:31.7086440Z dist-renderer/assets/chunk-SHT3W25Y-3dp-aDPp.js 61.20 kB │ gzip: 19.82 kB +2026-09-27T05:30:31.7087182Z dist-renderer/assets/c4Diagram-7LVT6UL2-bhlYxVfW.js 64.74 kB │ gzip: 18.53 kB +2026-09-27T05:30:31.7087931Z dist-renderer/assets/ganttDiagram-EL5Y4UJY-C5kztyp3.js 69.35 kB │ gzip: 22.74 kB +2026-09-27T05:30:31.7088670Z dist-renderer/assets/shell-copy-Dm1EIDyH.js 77.43 kB │ gzip: 20.10 kB +2026-09-27T05:30:31.7089391Z dist-renderer/assets/cose-bilkent-JH36ORCC-Cm2_ZA6x.js 81.25 kB │ gzip: 21.54 kB +2026-09-27T05:30:31.7090230Z dist-renderer/assets/mermaid.core-BlQ_i7UX.js 94.58 kB │ gzip: 32.56 kB +2026-09-27T05:30:31.7118432Z dist-renderer/assets/chunk-4HAMMTFA-BIGFSsFT.js 104.85 kB │ gzip: 25.63 kB +2026-09-27T05:30:31.7119850Z dist-renderer/assets/swimlanes-42K2YHIH-SygHq0Jw.js 111.11 kB │ gzip: 38.01 kB +2026-09-27T05:30:31.7120966Z dist-renderer/assets/sequenceDiagram-WJ2MYXX4-CiMoeJ_q.js 115.74 kB │ gzip: 30.58 kB +2026-09-27T05:30:31.7121966Z dist-renderer/assets/scheduled-task-panel-8GkaRfV5.js 118.32 kB │ gzip: 36.49 kB +2026-09-27T05:30:31.7123069Z dist-renderer/assets/architectureDiagram-5GKGNRK7-K-IEH4zb.js 148.90 kB │ gzip: 41.12 kB +2026-09-27T05:30:31.7123892Z dist-renderer/assets/useAnnounce-Bx3-OTLE.js 185.58 kB │ gzip: 53.35 kB +2026-09-27T05:30:31.7125010Z dist-renderer/assets/chunk-DU6HZSFF-D9bIM-h8.js 235.84 kB │ gzip: 38.11 kB +2026-09-27T05:30:31.7125821Z dist-renderer/assets/module-page-Drh8xnr8.js 249.18 kB │ gzip: 78.90 kB +2026-09-27T05:30:31.7126545Z dist-renderer/assets/katex-ZlcWpGUi.js 258.68 kB │ gzip: 77.43 kB +2026-09-27T05:30:31.7127258Z dist-renderer/assets/markdown-body-BsjEJPoJ.js 401.47 kB │ gzip: 125.77 kB +2026-09-27T05:30:31.7128006Z dist-renderer/assets/cytoscape.esm-EK2DW5Qr.js 434.69 kB │ gzip: 137.74 kB +2026-09-27T05:30:31.7128744Z dist-renderer/assets/settings-modal-C5X10Rdm.js 483.46 kB │ gzip: 143.39 kB +2026-09-27T05:30:31.7129481Z dist-renderer/assets/chunk-FOHPRMQF-DzxwRta7.js 662.10 kB │ gzip: 143.16 kB +2026-09-27T05:30:31.7130185Z dist-renderer/assets/src-D5TvPmxj.js 1,538.72 kB │ gzip: 281.73 kB +2026-09-27T05:30:31.7130872Z dist-renderer/assets/index-CcdO884q.js 1,831.67 kB │ gzip: 506.89 kB +2026-09-27T05:30:31.7131195Z +2026-09-27T05:30:31.7131476Z ✓ built in 1.90s +2026-09-27T05:30:31.7131882Z [plugin builtin:vite-reporter] +2026-09-27T05:30:31.7132308Z (!) Some chunks are larger than 500 kB after minification. Consider: +2026-09-27T05:30:31.7132778Z - Using dynamic import() to code-split the application +2026-09-27T05:30:31.7133525Z - Use build.rolldownOptions.output.codeSplitting to improve chunking: https://rolldown.rs/reference/OutputOptions.codeSplitting +2026-09-27T05:30:31.7134328Z - Adjust chunk size limit for this warning via build.chunkSizeWarningLimit. +2026-09-27T05:30:31.7971956Z Renderer entry output check passed. +2026-09-27T05:30:31.8280556Z [third-party-notices] OK — renderer artifact contains the byte-identical public notice. +2026-09-27T05:30:31.8529141Z ##[group]Run npm run check:release +2026-09-27T05:30:31.8529485Z npm run check:release +2026-09-27T05:30:31.8568759Z shell: /usr/bin/bash -e {0} +2026-09-27T05:30:31.8569071Z ##[endgroup] +2026-09-27T05:30:31.9501003Z +2026-09-27T05:30:31.9501411Z > maka@0.2.0 check:release +2026-09-27T05:30:31.9506873Z > npm run check:stale && npm run check:third-party-notices && npm run check:cli-third-party-notices && npm run check:model-metadata && npm run check:product-release-identity && npm run check:asf-npm && node --test scripts/product-nightly.test.mjs scripts/desktop-release-targets.test.mjs scripts/verify-linux-harness.test.mjs scripts/desktop-nightly.test.mjs scripts/desktop-nightly-stage.test.mjs scripts/desktop-nightly-release.test.mjs scripts/desktop-nightly-workflow-policy.test.mjs scripts/audit-shipped-dependencies.test.mjs scripts/product-release.test.mjs scripts/product-release-authority.test.mjs scripts/release-cli-file-policy.test.mjs scripts/release-cli-artifact-policy.test.mjs scripts/release-cli-eval-support.test.mjs scripts/release-cli-publication.test.mjs scripts/release-cli-runtime-host-diagnostics.test.mjs scripts/qualify-released-cli-state-root.test.mjs scripts/release-cli-workflow-policy.test.mjs scripts/verify-packaged-app.test.mjs scripts/third-party-closure.test.mjs scripts/generate-third-party-notices.test.mjs scripts/source-legal-inventory.test.mjs scripts/sync-model-metadata.test.mjs scripts/prepare-windows-upgrade-baseline.test.mjs scripts/windows-package-source-closure.test.mjs +2026-09-27T05:30:31.9511438Z +2026-09-27T05:30:32.0416038Z +2026-09-27T05:30:32.0416556Z > maka@0.2.0 check:stale +2026-09-27T05:30:32.0417144Z > node scripts/check-stale-dist.mjs +2026-09-27T05:30:32.0417455Z +2026-09-27T05:30:32.0959180Z dist is fresh. +2026-09-27T05:30:32.1867873Z +2026-09-27T05:30:32.1868479Z > maka@0.2.0 check:third-party-notices +2026-09-27T05:30:32.1869114Z > node scripts/generate-third-party-notices.mjs --check +2026-09-27T05:30:32.1869373Z +2026-09-27T05:30:34.5083460Z [third-party-notices] OK — production dependency inventory is current. +2026-09-27T05:30:34.6083436Z +2026-09-27T05:30:34.6084142Z > maka@0.2.0 check:cli-third-party-notices +2026-09-27T05:30:34.6085162Z > node scripts/generate-third-party-notices.mjs --target cli --check +2026-09-27T05:30:34.6085610Z +2026-09-27T05:30:35.4087387Z [third-party-notices] OK — production dependency inventory is current. +2026-09-27T05:30:35.5047419Z +2026-09-27T05:30:35.5048182Z > maka@0.2.0 check:model-metadata +2026-09-27T05:30:35.5048642Z > node scripts/sync-model-metadata.mjs --check +2026-09-27T05:30:35.5048865Z +2026-09-27T05:30:35.5839250Z (node:5313) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time +2026-09-27T05:30:35.5840850Z (Use `node --trace-warnings ...` to show where the warning was created) +2026-09-27T05:30:35.8272832Z +2026-09-27T05:30:35.8274137Z > maka@0.2.0 check:product-release-identity +2026-09-27T05:30:35.8275316Z > node scripts/product-release-identity.mjs +2026-09-27T05:30:35.8275913Z +2026-09-27T05:30:35.8860334Z Product release v0.2.0 from 7bfadeae3cbf5c7e2ea368eb3dbdedcb34590feb +2026-09-27T05:30:35.9796773Z +2026-09-27T05:30:35.9797475Z > maka@0.2.0 check:asf-npm +2026-09-27T05:30:35.9798038Z > node --test scripts/asf-npm-workflow-policy.test.mjs +2026-09-27T05:30:35.9798335Z +2026-09-27T05:30:36.0596481Z ✔ ASF npm preflight validates the source RC package without publishing (0.927834ms) +2026-09-27T05:30:36.0686790Z ℹ tests 1 +2026-09-27T05:30:36.0687157Z ℹ suites 0 +2026-09-27T05:30:36.0687511Z ℹ pass 1 +2026-09-27T05:30:36.0687748Z ℹ fail 0 +2026-09-27T05:30:36.0687989Z ℹ cancelled 0 +2026-09-27T05:30:36.0688254Z ℹ skipped 0 +2026-09-27T05:30:36.0688485Z ℹ todo 0 +2026-09-27T05:30:36.0688761Z ℹ duration_ms 55.747683 +2026-09-27T05:30:36.1801360Z ✔ blocks a valid report that reaches a shipped dependency (2.054195ms) +2026-09-27T05:30:36.1846142Z ✔ classifies an audit service error as unavailable (0.30828ms) +2026-09-27T05:30:36.3091174Z ✔ Nightly publication verifies the exact draft before one Prerelease/non-Latest mutation (74.905179ms) +2026-09-27T05:30:36.3447128Z ✔ a missing Nightly release is created only as a draft prerelease with Latest disabled (36.605362ms) +2026-09-27T05:30:36.3583293Z ✔ staging creates only the exact GitHub Release assets (80.069135ms) +2026-09-27T05:30:36.3616698Z ✔ one attestation bundle is staged only as a GitHub Release asset (3.594709ms) +2026-09-27T05:30:36.3674947Z ✔ npm publication owns both npm channels and no Desktop authority (42.779963ms) +2026-09-27T05:30:36.3705739Z ✔ Desktop Nightly starts only from a successful published npm identity (15.770865ms) +2026-09-27T05:30:36.3897375Z ✔ a failed Desktop Nightly is retried through a fresh npm Nightly (24.097495ms) +2026-09-27T05:30:36.4006358Z ✔ Desktop Nightly packages the GitHub dev feeds and grants write only to its publisher (11.649311ms) +2026-09-27T05:30:36.4106008Z ✔ every packaged Desktop target ships from a runner of its own architecture (8.527181ms) +2026-09-27T05:30:36.4170957Z ✔ the publisher verifies exact GitHub identity and assets before publishing last (7.695403ms) +2026-09-27T05:30:36.4252887Z ✔ the Nightly Linux verification runs under a virtual display (8.654894ms) +2026-09-27T05:30:36.4353568Z ✔ Desktop Nightly has no Apache Nightlies transport or compatibility state (9.276425ms) +2026-09-27T05:30:36.5057404Z ✔ a nightly package embeds only the Apache GitHub dev update authority (2.733928ms) +2026-09-27T05:30:36.5098446Z ✔ the macOS Nightly wrapper accepts dev update metadata (8.297406ms) +2026-09-27T05:30:36.5118086Z ✔ the Windows Nightly wrapper accepts dev update metadata (3.015747ms) +2026-09-27T05:30:36.5735758Z ✔ the Linux Nightly wrapper builds the AppImage before the deb and merges one feed (1.703377ms) +2026-09-27T05:30:36.5737423Z ✔ a packaged Nightly accepts the pinned GitHub dev update channel (38.483269ms) +2026-09-27T05:30:36.5738801Z ✔ the GitHub dev provider resolves each platform payload to its absolute Release asset URL (0.872253ms) +2026-09-27T05:30:36.5740503Z ✔ the GitHub dev provider skips a withdrawn Nightly still present in the Atom feed (10.175132ms) +2026-09-27T05:30:36.5741814Z ✔ the GitHub dev provider fails after every eligible Nightly is missing metadata (1.593798ms) +2026-09-27T05:30:36.5743271Z ✔ the GitHub dev provider does not hide non-404 metadata failures behind an older Nightly (0.973874ms) +2026-09-27T05:30:36.5776334Z ✔ GitHub differential updates derive the previous blockmap from the previous versioned tag (0.663984ms) +2026-09-27T05:30:36.7821599Z ✔ formal release checks ignore the ambient Nightly packaging environment (214.997346ms) +2026-09-27T05:30:36.7826726Z ✔ packaging observes a valid nightly version without changing product manifests (0.295678ms) +2026-09-27T05:30:36.8817965Z ✔ the packaging scripts produce exactly the payloads the target descriptor names (12.61612ms) +2026-09-27T05:30:36.8848873Z ✔ no packaging script builds an architecture other than its own (3.122229ms) +2026-09-27T05:30:36.8868747Z • electron-builder version=26.15.3 os=6.17.0-1022-azure +2026-09-27T05:30:37.7779904Z • electron-builder version=26.15.3 os=6.17.0-1022-azure +2026-09-27T05:30:37.7867792Z • electron-builder version=26.15.3 os=6.17.0-1022-azure +2026-09-27T05:30:37.7952253Z • electron-builder version=26.15.3 os=6.17.0-1022-azure +2026-09-27T05:30:37.8015328Z ✔ electron-builder accepts the configuration for every Linux target (915.655973ms) +2026-09-27T05:30:37.8022431Z ✔ every payload a runner uploads is advertised or accounted for by one feed (1.016717ms) +2026-09-27T05:30:43.6204635Z ✔ keeps a version-pinned Apache override scoped to the Apache license (3345.969817ms) +2026-09-27T05:30:43.6215758Z ✔ preserves exact README MIT notices for packages without license files (3771.287884ms) +2026-09-27T05:30:43.6286009Z ✔ a cached installer matching the pinned digest is used without downloading (5.223919ms) +2026-09-27T05:30:43.6287417Z ✔ an absent installer is downloaded and verified (3.82412ms) +2026-09-27T05:30:43.6289098Z ✔ a cached installer with the wrong digest is replaced rather than trusted (2.370405ms) +2026-09-27T05:30:43.6290367Z ✔ an unreadable cache entry falls back to the network instead of failing (2.573087ms) +2026-09-27T05:30:43.6291612Z ✔ a fresh download that does not match the pinned digest fails the run (2.039547ms) +2026-09-27T05:30:43.6292869Z ✔ a nightly identity is a dev build of the checked-in product version (2.543705ms) +2026-09-27T05:30:43.6294101Z ✔ the version handoff contains only the exact npm Nightly version (0.721775ms) +2026-09-27T05:30:43.6295409Z ✔ the version handoff CLI passes only the exact version to Desktop (88.980111ms) +2026-09-27T05:30:43.6296691Z ✔ run number is the single monotonic Nightly authority across dates and product versions (0.938206ms) +2026-09-27T05:30:43.6298057Z ✔ the npm channel CLI advances across the checked-in product version boundary (49.84139ms) +2026-09-27T05:30:43.6299369Z ✔ the identity entrypoint runs before repository dependencies are installed (64.198232ms) +2026-09-27T05:30:43.6300734Z ✔ publication verifies live asset digests before one Stable/Latest mutation (98.905365ms) +2026-09-27T05:30:43.6301942Z ✔ one root version defines every product artifact from one source commit (4.213306ms) +2026-09-27T05:30:43.6303301Z ✔ the manifest operators compare the Draft against is the published set (97.688229ms) +2026-09-27T05:30:43.6304686Z ✔ publication merges the per-architecture macOS feeds into the one clients read (32.794815ms) +2026-09-27T05:30:43.6305807Z ✔ the release Linux verification runs under a virtual display (33.251269ms) +2026-09-27T05:30:43.6306924Z ✔ the publish chain turns every staged group into the exact release assets (22.040469ms) +2026-09-27T05:30:43.6308080Z ✔ the standalone launcher identifies its installed Eval bundle root (12.359515ms) +2026-09-27T05:30:43.6309072Z ✔ formal product identity rejects every prerelease channel (0.994316ms) +2026-09-27T05:30:43.6310143Z ✔ Desktop packaging derives the Runtime Host setup package from product manifests (1.177749ms) +2026-09-27T05:30:43.6311288Z ✔ Desktop stages release manifests before electron-builder builds the archive (7.060688ms) +2026-09-27T05:30:43.6312412Z ✔ Desktop packaging does not distribute the retired bundled Git runtime (0.451952ms) +2026-09-27T05:30:43.6313443Z ✔ packaged third-party license sources are resolved, not assumed hoisted (0.291301ms) +2026-09-27T05:30:43.6314135Z ✔ macOS DMG ships correctly sized background assets (1.885732ms) +2026-09-27T05:30:43.6315628Z ✔ a successful Windows upgrade invalidates stale backup authority before best-effort cleanup (0.652118ms) +2026-09-27T05:30:43.6316835Z ✔ platform package verifiers keep Git checks out of every artifact (3.970288ms) +2026-09-27T05:30:43.6317824Z ✔ the packaged-app probe rejects a mismatched Runtime Host setup package (95.835687ms) +2026-09-27T05:30:43.6318831Z ✔ product releases accept only an exact same-version ASF source reference (0.775777ms) +2026-09-27T05:30:43.6319689Z ✔ the product identity CLI uses the checked-out commit outside GitHub Actions (176.901437ms) +2026-09-27T05:30:43.6320383Z ✔ product release identity rejects a non-canonical version at its boundary (0.392094ms) +2026-09-27T05:30:43.6321338Z ✔ product tag creation is exact and idempotent but rejects a conflicting commit (88.097183ms) +2026-09-27T05:30:43.6322155Z ✔ standalone verification recognizes the current TUI status line through ANSI output (0.371076ms) +2026-09-27T05:30:43.6322838Z ✔ standalone verification assesses the downloaded quarantine state (0.196202ms) +2026-09-27T05:30:43.6323507Z ✔ standalone packaging keeps or thins arm64 Mach-O files instead of deleting them (0.340868ms) +2026-09-27T05:30:43.6324203Z ✔ CLI signing accepts one base64 PKCS12 and one isolated Developer ID identity (1.043581ms) +2026-09-27T05:30:43.6325109Z ✔ CLI signing removes temporary credentials when keychain deletion fails (5.518693ms) +2026-09-27T05:30:43.6325746Z ✔ CLI signing command failures do not disclose credential arguments (33.102968ms) +2026-09-27T05:30:43.6326640Z ✔ CLI signing removes development-only access from the official Node entitlements (1.041591ms) +2026-09-27T05:30:43.6327297Z ✔ the Eval workspace owns the complete runtime asset declaration (3.174242ms) +2026-09-27T05:30:43.6328215Z ✔ standalone packaging applies the shared CLI file policy to dependencies (4.248165ms) +2026-09-27T05:30:43.6329226Z ✔ standalone workspace staging keeps manifests consistent with copied files (23.867651ms) +2026-09-27T05:30:43.6330123Z ✔ standalone dependency installation removes host script policy and unrelated workspaces (0.353861ms) +2026-09-27T05:30:43.6330857Z ✔ standalone dependency installation ignores caller-specific npm script policy (0.27109ms) +2026-09-27T05:30:43.6331525Z ✔ one product workflow gates one draft release on every required artifact (21.502708ms) +2026-09-27T05:30:43.6332163Z ✔ repository control plane admits only each release phase owner ref (5.450931ms) +2026-09-27T05:30:43.6332719Z ✔ parses two exact artifacts and an epoch relation (1.699891ms) +2026-09-27T05:30:43.6333271Z ✔ rejects ambiguous artifact identity and unknown arguments (0.478615ms) +2026-09-27T05:30:43.6333908Z ✔ uses privilege only for mount setup and drops every privilege before Node (0.357936ms) +2026-09-27T05:30:43.6335175Z ✔ creates a private Host IPC temp root before mounting a scope that may live below it (0.208642ms) +2026-09-27T05:30:43.6335812Z ✔ classifies and fences the expected epoch relationship (0.189398ms) +2026-09-27T05:30:43.6336290Z ✔ computes the exact artifact SHA-256 (0.8687ms) +2026-09-27T05:30:43.6336836Z ✔ durable state covers the control namespace, not only the State Root (0.474687ms) +2026-09-27T05:30:43.6337536Z ✔ a workspace target replaces tarball identity instead of weakening it (0.340102ms) +2026-09-27T05:30:43.6338155Z ✔ starts the liveness window after a delayed Runtime Host Ready (247.629975ms) +2026-09-27T05:30:43.6338761Z ✔ starts the liveness window after the real Runtime Host is ready (2545.103106ms) +2026-09-27T05:30:43.6339327Z ✔ rejects a Runtime Host that exits cleanly after Ready (57.883383ms) +2026-09-27T05:30:43.6339870Z ✔ rejects a Runtime Host that fails verifier shutdown (88.816991ms) +2026-09-27T05:30:43.6340272Z ▶ CLI release artifact policy +2026-09-27T05:30:43.6340695Z ✔ accepts the established proof-tarball baseline (0.847875ms) +2026-09-27T05:30:43.6341198Z ✔ rejects each metric above its reviewed ceiling (0.616566ms) +2026-09-27T05:30:43.6341678Z ✔ rejects malformed metrics instead of coercing them (0.183994ms) +2026-09-27T05:30:43.6342126Z ✔ CLI release artifact policy (3.348289ms) +2026-09-27T05:30:43.6342503Z ▶ installed Eval release validation support +2026-09-27T05:30:43.6343020Z ✔ reports the unsupported platform before inspecting release artifacts (4.679794ms) +2026-09-27T05:30:43.6343647Z ✔ resolves the one built tarball instead of assuming the checked-in version (1.146675ms) +2026-09-27T05:30:43.6344263Z ✔ creates the Git fixture without inheriting host Git configuration (64.695967ms) +2026-09-27T05:30:43.6345060Z ✔ preserves the primary process failure when diagnostics are truncated (1.666295ms) +2026-09-27T05:30:43.6345692Z ✔ preserves the primary process failure when diagnostics cannot be read (0.979777ms) +2026-09-27T05:30:43.6346297Z ✔ reports malformed successful output with the attempt evidence (1.057297ms) +2026-09-27T05:30:43.6346857Z ✔ installed Eval release validation support (76.142232ms) +2026-09-27T05:30:43.6347418Z ✔ the npm README receives the canonical WIP disclaimer exactly once (1.547012ms) +2026-09-27T05:30:43.6347852Z ▶ CLI release file policy +2026-09-27T05:30:43.6348348Z ✔ release manifests omit exports whose targets are excluded from Maka artifacts (6.507573ms) +2026-09-27T05:30:43.6348952Z ✔ release manifests project conditional exports leaf by leaf (0.428459ms) +2026-09-27T05:30:43.6349494Z ✔ release manifests preserve a top-level export target array (0.206552ms) +2026-09-27T05:30:43.6350078Z ✔ derives the runtime workspace build order from production dependencies (0.372822ms) +2026-09-27T05:30:43.6350678Z ✔ orders selected runtime workspaces by local build-time dependencies (0.413549ms) +2026-09-27T05:30:43.6351393Z ✔ release file declarations cannot escape or overlap their workspace (0.667336ms) +2026-09-27T05:30:43.6352060Z ✔ release file declarations accept a declared directory and reject non-regular entries (1.708182ms) +2026-09-27T05:30:43.6352706Z ✔ rejects third-party development artifacts on every platform (0.638711ms) +2026-09-27T05:30:43.6353244Z ✔ preserves third-party runtime source and native assets (0.584127ms) +2026-09-27T05:30:43.6353755Z ✔ keeps the stricter Maka-owned package boundary (0.206756ms) +2026-09-27T05:30:43.6354298Z ✔ development packages exclude JavaScript left by deleted sources (0.786517ms) +2026-09-27T05:30:43.6355074Z ✔ rejects Maka test-only modules so no test backend can ship (0.173467ms) +2026-09-27T05:30:43.6355580Z ✔ leaves a third-party test-only directory alone (0.363042ms) +2026-09-27T05:30:43.6356007Z ✔ CLI release file policy (14.602005ms) +2026-09-27T05:30:43.6356382Z ▶ script imports of workspace build output +2026-09-27T05:30:43.6356899Z ✔ every workspace dist module a script references by path still exists (12.954115ms) +2026-09-27T05:30:43.6357447Z ✔ script imports of workspace build output (13.114426ms) +2026-09-27T05:30:43.6358077Z ✔ formal and Nightly versions map to their only public channels (4.400974ms) +2026-09-27T05:30:43.6358657Z ✔ formal finalization requires only the exact latest channel (0.361023ms) +2026-09-27T05:30:43.6359226Z ✔ Nightly preparation validates only the exact dev candidate (8.694607ms) +2026-09-27T05:30:43.6359838Z ✔ stage records bind the checked candidate to one source workflow run (1.421162ms) +2026-09-27T05:30:43.6360475Z ✔ stage preparation rejects a product tag that does not match the version (0.719392ms) +2026-09-27T05:30:43.6361021Z ✔ stage preparation rejects checksum drift (19.594866ms) +2026-09-27T05:30:43.6361575Z ✔ finalization accepts only the exact successful main-branch stage run (2.58006ms) +2026-09-27T05:30:43.6362275Z ✔ finalization rejects a release record whose product tag does not match its version (17.771222ms) +2026-09-27T05:30:43.6362954Z ✔ registry finalization requires the exact staged bytes and dist-tag (118.678989ms) +2026-09-27T05:30:43.6363610Z ✔ registry downloads stop reading as soon as the tarball exceeds its bound (29.229875ms) +2026-09-27T05:30:43.6364321Z ✔ release qualification binds the current Nightly tag to immutable registry bytes (104.506384ms) +2026-09-27T05:30:43.6365139Z ✔ the release predecessor may come from the previous product version (136.324561ms) +2026-09-27T05:30:43.6365768Z ✔ a newer Nightly invalidates previously qualified predecessor evidence (1.17406ms) +2026-09-27T05:30:43.6366413Z ✔ signature audit must contain Maka provenance for the finalized version (2.606936ms) +2026-09-27T05:30:43.6367096Z ✔ signature audit binds provenance to the exact main publisher workflow and run (39.510735ms) +2026-09-27T05:30:43.6367735Z ✔ signature audit tree exposes only the top-level registry package (1.42226ms) +2026-09-27T05:30:43.6368340Z ✔ prepare-stage CLI emits only consumed GitHub Actions outputs (64.646407ms) +2026-09-27T05:30:43.6368958Z ✔ validate-stage-run CLI accepts the canonical staged release identity (60.690587ms) +2026-09-27T05:30:43.6369680Z ✔ collects canonical Runtime Host evidence without invoking mutating storage authority (5.997997ms) +2026-09-27T05:30:43.6370361Z ✔ keeps read-only path evidence when root authority validation fails (1.313769ms) +2026-09-27T05:30:43.6370991Z ✔ validation consumers download the artifact produced by the build job (3.065124ms) +2026-09-27T05:30:43.6371711Z ✔ CLI validation qualifies exact published State Roots without weakening artifact identity (2.269962ms) +2026-09-27T05:30:43.6372442Z ✔ both supported Node versions validate the tarball even when the first fails (0.474052ms) +2026-09-27T05:30:43.6373086Z ✔ npm mutations revalidate the exact qualified Nightly predecessor (0.526975ms) +2026-09-27T05:30:43.6373780Z ✔ stage consumes the validated artifact and makes provenance staging the final step (0.486535ms) +2026-09-27T05:30:43.6374652Z ✔ stage builds product data without executing it under npm OIDC (0.565894ms) +2026-09-27T05:30:43.6375371Z ✔ finalize runs the current verifier from reviewed main against exact build evidence (1.440272ms) +2026-09-27T05:30:43.6376152Z ✔ finalize revalidates the live product release before trusting public npm bytes (0.353062ms) +2026-09-27T05:30:43.6376871Z ✔ finalize preserves npm evidence and owns the single product publication boundary (0.678643ms) +2026-09-27T05:30:43.6377556Z ✔ finalize consumes the normalized release assets the publish job hands off (0.858158ms) +2026-09-27T05:30:43.6378210Z ✔ release workflows select npm from the root packageManager authority (0.899178ms) +2026-09-27T05:30:43.6378776Z ✔ root release documents describe the source candidate (5.864563ms) +2026-09-27T05:30:43.6379415Z ✔ mixed-origin DeepSeek profile carries both scopes without a whole-file ASF claim (3.607721ms) +2026-09-27T05:30:43.6380090Z ✔ PawWork browser provenance is pinned to the confirmed transfer boundary (5.776551ms) +2026-09-27T05:30:43.6380746Z ✔ MingCute license pointer resolves in both source and packaged layouts (2.058415ms) +2026-09-27T05:30:43.6381386Z ✔ every vendored provider mark is bound to its reviewed inventory and digest (7.86735ms) +2026-09-27T05:30:43.6382099Z (node:5812) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time +2026-09-27T05:30:43.6382714Z (Use `node --trace-warnings ...` to show where the warning was created) +2026-09-27T05:30:43.6383325Z ✔ the committed snapshot generates both TypeScript modules offline (246.001287ms) +2026-09-27T05:30:43.6383873Z ✔ a no-op sync preserves generated output mtimes (92.617991ms) +2026-09-27T05:30:43.6384601Z ✔ a refresh persists the exact selected input and check fails on stale output (199.001552ms) +2026-09-27T05:30:43.6385214Z ✔ a modified snapshot fails closed before generation (81.483211ms) +2026-09-27T05:30:43.6385789Z ✔ refresh rejects an empty required provider before replacing outputs (2.886095ms) +2026-09-27T05:30:43.6386413Z ✔ refresh rejects unknown model modalities instead of dropping them (2.501603ms) +2026-09-27T05:30:43.6387002Z ✔ drift finds nothing when the snapshot still matches upstream (70.19699ms) +2026-09-27T05:30:43.6387612Z ✔ drift separates a rejected shape from a real upstream difference (89.214038ms) +2026-09-27T05:30:43.6388218Z ✔ drift reports the projection sections that carry no model metadata (70.374728ms) +2026-09-27T05:30:43.6388783Z ✔ drift refuses to combine with the modes that write (0.640295ms) +2026-09-27T05:30:43.6389344Z ✔ refresh carries the video and pdf modalities models.dev declares (63.237852ms) +2026-09-27T05:30:43.6390001Z ✔ refresh rejects a partial provider shrink until it is explicitly accepted (146.171808ms) +2026-09-27T05:30:43.6390650Z ✔ refresh rejects lost pricing coverage from an otherwise valid model (63.862559ms) +2026-09-27T05:30:43.6391240Z ✔ refresh rejects nested capability and pricing shrinkage (152.208341ms) +2026-09-27T05:30:43.6391852Z ✔ refresh leaves all targets unchanged when any output cannot be staged (139.424134ms) +2026-09-27T05:30:43.6392310Z ▶ bareCssImportSpecifiers +2026-09-27T05:30:43.6392727Z ✔ finds package names behind every @import spelling (2.932778ms) +2026-09-27T05:30:43.6393228Z ✔ ignores anything that is not a package name (0.253702ms) +2026-09-27T05:30:43.6393731Z ✔ reports a scoped package once however deeply it is imported (0.277942ms) +2026-09-27T05:30:43.6394193Z ✔ bareCssImportSpecifiers (5.057143ms) +2026-09-27T05:30:43.6394923Z ✔ the architecture assertion accepts a binary built for the target (9.15751ms) +2026-09-27T05:30:43.6395524Z ✔ the architecture assertion rejects the other architecture (2.642446ms) +2026-09-27T05:30:43.6396079Z ✔ the architecture assertion rejects a file that is not ELF (1.472379ms) +2026-09-27T05:30:43.6396620Z ✔ the architecture assertion rejects a truncated header (1.525921ms) +2026-09-27T05:30:43.6397197Z ✔ the architecture assertion refuses to read a big-endian header (1.501119ms) +2026-09-27T05:30:43.6397832Z ✔ the merged Linux feed offers both distributables (55.151723ms) +2026-09-27T05:30:43.6398350Z ✔ the Nightly merged feed is read under its own name (6.364937ms) +2026-09-27T05:30:43.6398838Z ✔ a merged feed that lost a payload is rejected (6.50869ms) +2026-09-27T05:30:43.6399463Z ✔ a merged feed whose digest belongs to another payload is rejected (4.824972ms) +2026-09-27T05:30:43.6400003Z ✔ a merged feed carrying a stale digest is rejected (8.736273ms) +2026-09-27T05:30:43.6400501Z ✔ a merged feed carrying a stale size is rejected (5.79641ms) +2026-09-27T05:30:43.6400995Z ✔ Linux verification refuses to run anywhere else (0.618727ms) +2026-09-27T05:30:45.4701622Z ✔ Windows file rules keep test code and renderer side-files out of the app (81.903047ms) +2026-09-27T05:30:45.4727039Z ✔ Desktop packaging keeps node-pty runtime files without its build intermediates (42.041442ms) +2026-09-27T05:30:45.4728165Z ✔ packaged resources forbid the retired bundled Git distribution (2.012159ms) +2026-09-27T05:30:45.4729386Z ✔ the upgrade baseline keeps the Git absence rule while relaxing newer resources (2.957832ms) +2026-09-27T05:30:45.4729858Z ▶ asarLookupPath +2026-09-27T05:30:45.4730325Z ✔ leaves archive paths alone where the separator already matches (1.317185ms) +2026-09-27T05:30:45.4730887Z ✔ localizes every segment for a Windows separator (0.192836ms) +2026-09-27T05:30:45.4731409Z ✔ resolves a real archive path under a Windows separator (3.463498ms) +2026-09-27T05:30:45.4731821Z ✔ asarLookupPath (5.5109ms) +2026-09-27T05:30:45.4732312Z ✔ accepts the Intel Mach-O architecture for an x64 package (3944.835901ms) +2026-09-27T05:30:45.4820977Z ▶ assertPackagedDependencyClosure +2026-09-27T05:30:45.4821641Z ✔ accepts an artifact whose asar, bundle record, and shipped notices match (15.249017ms) +2026-09-27T05:30:45.4870550Z ✔ rejects a stale shipped notice even though the checkout copy is complete (5.011766ms) +2026-09-27T05:30:45.4916018Z ✔ rejects a notice entry whose version is not the shipped one (4.408282ms) +2026-09-27T05:30:45.4953167Z ✔ rejects a permitted package shipped at a version the closure does not declare (3.767208ms) +2026-09-27T05:30:45.5005962Z ✔ rejects shipped code importing a package the closure allows but the archive lacks (5.095064ms) +2026-09-27T05:30:45.5068914Z ✔ rejects a leak hidden inside a nested node_modules (6.285486ms) +2026-09-27T05:30:45.5107727Z ✔ rejects any package outside the production closure, transitive ones included (3.944174ms) +2026-09-27T05:30:45.5149627Z ✔ rejects an asar trimmed past what the PTY stack loads (4.029325ms) +2026-09-27T05:30:45.5189864Z ✔ rejects a bundle record naming a package the closure does not declare (3.986446ms) +2026-09-27T05:30:45.5227756Z ✔ rejects an artifact with no bundle record at all (3.720227ms) +2026-09-27T05:30:45.5306037Z ✔ asset-licensed packages need their shipped license file, not an npm notice (7.133741ms) +2026-09-27T05:30:45.5307242Z ✔ assertPackagedDependencyClosure (63.583318ms) +2026-09-27T05:30:45.5317496Z ▶ assertPackagedResources +2026-09-27T05:30:45.5318544Z ✔ a current build must carry the canonical icon (1.481587ms) +2026-09-27T05:30:45.5329270Z ✔ a legacy baseline predating the packaged icon is not required to carry it (0.740343ms) +2026-09-27T05:30:45.5330017Z ✔ assertPackagedResources (2.439211ms) +2026-09-27T05:30:45.5528756Z ✔ the Windows package trigger is exactly its closure plus declared exceptions (61.766944ms) +2026-09-27T05:30:45.5529589Z ✔ the Windows package workflow path list has no duplicate entries (0.9159ms) +2026-09-27T05:30:45.5530372Z ✔ the recovery filter is exactly the Windows-branching closure of its tests (1407.8965ms) +2026-09-27T05:30:45.5532151Z ℹ tests 203 +2026-09-27T05:30:45.5532499Z ℹ suites 8 +2026-09-27T05:30:45.5532841Z ℹ pass 203 +2026-09-27T05:30:45.5533088Z ℹ fail 0 +2026-09-27T05:30:45.5533344Z ℹ cancelled 0 +2026-09-27T05:30:45.5533594Z ℹ skipped 0 +2026-09-27T05:30:45.5533846Z ℹ todo 0 +2026-09-27T05:30:45.5534127Z ℹ duration_ms 9444.841686 +2026-09-27T05:30:45.5674703Z ##[group]Run npm run typecheck +2026-09-27T05:30:45.5674999Z npm run typecheck +2026-09-27T05:30:45.5713743Z shell: /usr/bin/bash -e {0} +2026-09-27T05:30:45.5714026Z ##[endgroup] +2026-09-27T05:30:45.6606261Z +2026-09-27T05:30:45.6607159Z > maka@0.2.0 typecheck +2026-09-27T05:30:45.6607755Z > npm run typecheck --workspaces --if-present +2026-09-27T05:30:45.6608082Z +2026-09-27T05:30:45.7760471Z +2026-09-27T05:30:45.7761110Z > @maka/core@0.1.0 pretypecheck +2026-09-27T05:30:45.7761662Z > npm --prefix ../.. run sync:model-metadata +2026-09-27T05:30:45.7761881Z +2026-09-27T05:30:45.8707284Z +2026-09-27T05:30:45.8707961Z > maka@0.2.0 sync:model-metadata +2026-09-27T05:30:45.8708530Z > node scripts/sync-model-metadata.mjs +2026-09-27T05:30:45.8708744Z +2026-09-27T05:30:45.9481684Z (node:6226) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time +2026-09-27T05:30:45.9482946Z (Use `node --trace-warnings ...` to show where the warning was created) +2026-09-27T05:30:45.9888515Z +2026-09-27T05:30:45.9889411Z > @maka/core@0.1.0 typecheck +2026-09-27T05:30:45.9889969Z > tsc -p tsconfig.json --noEmit +2026-09-27T05:30:45.9890224Z +2026-09-27T05:30:46.2110694Z +2026-09-27T05:30:46.2111105Z > @maka/storage@0.1.0 typecheck +2026-09-27T05:30:46.2111648Z > tsc -p tsconfig.json --noEmit +2026-09-27T05:30:46.2111854Z +2026-09-27T05:30:46.4790863Z +2026-09-27T05:30:46.4791485Z > @maka/mcp@0.1.0 typecheck +2026-09-27T05:30:46.4792034Z > tsc -p tsconfig.json --noEmit +2026-09-27T05:30:46.4792253Z +2026-09-27T05:30:46.6540865Z +2026-09-27T05:30:46.6541612Z > @maka/runtime@0.1.0 pretypecheck +2026-09-27T05:30:46.6542204Z > npm --prefix ../.. run sync:model-metadata +2026-09-27T05:30:46.6542435Z +2026-09-27T05:30:46.7400882Z +2026-09-27T05:30:46.7401484Z > maka@0.2.0 sync:model-metadata +2026-09-27T05:30:46.7402043Z > node scripts/sync-model-metadata.mjs +2026-09-27T05:30:46.7402250Z +2026-09-27T05:30:46.8181170Z (node:6296) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time +2026-09-27T05:30:46.8182156Z (Use `node --trace-warnings ...` to show where the warning was created) +2026-09-27T05:30:46.8589985Z +2026-09-27T05:30:46.8590609Z > @maka/runtime@0.1.0 typecheck +2026-09-27T05:30:46.8591172Z > tsc -p tsconfig.json --noEmit +2026-09-27T05:30:46.8591420Z +2026-09-27T05:30:47.7222235Z +2026-09-27T05:30:47.7222896Z > @maka/acp-executor-plugin@0.1.0 typecheck +2026-09-27T05:30:47.7223397Z > tsc -p tsconfig.json --noEmit +2026-09-27T05:30:47.7223647Z +2026-09-27T05:30:47.8513635Z +2026-09-27T05:30:47.8514654Z > @maka/antigravity-acp-plugin@0.1.0 typecheck +2026-09-27T05:30:47.8515146Z > tsc -p tsconfig.json --noEmit +2026-09-27T05:30:47.8515336Z +2026-09-27T05:30:47.9895507Z +2026-09-27T05:30:48.4372019Z > @maka/runtime-host@0.1.0 typecheck +2026-09-27T05:30:48.4372443Z > tsc -p tsconfig.json --noEmit +2026-09-27T05:30:48.4372634Z +2026-09-27T05:30:48.4372641Z +2026-09-27T05:30:48.4372765Z > @maka/eval@0.1.0 typecheck +2026-09-27T05:30:48.4373103Z > tsc -p tsconfig.json --noEmit +2026-09-27T05:30:48.4373267Z +2026-09-27T05:30:48.6124139Z +2026-09-27T05:30:48.6124891Z > @maka/computer-use@0.1.0 typecheck +2026-09-27T05:30:48.6125331Z > tsc -p tsconfig.json --noEmit +2026-09-27T05:30:48.6125519Z +2026-09-27T05:30:48.7596719Z +2026-09-27T05:30:48.7597280Z > maka-agent@0.2.0 typecheck +2026-09-27T05:30:48.7597826Z > tsc -p tsconfig.json --noEmit +2026-09-27T05:30:48.7598085Z +2026-09-27T05:30:49.0770950Z +2026-09-27T05:30:49.0771567Z > @maka/ui@0.1.0 typecheck +2026-09-27T05:30:49.0772049Z > tsc -p tsconfig.json --noEmit +2026-09-27T05:30:49.0772254Z +2026-09-27T05:30:49.4265735Z +2026-09-27T05:30:49.4266407Z > @maka/desktop@0.2.0 typecheck +2026-09-27T05:30:49.4267701Z > tsc -p tsconfig.preload.json --noEmit && tsc -p tsconfig.main.json --noEmit && tsc -p tsconfig.renderer.json --noEmit && tsc -p tsconfig.storybook.json --noEmit +2026-09-27T05:30:49.4268297Z +2026-09-27T05:30:55.3154604Z ##[group]Run npm run astryx:theme -- --check +2026-09-27T05:30:55.3154995Z npm run astryx:theme -- --check +2026-09-27T05:30:55.3195485Z shell: /usr/bin/bash -e {0} +2026-09-27T05:30:55.3195795Z ##[endgroup] +2026-09-27T05:30:55.4156190Z +2026-09-27T05:30:55.4156674Z > maka@0.2.0 astryx:theme +2026-09-27T05:30:55.4157195Z > node scripts/build-astryx-theme.mjs --check +2026-09-27T05:30:55.4157761Z +2026-09-27T05:30:56.3415463Z +2026-09-27T05:30:56.3416346Z Next step: run `npx astryx init` to finish setup and install the Astryx agent prompt. +2026-09-27T05:30:56.3426472Z +2026-09-27T05:30:56.3426968Z Building theme from src/renderer/astryx-theme/makaTheme.ts... +2026-09-27T05:30:56.7735097Z +2026-09-27T05:30:56.7736461Z ✓ ../../../../../../../tmp/maka-astryx-theme-jB4Q03/maka.css +2026-09-27T05:30:56.7766181Z 180 token overrides, 14 component overrides +2026-09-27T05:30:56.7795270Z 26.9 KB +2026-09-27T05:30:56.7825915Z ✓ ../../../../../../../tmp/maka-astryx-theme-jB4Q03/maka.js +2026-09-27T05:30:56.7826812Z ✓ ../../../../../../../tmp/maka-astryx-theme-jB4Q03/maka.d.ts +2026-09-27T05:30:56.7833541Z ✓ ../../../../../../../tmp/maka-astryx-theme-jB4Q03/maka.variants.d.ts (1 type augmentations) +2026-09-27T05:30:56.7834110Z +2026-09-27T05:30:56.7834929Z Install in your app (paths are relative to a file in src/ — adjust if yours lives elsewhere): +2026-09-27T05:30:56.7835629Z +2026-09-27T05:30:56.7836012Z import { makaTheme } from './../../../../../../../tmp/maka-astryx-theme-jB4Q03/maka'; +2026-09-27T05:30:56.7836832Z import './../../../../../../../tmp/maka-astryx-theme-jB4Q03/maka.css'; +2026-09-27T05:30:56.7837207Z +2026-09-27T05:30:56.7837355Z +2026-09-27T05:30:56.7837762Z +2026-09-27T05:30:56.7837976Z +2026-09-27T05:30:56.7838101Z +2026-09-27T05:30:56.7838220Z Or with a tag: +2026-09-27T05:30:56.7838373Z +2026-09-27T05:30:56.7838626Z import { makaTheme } from './../../../../../../../tmp/maka-astryx-theme-jB4Q03/maka'; +2026-09-27T05:30:56.7838941Z +2026-09-27T05:30:56.7839339Z +2026-09-27T05:30:56.7840086Z +2026-09-27T05:30:56.7840494Z +2026-09-27T05:30:56.7840803Z +2026-09-27T05:30:56.7840989Z +2026-09-27T05:30:56.7841953Z note: Font "PingFang SC" is named by this theme but not loaded — add a or @font-face in your app (recipe: astryx docs typography) +2026-09-27T05:30:56.7847380Z note: Font "Hiragino Sans GB" is named by this theme but not loaded — add a or @font-face in your app (recipe: astryx docs typography) +2026-09-27T05:30:56.7849041Z note: Font "Microsoft YaHei" is named by this theme but not loaded — add a or @font-face in your app (recipe: astryx docs typography) +2026-09-27T05:30:56.7850674Z note: Font "Microsoft YaHei UI" is named by this theme but not loaded — add a or @font-face in your app (recipe: astryx docs typography) +2026-09-27T05:30:56.7851671Z note: Font "Noto Sans CJK SC" is named by this theme but not loaded — add a or @font-face in your app (recipe: astryx docs typography) +2026-09-27T05:30:56.7852556Z note: Font "Noto Sans SC" is named by this theme but not loaded — add a or @font-face in your app (recipe: astryx docs typography) +2026-09-27T05:30:56.7853452Z note: Font "WenQuanYi Micro Hei" is named by this theme but not loaded — add a or @font-face in your app (recipe: astryx docs typography) +2026-09-27T05:30:56.7854374Z note: Font "Source Han Sans SC" is named by this theme but not loaded — add a or @font-face in your app (recipe: astryx docs typography) +2026-09-27T05:30:56.7855545Z note: Font "Geist Variable" is named by this theme but not loaded — add a or @font-face in your app (recipe: astryx docs typography) +2026-09-27T05:30:56.7863221Z note: Font "Geist Mono Variable" is named by this theme but not loaded — add a or @font-face in your app (recipe: astryx docs typography) +2026-09-27T05:30:56.7864953Z note: Font "JetBrains Mono" is named by this theme but not loaded — add a or @font-face in your app (recipe: astryx docs typography) +2026-09-27T05:30:56.7865930Z note: Font "SFMono-Regular" is named by this theme but not loaded — add a or @font-face in your app (recipe: astryx docs typography) +2026-09-27T05:30:56.7866367Z +2026-09-27T05:30:56.7867658Z ⚠ Theme "maka" names fonts it does not load: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Microsoft YaHei UI", "Noto Sans CJK SC", "Noto Sans SC", "WenQuanYi Micro Hei", "Source Han Sans SC", "Geist Variable", "Geist Mono Variable", "JetBrains Mono", "SFMono-Regular" +2026-09-27T05:30:56.7868737Z The built CSS only sets font-family — load these in your app, or every +2026-09-27T05:30:56.7869125Z browser quietly falls back. +2026-09-27T05:30:56.7869294Z +2026-09-27T05:30:56.7869583Z Google Fonts (add :wght@… axes as your theme's weights require): +2026-09-27T05:30:56.7869837Z +2026-09-27T05:30:56.7870078Z +2026-09-27T05:30:56.7870562Z +2026-09-27T05:30:56.7872079Z +2026-09-27T05:30:56.7873638Z +2026-09-27T05:30:56.7873858Z Self-hosted (repeat per family and weight): +2026-09-27T05:30:56.7874142Z +2026-09-27T05:30:56.7874270Z @font-face { +2026-09-27T05:30:56.7874742Z font-family: "PingFang SC"; +2026-09-27T05:30:56.7875226Z src: url('/fonts/pingfang-sc.woff2') format('woff2'); +2026-09-27T05:30:56.7875696Z font-display: swap; +2026-09-27T05:30:56.7876016Z } +2026-09-27T05:30:56.7876145Z +2026-09-27T05:30:56.7876361Z Recipe and fallback-stack guidance: astryx docs typography +2026-09-27T05:30:56.7876610Z +2026-09-27T05:30:56.8285042Z Astryx theme artifacts are current. +2026-09-27T05:30:56.8395159Z ##[group]Run npx knip --workspace apps/desktop +2026-09-27T05:30:56.8395599Z npx knip --workspace apps/desktop +2026-09-27T05:30:56.8435462Z shell: /usr/bin/bash -e {0} +2026-09-27T05:30:56.8435785Z ##[endgroup] +2026-09-27T05:31:02.2154003Z ##[group]Run npx knip --workspace packages/ui +2026-09-27T05:31:02.2154366Z npx knip --workspace packages/ui +2026-09-27T05:31:02.2194931Z shell: /usr/bin/bash -e {0} +2026-09-27T05:31:02.2195247Z ##[endgroup] +2026-09-27T05:31:05.9554365Z ##[group]Run npm exec -w @maka/runtime -- node --test dist/__tests__/linux-sandbox-smoke.test.js +2026-09-27T05:31:05.9555327Z npm exec -w @maka/runtime -- node --test dist/__tests__/linux-sandbox-smoke.test.js +2026-09-27T05:31:05.9595342Z shell: /usr/bin/bash -e {0} +2026-09-27T05:31:05.9595634Z env: +2026-09-27T05:31:05.9595884Z MAKA_REQUIRE_LINUX_SANDBOX_SMOKE: 1 +2026-09-27T05:31:05.9596166Z ##[endgroup] +2026-09-27T05:31:06.5558302Z ▶ Linux sandbox smoke +2026-09-27T05:31:06.5559288Z ✔ required Linux sandbox capability is available (0.787684ms) +2026-09-27T05:31:06.5832097Z ✔ workspace-write can write workspace files and blocks sibling paths (30.39843ms) +2026-09-27T05:31:06.5948116Z ✔ workspace-write allows metadata writes inside the selected workspace (11.507032ms) +2026-09-27T05:31:06.5975088Z ✔ missing exact-write creation fails closed when its pinned parent moves (2.875531ms) +2026-09-27T05:31:06.6392236Z ✔ shell-launched Node uses runtime roots and the seccomp socket filter (41.192754ms) +2026-09-27T05:31:06.6548351Z ✔ builtin Bash executes a tool from a nonstandard host PATH inside bubblewrap (15.467317ms) +2026-09-27T05:31:06.6828121Z ✔ builtin Bash enforces an expanded managed boundary and explicit bypass (28.043661ms) +2026-09-27T05:31:06.6829262Z ✔ Linux sandbox smoke (132.06236ms) +2026-09-27T05:31:06.6980514Z ℹ tests 7 +2026-09-27T05:31:06.6980799Z ℹ suites 1 +2026-09-27T05:31:06.6981212Z ℹ pass 7 +2026-09-27T05:31:06.6981589Z ℹ fail 0 +2026-09-27T05:31:06.6981968Z ℹ cancelled 0 +2026-09-27T05:31:06.6982463Z ℹ skipped 0 +2026-09-27T05:31:06.6982860Z ℹ todo 0 +2026-09-27T05:31:06.6983399Z ℹ duration_ms 476.004598 +2026-09-27T05:31:06.7140445Z ##[group]Run if [[ "$STORAGE_STRESS" == "true" ]]; then +2026-09-27T05:31:06.7140959Z if [[ "$STORAGE_STRESS" == "true" ]]; then +2026-09-27T05:31:06.7141263Z  export MAKA_STORAGE_STRESS=1 +2026-09-27T05:31:06.7141526Z fi +2026-09-27T05:31:06.7141937Z node scripts/run-workspace-tests-parallel.mjs --concurrency=3 --workspaces="$WORKSPACES" +2026-09-27T05:31:06.7182860Z shell: /usr/bin/bash -e {0} +2026-09-27T05:31:06.7183162Z env: +2026-09-27T05:31:06.7183383Z STORAGE_STRESS: false +2026-09-27T05:31:06.7184162Z WORKSPACES: packages/core,packages/storage,packages/mcp,packages/runtime,packages/acp-executor-plugin,packages/antigravity-acp-plugin,packages/eval,packages/computer-use,packages/cli,packages/ui,apps/desktop +2026-09-27T05:31:06.7185107Z ##[endgroup] +2026-09-27T05:31:06.7658310Z +2026-09-27T05:31:06.7658664Z [runtime] start: npm run test:dist +2026-09-27T05:31:06.7686091Z +2026-09-27T05:31:06.7686682Z [desktop] start: npm run test:dist +2026-09-27T05:31:06.7703600Z +2026-09-27T05:31:06.7704161Z [cli] start: npm run test:dist +2026-09-27T05:31:06.9501489Z +2026-09-27T05:31:06.9505345Z > maka-agent@0.2.0 test:dist +2026-09-27T05:31:06.9506042Z > node --test "dist/**/*.test.js" +2026-09-27T05:31:06.9506312Z +2026-09-27T05:31:06.9552388Z +2026-09-27T05:31:06.9553057Z > @maka/desktop@0.2.0 test:dist +2026-09-27T05:31:06.9555456Z > node --test --test-force-exit "dist/main/**/*.test.js" scripts/dev-app-runtime.test.mjs scripts/dev-worktree.test.mjs scripts/vite-workspace-packages.test.mjs scripts/vite-client-plugin-slots.test.mjs scripts/build-executor-plugins.test.mjs +2026-09-27T05:31:06.9560542Z +2026-09-27T05:31:06.9773697Z +2026-09-27T05:31:06.9796112Z > @maka/runtime@0.1.0 test:dist +2026-09-27T05:31:06.9825765Z > node --test "dist/**/*.test.js" +2026-09-27T05:31:06.9835054Z +2026-09-27T05:31:07.7025871Z ▶ Maka ACP agent +2026-09-27T05:31:07.7101015Z ✔ returns the Maka identity and advertises Session listing and close (17.42448ms) +2026-09-27T05:31:07.7146521Z ✔ routes official SDK new and list requests through the Session registry (16.733136ms) +2026-09-27T05:31:07.7153568Z ✔ routes the concrete Turn resume extension through the SDK (5.335252ms) +2026-09-27T05:31:07.7310753Z ✔ decodes all Goal/Plan extension inputs with Host specifications (7.418737ms) +2026-09-27T05:31:07.7323334Z ✔ routes bounded copy-source queries and rejects invalid input through the SDK (1.995848ms) +2026-09-27T05:31:07.7324668Z ✔ routes branch, revision, and abandon extensions through the SDK (2.647131ms) +2026-09-27T05:31:07.7325793Z ✔ routes official SDK set-config requests through the Session registry (3.563592ms) +2026-09-27T05:31:07.7327128Z ✔ routes prompt, cancel, and close through the Session registry (9.914243ms) +2026-09-27T05:31:07.7355617Z ✔ does not implement session/set_mode (1.393599ms) +2026-09-27T05:31:07.7385853Z ✔ selects v1 when the client requests an unsupported lower or higher version (1.57409ms) +2026-09-27T05:31:07.7400721Z ✔ Maka ACP agent (70.318419ms) +2026-09-27T05:31:09.2436033Z ▶ AdmissionLimiter +2026-09-27T05:31:09.2466540Z ✔ grants waiting permits in FIFO order and makes release idempotent (9.350474ms) +2026-09-27T05:31:09.2528812Z ✔ removes an aborted waiter without consuming capacity (0.905543ms) +2026-09-27T05:31:09.2555057Z ✔ closes the turn scope for queued and future permits (6.612101ms) +2026-09-27T05:31:09.2610681Z ✔ AdmissionLimiter (18.421372ms) +2026-09-27T05:31:09.2984755Z ▶ ToolRuntime child Session run permits +2026-09-27T05:31:09.2996198Z ✔ caps linked child runs spawned inside one admitted subagent tool (72.397596ms) +2026-09-27T05:31:09.3115947Z ✔ does not start a queued child after the parent tool is aborted (24.742907ms) +2026-09-27T05:31:09.3666953Z ✔ shares one child-run pool across concurrently admitted tools (41.340403ms) +2026-09-27T05:31:09.3696082Z ✔ releases the permit when child startup throws (20.366804ms) +2026-09-27T05:31:09.3726759Z ✔ rejects future child starts from a tool context after its turn ends (1.292962ms) +2026-09-27T05:31:09.3728096Z ✔ ToolRuntime child Session run permits (161.022077ms) +2026-09-27T05:31:09.4535975Z ▶ Agent Graph supervisor wake delivery +2026-09-27T05:31:09.4536846Z ✔ uses the shared compaction transaction for overflow recovery (2.735717ms) +2026-09-27T05:31:09.4537943Z ✔ lets Swarm suppress dispatch wakes and choose a status-only wake turn (45.518861ms) +2026-09-27T05:31:09.4576047Z ✔ admits a checkpoint-only wake without a reconciliation result (63.893701ms) +2026-09-27T05:31:09.4596139Z ✔ retries failures before and after prompt persistence, delivering only a completed turn (74.918477ms) +2026-09-27T05:31:09.4625875Z ✔ aggressively compacts after a context overflow before delivering a fresh turn (61.103341ms) +2026-09-27T05:31:09.4656466Z ✔ stops after one recovered overflow and reports a bounded durable partial result (59.684259ms) +2026-09-27T05:31:09.4680648Z ✔ does not blindly retry an overflow when no recovery path is available (63.780782ms) +2026-09-27T05:31:09.4685944Z ✔ parks a suspended outcome without redelivering its persisted prompt (61.839353ms) +2026-09-27T05:31:09.4717781Z ✔ retries a parked attempt only after its permission response loses the live waiter (43.492723ms) +2026-09-27T05:31:09.4745630Z ✔ does not strand a permission response racing the suspended wake commit (84.714994ms) +2026-09-27T05:31:09.4755614Z ✔ recovers a crash-interrupted running attempt and redelivers it (53.637275ms) +2026-09-27T05:31:09.4805546Z ✔ converges a completed crash-window AgentRun without duplicate delivery (27.072424ms) +2026-09-27T05:31:09.4806742Z ✔ supersedes a checkpoint that closes before root admission (27.13284ms) +2026-09-27T05:31:09.5036432Z ✔ terminally supersedes retryable wakes for an unavailable Session during recovery (26.618168ms) +2026-09-27T05:31:09.5046070Z ✔ retries a recovered waiting-permission attempt after its live waiter is lost (28.664727ms) +2026-09-27T05:31:09.5076006Z ✔ close aborts a queued activity acquisition and never starts a turn afterward (34.781483ms) +2026-09-27T05:31:09.5105762Z ✔ beginDrain aborts an in-flight wake turn and close joins it (28.096826ms) +2026-09-27T05:31:09.5121220Z ✔ overlapping client stops keep one Session wake suppressed until both settle (27.169756ms) +2026-09-27T05:31:09.5135765Z ✔ epoch cutover supersedes retryable wakes before the next graph can notify (26.225513ms) +2026-09-27T05:31:09.5165922Z ✔ recovery supersedes a prior-epoch wake after the epoch commit crash window (26.978506ms) +2026-09-27T05:31:09.5195563Z ✔ Agent Graph supervisor wake delivery (871.811184ms) +2026-09-27T05:31:09.5208689Z ▶ agent graph replay timeline +2026-09-27T05:31:09.5225746Z ✔ reconstructs control, child records, parent completion, and supervisor wake chronologically (65.490908ms) +2026-09-27T05:31:09.5245898Z ✔ paginates with a validated stable cursor and reports bounded omissions (19.233844ms) +2026-09-27T05:31:09.5275850Z ✔ keeps historical pagination cursors valid when mutable control snapshots change (5.595603ms) +2026-09-27T05:31:09.5295808Z ✔ joins a transactionally read SQLite metadata snapshot with immutable run ledgers (8.781616ms) +2026-09-27T05:31:09.5315665Z ✔ emits activation_started from a durable claimed AgentRun before its first RuntimeEvent (1.203748ms) +2026-09-27T05:31:09.5345820Z ✔ projects a superseded durable supervisor wake attempt as settled (115.304773ms) +2026-09-27T05:31:09.5375404Z ✔ agent graph replay timeline (217.75998ms) +2026-09-27T05:31:09.5397014Z ▶ inspectAgentRunReadModel +2026-09-27T05:31:09.5405570Z ✔ returns consistent diagnostics for a complete run (6.120788ms) +2026-09-27T05:31:09.5435647Z ✔ reports missing and corrupt runtime-events without discarding operational facts (0.820606ms) +2026-09-27T05:31:09.5465240Z ✔ inspectAgentRunReadModel (8.513314ms) +2026-09-27T05:31:09.5481150Z ▶ AgentRun startup recovery +2026-09-27T05:31:09.5495770Z ✔ fails a graph supervisor permission handoff once its live waiter is lost (4.315527ms) +2026-09-27T05:31:09.5525894Z ✔ AgentRun startup recovery (8.71314ms) +2026-09-27T05:31:10.6856509Z ✔ rejects an invalid tool mode before a durable AgentRun can be created (631.932263ms) +2026-09-27T05:31:10.8167699Z ✔ keeps manual diagnostics available while About metadata is pending (71.657167ms) +2026-09-27T05:31:10.8544211Z ✔ records changed request surfaces append-only and reuses unchanged epochs (172.713593ms) +2026-09-27T05:31:10.8786346Z ✔ a packaged nightly says so, never 正式版 (1.382534ms) +2026-09-27T05:31:10.8816193Z ✔ buildMode decides before updateChannel, whose dev value is a placeholder (0.401994ms) +2026-09-27T05:31:10.8825699Z ✔ the row only offers a check where the service would honour one (2.247584ms) +2026-09-27T05:31:10.8845984Z ✔ the version lives on the second line, so the label never truncates against the button (0.363624ms) +2026-09-27T05:31:10.8874547Z ✔ the nightly steady states each read as themselves (6.692692ms) +2026-09-27T05:31:10.8915718Z ✔ a failure names the step that failed and offers the check again (0.301364ms) +2026-09-27T05:31:10.8930941Z ▶ keyed action guard +2026-09-27T05:31:10.8977528Z ✔ admits the first action per key and rejects a concurrent same-key action (1.282628ms) +2026-09-27T05:31:10.8978908Z ✔ lets different keys run in parallel and releases them independently (2.59923ms) +2026-09-27T05:31:10.9005631Z ✔ beginExclusive admits only while nothing is in flight (0.265121ms) +2026-09-27T05:31:10.9034020Z ✔ keeps a stale release from stripping a newer hold after reset (0.255041ms) +2026-09-27T05:31:10.9055129Z ✔ reset drops every in-flight hold (0.210182ms) +2026-09-27T05:31:10.9075421Z ✔ keyed action guard (8.565725ms) +2026-09-27T05:31:10.9101587Z ▶ Active execution boundary read model +2026-09-27T05:31:10.9130167Z ✔ never shows one session the boundary read for another (3.20167ms) +2026-09-27T05:31:10.9195943Z ✔ a stale snapshot would misreport permissions the user just granted (#1611) (0.318651ms) +2026-09-27T05:31:10.9230156Z ✔ shows a pending mode change only once the boundary is known (1.023068ms) +2026-09-27T05:31:10.9235419Z ✔ Active execution boundary read model (6.061355ms) +2026-09-27T05:31:10.9265518Z ▶ A boundary read that fails (#1629) +2026-09-27T05:31:10.9295681Z ✔ settles as unreadable instead of leaving the read pending forever (14.091519ms) +2026-09-27T05:31:10.9328132Z ✔ separates "asked and failed" from "not asked yet", and both fail closed (24.58267ms) +2026-09-27T05:31:10.9329473Z ✔ recovers an unreadable boundary when the session Host reports ready (124.61289ms) +2026-09-27T05:31:10.9356074Z ✔ recovers when the ready push arrives before the failing read settles (13.078218ms) +2026-09-27T05:31:10.9385551Z ✔ A boundary read that fails (#1629) (181.058435ms) +2026-09-27T05:31:10.9409539Z ▶ Only the newest boundary read may commit +2026-09-27T05:31:10.9427310Z ✔ does not let a session the user left overwrite the one they opened (1.04894ms) +2026-09-27T05:31:10.9446137Z ✔ does not let a superseded revision come back after a reload or a mode change (0.743127ms) +2026-09-27T05:31:10.9482548Z ✔ Only the newest boundary read may commit (2.196002ms) +2026-09-27T05:31:10.9505832Z ▶ Boundary decisions notify the read model +2026-09-27T05:31:10.9532359Z ✔ re-reads authority when a boundary decision is acknowledged (4.201166ms) +2026-09-27T05:31:10.9545487Z ✔ does not re-read on events that cannot move a boundary (3.371097ms) +2026-09-27T05:31:10.9588698Z ✔ Boundary decisions notify the read model (7.773037ms) +2026-09-27T05:31:10.9615838Z ✔ Traditional Chinese Agent Graph copy does not use Simplified fallbacks (1.048177ms) +2026-09-27T05:31:10.9645522Z ▶ isAgentGraphLive +2026-09-27T05:31:10.9670336Z ✔ treats in-flight statuses as live and settled ones as not (0.970982ms) +2026-09-27T05:31:10.9745451Z ✔ isAgentGraphLive (10.385042ms) +2026-09-27T05:31:10.9771224Z ▶ isAgentGraphPanelDismissible +2026-09-27T05:31:10.9800500Z ✔ allows hiding a graph that no longer has active work (3.578335ms) +2026-09-27T05:31:10.9827307Z ✔ keeps the panel while the graph is still in flight (0.208664ms) +2026-09-27T05:31:10.9854295Z ✔ isAgentGraphPanelDismissible (4.077851ms) +2026-09-27T05:31:10.9906855Z ▶ shouldShowAgentGraphPanel +2026-09-27T05:31:10.9927145Z ✔ hides a dismissed completed graph for that session (0.718081ms) +2026-09-27T05:31:10.9961685Z ✔ shows a new graph after the previous one was dismissed (0.244958ms) +2026-09-27T05:31:10.9975579Z ✔ shows the same graph again if it leaves a terminal state (0.545455ms) +2026-09-27T05:31:10.9995514Z ✔ does not apply another session's dismissal (0.493569ms) +2026-09-27T05:31:11.0025546Z ✔ keeps the existing empty-state hide when graph mode is off (0.30762ms) +2026-09-27T05:31:11.0053135Z ✔ still shows an enabled graph that has not produced activity yet (1.473584ms) +2026-09-27T05:31:11.0064762Z ✔ shouldShowAgentGraphPanel (10.147695ms) +2026-09-27T05:31:11.0101504Z ▶ dismiss and reconcile +2026-09-27T05:31:11.0134860Z ✔ records the dismissed graph for the session (7.320529ms) +2026-09-27T05:31:11.0136024Z ✔ drops a stale dismissal when a later snapshot is a different graph (2.634076ms) +2026-09-27T05:31:11.0169582Z ✔ drops a stale dismissal when the same graph becomes active again (0.177904ms) +2026-09-27T05:31:11.0203013Z ✔ keeps a matching terminal dismissal (0.12842ms) +2026-09-27T05:31:11.0226253Z ✔ does not clear a dismissal against a snapshot still owned by the previous session (0.104943ms) +2026-09-27T05:31:11.0227155Z ✔ dismiss and reconcile (10.72418ms) +2026-09-27T05:31:11.0282347Z ✔ does not re-append atomically committed tool facts through the generic event lane (171.988733ms) +2026-09-27T05:31:11.2346595Z ✔ acks a steering event whose canonical append preceded proof publication failure (206.232708ms) +2026-09-27T05:31:11.5022782Z ✔ awaits the durable settlement fact before accepting an interaction resume (267.308085ms) +2026-09-27T05:31:11.5729759Z ▶ asynchronous agent swarm status +2026-09-27T05:31:11.5768903Z ✔ does not wake while work runs and omits child activity details (8.624342ms) +2026-09-27T05:31:11.5796726Z ✔ wakes on explicit failure without waiting for the remaining work (0.296608ms) +2026-09-27T05:31:11.5825673Z ✔ wakes when every scheduled item has settled (5.67986ms) +2026-09-27T05:31:11.5885899Z ✔ projects a durable reconciliation failure without child runtime state (0.349451ms) +2026-09-27T05:31:11.5898732Z ✔ shares durable swarm policy without treating an ordinary graph as a swarm (0.363653ms) +2026-09-27T05:31:11.5940243Z ✔ asynchronous agent swarm status (18.148016ms) +2026-09-27T05:31:11.7419668Z ✔ recovers gateway SSE with one failed attempt and no repeated tool effects (257.375637ms) +2026-09-27T05:31:11.9118607Z ✔ recovers eof SSE with one failed attempt and no repeated tool effects (168.345503ms) +2026-09-27T05:31:12.0260398Z ✔ recovers other SSE with one failed attempt and no repeated tool effects (104.670313ms) +2026-09-27T05:31:12.0415999Z ▶ AgentGraphPanel read failures +2026-09-27T05:31:12.0458140Z ✔ keeps an inactive ordinary session hidden when the initial read fails and discovers later activity (233.694342ms) +2026-09-27T05:31:12.0929063Z ✔ keeps an inactive ordinary session hidden when a refresh fails and discovers later activity (39.194106ms) +2026-09-27T05:31:12.1516138Z ✔ shows initial read errors for enabled Graph sessions (74.568568ms) +2026-09-27T05:31:12.1615831Z ▶ AiSdkBackend ApplyPatch routing +2026-09-27T05:31:12.1725929Z ✔ advertises apply_patch only to supported native OpenAI models (66.123464ms) +2026-09-27T05:31:12.1785622Z ✔ uses portable ApplyPatch for DeepSeek (12.074992ms) +2026-09-27T05:31:12.1845882Z ✔ replays a durable apply_patch failure as native provider JSON (13.429478ms) +2026-09-27T05:31:12.1938262Z ✔ downgrades disabled DeepSeek freeform apply_patch history to a fact (7.500792ms) +2026-09-27T05:31:12.1997198Z ✔ downgrades apply_patch history when a non-Responses target does not advertise it (6.466162ms) +2026-09-27T05:31:12.2106167Z ✔ preserves a durable projection failure when apply_patch history is downgraded (5.960652ms) +2026-09-27T05:31:12.2156279Z ✔ preserves a multi-file ApplyPatch fact when structured replay cannot represent it (12.614582ms) +2026-09-27T05:31:12.2207206Z ✔ preserves every multi-file ApplyPatch fact from one provider step (76.374338ms) +2026-09-27T05:31:12.2263077Z ✔ AiSdkBackend ApplyPatch routing (202.072855ms) +2026-09-27T05:31:12.2326010Z ▶ AiSdkBackend Memory Extraction triggers +2026-09-27T05:31:12.2435756Z ✔ terminates cleanly when the dynamic system prompt rejects before Compaction (11.906797ms) +2026-09-27T05:31:12.2525905Z ✔ exposes explicitly unsupported Memory triggers on the native OpenAI Responses lane (57.444834ms) +2026-09-27T05:31:12.2576225Z ✔ runs memory_remember synchronously and returns the persisted requested Item to the next step (83.543922ms) +2026-09-27T05:31:12.2615769Z ✔ keeps the complete frozen provider context while evidence authority remains user-only (100.65784ms) +2026-09-27T05:31:12.2720346Z ✔ keeps refresh errors visible for ordinary sessions with known activity (48.661156ms) +2026-09-27T05:31:12.2773828Z ✔ dispatches memory_extract only after the terminal Event is durably consumed (96.466889ms) +2026-09-27T05:31:12.2845539Z ✔ AiSdkBackend Memory Extraction triggers (357.698762ms) +2026-09-27T05:31:12.3708891Z ✔ keeps refresh errors visible for ordinary sessions with known history (147.526839ms) +2026-09-27T05:31:12.3847305Z ✔ AgentGraphPanel read failures (545.795841ms) +2026-09-27T05:31:12.4251448Z ▶ AgentGraphPanel dismiss +2026-09-27T05:31:12.4316040Z ✔ keeps the new session loading when a disposed read settles later (70.424509ms) +2026-09-27T05:31:12.5436556Z ✔ does not let a disposed session read overwrite the live session selection refs (106.518497ms) +2026-09-27T05:31:12.6326230Z (node:6877) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time +2026-09-27T05:31:12.6346290Z (Use `node --trace-warnings ...` to show where the warning was created) +2026-09-27T05:31:12.6496039Z ▶ AiSdkBackend sandbox boundary convergence +2026-09-27T05:31:12.6536026Z ✔ bounds an expansion retry after denial with one tool-free final step (246.213523ms) +2026-09-27T05:31:12.6565864Z ✔ switches to a historical epoch without exposing current-graph controls (104.744208ms) +2026-09-27T05:31:12.6966267Z ✔ binds stop to the graph identity rendered before a silent rollover (47.681751ms) +2026-09-27T05:31:12.7596231Z ✔ does not leak a deferred stop result across a root session switch (65.560115ms) +2026-09-27T05:31:12.8510152Z ✔ does not leak a deferred stop result across an epoch rollover (94.341096ms) +2026-09-27T05:31:12.9594083Z ✔ does not leak a deferred current stop result into graph history (101.153831ms) +2026-09-27T05:31:13.0097028Z ✔ reuses cached history during activity and reloads it only after epoch rollover (61.294274ms) +2026-09-27T05:31:13.0407955Z ✔ keeps current controls mounted during a background refresh (24.481076ms) +2026-09-27T05:31:13.1956265Z ✔ resumes following the current epoch after the selected history expires (144.827284ms) +2026-09-27T05:31:13.2536148Z ✔ shows dismiss only after the graph has settled (70.78829ms) +2026-09-27T05:31:13.2953054Z ✔ hides the panel after dismiss and brings it back for a new graph (45.637502ms) +2026-09-27T05:31:13.3237616Z ✔ lets the user dismiss a stopped or failed graph (36.38678ms) +2026-09-27T05:31:13.3436248Z ✔ routes a fresh Code Mode denial through the same finalization latch (881.342738ms) +2026-09-27T05:31:13.4177876Z ✔ keeps session A dismissed after switching A → B → A (72.54767ms) +2026-09-27T05:31:13.4248430Z ✔ AgentGraphPanel dismiss (1055.518732ms) +2026-09-27T05:31:13.4819847Z ✔ routes a continued Code Mode denial through the same finalization latch (105.779405ms) +2026-09-27T05:31:13.5177875Z ▶ AgentGraphPanel collapse initialization +2026-09-27T05:31:13.5206348Z ✔ collapses a completed graph each time its session is opened (102.291801ms) +2026-09-27T05:31:13.6129287Z ✔ bounds varied invalid declarations before creating a boundary request (143.019346ms) +2026-09-27T05:31:13.6806455Z ✔ keeps non-completed graphs expanded on open (165.197113ms) +2026-09-27T05:31:13.6999290Z ✔ AiSdkBackend sandbox boundary convergence (1378.623935ms) +2026-09-27T05:31:13.7897849Z ✔ does not auto-collapse when the open graph completes (93.565455ms) +2026-09-27T05:31:13.8457480Z ✔ preserves a manual expansion across completed snapshot refreshes (77.570208ms) +2026-09-27T05:31:13.8522279Z ✔ AgentGraphPanel collapse initialization (439.327578ms) +2026-09-27T05:31:13.8633070Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:31:13.9414962Z ▶ agent graph refresh scheduler +2026-09-27T05:31:13.9506465Z ✔ lets an in-flight read commit when a notification arrives mid-flight (10.132308ms) +2026-09-27T05:31:13.9569595Z ✔ coalesces a notification storm into one follow-up read (4.39136ms) +2026-09-27T05:31:13.9645869Z ✔ discards an in-flight read only when the selection is invalidated (9.26878ms) +2026-09-27T05:31:13.9705713Z ✔ stops scheduling after dispose (0.827385ms) +2026-09-27T05:31:13.9770497Z ✔ agent graph refresh scheduler (29.033769ms) +2026-09-27T05:31:13.9806086Z ✔ removing the current icon resets the selection before the file goes away (20.92308ms) +2026-09-27T05:31:13.9825812Z ✔ removing an icon that is not selected leaves the selection alone (3.150589ms) +2026-09-27T05:31:13.9875770Z ✔ shipped ids and malformed references are refused without touching disk (6.194665ms) +2026-09-27T05:31:13.9935782Z ✔ a selection landing during removal wins, and the file still goes (4.620879ms) +2026-09-27T05:31:14.0003433Z ✔ a selection issued mid-removal cannot land between reset, apply and delete (4.418738ms) +2026-09-27T05:31:14.0065691Z ✔ an open file dialog does not hold the queue (5.041428ms) +2026-09-27T05:31:14.0124866Z ✔ removing an icon used only in dark mode clears the dark slot (2.342693ms) +2026-09-27T05:31:14.0185690Z ✔ removing an icon used in both slots clears both (3.198314ms) +2026-09-27T05:31:14.0235612Z ✔ removing an unrelated icon leaves a dark choice alone (3.83499ms) +2026-09-27T05:31:14.0255830Z ✔ a failed reset commits nothing and leaves the dock alone (2.916291ms) +2026-09-27T05:31:14.0329424Z ✔ every shipped icon id resolves to a square 1024px PNG master (68.433748ms) +2026-09-27T05:31:14.0369886Z ✔ a packaged build reads artwork from the copy beside the app (0.361729ms) +2026-09-27T05:31:14.0395863Z ✔ the default keeps its long-standing path while variants live in their own directory (7.604049ms) +2026-09-27T05:31:14.0465703Z ✔ a variant falls back to the brand mark, and the brand mark has nothing to fall back to (0.259435ms) +2026-09-27T05:31:14.0513824Z ✔ a malformed choice cannot become a path outside the asset root (0.412485ms) +2026-09-27T05:31:14.0567187Z ✔ a persisted custom id whose file disappeared falls back to the brand mark (0.28229ms) +2026-09-27T05:31:14.0657886Z ▶ app quit coordinator +2026-09-27T05:31:14.0678453Z ✔ keeps quit prevented until it resumes in a fresh event-loop turn (11.236723ms) +2026-09-27T05:31:14.0748018Z ✔ runs async cleanup once and resumes quitting when it settles (3.177408ms) +2026-09-27T05:31:14.0794678Z ✔ does not reopen the main window after quit cleanup starts (0.645443ms) +2026-09-27T05:31:14.0835996Z ✔ restores the running app when quit preparation is cancelled (4.599799ms) +2026-09-27T05:31:14.0879533Z ✔ reports window creation failure without leaking an unhandled rejection (1.664839ms) +2026-09-27T05:31:14.0880950Z ✔ cancels quit without closing resources when Host retirement preparation fails (2.072105ms) +2026-09-27T05:31:14.0882158Z ✔ reports cleanup failure without leaking an unhandled rejection (1.79277ms) +2026-09-27T05:31:14.0883069Z ✔ app quit coordinator (27.660012ms) +2026-09-27T05:31:14.8936641Z ✔ a nine-attachment new-task send shows the count reason, creates no session, and logs no unexpected diagnostic (10.447062ms) +2026-09-27T05:31:14.8991653Z ✔ a main-side attachment rejection refuses the send instead of leaving it unreconciled (7.611133ms) +2026-09-27T05:31:14.9030640Z ✔ unsupported executor attachments preserve the pending draft before any Session is created (0.461909ms) +2026-09-27T05:31:14.9434627Z ▶ AiSdkBackend model history +2026-09-27T05:31:14.9480190Z ✔ records structured sandbox failure metadata on tool failure traces (11.219573ms) +2026-09-27T05:31:14.9619935Z ✔ persists a sandbox denial signal for explicit filesystem worker sandbox denials (9.657026ms) +2026-09-27T05:31:14.9735940Z ✔ does not label ordinary filesystem permission errors as sandbox denials (1.153516ms) +2026-09-27T05:31:14.9790560Z ✔ prefers the connection-advertised Kimi output limit over catalog metadata (18.042711ms) +2026-09-27T05:31:14.9911687Z ✔ reserves Kimi fixed thinking inside the provider wire output limit (17.806744ms) +2026-09-27T05:31:15.0016014Z ✔ rejects an output budget consumed entirely by fixed thinking before sending (8.314677ms) +2026-09-27T05:31:15.0099642Z ✔ leaves catalog-derived OpenAI-compatible output limits to their provider adapter (19.813461ms) +2026-09-27T05:31:15.0195747Z ✔ prefers RuntimeEvent prior messages and appends current user once (34.950627ms) +2026-09-27T05:31:15.0426237Z ✔ safe-boundary continuation does not append a duplicate current user message (41.320656ms) +2026-09-27T05:31:15.0596314Z ✔ continuation replays the original user after diagnostic terminal errors with no StoredMessage context (25.846192ms) +2026-09-27T05:31:15.0714317Z ✔ continuation fails before the provider when replay materializes no messages (4.370405ms) +2026-09-27T05:31:15.0841399Z ✔ continuation materializes validated RuntimeEvents when provider-native replay is unavailable (9.361426ms) +2026-09-27T05:31:15.0996304Z ✔ continuation never substitutes StoredMessages when RuntimeEvent replay has blocking diagnostics (17.623695ms) +2026-09-27T05:31:15.1055991Z ✔ continuation replay may end with an assistant message without an active user head anchor (12.97849ms) +2026-09-27T05:31:15.1156587Z ✔ continuation replay may end at a paired tool boundary without an active user head anchor (13.629493ms) +2026-09-27T05:31:15.1240997Z ✔ does not recover provider history from StoredMessages when RuntimeEvent replay is empty (80.103493ms) +2026-09-27T05:31:15.1380038Z ✔ RuntimeEvent replay describes an attachment that is not safely addressable (10.57525ms) +2026-09-27T05:31:15.1426014Z ✔ current and replayed directory references expose paths without eager listings (13.571701ms) +2026-09-27T05:31:15.1505908Z ✔ a persisted quote-only user event replays its excerpt into the provider prompt (#4804) (10.464022ms) +2026-09-27T05:31:15.1595910Z ✔ current-turn image attachment keeps its Read reference unless vision support is explicit (13.854333ms) +2026-09-27T05:31:15.1670075Z ✔ reports unavailable attachment reads without consuming image budget (33.246548ms) +2026-09-27T05:31:15.1792244Z ✔ charges attachment image budget from the bytes actually read (11.466506ms) +2026-09-27T05:31:15.1845932Z ✔ degrades excess current-turn image attachments once the per-request budget is exceeded (10.614408ms) +2026-09-27T05:31:15.1946492Z ✔ counts the same attachment ref separately in replay and the current turn (7.64572ms) +2026-09-27T05:31:15.2005871Z ✔ charges a durable current-turn image once when the first request reloads the ledger (18.283839ms) +2026-09-27T05:31:15.2031422Z ✔ budgets replayed images across parallel calls and reused tool-call ids (20.462949ms) +2026-09-27T05:31:15.2076960Z ✔ RuntimeEvent replay renders historical image attachments as image parts (7.074149ms) +2026-09-27T05:31:15.2179264Z ✔ preserves RuntimeEvent tool calls and results as structured AI SDK parts (21.441056ms) +2026-09-27T05:31:15.2244867Z ✔ replays provider-executed CC web search with encrypted result content intact (17.173103ms) +2026-09-27T05:31:15.2256039Z ✔ replays provider-executed web search before its grounded assistant text (9.881527ms) +2026-09-27T05:31:15.2393221Z ✔ preserves pending assistant steps before a following client tool step (19.290921ms) +2026-09-27T05:31:15.2455641Z ✔ groups a client tool only with the immediately pending matching step (28.516327ms) +2026-09-27T05:31:15.2545854Z ✔ falls back to grounded text when Open Responses cannot replay a hosted tool pair (17.935548ms) +2026-09-27T05:31:15.2636014Z ✔ keeps unrelated client tool history when degrading a hosted tool pair (13.180258ms) +2026-09-27T05:31:15.2745569Z ✔ replays an image tool result as provider image data (20.842716ms) +2026-09-27T05:31:15.2805629Z ✔ sends a live image tool result to the next provider step (41.264007ms) +2026-09-27T05:31:15.2853286Z ✔ a live Plugin can enable, execute, and disable a Tool within one Turn (224.222063ms) +2026-09-27T05:31:15.2927396Z ✔ installs, invokes, and removes a live weather plugin within one model turn (60.487559ms) +2026-09-27T05:31:15.2954003Z ✔ reloads durable multi-tool settlement before terminal continuation (23.992046ms) +2026-09-27T05:31:15.3013150Z ✔ does not read image bytes for a non-vision model (5.422808ms) +2026-09-27T05:31:15.3045433Z ✔ explains when a replayed image artifact is missing (5.485263ms) +2026-09-27T05:31:15.3136373Z ✔ explains when replayed image storage throws (10.495954ms) +2026-09-27T05:31:15.3217793Z ✔ replays interleaved parallel RuntimeEvent tool calls as one provider tool-call block (12.196198ms) +2026-09-27T05:31:15.3285770Z ✔ replays durable Bash results without duplicating commands in provider output (23.383754ms) +2026-09-27T05:31:15.3325691Z ✔ archives stale RuntimeEvent tool results before replay placeholder rewrite (31.499236ms) +2026-09-27T05:31:15.3360968Z ✔ manual compactHistory retreats to a span this route has accepted (11.848289ms) +2026-09-27T05:31:15.3385729Z ✔ manual compactHistory writes a V2 checkpoint without the legacy artifact writer (4.424606ms) +2026-09-27T05:31:15.3415811Z ✔ manual compactHistory compacts one completed turn with multiple agent steps (1.10195ms) +2026-09-27T05:31:15.3492672Z ✔ manual compactHistory rolls forward from the previous V2 checkpoint (5.248343ms) +2026-09-27T05:31:15.3555741Z ✔ manual compactHistory reuses a checkpoint that already covers the full fold (0.810107ms) +2026-09-27T05:31:15.3607243Z ✔ manual compactHistory reports output-length exhaustion instead of empty_summary (3.016088ms) +2026-09-27T05:31:15.3655620Z ✔ the checkpoint write gate rejects a malformed summary from any producer (0.757072ms) +2026-09-27T05:31:15.3697979Z ✔ does not redispatch unchanged compaction content for unrelated run provenance (1.43374ms) +2026-09-27T05:31:15.3740378Z ✔ does not redispatch when malformed-summary repair fails with another reason (2.202207ms) +2026-09-27T05:31:15.3758729Z ✔ a cancelled malformed-summary repair does not arm the Session circuit (13.369357ms) +2026-09-27T05:31:15.3835560Z ▶ invalidates the malformed compaction circuit when configuration changes +2026-09-27T05:31:15.3862934Z ✔ unchanged input stays blocked (4.353323ms) +2026-09-27T05:31:15.3875490Z ✔ model change retries (0.98783ms) +2026-09-27T05:31:15.4006693Z ✔ connection change retries (0.712626ms) +2026-09-27T05:31:15.4035736Z ✔ context-window budget change retries (0.696694ms) +2026-09-27T05:31:15.4099119Z ✔ compaction route change retries (0.648809ms) +2026-09-27T05:31:15.4130452Z ✔ invalidates the malformed compaction circuit when configuration changes (11.824897ms) +2026-09-27T05:31:15.4203841Z ✔ manual compactHistory is a no-op when context budget is disabled (0.323575ms) +2026-09-27T05:31:15.4236968Z ✔ manual compactHistory is a no-op when no durable writer is configured (0.346898ms) +2026-09-27T05:31:15.4307566Z ✔ manual compactHistory does not report replaced when durable write fails (4.17015ms) +2026-09-27T05:31:15.4448415Z ✔ stopping manual compactHistory aborts the transaction without poisoning the next turn (31.907591ms) +2026-09-27T05:31:15.4529354Z ✔ aborting the model stream mid-flight routes to the abort path instead of false success (22.210432ms) +2026-09-27T05:31:15.4628650Z ▶ busy-raced send settlement +2026-09-27T05:31:15.4687112Z ✔ submits ordinary messages as next-turn intent without an execution witness (2.959375ms) +2026-09-27T05:31:15.4752116Z ✔ keeps an existing idle Session send in the transcript during local delivery (0.461202ms) +2026-09-27T05:31:15.4775405Z ✔ keeps steering pending while the Host admits it (0.552032ms) +2026-09-27T05:31:15.4806467Z ✔ shows a Follow Up immediately and keeps its caller-owned identity (1.541891ms) +2026-09-27T05:31:15.4835678Z ✔ keeps a Follow Up visible when Host admission outcome is unknown (0.497873ms) +2026-09-27T05:31:15.4848977Z ✔ retires a Follow Up the Host refused outright (0.665123ms) +2026-09-27T05:31:15.4908630Z ✔ surfaces the blocked-Skill toast on an outright refusal (0.628195ms) +2026-09-27T05:31:15.4935966Z ✔ reports a refused Follow Up as not sent (1.885188ms) +2026-09-27T05:31:15.4996439Z ✔ reports an unproven Follow Up as sent so its text is not offered twice (0.854076ms) +2026-09-27T05:31:15.5029294Z ✔ does not resurrect a Follow Up retracted before its IPC reply settles (0.706271ms) +2026-09-27T05:31:15.5055448Z ✔ shows one stable local message before Host admission settles (2.523413ms) +2026-09-27T05:31:15.5290692Z ✔ places a directly admitted Host-started Turn in the transcript (0.455165ms) +2026-09-27T05:31:15.5396052Z ✔ keeps a new Session first send in the transcript when local delivery fails (0.767873ms) +2026-09-27T05:31:15.5466034Z ✔ keeps the new-chat message through navigation when a raced Host queues it (0.49346ms) +2026-09-27T05:31:15.5495854Z ✔ keeps the new-chat messageId when Host chooses another turnId (0.346193ms) +2026-09-27T05:31:15.5575849Z ✔ busy-raced send settlement (17.938807ms) +2026-09-27T05:31:15.5615998Z ✔ persists the compaction fail-open note at decision time, before any settlement (#4850) (156.012453ms) +2026-09-27T05:31:15.5763761Z ✔ writes the compaction fail-open note exactly once when the send settles (#4850) (28.077119ms) +2026-09-27T05:31:15.5916443Z ✔ a failed decision-time note write still leaves the settlement fallback armed (#4850) (34.167712ms) +2026-09-27T05:31:15.5933527Z ✔ after-step stop preserves the current provider step usage and prevents another step (22.498939ms) +2026-09-27T05:31:15.5986055Z ✔ cooperative handoff cancel waits for the settled tool and gates the next request (26.687874ms) +2026-09-27T05:31:15.5987509Z ✔ cooperative handoff commit waits for the settled tool and gates the next request (12.281943ms) +2026-09-27T05:31:15.6017207Z ✔ cooperative handoff stop waits for the settled tool and gates the next request (15.985214ms) +2026-09-27T05:31:15.6045575Z ✔ a natural final answer does not enter the handoff gate (15.443909ms) +2026-09-27T05:31:15.6066667Z ✔ aborting during post-stream persistence wins over step-limit completion (19.51975ms) +2026-09-27T05:31:15.6088213Z ✔ provider error mid-step persists partial text and its safe provider summary (18.616656ms) +2026-09-27T05:31:15.6114891Z ✔ a blank summary preserves history and never records a checkpoint (10.483739ms) +2026-09-27T05:31:15.6148125Z ✔ replays a matching Codex V3 checkpoint as native provider state (14.989169ms) +2026-09-27T05:31:15.6459115Z ✔ replays a matching Codex V3 checkpoint when it covers the entire prior history (25.590379ms) +2026-09-27T05:31:15.7301153Z ✔ keeps a Codex V3 checkpoint when a signed-thinking tail requires text-only replay (13.548439ms) +2026-09-27T05:31:15.8157730Z ✔ ignores a Codex V3 checkpoint bound to a different model and replays raw history (13.038288ms) +2026-09-27T05:31:15.8198520Z ✔ replays a checkpoint whose covered prefix carries a stale tool-result transition (#4842) (43.885543ms) +2026-09-27T05:31:15.8256596Z ✔ a checkpoint summary cannot echo a body a durable transition removed (#4845) (44.068071ms) +2026-09-27T05:31:15.8292374Z ✔ checkpoint replay uses the durable winner after refused or uncertain prune commits (75.551707ms) +2026-09-27T05:31:15.8348695Z ✔ a transition committed after creation invalidates the checkpoint at pre-turn replay (#4845 review) (76.156415ms) +2026-09-27T05:31:15.8392881Z ✔ pre-turn replay withholds a tool result whose transition record is unreadable (#4845) (21.564284ms) +2026-09-27T05:31:15.8407482Z ✔ keeps RuntimeEvent replay when a tool result is unmatched (orphan dropped, rest replayed) (18.505715ms) +2026-09-27T05:31:15.8440703Z ✔ keeps RuntimeEvent replay when a system error fact is diagnostic-only (19.077936ms) +2026-09-27T05:31:15.8442305Z ✔ drops unsupported thinking while preserving RuntimeEvent text (24.35909ms) +2026-09-27T05:31:15.8443445Z ✔ drops cross-model Anthropic reasoning while preserving text and tool history (29.994683ms) +2026-09-27T05:31:15.8444691Z ✔ drops Anthropic reasoning after provider state changes under the same route id (19.51886ms) +2026-09-27T05:31:15.8445784Z ✔ fails closed for provider reasoning with no source run provenance (27.88947ms) +2026-09-27T05:31:15.8477744Z ✔ drops cross-model Copilot reasoning while preserving text and tools (20.503578ms) +2026-09-27T05:31:15.8495710Z ✔ keeps same-route OpenAI Responses reasoning replay (14.077881ms) +2026-09-27T05:31:15.8525681Z ✔ skips unsupported unsigned thinking without dropping native tool replay (18.077593ms) +2026-09-27T05:31:15.8556224Z ✔ skips unmarked unsigned thinking when replaying Kimi OpenAI tool history (18.214628ms) +2026-09-27T05:31:15.8680905Z ✔ rejects signed thinking from provider-native replay when the target cannot replay it (11.723918ms) +2026-09-27T05:31:15.8725559Z ✔ AiSdkBackend model history (2239.358348ms) +2026-09-27T05:31:15.8792270Z ▶ AiSdkBackend error surfaces +2026-09-27T05:31:15.8907090Z ✔ preserves model setup diagnostics in renderer events (4.768771ms) +2026-09-27T05:31:15.9569478Z ✔ stops after a T1 rejection only after sibling tool calls settle (145.687728ms) +2026-09-27T05:31:15.9929658Z ✔ redacts and caps synthetic tool error text before storage and model return (0.572574ms) +2026-09-27T05:31:16.0512694Z ✔ tool settlement never persists raw secret-shaped synthetic errors (1.414966ms) +2026-09-27T05:31:16.1066497Z ✔ failed Bash results preserve terminal stdout and stderr as an error card (1.331972ms) +2026-09-27T05:31:16.1568442Z ✔ AiSdkBackend error surfaces (154.161241ms) +2026-09-27T05:31:16.4556525Z ▶ AiSdkBackend Plan tool boundaries +2026-09-27T05:31:16.4595895Z ✔ continues to a final response after update_plan completes execution (11.128694ms) +2026-09-27T05:31:16.5707978Z ✔ continues to an acknowledgement after cancel_plan cancels execution (16.382636ms) +2026-09-27T05:31:16.7966369Z ✔ keeps SubmitPlan as a one-step plan handoff (8.142326ms) +2026-09-27T05:31:16.9526606Z ✔ AiSdkBackend Plan tool boundaries (35.922317ms) +2026-09-27T05:31:17.5346696Z ✔ targets manual diagnostics to the current task or new-task Host profile (11.627944ms) +2026-09-27T05:31:17.5372799Z ✔ presents every successful-frame context compaction outcome (2.315383ms) +2026-09-27T05:31:17.5446783Z ✔ keeps async context compaction visible until its terminal outcome (0.573584ms) +2026-09-27T05:31:17.5534193Z ✔ does not revive or repeat a context compaction presentation after terminal delivery (0.237088ms) +2026-09-27T05:31:18.2636089Z ▶ AiSdkBackend usage telemetry +2026-09-27T05:31:18.2656617Z ✔ records provider-reported usage for a content-filter terminal (10.604228ms) +2026-09-27T05:31:18.3065631Z ✔ lets an unconfigured turn continue past the former 50-step default (2219.454728ms) +2026-09-27T05:31:18.3556328Z ✔ retries an output-free truncated provider stream once and recovers (18.023668ms) +2026-09-27T05:31:18.4027716Z ✔ records exhaustion of output-free truncated stream recovery (99.472002ms) +2026-09-27T05:31:18.4575696Z ✔ does not retry a truncated stream after provider tool input starts (10.205129ms) +2026-09-27T05:31:18.5116841Z ✔ rejects continuation-capable tools before side effects without a durable reader (8.34394ms) +2026-09-27T05:31:18.5746311Z ✔ checks that the durable ledger is readable before tool side effects (12.620465ms) +2026-09-27T05:31:18.7056863Z ✔ lets a trusted turn override the configured step limit (10.930731ms) +2026-09-27T05:31:18.7215799Z [desktop] operation failed: Error: First submission failed +2026-09-27T05:31:18.7300369Z at Object.submitMessage (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-first-send-cleanup.test.js:254:31) +2026-09-27T05:31:18.7360938Z at submitAndProject (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-chat-actions.js:42:51) +2026-09-27T05:31:18.7416991Z at submitIntoSession (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-chat-actions.js:134:24) +2026-09-27T05:31:18.7455870Z at Object.send (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-chat-actions.js:182:41) +2026-09-27T05:31:18.7517421Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-first-send-cleanup.test.js:272:26) +2026-09-27T05:31:18.7565612Z at async Test.run (node:internal/test_runner/test:1409:7) +2026-09-27T05:31:18.7579735Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:31:18.7622681Z [desktop] operation failed: Error: Skill discovery failed +2026-09-27T05:31:18.7645716Z at Object.submitMessage (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-first-send-cleanup.test.js:334:59) +2026-09-27T05:31:18.7655646Z at submitAndProject (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-chat-actions.js:42:51) +2026-09-27T05:31:18.7688325Z at submitIntoSession (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-chat-actions.js:134:24) +2026-09-27T05:31:18.7713174Z at Object.send (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-chat-actions.js:182:41) +2026-09-27T05:31:18.7745839Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-first-send-cleanup.test.js:341:26) +2026-09-27T05:31:18.7747105Z at async Test.run (node:internal/test_runner/test:1409:7) +2026-09-27T05:31:18.7781972Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:31:18.7805417Z ▶ composer first-send cleanup +2026-09-27T05:31:18.7825818Z ✔ cancels when the composer owner changes during the readiness check (9.128314ms) +2026-09-27T05:31:18.7827111Z ✔ rejects a same-target New Task reopen while readiness is pending (0.436899ms) +2026-09-27T05:31:18.7830900Z ✔ retires an unsent Session if its New Task surface reopens during creation (6.808491ms) +2026-09-27T05:31:18.7832288Z ✔ passes the effective offered model when creating the first session (2.798221ms) +2026-09-27T05:31:18.7833715Z ✔ sends a composer permission choice once without writing it to the Host default (0.745245ms) +2026-09-27T05:31:18.7835227Z ✔ retains the permission choice across refused and throwing first sends, then consumes it on success (12.713959ms) +2026-09-27T05:31:18.7855640Z ✔ creates the first session on the selected Runtime Host and project (0.523972ms) +2026-09-27T05:31:18.7885887Z ✔ removes the just-created session when the first send REJECTS (1.867089ms) +2026-09-27T05:31:18.7915403Z ✔ keeps the session once the first send lands (0.663599ms) +2026-09-27T05:31:18.7946121Z ✔ does not report a resolved session when the first send outcome is unknown (4.59182ms) +2026-09-27T05:31:18.7947469Z [desktop] operation failed: Error: Timed out while preparing the new Session event stream +2026-09-27T05:31:18.7987985Z at activateSessionForFirstSend (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-first-send-cleanup.test.js:483:27) +2026-09-27T05:31:18.8005543Z at Object.send (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-chat-actions.js:176:23) +2026-09-27T05:31:18.8025767Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-first-send-cleanup.test.js:499:26) +2026-09-27T05:31:18.8037819Z at async Test.run (node:internal/test_runner/test:1409:7) +2026-09-27T05:31:18.8094695Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:31:18.8095963Z [desktop] operation failed: Error: Skill discovery failed +2026-09-27T05:31:18.8125769Z at Object.submitMessage (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-first-send-cleanup.test.js:515:59) +2026-09-27T05:31:18.8127313Z at submitAndProject (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-chat-actions.js:42:51) +2026-09-27T05:31:18.8175198Z at submitIntoSession (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-chat-actions.js:134:24) +2026-09-27T05:31:18.8181806Z at Object.send (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-chat-actions.js:207:37) +2026-09-27T05:31:18.8205827Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-first-send-cleanup.test.js:526:26) +2026-09-27T05:31:18.8225386Z at async Test.run (node:internal/test_runner/test:1409:7) +2026-09-27T05:31:18.8245355Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:31:18.8431879Z ✔ projects the first message before activation while waiting to submit until observation (18.696943ms) +2026-09-27T05:31:18.8465808Z ✔ removes the unsent session and surfaces an observation barrier failure (1.047052ms) +2026-09-27T05:31:18.8485597Z ✔ leaves an EXISTING session alone when its send rejects (0.551446ms) +2026-09-27T05:31:18.8515879Z ✔ does not report a resolved Session from an existing-Session send (0.251615ms) +2026-09-27T05:31:18.8534657Z ✔ does not report a resolved Session when the first send is outcome_unknown (0.214347ms) +2026-09-27T05:31:18.8582522Z ✔ cancels restoration and follows latest before accepting a message (3.805165ms) +2026-09-27T05:31:18.8585771Z ✔ refresh waits for durable messages without bypassing range publication (0.410872ms) +2026-09-27T05:31:18.8614240Z ✔ an in-flight refresh reads publication that commits after the call began (76.376109ms) +2026-09-27T05:31:18.8635549Z ✔ composer first-send cleanup (150.363451ms) +2026-09-27T05:31:18.8731818Z ▶ composer send failure feedback +2026-09-27T05:31:18.8802846Z ✔ does not navigate a surface the user left mid-flight (1.402515ms) +2026-09-27T05:31:18.8828089Z ✔ still answers the surface that is actually waiting (0.469925ms) +2026-09-27T05:31:18.8829146Z ✔ composer send failure feedback (2.095341ms) +2026-09-27T05:31:18.8830693Z ✔ reserves the final child-agent step for a tool-free evidence summary (26.742658ms) +2026-09-27T05:31:18.9426152Z [desktop] operation failed: Error: Host unavailable +2026-09-27T05:31:18.9435922Z at respondToUserForm (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-form-interaction.test.js:66:23) +2026-09-27T05:31:18.9437467Z at respondToInteraction (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-chat-actions.js:304:19) +2026-09-27T05:31:18.9545631Z at Object.respondToUserForm (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-chat-actions.js:406:42) +2026-09-27T05:31:18.9666558Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-form-interaction.test.js:73:23) +2026-09-27T05:31:18.9694632Z at Test.runInAsyncScope (node:async_hooks:227:14) +2026-09-27T05:31:18.9735702Z at Test.run (node:internal/test_runner/test:1402:25) +2026-09-27T05:31:18.9915752Z at Suite.processPendingSubtests (node:internal/test_runner/test:974:18) +2026-09-27T05:31:18.9995647Z at Test.postRun (node:internal/test_runner/test:1542:19) +2026-09-27T05:31:19.0135673Z at Test.run (node:internal/test_runner/test:1467:12) +2026-09-27T05:31:19.0145301Z at async Promise.all (index 0) +2026-09-27T05:31:19.0205743Z ▶ AppShell form interaction response +2026-09-27T05:31:19.0264012Z ✔ retires the local prompt only after the platform accepts the answer (11.410656ms) +2026-09-27T05:31:19.0325778Z ✔ keeps the prompt answerable when the platform rejects the answer (6.67025ms) +2026-09-27T05:31:19.0333142Z ✔ AppShell form interaction response (19.701077ms) +2026-09-27T05:31:19.0365771Z ✔ every published width stays a , collapsed included (0.91785ms) +2026-09-27T05:31:19.0419282Z ✔ ends the tool loop cooperatively when the graph supervisor yields (11.204873ms) +2026-09-27T05:31:19.2283768Z ✔ does not honor graph yield when it shares a provider step with a sibling call (34.622791ms) +2026-09-27T05:31:19.3177124Z ✔ requires the canonical yield tool identity and a valid result envelope (36.810072ms) +2026-09-27T05:31:19.3906460Z ✔ reports an explicit step limit without making an auxiliary model call (27.056871ms) +2026-09-27T05:31:19.4837795Z ✔ records cumulative usage checkpoints across tool-loop steps and turns (48.227219ms) +2026-09-27T05:31:19.5656258Z ✔ does not record fabricated zero telemetry when provider usage is unavailable (14.311417ms) +2026-09-27T05:31:19.9114364Z ✔ keeps checkpoint cost unknown when model pricing is unavailable (9.97995ms) +2026-09-27T05:31:20.0008922Z ✔ a pruned Bash result retains durable output and is readable without rerunning (161.180909ms) +2026-09-27T05:31:20.0087904Z ✔ accumulates pruning across provider steps once in persisted and live usage (164.570622ms) +2026-09-27T05:31:20.0119766Z ✔ keeps small observations even when a newer Read supersedes their range (64.919274ms) +2026-09-27T05:31:20.0356147Z ✔ normalizes cache and reasoning tokens to messages, events, and telemetry (23.551336ms) +2026-09-27T05:31:20.0357356Z ✔ AiSdkBackend usage telemetry (3017.495217ms) +2026-09-27T05:31:20.0385674Z ▶ AiSdkBackend tool availability diagnostics +2026-09-27T05:31:20.0528390Z ✔ tool canonicalization is independent of registration order and places invalid last (0.474632ms) +2026-09-27T05:31:20.0625979Z ✔ backend full mode keeps the complete tool surface and omits the connector (173.233598ms) +2026-09-27T05:31:20.0670945Z ✔ preserves the tool-call provider prefix across user turns (52.846533ms) +2026-09-27T05:31:20.0735184Z ✔ AiSdkBackend tool availability diagnostics (226.910125ms) +2026-09-27T05:31:20.0812735Z ▶ AiSdkBackend context budget and prompt attribution +2026-09-27T05:31:20.0878880Z ✔ replay hands the model a bounded summary for an Edit file_diff result, not the diff (0.878667ms) +2026-09-27T05:31:20.0945751Z ✔ usage events keep context budget diagnostics without live prompt estimates (10.665344ms) +2026-09-27T05:31:20.0962435Z ✔ AiSdkBackend context budget and prompt attribution (11.747869ms) +2026-09-27T05:31:20.1015252Z ▶ AiSdkBackend RunTrace +2026-09-27T05:31:20.1035089Z ✔ records openai-chat multi-step requests and reconciles complete attempt usage (66.462157ms) +2026-09-27T05:31:20.1069065Z ✔ records anthropic-messages multi-step requests and reconciles complete attempt usage (40.855396ms) +2026-09-27T05:31:20.1095342Z ✔ observes the prepared request at dispatch and records its canonical attempt (15.908543ms) +2026-09-27T05:31:20.1118311Z ✔ persists contextRemaining on the stored token_usage message (#4019) (8.364588ms) +2026-09-27T05:31:20.1149393Z ✔ omits contextRemaining from the stored token_usage message when the window is unknown (12.361314ms) +2026-09-27T05:31:20.1155363Z ✔ disables hidden AI SDK retries and traces the one explicit Runtime retry (27.444355ms) +2026-09-27T05:31:20.1200721Z ✔ preserves provider capacity in retry progress (31.376329ms) +2026-09-27T05:31:20.1220139Z ✔ retries a gateway rate limit that names no retry delay (24.260817ms) +2026-09-27T05:31:20.1251343Z ✔ retries a gateway rate limit that names an unparseable retry delay (25.625871ms) +2026-09-27T05:31:20.1372106Z ✔ preserves a finished answer without regenerating when the provider connection stays open (18.536227ms) +2026-09-27T05:31:20.1470417Z ✔ retries one idle watchdog timeout after preserving partial thinking (30.815325ms) +2026-09-27T05:31:20.1565880Z ✔ seals partial thinking and discards local tool intents after a retryable network failure (59.014352ms) +2026-09-27T05:31:20.1600345Z ✔ retries a retryable network failure before any observable output (30.057184ms) +2026-09-27T05:31:20.1601500Z ✔ bounds repeated thinking failures by the shared request budget (155.185175ms) +2026-09-27T05:31:20.1602739Z ✔ preserves finalized encrypted Responses thinking when the next part fails without retrying (12.781761ms) +2026-09-27T05:31:20.1604138Z ✔ preserves finalized redacted Anthropic thinking when the next part fails without retrying (14.030554ms) +2026-09-27T05:31:20.1605554Z ✔ retries DeepSeek OpenAI Chat reasoning marked only for field replay (41.092883ms) +2026-09-27T05:31:20.1607343Z ✔ links a recovered tool call to the retry assistant step (64.147998ms) +2026-09-27T05:31:20.4174763Z ✔ exhausts continuation retries without re-running the durable tool result (375.396641ms) +2026-09-27T05:31:20.4206243Z ✔ keeps a projection timeout as a generic timeout before continuation dispatch (13.66944ms) +2026-09-27T05:31:20.4253125Z ✔ bounds repeated partial-answer timeouts by the shared request budget (80.256223ms) +2026-09-27T05:31:20.4436083Z ✔ retries an idle watchdog timeout after an unstarted Responses text item (18.659612ms) +2026-09-27T05:31:20.4649436Z ✔ does not retry an idle watchdog timeout after provider continuation metadata (19.152272ms) +2026-09-27T05:31:20.4829672Z ✔ does not retry after provider-executed tool input starts (22.734431ms) +2026-09-27T05:31:20.5601904Z ✔ does not retry an idle watchdog timeout after text continuation metadata (21.531713ms) +2026-09-27T05:31:20.5953856Z ✔ Stop aborts the turn while an idle-timeout retry is waiting (21.873006ms) +2026-09-27T05:31:20.6025457Z ✔ records the continuation replay gate and blocking diagnostics on stream failure (8.917709ms) +2026-09-27T05:31:20.6085895Z ✔ records turn, model, usage, and completion trace events without changing SessionEvents (17.713772ms) +2026-09-27T05:31:20.6217394Z ✔ trace recorder failures are best-effort and do not change model execution (29.999164ms) +2026-09-27T05:31:20.6334674Z ✔ records abort trace when stop is requested (0.654551ms) +2026-09-27T05:31:20.6557438Z ✔ AiSdkBackend RunTrace (1311.285018ms) +2026-09-27T05:31:20.6645636Z ▶ AiSdkBackend tool execution +2026-09-27T05:31:20.6787485Z ✔ WebSearch telemetry never copies the user-derived query (4.669548ms) +2026-09-27T05:31:20.6873405Z ✔ tool failure telemetry classifies and redacts generic implementation errors (1.752394ms) +2026-09-27T05:31:20.6925646Z ✔ flushes output deltas before successful and failed tool results (11.082565ms) +2026-09-27T05:31:20.7056042Z ✔ pauses stream watchdog while a foreground subagent tool is running (14.507341ms) +2026-09-27T05:31:20.7185717Z ✔ pauses stream watchdog while a regular (non-subagent) tool is running (7.400422ms) +2026-09-27T05:31:20.9806583Z ✔ keeps the stream alive while filtered tool input parts keep arriving (363.74416ms) +2026-09-27T05:31:21.0639734Z ✔ caps concurrent subagent tools in one turn (17.712045ms) +2026-09-27T05:31:21.0745279Z ✔ same ACP client reconnects to a real replacement Host without replaying staged upload bytes (12356.548403ms) +2026-09-27T05:31:21.1098607Z ✔ maps foreground subagent terminal states to persisted tool status (8.692023ms) +2026-09-27T05:31:21.1135570Z ✔ AiSdkBackend tool execution (433.349829ms) +2026-09-27T05:31:21.1168101Z ▶ AiSdkBackend tool-call repair +2026-09-27T05:31:21.1211156Z ✔ repairs provider tool-name case drift to the canonical Maka tool name (5.17913ms) +2026-09-27T05:31:21.1277855Z ✔ routes unrepairable tool calls into the structured invalid tool (0.346226ms) +2026-09-27T05:31:21.1278899Z ✔ does not recursively repair the internal invalid tool (0.146952ms) +2026-09-27T05:31:21.1349943Z ✔ AiSdkBackend tool-call repair (5.864671ms) +2026-09-27T05:31:21.1441011Z ▶ AiSdkBackend concurrent turns +2026-09-27T05:31:21.1495754Z ✔ a finishing turn does not strip the run identity of an overlapping turn (83.345092ms) +2026-09-27T05:31:21.1540127Z ✔ a send that throws during setup leaves no scope registered (0.539621ms) +2026-09-27T05:31:21.1751595Z ✔ stop() closes every turn even when one turn fails to close (29.864464ms) +2026-09-27T05:31:21.2220590Z ✔ AiSdkBackend concurrent turns (114.100054ms) +2026-09-27T05:31:21.3054806Z ▶ AiSdkBackend thinking persistence +2026-09-27T05:31:21.3176291Z ✔ emits a non-partial thinking_complete that survives read-model projection and materialization (33.528168ms) +2026-09-27T05:31:21.3268556Z ✔ persists reasoning for a thinking-only turn that produces no final text (20.003412ms) +2026-09-27T05:31:21.3386853Z ✔ text-only terminal replay fixture preserves signed thinking and usage exactly (24.38676ms) +2026-09-27T05:31:21.3626235Z ✔ signed thinking from a per-step tool-calling turn IS replayed, merged with its tool call (25.974509ms) +2026-09-27T05:31:21.5316044Z ▶ pending attachments by draft key +2026-09-27T05:31:21.5429216Z ✔ selecting another key never leaks pending from a different session (4.781113ms) +2026-09-27T05:31:21.5510422Z ✔ removes a single pending by index without touching other keys (3.394749ms) +2026-09-27T05:31:21.5585749Z ✔ clears one key without affecting others (0.269471ms) +2026-09-27T05:31:21.5715909Z ✔ successful send removes only its submitted snapshot (0.368166ms) +2026-09-27T05:31:21.5865965Z ✔ removes by caller identity even when the submitted snapshot was re-derived (0.276332ms) +2026-09-27T05:31:21.6002170Z ✔ pending attachments by draft key (17.136579ms) +2026-09-27T05:31:21.6091654Z ▶ omits Responses reasoning without encrypted content from the wire request +2026-09-27T05:31:21.6165715Z ✔ missing (350.76765ms) +2026-09-27T05:31:21.6411446Z ✔ remote Project capabilities do not dispatch Client-local actions (107.507268ms) +2026-09-27T05:31:21.6435501Z [open-path:workspace] operation failed: Error: unavailable +2026-09-27T05:31:21.6466345Z at runOnDefaultRuntimeHost (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/project-actions-qufsgX/app-shell-project-actions.mjs?t=1790487079105:2174:11) +2026-09-27T05:31:21.6525972Z at process.processTicksAndRejections (node:internal/process/task_queues:104:5) +2026-09-27T05:31:21.6580051Z at async Object.openWorkspaceFolder (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/project-actions-qufsgX/app-shell-project-actions.mjs?t=1790487079105:2414:51) +2026-09-27T05:31:21.6665762Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-project-actions.test.js:109:9) +2026-09-27T05:31:21.6725346Z at async Test.run (node:internal/test_runner/test:1409:7) +2026-09-27T05:31:21.6785637Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:31:21.6845392Z [open-path:project] operation failed: Error: unavailable +2026-09-27T05:31:21.6905870Z at Object.openPath (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-project-actions.test.js:99:27) +2026-09-27T05:31:21.6936144Z at Object.openProjectFolder (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/project-actions-qufsgX/app-shell-project-actions.mjs?t=1790487079105:2386:38) +2026-09-27T05:31:21.7008544Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-project-actions.test.js:110:23) +2026-09-27T05:31:21.7094318Z at process.processTicksAndRejections (node:internal/process/task_queues:104:5) +2026-09-27T05:31:21.7164378Z at async Test.run (node:internal/test_runner/test:1409:7) +2026-09-27T05:31:21.7265529Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:31:21.7345444Z [open-path:project] operation failed: Error: unavailable +2026-09-27T05:31:21.7356053Z at runOnDefaultRuntimeHost (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/project-actions-qufsgX/app-shell-project-actions.mjs?t=1790487079105:2174:11) +2026-09-27T05:31:21.7411861Z at process.processTicksAndRejections (node:internal/process/task_queues:104:5) +2026-09-27T05:31:21.7506304Z at async Object.openProjectFolder (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/project-actions-qufsgX/app-shell-project-actions.mjs?t=1790487079105:2388:11) +2026-09-27T05:31:21.7575700Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-project-actions.test.js:111:9) +2026-09-27T05:31:21.7636990Z at async Test.run (node:internal/test_runner/test:1409:7) +2026-09-27T05:31:21.7695426Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:31:21.7786158Z ✔ Project errors preserve the Host authority of the failed operation (95.683301ms) +2026-09-27T05:31:21.7886780Z ✔ a Project mutation refresh stays bound to the operation Host (62.040259ms) +2026-09-27T05:31:21.7934217Z [desktop] operation failed: Error: Host lost the Session +2026-09-27T05:31:21.8025684Z at refreshSessions (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-revision-actions.test.js:71:23) +2026-09-27T05:31:21.8125748Z at Object.prepareRevisionSend (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-revision-actions.js:200:19) +2026-09-27T05:31:21.8153431Z at async file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-revision-actions.test.js:197:26 +2026-09-27T05:31:21.8272082Z at async withWindowMaka (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-revision-actions.test.js:97:9) +2026-09-27T05:31:21.8355862Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-revision-actions.test.js:177:9) +2026-09-27T05:31:21.8408569Z at async Test.run (node:internal/test_runner/test:1409:7) +2026-09-27T05:31:21.8469823Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:31:21.8498931Z ▶ app-shell revision actions with structured context (#5109) +2026-09-27T05:31:21.8650129Z ✔ keeps editing allowed when only earlier turns carry attachments (5.072291ms) +2026-09-27T05:31:21.8775756Z ✔ rejects a source message that itself carries attachments (1.550018ms) +2026-09-27T05:31:21.8855862Z ✔ app-shell revision actions with structured context (#5109) (10.143524ms) +2026-09-27T05:31:21.8985544Z ▶ prepareRevisionSend transcript settlement +2026-09-27T05:31:21.9081960Z ✔ prepares the revision without opening another transcript consumer (4.481317ms) +2026-09-27T05:31:21.9169767Z ✔ surfaces a failed preparation instead of swallowing it behind rollback (9.486395ms) +2026-09-27T05:31:21.9338114Z ✔ prepareRevisionSend transcript settlement (14.337904ms) +2026-09-27T05:31:21.9415809Z ▶ revision draft lifecycle over a prepared send +2026-09-27T05:31:21.9535957Z ✔ retries a refused send inside the prepared child instead of opening another revision (3.798904ms) +2026-09-27T05:31:21.9665807Z ✔ restores the complete pre-edit draft when a refused revision is cancelled (1.081293ms) +2026-09-27T05:31:21.9775784Z ✔ revision draft lifecycle over a prepared send (5.77083ms) +2026-09-27T05:31:21.9875550Z ✔ null (193.150554ms) +2026-09-27T05:31:21.9935394Z ✔ empty string (154.205754ms) +2026-09-27T05:31:22.0976811Z ✔ omits Responses reasoning without encrypted content from the wire request (710.811693ms) +2026-09-27T05:31:22.1800179Z ✔ OpenAI Responses reasoning from a tool step is replayed with its encrypted content (31.169906ms) +2026-09-27T05:31:22.1856098Z ✔ DeepSeek Responses replays plaintext reasoning without an OpenAI item id (16.427662ms) +2026-09-27T05:31:22.2007661Z ✔ Moonshot Global replays a summary-only reasoning item across the tool loop (67.910085ms) +2026-09-27T05:31:22.2066099Z ✔ Alibaba Responses keeps multiple streamed reasoning items distinct through replay (70.531317ms) +2026-09-27T05:31:22.2082940Z ✔ Alibaba Responses adopts the final summary when streamed reasoning differs (42.50845ms) +2026-09-27T05:31:22.3676313Z ✔ Alibaba Responses preserves live compatibility reasoning across abrupt transport failure (105.035075ms) +2026-09-27T05:31:22.4386282Z ✔ Alibaba Responses keeps a finalized item valid when the next item id is unsafe (52.915854ms) +2026-09-27T05:31:22.5036272Z ✔ Alibaba Responses isolates a same-id delta that arrives after item completion (43.053913ms) +2026-09-27T05:31:22.6116171Z ✔ Alibaba Responses skips reasoning it cannot safely replay (15.136668ms) +2026-09-27T05:31:22.6292371Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:31:22.6752947Z ✔ Alibaba Responses drops malformed state owned by its profile (11.045583ms) +2026-09-27T05:31:22.6808364Z ✔ passes DeepSeek max reasoning through as the provider-native effort (15.37748ms) +2026-09-27T05:31:22.6906964Z ✔ preserves every OpenAI Responses reasoning item through stream persistence and replay (43.693059ms) +2026-09-27T05:31:22.7046275Z ✔ thinking-only tool step (no text) replays reasoning + tool call in one assistant message without an empty text block (10.76509ms) +2026-09-27T05:31:22.7096282Z ✔ an orphan tool_result does not degrade replay: dropped, while paired history replays provider-native (15.194845ms) +2026-09-27T05:31:22.7184118Z ✔ signature-only (omitted) thinking is persisted and replays with its signature (36.160796ms) +2026-09-27T05:31:22.7219213Z ✔ does not synthesize assistant text when a stream ends without a trailing finish-step (6.404117ms) +2026-09-27T05:31:22.7235897Z ✔ flushes one AssistantMessage per step, each with its own thinking + signature, and stamps tool_start.stepId (57.469395ms) +2026-09-27T05:31:22.7315802Z ✔ continues a reasoning tool step from Maka durable replay instead of SDK response shape (56.532001ms) +2026-09-27T05:31:22.7425568Z ✔ AiSdkBackend thinking persistence (1516.726088ms) +2026-09-27T05:31:22.8026438Z ▶ AiSdkBackend steering durability and identity +2026-09-27T05:31:22.8052553Z ✔ the final provider boundary waits for an asynchronous steering lease and asks the model again (84.145571ms) +2026-09-27T05:31:22.8253294Z ✔ all three steering messages reach the same next model request in queue order (56.126983ms) +2026-09-27T05:31:22.8316269Z ✔ the late-steer edge is skipped without a durable current-run reader (19.573709ms) +2026-09-27T05:31:22.8326468Z ✔ a stop that lands during the final drain wins over the injected steer (19.813633ms) +2026-09-27T05:31:22.9096231Z ✔ holds the provider request until the steering event is durably consumed (39.139114ms) +2026-09-27T05:31:22.9128730Z ✔ persists canonical steering content and materializes attachments for the model (38.223824ms) +2026-09-27T05:31:22.9752729Z ✔ a steering message never reaches the provider when the consumer detaches before the ack (32.736282ms) +2026-09-27T05:31:23.0383110Z ✔ a user prompt that equals the envelope text never cancels a real steer (20.327926ms) +2026-09-27T05:31:23.1630973Z ✔ degraded RuntimeEvent replay presents prior steering exactly once, in envelope form (21.836393ms) +2026-09-27T05:31:23.2931331Z ✔ reconciles late predecessor content after its durable answer is already loaded (130.1815ms) +2026-09-27T05:31:23.3005166Z ▶ session live run display state +2026-09-27T05:31:23.3034729Z ✔ keeps persisted running as a fallback only while live state is unknown (7.045543ms) +2026-09-27T05:31:23.3045578Z ✔ session live run display state (9.621865ms) +2026-09-27T05:31:23.3105875Z ✔ a steer that equals the current prompt still injects its envelope (18.155191ms) +2026-09-27T05:31:23.3211289Z ▶ app shell session UI state controller +2026-09-27T05:31:23.3295196Z ✔ does not mirror session-setting writes into UI pending state (12.432076ms) +2026-09-27T05:31:23.3376879Z ✔ clears one session from every per-session UI map without touching other sessions (0.677303ms) +2026-09-27T05:31:23.3476267Z ✔ keeps state identity for no-op map updates and only replaces the selected map (29.669862ms) +2026-09-27T05:31:23.3613754Z ✔ does not republish a fresh-but-equal execution projection (0.576058ms) +2026-09-27T05:31:23.3699209Z ✔ records event-stream health without notifying render subscribers (0.371534ms) +2026-09-27T05:31:23.3733884Z ✔ drops event-stream health along with the rest of a cleared session (0.384276ms) +2026-09-27T05:31:23.3827074Z ✔ owns per-session transcript reading anchors without notifying render subscribers (0.343614ms) +2026-09-27T05:31:23.3895717Z ✔ publishes unavailable transcript restores only until they are consumed (10.511213ms) +2026-09-27T05:31:23.3937217Z ✔ does not restore a reading anchor from another Session range (0.627224ms) +2026-09-27T05:31:23.4002836Z ✔ abandons a restore that remains absent once no earlier history is left (27.364958ms) +2026-09-27T05:31:23.4060523Z ✔ keeps the synchronous live-turn ref aligned with reducer updates (0.412743ms) +2026-09-27T05:31:23.4098938Z ✔ app shell session UI state controller (84.525163ms) +2026-09-27T05:31:23.4147247Z ▶ shellSessionRowEqual +2026-09-27T05:31:23.4206944Z ✔ holds identity across rail-only bookkeeping (0.340451ms) +2026-09-27T05:31:23.4213316Z ✔ republishes when a rendered field moves (0.191654ms) +2026-09-27T05:31:23.4295816Z ✔ republishes for a field the rail-only list does not know about (0.231329ms) +2026-09-27T05:31:23.4530665Z ✔ a steer that equals a historical user message still injects its envelope (16.547479ms) +2026-09-27T05:31:23.4555509Z ✔ two identical steers inject two envelopes (17.529893ms) +2026-09-27T05:31:23.4612001Z ✔ orders same-revision rows by the live run epoch (#5713) (18.106879ms) +2026-09-27T05:31:23.4666747Z ✔ keeps a catalog row subscriber mounted through rail-only patches (16.697581ms) +2026-09-27T05:31:23.4756410Z ✔ shellSessionRowEqual (37.429634ms) +2026-09-27T05:31:23.4807357Z ✔ a prior-turn steering event replays in its canonical envelope form (17.45475ms) +2026-09-27T05:31:23.4835641Z ✔ a prior-turn steering event replays its image attachments as image parts (19.55377ms) +2026-09-27T05:31:23.4882838Z ✔ persists provider metadata a canonical event can read back (71.070047ms) +2026-09-27T05:31:23.4908491Z ✔ rebuilds reasoning metadata rather than persisting what the provider sent (39.295609ms) +2026-09-27T05:31:23.4977160Z ✔ merges citation metadata across multiple provider text items (31.609693ms) +2026-09-27T05:31:23.4978533Z ✔ preserves native Responses text item boundaries as separate assistant messages (31.02554ms) +2026-09-27T05:31:23.4980014Z ✔ does not carry metadata from an empty Responses text item into the next item (28.795979ms) +2026-09-27T05:31:23.4981244Z ✔ executes native WebSearch inside the primary provider stream (43.74716ms) +2026-09-27T05:31:23.4982457Z ✔ projects CC-format Anthropic web search without exposing encrypted content (32.158846ms) +2026-09-27T05:31:23.4983560Z ✔ AiSdkBackend steering durability and identity (705.784774ms) +2026-09-27T05:31:23.4984921Z ✔ removes exactly the transient messages the Host retracts while stopping (20.904144ms) +2026-09-27T05:31:23.4985966Z [desktop] operation failed: Error: Committed response was lost +2026-09-27T05:31:23.4989670Z at Object.branchFromTurn (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-turn-actions.test.js:44:19) +2026-09-27T05:31:23.4991315Z at Object.handleTurnFooterAction (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-turn-actions.js:46:63) +2026-09-27T05:31:23.4992938Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-turn-actions.test.js:78:23) +2026-09-27T05:31:23.4994128Z at Test.runInAsyncScope (node:async_hooks:227:14) +2026-09-27T05:31:23.4996987Z at Test.run (node:internal/test_runner/test:1402:25) +2026-09-27T05:31:23.4997794Z at Test.processPendingSubtests (node:internal/test_runner/test:974:18) +2026-09-27T05:31:23.4998577Z at Test.postRun (node:internal/test_runner/test:1542:19) +2026-09-27T05:31:23.5005230Z at Test.run (node:internal/test_runner/test:1467:12) +2026-09-27T05:31:23.5041501Z at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3) +2026-09-27T05:31:23.5042593Z ✔ footer no longer exposes Regenerate (7.873885ms) +2026-09-27T05:31:23.5043691Z ✔ preserves a Branch copy identity after an ambiguous failure and completes it on success (31.188892ms) +2026-09-27T05:31:23.5045244Z ✔ download verification accepts every payload the release descriptor advertises (121.387027ms) +2026-09-27T05:31:23.5049518Z ✔ download verification follows the chosen payload, not the running architecture (32.217771ms) +2026-09-27T05:31:23.5050815Z ✔ download verification rejects a payload the feed, the version or the attestation disowns (54.31276ms) +2026-09-27T05:31:23.5052074Z ✔ nightly verification fetches provenance from the versioned GitHub Release asset (11.564171ms) +2026-09-27T05:31:23.5053274Z ✔ packaged update trust accepts only an explicit release or nightly channel (0.925914ms) +2026-09-27T05:31:23.5054604Z ✔ a diagnostic report names the channel it can prove, and admits when it cannot (14.104203ms) +2026-09-27T05:31:23.5055892Z ✔ TUF verifies ECDSA without breaking Ed25519 in the packaged Electron runtime (998.460282ms) +2026-09-27T05:31:23.5057192Z ✔ Sigstore verifies ECDSA without breaking Ed25519 in the packaged Electron runtime (519.558463ms) +2026-09-27T05:31:23.6495961Z ▶ ApplyPatch profile routing +2026-09-27T05:31:23.6556596Z ✔ routes supported Codex and DeepSeek models through their supported tool transports (19.134064ms) +2026-09-27T05:31:23.6699388Z ✔ overrides are per model and work for future models without a name whitelist (2.956852ms) +2026-09-27T05:31:23.6780170Z ✔ explicit enablement uses ordinary functions on relays and explicit disablement wins on OpenAI (0.463712ms) +2026-09-27T05:31:23.6815815Z ✔ projects the editing surface and the matching input schema (0.494417ms) +2026-09-27T05:31:23.6912536Z ✔ preserves multi-file history in custom and portable forms (9.885121ms) +2026-09-27T05:31:23.6945765Z ✔ preserves structured routing for documented native OpenAI models (0.457784ms) +2026-09-27T05:31:23.7005830Z ✔ normalizes portable single-operation history (2.543243ms) +2026-09-27T05:31:23.7078088Z ✔ ApplyPatch profile routing (40.802708ms) +2026-09-27T05:31:23.7155465Z ▶ AskUserQuestion runtime round trip +2026-09-27T05:31:23.7257771Z ✔ parks the tool, emits one request, and persists one nullable JSON result (63.791676ms) +2026-09-27T05:31:23.7275783Z ✔ turn abort rejects the parked tool and ignores a late response (34.915674ms) +2026-09-27T05:31:23.7395881Z ✔ cell abort releases a parked question without waiting for turn teardown (33.191051ms) +2026-09-27T05:31:23.7495162Z ✔ AskUserQuestion runtime round trip (143.894652ms) +2026-09-27T05:31:23.7586160Z ▶ AsyncEventQueue +2026-09-27T05:31:23.7665788Z ✔ close before any push → consumer completes immediately (1.840087ms) +2026-09-27T05:31:23.7755650Z ✔ push after close is dropped (no throw) (0.459631ms) +2026-09-27T05:31:23.7768468Z ✔ error rejects waiting consumer (0.412738ms) +2026-09-27T05:31:23.7799370Z ✔ return() from iterator closes the queue (0.32497ms) +2026-09-27T05:31:23.7920626Z ✔ interleaved push/next preserves FIFO (0.316822ms) +2026-09-27T05:31:23.7978529Z ✔ AsyncEventQueue (5.30868ms) +2026-09-27T05:31:23.8045584Z ▶ AsyncEventQueue consumption boundary +2026-09-27T05:31:23.8102435Z ✔ pushAndWaitUntilConsumed resolves only when its exact sequence is processed (1.056963ms) +2026-09-27T05:31:23.8161202Z ✔ waitUntilConsumedThroughCurrent captures a fixed boundary (0.420704ms) +2026-09-27T05:31:23.8223027Z ✔ pushAndWaitUntilConsumed rejects instead of dropping on closed or errored queues (1.623952ms) +2026-09-27T05:31:23.8376211Z ✔ detach or queue error before consumption rejects the pending boundary (0.381212ms) +2026-09-27T05:31:23.8392655Z ✔ detach after consumption does not reverse a fulfilled boundary (0.343505ms) +2026-09-27T05:31:23.8476341Z ✔ AsyncEventQueue consumption boundary (5.69587ms) +2026-09-27T05:31:23.8515654Z ▶ AwaitRegistry +2026-09-27T05:31:23.8545641Z ✔ settles one request and ignores a late response (5.167693ms) +2026-09-27T05:31:23.8566014Z ✔ closing rejects every request and refuses later ones (4.548331ms) +2026-09-27T05:31:23.8600671Z ✔ AwaitRegistry (11.155589ms) +2026-09-27T05:31:23.8686071Z ✔ reports process tracking separately when endpoint is not checked (13.901715ms) +2026-09-27T05:31:23.8735651Z ✔ reports endpoint health only from the probe result (3.86209ms) +2026-09-27T05:31:23.8763635Z ✔ does not convert a failed probe into a ready claim (1.11832ms) +2026-09-27T05:31:23.8875631Z ▶ BashTailBuffer +2026-09-27T05:31:23.8961830Z ✔ bounds retained output to the exact tail (7.315117ms) +2026-09-27T05:31:23.9088097Z ✔ keeps the tail of an oversized line (0.252815ms) +2026-09-27T05:31:23.9211194Z ✔ retains the same tail across chunk boundaries (0.170025ms) +2026-09-27T05:31:23.9307115Z ✔ does not split a surrogate pair at the truncation boundary (0.241837ms) +2026-09-27T05:31:23.9391540Z ✔ BashTailBuffer (30.500514ms) +2026-09-27T05:31:23.9409660Z ▶ builtin file tools use the sandboxed worker +2026-09-27T05:31:23.9471565Z ✔ direct Read rejects invalid coordinates before selecting any backend (107.861783ms) +2026-09-27T05:31:23.9579178Z ✔ pages large files before the worker response boundary, including long-line continuations (1745.56025ms) +2026-09-27T05:31:23.9666302Z ✔ fails closed for managed file operations when the worker is unavailable (3.683848ms) +2026-09-27T05:31:23.9792357Z ✔ uses the host filesystem path for an authoritative bypass boundary (6.351733ms) +2026-09-27T05:31:23.9906689Z ✔ uses the host filesystem path for an authoritative external boundary (4.119976ms) +2026-09-27T05:31:23.9943066Z ✔ forwards the current session boundary to every worker operation (14.485877ms) +2026-09-27T05:31:23.9981104Z ✔ uses one worker read operation for image paths (4.939589ms) +2026-09-27T05:31:24.0062107Z ✔ releases a Read image snapshot when durable result commit fails (2.59338ms) +2026-09-27T05:31:24.0115882Z ✔ refuses to snapshot a Read image without a durable operation identity (2.60096ms) +2026-09-27T05:31:24.0198372Z ✔ serializes writes through real and symlinked cwd paths (54.113251ms) +2026-09-27T05:31:24.0252529Z ✔ builtin file tools use the sandboxed worker (1949.294929ms) +2026-09-27T05:31:24.0306335Z ▶ file tools surface a file_diff result +2026-09-27T05:31:24.0360596Z ✔ Edit returns a file_diff content when the worker reports a diff (23.417893ms) +2026-09-27T05:31:24.0386646Z ✔ Edit keeps the fact summary when the worker reports no diff (8.681812ms) +2026-09-27T05:31:24.0456353Z ✔ Write returns a file_diff content when the worker reports a diff (13.33979ms) +2026-09-27T05:31:24.0538818Z ✔ Write degrades to a file_write descriptor when the worker reports no diff (14.968371ms) +2026-09-27T05:31:24.0669228Z ✔ FormatJson returns a file_diff content and never leaks the diff as json (4.408811ms) +2026-09-27T05:31:24.0735959Z ✔ the model output for an edit is a bounded summary, not the diff (5.053718ms) +2026-09-27T05:31:24.0756990Z ✔ the model output counts additions whose content starts with ++ (4.768106ms) +2026-09-27T05:31:24.0898798Z ✔ the model output for a new-file write names it created with its line count (3.740946ms) +2026-09-27T05:31:24.0975588Z ✔ file tools surface a file_diff result (79.17006ms) +2026-09-27T05:31:24.1117010Z ▶ builtin apply_patch +2026-09-27T05:31:24.1207182Z ✔ rejects unsupported V4A Move before applying any file operation (8.938469ms) +2026-09-27T05:31:24.1271506Z ✔ reports the applied prefix when a later V4A operation fails (86.436322ms) +2026-09-27T05:31:24.1335387Z ✔ does not start another V4A operation after the turn is stopped (5.796035ms) +2026-09-27T05:31:24.1347322Z ✔ applies freeform V4A contents to real files (84.95298ms) +2026-09-27T05:31:24.1406349Z ✔ builtin apply_patch (190.198788ms) +2026-09-27T05:31:24.1434772Z ▶ builtin ArchiveRead capabilities +2026-09-27T05:31:24.1494024Z ✔ is not a built-in tool (0.84508ms) +2026-09-27T05:31:24.1499932Z ✔ builtin ArchiveRead capabilities (1.109049ms) +2026-09-27T05:31:24.1583676Z ▶ builtin tool executor facts +2026-09-27T05:31:24.1645638Z ✔ attaches executor facts to every built-in tool (4.460575ms) +2026-09-27T05:31:24.1697898Z ✔ builtin tool executor facts (4.665952ms) +2026-09-27T05:31:24.1715618Z ▶ builtin Bash projection and shell execution +2026-09-27T05:31:24.1754675Z ✔ executor Bash keeps its durable command out of provider-facing results (3.9262ms) +2026-09-27T05:31:24.1839253Z ✔ executor Bash executes with the same shell it declares (18.403725ms) +2026-09-27T05:31:24.1897596Z ✔ builtin Bash projection and shell execution (23.03051ms) +2026-09-27T05:31:24.1898445Z ▶ builtin Bash streaming output +2026-09-27T05:31:24.1945391Z ✔ exposes no one-shot permission schema (6.082334ms) +2026-09-27T05:31:24.2018395Z ✔ Bash drops its boundary declaration when the session has no boundary to widen (5.997731ms) +2026-09-27T05:31:24.2027797Z ✔ Bash schema exposes explicit background execution and boundary declarations (11.019242ms) +2026-09-27T05:31:24.2029979Z ✔ background-capable Bash stays foreground unless explicitly requested (1.089032ms) +2026-09-27T05:31:24.2050293Z ✔ explicit background Bash returns runtime refs and forwards its optional timeout (1.803728ms) +2026-09-27T05:31:24.2062145Z ✔ wraps managed pipe Bash with bubblewrap argv and seccomp fd input (18.240607ms) +2026-09-27T05:31:24.2095791Z ✔ pins a missing exact-write target and removes an untouched successful placeholder (39.960283ms) +2026-09-27T05:31:24.2145691Z ✔ pins an existing active exact target without deleting it after completion (20.778795ms) +2026-09-27T05:31:24.2236845Z ✔ omits an inactive exact target that was replaced by a symlink (31.413566ms) +2026-09-27T05:31:24.2249252Z ✔ omits a missing subtree grant from an unrelated Linux Bash mount plan (18.488292ms) +2026-09-27T05:31:24.2360565Z ✔ removes missing exact-write placeholders after launch rejection and failed completion (60.106283ms) +2026-09-27T05:31:24.2546315Z ✔ preserves an intentionally written empty exact-write target after success (12.082085ms) +2026-09-27T05:31:24.2578736Z ✔ preserves an intentionally written empty exact-write target after failure (50.840922ms) +2026-09-27T05:31:24.2615781Z ✔ completion cannot close a descriptor number reused after spawn handoff (44.838235ms) +2026-09-27T05:31:24.2705741Z ✔ keeps a background placeholder owned until the shell run completes (50.651086ms) +2026-09-27T05:31:24.2757382Z ✔ does not let an unrelated stale exact-write grant block Bash (21.541137ms) +2026-09-27T05:31:24.2814273Z ✔ reports requires_bypass for managed PTY Bash and runs it only at a bypass boundary (1.936302ms) +2026-09-27T05:31:24.2851446Z ✔ requires an approved network expansion before declared Bash network access (35.741773ms) +2026-09-27T05:31:24.2852760Z ✔ fails closed when a required command sandbox is unavailable (4.687756ms) +2026-09-27T05:31:24.2853778Z ✔ fails closed for an authoritative managed boundary without a sandbox manager (6.098404ms) +2026-09-27T05:31:24.2855174Z ✔ applies the session boundary to the macOS sandbox argv without one-call permission arguments (28.895074ms) +2026-09-27T05:31:24.2856511Z ✔ fails Windows Bash closed when the profile requires a command sandbox the broker cannot enforce (10.83075ms) +2026-09-27T05:31:24.2857871Z ✔ runs Windows Bash unsandboxed via the detected shell when the profile does not require a sandbox (10.577759ms) +2026-09-27T05:31:24.2859105Z ✔ canonicalizes macOS Bash cwd and exposes the runtime executable roots (11.906885ms) +2026-09-27T05:31:24.2860148Z ✔ Read treats runtime background task refs as whole resources (2.170833ms) +2026-09-27T05:31:24.2861199Z ✔ Read routes opaque attachment refs through the Session-bound attachment reader (24.55752ms) +2026-09-27T05:31:24.2862285Z ✔ StopBackgroundTask stops a runtime ref in the current session (1.09767ms) +2026-09-27T05:31:24.2863293Z ✔ WriteStdin exposes a provider-tolerant terminal action schema (37.056965ms) +2026-09-27T05:31:24.2864350Z ✔ preserves Bash failure contract when the executor reports non-zero exit (8.816707ms) +2026-09-27T05:31:24.2865562Z ✔ emits stdout/stderr chunks before returning terminal result (30.3094ms) +2026-09-27T05:31:24.2866651Z ✔ aborted Bash command rejects and keeps already emitted output (63.060205ms) +2026-09-27T05:31:24.2867692Z ✔ large output is bounded to a tail instead of being discarded (35.847097ms) +2026-09-27T05:31:24.2868782Z ✔ a failing command surfaces stdout/stderr on the rejection error (23.812499ms) +2026-09-27T05:31:24.2869961Z ✔ a timed-out command still surfaces the stdout/stderr captured before the timeout (276.747025ms) +2026-09-27T05:31:24.2870991Z ✔ builtin Bash streaming output (1016.666792ms) +2026-09-27T05:31:24.2871724Z ▶ builtin Bash sandbox denial classification +2026-09-27T05:31:24.2872702Z ✔ throws SandboxCommandError when a sandboxed command emits a denial message (17.608046ms) +2026-09-27T05:31:24.2873782Z ✔ builtin Bash sandbox denial classification (17.892998ms) +2026-09-27T05:31:24.2874874Z ▶ builtin read tools path containment +2026-09-27T05:31:24.2944670Z ✔ Read rejects image content without snapshot support, regardless of extension (30.453648ms) +2026-09-27T05:31:24.3051705Z ✔ Read accepts contained absolute paths and rejects workspace escapes (24.501761ms) +2026-09-27T05:31:24.3085745Z ✔ Grep carries exact omitted-line counts through the executor and model projection (52.117761ms) +2026-09-27T05:31:24.3150703Z ✔ Glob and Grep constrain search roots to session cwd (112.583912ms) +2026-09-27T05:31:24.3173600Z ✔ builtin read tools path containment (220.236641ms) +2026-09-27T05:31:24.3255568Z ▶ builtin write tools path containment +2026-09-27T05:31:24.3311735Z ✔ Write can delegate path resolution to a remote executor when cwd is not on the host (9.503719ms) +2026-09-27T05:31:24.3401078Z ✔ Edit rejects image results from the workspace executor (4.192783ms) +2026-09-27T05:31:24.3465866Z ✔ Write accepts contained absolute paths and rejects workspace escapes (31.866439ms) +2026-09-27T05:31:24.3538460Z ✔ Edit accepts contained absolute paths and rejects workspace escapes (25.199169ms) +2026-09-27T05:31:24.3587512Z ✔ Edit returns a file diff for a localized change in a large file (9.691141ms) +2026-09-27T05:31:24.3675994Z ✔ file tools stay usable when the session cwd is reached through a symlink (56.579902ms) +2026-09-27T05:31:24.3765912Z ✔ concurrent Edits to the same file serialize — no lost update (139.399907ms) +2026-09-27T05:31:24.3797891Z ✔ concurrent Edits via different path spellings serialize on one key (75.866393ms) +2026-09-27T05:31:24.3826135Z ✔ concurrent Edits through a symlinked cwd serialize on one key (94.577478ms) +2026-09-27T05:31:24.3886213Z ✔ Write then Edit on one file resolves inside the lock — the fresh file is found (26.411464ms) +2026-09-27T05:31:24.3967290Z ✔ a failing Edit releases the lock for the next op on the same file (16.961687ms) +2026-09-27T05:31:24.4025825Z ✔ builtin write tools path containment (491.457187ms) +2026-09-27T05:31:24.4075551Z ▶ builtin FormatJson (file in place) +2026-09-27T05:31:24.4076378Z ✔ rejects image results from the workspace executor (4.138158ms) +2026-09-27T05:31:24.4126070Z ✔ sort_keys: true preserves __proto__ as a data property (31.175406ms) +2026-09-27T05:31:24.4138694Z ✔ invalid JSON returns a structured error diagnostic (no write, byteDelta 0) (68.647183ms) +2026-09-27T05:31:24.4168132Z ✔ builtin FormatJson (file in place) (104.46529ms) +2026-09-27T05:31:24.4176783Z ✔ captured output drain treats premature close and error as incomplete (11.450448ms) +2026-09-27T05:31:24.4219854Z ✔ completion waits for the bounded process-tree signal attempt after root exit (5.44261ms) +2026-09-27T05:31:24.4247469Z ✔ forced termination rejects boundedly when the direct root never acknowledges exit (28.304165ms) +2026-09-27T05:31:24.4248493Z ▶ Claude subscription runtime wiring +2026-09-27T05:31:24.4249285Z ✔ a per-model override cannot hand a retired provider a working adapter (2.914973ms) +2026-09-27T05:31:24.4250226Z ✔ testConnection refuses a retired provider instead of reporting it usable (2.893818ms) +2026-09-27T05:31:24.4251232Z ✔ a retired provider is refused without reaching the network (0.269919ms) +2026-09-27T05:31:24.4252318Z ✔ anthropicV1BaseUrl normalizes base URLs to a single /v1 suffix (2.716306ms) +2026-09-27T05:31:24.4253378Z ✔ registry routes Anthropic and Kimi through the normalized API-key adapter (6.276669ms) +2026-09-27T05:31:24.4256851Z ✔ registry sends both MiniMax variants over *** rewriting their base URL (0.237584ms) +2026-09-27T05:31:24.4271480Z ✔ testConnection treats resolved Codex OAuth token as a usable login (6.285725ms) +2026-09-27T05:31:24.4310378Z ✔ Codex OAuth headers include ChatGPT Responses beta and account id (0.656059ms) +2026-09-27T05:31:24.4325563Z ✔ Codex OAuth headers do not fall back to JWT sub as ChatGPT account id (3.976688ms) +2026-09-27T05:31:24.4355613Z ✔ Codex OAuth provider options use non-persistent ChatGPT backend defaults (3.782332ms) +2026-09-27T05:31:24.4385292Z ✔ Claude subscription runtime wiring (37.287934ms) +2026-09-27T05:31:24.4413109Z (node:7126) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time +2026-09-27T05:31:24.4414246Z (Use `node --trace-warnings ...` to show where the warning was created) +2026-09-27T05:31:24.4463391Z ✔ replaces direct tool schemas with exec in code_mode (183.903644ms) +2026-09-27T05:31:24.4499878Z ✔ uses the persisted task mode without a per-turn override (724.039618ms) +2026-09-27T05:31:24.4506534Z ✔ tool search refreshes the catalog for the next code cell (177.273838ms) +2026-09-27T05:31:24.4516769Z ✔ keeps an aggregate Code Mode catalog out of the bounded exec schema (61.593993ms) +2026-09-27T05:31:24.4605721Z ✔ a nested question can be answered and a parked question can be stopped (112.611907ms) +2026-09-27T05:31:24.4610467Z ✔ nested plan submission hands off the turn and prevents subsequent calls (484.365494ms) +2026-09-27T05:31:24.4611458Z ✔ allows a custom exec tool in direct mode (21.443206ms) +2026-09-27T05:31:24.4612380Z ✔ rejects an invalid runtime tool mode instead of enabling Code Mode (4.170033ms) +2026-09-27T05:31:24.4613423Z ✔ keeps the default and explicit direct provider surfaces byte-identical (24.215352ms) +2026-09-27T05:31:24.4614693Z ✔ denies a nested MCP call before invoking its provider (248.269238ms) +2026-09-27T05:31:24.4615712Z ✔ bounds cells outstanding on one backend, across the host drain (145.118086ms) +2026-09-27T05:31:24.4616658Z ✔ routes a nested cell call back through ToolRuntime (49.402425ms) +2026-09-27T05:31:24.4617549Z ✔ does not materialize hidden nested image results (34.390999ms) +2026-09-27T05:31:24.4618389Z ✔ links nested activity to the durable outer exec operation (49.847877ms) +2026-09-27T05:31:24.4619367Z ✔ propagates nested durable commit failures out of the outer exec (52.015333ms) +2026-09-27T05:31:24.4620329Z ✔ keeps direct-only tools out of the cell snapshot (569.718897ms) +2026-09-27T05:31:24.4621198Z ✔ keeps provider-native tools out of the cell snapshot (82.456694ms) +2026-09-27T05:31:24.4622102Z ▶ projects provider-native ApplyPatch as a portable Code Mode tool +2026-09-27T05:31:24.4622812Z ✔ OpenAI structured (121.722165ms) +2026-09-27T05:31:24.4623351Z ✔ Codex freeform (145.231104ms) +2026-09-27T05:31:24.4624195Z ✔ projects provider-native ApplyPatch as a portable Code Mode tool (267.887209ms) +2026-09-27T05:31:24.4625513Z ✔ validates nested arguments before ToolRuntime implementation dispatch (68.444ms) +2026-09-27T05:31:24.4626525Z ✔ routes active MCP tools through the nested Runtime path (69.462828ms) +2026-09-27T05:31:24.4627517Z ✔ rejects invalid MCP arguments before nested Runtime dispatch (114.92226ms) +2026-09-27T05:31:24.4628351Z ✔ records artifacts produced by a nested tool (41.799494ms) +2026-09-27T05:31:24.4629345Z ✔ parks a nested sandbox request and settles the outer exec after denial (38.139705ms) +2026-09-27T05:31:24.4630398Z ✔ aborting a parked nested sandbox request releases the outer exec (23.090814ms) +2026-09-27T05:31:24.4631411Z ✔ aborts an owned nested tool when the outer exec is stopped (492.794909ms) +2026-09-27T05:31:24.4632303Z ✔ bounds aggregate nested live output under the outer exec (855.623442ms) +2026-09-27T05:31:24.4633311Z ✔ admits exec exclusively while allowing its nested calls (69.470714ms) +2026-09-27T05:31:24.9068838Z (node:7142) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time +2026-09-27T05:31:24.9176430Z (Use `node --trace-warnings ...` to show where the warning was created) +2026-09-27T05:31:24.9236871Z ✔ excludes host waiting from the execution budget and preserves dependent Promise.race progress (1158.699857ms) +2026-09-27T05:31:24.9290166Z ✔ executes standard JavaScript without an interpreter subset (55.59256ms) +2026-09-27T05:31:24.9355635Z ✔ executes TypeScript syntax (48.787144ms) +2026-09-27T05:31:24.9422518Z ✔ does not read the execution result through a guest-controlled global (25.029459ms) +2026-09-27T05:31:24.9515640Z ✔ reports invalid source as a parse error (46.25277ms) +2026-09-27T05:31:24.9545692Z ✔ reports a runtime SyntaxError as an execution error (45.356138ms) +2026-09-27T05:31:24.9546834Z ✔ runs nested tools concurrently inside one cell (30.411373ms) +2026-09-27T05:31:24.9547629Z ✔ does not expose Node capabilities to cell code (28.250457ms) +2026-09-27T05:31:24.9548529Z ✔ keeps sandbox console output out of the host process stdout (1486.624969ms) +2026-09-27T05:31:24.9549773Z ✔ starts each cell in a fresh global context (59.867348ms) +2026-09-27T05:31:24.9550739Z ✔ uses normal partial-execution semantics before an unknown tool failure (51.693847ms) +2026-09-27T05:31:24.9551951Z ✔ does not dispatch tools inherited from Object.prototype (25.543869ms) +2026-09-27T05:31:24.9552724Z ✔ does not start an unobserved tool call (34.89968ms) +2026-09-27T05:31:24.9553443Z ✔ lets cell code handle an ordinary tool failure (37.455216ms) +2026-09-27T05:31:24.9554272Z ▶ reports uncaught runtime and tool failures +2026-09-27T05:31:24.9555003Z ✔ runtime (42.515358ms) +2026-09-27T05:31:24.9555419Z ✔ tool (27.860619ms) +2026-09-27T05:31:24.9555923Z ✔ non-serializable tool output (25.383239ms) +2026-09-27T05:31:24.9556649Z ✔ reports uncaught runtime and tool failures (97.01878ms) +2026-09-27T05:31:24.9557286Z ▶ enforces byte and bridge limits +2026-09-27T05:31:24.9557756Z ✔ source (0.564379ms) +2026-09-27T05:31:24.9558185Z ✔ tool input (24.526442ms) +2026-09-27T05:31:24.9558636Z ✔ tool output (36.147794ms) +2026-09-27T05:31:24.9559127Z ✔ cell output (20.412912ms) +2026-09-27T05:31:24.9559572Z ✔ tool calls (28.631784ms) +2026-09-27T05:31:24.9560088Z ✔ tool concurrency (453.678552ms) +2026-09-27T05:31:24.9560715Z ✔ enforces byte and bridge limits (572.034647ms) +2026-09-27T05:31:24.9561441Z ✔ enforces the configured VM stack limit (632.6725ms) +2026-09-27T05:31:24.9562179Z ✔ enforces the configured VM memory limit (44.308988ms) +2026-09-27T05:31:24.9563022Z ✔ preempts a pure compute loop at the sandbox-time limit (201.59192ms) +2026-09-27T05:31:24.9563909Z ✔ still preempts compute while a host tool is pending (191.305915ms) +2026-09-27T05:31:24.9565145Z ✔ accumulates compute across awaits instead of resetting the budget (1948.032698ms) +2026-09-27T05:31:24.9671425Z ✔ waits for an aborted host operation to settle before rejecting (73.086932ms) +2026-09-27T05:31:25.4738572Z ✔ does not start later tools after a fatal host failure (505.613073ms) +2026-09-27T05:31:26.0136429Z ✔ aborts and drains concurrent tools while preserving the first fatal failure (545.324294ms) +2026-09-27T05:31:26.1608632Z ✔ Codex device enrollment requests a one-time user code from the official endpoints (173.846033ms) +2026-09-27T05:31:26.1629736Z ✔ Codex device enrollment rejects a failed usercode request (10.871294ms) +2026-09-27T05:31:26.1687893Z ✔ Codex device polling retries through pending and returns the grant on approval (8.385677ms) +2026-09-27T05:31:26.1745749Z ✔ Codex device polling stops once the device code expires (0.521025ms) +2026-09-27T05:31:26.1966340Z ✔ Codex device polling never issues a request after the window elapses mid-sleep (12.999798ms) +2026-09-27T05:31:26.2036022Z ✔ Codex device polling completes an admitted request even if the caller cancels (2.797501ms) +2026-09-27T05:31:26.2037372Z ✔ Codex device authorization code exchange posts to the token endpoint with the deviceauth redirect URI (17.539411ms) +2026-09-27T05:31:26.2112260Z ✔ Codex device authorization code exchange maps a rejected grant to provider_rejected (1.011252ms) +2026-09-27T05:31:26.2165754Z ✔ Codex device enrollment accepts the usercode alias (0.85429ms) +2026-09-27T05:31:26.2223392Z ▶ computer use argument refusals +2026-09-27T05:31:26.2238433Z ✔ tells a call in the wrong dialect what this action does take (12.547343ms) +2026-09-27T05:31:26.2290970Z ✔ names no fields for an action it does not know (1.954284ms) +2026-09-27T05:31:26.2339851Z ✔ keeps values out of what it says (1.175527ms) +2026-09-27T05:31:26.2398001Z ✔ reads the field list off the schema itself (1.173693ms) +2026-09-27T05:31:26.2425920Z ✔ carries a refinement sentence through instead of the generic complaint (5.143141ms) +2026-09-27T05:31:26.2475727Z ✔ says nothing about approval, which is not a thing the model can send (4.014063ms) +2026-09-27T05:31:26.2555609Z ✔ passes through only the sentences this schema wrote (0.262616ms) +2026-09-27T05:31:26.2615563Z ✔ computer use argument refusals (29.727271ms) +2026-09-27T05:31:26.2645722Z ✔ a missing text is reported as a missing argument, not a bad coordinate (1.909219ms) +2026-09-27T05:31:26.2670238Z ✔ an unknown action is answered with the actions this tool takes (0.830729ms) +2026-09-27T05:31:26.2720306Z ✔ an unknown action never echoes what was sent with it (0.307116ms) +2026-09-27T05:31:26.2758750Z ✔ the action list is read off the schema rather than kept by hand (0.243128ms) +2026-09-27T05:31:26.2803897Z ✔ a removed coordinate action is rejected as unknown (0.22801ms) +2026-09-27T05:31:26.2855461Z ✔ unsupported hold_key is rejected as unknown (0.23957ms) +2026-09-27T05:31:26.2896833Z ✔ a refusal that declares itself app-text-free reaches the model with its sentence (10.503198ms) +2026-09-27T05:31:26.2937040Z ✔ a refusal that does not declare itself stays a bare code (0.304541ms) +2026-09-27T05:31:26.2985576Z ✔ a dispatch that changed nothing does not start with the word ok (3.342575ms) +2026-09-27T05:31:26.3030957Z ✔ a dispatch that did change something still reads as ok (0.191057ms) +2026-09-27T05:31:26.3095656Z ✔ the model face carries no dispatch route, tier, or internal reason (0.243333ms) +2026-09-27T05:31:26.3131534Z ✔ a refusal keeps its effect and drops the route (5.37798ms) +2026-09-27T05:31:26.3185791Z ✔ the host face keeps every field an operator reads a trace back with (5.374109ms) +2026-09-27T05:31:26.3215664Z ✔ the host face still refuses free text where a token was promised (2.735981ms) +2026-09-27T05:31:26.3262971Z ✔ the surviving frame is named in the ids the model was given (51.22174ms) +2026-09-27T05:31:26.3318953Z ✔ a refusal that did reach the window does not claim the frame survived (3.648625ms) +2026-09-27T05:31:26.3387225Z ✔ a refusal that hands back a fresh observation does not also call the old one current (14.836168ms) +2026-09-27T05:31:26.3427482Z ✔ a frame that moves during dispatch does not erase the executor s own refusal (1.174558ms) +2026-09-27T05:31:26.3465627Z ✔ an unfiltered list leaves out apps the model could not drive anyway (33.193565ms) +2026-09-27T05:31:26.3525780Z ✔ a filter takes the name a person would use, in either language, and the id too (6.364909ms) +2026-09-27T05:31:26.3696212Z ✔ a filter can reach an app with no window, which the unfiltered list omits (0.541956ms) +2026-09-27T05:31:26.3718969Z ✔ nothing matched says what there is, so the next call is not the whole list (0.572725ms) +2026-09-27T05:31:26.3729782Z ✔ a window control whose role begins with AXMenu stays in the window (5.769474ms) +2026-09-27T05:31:26.3730980Z ✔ the empty container between a menu title and its commands is gone (1.133853ms) +2026-09-27T05:31:26.3732347Z ✔ a separator is not written down, and the command after it keeps its id (0.633089ms) +2026-09-27T05:31:26.3733412Z ✔ a listed menu says that it opens, and how (0.567021ms) +2026-09-27T05:31:26.3734630Z ✔ an opened menu names itself rather than repeating the offer (0.656385ms) +2026-09-27T05:31:26.3735720Z ✔ a disabled command is explained once, not left to be retried (0.327668ms) +2026-09-27T05:31:26.3736687Z ✔ a menu with nothing disabled is not given the explanation (0.426822ms) +2026-09-27T05:31:26.3737789Z ✔ a menu cut short by the executor says so, and a menu merely unopened does not (3.244796ms) +2026-09-27T05:31:26.3739008Z ✔ a wrapper around exactly one thing is collapsed, and its child keeps its id (0.397919ms) +2026-09-27T05:31:26.3740340Z ✔ a container holding several children is collapsed too, and the strict form is reachable (0.398352ms) +2026-09-27T05:31:26.3741533Z ✔ a single-child wrapper that is a control, or named, or focused, stays (1.267624ms) +2026-09-27T05:31:26.3742682Z ✔ a button with no label is not a wrapper, whatever it contains (0.591955ms) +2026-09-27T05:31:26.9285120Z ✔ a real Read tool Artifact reference remains readable by the same ACP client (5864.68813ms) +2026-09-27T05:31:27.6139258Z ▶ AiSdkBackend Computer Use model loop +2026-09-27T05:31:27.6216453Z ✔ the safe function-tool contract is identical across target provider connections (495.6232ms) +2026-09-27T05:31:27.6816596Z ✔ a model discovers, observes, mutates semantically, reads the fresh frame, and completes (338.807396ms) +2026-09-27T05:31:27.6939227Z ✔ a keyboard refusal reaches the next model step and the turn still completes (108.629852ms) +2026-09-27T05:31:27.6980343Z ✔ AiSdkBackend Computer Use model loop (946.953534ms) +2026-09-27T05:31:27.7542594Z ✔ an element whose parent was pruned away is still written (7.986265ms) +2026-09-27T05:31:27.7682954Z ✔ a parent cycle neither loops nor loses an element (0.544261ms) +2026-09-27T05:31:27.7746154Z ✔ an element that is its own parent is a root, not a hang (0.322507ms) +2026-09-27T05:31:27.7788739Z ✔ a post-action no-change observation says so without repeating the tree (0.25366ms) +2026-09-27T05:31:27.7884218Z ✔ a post-action difference renders removed ranges and changed elements only (2.513844ms) +2026-09-27T05:31:27.7978405Z ✔ a full difference presentation falls back to the complete tree (0.500367ms) +2026-09-27T05:31:27.8046837Z ✔ every element appears exactly once regardless of report order (3.164029ms) +2026-09-27T05:31:27.8096644Z ✔ a label containing a quote or newline cannot forge a second element line (0.284136ms) +2026-09-27T05:31:27.8136122Z ✔ an oversized value is shortened visibly, not silently (0.845347ms) +2026-09-27T05:31:27.8194900Z ✔ a cut tree says so, in the header, in words that change what the model does (0.675177ms) +2026-09-27T05:31:27.8259873Z ✔ an empty field shows what it is prompting for, marked as not a value (0.547226ms) +2026-09-27T05:31:27.8312975Z ✔ collapsing a wrapper is not the same thing as dropping one (0.736217ms) +2026-09-27T05:31:27.8334213Z ✔ Computer Use snapshots execution args and persists the model-facing projection (48.924939ms) +2026-09-27T05:31:27.8382107Z ✔ the record a model reads back is the call it made, in the names the tool accepts (4.803009ms) +2026-09-27T05:31:27.8383387Z ✔ Computer Use persists which element a call targeted (9.331569ms) +2026-09-27T05:31:27.8445570Z ✔ the model reads its own call back in the names the tool accepts (4.977729ms) +2026-09-27T05:31:27.8566223Z ✔ Computer Use validation failures still persist a redacted call and result (6.145277ms) +2026-09-27T05:31:28.1792122Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:31:28.7116084Z ▶ Anthropic-compatible Computer Use product loops +2026-09-27T05:31:28.7286221Z ✔ replays every same-route Anthropic reasoning block in provider order (603.703202ms) +2026-09-27T05:31:29.1766487Z ✔ kimi-coding-plan/kimi-for-coding completes a multi-step semantic model loop (615.909213ms) +2026-09-27T05:31:29.3511089Z ✔ kimi-coding-plan/kimi-for-coding reinjects a failed semantic action as an error tool result (185.655301ms) +2026-09-27T05:31:29.5116337Z ✔ kimi-coding-plan/k3 completes a multi-step semantic model loop (165.641237ms) +2026-09-27T05:31:29.6439057Z ✔ kimi-coding-plan/k3 reinjects a failed semantic action as an error tool result (127.589127ms) +2026-09-27T05:31:29.7696133Z ✔ minimax-coding-plan/MiniMax-M3 completes a multi-step semantic model loop (126.271466ms) +2026-09-27T05:31:29.9388187Z ✔ minimax-coding-plan/MiniMax-M3 reinjects a failed semantic action as an error tool result (157.100183ms) +2026-09-27T05:31:30.1003865Z ✔ github-copilot/future-claude-model completes a multi-step semantic model loop (174.571044ms) +2026-09-27T05:31:30.2442438Z ✔ github-copilot/future-claude-model reinjects a failed semantic action as an error tool result (147.684579ms) +2026-09-27T05:31:30.2577727Z ✔ Anthropic-compatible Computer Use product loops (2320.233677ms) +2026-09-27T05:31:30.2988375Z ▶ OpenAI-compatible product loops +2026-09-27T05:31:30.3036106Z ✔ github-copilot replays same-route reasoning_content on its OpenAI Chat wire (29.2979ms) +2026-09-27T05:31:30.4352780Z ✔ deepseek replays observed reasoning as its declared request field (124.919139ms) +2026-09-27T05:31:30.5189768Z ✔ ollama-cloud replays observed reasoning as its declared request field (125.16487ms) +2026-09-27T05:31:30.5686724Z ✔ github-copilot replays observed reasoning as its declared request field (44.688794ms) +2026-09-27T05:31:30.5879075Z ✔ reconstructs a recovered reasoning and tool-call step as one assistant message (22.040091ms) +2026-09-27T05:31:30.6479789Z ✔ replays explicit empty reasoning after missing-ledger recovery and backend recreation (58.348835ms) +2026-09-27T05:31:30.8758642Z ✔ preserves reasoning, tool pairing, and normalized request telemetry across steps (201.002009ms) +2026-09-27T05:31:30.8856158Z ✔ OpenAI-compatible product loops (610.205827ms) +2026-09-27T05:31:31.0296356Z ✔ a query keeps what matched and every element containing it (9.030677ms) +2026-09-27T05:31:31.0370319Z ✔ ids are the ids of the whole window, so a match can be acted on directly (0.684489ms) +2026-09-27T05:31:31.0478065Z ✔ a filtered tree says so, beside the count it contradicts (0.36985ms) +2026-09-27T05:31:31.0508100Z ✔ a query matching nothing is empty rather than everything (0.295228ms) +2026-09-27T05:31:31.0629138Z ✔ a query matches a role and a value, not only a label (0.352367ms) +2026-09-27T05:31:31.0738558Z ▶ the two argument schemas describe the same tool +2026-09-27T05:31:31.0777856Z ✔ every field an action accepts can reach it through the wire (2.386338ms) +2026-09-27T05:31:31.0904941Z ✔ the action names match in both directions (0.36418ms) +2026-09-27T05:31:31.1003695Z ✔ every action survives the approval summary as itself (0.550718ms) +2026-09-27T05:31:31.1166712Z ✔ the approval catalog names exactly the actions the wire carries (0.23521ms) +2026-09-27T05:31:31.1215885Z ✔ coordinate mutation names are absent from every action catalog (0.325615ms) +2026-09-27T05:31:31.1305597Z ✔ the two argument schemas describe the same tool (5.751555ms) +2026-09-27T05:31:31.1379912Z ▶ screen-lock gate +2026-09-27T05:31:31.1453223Z ✔ refuses every call while the machine is locked, and asks before touching the backend (33.982533ms) +2026-09-27T05:31:31.1579011Z ✔ is consulted per call, so locking mid-run stops the run (10.670546ms) +2026-09-27T05:31:31.1657740Z ✔ latches the session state, so the refusal survives the machine unlocking itself (4.417646ms) +2026-09-27T05:31:31.1736959Z ✔ tells the host which session it refused, so the host can release it later (3.287587ms) +2026-09-27T05:31:31.1870878Z ✔ a refusal never reaches the overlay hook, so the probe is the only witness (9.431489ms) +2026-09-27T05:31:31.1940451Z ✔ without a probe there is no guard, rather than a silent refusal (0.578352ms) +2026-09-27T05:31:31.1981089Z ✔ screen-lock gate (64.301691ms) +2026-09-27T05:31:31.2010689Z ▶ adaptToCuAction — flat Anthropic grammar → discriminated CuAction +2026-09-27T05:31:31.2057389Z ✔ a removed coordinate action is rejected as unknown (5.906538ms) +2026-09-27T05:31:31.2145637Z ✔ type without text throws (0.257398ms) +2026-09-27T05:31:31.2217197Z ✔ provider function schema excludes coordinate actions and fields (15.752946ms) +2026-09-27T05:31:31.2285902Z ✔ runtime strict parsing rejects fields that are irrelevant to the selected action (18.27931ms) +2026-09-27T05:31:31.2367875Z ✔ targetless observe and screenshot fail before permission or execution (6.388923ms) +2026-09-27T05:31:31.2426768Z ✔ adaptToCuAction — flat Anthropic grammar → discriminated CuAction (51.308872ms) +2026-09-27T05:31:31.2428232Z ✔ provider schema explains the required semantic action fields (20.891712ms) +2026-09-27T05:31:31.2429514Z ✔ computer params are copied and frozen before asynchronous policy checks (8.266961ms) +2026-09-27T05:31:31.2430677Z ✔ computer params reject accessors before policy or execution (0.358066ms) +2026-09-27T05:31:31.2431671Z ▶ buildComputerUseTools — the `maka_computer` MakaTool +2026-09-27T05:31:31.2432752Z ✔ waits for presentation readiness before dispatch without waiting for finish (75.857766ms) +2026-09-27T05:31:31.2433800Z ✔ presentation readiness timeout fails open (6.769133ms) +2026-09-27T05:31:31.2434901Z ✔ user stop while presentation is pending prevents native dispatch (12.342714ms) +2026-09-27T05:31:31.2462770Z ✔ abort while presentation is pending prevents native dispatch (0.607261ms) +2026-09-27T05:31:31.2493837Z ✔ presentation receives the observation-bound screen point (9.952326ms) +2026-09-27T05:31:31.2495252Z ✔ presentation receives the window the action is bound to (1.048068ms) +2026-09-27T05:31:31.2496275Z ✔ a fence that declares its own worst case is not cut short by the default (62.510473ms) +2026-09-27T05:31:31.2497284Z ✔ discarded dispatch result cancels presentation instead of showing success (1.598602ms) +2026-09-27T05:31:31.2499653Z ✔ presentation promise rejections are isolated from execution (17.443841ms) +2026-09-27T05:31:31.2500726Z ✔ one visual overlay serializes presentation across independent sessions (10.178795ms) +2026-09-27T05:31:31.2501819Z ✔ clearSession releases an action queued behind another presentation (2.506341ms) +2026-09-27T05:31:31.2502851Z ✔ launch_app starts an app and hands back a directly targetable window (3.864478ms) +2026-09-27T05:31:31.2503797Z ✔ launch_app reports when the app took the foreground anyway (3.154515ms) +2026-09-27T05:31:31.2505233Z ✔ launch_app on a backend without support fails rather than silently doing nothing (0.304044ms) +2026-09-27T05:31:31.2506336Z ✔ list_apps and observe expose one provider-neutral Sky-like surface (9.35823ms) +2026-09-27T05:31:31.2507460Z ✔ targeted screenshot captures only the approved app window (1.687901ms) +2026-09-27T05:31:31.2508459Z ✔ permission args bind mutations to the Runtime-owned observation target (0.676974ms) +2026-09-27T05:31:31.2509653Z ✔ keyboard actions reach approval as observation-bound keyboard mutations (5.163168ms) +2026-09-27T05:31:31.2552715Z ✔ an element action may repeat the target it already named, and the host still resolves it (1.42713ms) +2026-09-27T05:31:31.2574649Z ✔ a stale frame comes back with a current one, a latched refusal does not (1.502896ms) +2026-09-27T05:31:31.2585739Z ✔ a sequence takes four presses in one call, looking again between each (4.741478ms) +2026-09-27T05:31:31.2615215Z ✔ a sequence stops at the step it cannot resolve, and says which (0.701436ms) +2026-09-27T05:31:31.2661585Z ✔ a sequence walks its steps without asking for a picture each time (0.857436ms) +2026-09-27T05:31:31.2695452Z ✔ scroll_element reaches the executor at all (2.572872ms) +2026-09-27T05:31:31.2725740Z ✔ a target hint that disagrees with the observation is reported, not ignored (0.56646ms) +2026-09-27T05:31:31.2729002Z ✔ the name that resolved an observation is not a contradiction of it (2.892033ms) +2026-09-27T05:31:31.2755562Z ✔ an unverified target hint never reaches the approval summary (0.260869ms) +2026-09-27T05:31:31.2783909Z ✔ semantic action uses the runtime observation id, forwards identity hints, and returns fresh state (0.710322ms) +2026-09-27T05:31:31.2812206Z ✔ semantic action recaptures a pictureless result for presentation (2.989121ms) +2026-09-27T05:31:31.2835726Z ✔ semantic set_value keeps its semantic action name in the model summary (2.228043ms) +2026-09-27T05:31:31.2895875Z ✔ semantic recovery keeps the action name when fresh observation is unavailable (2.091255ms) +2026-09-27T05:31:31.2926088Z ✔ semantic action is bound to an observed element and consumes the observation (1.621455ms) +2026-09-27T05:31:31.2937241Z ✔ successful bound action fails closed without a fresh full observation (1.822437ms) +2026-09-27T05:31:31.2975489Z ✔ bound mutating actions require Screen Recording before dispatch (0.67848ms) +2026-09-27T05:31:31.3005746Z ✔ runtime does not infer user intervention from observation content changes (3.496133ms) +2026-09-27T05:31:31.3035667Z ✔ press_key binds the observation window without requiring an element id (0.704395ms) +2026-09-27T05:31:31.3045583Z ✔ select_text forwards the identity hint for unique semantic refetch (5.482163ms) +2026-09-27T05:31:31.3065764Z ✔ S12: re-checks TCC and fails closed when Accessibility is not granted (0.311031ms) +2026-09-27T05:31:31.3095848Z ✔ requests Accessibility once on first use while every action still preflights (2.006171ms) +2026-09-27T05:31:31.3186083Z ✔ S12: a capture action fails closed when Screen Recording is not granted (0.268869ms) +2026-09-27T05:31:31.3230481Z ✔ serializes preflight and dispatch in tool-call arrival order (0.721165ms) +2026-09-27T05:31:31.3264778Z ✔ does not serialize independent sessions behind one invocation queue (2.834336ms) +2026-09-27T05:31:31.3266360Z ✔ physical intervention during dispatch discards a backend success (0.695052ms) +2026-09-27T05:31:31.3267537Z ✔ screen lock blocks a new observation until unlock and explicit reobserve (1.763857ms) +2026-09-27T05:31:31.3268653Z ✔ typed user_intervened outcome advances Runtime to reobserve_required (0.703317ms) +2026-09-27T05:31:31.3269680Z ✔ typed screen_locked outcome advances Runtime to screen_locked (1.875642ms) +2026-09-27T05:31:31.3270668Z ✔ typed blocked_url outcome advances Runtime to blocked_url (0.926889ms) +2026-09-27T05:31:31.3271855Z ✔ typed outcome_unknown outcome advances Runtime to reobserve_required (3.901249ms) +2026-09-27T05:31:31.3273066Z ✔ typed service_unavailable outcome advances Runtime to reobserve_required (0.463137ms) +2026-09-27T05:31:31.3274341Z ✔ keyboard outcome_unknown remains model-visible while requiring reobserve (1.562173ms) +2026-09-27T05:31:31.3426303Z ✔ semantic outcome_unknown remains model-visible while requiring reobserve (0.621798ms) +2026-09-27T05:31:31.3546068Z ✔ clearSession cannot mask a delivered semantic mutation outcome (0.991624ms) +2026-09-27T05:31:31.3636156Z ✔ clearSession cannot mask a delivered keyboard mutation outcome (1.849124ms) +2026-09-27T05:31:31.3695989Z ✔ a queued keyboard mutation cannot silently target a newer frame (1.807293ms) +2026-09-27T05:31:31.3786166Z ✔ an unknown dispatch outcome requires a fresh observation (2.873447ms) +2026-09-27T05:31:31.3866271Z ✔ clearSession keeps a same-turn tombstone but a new turn can reopen (0.605297ms) +2026-09-27T05:31:31.3975915Z ✔ clearSession fences a first invocation that is already queued (0.718435ms) +2026-09-27T05:31:31.4043981Z ✔ clearSession fences a later turn that was queued before stop (0.522091ms) +2026-09-27T05:31:31.4166367Z ✔ clearSession after a non-CU turn does not block the next turn observe (0.344609ms) +2026-09-27T05:31:31.4225840Z ✔ clearSession fences host-reading results that complete after stop (2.152107ms) +2026-09-27T05:31:31.4306354Z ✔ clearSession fences failed host-reading results that complete after stop (2.841014ms) +2026-09-27T05:31:31.4390937Z ✔ ordinary failed host reads preserve their typed backend error (1.635826ms) +2026-09-27T05:31:31.4464014Z ✔ fresh observations inherit a separately returned screenshot (0.912977ms) +2026-09-27T05:31:31.4495797Z ✔ S17: surfaces the typed backend failure code without leaking raw driver text (0.277536ms) +2026-09-27T05:31:31.4616017Z ✔ an unverified dispatch tells the model to re-screenshot (no silent success) (2.715438ms) +2026-09-27T05:31:31.4735871Z ✔ a confirmed effect tells the model not to repeat the action (0.506319ms) +2026-09-27T05:31:31.4796003Z ✔ surfaces controlled dispatch evidence without escalation reason or AX text (0.321319ms) +2026-09-27T05:31:31.4856724Z ✔ redacts synthetic tool errors again at the model-output boundary (0.317286ms) +2026-09-27T05:31:31.4976481Z ✔ keeps PiP-only screenshots out of semantic action model output (0.440525ms) +2026-09-27T05:31:31.5065894Z ✔ classifies every canonical action for model-visible screenshots (0.140665ms) +2026-09-27T05:31:31.5125961Z ✔ binds model-visible screenshots to the immutable executed invocation (1.339375ms) +2026-09-27T05:31:31.5205917Z ✔ S18: an already-aborted signal short-circuits before any dispatch (0.273416ms) +2026-09-27T05:31:31.5295922Z ✔ S20: observe takes the name a person uses, not only a bundle id (3.001939ms) +2026-09-27T05:31:31.5355815Z ✔ S21: a name matching two applications is the model's to settle (0.543633ms) +2026-09-27T05:31:31.5475829Z ✔ S22: a lookup that fails leaves the name alone (1.085924ms) +2026-09-27T05:31:31.5545796Z ✔ S19: a window that did not answer in time is not reported as missing (2.227335ms) +2026-09-27T05:31:31.5593816Z ✔ buildComputerUseTools — the `maka_computer` MakaTool (323.573078ms) +2026-09-27T05:31:31.5625884Z ✔ a wait for text returns as soon as it is there, not when the clock runs out (21.025598ms) +2026-09-27T05:31:31.5655594Z ✔ a wait for text to go returns when it goes (1.279518ms) +2026-09-27T05:31:31.5656539Z ✔ a timeout hands back the window as it stands (757.448609ms) +2026-09-27T05:31:31.5685733Z ✔ a wait with no observation behind it says so instead of guessing a window (2.347216ms) +2026-09-27T05:31:31.5715660Z ✔ text that is already there returns at once, which is what "wait until" means (2.166104ms) +2026-09-27T05:31:31.5745196Z ✔ a plain duration wait is untouched (11.647672ms) +2026-09-27T05:31:31.5745989Z ✔ a move names where to put the window (17.144512ms) +2026-09-27T05:31:31.5775386Z ✔ a move without a position is rejected rather than guessed at (0.483024ms) +2026-09-27T05:31:31.5789073Z ✔ a resize names a size, and a size is positive (0.695792ms) +2026-09-27T05:31:31.5815551Z ✔ minimise needs no geometry (0.541843ms) +2026-09-27T05:31:31.5936022Z ✔ a negative position is accepted, because a second display is a real place (0.646602ms) +2026-09-27T05:31:31.6045813Z ✔ a minimise names its own cost, because it cannot be taken back (127.401487ms) +2026-09-27T05:31:31.6105679Z ✔ an action outside the three is not a window action (0.736202ms) +2026-09-27T05:31:31.6225937Z ✔ cursor_position is rejected by both model-facing schemas (21.28466ms) +2026-09-27T05:31:31.6256456Z ✔ mouse_move is rejected by both model-facing schemas (5.370505ms) +2026-09-27T05:31:31.6295970Z ✔ left_click is rejected by both model-facing schemas (0.288796ms) +2026-09-27T05:31:31.6326316Z ✔ right_click is rejected by both model-facing schemas (0.277347ms) +2026-09-27T05:31:31.6385801Z ✔ middle_click is rejected by both model-facing schemas (0.26538ms) +2026-09-27T05:31:31.6432894Z ✔ double_click is rejected by both model-facing schemas (0.156581ms) +2026-09-27T05:31:31.6455594Z ✔ triple_click is rejected by both model-facing schemas (0.143886ms) +2026-09-27T05:31:31.6485677Z ✔ left_mouse_down is rejected by both model-facing schemas (0.16875ms) +2026-09-27T05:31:31.6531969Z ✔ left_mouse_up is rejected by both model-facing schemas (0.234765ms) +2026-09-27T05:31:31.6559408Z ✔ left_click_drag is rejected by both model-facing schemas (0.298204ms) +2026-09-27T05:31:31.6670134Z ✔ scroll is rejected by both model-facing schemas (3.35899ms) +2026-09-27T05:31:31.6695607Z ✔ zoom is rejected by both model-facing schemas (0.236412ms) +2026-09-27T05:31:31.6715504Z ✔ unsupported hold_key is rejected by both model-facing schemas (0.375775ms) +2026-09-27T05:31:31.6725628Z ✔ coordinate dispatch fields are absent from the wire schema (0.168844ms) +2026-09-27T05:31:31.6815743Z ✔ a legal list_apps call survives both schemas (0.628379ms) +2026-09-27T05:31:31.6847474Z ✔ a legal list_apps call survives both schemas (0.183436ms) +2026-09-27T05:31:31.6965812Z ✔ a legal launch_app call survives both schemas (2.456043ms) +2026-09-27T05:31:31.7025553Z ✔ a legal observe call survives both schemas (8.231489ms) +2026-09-27T05:31:31.7085598Z ✔ a legal observe call survives both schemas (3.437482ms) +2026-09-27T05:31:31.7205822Z ✔ a legal observe call survives both schemas (0.172523ms) +2026-09-27T05:31:31.7297110Z ✔ a legal observe call survives both schemas (0.25951ms) +2026-09-27T05:31:31.7299093Z ✔ a legal click_element call survives both schemas (2.828263ms) +2026-09-27T05:31:31.7345963Z ✔ a legal set_value call survives both schemas (7.12327ms) +2026-09-27T05:31:31.7362379Z ✔ a legal select_text call survives both schemas (0.768958ms) +2026-09-27T05:31:31.7375751Z ✔ a legal secondary_action call survives both schemas (0.751692ms) +2026-09-27T05:31:31.7505897Z ✔ a legal scroll_element call survives both schemas (7.367399ms) +2026-09-27T05:31:31.7625985Z ✔ a legal element_sequence call survives both schemas (16.296215ms) +2026-09-27T05:31:31.7655670Z ✔ a legal press_key call survives both schemas (0.921551ms) +2026-09-27T05:31:31.7725126Z ✔ a legal press_key call survives both schemas (0.141876ms) +2026-09-27T05:31:31.7823842Z ✔ a legal window_action=move call survives both schemas (8.433666ms) +2026-09-27T05:31:31.7917550Z ✔ a legal window_action=resize call survives both schemas (0.293108ms) +2026-09-27T05:31:31.7986029Z ✔ a legal window_action=minimize call survives both schemas (0.149931ms) +2026-09-27T05:31:31.8035215Z ✔ a legal screenshot call survives both schemas (0.544899ms) +2026-09-27T05:31:31.8102793Z ✔ a legal type call survives both schemas (0.535144ms) +2026-09-27T05:31:31.8117412Z ✔ a legal key call survives both schemas (0.462074ms) +2026-09-27T05:31:31.8118402Z ✔ a legal wait call survives both schemas (0.901113ms) +2026-09-27T05:31:31.8119081Z ✔ a legal wait call survives both schemas (0.164393ms) +2026-09-27T05:31:31.8119752Z ✔ a legal wait call survives both schemas (0.114033ms) +2026-09-27T05:31:31.8120688Z ✔ every action in the strict union is offered by the wire enum (3.691512ms) +2026-09-27T05:31:31.8123549Z ✔ every action in the strict union has a sample call above (0.29179ms) +2026-09-27T05:31:31.8125226Z ✔ a list_apps call the model reads back is one it can send again (4.622358ms) +2026-09-27T05:31:31.8126267Z ✔ a list_apps call the model reads back is one it can send again (0.27673ms) +2026-09-27T05:31:31.8127274Z ✔ a launch_app call the model reads back is one it can send again (0.198473ms) +2026-09-27T05:31:31.8128231Z ✔ a observe call the model reads back is one it can send again (0.184901ms) +2026-09-27T05:31:31.8129176Z ✔ a observe call the model reads back is one it can send again (5.933888ms) +2026-09-27T05:31:31.8130146Z ✔ a observe call the model reads back is one it can send again (0.301138ms) +2026-09-27T05:31:31.8131031Z ✔ a observe call the model reads back is one it can send again (2.906615ms) +2026-09-27T05:31:31.8131958Z ✔ a click_element call the model reads back is one it can send again (2.984545ms) +2026-09-27T05:31:31.8132899Z ✔ a set_value call the model reads back is one it can send again (0.384837ms) +2026-09-27T05:31:31.8153098Z ✔ a select_text call the model reads back is one it can send again (0.226847ms) +2026-09-27T05:31:31.8155002Z ✔ a secondary_action call the model reads back is one it can send again (0.236136ms) +2026-09-27T05:31:31.8156218Z ✔ a scroll_element call the model reads back is one it can send again (0.442518ms) +2026-09-27T05:31:31.8157600Z ✔ a element_sequence call the model reads back is one it can send again (0.677708ms) +2026-09-27T05:31:31.8158713Z ✔ a press_key call the model reads back is one it can send again (0.225366ms) +2026-09-27T05:31:31.8159806Z ✔ a press_key call the model reads back is one it can send again (0.163589ms) +2026-09-27T05:31:31.8160932Z ✔ a window_action=move call the model reads back is one it can send again (5.580361ms) +2026-09-27T05:31:31.8162049Z ✔ a window_action=resize call the model reads back is one it can send again (0.334901ms) +2026-09-27T05:31:31.8163422Z ✔ a window_action=minimize call the model reads back is one it can send again (0.172558ms) +2026-09-27T05:31:31.8164735Z ✔ a screenshot call the model reads back is one it can send again (0.150659ms) +2026-09-27T05:31:31.8165702Z ✔ a type call the model reads back is one it can send again (0.126221ms) +2026-09-27T05:31:31.8166671Z ✔ a key call the model reads back is one it can send again (0.13462ms) +2026-09-27T05:31:31.8167562Z ✔ a wait call the model reads back is one it can send again (0.121069ms) +2026-09-27T05:31:31.8168539Z ✔ a wait call the model reads back is one it can send again (0.125863ms) +2026-09-27T05:31:31.8169530Z ✔ a wait call the model reads back is one it can send again (0.227997ms) +2026-09-27T05:31:31.8170649Z ✔ an argument the model chose itself is not replaced by a description of it (11.333169ms) +2026-09-27T05:31:31.8171516Z ▶ configured subagent catalog +2026-09-27T05:31:31.8172411Z ✔ lists availability and resolves only enabled user-approved targets (20.715555ms) +2026-09-27T05:31:31.8173444Z ✔ a retained retired connection cannot admit a subagent (0.695877ms) +2026-09-27T05:31:31.8174266Z ✔ configured subagent catalog (38.699162ms) +2026-09-27T05:31:31.8178604Z ✔ context policy is independent of process environment overrides (4.546041ms) +2026-09-27T05:31:31.8179541Z ▶ mid-turn history compact policy +2026-09-27T05:31:31.8193815Z ✔ is owned by the runtime default (0.312629ms) +2026-09-27T05:31:31.8194973Z ✔ mid-turn history compact policy (4.111363ms) +2026-09-27T05:31:31.8195603Z ▶ tool-result prune policy +2026-09-27T05:31:31.8196169Z ✔ uses bounded runtime defaults (0.43392ms) +2026-09-27T05:31:31.8196842Z ✔ tool-result prune policy (0.713687ms) +2026-09-27T05:31:31.8197471Z ▶ declared relay context window +2026-09-27T05:31:31.8198312Z ✔ a user declaration outranks the relay /models report and metadata (0.640535ms) +2026-09-27T05:31:31.8199230Z ✔ a declared context window holds on any provider (0.242585ms) +2026-09-27T05:31:31.8232508Z ✔ declared relay context window (1.371712ms) +2026-09-27T05:31:31.8248187Z ✔ context budgeting prefers a model input limit over its context window (4.415293ms) +2026-09-27T05:31:31.8275688Z ✔ invalid zero input limits do not disable the context-window fallback (0.251194ms) +2026-09-27T05:31:31.8298464Z ✔ overriding total capacity preserves the independent input limit (0.8512ms) +2026-09-27T05:31:31.8325751Z ✔ capacity and compaction remain independent in the execution projection (0.318762ms) +2026-09-27T05:31:31.8355678Z ✔ a reported model context window is metadata, not a Maka declaration (0.2434ms) +2026-09-27T05:31:31.8361669Z ✔ Codex OAuth pinned windows do not inherit public API input limits (0.491834ms) +2026-09-27T05:31:31.8385848Z ✔ Codex OAuth discovered windows remain usable after model discovery (0.283578ms) +2026-09-27T05:31:31.8419152Z ✔ Codex OAuth keeps explicit input limits and rejects their conflicts (0.421312ms) +2026-09-27T05:31:32.0708996Z ✔ estimates only model-visible provider context (1.566889ms) +2026-09-27T05:31:32.0766334Z ✔ capacity policy keeps the canonical ledger until a checkpoint replaces it (1.620972ms) +2026-09-27T05:31:32.0818157Z ✔ checkpoint replay uses the canonical ledger before stale tool results are pruned (13.687953ms) +2026-09-27T05:31:32.0884202Z ✔ compaction notes fire for a fold made by the request hook, not only for a replay (0.53478ms) +2026-09-27T05:31:32.1599950Z ✔ rejects v2 snapshots that the canonical writer cannot produce (5.760409ms) +2026-09-27T05:31:32.8068382Z ✔ serves the sealed snapshot without reading a single run (651.040295ms) +2026-09-27T05:31:33.0707986Z ✔ does not trust a pre-observation projection over its canonical attempt (269.083547ms) +2026-09-27T05:31:33.3355730Z ✔ upgrades exact-matched mixed-era composition into the current projection (263.210766ms) +2026-09-27T05:31:33.6436438Z ✔ a failed call does not replace the last good snapshot (308.912334ms) +2026-09-27T05:31:34.0996304Z ✔ a subagent's run never becomes the session's context (452.67683ms) +2026-09-27T05:31:34.3407489Z ✔ rebuilds a canonical observation, then repairs it so the next read scans nothing (227.525861ms) +2026-09-27T05:31:34.3434124Z ✔ rebuilds without repairing when the store lacks a ledger revision capability (0.668155ms) +2026-09-27T05:31:34.3508116Z ✔ reads a provider-only ledger that predates canonical metering (1.339811ms) +2026-09-27T05:31:34.3585993Z ✔ a canonical record on the ledger keeps the legacy path out of it (0.482002ms) +2026-09-27T05:31:34.3625300Z ✔ cold rebuild takes composition from the canonical attempt observation (0.434886ms) +2026-09-27T05:31:34.3627257Z ✔ does not enrich a canonical attempt from an identity-mismatched provider row (6.933195ms) +2026-09-27T05:31:34.3629902Z ✔ a legacy request whose capture is missing reports no composition, not an older one (0.428885ms) +2026-09-27T05:31:34.3631899Z ✔ a compaction call never becomes the reported context (0.212352ms) +2026-09-27T05:31:34.3644610Z ✔ reports that no completed request exists instead of inferring session values (0.1542ms) +2026-09-27T05:31:34.3647030Z ✔ a rebuilt session reports the fold that was in place when its request started (0.671381ms) +2026-09-27T05:31:34.3648724Z ✔ a canonical ledger with nothing reportable does not fall back to a provider row (0.289447ms) +2026-09-27T05:31:34.5589288Z ✔ warm and cold agree on which of two requests that finished together is the latest (222.848754ms) +2026-09-27T05:31:34.7432290Z ✔ a session confirmed to have nothing is answered from the projection, not re-scanned (176.926791ms) +2026-09-27T05:31:34.7473267Z ✔ names at most the bounded number of tools, and accounts for the rest (2.687091ms) +2026-09-27T05:31:35.0004865Z ✔ a request that finished earlier cannot move the answer backwards (261.798356ms) +2026-09-27T05:31:35.1916737Z ✔ a damaged projection is repaired, not preserved forever (193.323132ms) +2026-09-27T05:31:35.4366231Z ✔ repairs malformed projection bytes from the canonical ledger (245.876331ms) +2026-09-27T05:31:35.5845825Z ✔ does not persist a cold answer after canonical authority advances (146.925885ms) +2026-09-27T05:31:35.8457487Z ✔ rebuilds a nested-malformed v2 projection from the canonical ledger (256.791659ms) +2026-09-27T05:31:36.1113294Z ✔ an old readable-order projection is upgraded after one cold rebuild (269.466863ms) +2026-09-27T05:31:36.2176243Z ▶ continuation replay segment +2026-09-27T05:31:36.2256183Z ✔ rejects a persisted v1 admission under the route-bound v2 projection (11.078514ms) +2026-09-27T05:31:36.2325927Z ✔ trims an interrupted assistant suffix after the last stable user boundary (13.55149ms) +2026-09-27T05:31:36.2350996Z ✔ excludes hidden nested events from continuation replay context (14.846059ms) +2026-09-27T05:31:36.2465877Z ✔ trims every model-visible item when a real continuation segment has no stable anchor (5.566378ms) +2026-09-27T05:31:36.2525699Z ✔ trims a continuation pre-T1 tool call when the live start declares the durable boundary (5.416229ms) +2026-09-27T05:31:36.2566521Z ✔ blocks an unmatched tool call followed by replayable assistant content (1.205219ms) +2026-09-27T05:31:36.2605716Z ✔ projects every lineage segment once and never reintroduces an ancestor suffix (9.060295ms) +2026-09-27T05:31:36.2768536Z ✔ continuation replay segment (66.849298ms) +2026-09-27T05:31:36.2815572Z ▶ continuation replay digest +2026-09-27T05:31:36.2898475Z ✔ keeps the projection v2 digest compatible while excluding internal invocation identity (3.026395ms) +2026-09-27T05:31:36.2931241Z ✔ continuation replay digest (3.385666ms) +2026-09-27T05:31:36.5299671Z ✔ archived tool-result copy preflight detects conversation-owned references (9.353429ms) +2026-09-27T05:31:36.5333751Z ✔ conversation copy discovers linked children in persisted retired tool results (1.381486ms) +2026-09-27T05:31:36.5426322Z ✔ collectConversationCopySessionFileRefs gathers source-Session refs across sites (6.192446ms) +2026-09-27T05:31:36.5467322Z ✔ Side Conversation preflight identifies linked-child archive bodies (0.376472ms) +2026-09-27T05:31:36.5496125Z ✔ Side Conversation snapshots remove linked child ownership identifiers (0.739065ms) +2026-09-27T05:31:36.5556325Z ✔ Side Conversation snapshots rewrite source-owned Agent Swarm identities (0.54894ms) +2026-09-27T05:31:36.5595807Z ✔ Side Conversation snapshots rewrite source-owned subagent identities (0.289635ms) +2026-09-27T05:31:36.5645849Z ✔ Side Conversation snapshots preserve ordinary archived tool results (5.756782ms) +2026-09-27T05:31:36.5675672Z ✔ Side Conversation snapshots retire archived linked-child results (1.273071ms) +2026-09-27T05:31:36.5727176Z ✔ conversation copy slices exact turns on inclusive and exclusive boundaries (0.663401ms) +2026-09-27T05:31:36.5772109Z ✔ conversation copy rewrites owned references without changing opaque tool payloads (13.173176ms) +2026-09-27T05:31:36.5814371Z ✔ conversation copy rejects continuation authority selected through the child-run closure (7.678374ms) +2026-09-27T05:31:36.5875889Z ✔ conversation copy rewrites a complete tool recovery bundle atomically (834.515724ms) +2026-09-27T05:31:36.5905909Z ✔ conversation copy excludes legacy Code Mode partials while rewriting parent operation ids (319.935288ms) +2026-09-27T05:31:36.5943728Z ✔ conversation copy rewrites the nested identity of a model call attempt (300.428967ms) +2026-09-27T05:31:36.5998567Z ✔ conversation copy survives a capture the store has already reclaimed (286.406935ms) +2026-09-27T05:31:36.6036152Z ✔ conversation copy repairs a model call attempt stranded by a pre-fix copy (228.200974ms) +2026-09-27T05:31:36.6095905Z ✔ conversation copy clones one terminal Runtime ledger with new owned identities (375.544385ms) +2026-09-27T05:31:36.6165984Z ✔ conversation copy rebuilds an inline checkpoint without legacy child events in its prefix (282.157127ms) +2026-09-27T05:31:36.6195815Z ✔ conversation copy drops a checkpoint from a superseded source policy instead of failing (206.679725ms) +2026-09-27T05:31:36.6255669Z ✔ conversation copy rebuilds a resumed child checkpoint over its child run chain (338.504482ms) +2026-09-27T05:31:36.8980926Z ✔ conversation copy retains archive reference closure and checkpoints (inspect: false) (368.061857ms) +2026-09-27T05:31:37.1921580Z ✔ conversation copy retains archive reference closure and checkpoints (inspect: true) (286.960465ms) +2026-09-27T05:31:37.4197433Z ✔ conversation copy rebuilds projection transitions against the copied events (236.58209ms) +2026-09-27T05:31:37.6876353Z ✔ conversation copy carries a transition recorded by a later, uncopied run (267.942358ms) +2026-09-27T05:31:37.9906400Z ✔ conversation copy reproduces the source fold rather than re-deciding it (302.032191ms) +2026-09-27T05:31:38.2340629Z ✔ official ACP SDK exports and deletes a multipart Artifact through the real Host (11306.206148ms) +2026-09-27T05:31:38.2502886Z ✔ conversation copy re-authenticates a rewritten paging Read against its dispatch (248.602841ms) +2026-09-27T05:31:38.4325341Z ✔ conversation copy preserves a corrupt paging dispatch hash for the re-scan to reject (187.409323ms) +2026-09-27T05:31:38.6456354Z ✔ conversation copy re-authenticates a rewritten ArchiveRead against its dispatch (216.838707ms) +2026-09-27T05:31:38.8475921Z ✔ conversation copy gives a run whose opening the migration shelved its opening back (206.487091ms) +2026-09-27T05:31:38.9718192Z ✔ Moonshot Global pricing comes from the models.dev snapshot (12.320195ms) +2026-09-27T05:31:38.9845893Z ▶ computeCost +2026-09-27T05:31:38.9922076Z ✔ charges full input price only for cache-miss input (0.471056ms) +2026-09-27T05:31:38.9956035Z ✔ derives cache miss from total input when explicit miss is absent (0.296691ms) +2026-09-27T05:31:39.0035741Z ✔ treats all input as fresh when no cache data exists (0.189622ms) +2026-09-27T05:31:39.0122391Z ✔ computeCost (7.6436ms) +2026-09-27T05:31:39.0225459Z ▶ recordLlmCall +2026-09-27T05:31:39.0265920Z ✔ preserves a runtime-provided cost fact instead of recomputing it (0.761803ms) +2026-09-27T05:31:39.0336128Z ✔ settles only after publication and preserves main token fields and diagnostics (8.55038ms) +2026-09-27T05:31:39.0416209Z ✔ contains writer failures at the best-effort telemetry boundary (12.69628ms) +2026-09-27T05:31:39.0516109Z ✔ recordLlmCall (22.504724ms) +2026-09-27T05:31:39.0575954Z ▶ recordToolInvocation +2026-09-27T05:31:39.0666041Z ✔ settles only after normalized record publication completes (0.618049ms) +2026-09-27T05:31:39.0765863Z ✔ contains writer failures at the best-effort telemetry boundary (3.345272ms) +2026-09-27T05:31:39.0952578Z ✔ recordToolInvocation (4.322894ms) +2026-09-27T05:31:39.0977107Z ▶ CuaFrameState +2026-09-27T05:31:39.1048674Z ✔ creates a new frame identity for every observation (17.881309ms) +2026-09-27T05:31:39.1113875Z ✔ binds an action fingerprint to its observed frame (0.399801ms) +2026-09-27T05:31:39.1189036Z ✔ rejects an action from a superseded frame (0.257739ms) +2026-09-27T05:31:39.1242242Z ✔ rejects the same action twice on one frame (0.204924ms) +2026-09-27T05:31:39.1325476Z ✔ rejects old actions after invalidation (0.515178ms) +2026-09-27T05:31:39.1405616Z ✔ advances the epoch only after confirming a claimed action (0.319335ms) +2026-09-27T05:31:39.1495583Z ✔ binds a non-semantic action only to the observation identity (0.242148ms) +2026-09-27T05:31:39.1617138Z ✔ an action that never ran is retired without spending the frame (2.74743ms) +2026-09-27T05:31:39.1695731Z ✔ a retired frame still accepts a different action (1.190248ms) +2026-09-27T05:31:39.1803815Z ✔ the same action is not offered twice after being retired (4.016415ms) +2026-09-27T05:31:39.1935928Z ✔ a lookup can tell a retired action from one that ran (0.334958ms) +2026-09-27T05:31:39.1992414Z ✔ a repeat of an action that did run is still duplicate_action (0.257812ms) +2026-09-27T05:31:39.2045915Z ✔ retiring an action nobody claimed is refused rather than silently accepted (0.134219ms) +2026-09-27T05:31:39.2115720Z ✔ semantic actions bind element identity to the observed window (0.159105ms) +2026-09-27T05:31:39.2171941Z ✔ CuaFrameState (35.325958ms) +2026-09-27T05:31:39.2235235Z ▶ CuaSessionState +2026-09-27T05:31:39.2285731Z ✔ starts unobserved and a successful fresh observation makes it active (18.937335ms) +2026-09-27T05:31:39.2325776Z ✔ physical intervention fences old leases through debounce and reobserve (0.393984ms) +2026-09-27T05:31:39.2381548Z ✔ an event during observation fences that observation attempt (0.255518ms) +2026-09-27T05:31:39.2435502Z ✔ unlock requires a fresh observation before actions resume (0.262737ms) +2026-09-27T05:31:39.2443197Z ✔ explicit reobserve requirement fences the active lease (0.279304ms) +2026-09-27T05:31:39.2485784Z ✔ blocked URL and user stop remain terminal in the current CU session (0.606236ms) +2026-09-27T05:31:39.2555808Z ✔ terminal states absorb later lifecycle events (2.722571ms) +2026-09-27T05:31:39.2605811Z ✔ dynamic content changes neither synthesize intervention nor fence a lease (0.340525ms) +2026-09-27T05:31:39.2645257Z ✔ lease identity is session scoped (1.758522ms) +2026-09-27T05:31:39.2685411Z ✔ CuaSessionState (27.751037ms) +2026-09-27T05:31:39.2825487Z ▶ createDefaultSandboxManager +2026-09-27T05:31:39.2862160Z ✔ registers platform backends without requiring the host platform at import time (1.205462ms) +2026-09-27T05:31:39.2928574Z ✔ createDefaultSandboxManager (8.369945ms) +2026-09-27T05:31:39.2955247Z ▶ createBuiltinSandboxManager +2026-09-27T05:31:39.2989416Z ✔ always returns a manager so managed execution fails closed on unsupported platforms (0.454707ms) +2026-09-27T05:31:39.3035749Z ✔ registers Windows only when the packaged native client exists (29.706888ms) +2026-09-27T05:31:39.3110257Z ✔ createBuiltinSandboxManager (30.656669ms) +2026-09-27T05:31:39.3149175Z ▶ isBuiltinFilesystemWorkerSandboxAvailable +2026-09-27T05:31:39.3237450Z ✔ requires a usable Linux backend but keeps the built-in macOS worker available (0.501502ms) +2026-09-27T05:31:39.3351753Z ✔ reports Windows unavailable when the launcher is absent, so no worker is published (0.152918ms) +2026-09-27T05:31:39.3406742Z ✔ isBuiltinFilesystemWorkerSandboxAvailable (0.954912ms) +2026-09-27T05:31:39.3465408Z ▶ probeWindowsReadiness +2026-09-27T05:31:39.3545581Z ✔ is available only on a clean exit 0 from the launcher probe (18.546949ms) +2026-09-27T05:31:39.3630363Z ✔ fails closed when the probe exits non-zero (3.691678ms) +2026-09-27T05:31:39.3675508Z ✔ fails closed on a spawn error (5.1015ms) +2026-09-27T05:31:39.3735656Z ✔ fails closed on an external timeout that leaves no exit status (3.602913ms) +2026-09-27T05:31:39.3815852Z ✔ reuses the memoized result so repeated checks never re-probe (4.386522ms) +2026-09-27T05:31:39.3825634Z ✔ fails closed when the launcher file does not exist without spawning (0.343101ms) +2026-09-27T05:31:39.3885945Z ✔ re-probes a transient negative after its TTL but caches a positive permanently (7.557389ms) +2026-09-27T05:31:39.3915909Z ✔ never re-poisons after a positive: only negatives expire (1.800279ms) +2026-09-27T05:31:39.3941960Z ✔ probeWindowsReadiness (46.009568ms) +2026-09-27T05:31:39.4025341Z ▶ readCachedWindowsReadiness +2026-09-27T05:31:39.4049923Z ✔ is strictly cache-only: never spawns, fails closed until the cache is warmed (7.585132ms) +2026-09-27T05:31:39.4089614Z ✔ fails closed on an expired negative entry without re-probing on the hot path (6.793936ms) +2026-09-27T05:31:39.4135752Z ✔ recovers a negative only on a new composition build (spawning warmer), never on the running hot path (1.280359ms) +2026-09-27T05:31:39.4235802Z ✔ readCachedWindowsReadiness (16.103868ms) +2026-09-27T05:31:39.4290172Z ▶ tool-availability execute-boundary guard +2026-09-27T05:31:39.4352826Z ✔ projects a declared activity kind into persisted and live tool facts (41.03378ms) +2026-09-27T05:31:39.4472523Z ✔ keeps WriteStdin args exact across canonical ledgers and projects telemetry (12.135414ms) +2026-09-27T05:31:39.4578706Z ✔ rejects a gated tool absent from the step snapshot before implementation (12.116941ms) +2026-09-27T05:31:39.4595471Z ✔ lets a gated tool run once its name is in the step snapshot (1.417683ms) +2026-09-27T05:31:39.4646835Z ✔ is inert when no gating is installed (6.448049ms) +2026-09-27T05:31:39.4725769Z ✔ never gates a tool outside gatedNames, even when absent from the snapshot (1.039048ms) +2026-09-27T05:31:39.4772006Z ✔ tool-availability execute-boundary guard (75.995072ms) +2026-09-27T05:31:39.4821534Z ▶ AiSdkBackend tool_search activation +2026-09-27T05:31:39.4855776Z ✔ step 0 advertises tool_search but withholds deferred schemas (229.070605ms) +2026-09-27T05:31:39.4900980Z ✔ search result becomes visible on the next step and can then execute (243.681829ms) +2026-09-27T05:31:39.4916411Z ✔ equivalent Tool wrappers rebuilt between steps retain search activation (118.557211ms) +2026-09-27T05:31:39.4946415Z ✔ parallel search and hidden-tool use still rejects the same-step call (77.004464ms) +2026-09-27T05:31:39.4958293Z ✔ parallel searches union their matches for the following step (62.610059ms) +2026-09-27T05:31:39.4975504Z ✔ historical load_tools events never seed a new turn (39.36888ms) +2026-09-27T05:31:39.4976444Z ✔ omitting search availability keeps the complete bound surface direct (23.47094ms) +2026-09-27T05:31:39.4977329Z ✔ AiSdkBackend tool_search activation (798.17477ms) +2026-09-27T05:31:39.4978084Z ▶ hidden tools are trimmed from the provider request (wire-level) +2026-09-27T05:31:39.4978998Z ✔ a tool outside the active set never reaches the model; invalid is never advertised (221.736431ms) +2026-09-27T05:31:39.4980369Z ✔ a tool added to the active set does reach the model (ratchet activates it) (12.926472ms) +2026-09-27T05:31:39.4981525Z ✔ hidden tools are trimmed from the provider request (wire-level) (236.513773ms) +2026-09-27T05:31:39.4982239Z ▶ ModelAdapter provider-step boundary +2026-09-27T05:31:39.4983031Z ✔ uses a provider-safe alias for Maka tool_search on OpenAI Responses (20.189629ms) +2026-09-27T05:31:39.4983974Z ✔ rejects a real tool that collides with the provider-safe alias (1.627446ms) +2026-09-27T05:31:39.4985061Z ✔ returns provider tool calls without executing tool behavior inside the SDK (12.695398ms) +2026-09-27T05:31:39.4985852Z ✔ ModelAdapter provider-step boundary (36.004519ms) +2026-09-27T05:31:39.4986702Z ✔ replay uses the same reference form and escapes path markup as untrusted data (1.325432ms) +2026-09-27T05:31:39.4987741Z ✔ replay preserves Session snapshot provenance without treating it as instructions (0.460816ms) +2026-09-27T05:31:39.4995101Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:31:39.7276723Z ▶ durable Tool Result projection codec +2026-09-27T05:31:39.7395347Z ✔ preserves arbitrary text and JSON content faithfully (12.076818ms) +2026-09-27T05:31:39.7457483Z ✔ never persists inline binary or provider options (5.125737ms) +2026-09-27T05:31:39.7519192Z ✔ maps opaque and oversized JSON to the same deterministic failure sentinel (295.128421ms) +2026-09-27T05:31:39.7573613Z ✔ fails deterministically instead of silently dropping excess content parts (0.366789ms) +2026-09-27T05:31:39.7647350Z ✔ validates every inline image before persisting any projection artifact (3.57903ms) +2026-09-27T05:31:39.7745688Z ✔ rejects an oversized ArrayBuffer before copying its bytes (0.338936ms) +2026-09-27T05:31:39.7772199Z ✔ validates the complete projection before persisting any artifact (0.361783ms) +2026-09-27T05:31:39.7850017Z ✔ uses the exact planned artifact ref as the projection size authority (403.078845ms) +2026-09-27T05:31:39.7875489Z ✔ rejects unsafe image metadata before persisting it (1.357998ms) +2026-09-27T05:31:39.7930696Z ✔ refuses the whole projection when a later artifact cannot be published (3.465874ms) +2026-09-27T05:31:39.8015627Z ✔ validates default image refs through the same closed schema (1.105738ms) +2026-09-27T05:31:39.8075072Z ✔ durable Tool Result projection codec (728.759064ms) +2026-09-27T05:31:39.8098906Z ▶ computeEditedSource — exact match +2026-09-27T05:31:39.8155436Z ✔ replaces the single occurrence and reports an exact match + line range (6.558468ms) +2026-09-27T05:31:39.8187493Z ✔ reports the matched multi-line range (1-based, inclusive) (0.30378ms) +2026-09-27T05:31:39.8245521Z ✔ inserts new_string literally (no $-pattern interpretation) (0.226412ms) +2026-09-27T05:31:39.8266360Z ✔ throws with the where label when old_string is absent (1.153984ms) +2026-09-27T05:31:39.8315767Z ✔ throws with the match count when old_string is not unique (0.26235ms) +2026-09-27T05:31:39.8364620Z ✔ rejects identical old_string and new_string (0.291856ms) +2026-09-27T05:31:39.8445519Z ✔ rejects an empty old_string (1.058687ms) +2026-09-27T05:31:39.8483121Z ✔ computeEditedSource — exact match (16.386217ms) +2026-09-27T05:31:39.8566905Z ▶ computeEditedSource — fuzzy cascade +2026-09-27T05:31:39.8642191Z ✔ line-trimmed: tolerates indentation drift on a multi-line block (1.430775ms) +2026-09-27T05:31:39.8685844Z ✔ whitespace: tolerates collapsed internal whitespace (0.304278ms) +2026-09-27T05:31:39.8745762Z ✔ escape: tolerates literal backslash escapes in old_string (1.655641ms) +2026-09-27T05:31:39.8771141Z ✔ line-trimmed: preserves a trailing newline in old_string (no extra blank line) (2.336944ms) +2026-09-27T05:31:39.8815637Z ✔ a span's trailing newline is a terminator, not an extra line, for endLine (0.232403ms) +2026-09-27T05:31:39.8816658Z ✔ computeEditedSource — fuzzy cascade (9.392137ms) +2026-09-27T05:31:39.8865072Z ▶ computeEditedSource — anti-corruption guards +2026-09-27T05:31:39.8936035Z ✔ rejects multiple distinct fuzzy candidates instead of guessing (2.124709ms) +2026-09-27T05:31:39.8981290Z ✔ rejects a fuzzy span that occurs more than once (0.617906ms) +2026-09-27T05:31:39.9026858Z ✔ rejects a too-short old_string for a non-exact match (0.190209ms) +2026-09-27T05:31:39.9075653Z ✔ a multi-line old_string never collapses onto a single line (whitespace) (5.310283ms) +2026-09-27T05:31:39.9103544Z ✔ computeEditedSource — anti-corruption guards (8.598096ms) +2026-09-27T05:31:39.9135771Z ▶ computeEditedSource — verbatim replacement (no indentation migration) +2026-09-27T05:31:39.9165545Z ✔ fuzzy match writes new_string verbatim; the file indentation is NOT migrated (0.238595ms) +2026-09-27T05:31:39.9215910Z ✔ computeEditedSource — verbatim replacement (no indentation migration) (0.347242ms) +2026-09-27T05:31:39.9275476Z ▶ computeEditedSource — oversized / binary fuzzy guards +2026-09-27T05:31:39.9311962Z ✔ binary (NUL) file: exact still edits, fuzzy is refused (3.085229ms) +2026-09-27T05:31:39.9328215Z ✔ oversized file: exact still edits, fuzzy is refused (0.9385ms) +2026-09-27T05:31:39.9376921Z ✔ computeEditedSource — oversized / binary fuzzy guards (4.191235ms) +2026-09-27T05:31:40.0063796Z ▶ effective model history feeds budgeting and compaction +2026-09-27T05:31:40.0075982Z ✔ budgeting sizes the durable projection, not the raw execution fact (11.664459ms) +2026-09-27T05:31:40.0174161Z ✔ budgeting prices an artifact by what materialization rehydrates (1.069485ms) +2026-09-27T05:31:40.0282228Z ✔ summarization cannot read raw output the projection replaced (9.464648ms) +2026-09-27T05:31:40.0397083Z ✔ the source digest ignores raw evidence but tracks the effective projection (9.767847ms) +2026-09-27T05:31:40.0442971Z ✔ a checkpoint minted under the raw-source policy no longer validates (0.487662ms) +2026-09-27T05:31:40.0485803Z ✔ effective model history feeds budgeting and compaction (39.553375ms) +2026-09-27T05:31:40.1754163Z ▶ versioned execution inspect documents +2026-09-27T05:31:40.1755374Z ✔ reports unknown tool outcomes without copying Runtime payloads (472.418243ms) +2026-09-27T05:31:40.1756295Z ✔ versioned execution inspect documents (476.629002ms) +2026-09-27T05:31:41.0195351Z ✔ Fake question publication waits for exact hosted admission (120.404641ms) +2026-09-27T05:31:41.0276151Z ✔ pullSteering drains queued messages at step boundaries as steering events (927.367777ms) +2026-09-27T05:31:41.0366494Z ✔ a batch of leases settles per lease: delivered ones ack, undelivered ones nack (5.316853ms) +2026-09-27T05:31:41.0420803Z ✔ a lease is acked only after its event is consumed, and nacked when the consumer detaches (1.207406ms) +2026-09-27T05:31:41.0646182Z ▶ withFileWriteLock +2026-09-27T05:31:41.0743026Z ✔ serializes tasks sharing a key, in submission order (27.095013ms) +2026-09-27T05:31:41.0817069Z ✔ different keys run concurrently (7.639288ms) +2026-09-27T05:31:41.0862862Z ✔ no lost update: serialized read-modify-write over a shared cell (8.421943ms) +2026-09-27T05:31:41.0942540Z ✔ a rejecting task does not wedge the key (2.549793ms) +2026-09-27T05:31:41.1055754Z ✔ withFileWriteLock (53.192211ms) +2026-09-27T05:31:41.1098617Z ✔ applies one native update operation through the filesystem authority (86.87216ms) +2026-09-27T05:31:41.1163721Z ✔ deletes a self-referential symlink entry without following it (16.778457ms) +2026-09-27T05:31:41.1245438Z ✔ creates nested files exclusively (27.498027ms) +2026-09-27T05:31:41.1305493Z ✔ does not report an invalid backend result as completed (14.768174ms) +2026-09-27T05:31:41.1397965Z ✔ reports a rejected diff without changing the file (11.265261ms) +2026-09-27T05:31:41.1493316Z ✔ reports missing mutation targets as rejected operations (10.372191ms) +2026-09-27T05:31:41.1706043Z ▶ filesystem-authority contract: classifyFailedMutationOutcome +2026-09-27T05:31:41.1775505Z ✔ a non-worker error is not classifiable (0.95714ms) +2026-09-27T05:31:41.1814218Z ✔ an aborted error is unknown only after dispatch (0.389229ms) +2026-09-27T05:31:41.1916530Z ✔ every UNKNOWN_OUTCOME_REASONS member maps to unknown (0.729518ms) +2026-09-27T05:31:41.1965569Z ✔ a never-dispatched spawn failure is not unknown (0.221599ms) +2026-09-27T05:31:41.2041561Z ✔ pre-flight validation failures are not unknown (0.236857ms) +2026-09-27T05:31:41.2100788Z ✔ filesystem-authority contract: classifyFailedMutationOutcome (4.867222ms) +2026-09-27T05:31:42.3199816Z ▶ file tools follow the execution boundary +2026-09-27T05:31:42.3233729Z ✔ the model-facing Glob result marks a capped permission-limited walk incomplete (193.323096ms) +2026-09-27T05:31:42.3598550Z ✔ a bypass boundary reaches outside the session cwd, as Bash already does (41.398992ms) +2026-09-27T05:31:42.3768870Z ✔ every other boundary keeps the same paths inside the session cwd (14.930273ms) +2026-09-27T05:31:42.3918316Z ✔ a symlink out of the cwd stays an escape under a workspace boundary (9.136876ms) +2026-09-27T05:31:42.3977378Z ✔ a glob pattern may only leave the search root under a bypass boundary (8.665425ms) +2026-09-27T05:31:42.4097064Z ✔ a managed boundary goes to the worker and never to the host backend (6.584419ms) +2026-09-27T05:31:42.4193042Z ✔ a managed boundary without a worker refuses instead of falling back to the host (9.719849ms) +2026-09-27T05:31:42.4397164Z ✔ one file takes one write lock however its path is spelled (22.850689ms) +2026-09-27T05:31:42.4447030Z ✔ the lock key is the same for every spelling of one file (13.751584ms) +2026-09-27T05:31:42.4846638Z ✔ a bypass boundary searches outside the session cwd (37.404454ms) +2026-09-27T05:31:42.4965184Z ✔ a bypass boundary bypasses a wired worker too (14.627202ms) +2026-09-27T05:31:42.5022620Z ✔ worker image bytes reach the tool decoded (5.150399ms) +2026-09-27T05:31:42.5079592Z ✔ file tools follow the execution boundary (386.333853ms) +2026-09-27T05:31:42.5658144Z ▶ filesystem mutation unknown-outcome classification +2026-09-27T05:31:42.5706137Z ✔ Write failing with worker_crashed (dispatched) becomes an unknown outcome (55.494497ms) +2026-09-27T05:31:42.5824081Z ✔ Write failing with worker_io_incomplete (dispatched) becomes an unknown outcome (19.799586ms) +2026-09-27T05:31:42.5875848Z ✔ Write failing with timeout (dispatched) becomes an unknown outcome (3.485397ms) +2026-09-27T05:31:42.5936300Z ✔ Write failing with response_overflow (dispatched) becomes an unknown outcome (17.745423ms) +2026-09-27T05:31:42.6172555Z ✔ Write failing with invalid_response converts regardless of dispatched flag (3.661127ms) +2026-09-27T05:31:42.6257674Z ✔ Write failing with response_id_mismatch converts regardless of dispatched flag (5.16346ms) +2026-09-27T05:31:42.6376804Z ✔ Write failing with response_kind_mismatch converts regardless of dispatched flag (4.478976ms) +2026-09-27T05:31:42.6476426Z ✔ Write failing with outcome_unknown converts regardless of dispatched flag (1.141623ms) +2026-09-27T05:31:42.6551040Z ✔ Write failing with spawn_failed (never dispatched) is NOT an unknown outcome (7.248021ms) +2026-09-27T05:31:42.6619735Z ✔ an aborted mutation before dispatch is a clean cancel, not unknown (6.372547ms) +2026-09-27T05:31:42.6663710Z ✔ an aborted mutation after dispatch is an unknown outcome (5.064392ms) +2026-09-27T05:31:42.6731000Z ✔ apply_patch (delete) failing after dispatch becomes an unknown outcome (3.145758ms) +2026-09-27T05:31:42.6813064Z ✔ a validation-stage failure is NOT an unknown outcome (7.632461ms) +2026-09-27T05:31:42.6817092Z ✔ filesystem mutation unknown-outcome classification (146.934188ms) +2026-09-27T05:31:42.6839914Z ▶ filesystem mutation T0 identity capture (queue-window closure) +2026-09-27T05:31:42.6843331Z ✔ a queued mutation receives the pre-replacement identity captured at lock acquisition (111.581195ms) +2026-09-27T05:31:42.6844925Z ✔ an apply_patch mutation forwards its captured identity, not unchecked (#3484 regression) (4.956006ms) +2026-09-27T05:31:42.6846181Z ✔ filesystem mutation T0 identity capture (queue-window closure) (116.940633ms) +2026-09-27T05:31:42.6847016Z ▶ fd-pinned mutation primitive +2026-09-27T05:31:42.6861240Z ✔ a write survives a path swap between validation and the write (25.671127ms) +2026-09-27T05:31:42.6862413Z ✔ a failed validation leaves the file byte-for-byte intact (10.008834ms) +2026-09-27T05:31:42.6863444Z ✔ an approved-missing target rejects a file that appeared in the gap (4.591591ms) +2026-09-27T05:31:42.6879350Z ✔ an approved-missing target is created exclusively (3.953797ms) +2026-09-27T05:31:42.6899407Z ✔ fd-pinned mutation primitive (47.317635ms) +2026-09-27T05:31:42.6935511Z ▶ compare-and-delete (tombstone verification) +2026-09-27T05:31:42.6945977Z ✔ removes the approved entry (10.303352ms) +2026-09-27T05:31:42.6957206Z ✔ restores a replacement installed after the check instead of deleting it (17.459389ms) +2026-09-27T05:31:42.6959024Z ✔ deletes a symlink entry by its own identity without following it (9.323611ms) +2026-09-27T05:31:42.6960082Z ✔ a no-replace restore preserves a path reoccupied during the capture (8.294771ms) +2026-09-27T05:31:42.6975639Z ✔ a no-replace restore moves the captured entry back when the path is free (7.931233ms) +2026-09-27T05:31:42.7008542Z ✔ rejects a directory before touching it (7.326192ms) +2026-09-27T05:31:42.7023778Z ✔ a directory that raced into the capture is renamed back, not stranded (10.158177ms) +2026-09-27T05:31:42.7053676Z ✔ restores a swapped-in symlink as a symlink, never a foreign regular file (22.055184ms) +2026-09-27T05:31:42.7089141Z ✔ compare-and-delete (tombstone verification) (94.183117ms) +2026-09-27T05:31:42.7158657Z ▶ filesystem worker target identity CAS +2026-09-27T05:31:42.7195673Z ✔ rejects a write when the target inode changed after authorisation (55.460001ms) +2026-09-27T05:31:42.7225569Z ✔ allows a write when the target inode is unchanged (11.748869ms) +2026-09-27T05:31:42.7235220Z ✔ rejects a delete when the target inode changed after authorisation (10.398405ms) +2026-09-27T05:31:42.7250333Z ✔ rejects an edit when the target inode changed after authorisation (4.919106ms) +2026-09-27T05:31:42.7303230Z ✔ rejects an apply_patch update when the target inode changed after authorisation (6.035163ms) +2026-09-27T05:31:42.7305274Z ✔ creates a missing target without requiring an identity (7.587156ms) +2026-09-27T05:31:42.7306706Z ✔ a write to a missing target reports a creation diff (#3487 P1) (4.404545ms) +2026-09-27T05:31:42.7308018Z ✔ reports path_changed when the target is replaced before the write (pre-write CAS) (7.209927ms) +2026-09-27T05:31:42.7309176Z ✔ filesystem worker target identity CAS (110.251471ms) +2026-09-27T05:31:42.7310053Z ▶ filesystem worker post-write host-visibility check +2026-09-27T05:31:42.7310964Z ✔ passes when the path still matches the written inode (5.989743ms) +2026-09-27T05:31:42.7312020Z ✔ reports outcome_unknown when the path was replaced after the write (5.479232ms) +2026-09-27T05:31:42.7313099Z ✔ reports outcome_unknown when the path disappeared after the write (2.76974ms) +2026-09-27T05:31:42.7314157Z ✔ filesystem worker post-write host-visibility check (14.748666ms) +2026-09-27T05:31:42.7736474Z ✔ Read image payloads fit within the filesystem worker response limit (1.301603ms) +2026-09-27T05:31:42.8208169Z ▶ filesystem worker client permission snapshots +2026-09-27T05:31:42.8236759Z ✔ authorizes delete against the symlink entry (63.206136ms) +2026-09-27T05:31:42.8266321Z ✔ rejects an authoritative bypass boundary instead of falling back to legacy mode (7.055435ms) +2026-09-27T05:31:42.8344083Z ✔ rejects an authoritative external boundary instead of falling back to legacy mode (5.803579ms) +2026-09-27T05:31:42.8446214Z ✔ returns the smallest session boundary expansion for an external path (11.168782ms) +2026-09-27T05:31:42.8516053Z ✔ rejects a workspace write under an explicit read-only profile (5.652595ms) +2026-09-27T05:31:42.8565888Z ✔ preserves an explicit exact deny without an additional-permission planner (2.979387ms) +2026-09-27T05:31:42.8642410Z ✔ allows an external read granted by an explicit custom profile (10.929879ms) +2026-09-27T05:31:42.8643590Z ✔ filesystem worker client permission snapshots (109.359652ms) +2026-09-27T05:31:42.8887373Z ▶ filesystem worker client Grep target scope +2026-09-27T05:31:42.8986146Z ✔ uses exact scope for an in-workspace file (17.106874ms) +2026-09-27T05:31:42.9021530Z ✔ uses subtree scope for a directory search (19.625732ms) +2026-09-27T05:31:42.9079986Z ✔ filesystem worker client Grep target scope (37.222041ms) +2026-09-27T05:31:42.9286015Z ▶ filesystem worker operation-scoped Seatbelt profile +2026-09-27T05:31:42.9316003Z ✔ Linux mounts authorized Grep metadata files but only synthesizes the Git directory (22.967399ms) +2026-09-27T05:31:42.9466082Z ✔ Grep grants ancestor metadata exactly and never follows an unauthorized metadata link (18.250856ms) +2026-09-27T05:31:42.9555947Z ✔ narrows a write worker to the exact target while preserving the base policy (6.617209ms) +2026-09-27T05:31:42.9727781Z ✔ preserves sandbox context without changing ordinary filesystem denial semantics (19.449904ms) +2026-09-27T05:31:42.9810371Z ✔ preserves an explicit sandbox denial from the worker protocol (6.121116ms) +2026-09-27T05:31:42.9866666Z ✔ filesystem worker operation-scoped Seatbelt profile (74.122099ms) +2026-09-27T05:31:43.3043081Z ▶ App Update feature boundary +2026-09-27T05:31:43.3076073Z ✔ keeps the services hook exclusively owned by the controller (10123.238014ms) +2026-09-27T05:31:43.3090229Z ✔ keeps Desktop globals and shell/process dependencies out of the feature (1.21324ms) +2026-09-27T05:31:43.3109427Z ✔ pins the production entry surface to its composition and leaf owners (3097.37116ms) +2026-09-27T05:31:43.3112787Z ✔ keeps the Desktop adapter exclusively owned by feature-services composition (956.756571ms) +2026-09-27T05:31:43.3113803Z ✔ pins sidebar projection runtime bindings to its provider and footer owners (1952.437625ms) +2026-09-27T05:31:43.3119103Z ✔ keeps controller and fakes out of the production entry (0.374758ms) +2026-09-27T05:31:43.3119947Z ✔ keeps raw update capabilities out of every production renderer module (7.27392ms) +2026-09-27T05:31:43.3120878Z ✔ mounts one public Provider and binds each projection at its narrow leaf (5282.624387ms) +2026-09-27T05:31:43.3122021Z ✔ App Update feature boundary (21430.402282ms) +2026-09-27T05:31:43.3586141Z ▶ App Update controller +2026-09-27T05:31:43.3590555Z ✔ subscribes before reading and rejects a stale initial snapshot (128.938849ms) +2026-09-27T05:31:43.3631400Z ✔ deduplicates manual checks and fences their returned snapshot behind pushes (46.738263ms) +2026-09-27T05:31:43.3665398Z ✔ App Update controller (177.461091ms) +2026-09-27T05:31:43.3666254Z ▶ update check on window focus +2026-09-27T05:31:43.3666985Z ✔ does not check again inside the throttle window (1.946556ms) +2026-09-27T05:31:43.3667817Z ✔ checks again once the throttle window has passed (0.352625ms) +2026-09-27T05:31:43.3668595Z ✔ stays quiet until the service has started (0.257306ms) +2026-09-27T05:31:43.3669232Z ✔ stays quiet after dispose (0.318785ms) +2026-09-27T05:31:43.3669907Z ✔ manual checkForUpdatesNow ignores the focus throttle (0.356972ms) +2026-09-27T05:31:43.3671266Z ✔ manual checkForUpdatesNow works before start for packaged builds (1.247356ms) +2026-09-27T05:31:43.3672120Z ✔ update check on window focus (14.478735ms) +2026-09-27T05:31:43.3672699Z ▶ requestDownloadedAppUpdate +2026-09-27T05:31:43.3673461Z ✔ identifies asynchronous install failures from update status (4.388605ms) +2026-09-27T05:31:43.3674309Z ✔ installs immediately when main reports no active work (7.893864ms) +2026-09-27T05:31:43.3675442Z ✔ leaves the downloaded update pending when the user cancels (0.395808ms) +2026-09-27T05:31:43.3676391Z ✔ sends explicit interruption authority only after confirmation (0.283238ms) +2026-09-27T05:31:43.3677331Z ✔ returns a terminal failure from the authorized install attempt (0.263345ms) +2026-09-27T05:31:43.3678153Z ✔ requestDownloadedAppUpdate (19.288754ms) +2026-09-27T05:31:43.3678868Z ▶ AppUpdateProvider render scope +2026-09-27T05:31:43.3679842Z ✔ routes progress only to an open About reader and reminders only to the footer (145.832446ms) +2026-09-27T05:31:43.3680850Z ✔ has no reader work for progress while About is closed (52.489401ms) +2026-09-27T05:31:43.3687737Z ✔ deduplicates concurrent install requests at the persistent provider owner (26.997557ms) +2026-09-27T05:31:43.3688976Z ✔ throws for an About reader mounted outside AppUpdateProvider (20.728051ms) +2026-09-27T05:31:43.3689831Z ✔ AppUpdateProvider render scope (249.158701ms) +2026-09-27T05:31:43.3690438Z ▶ AppUpdateService +2026-09-27T05:31:43.3691225Z ✔ owns one main-process schedule and configures background downloads (33.799156ms) +2026-09-27T05:31:43.3692168Z ✔ accepts dev updates only in packaged Nightly builds (6.70659ms) +2026-09-27T05:31:43.3695803Z ✔ routes the feed to a loopback generic provider when the test override is set (3.64471ms) +2026-09-27T05:31:43.3696960Z ✔ rejects a non-loopback test feed instead of falling back to production (0.683733ms) +2026-09-27T05:31:43.3697915Z ✔ resolveUpdateFeedOverride accepts exactly loopback http URLs (0.488841ms) +2026-09-27T05:31:43.3698777Z ✔ does not overlap checks and cannot re-arm after disposal (8.01787ms) +2026-09-27T05:31:43.3699621Z ✔ does not schedule the production updater in an unpackaged app (4.635976ms) +2026-09-27T05:31:43.3700503Z ✔ lets the available update fixture advance through the retry action (5.763439ms) +2026-09-27T05:31:43.3701448Z ✔ projects updater events without manually starting a second download (4.698303ms) +2026-09-27T05:31:43.3702383Z ✔ fails closed when downloaded update provenance cannot be verified (4.068349ms) +2026-09-27T05:31:43.3703147Z ✔ cancels a stalled auto-download before retrying it (6.358925ms) +2026-09-27T05:31:43.3703943Z ✔ marks updater errors during a download as retryable download failures (3.426778ms) +2026-09-27T05:31:43.3704936Z ✔ recovers from a transient check failure on the built-in retry (8.754144ms) +2026-09-27T05:31:43.3705696Z ✔ surfaces the check error only after the retry has also failed (0.848543ms) +2026-09-27T05:31:43.3706466Z ✔ settles an in-flight retry when disposed during its backoff (0.732869ms) +2026-09-27T05:31:43.4316944Z ✔ requires explicit authority before interrupting active tasks (0.865438ms) +2026-09-27T05:31:43.4317915Z ✔ completes the Runtime Host handoff before dispatching the installer (0.717957ms) +2026-09-27T05:31:43.4319368Z ✔ reports synchronous and asynchronous installer failures through status (15.3898ms) +2026-09-27T05:31:43.4320193Z ✔ AppUpdateService (145.595299ms) +2026-09-27T05:31:43.4321046Z ✔ the Desktop adapter forwards exactly the five update capabilities to the app bridge (8.850954ms) +2026-09-27T05:31:43.4321714Z ▶ artifact preview registry +2026-09-27T05:31:43.4322430Z ✔ treats present MIME metadata as authoritative and rejects unsafe formats (6.937754ms) +2026-09-27T05:31:43.4335350Z ✔ enforces the inclusive metadata size boundary before loading (0.253489ms) +2026-09-27T05:31:43.4336695Z ✔ routes IPC failures and malformed successful payloads without retaining base64 (5.827355ms) +2026-09-27T05:31:43.4337845Z ✔ artifact preview registry (14.631745ms) +2026-09-27T05:31:43.4338533Z ▶ attachment approval registry (approvalId-based) +2026-09-27T05:31:43.4339402Z ✔ issues opaque approval ids that never expose the path to the renderer (5.726336ms) +2026-09-27T05:31:43.4340321Z ✔ consumes an approval only once for the issuing sender (1.113773ms) +2026-09-27T05:31:43.4341263Z ✔ rejects an approval from a different sender without consuming it (1.916408ms) +2026-09-27T05:31:43.4342056Z ✔ expires unconsumed approvals by TTL (0.284397ms) +2026-09-27T05:31:43.4342823Z ✔ caps approvals by evicting the oldest entry first (0.369227ms) +2026-09-27T05:31:43.4343559Z ✔ clears only the named sender on clearSender (1.443539ms) +2026-09-27T05:31:43.4344370Z ✔ attachment approval registry (approvalId-based) (28.489692ms) +2026-09-27T05:31:43.4345185Z ▶ encodeIngestItems +2026-09-27T05:31:43.4345800Z ✔ rejects more than 8 items without reading any file bytes (1.888205ms) +2026-09-27T05:31:43.4346587Z ✔ rejects a File over 50MB without calling arrayBuffer (0.411244ms) +2026-09-27T05:31:43.4347329Z ✔ passes approval items through untouched (0.821012ms) +2026-09-27T05:31:43.4347996Z ✔ encodes a File under 50MB to base64 (0.300451ms) +2026-09-27T05:31:43.4348802Z ✔ rejects a raw base64 item that is neither a File nor an approval token (0.226362ms) +2026-09-27T05:31:43.4349517Z ✔ encodeIngestItems (5.843601ms) +2026-09-27T05:31:43.4350052Z ▶ resolveIngestItems (pre-read validation) +2026-09-27T05:31:43.4350762Z ✔ rejects more than 8 items before touching approvals or stat (4.976626ms) +2026-09-27T05:31:43.4351707Z ✔ rejects an unapproved approvalId without stat-ing or reading the file (2.30589ms) +2026-09-27T05:31:43.4352582Z ✔ rejects an approval issued to a different sender (0.862383ms) +2026-09-27T05:31:43.4353605Z ✔ rejects an oversized path attachment after stat, before readFile or artifact create (0.629268ms) +2026-09-27T05:31:43.4373596Z ✔ rejects an oversized blob attachment before decoding it (0.372401ms) +2026-09-27T05:31:43.4374963Z ✔ consumes each approval token exactly once (0.776374ms) +2026-09-27T05:31:43.4375889Z ✔ prepared approvals commit as one set and survive failed admission (2.302675ms) +2026-09-27T05:31:43.4376810Z ✔ resolves a mix of approved paths and blobs into ingest files (0.384852ms) +2026-09-27T05:31:43.4377658Z ✔ a later invalid item does not burn earlier approval tokens (1.134922ms) +2026-09-27T05:31:43.4378507Z ✔ rejects a duplicate approvalId without consuming either token (1.210861ms) +2026-09-27T05:31:43.4396728Z ✔ rejects malformed items (0.380784ms) +2026-09-27T05:31:43.4397742Z ✔ resolveIngestItems (pre-read validation) (17.964837ms) +2026-09-27T05:31:43.4398328Z ▶ resolveAttachmentRefs +2026-09-27T05:31:43.4399024Z ✔ uses PDF magic bytes instead of a spoofed PNG extension (59.505882ms) +2026-09-27T05:31:43.4399989Z ✔ recognises a PDF whose header sits behind a preamble, not as an ordinary file (0.52118ms) +2026-09-27T05:31:43.4783056Z ✔ uses PNG magic bytes instead of conflicting renderer metadata (0.311852ms) +2026-09-27T05:31:43.4784917Z ✔ recognises an image with no extension from its bytes (0.213932ms) +2026-09-27T05:31:43.4785869Z ✔ updates the MIME when image resizing changes the encoded format (0.333468ms) +2026-09-27T05:31:43.4786727Z ✔ does not decode unknown bytes merely because the renderer calls them an image (0.278047ms) +2026-09-27T05:31:43.4787602Z ✔ rejects a path grown beyond the cap before creating a Host artifact (19.373823ms) +2026-09-27T05:31:43.4788252Z ✔ resolveAttachmentRefs (81.472251ms) +2026-09-27T05:31:43.4788882Z ▶ sniffPickedAttachmentMimeType (pick-time staging kind) +2026-09-27T05:31:43.4789626Z ✔ stages a real image named .pdf as an image so it previews and notices (18.094136ms) +2026-09-27T05:31:43.4790486Z ✔ stages a real PDF named .png as a pdf, and unknown bytes as an ordinary file (1.74673ms) +2026-09-27T05:31:43.4791360Z ✔ a read failure downgrades a claimed image/PDF name rather than trusting it (4.286367ms) +2026-09-27T05:31:43.4792255Z ✔ sniffPickedAttachmentMimeType (pick-time staging kind) (24.529583ms) +2026-09-27T05:31:43.4793038Z ▶ resolvePickedAttachments (pick dialog owner: stage by content) +2026-09-27T05:31:43.4793902Z ✔ stamps each picked path with its sniffed MIME and main-side size, not its extension (8.451963ms) +2026-09-27T05:31:43.4794979Z ✔ resolvePickedAttachments (pick dialog owner: stage by content) (8.678043ms) +2026-09-27T05:31:43.4795671Z ▶ attachment preflight (before session create) +2026-09-27T05:31:43.4796298Z ✔ rejects more than 8 items before any session is created (1.764234ms) +2026-09-27T05:31:43.4797015Z ✔ rejects an oversized File so no empty session is created (0.360952ms) +2026-09-27T05:31:43.4797774Z ✔ rejects an oversized approval-token attachment by pending size (0.254762ms) +2026-09-27T05:31:43.4798405Z ✔ rejects a duplicate approvalId (0.24438ms) +2026-09-27T05:31:43.4798999Z ✔ passes approval tokens and files under the cap (0.364117ms) +2026-09-27T05:31:43.4799680Z ✔ attachment preflight (before session create) (10.209661ms) +2026-09-27T05:31:43.4800300Z ▶ staged attachment preview (approval source) +2026-09-27T05:31:43.4801054Z ✔ returns thumbnail bytes for an approved image without consuming the approval (2.82756ms) +2026-09-27T05:31:43.4801897Z ✔ refuses an approval whose stat size exceeds the cap without reading (2.361253ms) +2026-09-27T05:31:43.4802766Z ✔ reads non-image approvals once to verify their content before refusing them (0.432411ms) +2026-09-27T05:31:43.4803603Z ✔ previews real image bytes even when the file name claims PDF (0.331367ms) +2026-09-27T05:31:43.4804378Z ✔ does not send PDF bytes with a spoofed PNG name to the image decoder (0.28315ms) +2026-09-27T05:31:43.4864319Z ✔ does not send unknown bytes with a spoofed PNG name to the image decoder (0.277821ms) +2026-09-27T05:31:43.4865533Z ✔ uses the sniffed MIME when returning original image bytes as the preview (0.332542ms) +2026-09-27T05:31:43.4866578Z ✔ registers the client-owned attachment preview IPC boundary (0.375597ms) +2026-09-27T05:31:43.4867626Z ✔ rejects unknown, foreign-sender, and malformed approval ids (0.30398ms) +2026-09-27T05:31:43.4892257Z ✔ soft-fails when the bytes cannot be read, or cannot decode and exceed the inline cap (1.721858ms) +2026-09-27T05:31:43.4893445Z ✔ staged attachment preview (approval source) (13.49872ms) +2026-09-27T05:31:43.4894368Z ▶ createBrowserViewHost canDrive (visible lease + viewport-restore wait) +2026-09-27T05:31:43.4895393Z ✔ observe on a backgrounded conversation is rejected (no off-screen reads) (1.260877ms) +2026-09-27T05:31:43.4896229Z ✔ observe on the shown conversation is allowed without a viewport (0.238269ms) +2026-09-27T05:31:43.4897090Z ✔ navigate on the shown conversation is allowed without a viewport, no wait (0.212616ms) +2026-09-27T05:31:43.4898049Z ✔ mutate on a backgrounded conversation is rejected immediately, without waiting (0.230395ms) +2026-09-27T05:31:43.4899036Z ✔ mutate on the shown conversation waits for the restored viewport, then allows (0.287636ms) +2026-09-27T05:31:43.4900293Z ✔ mutate on the shown conversation blocks when the viewport never returns (0.240659ms) +2026-09-27T05:31:43.4901398Z ✔ createBrowserViewHost canDrive (visible lease + viewport-restore wait) (4.411656ms) +2026-09-27T05:31:43.4902259Z ✔ invokes wait for the boot registration pass before dispatching (750.65015ms) +2026-09-27T05:31:43.4903134Z ✔ the gate falls open when the bootstrap channel itself is absent (598.066102ms) +2026-09-27T05:31:43.4904045Z ✔ scoped Runtime Host calls wait for target IPC registration after first paint (558.937453ms) +2026-09-27T05:31:43.4905260Z ✔ offline session-local transcript reads bypass Runtime Host readiness (479.418283ms) +2026-09-27T05:31:43.4931002Z ✔ a connecting default Host hands out its scope and the call waits at the target gate (609.547514ms) +2026-09-27T05:31:43.4932532Z ✔ module-level sends queue behind the gate until listeners exist (589.341998ms) +2026-09-27T05:31:43.4933529Z ✔ the default Host follows profile pushes and fails fast once unavailable (860.594652ms) +2026-09-27T05:31:43.4934271Z ▶ bootstrap selection lease +2026-09-27T05:31:43.4936121Z ✔ leaves the new-task surface selected when all history is archived (6.783725ms) +2026-09-27T05:31:43.4937026Z ✔ skips archived rows when choosing the first unarchived conversation (0.243953ms) +2026-09-27T05:31:43.4937859Z ✔ revalidates archive eligibility across bootstrap snapshots (0.230109ms) +2026-09-27T05:31:43.4938794Z ✔ does not reopen older history behind an empty unarchived task (3.432473ms) +2026-09-27T05:31:43.4971201Z ✔ preserves an eligible bootstrap selection when newer history arrives (0.499432ms) +2026-09-27T05:31:43.4972110Z ✔ does not override explicitly opened archived history (0.357692ms) +2026-09-27T05:31:43.4973027Z ✔ lets snapshot A and mounted pull B reconcile while bootstrap still owns selection (0.182848ms) +2026-09-27T05:31:43.4974048Z ✔ cannot select history when the user starts a new task before the first snapshot (0.940443ms) +2026-09-27T05:31:43.5007945Z ✔ cannot replace a user selection made between snapshot A and B (0.240099ms) +2026-09-27T05:31:43.5009431Z ✔ clears a bootstrap-owned selection when the latest snapshot is empty (0.276726ms) +2026-09-27T05:31:43.5010258Z ✔ does not reconcile after release (0.170427ms) +2026-09-27T05:31:43.5011073Z ✔ keeps an explicit new-task surface across a renderer reload only (4.296264ms) +2026-09-27T05:31:43.5011911Z ✔ keeps a scoped draft with the reload intent (1.249157ms) +2026-09-27T05:31:43.5012603Z ✔ bootstrap selection lease (21.445202ms) +2026-09-27T05:31:43.5013497Z ✔ zh-CN: BotChatChannelDetail renders the full warning for 1 invalid IDs (595.627822ms) +2026-09-27T05:31:43.5014759Z ✔ zh-CN: BotChatChannelDetail renders the full warning for 3 invalid IDs (63.4183ms) +2026-09-27T05:31:43.5015727Z ✔ zh-CN: BotChatChannelDetail renders the full warning for 4 invalid IDs (64.589145ms) +2026-09-27T05:31:43.5016703Z ✔ zh-CN: BotChatChannelDetail renders the full warning for 5 invalid IDs (57.087028ms) +2026-09-27T05:31:43.5017684Z ✔ zh-CN: BotChatChannelDetail omits the warning for an empty allowlist (53.921033ms) +2026-09-27T05:31:43.5018822Z ✔ zh-CN: BotChatChannelDetail renders the full help for 49 numeric IDs without a warning (27.328752ms) +2026-09-27T05:31:43.5019976Z ✔ zh-CN: BotChatChannelDetail renders the full help for 50 numeric IDs without a warning (25.223384ms) +2026-09-27T05:31:43.5021029Z ✔ zh-TW: BotChatChannelDetail renders the full warning for 1 invalid IDs (30.510805ms) +2026-09-27T05:31:43.5022023Z ✔ zh-TW: BotChatChannelDetail renders the full warning for 3 invalid IDs (31.15762ms) +2026-09-27T05:31:43.5023014Z ✔ zh-TW: BotChatChannelDetail renders the full warning for 4 invalid IDs (31.73771ms) +2026-09-27T05:31:43.5024010Z ✔ zh-TW: BotChatChannelDetail renders the full warning for 5 invalid IDs (32.809002ms) +2026-09-27T05:31:43.5025117Z ✔ zh-TW: BotChatChannelDetail omits the warning for an empty allowlist (32.261761ms) +2026-09-27T05:31:43.5026457Z ✔ zh-TW: BotChatChannelDetail renders the full help for 49 numeric IDs without a warning (37.509283ms) +2026-09-27T05:31:43.5027993Z ✔ zh-TW: BotChatChannelDetail renders the full help for 50 numeric IDs without a warning (37.554377ms) +2026-09-27T05:31:43.5029200Z ✔ en: BotChatChannelDetail renders the full warning for 1 invalid IDs (55.000175ms) +2026-09-27T05:31:43.5030177Z ✔ en: BotChatChannelDetail renders the full warning for 3 invalid IDs (37.382175ms) +2026-09-27T05:31:43.5031162Z ✔ en: BotChatChannelDetail renders the full warning for 4 invalid IDs (41.027958ms) +2026-09-27T05:31:43.5032115Z ✔ en: BotChatChannelDetail renders the full warning for 5 invalid IDs (39.537321ms) +2026-09-27T05:31:43.5033036Z ✔ en: BotChatChannelDetail omits the warning for an empty allowlist (36.750437ms) +2026-09-27T05:31:43.5034122Z ✔ en: BotChatChannelDetail renders the full help for 49 numeric IDs without a warning (35.286345ms) +2026-09-27T05:31:43.5089792Z ✔ en: BotChatChannelDetail renders the full help for 50 numeric IDs without a warning (39.061272ms) +2026-09-27T05:31:43.5090967Z ✔ real bridge failures render localized detail and overview output in all locales (2428.889626ms) +2026-09-27T05:31:43.5092064Z ✔ zh-CN: onboarding modal and completion toast localize warning details (778.641556ms) +2026-09-27T05:31:43.5093055Z ✔ zh-TW: onboarding modal and completion toast localize warning details (483.349053ms) +2026-09-27T05:31:43.5094092Z ✔ en: onboarding modal and completion toast localize warning details (543.016019ms) +2026-09-27T05:31:43.5095020Z ▶ bot incoming new-session cwd +2026-09-27T05:31:43.5095647Z ✔ leaves the cwd to the shared desktop session resolver (4.425683ms) +2026-09-27T05:31:43.5096320Z ✔ bot incoming new-session cwd (5.633047ms) +2026-09-27T05:31:43.5096843Z ▶ bot session lifecycle bindings +2026-09-27T05:31:43.5097581Z ✔ rebinds a conversation after its archived session rejects a send (11.86634ms) +2026-09-27T05:31:43.5098514Z ✔ keeps classified failure notices in the bot surface locale (4.001416ms) +2026-09-27T05:31:43.5099276Z ✔ bot session lifecycle bindings (17.344455ms) +2026-09-27T05:31:43.5100092Z ✔ the bot typing loop owns only its active abort listener (8.816144ms) +2026-09-27T05:31:43.5101148Z ✔ streams reply snapshots and persists the final reply through one channel stream (0.981146ms) +2026-09-27T05:31:43.5101895Z ▶ BotOnboardingService +2026-09-27T05:31:43.5102753Z ✔ preserves a failed live Stream probe through the onboarding warning and localized presenter (109.685619ms) +2026-09-27T05:31:43.5103774Z ✔ returns a coded error snapshot when the provider start fails (1.013937ms) +2026-09-27T05:31:43.5104881Z ✔ persists confirmed credentials in main while returning a secret-free snapshot (8.782259ms) +2026-09-27T05:31:43.5105812Z ✔ emits the QR data URL only on the start snapshot, not on every poll (0.501483ms) +2026-09-27T05:31:43.5106738Z ✔ cancels an in-flight poll and rejects its late credential result (0.761404ms) +2026-09-27T05:31:43.5107695Z ✔ rolls back credentials when cancellation crosses the runtime-effect commit window (8.360948ms) +2026-09-27T05:31:43.5108789Z ✔ does not overwrite a concurrent manual credential edit during cancellation rollback (1.871291ms) +2026-09-27T05:31:43.5109777Z ✔ rolls back credentials even when a concurrent status write lands mid-commit (4.659607ms) +2026-09-27T05:31:43.5110650Z ✔ marks a connected session with a warning when the bridge is not running (4.892052ms) +2026-09-27T05:31:43.5111395Z ✔ omits the warning when the bridge is running (3.302287ms) +2026-09-27T05:31:43.5112163Z ✔ does not advertise poll retry health for post-confirmation failures (1.903387ms) +2026-09-27T05:31:43.5113043Z ✔ invalidates an older session when the same provider starts again (2.774938ms) +2026-09-27T05:31:43.5113908Z ✔ evicts a superseded session from the map on the next start (0.820431ms) +2026-09-27T05:31:43.5146152Z ✔ dispose() aborts and clears all sessions (0.332768ms) +2026-09-27T05:31:43.5147114Z ✔ coalesces duplicate polls and applies provider slow-down backoff (2.969246ms) +2026-09-27T05:31:43.5148318Z ✔ survives a transient poll failure and only goes terminal after repeated errors (3.965761ms) +2026-09-27T05:31:43.5149411Z ✔ wakes at QR expiry after a pending provider response (1.106035ms) +2026-09-27T05:31:43.5150182Z ✔ wakes at QR expiry after a scanned provider response (0.155167ms) +2026-09-27T05:31:43.5159310Z ✔ wakes at QR expiry after a slow_down provider response (0.130685ms) +2026-09-27T05:31:43.5160455Z ✔ does not promise a retry when backoff reaches the QR expiry (6s) (0.43525ms) +2026-09-27T05:31:43.5161541Z ✔ does not promise a retry when backoff reaches the QR expiry (12s) (0.271282ms) +2026-09-27T05:31:43.5162549Z ✔ expires when an in-flight transient poll fails after the QR deadline (0.922385ms) +2026-09-27T05:31:43.5163747Z ✔ projects only a finite redacted category and clears retry health after recovery (0.389183ms) +2026-09-27T05:31:43.5164988Z ✔ clears retry health on provider terminal responses and cancellation (0.652669ms) +2026-09-27T05:31:43.5165957Z ✔ does not project a late transient failure after session supersession (0.762514ms) +2026-09-27T05:31:43.5172765Z ✔ clears network retry health when the next poll fails authentication (0.862356ms) +2026-09-27T05:31:43.5173732Z ✔ fails immediately on a fatal (non-transient) poll error (0.369536ms) +2026-09-27T05:31:43.5174711Z ✔ expires locally without polling after the provider TTL (0.225751ms) +2026-09-27T05:31:43.5186336Z ✔ maps a dead WeCom QR status to a terminal outcome instead of endless pending (0.305664ms) +2026-09-27T05:31:43.5187544Z ✔ BotOnboardingService (166.423006ms) +2026-09-27T05:31:43.5188460Z ✔ provides concise localized retry health without provider error text (1.192472ms) +2026-09-27T05:31:43.5189645Z ✔ retry presentation preserves scanned instructions and clears on recovery (zh-CN) (0.363747ms) +2026-09-27T05:31:43.5190826Z ✔ retry presentation preserves scanned instructions and clears on recovery (zh-TW) (0.25937ms) +2026-09-27T05:31:43.5191937Z ✔ retry presentation preserves scanned instructions and clears on recovery (en) (0.149621ms) +2026-09-27T05:31:43.5193029Z ✔ browser IPC isolates owned renderer documents and their native parents (52.375773ms) +2026-09-27T05:31:43.5193707Z ▶ browser logic +2026-09-27T05:31:43.5194358Z ✔ parseNavigable accepts only http(s) and normalizes (4.843916ms) +2026-09-27T05:31:43.5198238Z ✔ safeExternalUrl passes only mailto/tel (0.241558ms) +2026-09-27T05:31:43.5199008Z ✔ viewportBounds rounds, clamps, and hides on empty (3.071004ms) +2026-09-27T05:31:43.5199927Z ✔ viewportBoundsAtScale converts CSS pixels to DIP without edge seams (2.174141ms) +2026-09-27T05:31:43.5200816Z ✔ browserActionAllowed enforces the visible lease (0.286134ms) +2026-09-27T05:31:43.5201592Z ✔ deriveBrowserState computes hasPage and secure (2.967046ms) +2026-09-27T05:31:43.5202219Z ✔ browser logic (15.452915ms) +2026-09-27T05:31:43.5202962Z ✔ falls back natively and never attaches to an inaccessible parent (6.154492ms) +2026-09-27T05:31:43.5203923Z ✔ drives the BrowserWindow lifecycle through a safe response URL (14.704209ms) +2026-09-27T05:31:43.5205210Z ✔ maps close to cancel and falls back after each BrowserWindow presentation failure (35.507978ms) +2026-09-27T05:31:43.5206165Z ✔ reveals the dialog only as far as the run reveal mode allows (6.865172ms) +2026-09-27T05:31:43.5207009Z ✔ accepts only an in-range response URL produced by the dialog (0.37303ms) +2026-09-27T05:31:43.5207923Z ✔ centers against the parent while keeping the whole dialog on-screen (2.529262ms) +2026-09-27T05:31:43.5208846Z ✔ renders escaped content with Maka dialog tokens and safe action ordering (1.267755ms) +2026-09-27T05:31:43.5209907Z ✔ routes button and keyboard decisions through the rendered interaction bridge (49.535395ms) +2026-09-27T05:31:43.5210951Z ✔ a navigate lease allows the old page but only arms for its approved target (5.081968ms) +2026-09-27T05:31:43.5228878Z ▶ browser selection ordering +2026-09-27T05:31:43.5229841Z ✔ does not let a delayed selection resolution undo a newer hide (15.061731ms) +2026-09-27T05:31:43.5231090Z ✔ binds capture and viewport delivery to the newest resolved selection generation (0.591962ms) +2026-09-27T05:31:43.5232049Z ✔ browser selection ordering (22.445595ms) +2026-09-27T05:31:43.5232511Z ▶ BrowserSession +2026-09-27T05:31:43.5233147Z ✔ connects once and reuses the cached connection across actions (6.6076ms) +2026-09-27T05:31:43.5234001Z ✔ shares one connect across two concurrent first actions (single-flight) (19.692757ms) +2026-09-27T05:31:43.5235188Z ✔ defers the takeover reload: observe never reloads, the first mutate hardens once (3.515302ms) +2026-09-27T05:31:43.5236164Z ✔ a navigation clears the pending takeover without reloading (goto re-stealths) (0.775028ms) +2026-09-27T05:31:43.5237092Z ✔ never reloads a blank/non-web page, even before a mutate (0.564524ms) +2026-09-27T05:31:43.5237972Z ✔ invalidates and reconnects after a connection-loss error (2.578042ms) +2026-09-27T05:31:43.5238872Z ✔ times out, severs the connection, and surfaces a typed error (22.274571ms) +2026-09-27T05:31:43.5239843Z ✔ rejects immediately on an already-aborted signal without connecting (0.634482ms) +2026-09-27T05:31:43.5240750Z ✔ aborts a running action and severs the connection (4.234278ms) +2026-09-27T05:31:43.5241667Z ✔ releases background rendering when cancellation interrupts preparation (0.681732ms) +2026-09-27T05:31:43.5242744Z ✔ releaseBrowserSession disposes the view and closes the connection (3.264174ms) +2026-09-27T05:31:43.5243565Z ✔ unwinds an acquire when the session is released mid-connect (1.628777ms) +2026-09-27T05:31:43.5265566Z ✔ visible-lease gate: blocks every vetoed kind — incl. observe — before connecting (0.493024ms) +2026-09-27T05:31:43.5267314Z ✔ revokes an in-flight action when the user switches away from its conversation (8.130349ms) +2026-09-27T05:31:43.5268272Z ✔ does not revoke an action for the conversation that is still shown (3.603524ms) +2026-09-27T05:31:43.5268994Z ✔ fails clearly when no host is injected (0.396488ms) +2026-09-27T05:31:43.5269582Z ✔ BrowserSession (85.298053ms) +2026-09-27T05:31:43.5270113Z ▶ browser tool helpers +2026-09-27T05:31:43.5270885Z ✔ normalizeElementRef unwraps a bracketed ref and passes selectors through (2.734806ms) +2026-09-27T05:31:43.5271894Z ✔ takeoverNote appears only after a takeover reload (0.631096ms) +2026-09-27T05:31:43.5272496Z ✔ browser tool helpers (7.538255ms) +2026-09-27T05:31:43.5272919Z ▶ browser tool execution +2026-09-27T05:31:43.5273519Z ✔ navigate rejects a non-web URL before connecting (3.549141ms) +2026-09-27T05:31:43.5274536Z ✔ navigate returns only a sanitized destination after a cross-Origin redirect (12.410604ms) +2026-09-27T05:31:43.5275439Z ✔ click returns only the new URL after cross-Origin navigation (9.777436ms) +2026-09-27T05:31:43.5276258Z ✔ covers the Provider second-check → first page await gap end to end (17.70142ms) +2026-09-27T05:31:43.5277164Z ✔ discards a snapshot when the page crosses Origin and returns to the approved site (0.976376ms) +2026-09-27T05:31:43.5278120Z ✔ covers an A→B→A takeover reload before the first mutating page call (0.842423ms) +2026-09-27T05:31:43.5279056Z ✔ does not press Enter when filling navigates away from the approved Origin (2.329556ms) +2026-09-27T05:31:43.5279941Z ✔ returns only a sanitized URL after same-Origin click navigation (1.13711ms) +2026-09-27T05:31:43.5280823Z ✔ type reports verification failure with the actual content (17.875861ms) +2026-09-27T05:31:43.5281558Z ✔ wait requires exactly one of text/selector/time (2.468948ms) +2026-09-27T05:31:43.5282310Z ✔ extract fails clearly when a selector matches nothing (5.005338ms) +2026-09-27T05:31:43.5283129Z ✔ extract page-side script swallows an invalid selector instead of throwing (0.480295ms) +2026-09-27T05:31:43.5284039Z ✔ a tool fails with a clear message when no host is injected (0.270573ms) +2026-09-27T05:31:43.5315970Z ✔ browser tool execution (76.078095ms) +2026-09-27T05:31:43.5316903Z ▶ BrowserViewManager +2026-09-27T05:31:43.5317555Z ✔ fires onLiveChange on create and dispose, not on reuse (5.287911ms) +2026-09-27T05:31:43.5318799Z ✔ dispose removes the view, disposes it, and lets the next create be fresh (0.368063ms) +2026-09-27T05:31:43.5319946Z ✔ disposeAll tears down every view (leak invariant) (3.901305ms) +2026-09-27T05:31:43.5320639Z ✔ BrowserViewManager (14.277588ms) +2026-09-27T05:31:43.5321563Z ✔ a packaged build reports no commit and does not read the filesystem for one (8.418191ms) +2026-09-27T05:31:43.5322563Z ✔ an ordinary clone resolves the commit through a ref (25.610156ms) +2026-09-27T05:31:43.5323625Z ✔ a linked worktree reads HEAD privately and the branch ref from commondir (16.230255ms) +2026-09-27T05:31:43.5325407Z ✔ a worktree finds a packed branch ref in the common directory (12.619078ms) +2026-09-27T05:31:43.5326278Z ✔ a worktree pointer relative to the checkout resolves (5.273988ms) +2026-09-27T05:31:43.5327602Z ✔ a detached HEAD is already the sha (6.047141ms) +2026-09-27T05:31:43.5328363Z ✔ a packed ref resolves when no loose ref file exists (1.363208ms) +2026-09-27T05:31:43.5329376Z ✔ an unreadable checkout reports dev with no commit rather than throwing (1.849106ms) +2026-09-27T05:31:43.5330054Z ▶ CdpBridge +2026-09-27T05:31:43.5330716Z ✔ relays a CDP command to the debugger and returns its result (92.748741ms) +2026-09-27T05:31:43.5331491Z ✔ forwards debugger events to the client (22.144013ms) +2026-09-27T05:31:43.5332262Z ✔ surfaces a debugger command error as a CDP error response (11.226406ms) +2026-09-27T05:31:43.5333161Z ✔ a query string after the secret path does not break authorization (4.596799ms) +2026-09-27T05:31:43.5333939Z ✔ rejects a wrong secret at the upgrade (3.522336ms) +2026-09-27T05:31:43.5334885Z ✔ a rejected wrong-secret attempt does not consume the single slot (6.252938ms) +2026-09-27T05:31:43.5355586Z ✔ rejects a connection that carries a browser Origin (4.611122ms) +2026-09-27T05:31:43.5357018Z ✔ rejects a mismatched Host header (DNS-rebinding guard) (5.985917ms) +2026-09-27T05:31:43.5357810Z ✔ allows only one connection at a time (9.78909ms) +2026-09-27T05:31:43.5358626Z ✔ stop() detaches the debugger and closes the connection (8.412288ms) +2026-09-27T05:31:43.5359593Z ✔ teardown fails in-flight commands instead of leaving them to time out (9.563982ms) +2026-09-27T05:31:43.5360566Z ✔ teardown failure responses carry the command's sessionId (9.12823ms) +2026-09-27T05:31:43.5361485Z ✔ teardown fails every session sharing an in-flight command id (5.444048ms) +2026-09-27T05:31:43.5362484Z ✔ rejects an in-flight duplicate within the root session and allows reuse (9.095477ms) +2026-09-27T05:31:43.5363612Z ✔ rejects an in-flight duplicate within session-a and allows reuse (14.489202ms) +2026-09-27T05:31:43.5385773Z ✔ isolates concurrent id 7 in the root session and session-b after success (8.347796ms) +2026-09-27T05:31:43.5387764Z ✔ isolates concurrent id 7 in the root session and session-b after an error (7.735666ms) +2026-09-27T05:31:43.5389403Z ✔ isolates concurrent id 7 in session-a and session-b after success (10.801795ms) +2026-09-27T05:31:43.5390667Z ✔ isolates concurrent id 7 in session-a and session-b after an error (16.731916ms) +2026-09-27T05:31:43.5391726Z ✔ a reconnecting client reusing an id in the root session never sees the previous result (5.406832ms) +2026-09-27T05:31:43.5392843Z ✔ a reconnecting client reusing an id in session-a never sees the previous result (13.153147ms) +2026-09-27T05:31:43.5393685Z ✔ an external debugger detach tears the bridge down (5.755932ms) +2026-09-27T05:31:43.5395550Z ✔ concurrent start() calls share one bridge instead of misreporting target-busy (3.409158ms) +2026-09-27T05:31:43.5397026Z ✔ stop() racing a start() in flight yields a typed error and a clean restart (9.831289ms) +2026-09-27T05:31:43.5398443Z ✔ destroying the WebContents tears the bridge down (9.518406ms) +2026-09-27T05:31:43.5399570Z ✔ drops an authorized upgrade that races stop() nulling the ws server (2.733446ms) +2026-09-27T05:31:43.5400570Z ✔ start() throws target-busy when the debugger is already attached (0.290674ms) +2026-09-27T05:31:43.5401698Z ✔ start() throws target-destroyed for a gone WebContents (0.335499ms) +2026-09-27T05:31:43.5402748Z ✔ CdpBridge (319.052649ms) +2026-09-27T05:31:43.5496397Z ▶ filesystem worker Linux path context +2026-09-27T05:31:43.5553643Z ✔ reports excessive ancestor ignore files before preparing or launching a worker (563.786793ms) +2026-09-27T05:31:43.5613136Z ✔ rejects an existing subtree that disappears before it can be pinned (8.251521ms) +2026-09-27T05:31:43.5692264Z ✔ pins an existing operation target through an inherited descriptor (11.250689ms) +2026-09-27T05:31:43.5732688Z ✔ Memory mutation reaches the next applicable real provider request (5332.531564ms) +2026-09-27T05:31:43.6014162Z ✔ pins the writable parent of a missing exact target (30.016465ms) +2026-09-27T05:31:43.6067797Z ✔ requests a trusted parent mount only for a missing write target (9.552885ms) +2026-09-27T05:31:43.6157888Z ✔ filesystem worker Linux path context (623.470401ms) +2026-09-27T05:31:43.6307790Z ▶ filesystem worker client dispatch classification +2026-09-27T05:31:43.6372477Z ✔ classifies a post-dispatch runProcess rejection as worker_io_incomplete (29.014118ms) +2026-09-27T05:31:43.6397032Z ✔ classifies a never-dispatched runProcess rejection as spawn_failed (7.478255ms) +2026-09-27T05:31:43.6523535Z ✔ a rejection without a dispatched flag is treated as never-dispatched (11.412699ms) +2026-09-27T05:31:43.6688246Z ✔ drops a stale identity when the target vanished while queued (delete-then-rewrite) (19.554613ms) +2026-09-27T05:31:43.6766352Z ✔ rejects a write whose target was created while queued (never invalid_request) (9.110807ms) +2026-09-27T05:31:43.6839573Z ✔ lets an unchecked caller write an existing target without a CAS identity (#3484) (8.198239ms) +2026-09-27T05:31:43.6929897Z ✔ marks a T0-missing create as missing on the wire, not unchecked (#3484) (6.517637ms) +2026-09-27T05:31:43.6989854Z ✔ a read without expectedIdentity sends unchecked automatically (#3487) (5.390327ms) +2026-09-27T05:31:43.7057763Z ✔ a write without expectedIdentity is rejected at runtime (#3487) (4.783925ms) +2026-09-27T05:31:43.7148672Z ✔ filesystem worker client dispatch classification (102.403367ms) +2026-09-27T05:31:43.7366042Z ✔ Linux Electron worker launch does not require a macOS Frameworks directory (34.034389ms) +2026-09-27T05:31:43.7410114Z ✔ macOS worker launch includes inspected ripgrep runtime directories (10.029788ms) +2026-09-27T05:31:43.7455899Z ✔ macOS worker omits ripgrep when dependency inspection fails (5.391811ms) +2026-09-27T05:31:43.7515898Z ✔ Windows packaged worker grants only its product-owned application directory (901.850918ms) +2026-09-27T05:31:43.7535790Z ✔ a node runtime worker never receives the Electron-only stdio switch (3.682852ms) +2026-09-27T05:31:43.7565864Z ✔ a ripgrep installed after the first launch is found by the next one (#5169) (13.110739ms) +2026-09-27T05:31:43.7601063Z ✔ a ripgrep that disappears is replaced by the next launch, and only the replacement is granted (#5169) (14.138605ms) +2026-09-27T05:31:43.7633217Z ✔ non-Grep launches neither inspect nor grant ripgrep (4.400143ms) +2026-09-27T05:31:43.7666049Z ✔ the worker is told where it runs so Grep can say where to install ripgrep (#5169) (3.839976ms) +2026-09-27T05:31:43.7715513Z ✔ outside WSL the worker is not told a machine name (#5169) (3.075503ms) +2026-09-27T05:31:43.7716631Z ✔ a repaired dependency is rechecked without changing ripgrep or restarting (9.043513ms) +2026-09-27T05:31:43.7815538Z ✔ dependency grants refresh even when the ripgrep executable is unchanged (6.316665ms) +2026-09-27T05:31:43.7817064Z ✔ on Windows the winget links directory is searched even when PATH predates the install (#5169) (10.181755ms) +2026-09-27T05:31:44.9373022Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:31:45.1780930Z ▶ Linux filesystem worker smoke +2026-09-27T05:31:45.1815320Z ✔ runs Read, Write, Edit, Glob, and Grep inside bubblewrap (2219.720285ms) +2026-09-27T05:31:45.6841699Z ✔ creates a nested patch file inside bubblewrap (504.392587ms) +2026-09-27T05:31:45.9726825Z ✔ hands off only the unresolved new-task draft while a Session is open (358.497818ms) +2026-09-27T05:31:46.0966369Z ✔ carries the visible new-task draft when the target Project changes (138.277928ms) +2026-09-27T05:31:46.1398151Z ✔ applies one exact outside grant without opening its sibling (453.924421ms) +2026-09-27T05:31:46.1493253Z ✔ Linux filesystem worker smoke (3203.843843ms) +2026-09-27T05:31:46.1761436Z ✔ filesystem worker process receives inherited fd inputs alongside request stdin (122.924058ms) +2026-09-27T05:31:46.1808276Z ✔ filesystem worker does not spawn for an already-aborted request (15.045794ms) +2026-09-27T05:31:46.1831856Z ✔ filesystem worker rejects boundedly when a detached descendant retains stdout (249.057422ms) +2026-09-27T05:31:46.1875489Z ﹣ macOS filesystem worker smoke (0.739609ms) # SKIP +2026-09-27T05:31:46.1914084Z ﹣ Windows filesystem worker smoke (1.141417ms) # SKIP +2026-09-27T05:31:46.1972988Z ▶ filesystem worker operations +2026-09-27T05:31:46.2016596Z ✔ creates nested patch files exclusively (73.798841ms) +2026-09-27T05:31:46.2046409Z ✔ returns a recoverable patch conflict without changing the file (16.750568ms) +2026-09-27T05:31:46.2089072Z ✔ deletes a symlink entry without deleting its target (16.855834ms) +2026-09-27T05:31:46.2132754Z ✔ refuses a directory delete with the structured is_directory code (23.520656ms) +2026-09-27T05:31:46.2182975Z ✔ fails Grep closed inside the Windows sandbox instead of approximating its contract (7.005182ms) +2026-09-27T05:31:46.2236076Z ✔ runs Grep from the filesystem root without broadening its target permission (13.878951ms) +2026-09-27T05:31:46.2285493Z ✔ names ripgrep, where to install it, and a retry when no usable copy was found (#5167) (10.913063ms) +2026-09-27T05:31:46.2323164Z ✔ reports a ripgrep that vanished after startup as unavailable, not as a missing search path (37.123288ms) +2026-09-27T05:31:46.2395010Z ✔ passes option-like Grep patterns after a `--` separator (10.400528ms) +2026-09-27T05:31:46.2435395Z ✔ returns no Grep matches for exit code 1 and surfaces bounded stderr for failures (5.246776ms) +2026-09-27T05:31:46.2527793Z ✔ reads a validated image through the approved path capability (5.038075ms) +2026-09-27T05:31:46.2548843Z ✔ classifies symlinks by their canonical target (10.670876ms) +2026-09-27T05:31:46.2584199Z ✔ reads and writes only the canonical path capability in the request (7.168124ms) +2026-09-27T05:31:46.2636202Z ✔ denies a write through a dangling symlink the boundary does not cover (6.905795ms) +2026-09-27T05:31:46.2703429Z ✔ fails when an approved target changes type before execution (1.452827ms) +2026-09-27T05:31:46.2765691Z ✔ fails when a symlink no longer resolves to the approved canonical target (5.766093ms) +2026-09-27T05:31:46.2768403Z ✔ accepts an unchecked write target without an identity (#3484) (9.287915ms) +2026-09-27T05:31:46.2841852Z ✔ rejects a write whose T0-missing target exists at execution time (#3484) (3.387705ms) +2026-09-27T05:31:46.2883718Z ✔ returns a localized diff for a small Edit in a large file (7.683699ms) +2026-09-27T05:31:46.2947912Z ✔ omits an oversized Edit diff while still applying the replacement (10.094098ms) +2026-09-27T05:31:46.2999370Z ✔ omits the diff when FormatJson leaves the file unchanged (4.540768ms) +2026-09-27T05:31:46.3055787Z ✔ reports no diff — not a new-file diff — when an existing file cannot be read (5.588786ms) +2026-09-27T05:31:46.3068916Z ✔ reports no diff when overwriting an image (10.351861ms) +2026-09-27T05:31:46.3153620Z ✔ filesystem worker operations (310.144428ms) +2026-09-27T05:31:46.3160372Z ✔ device authorization decodes the GitHub grant and bounds its window (38.678245ms) +2026-09-27T05:31:46.3214603Z ✔ device authorization rejects an error body returned with HTTP 200 (9.14142ms) +2026-09-27T05:31:46.3326457Z ✔ device authorization refuses a verification URL outside github.com (9.092096ms) +2026-09-27T05:31:46.3376961Z ✔ polling treats HTTP 200 authorization_pending and slow_down as retries (12.149064ms) +2026-09-27T05:31:46.3393680Z ✔ polling rejects a token that is not a GitHub account credential (3.688714ms) +2026-09-27T05:31:46.3445114Z ✔ polling separates a user denial from an elapsed authorization window (9.52841ms) +2026-09-27T05:31:46.3552807Z ✔ polling stops before issuing a request once the local window elapsed (0.358855ms) +2026-09-27T05:31:46.3556679Z ✔ polling records the lifetime GitHub returned instead of a non-expiring token (5.239378ms) +2026-09-27T05:31:46.3613901Z ✔ polling rejects an expiring grant that carries no refresh token (0.728269ms) +2026-09-27T05:31:46.3709960Z ✔ entitlement accepts an account whose catalog lists a usable model (9.459203ms) +2026-09-27T05:31:46.3803428Z ✔ entitlement refuses an account the provider proved ineligible (8.702062ms) +2026-09-27T05:31:46.3830240Z ✔ entitlement does not call a subscribed account ineligible when it cannot ask (2.462829ms) +2026-09-27T05:31:46.3868445Z ✔ Glob reports a resolved cwd disappearing before traversal (80.035613ms) +2026-09-27T05:31:46.3895719Z ✔ Glob reports an enumerated directory disappearing or changing type during traversal (32.532581ms) +2026-09-27T05:31:46.4005947Z ✔ both Glob paths report permission failures and recover after permissions are restored (39.696854ms) +2026-09-27T05:31:46.4037864Z ✔ does not resurrect a sent new-task draft from a target passed through (139.45448ms) +2026-09-27T05:31:46.4085905Z ✔ Glob retains native pattern membership, including hidden entries and explicit symlink paths (75.281237ms) +2026-09-27T05:31:46.4117266Z ✔ Memory private route preserves Host policy result and validates custom params (2731.175477ms) +2026-09-27T05:31:46.4176499Z ✔ Glob reports truncation when the pattern matched more files than the limit (8.933323ms) +2026-09-27T05:31:46.4206037Z ✔ a send in flight owns its text even if the target changes under it (86.83724ms) +2026-09-27T05:31:46.4275631Z ✔ Glob reports a complete result when the limit is met exactly (9.47973ms) +2026-09-27T05:31:46.4302843Z ✔ a local Glob stops when cancelled during an overflow probe (98.035289ms) +2026-09-27T05:31:46.4395780Z ✔ Glob marks a capped result incomplete when overflow probing hits a filesystem error (12.444732ms) +2026-09-27T05:31:46.4674169Z ✔ a send in flight still hands over text typed after it was submitted (142.681148ms) +2026-09-27T05:31:46.4870892Z ✔ Goal activity covers evaluation through settlement but not a paused durable Goal (25.60114ms) +2026-09-27T05:31:46.4902416Z ✔ handoff hold finishes Goal accounting without admitting a successor; release resumes it (20.145964ms) +2026-09-27T05:31:46.4961353Z ✔ handoff hold removes waiting timers and cancellation restores the same Goal (9.956438ms) +2026-09-27T05:31:46.5022158Z ▶ GoalContinuationCoordinator settlement +2026-09-27T05:31:46.5087588Z ✔ recovery admits the durable pending continuation without regenerating its prompt (45.549584ms) +2026-09-27T05:31:46.5156862Z ✔ recovery inserts the task reminder before the frozen evaluation and Goal context (4.455943ms) +2026-09-27T05:31:46.5227408Z ✔ settlement records a durable continuation outbox entry before admission (2.688005ms) +2026-09-27T05:31:46.5265794Z ✔ binds a Goal created by the same external turn before it settles (10.626788ms) +2026-09-27T05:31:46.5305816Z ✔ an unbound turn cannot settle a Goal created by a concurrent turn (1.546273ms) +2026-09-27T05:31:46.5339156Z ✔ an older unbound turn cannot activate a Goal after another turn activated and cleared one (2.763697ms) +2026-09-27T05:31:46.5398342Z ✔ a turn registered against a paused Goal cannot activate after another turn clears it (2.480188ms) +2026-09-27T05:31:46.5447944Z ✔ an old Goal turn cannot pause or clear a replacement Goal (4.199939ms) +2026-09-27T05:31:46.5493041Z ▶ a removed external turn cannot create or resume a Goal through the real tools +2026-09-27T05:31:46.5536538Z ✔ GoalSet after permanent removal (0.988673ms) +2026-09-27T05:31:46.5568143Z ✔ GoalResume after archive and replacement (1.645803ms) +2026-09-27T05:31:46.5627764Z ✔ a removed external turn cannot create or resume a Goal through the real tools (4.201591ms) +2026-09-27T05:31:46.5676964Z ▶ every decline cause is reachable from the real coordinator +2026-09-27T05:31:46.5735677Z ✔ a shut-down coordinator says so, instead of denying the turn was registered (0.968707ms) +2026-09-27T05:31:46.5767838Z ✔ a turn already bound to a goal is not told it tried to arm a second one (1.017529ms) +2026-09-27T05:31:46.5798432Z ✔ GoalSet on a turn that is still bound to a finished goal is refused as a second arming (3.675647ms) +2026-09-27T05:31:46.5872884Z ✔ a turn that started before the goal existed is told that, not that it is unregistered (0.621743ms) +2026-09-27T05:31:46.5916799Z ✔ every decline cause is reachable from the real coordinator (6.678306ms) +2026-09-27T05:31:46.5977191Z ✔ closed sessions reject fresh turns until explicitly reopened (0.53252ms) +2026-09-27T05:31:46.5986178Z ▶ a rolled-back session close leaves revoked continuation visibly paused +2026-09-27T05:31:46.6048781Z ✔ busy continuation intent (16.705496ms) +2026-09-27T05:31:46.6093743Z ✔ in-flight evaluator (4.977489ms) +2026-09-27T05:31:46.6162594Z ✔ a rolled-back session close leaves revoked continuation visibly paused (22.421407ms) +2026-09-27T05:31:46.6217387Z ▶ transfers same-turn authority across its own lifecycle mutation +2026-09-27T05:31:46.6245303Z ✔ pause then resume (4.265855ms) +2026-09-27T05:31:46.6334781Z ✔ clear then replace (0.98224ms) +2026-09-27T05:31:46.6476124Z ✔ transfers same-turn authority across its own lifecycle mutation (5.83317ms) +2026-09-27T05:31:46.6545702Z ✔ an impossible verdict terminates without admission (0.378113ms) +2026-09-27T05:31:46.6605823Z ✔ nonterminal settlement updates counters and admits one real continuation (8.293219ms) +2026-09-27T05:31:46.6676210Z ✔ evaluator failure remains neutral and fail-open (0.903104ms) +2026-09-27T05:31:46.6765820Z ✔ invalid met cannot settle a Goal or change its stall counter (5.288441ms) +2026-09-27T05:31:46.6796422Z ✔ invalid impossible cannot settle a Goal or change its stall counter (1.18002ms) +2026-09-27T05:31:46.6874775Z ✔ invalid progress cannot settle a Goal or change its stall counter (1.01012ms) +2026-09-27T05:31:46.6966278Z ✔ invalid waiting cannot settle a Goal or change its stall counter (1.072797ms) +2026-09-27T05:31:46.7006566Z ✔ context failure pauses the exact Goal with a visible reason (0.502592ms) +2026-09-27T05:31:46.7076814Z ✔ queued completions are evaluated FIFO and collapse to the newest pending intent (1.026693ms) +2026-09-27T05:31:46.7165708Z ✔ queues failures behind earlier evidence and discards later queued outcomes (5.044845ms) +2026-09-27T05:31:46.7259783Z ✔ pause and resume invalidate every outcome queued under the previous control lease (0.448645ms) +2026-09-27T05:31:46.7335526Z ✔ a pre-pause external turn cannot settle the resumed Goal (0.259374ms) +2026-09-27T05:31:46.7405762Z ✔ archive invalidates queued and in-flight outcomes before Goal replacement (8.045327ms) +2026-09-27T05:31:46.7476023Z ▶ model pause and clear abort an older evaluator without revoking their own turn +2026-09-27T05:31:46.7555375Z ✔ pause (1.217765ms) +2026-09-27T05:31:46.7655467Z ✔ clear (5.839061ms) +2026-09-27T05:31:46.7701158Z ✔ model pause and clear abort an older evaluator without revoking their own turn (7.595318ms) +2026-09-27T05:31:46.7790909Z ✔ archive consumes an external turn that has not reached the FIFO (0.245708ms) +2026-09-27T05:31:46.7835606Z ✔ dispose revokes an evaluator and all later injection (0.308411ms) +2026-09-27T05:31:46.7925757Z ✔ restores a reload draft when its own target is selected later (86.593425ms) +2026-09-27T05:31:46.7973764Z ✔ close waits for accepted evaluator resource cleanup (1.606792ms) +2026-09-27T05:31:46.8055650Z ✔ GoalContinuationCoordinator settlement (177.50866ms) +2026-09-27T05:31:46.8136832Z ▶ GoalContinuationCoordinator admission and completion +2026-09-27T05:31:46.8171014Z ▶ aborted, suspended, and errored external turns pause the current Goal without evaluation +2026-09-27T05:31:46.8265382Z ✔ aborted (0.702989ms) +2026-09-27T05:31:46.8349230Z ✔ suspended (0.210307ms) +2026-09-27T05:31:46.8438085Z ✔ errored (0.131018ms) +2026-09-27T05:31:46.8465950Z ✔ aborted, suspended, and errored external turns pause the current Goal without evaluation (1.625203ms) +2026-09-27T05:31:46.8555748Z ✔ busy preserves the intent and retries only after the host becomes idle (16.480271ms) +2026-09-27T05:31:46.8605762Z ✔ new completion evidence outranks an intent waiting on busy (1.245001ms) +2026-09-27T05:31:46.8606992Z ✔ durable intent supersession preserves concurrent evidence order (8.250838ms) +2026-09-27T05:31:46.8636539Z ✔ a stale owned-turn failure cannot erase a newer intent waiting on busy (1.09417ms) +2026-09-27T05:31:46.8663651Z ✔ a stale queued Goal-owned completion cannot erase a newer intent (6.439823ms) +2026-09-27T05:31:46.8665391Z ✔ unavailable admission pauses instead of leaving a false active Goal (9.349066ms) +2026-09-27T05:31:46.8666623Z ✔ a checkpoint change during task inspection discards the stale intent (1.057232ms) +2026-09-27T05:31:46.8667752Z ✔ a completed Goal-owned turn re-enters the FIFO with its real turn id (1.1725ms) +2026-09-27T05:31:46.8669826Z ✔ an admitted Goal-owned turn transfers its checkpoint across pause and resume (7.581971ms) +2026-09-27T05:31:46.8685707Z ✔ archive consumes an admitted Goal-owned turn before its completion arrives (0.775918ms) +2026-09-27T05:31:46.8715978Z ✔ a completed Goal-owned turn is consumed without crossing pause and resume (0.778972ms) +2026-09-27T05:31:46.8745514Z ▶ resolved failure and rejected Goal-owned turns pause without retrying +2026-09-27T05:31:46.8775328Z ✔ aborted (11.17111ms) +2026-09-27T05:31:46.8805162Z ✔ rejected (0.893103ms) +2026-09-27T05:31:46.8806281Z ✔ resolved failure and rejected Goal-owned turns pause without retrying (12.670802ms) +2026-09-27T05:31:46.8835631Z ✔ GoalContinuationCoordinator admission and completion (69.400778ms) +2026-09-27T05:31:46.8858312Z ▶ GoalContinuationCoordinator waiting and task gate +2026-09-27T05:31:46.8877707Z ✔ waiting is visible and uses 5s → 10s backoff instead of immediate turns (5.451875ms) +2026-09-27T05:31:46.8879648Z ✔ waiting recovery preserves its frozen prompt across wake, busy admission, and re-recovery (1.036823ms) +2026-09-27T05:31:46.8898194Z ✔ a real user turn preempts waiting and cancels its retry (8.668911ms) +2026-09-27T05:31:46.8916216Z ✔ task reminder is consumed and traced only after admission starts (4.948335ms) +2026-09-27T05:31:46.8918907Z ✔ task reminder is injected once per Goal across chained turns (1.283918ms) +2026-09-27T05:31:46.8945689Z ✔ a pending diagnostic trace cannot block a completed owned turn behind it (2.989687ms) +2026-09-27T05:31:46.8975612Z ✔ GoalContinuationCoordinator waiting and task gate (24.980737ms) +2026-09-27T05:31:46.9005677Z ✔ leaves a Session draft alone when the new-task target changes behind it (171.240589ms) +2026-09-27T05:31:46.9007115Z ✔ composer recovery notices share one wrapper and secondary disabled action (66.454473ms) +2026-09-27T05:31:46.9036027Z ✔ composer recovery notices omit the action when no handler exists (1.832974ms) +2026-09-27T05:31:46.9049090Z ✔ Session recovery disables only a hidden model-picker action (4.36894ms) +2026-09-27T05:31:46.9050302Z ✔ a hidden model picker does not disable reload or Settings recovery (6.290242ms) +2026-09-27T05:31:46.9063322Z ✔ ChatView renders the optimistic bubble and running status before a session exists (99.161677ms) +2026-09-27T05:31:46.9065079Z ✔ ChatView shows the empty state when there is neither a bubble nor a running turn (4.778741ms) +2026-09-27T05:31:46.9066355Z ✔ a prompt on its way to the Host holds its Turn place beside a copy that did not send (47.287957ms) +2026-09-27T05:31:46.9067620Z ✔ ordinary sends stay in ChatView while queued prompts stay in the composer (223.547149ms) +2026-09-27T05:31:46.9697235Z ✔ desktop plugin routing unprojects Session ids, fences Host identity and pins streams across selection changes (13.176671ms) +2026-09-27T05:31:46.9756495Z ✔ Client Plugin transport serves only the exact Host-projected bundle generation (94.250126ms) +2026-09-27T05:31:46.9832630Z ✔ Client Plugin streams belong to their renderer document, including late opens (8.107781ms) +2026-09-27T05:31:47.1485644Z ✔ applies each client settings snapshot once across local writes and file watcher echoes (12.756216ms) +2026-09-27T05:31:47.1517477Z ✔ applies a chosen app icon once, and again only when the choice changes (0.674888ms) +2026-09-27T05:31:47.1565988Z ✔ an OS appearance flip re-applies the icon without any setting changing (4.218205ms) +2026-09-27T05:31:47.1599673Z ✔ with one icon for both appearances a theme flip changes nothing (0.545389ms) +2026-09-27T05:31:47.1626308Z ✔ an explicit dark preference ignores what the OS reports (0.45092ms) +2026-09-27T05:31:47.1671011Z ✔ applies WorkHub enable state from the supplied snapshot without another storage read (3.150645ms) +2026-09-27T05:31:47.2716441Z ✔ client settings updates filter Host policy and return newly submitted secrets (6.60226ms) +2026-09-27T05:31:47.3141111Z ✔ refreshes only for client settings replacements and stops cleanly (13.564711ms) +2026-09-27T05:31:47.3846326Z ▶ parseGoalEvaluation +2026-09-27T05:31:47.3895879Z ✔ ignores a stray wait_seconds field in evaluator output (6.320121ms) +2026-09-27T05:31:47.3976898Z ✔ extracts JSON from surrounding prose (0.575634ms) +2026-09-27T05:31:47.4047770Z ✔ missing fields default to false (1.725471ms) +2026-09-27T05:31:47.4104120Z ✔ rejects met="false" as a neutral evaluator failure (0.324532ms) +2026-09-27T05:31:47.4189446Z ✔ rejects met="true" as a neutral evaluator failure (0.207559ms) +2026-09-27T05:31:47.4372478Z ✔ rejects met="" as a neutral evaluator failure (0.149642ms) +2026-09-27T05:31:47.4537030Z ✔ rejects met=0 as a neutral evaluator failure (3.284815ms) +2026-09-27T05:31:47.4551947Z ✔ rejects met=1 as a neutral evaluator failure (0.191408ms) +2026-09-27T05:31:47.4615716Z ✔ rejects met=null as a neutral evaluator failure (1.05942ms) +2026-09-27T05:31:47.4675617Z ✔ rejects met=[] as a neutral evaluator failure (0.23585ms) +2026-09-27T05:31:47.4678862Z ✔ rejects impossible="false" as a neutral evaluator failure (0.156174ms) +2026-09-27T05:31:47.4706151Z ✔ rejects impossible="true" as a neutral evaluator failure (0.167834ms) +2026-09-27T05:31:47.4745544Z ✔ rejects impossible="" as a neutral evaluator failure (0.107865ms) +2026-09-27T05:31:47.4765812Z ✔ rejects impossible=0 as a neutral evaluator failure (0.109904ms) +2026-09-27T05:31:47.4797150Z ✔ rejects impossible=1 as a neutral evaluator failure (0.076846ms) +2026-09-27T05:31:47.4865620Z ✔ rejects impossible=null as a neutral evaluator failure (0.068533ms) +2026-09-27T05:31:47.4896576Z ✔ rejects impossible=[] as a neutral evaluator failure (0.071142ms) +2026-09-27T05:31:47.4926963Z ✔ rejects progress="false" as a neutral evaluator failure (0.067665ms) +2026-09-27T05:31:47.4955577Z ✔ rejects progress="true" as a neutral evaluator failure (0.067444ms) +2026-09-27T05:31:47.4989423Z ✔ rejects progress="" as a neutral evaluator failure (0.056592ms) +2026-09-27T05:31:47.5038472Z ✔ rejects progress=0 as a neutral evaluator failure (0.088542ms) +2026-09-27T05:31:47.5065906Z ✔ rejects progress=1 as a neutral evaluator failure (0.069764ms) +2026-09-27T05:31:47.5115527Z ✔ rejects progress=null as a neutral evaluator failure (0.0744ms) +2026-09-27T05:31:47.5145582Z ✔ rejects progress=[] as a neutral evaluator failure (0.062502ms) +2026-09-27T05:31:47.5195440Z ✔ rejects waiting="false" as a neutral evaluator failure (0.309978ms) +2026-09-27T05:31:47.5213687Z ✔ rejects waiting="true" as a neutral evaluator failure (0.157486ms) +2026-09-27T05:31:47.5262507Z ✔ rejects waiting="" as a neutral evaluator failure (2.213459ms) +2026-09-27T05:31:47.5263702Z ✔ rejects waiting=0 as a neutral evaluator failure (0.157143ms) +2026-09-27T05:31:47.5264846Z ✔ rejects waiting=1 as a neutral evaluator failure (0.074964ms) +2026-09-27T05:31:47.5286978Z ✔ rejects waiting=null as a neutral evaluator failure (0.064826ms) +2026-09-27T05:31:47.5287963Z ✔ rejects waiting=[] as a neutral evaluator failure (0.061682ms) +2026-09-27T05:31:47.5288993Z ✔ rejects the whole judgment when a true verdict accompanies an invalid field (0.128066ms) +2026-09-27T05:31:47.5289921Z ✔ accepts boolean false as a real no-progress judgment (0.352136ms) +2026-09-27T05:31:47.5290849Z ✔ unparseable output → neutral evaluator failure (not real no-progress) (0.264528ms) +2026-09-27T05:31:47.5291650Z ✔ malformed JSON → neutral evaluator failure (0.210489ms) +2026-09-27T05:31:47.5292475Z ✔ braces inside reason → treated as neutral, not false no-progress (0.123907ms) +2026-09-27T05:31:47.5293238Z ✔ truncates long reason (0.330821ms) +2026-09-27T05:31:47.5293845Z ✔ parseGoalEvaluation (25.715071ms) +2026-09-27T05:31:47.5294378Z ▶ evaluateGoal +2026-09-27T05:31:47.5320626Z ✔ fails open on evaluator error (evaluatorFailed=true, continue) (2.087494ms) +2026-09-27T05:31:47.5362613Z ✔ fails open on timeout (evaluatorFailed=true, continue) (0.523833ms) +2026-09-27T05:31:47.5394629Z ✔ aborts the physical evaluator call when its owner is invalidated (0.781316ms) +2026-09-27T05:31:47.5395813Z ✔ clears the timeout timer on success (0.274676ms) +2026-09-27T05:31:47.5396732Z ✔ threads the sessionId into the evaluator (session-model routing) (0.572938ms) +2026-09-27T05:31:47.5397505Z ✔ evaluateGoal (4.598696ms) +2026-09-27T05:31:47.5399064Z ▶ GoalManager creation and lifecycle +2026-09-27T05:31:47.5403375Z ✔ isolates observer failure after committing state (11.45433ms) +2026-09-27T05:31:47.5404365Z ✔ creates an immutable active goal with defaults and custom limits (0.405439ms) +2026-09-27T05:31:47.5405445Z ✔ stores the condition trimmed, whichever caller set it (0.876569ms) +2026-09-27T05:31:47.5406416Z ✔ rejects active and paused Goal replacement without mutating either snapshot (0.393779ms) +2026-09-27T05:31:47.5407551Z ✔ a terminal Goal may be followed by a new Goal without rewriting its snapshot (1.758793ms) +2026-09-27T05:31:47.5408591Z ✔ pause, resume, waiting wake, and clear each produce a new revision (0.652571ms) +2026-09-27T05:31:47.5409625Z ✔ waiting blocks replacement, can be paused with a reason, and rejects stale wake (0.316952ms) +2026-09-27T05:31:47.5411223Z ✔ restored control authority uses durable value identity and rejects an older generation (0.427697ms) +2026-09-27T05:31:47.5412314Z ✔ GoalManager creation and lifecycle (19.456266ms) +2026-09-27T05:31:47.5413170Z ▶ GoalManager token budget baseline +2026-09-27T05:31:47.5414018Z ✔ measures the budget from the first carried Turn, whoever set the Goal (0.399689ms) +2026-09-27T05:31:47.5415210Z ✔ GoalManager token budget baseline (0.654307ms) +2026-09-27T05:31:47.5415849Z ▶ GoalManager arming +2026-09-27T05:31:47.5416570Z ✔ a Goal the model set drives from the moment it exists (4.879991ms) +2026-09-27T05:31:47.5417541Z ✔ an armed Goal drives once a carried Turn settles it into a continuation (0.244944ms) +2026-09-27T05:31:47.5418467Z ✔ resume drives an armed Goal no Turn ever carried (0.222911ms) +2026-09-27T05:31:47.5419478Z ✔ GoalManager arming (5.628087ms) +2026-09-27T05:31:47.5420129Z ▶ GoalManager atomic turn settlement +2026-09-27T05:31:47.5421146Z ✔ commits token, iteration, progress, reason, revision, and one event atomically (0.268087ms) +2026-09-27T05:31:47.5422217Z ✔ terminal evaluator verdict settles without advancing turn counters (2.04776ms) +2026-09-27T05:31:47.5423167Z ✔ token budget stops settlement before iteration and stall updates (0.315381ms) +2026-09-27T05:31:47.5424025Z ✔ iteration cap stops settlement before the stall update (0.171873ms) +2026-09-27T05:31:47.5427401Z ✔ progress resets the streak and no progress eventually stalls (0.145196ms) +2026-09-27T05:31:47.5428509Z ✔ waiting consumes a real iteration but is neutral to progress and still obeys hard caps (2.240645ms) +2026-09-27T05:31:47.5429580Z ✔ token observations remain monotonic after the initial baseline (0.232011ms) +2026-09-27T05:31:47.5430459Z ✔ GoalManager atomic turn settlement (5.790285ms) +2026-09-27T05:31:47.5450137Z ▶ GoalManager stale rejection +2026-09-27T05:31:47.5451008Z ✔ rejects an evaluator checkpoint invalidated by pause and resume (0.173965ms) +2026-09-27T05:31:47.5451978Z ✔ rejects an evaluator checkpoint after clear and replacement (ABA) (0.123501ms) +2026-09-27T05:31:47.5452771Z ✔ GoalManager stale rejection (0.42923ms) +2026-09-27T05:31:47.7780132Z ▶ goal tools +2026-09-27T05:31:47.7927867Z ✔ GoalSet leaves the token baseline for the first carried Turn to settle (19.45517ms) +2026-09-27T05:31:47.7995790Z ✔ GoalSet reports an unfinished Goal instead of replacing it (1.151552ms) +2026-09-27T05:31:47.8097543Z ✔ GoalPause / GoalResume lifecycle (5.398096ms) +2026-09-27T05:31:47.8135520Z ✔ goal tools (27.752964ms) +2026-09-27T05:31:47.8703372Z ▶ Goal turn lifecycle +2026-09-27T05:31:47.8745576Z ✔ shares one idle generation and supports synchronous or waiting exclusive admission (3.136716ms) +2026-09-27T05:31:47.8786145Z ✔ aborts a queued exclusive admission without acquiring after the session becomes idle (0.739986ms) +2026-09-27T05:31:47.8819020Z ✔ classifies continuation outcomes at the lifecycle boundary (4.584964ms) +2026-09-27T05:31:47.8835677Z ✔ settles only after a full drain and releases activity before notifying the owner (4.672618ms) +2026-09-27T05:31:47.8856916Z ✔ keeps draining from an error event through terminal completion (0.426657ms) +2026-09-27T05:31:47.8886502Z ✔ keeps draining after an event observer failure before settling the projection error (0.443999ms) +2026-09-27T05:31:47.8911537Z ✔ Goal turn lifecycle (18.811929ms) +2026-09-27T05:31:48.0138564Z ✔ counts matching lines at per-file and total boundaries, not regex occurrences (297.150216ms) +2026-09-27T05:31:48.0727715Z ✔ a retained retired connection gets no palette commands (10.580835ms) +2026-09-27T05:31:48.0758439Z ✔ a stale in-memory default pointing at a retired connection is not testable (3.50549ms) +2026-09-27T05:31:48.0819495Z ✔ the palette opens the Skills surface instead of an ambiguous Skills folder (0.387721ms) +2026-09-27T05:31:48.0878202Z ✔ en static shortcut hints preserve both platform variants (1.388149ms) +2026-09-27T05:31:48.0923545Z ✔ zh-CN static shortcut hints preserve both platform variants (0.369793ms) +2026-09-27T05:31:48.4476858Z ✔ bounds retained JSON while finishing searches larger than the former stdout buffers (429.386983ms) +2026-09-27T05:31:48.5285873Z ✔ scans binary data to completion and counts non-UTF8 lines without lossy previews (87.077648ms) +2026-09-27T05:31:48.5385632Z ✔ reduces one chunked search and refuses partial, missing, or invalid summaries (1.468209ms) +2026-09-27T05:31:48.5825847Z ▶ history compact checkpoint +2026-09-27T05:31:48.5827059Z ✔ rejects provider-native state from a recreated same-slug connection (5.254149ms) +2026-09-27T05:31:48.5940668Z ✔ persists provider-native state as a V3 checkpoint bound to one Codex model (1.62914ms) +2026-09-27T05:31:48.5995770Z ✔ rejects malformed provider-native checkpoint state and keeps V2 strict (1.844847ms) +2026-09-27T05:31:48.6050397Z ✔ validates the exact ordered source prefix (10.226343ms) +2026-09-27T05:31:48.6103378Z ✔ rejects blank summaries instead of persisting an unusable checkpoint (0.68404ms) +2026-09-27T05:31:48.6104971Z ✔ preserves the complete model-produced summary instead of truncating it after generation (0.578307ms) +2026-09-27T05:31:48.6198363Z ✔ rejects a source projection assembled from more than one session (0.314214ms) +2026-09-27T05:31:48.6236551Z ✔ rejects inconsistent projection cursors (0.511568ms) +2026-09-27T05:31:48.6252089Z ✔ only accepts an equal-coverage checkpoint as an explicit successor of the same source (1.677316ms) +2026-09-27T05:31:48.6345569Z ✔ loads the latest valid checkpoint from the run ledger (2.659965ms) +2026-09-27T05:31:48.6375544Z ✔ binds an automatic Memory boundary into checkpoint identity (1.620924ms) +2026-09-27T05:31:48.6435692Z ✔ reloads a valid provider-native V3 checkpoint from the run ledger (0.496799ms) +2026-09-27T05:31:48.6495743Z ✔ rejects a truncated checkpoint at load and recovers the prior valid one (0.592245ms) +2026-09-27T05:31:48.6555714Z ✔ stamps new text checkpoints with the sectioned format (1.077122ms) +2026-09-27T05:31:48.6613330Z ✔ the builder refuses to mint the sectioned marker for unvalidated text (0.97363ms) +2026-09-27T05:31:48.6647324Z ✔ shape validation fails closed on an unknown summary format marker (0.347469ms) +2026-09-27T05:31:48.6678554Z ✔ shape validation rejects unmarked V2 checkpoints from 0.1.x (0.34525ms) +2026-09-27T05:31:48.6708965Z ✔ a marked checkpoint is held to the complete predicate at load (0.8713ms) +2026-09-27T05:31:48.6785937Z ✔ treats a truncated projection as invalid and repairs from the canonical ledger (1.033513ms) +2026-09-27T05:31:48.6862683Z ✔ loads the furthest checkpoint when a later run records stale coverage (0.806206ms) +2026-09-27T05:31:48.6952739Z ✔ recovers the tip of an out-of-order same-coverage successor chain across runs (1.248405ms) +2026-09-27T05:31:48.7126292Z ✔ loads a bounded checkpoint projection without enumerating run ledgers (0.832115ms) +2026-09-27T05:31:48.7229205Z ✔ uses an empty bounded projection without enumerating run ledgers (0.192965ms) +2026-09-27T05:31:48.7330361Z ✔ recovers and repairs an uninitialized bounded projection from the canonical ledger (0.582069ms) +2026-09-27T05:31:48.7381126Z ✔ recovers without repairing when the store lacks a ledger revision capability (0.721545ms) +2026-09-27T05:31:48.7450408Z ✔ identifies a parseable but invalid projection when repairing from the canonical ledger (0.607517ms) +2026-09-27T05:31:48.7538313Z ✔ propagates recovery failure from a damaged bounded projection (0.386621ms) +2026-09-27T05:31:48.7575860Z ✔ replays a matching checkpoint with only the uncovered raw tail (1.695658ms) +2026-09-27T05:31:48.7648012Z ✔ replays a durable pre_turn checkpoint without a local size gate (0.923287ms) +2026-09-27T05:31:48.7662242Z ✔ replay keeps a directory-only successor the checkpoint does not cover (#4804) (0.801367ms) +2026-09-27T05:31:48.7735527Z ✔ history compact checkpoint (50.926719ms) +2026-09-27T05:31:48.7745841Z ▶ history compaction input fitting +2026-09-27T05:31:48.7825965Z ✔ bounds oversized tool evidence without breaking the call/result pair (5.042441ms) +2026-09-27T05:31:48.7896513Z ✔ bounds every oversized result in a multi-result tool message (0.611031ms) +2026-09-27T05:31:48.7964668Z ✔ fails before dispatch when non-tool history cannot fit (0.650337ms) +2026-09-27T05:31:48.7995373Z ✔ keeps the projection unchanged without a budget or when it already fits (0.244994ms) +2026-09-27T05:31:48.8014778Z ✔ history compaction input fitting (10.490415ms) +2026-09-27T05:31:48.8077865Z ▶ mid-turn history compact checkpoint +2026-09-27T05:31:48.8147837Z ✔ builds a mid_turn checkpoint that re-renders the covered head anchor verbatim (12.513105ms) +2026-09-27T05:31:48.8196497Z ✔ rejects a mid_turn checkpoint without a covered head anchor (0.9763ms) +2026-09-27T05:31:48.8276918Z ✔ rejects a head anchor that is not the compacted turn's user event (0.38675ms) +2026-09-27T05:31:48.8320400Z ✔ rejects a head anchor pointing at another covered turn's user event (0.722377ms) +2026-09-27T05:31:48.8384875Z ✔ rejects coverage that includes a partial streaming snapshot (3.932947ms) +2026-09-27T05:31:48.8445651Z ✔ fails the prefix match closed when the head anchor reference is corrupted (0.671778ms) +2026-09-27T05:31:48.8495694Z ✔ keeps pre_turn checkpoint ids stable when phase is absent or explicit (0.864296ms) +2026-09-27T05:31:48.8555667Z ✔ replays a mid_turn checkpoint as [block, verbatim head anchor, uncovered tail] (5.438923ms) +2026-09-27T05:31:48.8615624Z ✔ mid-turn history compact checkpoint (36.999246ms) +2026-09-27T05:31:48.9744119Z ▶ Maka ACP child process +2026-09-27T05:31:48.9776780Z ✔ replays pre-subscription stdout once and continues capture after protocol cancellation (19.961922ms) +2026-09-27T05:31:48.9863834Z ✔ replays captured stdout before surfacing its stored error (5.182237ms) +2026-09-27T05:31:48.9869316Z ✔ forwards a child stdout error into the capture tap (4.443731ms) +2026-09-27T05:31:48.9914323Z ✔ accepts only exclusive JSON-RPC request, notification, and response forms (2.031128ms) +2026-09-27T05:31:48.9985149Z ✔ serves ACP without a Runtime Host and exits after stdin EOF (2191.08514ms) +2026-09-27T05:31:49.0017398Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:31:49.0105731Z ✔ serves multiple ACP Sessions through a real Runtime Host (6532.023759ms) +2026-09-27T05:31:49.0160573Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:31:49.0215829Z ✔ configures every advertised option for a reasoning model through a real Runtime Host (3491.79757ms) +2026-09-27T05:31:49.0272163Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:31:49.0305642Z ✔ creates more than sixteen Sessions without attaching on a real Runtime Host (3961.795597ms) +2026-09-27T05:31:49.0362783Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:31:49.0415863Z ✔ publishes local resource links as Session Artifacts before prompting the real Host (4696.18939ms) +2026-09-27T05:31:49.0461665Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:31:49.0495759Z ✔ Host admission rejects an extra attachment before starting a Turn and close releases capacity (15020.7874ms) +2026-09-27T05:31:49.0532906Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:31:49.0600421Z ✔ streams, cancels, and closes through the real ACP and Runtime Host process boundary (4687.163232ms) +2026-09-27T05:31:49.7636588Z ▶ buildLlmHistorySummarizer +2026-09-27T05:31:49.7674180Z ✔ inherits the session provider options and applies the default output cap (15.824511ms) +2026-09-27T05:31:49.7696405Z ✔ attributes provider-reported usage to one canonical history-compaction record (66.672573ms) +2026-09-27T05:31:49.7731357Z ✔ attributes a malformed completion and its repair to separate logical steps (13.090971ms) +2026-09-27T05:31:49.7804180Z ✔ produces schema-valid tool-result messages (toolName + wrapped output) and does not fall back (3.581454ms) +2026-09-27T05:31:49.7835484Z ✔ groups parallel tool calls into one assistant message for strict providers (1.19476ms) +2026-09-27T05:31:49.7856043Z ✔ keeps a step open across interleaved results until every call is settled (1.121723ms) +2026-09-27T05:31:49.7897358Z ✔ ends every summary request with a user instruction the model can answer (0.70882ms) +2026-09-27T05:31:49.7950529Z ✔ does not merge distinct settled steps into one assistant message (1.077782ms) +2026-09-27T05:31:49.7963254Z ✔ stamped step ids decide membership over settledness (1.177577ms) +2026-09-27T05:31:49.7964324Z ✔ surfaces provider failures so the runtime can report the real compact reason (3.418482ms) +2026-09-27T05:31:49.7992804Z ✔ surfaces an exhausted output budget instead of reporting a generic empty summary (1.240012ms) +2026-09-27T05:31:49.8000625Z ✔ rejects non-empty partial text when the provider exhausted its output budget (0.798198ms) +2026-09-27T05:31:49.8001819Z ✔ shortens the prompt once when the first summary hits the output limit (0.442973ms) +2026-09-27T05:31:49.8002968Z ✔ rejects the incident fragment: a free-form summary without the mandated sections (0.459761ms) +2026-09-27T05:31:49.8004064Z ✔ repairs one malformed completion with a single stricter retry (0.285612ms) +2026-09-27T05:31:49.8005231Z ✔ delivers the summarization instruction as the trailing user message (#4634) (0.263271ms) +2026-09-27T05:31:49.8006240Z ✔ bounds a persistently malformed completion at two provider calls (0.285485ms) +2026-09-27T05:31:49.8007274Z ✔ preserves the initial malformed defect when the repair request fails (4.448831ms) +2026-09-27T05:31:49.8008842Z ✔ a context-length rejection of the repair request stays the input_too_large signal (0.413907ms) +2026-09-27T05:31:49.8009976Z ✔ preserves cancellation when a malformed-summary repair is aborted (0.308178ms) +2026-09-27T05:31:49.8011160Z ✔ preserves the initial malformed defect when the repair is empty (3.240904ms) +2026-09-27T05:31:49.8012146Z ✔ a deeper heading level cannot stand in for a mandated section (0.356074ms) +2026-09-27T05:31:49.8013139Z ✔ headings quoted inside a fenced code block are not summary structure (1.510225ms) +2026-09-27T05:31:49.8014114Z ✔ requires the Critical Context section the incident lost (0.458451ms) +2026-09-27T05:31:49.8015439Z ✔ an unfenced verbatim echo of the prompt template is not a checkpoint (0.324212ms) +2026-09-27T05:31:49.8016729Z ✔ a four-backtick fence is not closed by a three-backtick line (1.777211ms) +2026-09-27T05:31:49.8018076Z ✔ a trailing shorter run leaves a wide fence open: truncation (24.549744ms) +2026-09-27T05:31:49.8019424Z ✔ a fence marker with trailing text is content, not a closer (0.399892ms) +2026-09-27T05:31:49.8020633Z ✔ nested bare fence markers are not section content (0.317492ms) +2026-09-27T05:31:49.8021871Z ✔ a four-space-indented marker run is indented code, not a fence closer (0.313417ms) +2026-09-27T05:31:49.8022929Z ✔ a fence closer indented up to three spaces still closes (4.306545ms) +2026-09-27T05:31:49.8023917Z ✔ a longer same-family run still closes a narrower fence (4.031078ms) +2026-09-27T05:31:49.8056522Z ✔ indented and bare heading markers are headings, not section content (0.381496ms) +2026-09-27T05:31:49.8085709Z ✔ a required heading indented up to three spaces still matches its section (0.231806ms) +2026-09-27T05:31:49.8108475Z ✔ rejects a heading-only skeleton with no section content (0.334369ms) +2026-09-27T05:31:49.8145607Z ✔ horizontal rules between headings are separators, not section content (0.292563ms) +2026-09-27T05:31:49.8212213Z ✔ content under a non-required section cannot satisfy a required one (0.277721ms) +2026-09-27T05:31:49.8276430Z ✔ accepts a well-formed summary with CRLF line endings (0.317436ms) +2026-09-27T05:31:49.8325697Z ✔ CRLF horizontal rules are still separators, not section content (0.310469ms) +2026-09-27T05:31:49.8379822Z ✔ rejects the mandated sections when they appear out of order (0.291123ms) +2026-09-27T05:31:49.8434955Z ✔ requires each mandated section heading to match the whole line (0.919519ms) +2026-09-27T05:31:49.8495669Z ✔ rejects a structured summary that ends mid-sentence on a trailing colon (0.464608ms) +2026-09-27T05:31:49.8504551Z ✔ rejects a structured summary ending in an ASCII ellipsis (0.486311ms) +2026-09-27T05:31:49.8586121Z ✔ rejects a structured summary with an unclosed code fence (0.477556ms) +2026-09-27T05:31:49.8628983Z ✔ a verbatim inline fence marker in a preserved error message is not truncation (0.239828ms) +2026-09-27T05:31:49.8666783Z ✔ rejects a paragraph-sized summary for a large folded span when usage says it is too small (0.591066ms) +2026-09-27T05:31:49.8677681Z ✔ a provider's context-length rejection is the fold's input_too_large signal (0.741606ms) +2026-09-27T05:31:49.8705932Z ✔ the usage floor judges an initial fold and stands down on a roll-forward (10.432062ms) +2026-09-27T05:31:49.8707666Z ✔ a summary without provider usage is not rejected by the size floor (3.425335ms) +2026-09-27T05:31:49.8766773Z ✔ accepts a proportionate structured summary for a large folded span (0.32336ms) +2026-09-27T05:31:49.8768059Z ✔ returns undefined without calling generateText when there are no events to summarize (0.135347ms) +2026-09-27T05:31:49.8822271Z ✔ rolling summary sends the prior summary plus only newly folded events (0.634117ms) +2026-09-27T05:31:49.8853826Z ✔ recompresses the full source when the previous checkpoint is provider-native (0.774719ms) +2026-09-27T05:31:49.8887478Z ✔ buildLlmHistorySummarizer (192.161456ms) +2026-09-27T05:31:49.9157000Z ▶ safe compaction prefix selection +2026-09-27T05:31:49.9223265Z ✔ folds the largest immutable non-partial prefix, leaving the reserved tail (4.96022ms) +2026-09-27T05:31:49.9271828Z ✔ never cuts on a partial (streaming) event (0.281956ms) +2026-09-27T05:31:49.9355704Z ✔ never splits a tool call/result pair (3.603867ms) +2026-09-27T05:31:49.9365646Z ✔ retreats before a partial in the middle of the prefix, not just at the cut (0.242377ms) +2026-09-27T05:31:49.9427841Z ✔ never covers an open tool call whose response has not arrived (0.199625ms) +2026-09-27T05:31:49.9476086Z ✔ reports no safe completed span when the whole pool is one atomic pair (0.266901ms) +2026-09-27T05:31:49.9505514Z ✔ safe compaction prefix selection (12.067918ms) +2026-09-27T05:31:49.9545543Z ▶ plan context compaction +2026-09-27T05:31:49.9546382Z ✔ compacts whenever the caller has emitted a compaction command (9.582833ms) +2026-09-27T05:31:49.9596127Z ✔ compacts a safe prefix, keeps the head anchor verbatim, and continues with the tail (2.76171ms) +2026-09-27T05:31:49.9605390Z ✔ step-0 recovery folds prior history without covering the current user anchor (7.492359ms) +2026-09-27T05:31:49.9645846Z ✔ retreats to the span the last accepted input covered (1.063727ms) +2026-09-27T05:31:49.9665308Z ✔ a later fold rolls over the reply the retreat left verbatim (1.965804ms) +2026-09-27T05:31:49.9675578Z ✔ fails open when the proven boundary is refused too (0.338784ms) +2026-09-27T05:31:49.9705495Z ✔ a mixed-route session retreats to this route's own newest reply (1.131056ms) +2026-09-27T05:31:49.9745446Z ✔ fails open when only another route has ever been accepted (0.347999ms) +2026-09-27T05:31:49.9775503Z ✔ fails open without retrying when no accepted reply proves a boundary (0.755125ms) +2026-09-27T05:31:49.9776619Z ✔ fails open on an input-too-large rejection with the summarizer reason (0.32562ms) +2026-09-27T05:31:49.9805654Z ✔ persisted checkpoint replay-validates against the same ledger prefix (recovery) (1.990877ms) +2026-09-27T05:31:49.9835403Z ✔ fails open when the summarizer throws (0.26258ms) +2026-09-27T05:31:49.9836438Z ✔ preserves a typed summarizer failure as the mid-turn diagnostic reason (0.233656ms) +2026-09-27T05:31:49.9837414Z ✔ fails open when the summarizer returns no checkpoint (0.221527ms) +2026-09-27T05:31:49.9838300Z ✔ the write gate rejects a malformed summary from any producer (0.365786ms) +2026-09-27T05:31:49.9839297Z ✔ fails open with no_safe_completed_span when the pool has no safe cut past the anchor (0.268137ms) +2026-09-27T05:31:49.9840168Z ✔ does not issue a post-fold window verdict (0.853382ms) +2026-09-27T05:31:49.9841072Z ✔ rolls forward from a matching previous checkpoint (only the new span is summarized) (2.152814ms) +2026-09-27T05:31:49.9842050Z ✔ keeps rolling forward when the effective coverage is unchanged (3.26527ms) +2026-09-27T05:31:49.9843152Z ✔ discards a previous checkpoint whose effective coverage drifted before roll-forward (#4845 review) (6.017153ms) +2026-09-27T05:31:49.9844080Z ✔ plan context compaction (45.175643ms) +2026-09-27T05:31:49.9845147Z ✔ validateImageBytes rejects image signatures without parseable dimensions (2.210145ms) +2026-09-27T05:31:49.9875757Z ✔ validateImageBytes accepts a valid one-pixel image (1.118581ms) +2026-09-27T05:31:49.9905607Z ✔ validateImageBytes rejects non-positive image dimensions (0.3585ms) +2026-09-27T05:31:49.9906994Z ✔ readWorkspaceImage rejects images whose dimensions exceed the model input limit (28.447841ms) +2026-09-27T05:31:50.0838619Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:31:50.6076310Z ▶ Runtime Interaction authority seam +2026-09-27T05:31:50.6136286Z ✔ binds the exact Run and rejects release before durable close (38.033975ms) +2026-09-27T05:31:50.6162328Z ✔ durably reclaims an owner that returns the wrong Run identity (1.457759ms) +2026-09-27T05:31:50.6180878Z ✔ rejects a question registered after stop closure as an exact closed-Run admission (8.466793ms) +2026-09-27T05:31:50.6396357Z ✔ publishes a hosted question only after admission and resolves only through its continuation (68.374938ms) +2026-09-27T05:31:50.6605508Z ✔ publishes a hosted form and resumes only after its exact canonical continuation settles (13.449881ms) +2026-09-27T05:31:50.6639968Z ✔ matches a hosted sandbox boundary acknowledgement to its exact durable settlement (0.997659ms) +2026-09-27T05:31:50.6716062Z ✔ keeps aggregate pending state until every hosted question settles (19.915453ms) +2026-09-27T05:31:50.6774187Z ✔ defers question teardown after backend cleanup clears current run identity (7.444531ms) +2026-09-27T05:31:50.6805997Z ✔ removes a rejected admission without publishing or leaving a parked question (3.207977ms) +2026-09-27T05:31:50.6845335Z ✔ fails closed instead of broadcasting Session-level hosted question answers (0.564551ms) +2026-09-27T05:31:50.6907693Z ✔ Runtime Interaction authority seam (166.824819ms) +2026-09-27T05:31:50.7955760Z ✔ directory picker cancellation, duplicates and removal leave the draft consistent (88.774536ms) +2026-09-27T05:31:50.8426167Z ✔ discards a picker reply after its draft or Host changes (44.566363ms) +2026-09-27T05:31:50.8515189Z [desktop] operation failed: Error: Directory references require the local Host. +2026-09-27T05:31:50.8574764Z at Object.pickDirectory [as onPickDirectory] (file:///home/runner/work/maka/maka/packages/ui/dist/use-composer-attachments.js:307:23) +2026-09-27T05:31:50.8638750Z ✔ rejects a foreign Host picker result and does not pick without a local Host (20.213182ms) +2026-09-27T05:31:50.8773500Z ✔ caps concurrent picker results and clearing a submitted draft keeps newer references (14.890535ms) +2026-09-27T05:31:50.8896253Z ✔ IPC validates directory references without turning them into attachments or permissions (7.312961ms) +2026-09-27T05:31:51.4794084Z ✔ a session switch immediately replaces the populated catalog with loading (134.028616ms) +2026-09-27T05:31:51.5036608Z ✔ a session switch immediately replaces the empty catalog with loading (49.53746ms) +2026-09-27T05:31:51.5162090Z ✔ a same-context refresh keeps the settled skills visible until it resolves (18.355143ms) +2026-09-27T05:31:51.5277984Z ✔ resolving the project path for an existing session keeps its catalog settled (13.467691ms) +2026-09-27T05:31:51.6295887Z ▶ Computer Use host health +2026-09-27T05:31:51.6331232Z ✔ does not report a binary-only executor as healthy before first use (1.768429ms) +2026-09-27T05:31:51.6424172Z ✔ reports ready, recovery, and unavailable states (0.30242ms) +2026-09-27T05:31:51.6507157Z ✔ reports a missing backend as unavailable (0.271115ms) +2026-09-27T05:31:51.6536085Z ✔ constructs a backend only when the local artifact matches the manifest hash (56.756548ms) +2026-09-27T05:31:51.6574660Z ✔ Computer Use host health (66.733773ms) +2026-09-27T05:31:51.6595756Z ✔ parses one bounded allowlist and rejects malformed policies (6.314209ms) +2026-09-27T05:31:51.6655752Z ✔ blocks disallowed and over-budget actions before dispatch (0.886405ms) +2026-09-27T05:31:51.6755561Z ✔ blocks wrong targets before dispatch (4.034957ms) +2026-09-27T05:31:51.6869007Z ✔ semantic mutations require an observation created by the owned fixture (0.469178ms) +2026-09-27T05:31:51.6883306Z ✔ wait does not require an impossible observation_id (0.465984ms) +2026-09-27T05:31:51.6956809Z ✔ nothing is subscribed until the first probe (13.67089ms) +2026-09-27T05:31:51.7025714Z ✔ a platform with nothing to subscribe to still answers (0.305496ms) +2026-09-27T05:31:51.7056654Z ✔ an unlocked machine reads as unlocked (5.685753ms) +2026-09-27T05:31:51.7185018Z ✔ the point-in-time query alone answers for a process that never saw the lock (0.254902ms) +2026-09-27T05:31:51.7253002Z ✔ the lock event alone answers when the query cannot (0.274468ms) +2026-09-27T05:31:51.7275836Z ✔ a query with no answer at all falls back to the events (0.177065ms) +2026-09-27T05:31:51.7353657Z ✔ an authoritative unlocked answer clears a latched lock event (0.178723ms) +2026-09-27T05:31:51.7379849Z ✔ a throwing probe falls back to the events rather than reporting unlocked (0.209369ms) +2026-09-27T05:31:51.7402028Z ✔ idle is not locked (0.204568ms) +2026-09-27T05:31:51.7469331Z ✔ dispose unsubscribes and stops reporting (0.393096ms) +2026-09-27T05:31:51.7479118Z ✔ unlocking releases every session that tried to drive the machine (9.543515ms) +2026-09-27T05:31:51.7523838Z ✔ a stopped session is not released (0.245564ms) +2026-09-27T05:31:51.7544583Z ✔ the overlay hook registers a session that dispatched, which is the executor-refusal path (7.176267ms) +2026-09-27T05:31:51.7577840Z ✔ disposing the guard forgets its sessions (1.408053ms) +2026-09-27T05:31:51.7665102Z ✔ rebuilds an active Computer Use menu when its resolved locale changes (10.341187ms) +2026-09-27T05:31:51.7707948Z ▶ config-transfer-service +2026-09-27T05:31:51.7875066Z ✔ applies an imported bundle to the stores and summarizes (6.857244ms) +2026-09-27T05:31:51.7883260Z ✔ canonicalizes a legacy zh preference before the imported settings reach observers (0.337337ms) +2026-09-27T05:31:51.7906136Z ✔ reports a settings-carried proxy credential skipped by Host target binding (0.2665ms) +2026-09-27T05:31:51.7965876Z ✔ restores the selection a backup states instead of re-enabling its default (3.806399ms) +2026-09-27T05:31:51.8011799Z ✔ does NOT write credentials for a connection the user skipped (0.357559ms) +2026-09-27T05:31:51.8055533Z ✔ writes credentials for a connection that was overwritten (0.393646ms) +2026-09-27T05:31:51.8121372Z ✔ reports a Host-bound connection credential write that loses its target race (0.353018ms) +2026-09-27T05:31:51.8145533Z ✔ writes a credentials-only bundle to an existing connection (0.370486ms) +2026-09-27T05:31:51.8200953Z ✔ skips a credentials-only entry without a source connection binding (4.09119ms) +2026-09-27T05:31:51.8202470Z ✔ skips a credentials-only entry when the target slug belongs to another provider (0.379145ms) +2026-09-27T05:31:51.8204371Z ✔ skips a credentials-only entry when the target endpoint differs (1.011505ms) +2026-09-27T05:31:51.8235558Z ✔ restores the whole bundle when it carries a retained retired connection (0.762425ms) +2026-09-27T05:31:51.8301172Z ✔ config-transfer-service (27.409213ms) +2026-09-27T05:31:51.8340337Z ✔ connection fixture seeds the Runtime Policy catalog, not llm-connections.json (302.80793ms) +2026-09-27T05:31:51.8365316Z ▶ connectionNameDraftReseed +2026-09-27T05:31:51.8437082Z ✔ a slug switch reseeds even mid-edit (3.73251ms) +2026-09-27T05:31:51.8453296Z ✔ an unrelated reload of the same connection keeps typed work (2.529815ms) +2026-09-27T05:31:51.8454761Z ✔ a rename that landed elsewhere reseeds a clean draft (0.224977ms) +2026-09-27T05:31:51.8464619Z ✔ a rename that landed elsewhere does not discard typed work (0.199316ms) +2026-09-27T05:31:51.8465552Z ✔ connectionNameDraftReseed (9.922287ms) +2026-09-27T05:31:51.8466237Z ▶ connectionNameDraftChanged +2026-09-27T05:31:51.8466886Z ✔ a different name is a change (0.296791ms) +2026-09-27T05:31:51.8467502Z ✔ the same name is not (0.244485ms) +2026-09-27T05:31:51.8468161Z ✔ whitespace alone is not a change (2.914403ms) +2026-09-27T05:31:51.8468904Z ✔ an emptied field is not offered as a change (0.236377ms) +2026-09-27T05:31:51.8470038Z ✔ connectionNameDraftChanged (6.166017ms) +2026-09-27T05:31:51.8470829Z ▶ connectionNameToSave +2026-09-27T05:31:51.8471558Z ✔ commits the trimmed name, not the raw draft (0.313426ms) +2026-09-27T05:31:51.8472313Z ✔ connectionNameToSave (0.620093ms) +2026-09-27T05:31:51.8472986Z ▶ shouldRefreshModelsAfterSave +2026-09-27T05:31:51.8473622Z ✔ a rename never fetches models (2.531831ms) +2026-09-27T05:31:51.8474376Z ✔ a new credential still fetches (0.173225ms) +2026-09-27T05:31:51.8475407Z ✔ a new endpoint still fetches (2.63058ms) +2026-09-27T05:31:51.8476296Z ✔ an empty cache still fetches for the fields that can fill it (0.149295ms) +2026-09-27T05:31:51.8477200Z ✔ shouldRefreshModelsAfterSave (5.821755ms) +2026-09-27T05:31:52.6218617Z ✔ a real send seals its observation into SQLite and reconstructs it after restart (669.656345ms) +2026-09-27T05:31:52.9390057Z ✔ a turn aborted before dispatch does not create a canonical sent attempt (323.436699ms) +2026-09-27T05:31:52.9987294Z ✔ an event address resolves and verifies against one evidence snapshot (12.72001ms) +2026-09-27T05:31:53.0027183Z ✔ reads committed SQLite evidence after reopen without any Artifact payload (727.676967ms) +2026-09-27T05:31:53.0076164Z ✔ v1 archive encoding is byte-identical for text, JSON, denial and media (1.588894ms) +2026-09-27T05:31:53.0115976Z ✔ reads the source of an applied archive transition, never the raw result (3.72464ms) +2026-09-27T05:31:53.0145951Z ✔ refuses missing projections instead of applying the legacy tool projector (0.528587ms) +2026-09-27T05:31:53.0175826Z ✔ an event address reads the current projection without weakening archive identity (4.523018ms) +2026-09-27T05:31:53.0205767Z ✔ rejects losing siblings using the existing reducer and accepts duplicate appends (1.01315ms) +2026-09-27T05:31:53.0215798Z ✔ reconstructs a predecessor replacement rather than the original projection (2.229514ms) +2026-09-27T05:31:53.0275738Z ✔ unknown transition versions and incomplete evidence do not expose a source (4.524257ms) +2026-09-27T05:31:53.0334974Z ✔ new archive commits only a v2 ledger reference and is readable through the resource decoder (13.86147ms) +2026-09-27T05:31:53.0440966Z ✔ preflight and transition failure leave the source projection unchanged (3.27243ms) +2026-09-27T05:31:53.0444804Z ✔ availability maps to read_failed while corrupt evidence remains corrupt (1.698566ms) +2026-09-27T05:31:53.0506991Z ▶ Linux sandbox smoke +2026-09-27T05:31:53.0593394Z ﹣ required Linux sandbox capability is available (1.14441ms) # SKIP +2026-09-27T05:31:53.0655684Z ✔ workspace-write can write workspace files and blocks sibling paths (85.529435ms) +2026-09-27T05:31:53.0702733Z ✔ workspace-write allows metadata writes inside the selected workspace (47.874079ms) +2026-09-27T05:31:53.0825831Z ✔ missing exact-write creation fails closed when its pinned parent moves (9.811124ms) +2026-09-27T05:31:53.0912510Z ✔ shell-launched Node uses runtime roots and the seccomp socket filter (217.644088ms) +2026-09-27T05:31:53.0995859Z ✔ builtin Bash executes a tool from a nonstandard host PATH inside bubblewrap (85.521379ms) +2026-09-27T05:31:53.1021773Z ✔ builtin Bash enforces an expanded managed boundary and explicit bypass (119.384689ms) +2026-09-27T05:31:53.1076609Z ✔ Linux sandbox smoke (573.63399ms) +2026-09-27T05:31:53.1165709Z ✔ pins canonical objects and rejects an ancestor redirected after authorization (39.950288ms) +2026-09-27T05:31:53.1245377Z ▶ detectLinuxSandboxCapability +2026-09-27T05:31:53.1268014Z ✔ probes every namespace required by production commands (7.759582ms) +2026-09-27T05:31:53.1295532Z ✔ reports non-Linux platforms without probing bwrap (0.758819ms) +2026-09-27T05:31:53.1305390Z ✔ reports a missing configured bwrap executable (0.193527ms) +2026-09-27T05:31:53.1335569Z ✔ reports an executable that cannot create the bubblewrap sandbox (210.808878ms) +2026-09-27T05:31:53.1355414Z ✔ detectLinuxSandboxCapability (222.962109ms) +2026-09-27T05:31:53.1380016Z ▶ buildBubblewrapArgv +2026-09-27T05:31:53.1406079Z ✔ mounts read-only profiles without a writable workspace bind (2.95303ms) +2026-09-27T05:31:53.1417637Z ✔ materializes writable workspace metadata, temp, cwd, and network restrictions (0.815511ms) +2026-09-27T05:31:53.1455583Z ✔ keeps the host network namespace when network is enabled (1.01821ms) +2026-09-27T05:31:53.1477559Z ✔ isolates host process namespaces when network is enabled (0.923269ms) +2026-09-27T05:31:53.1522548Z ✔ mounts an absolute program directory outside the default host paths (1.46108ms) +2026-09-27T05:31:53.1524353Z ✔ mounts runtime roots needed by a shell-launched executable (0.465651ms) +2026-09-27T05:31:53.1552483Z ✔ mounts required worker resources and uses a trusted parent for a missing exact write (1.894877ms) +2026-09-27T05:31:53.1574695Z ✔ binds pinned exact-write files through inherited descriptors (2.572157ms) +2026-09-27T05:31:53.1575833Z ✔ omits inactive exact file roots from an unrelated command (0.302513ms) +2026-09-27T05:31:53.1626907Z ✔ materializes an otherwise-unmounted worker cwd without exposing its contents (0.491689ms) +2026-09-27T05:31:53.1627886Z ✔ buildBubblewrapArgv (14.081858ms) +2026-09-27T05:31:53.1655184Z ▶ linuxExecutableRoots +2026-09-27T05:31:53.1695683Z ✔ keeps the Node installation root and absolute PATH entries without nested duplicates (1.323081ms) +2026-09-27T05:31:53.1727903Z ✔ linuxExecutableRoots (1.481256ms) +2026-09-27T05:31:53.1756480Z ▶ buildNetworkSeccompFilter +2026-09-27T05:31:53.1779143Z ✔ builds a cBPF program for supported Linux architectures (0.375854ms) +2026-09-27T05:31:53.1806464Z ✔ fails closed for architectures without audited syscall numbers (1.126568ms) +2026-09-27T05:31:53.1844715Z ✔ buildNetworkSeccompFilter (1.722676ms) +2026-09-27T05:31:53.1890974Z ▶ discoverNestedProtectedMetadataPaths +2026-09-27T05:31:53.1922035Z ✔ finds protected metadata at any existing nested path segment (26.581468ms) +2026-09-27T05:31:53.1946976Z ✔ discoverNestedProtectedMetadataPaths (27.78217ms) +2026-09-27T05:31:53.1994564Z ▶ LinuxBubblewrapBackend +2026-09-27T05:31:53.2045910Z ✔ fails when protected-metadata discovery fails during transform (0.507154ms) +2026-09-27T05:31:53.2065276Z ✔ wraps a managed restricted command when bwrap is available (0.288261ms) +2026-09-27T05:31:53.2135715Z ✔ re-applies discovered nested protected metadata as read-only (0.321479ms) +2026-09-27T05:31:53.2141050Z ✔ fails closed with a clear result when bwrap is unavailable (0.2329ms) +2026-09-27T05:31:53.2154988Z ✔ rejects deny entries that cannot be represented without weakening policy (0.226503ms) +2026-09-27T05:31:53.2180890Z ✔ omits inactive exact directory entries instead of exposing their subtrees (7.134055ms) +2026-09-27T05:31:53.2182133Z ✔ rejects profiles that should have selected no sandbox (0.41521ms) +2026-09-27T05:31:53.2182888Z ✔ LinuxBubblewrapBackend (9.525669ms) +2026-09-27T05:31:53.2183719Z ✔ local WebFetch decodes the charset declared by the response (105.806905ms) +2026-09-27T05:31:53.2184787Z ✔ local WebFetch extracts readable HTML as Markdown (71.156776ms) +2026-09-27T05:31:53.2185784Z ✔ local WebFetch resolves links against the document base URL (22.961169ms) +2026-09-27T05:31:53.2186782Z ✔ local WebFetch resolves relative image sources against the response URL (12.611014ms) +2026-09-27T05:31:53.2187756Z ✔ local WebFetch resolves lazy image sources synthesized by Readability (16.334874ms) +2026-09-27T05:31:53.2188737Z ✔ local WebFetch preserves the document base for lazy image sources (17.503144ms) +2026-09-27T05:31:53.2189758Z ✔ local WebFetch leaves absolute and inline image sources unchanged (15.279609ms) +2026-09-27T05:31:53.2190765Z ✔ local WebFetch rejects pathologically deep HTML before DOM parsing (10.133124ms) +2026-09-27T05:31:53.2191813Z ✔ local WebFetch rejects explicit cloud metadata targets before connecting (9.005654ms) +2026-09-27T05:31:53.2192814Z ✔ local WebFetch allows localhost and private-network targets (12.660373ms) +2026-09-27T05:31:53.2193708Z ✔ local WebFetch revalidates every redirect target (0.603812ms) +2026-09-27T05:31:53.2195006Z ✔ local WebFetch stops after ten redirects (0.978873ms) +2026-09-27T05:31:53.2228353Z ✔ local WebFetch stops reading after the raw response exceeds 5 MB (19.260742ms) +2026-09-27T05:31:53.2230148Z ✔ local WebFetch applies one timeout across the whole request (54.852195ms) +2026-09-27T05:31:53.2234600Z ✔ local WebFetch reports non-success HTTP status (1.637123ms) +2026-09-27T05:31:53.2235494Z ✔ local WebFetch rejects an empty readable body (0.567898ms) +2026-09-27T05:31:54.8986353Z ▶ loop-gate for repeated identical FAILING tool calls +2026-09-27T05:31:54.9006495Z ✔ keeps nested CodeMode failures out of the provider loop-gate streak (53.871043ms) +2026-09-27T05:31:54.9036318Z ✔ runs the first N-1 identical failing calls then blocks the Nth (and keeps blocking) (16.764996ms) +2026-09-27T05:31:54.9065986Z ✔ identical SUCCEEDING calls are never gated — polling is allowed (18.857322ms) +2026-09-27T05:31:54.9095524Z ✔ a success between failures resets the streak (14.989851ms) +2026-09-27T05:31:54.9096771Z ✔ a different tool or args between failures resets the streak (11.197102ms) +2026-09-27T05:31:54.9125688Z ✔ treats args as identical regardless of key order (13.498091ms) +2026-09-27T05:31:54.9155753Z ✔ the block is recoverable — a different call afterwards still runs (11.1333ms) +2026-09-27T05:31:54.9185814Z ✔ a repeatedly not-loaded tool trips the gate — guard rejections count as failures (10.074837ms) +2026-09-27T05:31:54.9187472Z ✔ the failure streak is per-turn: a turn reset clears it so a new turn is not falsely blocked (14.599363ms) +2026-09-27T05:31:54.9215764Z ✔ a returned terminal result with a non-zero exit counts as a failure (12.78145ms) +2026-09-27T05:31:54.9245927Z ✔ a returned terminal result with exit 0 is a success — polling is not gated (9.461334ms) +2026-09-27T05:31:54.9275399Z ✔ returned shell_run terminal states are observations, not tool failures (6.35144ms) +2026-09-27T05:31:54.9276620Z ✔ a returned top-level error is classified as a failed tool result (5.002925ms) +2026-09-27T05:31:54.9305631Z ✔ an ambiguous semantic target is gated across fresh observation ids (8.587256ms) +2026-09-27T05:31:54.9335643Z ✔ repeated shell_run observations are not loop-gated by process status (5.679377ms) +2026-09-27T05:31:54.9390386Z ✔ loop-gate for repeated identical FAILING tool calls (219.095564ms) +2026-09-27T05:31:55.0065997Z ▶ macOS executable dependency resolution +2026-09-27T05:31:55.0106461Z ✔ adds lexical and canonical directories for recursive absolute dependencies (5.988041ms) +2026-09-27T05:31:55.0256003Z ✔ resolves rpath, loader_path, and executable_path dependencies recursively (3.458329ms) +2026-09-27T05:31:55.0305877Z ✔ ignores an unresolved rpath install ID on an absolute dependency (0.554742ms) +2026-09-27T05:31:55.0376617Z ✔ fails closed when an rpath dependency cannot be resolved (0.587931ms) +2026-09-27T05:31:55.0475598Z ✔ bounds recursive dependency graphs (0.462446ms) +2026-09-27T05:31:55.0498202Z ✔ macOS executable dependency resolution (29.548178ms) +2026-09-27T05:31:55.0500007Z ﹣ macOS Seatbelt smoke (0.671411ms) # SKIP +2026-09-27T05:31:55.0500681Z ▶ escapeSeatbeltRegex +2026-09-27T05:31:55.0502071Z ✔ escapes regex metacharacters before inserting paths into SBPL regex literals (1.126398ms) +2026-09-27T05:31:55.0503012Z ✔ escapeSeatbeltRegex (2.460466ms) +2026-09-27T05:31:55.0503578Z ▶ buildSeatbeltPolicy +2026-09-27T05:31:55.0504771Z ✔ builds read-only policy with readable workspace roots and no writable workspace roots (15.806292ms) +2026-09-27T05:31:55.0506038Z ✔ builds workspace-write policy with parameterized workspace and temp roots (0.756081ms) +2026-09-27T05:31:55.0507139Z ✔ allows directory reads along every readable root ancestor chain (0.774236ms) +2026-09-27T05:31:55.0508170Z ✔ resolves symlinked temp roots before passing them to Seatbelt (3.604297ms) +2026-09-27T05:31:55.0509337Z ✔ canonicalizes a missing denied leaf through its existing symlinked ancestor (1.107093ms) +2026-09-27T05:31:55.0510353Z ✔ fails policy construction when a root cannot be canonicalized (4.255158ms) +2026-09-27T05:31:55.0511732Z ✔ keeps workspace metadata writable in the standard workspace profile (1.828438ms) +2026-09-27T05:31:55.0512738Z ✔ uses protected metadata names from the active profile (1.591495ms) +2026-09-27T05:31:55.0513793Z ✔ excludes explicit deny roots from readable and writable root allow clauses (1.826925ms) +2026-09-27T05:31:55.0515054Z ✔ escapes workspace root before building protected metadata regex requirements (0.472372ms) +2026-09-27T05:31:55.0557805Z ✔ emits network restricted and enabled policy sections (0.494562ms) +2026-09-27T05:31:55.0559542Z ✔ renders exact path entries as literal and subtree entries as subpath (4.858835ms) +2026-09-27T05:31:55.0560653Z ✔ keeps explicit exact deny requirements on every allow clause (0.463309ms) +2026-09-27T05:31:55.0561517Z ✔ buildSeatbeltPolicy (39.150821ms) +2026-09-27T05:31:55.0562142Z ▶ createSeatbeltExecArgs +2026-09-27T05:31:55.0563105Z ✔ creates sandbox-exec arguments using -p policy, -D roots, -- separator, and inner argv (0.417447ms) +2026-09-27T05:31:55.0563995Z ✔ createSeatbeltExecArgs (0.582632ms) +2026-09-27T05:31:55.0564698Z ▶ MacosSeatbeltBackend +2026-09-27T05:31:55.0565367Z ✔ wraps inner argv with /usr/bin/sandbox-exec (0.695688ms) +2026-09-27T05:31:55.0566435Z ✔ returns invalid_request for profiles that should have selected none before reaching backend (0.172198ms) +2026-09-27T05:31:55.0567361Z ✔ MacosSeatbeltBackend (5.111111ms) +2026-09-27T05:31:55.0568420Z ✔ main-session prompt distinguishes progress updates from runtime activity and final output (9.671205ms) +2026-09-27T05:31:55.0569616Z ✔ buildMcpTools projects discovery, abort, and rich model output (12.567945ms) +2026-09-27T05:31:55.0570641Z ✔ buildMcpTools leaves MCP JSON Schema validation to the server (0.600993ms) +2026-09-27T05:31:55.0571705Z ✔ buildMcpTools carries the Runtime-owned form callback to the provider (0.907607ms) +2026-09-27T05:31:55.0572875Z ✔ prepared MCP execution receives the Runtime-owned form callback after admission (0.659154ms) +2026-09-27T05:31:55.0574145Z ✔ Direct-mode MCP calls request managed network expansion before provider dispatch (0.856319ms) +2026-09-27T05:31:55.0605821Z ✔ MCP annotations cannot lower permissions and model output has aggregate bounds (2.456777ms) +2026-09-27T05:31:55.0636100Z ✔ MCP text clipping never leaves an unpaired surrogate at the boundary (7.85829ms) +2026-09-27T05:31:55.0665650Z ✔ MCP tools stay network sends and are excluded from Plan mode (2.141524ms) +2026-09-27T05:31:55.0671422Z ✔ a trusted composition can apply the Client Capability permission floor and context (0.407414ms) +2026-09-27T05:31:55.0726151Z ✔ a trusted composition can preserve provider-owned activity semantics (0.358381ms) +2026-09-27T05:31:55.0765788Z ✔ distinct MCP identities remain callable after name normalization (3.418367ms) +2026-09-27T05:31:55.0806776Z ✔ mcpProxyToolName is stable, provider-safe, and bounded to 64 chars (2.580158ms) +2026-09-27T05:31:55.0815723Z ✔ buildMcpToolsWithIdentities pairs each proxy tool with its source identity (0.375261ms) +2026-09-27T05:31:55.0905672Z ✔ MCP descriptions are normalized to the Request Composition bound (0.218598ms) +2026-09-27T05:31:55.0950548Z ▶ Memory Extraction evidence planning +2026-09-27T05:31:55.0979905Z ✔ excludes Tool events from evidence while allowing the Cursor to cross them (11.236864ms) +2026-09-27T05:31:55.0995621Z ✔ prioritizes requested evidence and enforces one final JSON budget (12.189381ms) +2026-09-27T05:31:55.1016144Z ✔ does not guess text positions and returns a bounded hit-centered history snippet (4.253934ms) +2026-09-27T05:31:55.1017391Z ✔ does not localize across a policy-denied history barrier (4.886741ms) +2026-09-27T05:31:55.1018455Z ✔ renders indexed Provider-prefix evidence without duplicating its text (0.532378ms) +2026-09-27T05:31:55.1019439Z ✔ Memory Extraction evidence planning (37.509501ms) +2026-09-27T05:31:55.4218915Z ▶ Memory Extraction provider prefix +2026-09-27T05:31:55.4220533Z ✔ disables Tools only for the auxiliary request while preserving the source prefix (224.364384ms) +2026-09-27T05:31:55.4246609Z ✔ rejects a provider Tool Call even when toolChoice none was requested (23.47793ms) +2026-09-27T05:31:55.4266696Z ✔ keeps Tool schemas on the Anthropic wire while Runtime owns call rejection (66.565289ms) +2026-09-27T05:31:55.4305679Z ✔ does not dispatch any auxiliary transport with active provider-native Tools (0.460917ms) +2026-09-27T05:31:55.4307055Z ✔ disables AI SDK retries for the isolated canonicalizer request (12.228315ms) +2026-09-27T05:31:55.4335641Z ✔ Memory Extraction provider prefix (344.459593ms) +2026-09-27T05:31:55.4705880Z ▶ bounded Memory Extraction +2026-09-27T05:31:55.4768535Z ✔ freezes an attachment-free Compaction context at the exact RuntimeEvent boundary (5.009614ms) +2026-09-27T05:31:55.4836307Z ✔ excludes attachments, quotes, and Tool context from Compaction interpretation text (0.501067ms) +2026-09-27T05:31:55.4854696Z ✔ keeps Assistant text while excluding parallel Tool and provider-native semantics (0.534349ms) +2026-09-27T05:31:55.4945692Z ✔ drops a repaired Assistant prefix before Memory provider context (0.539914ms) +2026-09-27T05:31:55.5005511Z ✔ rebuilds only the post-Cursor Event slice behind the previous Compaction summary (6.38558ms) +2026-09-27T05:31:55.5108550Z ✔ projects only user text, excluding Assistant, Thinking, and every Tool event (0.922551ms) +2026-09-27T05:31:55.5144382Z ✔ returns an explicit unsupported result without starting extraction (4.014698ms) +2026-09-27T05:31:55.5206256Z ✔ parses only the strict top-level Proposal schema (25.155801ms) +2026-09-27T05:31:55.5316030Z ✔ requires exact evidence quotes while allowing model-selected global scope (9.289679ms) +2026-09-27T05:31:55.5375847Z ✔ admits quotes only from text actually visible to the Provider (1.045598ms) +2026-09-27T05:31:55.5425750Z ✔ bounded Memory Extraction (68.707071ms) +2026-09-27T05:31:56.8415834Z ✔ zh-CN: peer path badges describe the route, while tooltips retain the protocol (1760.739772ms) +2026-09-27T05:31:56.9606400Z ▶ mid-turn capacity compaction in the streaming backend +2026-09-27T05:31:56.9672205Z ✔ keeps user_stop when stopping while a usage-triggered fold is summarizing (290.277616ms) +2026-09-27T05:31:57.0613908Z ✔ zh-CN: AddProviderForm renders the required slug error (239.234742ms) +2026-09-27T05:31:57.0784781Z ✔ compacts after provider usage crosses the declared window, persists first, and continues the same turn (119.307361ms) +2026-09-27T05:31:57.1758759Z ✔ replays a Codex V2 mid-turn checkpoint as native provider state (100.74854ms) +2026-09-27T05:31:57.2417276Z ✔ zh-CN: AddProviderForm renders the format slug error (198.345827ms) +2026-09-27T05:31:57.2846272Z ✔ a mid-turn compaction settles a canonical record for the run it interrupts (108.425247ms) +2026-09-27T05:31:57.3924671Z ✔ zh-CN: AddProviderForm renders the too_long slug error (173.68318ms) +2026-09-27T05:31:57.4016273Z ✔ each request seals the fold its own prompt was built under, not the send’s last one (116.178108ms) +2026-09-27T05:31:57.4445171Z ✔ recovery re-projection with ctx.branch replays the checkpoint without the raw span (46.473184ms) +2026-09-27T05:31:57.4716422Z ✔ sends an over-window request no shaper could rescue, rather than ending the turn (26.219461ms) +2026-09-27T05:31:57.4909618Z ✔ a summary that cannot fit its own input fails open and still dispatches (20.599308ms) +2026-09-27T05:31:57.5199644Z ✔ fails open with write_failed diagnostics when the checkpoint write fails (27.319007ms) +2026-09-27T05:31:57.5407876Z ✔ a malformed summarizer completion fails open end-to-end with its granular reason (23.725103ms) +2026-09-27T05:31:57.5816275Z ✔ zh-CN: AddProviderForm renders the duplicate slug error (127.656725ms) +2026-09-27T05:31:57.6427521Z ✔ bounds malformed-summary attempts across later steps in the same turn (99.321694ms) +2026-09-27T05:31:57.7356402Z ✔ bounds a provider-error summarizer failure across later steps in the same turn (62.278245ms) +2026-09-27T05:31:57.7576215Z ✔ fails closed before provider dispatch when the durable ledger read fails (18.323306ms) +2026-09-27T05:31:57.8048770Z ✔ active tool-result prune re-converges the rebuilt tail after a capacity replacement (79.462505ms) +2026-09-27T05:31:57.8106503Z ✔ zh-TW: peer path badges describe the route, while tooltips retain the protocol (263.941909ms) +2026-09-27T05:31:57.8708906Z ✔ compacts at most once per step, and again once a step is accepted (63.779569ms) +2026-09-27T05:31:57.9402140Z ✔ zh-TW: AddProviderForm renders the required slug error (126.532259ms) +2026-09-27T05:31:58.0232885Z ✔ a prune-rescuable step is rescued by the prune, not compacted (review finding C) (101.259229ms) +2026-09-27T05:31:58.0820814Z ✔ the trigger counts same-turn tool-schema growth from tool_search (review finding D) (105.789463ms) +2026-09-27T05:31:58.0870531Z ✔ zh-TW: AddProviderForm renders the format slug error (162.028736ms) +2026-09-27T05:31:58.1666449Z ✔ the usage baseline is the last request's input plus output (83.53326ms) +2026-09-27T05:31:58.1978304Z ✔ reports an accepted request past the window the model reports when nothing is declared (37.735641ms) +2026-09-27T05:31:58.2335998Z ✔ does not repeat the reported-window note once the session is already past the line (31.635572ms) +2026-09-27T05:31:58.2427270Z ✔ zh-TW: AddProviderForm renders the too_long slug error (173.158929ms) +2026-09-27T05:31:58.2606216Z ✔ does not report the reported window when the user declared one (32.313766ms) +2026-09-27T05:31:58.2950250Z ✔ reports a reply that ran past the declared window (36.050267ms) +2026-09-27T05:31:58.3290576Z ✔ does not report an overrun for an exchange that stayed inside the window (34.989937ms) +2026-09-27T05:31:58.3716459Z ✔ a falling input count between steps writes no note (27.896219ms) +2026-09-27T05:31:58.4182125Z ✔ zh-TW: AddProviderForm renders the duplicate slug error (116.610307ms) +2026-09-27T05:31:58.4853520Z ✔ a provider output-limit finish does not fold (125.252418ms) +2026-09-27T05:31:58.5289686Z ✔ a completed step's assistant text is never dropped from the replacement (review finding B) (43.023625ms) +2026-09-27T05:31:58.5844283Z ✔ dispatches a mid-turn Compaction recipe after persistence without awaiting it (55.775837ms) +2026-09-27T05:31:58.6460457Z ✔ persists a denied marker without dispatching mid-turn Memory extraction (51.373073ms) +2026-09-27T05:31:58.6515781Z ✔ mid-turn capacity compaction in the streaming backend (1982.590485ms) +2026-09-27T05:31:58.6856457Z ✔ en: peer path badges describe the route, while tooltips retain the protocol (306.828081ms) +2026-09-27T05:31:58.7176216Z ▶ mid-turn capacity compaction with a slow ledger consumer +2026-09-27T05:31:58.7216299Z ✔ keeps user_stop when stopping while a usage-triggered fold is summarizing (83.682362ms) +2026-09-27T05:31:58.7786615Z ✔ compacts after provider usage crosses the declared window, persists first, and continues the same turn (45.777146ms) +2026-09-27T05:31:58.8188109Z ✔ en: AddProviderForm renders the required slug error (128.121942ms) +2026-09-27T05:31:58.8286197Z ✔ replays a Codex V2 mid-turn checkpoint as native provider state (57.605189ms) +2026-09-27T05:31:58.8715611Z ✔ a mid-turn compaction settles a canonical record for the run it interrupts (48.458833ms) +2026-09-27T05:31:58.9506206Z ✔ en: AddProviderForm renders the format slug error (145.055822ms) +2026-09-27T05:31:58.9708936Z ✔ each request seals the fold its own prompt was built under, not the send’s last one (89.24279ms) +2026-09-27T05:31:59.0448604Z ✔ recovery re-projection with ctx.branch replays the checkpoint without the raw span (77.906627ms) +2026-09-27T05:31:59.1054326Z ✔ sends an over-window request no shaper could rescue, rather than ending the turn (62.188427ms) +2026-09-27T05:31:59.1070911Z ✔ en: AddProviderForm renders the too_long slug error (130.569181ms) +2026-09-27T05:31:59.1628510Z ✔ a summary that cannot fit its own input fails open and still dispatches (58.244546ms) +2026-09-27T05:31:59.1935520Z ✔ fails open with write_failed diagnostics when the checkpoint write fails (35.89119ms) +2026-09-27T05:31:59.2568838Z ✔ a malformed summarizer completion fails open end-to-end with its granular reason (63.278749ms) +2026-09-27T05:31:59.2726126Z ✔ en: AddProviderForm renders the duplicate slug error (181.624807ms) +2026-09-27T05:31:59.2927236Z ✔ bounds malformed-summary attempts across later steps in the same turn (37.075824ms) +2026-09-27T05:31:59.3571077Z ✔ bounds a provider-error summarizer failure across later steps in the same turn (55.983894ms) +2026-09-27T05:31:59.3670984Z ✔ fails closed before provider dispatch when the durable ledger read fails (8.390172ms) +2026-09-27T05:31:59.4138603Z ✔ active tool-result prune re-converges the rebuilt tail after a capacity replacement (55.6391ms) +2026-09-27T05:31:59.4497224Z ✔ compacts at most once per step, and again once a step is accepted (32.98461ms) +2026-09-27T05:31:59.4821288Z ✔ a prune-rescuable step is rescued by the prune, not compacted (review finding C) (24.811419ms) +2026-09-27T05:31:59.5325863Z ✔ the trigger counts same-turn tool-schema growth from tool_search (review finding D) (54.280502ms) +2026-09-27T05:31:59.5557964Z ✔ zh-TW: expanded Peer Mesh members render localized route states (304.314227ms) +2026-09-27T05:31:59.6276239Z ✔ the usage baseline is the last request's input plus output (94.874295ms) +2026-09-27T05:31:59.6743613Z ✔ reports an accepted request past the window the model reports when nothing is declared (45.481535ms) +2026-09-27T05:31:59.7314269Z ✔ does not repeat the reported-window note once the session is already past the line (57.282841ms) +2026-09-27T05:31:59.7789170Z ✔ does not report the reported window when the user declared one (48.050094ms) +2026-09-27T05:31:59.8158649Z ✔ reports a reply that ran past the declared window (37.640206ms) +2026-09-27T05:31:59.8507572Z ✔ custom connection creation updates and clears the request URL preview while typing (121.025715ms) +2026-09-27T05:31:59.8558469Z ✔ does not report an overrun for an exchange that stayed inside the window (36.235319ms) +2026-09-27T05:32:00.0287271Z ✔ a falling input count between steps writes no note (167.311215ms) +2026-09-27T05:32:00.0847531Z ✔ a provider output-limit finish does not fold (61.910858ms) +2026-09-27T05:32:00.0908231Z ✔ a completed step's assistant text is never dropped from the replacement (review finding B) (12.752162ms) +2026-09-27T05:32:00.0935980Z ✔ mid-turn capacity compaction with a slow ledger consumer (1455.761274ms) +2026-09-27T05:32:00.1153056Z ▶ mid-turn capacity default-on safety guards (issue #882 PR 3) +2026-09-27T05:32:00.1170512Z ✔ does not omit hydrated images before a selected-model step-zero provider verdict (22.380295ms) +2026-09-27T05:32:00.1356152Z ✔ keeps the fallback capacity guard inert below its unknown-model bound (19.584314ms) +2026-09-27T05:32:00.2542231Z ✔ measures a materialized image by what it bills, not by its serialized bytes (115.763647ms) +2026-09-27T05:32:00.2926428Z ✔ keeps multiple bounded recent turns below the model capacity (45.502009ms) +2026-09-27T05:32:00.3212393Z ✔ lets an undeclared window dispatch a payload no local number can judge (27.625237ms) +2026-09-27T05:32:00.3370717Z ✔ endpoint editing previews the default model protocol override (463.841553ms) +2026-09-27T05:32:00.3386278Z ✔ does not fire for a session without a persisted head anchor (child sessions have no seam) (18.976679ms) +2026-09-27T05:32:00.3875576Z ✔ treats a /models context window as metadata unless the user declares it (48.033348ms) +2026-09-27T05:32:00.3891141Z ✔ mid-turn capacity default-on safety guards (issue #882 PR 3) (298.840178ms) +2026-09-27T05:32:00.4077599Z ▶ the shipped runtime default drives the proactive long-turn journey (issue #882 PR 3) +2026-09-27T05:32:00.4079845Z ✔ a long turn near the window compacts mid-turn, persists the checkpoint, and continues instead of truncating (18.972237ms) +2026-09-27T05:32:00.4156072Z ✔ persists the last request input and output as the anchor (9.31042ms) +2026-09-27T05:32:00.4516461Z ✔ an anchor is discarded unless its invocation proves it came from this model (32.946362ms) +2026-09-27T05:32:00.5004691Z ✔ a synthetic /compact usage row does not shadow the real anchor (50.195159ms) +2026-09-27T05:32:00.5211994Z ✔ the reserve is twice the last real reply, bounded, not the model output limit (21.340533ms) +2026-09-27T05:32:00.5299229Z ✔ keeps a useful output floor so a near-window request still recovers (9.118133ms) +2026-09-27T05:32:00.5476598Z ✔ an unrescuable turn under the shipped default still dispatches (13.919865ms) +2026-09-27T05:32:00.5520899Z ✔ the shipped runtime default drives the proactive long-turn journey (issue #882 PR 3) (156.582152ms) +2026-09-27T05:32:00.6596021Z ▶ settleModelStepOutcome +2026-09-27T05:32:00.6626126Z ✔ explicit stream failure takes precedence over finish metadata (1.020655ms) +2026-09-27T05:32:00.6668048Z ✔ classifies a raw error finish without widening provider retry policy (3.16434ms) +2026-09-27T05:32:00.6717730Z ✔ settleModelStepOutcome (5.752539ms) +2026-09-27T05:32:00.6832665Z ▶ ModelAdapter.startStream onError +2026-09-27T05:32:00.6875979Z ✔ preserves an already-emitted failure when reasoning flush has no final metadata (90.227914ms) +2026-09-27T05:32:00.6898353Z ✔ fails closed when a successful reasoning stream has no final metadata (29.582568ms) +2026-09-27T05:32:00.6955922Z ✔ classifies a raw provider error finish ahead of an unfinalized reasoning trailer (15.55559ms) +2026-09-27T05:32:00.7007035Z ✔ normalizes provider retry eligibility and Retry-After at the adapter boundary (12.442907ms) +2026-09-27T05:32:00.7026178Z ✔ does not hide provider retries inside one adapter call (24.32862ms) +2026-09-27T05:32:00.7069134Z ✔ returns normalized Maka-owned request metadata (6.999887ms) +2026-09-27T05:32:00.7085743Z ✔ settles a stream without a finish frame as truncated (21.720208ms) +2026-09-27T05:32:00.7086811Z ✔ preserves a provider reason hidden by the SDK other bucket (42.31022ms) +2026-09-27T05:32:00.7087684Z ✔ settles a content filter as a terminal failure (21.132519ms) +2026-09-27T05:32:00.7088405Z ✔ settles an aborted request as aborted (11.035418ms) +2026-09-27T05:32:00.7089384Z ✔ a provider stream failure never reaches console.error (21.627904ms) +2026-09-27T05:32:00.7090173Z ✔ ModelAdapter.startStream onError (299.669372ms) +2026-09-27T05:32:00.7091088Z ✔ reports activity for every pulled SDK stream part before semantic translation (121.320024ms) +2026-09-27T05:32:00.7091985Z ▶ ModelAdapter stream and error normalization +2026-09-27T05:32:00.7092888Z ✔ shrinks a provider output limit when the persisted request is near the window (18.490346ms) +2026-09-27T05:32:00.7093898Z ✔ sends no output limit on a Codex subscription, even a configured one (2.145723ms) +2026-09-27T05:32:00.7115237Z ✔ startStream sends a Codex subscription request no output limit from any source (221.342923ms) +2026-09-27T05:32:00.7116564Z ✔ forwards the stable Session identity to the model factory (21.724331ms) +2026-09-27T05:32:00.7117566Z ✔ resolves optional-key LocalAI without fabricating a credential (6.630446ms) +2026-09-27T05:32:00.7118924Z ✔ supports signed-thinking replay on Copilot models using the Anthropic wire (0.573337ms) +2026-09-27T05:32:00.7120166Z ✔ preserves Anthropic redacted thinking metadata at the model boundary (7.960385ms) +2026-09-27T05:32:00.7121257Z ✔ strips the Maka-owned makaResponses namespace from provider stream metadata (0.336901ms) +2026-09-27T05:32:00.7122297Z ✔ supports unsigned-thinking replay on Kimi models using the OpenAI wire (0.351512ms) +2026-09-27T05:32:00.7123283Z ✔ shares one resolved OpenAI Chat reasoning contract with the model factory (0.458939ms) +2026-09-27T05:32:00.7124311Z ✔ supports Responses reasoning replay for Volcengine Agent Plan (0.237336ms) +2026-09-27T05:32:00.7125377Z ✔ supports plaintext Responses reasoning replay for DeepSeek V4 (0.207762ms) +2026-09-27T05:32:00.7126364Z ✔ supports summary-item Responses reasoning replay for Alibaba Token Plan (0.240235ms) +2026-09-27T05:32:00.7127427Z ✔ normalizes Alibaba stream item ids into bounded durable state from item start (8.1624ms) +2026-09-27T05:32:00.7128471Z ✔ keeps DeepSeek plaintext replay on the main content-only behavior (0.309447ms) +2026-09-27T05:32:00.7129590Z ✔ translates provider text, reasoning, tool calls, and errors into ModelStreamEvents (7.461791ms) +2026-09-27T05:32:00.7130694Z ✔ normalizes a status-less provider server_error into a retryable outage (5.798039ms) +2026-09-27T05:32:00.7131896Z ✔ preserves an explicit empty reasoning delta without inventing one for absent text (6.946001ms) +2026-09-27T05:32:00.7132921Z ✔ marks OpenAI Chat field metadata as a Maka transport hint (0.372721ms) +2026-09-27T05:32:00.7133920Z ✔ preserves local input sampling separately from provider tool activity (0.228374ms) +2026-09-27T05:32:00.7168662Z ✔ returns a Maka-owned tool call event from one provider step (1.747891ms) +2026-09-27T05:32:00.7169666Z ✔ normalizes provider-executed search results and text citation metadata (0.385818ms) +2026-09-27T05:32:00.7170613Z ✔ preserves native Responses item boundaries and terminal metadata (0.293735ms) +2026-09-27T05:32:00.7171582Z ✔ does not treat Chat Completions metadata as a Responses item boundary (3.683308ms) +2026-09-27T05:32:00.7172545Z ✔ normalizes Anthropic web search results and server-tool errors (0.279101ms) +2026-09-27T05:32:00.7173562Z ✔ captures the Anthropic reasoning signature without emitting an empty thinking event (0.314277ms) +2026-09-27T05:32:00.7174829Z ✔ preserves OpenAI Responses reasoning metadata through stream normalization (3.10371ms) +2026-09-27T05:32:00.7175931Z ✔ classifies provider errors and maps finish reasons through adapter-owned helpers (11.661445ms) +2026-09-27T05:32:00.7176900Z ✔ projects the final provider error inside an AI SDK retry wrapper (3.120234ms) +2026-09-27T05:32:00.7177808Z ✔ projects a structured network error to a consistent reason and safe message (0.412239ms) +2026-09-27T05:32:00.7178823Z ✔ retains Node connection copy without promoting retry classification (8.91238ms) +2026-09-27T05:32:00.7179804Z ✔ projects string provider errors through the same classification (0.357993ms) +2026-09-27T05:32:00.7180807Z ✔ retains an unredacted bounded summary from an unknown structured provider error (15.385338ms) +2026-09-27T05:32:00.7181882Z ✔ normalizes cache and reasoning usage variants in the adapter module (0.253278ms) +2026-09-27T05:32:00.7182960Z ✔ treats incomplete provider usage as unavailable unless total can supply the missing side (0.153108ms) +2026-09-27T05:32:00.7224863Z ✔ derives totals from detail-only AI SDK usage (0.134532ms) +2026-09-27T05:32:00.7225932Z ✔ preserves DeepSeek and OpenAI-compatible raw usage fields (11.130902ms) +2026-09-27T05:32:00.7226822Z ✔ normalizes direct DeepSeek snake_case usage totals (0.288524ms) +2026-09-27T05:32:00.7227638Z ✔ ModelAdapter stream and error normalization (379.685546ms) +2026-09-27T05:32:00.7228333Z ▶ buildProviderOptions: thinking level +2026-09-27T05:32:00.7229177Z ✔ Anthropic-compatible providers do not inherit automatic prompt caching (7.223044ms) +2026-09-27T05:32:00.7230690Z ✔ anthropic effort model (opus-4-8) sends effort field directly; no budgetTokens mapping (2.202051ms) +2026-09-27T05:32:00.7232242Z ✔ anthropic budget/toggle model (haiku-4-5) sends thinking.disabled for off; drops unsupported effort (0.721297ms) +2026-09-27T05:32:00.7233396Z ✔ Claude 4.5 uses legacy enabled thinking even when the UI exposes effort levels (3.041313ms) +2026-09-27T05:32:00.7264850Z ✔ anthropic effort model without toggle (opus-4-8) drops off (cannot disable) (0.271451ms) +2026-09-27T05:32:00.7266237Z ✔ Kimi K3 passes the chosen effort through adaptive thinking, defaulting to max (0.588746ms) +2026-09-27T05:32:00.7267357Z ✔ Kimi K3 sends the chosen reasoning effort through the selected OpenAI-compatible namespace (0.711269ms) +2026-09-27T05:32:00.7268488Z ✔ openai gpt-5.5 sends reasoningEffort (none for off, max for max); gpt-4o drops level (1.035144ms) +2026-09-27T05:32:00.7269574Z ✔ GPT-6 Sol and Luna send selected reasoning effort on API and Codex paths (0.612566ms) +2026-09-27T05:32:00.7270688Z ✔ openai-codex (gpt-5.5) preserves store:false / textVerbosity and merges reasoningEffort (0.558012ms) +2026-09-27T05:32:00.7271852Z ✔ parallel tool-call capability overrides wire defaults and stays opt-in on compatible providers (0.792166ms) +2026-09-27T05:32:00.7273053Z ✔ parallel tool-call capability reaches native and compatible chat request bodies (120.866186ms) +2026-09-27T05:32:00.7274598Z ✔ google effort model (gemini-3) sends thinkingLevel; Gemini 2.5 Flash off sends thinkingBudget 0; safetySettings always present (0.479217ms) +2026-09-27T05:32:00.7278829Z ✔ openai-compatible sends reasoningEffort for effort levels and does not expose no-op off (0.877929ms) +2026-09-27T05:32:00.7279914Z ✔ Alibaba Token Plan sends the formal Qwen3.8 effort and disable wires (2.561719ms) +2026-09-27T05:32:00.7280878Z ✔ family fallback wires per-model override adapters under their SDK namespaces (0.6681ms) +2026-09-27T05:32:00.7281902Z ✔ every active shipped Claude model on Anthropic Messages requests visible thinking (5.426019ms) +2026-09-27T05:32:00.7282992Z ✔ unknown non-Claude models on Anthropic Messages do not inherit Claude thinking (0.176633ms) +2026-09-27T05:32:00.7284076Z ✔ github-copilot routes thinking by the account-declared model protocol (4.448964ms) +2026-09-27T05:32:00.7285357Z ✔ custom chat models apply family defaults only when no explicit level was supplied (0.279552ms) +2026-09-27T05:32:00.7286375Z ✔ custom Messages models think only on a declared level, always adaptive (0.620093ms) +2026-09-27T05:32:00.7287406Z ✔ Cloudflare Workers AI sends Kimi K2.6 reasoning effort and its real thinking-off wire (0.271503ms) +2026-09-27T05:32:00.7288506Z ✔ StepFun Step Plan sends only officially supported reasoning effort levels (0.231077ms) +2026-09-27T05:32:00.7289577Z ✔ Volcengine Ark sends its official thinking object and optional reasoning effort (3.392126ms) +2026-09-27T05:32:00.7290663Z ✔ Cohere sends its native disabled thinking object without inventing effort levels (0.285184ms) +2026-09-27T05:32:00.7291798Z ✔ Cohere north-mini serves the OpenAI-compatible compat wire declared by models.dev (0.205367ms) +2026-09-27T05:32:00.7293020Z ✔ Tencent Token Plan sends its documented reasoning effort under the stable provider namespace (1.27961ms) +2026-09-27T05:32:00.7294204Z ✔ Vercel Gateway sends reasoning effort under its stable namespace and exact model id (0.371581ms) +2026-09-27T05:32:00.7379174Z ✔ Ollama Cloud sends reasoning effort under its namespace; standard models expose off, GPT-OSS does not (0.276061ms) +2026-09-27T05:32:00.7380247Z ✔ a level the model does not support is dropped (defensive) (0.208477ms) +2026-09-27T05:32:00.7381097Z ✔ buildProviderOptions: thinking level (164.798346ms) +2026-09-27T05:32:00.7381795Z ▶ getAIModel: models.dev registry providers +2026-09-27T05:32:00.7382642Z ✔ a custom Chat connection without a base URL fails with a connection error (0.757189ms) +2026-09-27T05:32:00.7383673Z ✔ routes the existing Kimi provider through its explicitly selected protocol (4.133507ms) +2026-09-27T05:32:00.7385193Z ✔ OpenCode Go accepts explicit protocols without a static model entry (0.49365ms) +2026-09-27T05:32:00.7386362Z ✔ routes each exact GitHub Copilot model through its account-advertised wire (0.543472ms) +2026-09-27T05:32:00.7387290Z ✔ getAIModel: models.dev registry providers (6.725587ms) +2026-09-27T05:32:00.7388006Z ▶ buildProviderOptions: openai-compatible namespace +2026-09-27T05:32:00.7388899Z ✔ zai-coding-plan emits reasoningEffort under the camelCase namespace (0.332005ms) +2026-09-27T05:32:00.7389995Z ✔ deepseek wires provider-native effort on both chat and Responses dialects (2.494138ms) +2026-09-27T05:32:00.7390950Z ✔ custom chat models send declared levels under the custom provider namespace (0.306558ms) +2026-09-27T05:32:00.7391914Z ✔ custom Responses models use per-model declared levels on the Responses wire (0.534513ms) +2026-09-27T05:32:00.7392869Z ✔ custom models send the declared fast service tier only on the Responses wire (0.277951ms) +2026-09-27T05:32:00.7393784Z ✔ Fast provider options mirror the pinned OpenAI SDK model gate (0.577537ms) +2026-09-27T05:32:00.7394949Z ✔ Fast reaches the Responses request body for an OpenAI-named relay model (30.511355ms) +2026-09-27T05:32:00.7396003Z ✔ declared relay levels reach the actual chat-completions request body (3.499357ms) +2026-09-27T05:32:00.7397106Z ✔ one custom connection sends each model on its own wire with native thinking fields (32.065451ms) +2026-09-27T05:32:00.7398251Z ✔ built-in dashed provider effort reaches the chat request body without deprecation (3.144595ms) +2026-09-27T05:32:00.7399374Z ✔ passthrough provider options reach the chat request body without deprecation (4.216989ms) +2026-09-27T05:32:00.7400401Z ✔ buildProviderOptions: openai-compatible namespace (82.750245ms) +2026-09-27T05:32:00.7401412Z ✔ explicit Chat selection keeps Grok thinking options on the Chat wire (0.279106ms) +2026-09-27T05:32:00.7402584Z ✔ Copilot Messages preserves bearer auth without the generic Anthropic beta opt-ins (5.508284ms) +2026-09-27T05:32:00.7403474Z ▶ buildProviderOptions: Command Code thinking level +2026-09-27T05:32:00.7404288Z ✔ selectable efforts surface for the models the table accepts them on (0.266581ms) +2026-09-27T05:32:00.7467554Z ✔ models that reason automatically offer no selector (0.248439ms) +2026-09-27T05:32:00.7468436Z ✔ an unknown model exposes nothing and sends nothing (0.128178ms) +2026-09-27T05:32:00.7469393Z ✔ buildProviderOptions: Command Code thinking level (0.842766ms) +2026-09-27T05:32:00.7470134Z ▶ leastReasoningThinkingLevel +2026-09-27T05:32:00.7471077Z ✔ asks for the lowest declared effort where a dropped off would leave provider-default reasoning (4.837778ms) +2026-09-27T05:32:00.7472300Z ✔ keeps off where an omitted parameter already means no extended reasoning (0.291706ms) +2026-09-27T05:32:00.7473474Z ✔ asks Kimi Coding Plan for its lowest effort, since it thinks by default when none is sent (0.327164ms) +2026-09-27T05:32:00.7474305Z ✔ leastReasoningThinkingLevel (5.673834ms) +2026-09-27T05:32:00.7475256Z ▶ streamed tool-call association +2026-09-27T05:32:00.7476030Z ✔ orders distinct non-zero indices without treating them as storage slots (220.05104ms) +2026-09-27T05:32:00.7476915Z ✔ keeps calls distinct when custom reuses index zero (19.583711ms) +2026-09-27T05:32:00.7477681Z ✔ keeps calls distinct when openai reuses index zero (33.173097ms) +2026-09-27T05:32:00.7478435Z ✔ continues the only open call when index is absent (16.982365ms) +2026-09-27T05:32:00.7479185Z ✔ records an id that arrives after the call starts (17.920138ms) +2026-09-27T05:32:00.7479978Z ✔ fails closed when a bare delta could belong to several calls (8.903626ms) +2026-09-27T05:32:00.7480796Z ✔ fails closed when index and id address different calls (14.467896ms) +2026-09-27T05:32:00.7481548Z ✔ treats blank continuation aliases as absent on custom (8.169384ms) +2026-09-27T05:32:00.7482278Z ✔ treats blank continuation aliases as absent on openai (14.003862ms) +2026-09-27T05:32:00.7514924Z ✔ mints unique usable ids when wire ids are unavailable (6.529295ms) +2026-09-27T05:32:00.7516141Z ✔ replaces a non-adjacent duplicate wire id (15.968133ms) +2026-09-27T05:32:00.7517056Z ✔ streamed tool-call association (385.508022ms) +2026-09-27T05:32:00.7517614Z ▶ model discovery +2026-09-27T05:32:00.7518477Z ✔ all token metadata adapters preserve valid limits and omit invalid optional limits (40.146862ms) +2026-09-27T05:32:00.7519595Z ✔ custom connections list models on the wire of their default protocol (2.232109ms) +2026-09-27T05:32:00.7520731Z ✔ Cloudflare Workers AI accepts exactly 2,048 models and rejects the first excess item (555.204288ms) +2026-09-27T05:32:00.7521734Z ✔ Cohere rejects repeated page tokens or excess entries (42.245273ms) +2026-09-27T05:32:00.7522723Z ✔ Fireworks bounds account concurrency while preserving normal pagination (52.191957ms) +2026-09-27T05:32:00.7523904Z ✔ Fireworks rejects excess account fanout, total raw entries, and repeated page tokens (75.721531ms) +2026-09-27T05:32:00.7547504Z ✔ discovery classifies HTTP authentication failure without secrets or fallback models (38.707385ms) +2026-09-27T05:32:00.7548802Z ✔ Codex OAuth discovers models from the chatgpt.com/backend-api/codex/models endpoint (8.891837ms) +2026-09-27T05:32:00.7549868Z ✔ Codex OAuth discovery sends ChatGPT-Account-Id for account routing (12.74385ms) +2026-09-27T05:32:00.7551013Z ✔ connection discovery classifies a wholly policy-blocked Copilot catalog as auth (19.337042ms) +2026-09-27T05:32:00.7552230Z ✔ connection discovery classifies structurally invalid JSON from a real HTTP response (29.457144ms) +2026-09-27T05:32:00.7553370Z ✔ a declared output modality without text is recorded as a capability (33.856186ms) +2026-09-27T05:32:00.7554322Z ✔ an unrecognized output modality never disables a model (2.794088ms) +2026-09-27T05:32:00.7555199Z ✔ model discovery (919.340648ms) +2026-09-27T05:32:00.7556185Z ✔ model history drops repaired assistant prefixes by default and diagnoses the boundary (3.20791ms) +2026-09-27T05:32:00.7557365Z ✔ model history keeps reused step ids as separate chronological segments (5.053345ms) +2026-09-27T05:32:00.7587102Z ✔ model history separates settled legacy calls but keeps overlapping calls together (0.966039ms) +2026-09-27T05:32:00.7588614Z ✔ model history pairs reused tool call ids by durable occurrence (0.489844ms) +2026-09-27T05:32:00.7589700Z ✔ model history does not pair an orphan result with a later reused call id (3.185692ms) +2026-09-27T05:32:00.7590722Z ✔ model history scopes reused tool call ids to their invocation (0.522312ms) +2026-09-27T05:32:00.7591749Z ✔ model history keeps reused step ids separate across invocations (0.440908ms) +2026-09-27T05:32:00.7592506Z ▶ effective model projection reduction +2026-09-27T05:32:00.7593261Z ✔ replaces the projection and the legacy result together (14.352871ms) +2026-09-27T05:32:00.7594205Z ✔ refuses a stale concurrent writer instead of restoring its source (7.690391ms) +2026-09-27T05:32:00.7622510Z ✔ orders concurrent Turns deterministically regardless of ledger arrival order (3.705828ms) +2026-09-27T05:32:00.7623617Z ✔ withholds a target whose record this build cannot read (0.293863ms) +2026-09-27T05:32:00.7632478Z ✔ refuses the decodable records of an unreadable target too (0.552178ms) +2026-09-27T05:32:00.7633692Z ✔ leaves provider-native opaque results alone (3.62059ms) +2026-09-27T05:32:00.7634712Z ✔ rolling compaction cannot re-measure or re-archive replaced content (8.058873ms) +2026-09-27T05:32:00.7635615Z ✔ leaves media to the existing image projection policy (0.890044ms) +2026-09-27T05:32:00.7636390Z ✔ leaves a text result under the size gate alone (2.808225ms) +2026-09-27T05:32:00.7637260Z ✔ measures the size gate in UTF-8 bytes so Chinese text is not let through (0.912649ms) +2026-09-27T05:32:00.7638109Z ✔ effective model projection reduction (47.338242ms) +2026-09-27T05:32:00.7638658Z ▶ durable transition writer +2026-09-27T05:32:00.7639359Z ✔ commits archive then transition, and the fold applies the result (4.974167ms) +2026-09-27T05:32:00.7640592Z ✔ an archive failure leaves the model-visible content untouched (0.451638ms) +2026-09-27T05:32:00.7641486Z ✔ durable transition writer (8.462147ms) +2026-09-27T05:32:00.7641982Z ▶ transition ledger reads +2026-09-27T05:32:00.7642746Z ✔ collects every session transition once and ignores undecodable records (3.452229ms) +2026-09-27T05:32:00.7643825Z ✔ legacy retry: an event with no durable projection still folds through one codec (1.479759ms) +2026-09-27T05:32:00.7644861Z ✔ transition ledger reads (5.115866ms) +2026-09-27T05:32:00.7645751Z ✔ native WebSearch is a provider-executed descriptor, not a local implementation (10.851357ms) +2026-09-27T05:32:00.7673810Z ✔ turn-start routing falls back explicitly when native search is unavailable (18.25524ms) +2026-09-27T05:32:00.7675470Z ✔ turn-start routing compiles Claude models to the CC-compatible Anthropic tool (0.934535ms) +2026-09-27T05:32:00.7676600Z ✔ root surfaces do not advertise unsupported DeepSeek native search (0.448873ms) +2026-09-27T05:32:00.7677594Z ✔ the WebSearch feature gate leaves WebFetch available (0.311528ms) +2026-09-27T05:32:00.7678505Z ✔ does not carry queued Unix PTY writes past native exit (129.312983ms) +2026-09-27T05:32:00.7679083Z ▶ OAuth initial token decoder +2026-09-27T05:32:00.7695763Z ✔ ignores additive provider fields while validating bounded token fields (2.725297ms) +2026-09-27T05:32:00.7696614Z ✔ OAuth initial token decoder (3.963735ms) +2026-09-27T05:32:00.7697130Z ▶ OAuth enrollment policy +2026-09-27T05:32:00.7697821Z ✔ honors the Codex opt-out flag while keeping xAI enabled (0.300062ms) +2026-09-27T05:32:00.7698676Z ✔ keeps the GitHub Copilot device sign-in off until an install opts in (0.192361ms) +2026-09-27T05:32:00.7699441Z ✔ OAuth enrollment policy (0.781585ms) +2026-09-27T05:32:00.7699988Z ▶ OAuth token endpoint transport +2026-09-27T05:32:00.7700725Z ✔ bounds a streamed response even without content-length (69.499429ms) +2026-09-27T05:32:00.7701725Z ✔ classifies a success response stream failure before EOF as outcome unknown (5.18729ms) +2026-09-27T05:32:00.7702817Z ✔ classifies invalid JSON received through EOF as an invalid response (3.069523ms) +2026-09-27T05:32:00.7703860Z ✔ does not await cancellation when an oversized stream never settles cancel (1.750865ms) +2026-09-27T05:32:00.7767408Z ✔ classifies invalid_grant without retaining provider response text (3.698935ms) +2026-09-27T05:32:00.7768530Z ✔ marks reply loss after dispatch as outcome unknown (0.784242ms) +2026-09-27T05:32:00.7769434Z ✔ does not await stream cancellation at the bounded timeout (10.420079ms) +2026-09-27T05:32:00.7770239Z ✔ OAuth token endpoint transport (95.573752ms) +2026-09-27T05:32:00.7771049Z ✔ applies the declared Open Responses body policies (4.654737ms) +2026-09-27T05:32:00.9430555Z ▶ OpenAI Codex compaction fallback +2026-09-27T05:32:00.9470935Z ✔ falls back after a non-retryable native protocol rejection (12.768115ms) +2026-09-27T05:32:00.9543207Z ✔ falls back when native state is unusable or its projection cannot fit (0.931929ms) +2026-09-27T05:32:00.9544353Z ✔ does not fall back on cancellation, rate limits, or provider availability (4.035651ms) +2026-09-27T05:32:00.9620214Z ✔ OpenAI Codex compaction fallback (26.469158ms) +2026-09-27T05:32:00.9697357Z ▶ OpenAI Codex compaction output +2026-09-27T05:32:00.9746058Z ✔ accepts exactly one complete compaction item (6.492688ms) +2026-09-27T05:32:00.9810711Z ✔ rejects missing, ambiguous, and incomplete compaction items (0.4384ms) +2026-09-27T05:32:00.9845696Z ✔ OpenAI Codex compaction output (7.361619ms) +2026-09-27T05:32:00.9886578Z ▶ OpenAI Codex compaction input +2026-09-27T05:32:00.9953299Z ✔ keeps an interrupted late tool step after the intervening assistant step (152.297481ms) +2026-09-27T05:32:00.9977959Z ✔ OpenAI Codex compaction input (152.662776ms) +2026-09-27T05:32:01.0871513Z ✔ legacy credential endpoint editing shows one preview and retains its accessible description (661.646285ms) +2026-09-27T05:32:01.1666582Z ✔ loads a durable Session from a second ACP process and continues prompting (12191.868379ms) +2026-09-27T05:32:01.8416799Z ✔ credential probing does not flash a page-level loading warning (514.552502ms) +2026-09-27T05:32:01.9350708Z ✔ custom openai-chat: full endpoint works for testing, generation and discovery (193.750206ms) +2026-09-27T05:32:01.9406372Z ✔ custom openai-responses: full endpoint works for testing, generation and discovery (101.222868ms) +2026-09-27T05:32:01.9556287Z ✔ openai openai-chat: full endpoint works for testing, generation and discovery (61.761028ms) +2026-09-27T05:32:01.9676246Z ✔ openai openai-responses: full endpoint works for testing, generation and discovery (72.734524ms) +2026-09-27T05:32:01.9766397Z ✔ openrouter openai-chat: full endpoint works for testing, generation and discovery (62.005758ms) +2026-09-27T05:32:01.9796164Z ✔ deepseek openai-chat: full endpoint works for testing, generation and discovery (49.017086ms) +2026-09-27T05:32:01.9910406Z ✔ deepseek openai-responses: full endpoint works for testing, generation and discovery (65.461393ms) +2026-09-27T05:32:01.9992034Z ✔ Kimi Chat probes and SDK requests strip endpoints before adding the version prefix (39.988033ms) +2026-09-27T05:32:02.0735989Z ▶ OpenAI Responses semantic continuation +2026-09-27T05:32:02.0786390Z ✔ uses Maka persisted reasoning shape as the next continuation baseline (5.82388ms) +2026-09-27T05:32:02.0876076Z ✔ fails closed when the persisted request prefix or tool-result tail changed (0.310105ms) +2026-09-27T05:32:02.0906520Z ✔ sends only messages after the exact prior request and response (3.428227ms) +2026-09-27T05:32:02.0965687Z ✔ uses a full request when any prior request message changed (0.462541ms) +2026-09-27T05:32:02.1045719Z ✔ uses a full request when the replayed response is not exact (6.859514ms) +2026-09-27T05:32:02.1075797Z ✔ does not create an empty continuation (0.294025ms) +2026-09-27T05:32:02.1102761Z ✔ adds a session-stable cache key while preserving explicit OpenAI options (0.264569ms) +2026-09-27T05:32:02.1185868Z ✔ never overwrites an explicit cache key or mutates caller options (5.345947ms) +2026-09-27T05:32:02.1205661Z ✔ OpenAI Responses semantic continuation (26.285979ms) +2026-09-27T05:32:02.3130582Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:32:02.4836812Z ✔ model rows retain named parameter actions without mounting a tooltip layer per row (913.819261ms) +2026-09-27T05:32:02.7136054Z ▶ OpenAI Responses ModelAdapter continuation +2026-09-27T05:32:02.7196172Z ✔ maps streamed reasoning summaries into Maka thinking events (285.976627ms) +2026-09-27T05:32:02.7255949Z ✔ preserves retryable WebSocket failures through the AI SDK stream boundary (37.516376ms) +2026-09-27T05:32:02.7316013Z ✔ feeds the persisted reasoning projection back into the next delta request (116.065741ms) +2026-09-27T05:32:02.7375969Z ✔ OpenAI Responses ModelAdapter continuation (448.993625ms) +2026-09-27T05:32:02.8186248Z ✔ credential read failures still render the persistent warning (620.681969ms) +2026-09-27T05:32:02.8296283Z ▶ open responses plaintext reasoning +2026-09-27T05:32:02.8345848Z ✔ the pinned SDK maps official summary events across raw byte chunks (293.993249ms) +2026-09-27T05:32:02.8416109Z ✔ Alibaba-compatible content deltas still match the final summary metadata (13.845528ms) +2026-09-27T05:32:02.8516014Z ✔ the pinned SDK flushes an unfinalized item without provider metadata (10.091912ms) +2026-09-27T05:32:02.8545839Z ✔ the pinned SDK keeps response.failed ahead of its unfinalized trailer (5.278913ms) +2026-09-27T05:32:02.8655694Z ✔ streamed reasoning text reaches the model stream (6.297521ms) +2026-09-27T05:32:02.8715728Z ✔ everything the transport does not translate passes through untouched (2.71996ms) +2026-09-27T05:32:02.8794797Z ✔ reasoning survives frames split across chunk boundaries (20.519141ms) +2026-09-27T05:32:02.8835848Z ✔ a provider we have not measured is left untranslated (83.440812ms) +2026-09-27T05:32:02.8895527Z ✔ ordinary function calls still finish as tool-calls (6.782259ms) +2026-09-27T05:32:02.9045825Z ✔ non-streaming reasoning content is read (8.16902ms) +2026-09-27T05:32:02.9078538Z ✔ open responses plaintext reasoning (454.125037ms) +2026-09-27T05:32:02.9276651Z ✔ context windows preserve integers and parse decimal K/M without rounding (1.495988ms) +2026-09-27T05:32:02.9335950Z ✔ context windows reject malformed, fractional, nonpositive and unsafe values (0.286386ms) +2026-09-27T05:32:02.9366417Z ▶ renderConversationMarkdown +2026-09-27T05:32:02.9457681Z ✔ uses displayText for user turns when the model text is a skill envelope (18.849671ms) +2026-09-27T05:32:02.9555699Z ✔ renderConversationMarkdown (22.881923ms) +2026-09-27T05:32:02.9588801Z ✔ Desktop conversation adapter keeps snapshot reads and catalog access on the bridge (5.432969ms) +2026-09-27T05:32:02.9685957Z ✔ prompt suggestion preferences observe cross-renderer changes and unsubscribe (0.680728ms) +2026-09-27T05:32:02.9745614Z ▶ resolveCreateSessionRequest +2026-09-27T05:32:02.9825685Z ✔ leaves an omitted permission choice to the owning runtime (1.253471ms) +2026-09-27T05:32:02.9855870Z ✔ passes a product mode through verbatim for the Host to expand (8.010551ms) +2026-09-27T05:32:02.9909936Z ✔ refuses a directly-requested explore boundary (0.652103ms) +2026-09-27T05:32:03.0025627Z ✔ rejects an invalid collaboration or orchestration mode (0.314689ms) +2026-09-27T05:32:03.0075612Z ✔ rejects the retired research workflow (0.233869ms) +2026-09-27T05:32:03.0105160Z ✔ drops other unrecognized modes from the renderer (3.002507ms) +2026-09-27T05:32:03.0135927Z ✔ carries the caller's name and labels when no mode overrides them (0.245675ms) +2026-09-27T05:32:03.0198647Z ✔ resolveCreateSessionRequest (21.947865ms) +2026-09-27T05:32:03.0215653Z ✔ planner takes the straightest acceptable path, not the bendiest (12.748774ms) +2026-09-27T05:32:03.0265770Z ✔ a fresh move departs toward its target, never along the parked rest angle (3.838328ms) +2026-09-27T05:32:03.0305487Z ✔ an interrupted move can be planned dead straight (14.558252ms) +2026-09-27T05:32:03.0355713Z ✔ the presentation deadline covers the slowest release the gate can ask for (4.66712ms) +2026-09-27T05:32:03.0376469Z ✔ the deadline holds at every frame rate the overlay can paint at (40.864298ms) +2026-09-27T05:32:03.0440479Z ✔ a presentation resumed after an idle gap does not replay the gap (0.541845ms) +2026-09-27T05:32:03.0450001Z ✔ the landing the runtime waits for fits in the backstop it waits with (5.566795ms) +2026-09-27T05:32:03.0505646Z ✔ an interrupted move may still honour the heading it is already carrying (2.06267ms) +2026-09-27T05:32:03.0593399Z ✔ first appearance uses the requested action hotspot without an off-screen glide (0.307725ms) +2026-09-27T05:32:03.0625602Z ✔ subsequent move spring-settles exactly on the action hotspot (3.717682ms) +2026-09-27T05:32:03.0655514Z ✔ presentation progress APIs track the active spring path (1.826385ms) +2026-09-27T05:32:03.0735615Z ✔ short move remains finite and converges without a curved overshoot (0.311758ms) +2026-09-27T05:32:03.0745972Z ✔ boundary path never bows outside the viewport (0.439737ms) +2026-09-27T05:32:03.0799175Z ✔ a long fast move keeps the glyph inside a single scootRotationMax (10.747587ms) +2026-09-27T05:32:03.0846131Z ✔ native completion snaps the action hotspot and cancels the planned move (0.684085ms) +2026-09-27T05:32:03.0893875Z ✔ cancel clears path, pressed state, and press animation (2.897003ms) +2026-09-27T05:32:03.0917776Z ✔ cancel during first fade restores full opacity for the next move (8.972815ms) +2026-09-27T05:32:03.0955801Z ✔ click press animation clears over about 0.25 seconds (0.166787ms) +2026-09-27T05:32:03.1015817Z ✔ independent score charges a direct route less than an equal-length detour (0.129903ms) +2026-09-27T05:32:03.1065839Z ✔ independent score rejects an out-of-bounds shortcut in favour of a usable route (0.141072ms) +2026-09-27T05:32:03.1100040Z ✔ the rendered glyph tip is the action hotspot and every path lands exactly on it (1.523406ms) +2026-09-27T05:32:03.1135814Z ✔ the independently tuned position spring never overshoots its target (4.170839ms) +2026-09-27T05:32:03.1202175Z ✔ five-nines progress and the two-pixel gate cover the same landing (0.951219ms) +2026-09-27T05:32:03.1235624Z ✔ the 2100ms deadline covers 240Hz release and one-fps observability (1.539069ms) +2026-09-27T05:32:03.1285595Z ✔ terminal heading smoothsteps through the shortest signed angle (0.258191ms) +2026-09-27T05:32:03.1306049Z ✔ independent score preserves detour ratios for positive subpixel chords (0.122515ms) +2026-09-27T05:32:03.1335848Z ✔ fresh planning spends all nine candidates on a symmetric direct-departure arc grid (0.262243ms) +2026-09-27T05:32:03.1355767Z ✔ interrupted planning selects nine candidates across all five departure weights (0.223337ms) +2026-09-27T05:32:03.1395490Z ✔ zero path length over a zero chord has no detour (0.10924ms) +2026-09-27T05:32:03.1450396Z ✔ positive path length over a zero chord is rejected (0.099066ms) +2026-09-27T05:32:03.1476645Z ✔ moving and pressed canvas transforms keep the local tip on engine.pos (11.012245ms) +2026-09-27T05:32:03.1499594Z ✔ one-fps overlay frames count from motion submission and open within the deadline (104.745395ms) +2026-09-27T05:32:03.1501135Z ✔ reset invalidates an old action before its queued frame executes (44.112782ms) +2026-09-27T05:32:03.1516508Z ✔ interrupting a move aligns the old motion without replaying time into the replacement (69.450457ms) +2026-09-27T05:32:03.1586056Z ✔ persistent cursor overlay keeps animation frames unthrottled in the background (1.275462ms) +2026-09-27T05:32:03.1607579Z ✔ an imported id resolves inside the directory the app owns (1.348491ms) +2026-09-27T05:32:03.1615738Z ✔ an id that is not 32 hex characters never reaches the filesystem (0.782916ms) +2026-09-27T05:32:03.1616945Z ✔ listing reports imported ids and ignores everything else in the directory (10.909662ms) +2026-09-27T05:32:03.1618057Z ✔ listing an app that never imported anything is empty, not an error (3.13675ms) +2026-09-27T05:32:03.1619210Z ✔ removing is idempotent, so a double click cannot fail the second time (2.267647ms) +2026-09-27T05:32:03.1620238Z ✔ Daily Review fixture seeds archives through the storage authority (867.997413ms) +2026-09-27T05:32:03.1621427Z ✔ binds a default Host operation and its diagnostics to one authoritative identity (6.8139ms) +2026-09-27T05:32:03.1622497Z ✔ does not invent Host authority when resolving the default Host fails (0.452773ms) +2026-09-27T05:32:03.1623610Z ✔ discards a projection completion from a Host that is no longer the default (2.072098ms) +2026-09-27T05:32:03.1624802Z ✔ a packaged build reads assets from the copy beside the app (4.432934ms) +2026-09-27T05:32:03.1655751Z ✔ a dev run keeps resolving the repo layout, not the resources path (0.497933ms) +2026-09-27T05:32:03.1685812Z ✔ resolves explicit preferences and observes a mid-session settings change (13.22147ms) +2026-09-27T05:32:03.1705728Z ✔ publishes only resolved-locale changes and allows listeners to detach (1.324873ms) +2026-09-27T05:32:03.1766180Z ✔ keeps automatic preference live against the current system fallback (0.53986ms) +2026-09-27T05:32:03.1819556Z ✔ does not let a stale read replace a newer observed preference (0.458112ms) +2026-09-27T05:32:03.1875573Z ✔ falls back to its current projection when settings cannot be read (2.084022ms) +2026-09-27T05:32:03.1896433Z ✔ resolves a delayed persisted preference before startup native copy is selected (0.37096ms) +2026-09-27T05:32:03.1935717Z ✔ never projects the legacy zh preference into native copy lookups (0.320452ms) +2026-09-27T05:32:03.1995840Z ✔ localizes native picker and client settings confirmation copy (5.919481ms) +2026-09-27T05:32:03.2055684Z ✔ keeps equal raw Session ids distinct across Runtime Hosts (1.396822ms) +2026-09-27T05:32:03.2069719Z ✔ preserves the authenticated shared Session revision (0.3548ms) +2026-09-27T05:32:03.2119460Z ✔ retires an active Session only after it leaves the refreshed catalog (0.303707ms) +2026-09-27T05:32:03.2175981Z ✔ projects typed linked Session ids without rewriting opaque tool data (7.263913ms) +2026-09-27T05:32:03.2215649Z ✔ projects queued Session attachments into the Desktop host namespace (0.446426ms) +2026-09-27T05:32:03.2265840Z ✔ projects only present Usage Session ids into the Desktop host namespace (0.403811ms) +2026-09-27T05:32:03.2319033Z ✔ projects durable WorkHub delegation targets into the Desktop host namespace (0.364252ms) +2026-09-27T05:32:03.2357131Z ▶ desktop slash command availability +2026-09-27T05:32:03.2390325Z ✔ withholds /compact while the Turn streams, and nothing else (6.886498ms) +2026-09-27T05:32:03.2415551Z ✔ offers only the commands that need no Session before one exists (0.258143ms) +2026-09-27T05:32:03.2475493Z ✔ desktop slash command availability (11.475105ms) +2026-09-27T05:32:03.2522869Z ✔ merges a settled tail without dropping earlier messages (7.434204ms) +2026-09-27T05:32:03.2547892Z ✔ merges an anchored historical range before its overlapping tail (0.330905ms) +2026-09-27T05:32:03.2606244Z ✔ cancels settlement while transcript open is pending (7.919104ms) +2026-09-27T05:32:03.2607307Z ✔ an unopened transcript still fails settlement by default (480.769719ms) +2026-09-27T05:32:03.2668825Z ✔ reads one Host-owned Turn outside the bounded transcript tail (9.957261ms) +2026-09-27T05:32:03.2695758Z ✔ reads the required Turn when the tail begins inside it (6.211693ms) +2026-09-27T05:32:03.2747924Z ✔ reads the Turn the tail begins inside when the caller names none (1.008385ms) +2026-09-27T05:32:03.2785698Z ✔ settles on a tail that begins between two Turns without reading one (9.818726ms) +2026-09-27T05:32:03.2825690Z ✔ does not settle when the targeted Host-owned Turn read is empty (480.678802ms) +2026-09-27T05:32:03.2868545Z ✔ does not settle when the targeted Host-owned Turn read fails (480.068191ms) +2026-09-27T05:32:03.2932946Z ✔ assembles a fragmented durable record once and ignores its replay (19.942608ms) +2026-09-27T05:32:03.2955745Z ✔ drops stale transcript batches after a generation reset (0.615796ms) +2026-09-27T05:32:03.3016893Z ✔ cached reload snapshots allow the same live transcript generation to resume (10.42818ms) +2026-09-27T05:32:03.3067278Z ✔ a replacement live generation retires the previous replica through cached snapshots (6.001002ms) +2026-09-27T05:32:03.3107533Z ✔ keeps unchanged message references stable across immutable range snapshots (0.556584ms) +2026-09-27T05:32:03.3168335Z ✔ a reset spanning several batches publishes once, when it is ready (11.401573ms) +2026-09-27T05:32:03.3208947Z ✔ earlier history installs only below the oldest row it was read for (0.733739ms) +2026-09-27T05:32:03.3278814Z ✔ a tail change that does not continue the held rows reopens the transcript (9.327673ms) +2026-09-27T05:32:03.3321228Z ✔ loadEarlier shares one in-flight read and reports its failure (0.976054ms) +2026-09-27T05:32:03.3401949Z ✔ a read down to a sequence waits out a pending read, skips held history, and a reopen resumes from the oldest held row (12.648462ms) +2026-09-27T05:32:03.3414921Z ✔ bounds the default active transcript range by Turn identities (8.777932ms) +2026-09-27T05:32:03.3450463Z ✔ bounds the default active transcript range by presentation bytes (17.095056ms) +2026-09-27T05:32:03.3505669Z ✔ keeps an oversized latest Turn visible after bootstrap eviction (6.445195ms) +2026-09-27T05:32:03.3511305Z ✔ keeps an oversized latest Turn visible before a trailing session note (6.748623ms) +2026-09-27T05:32:03.3601263Z ✔ advances a projected transcript across hidden durable records (1.21558ms) +2026-09-27T05:32:03.3625803Z ✔ keeps an oversized Turn visible when the watermark advances onto it (9.957779ms) +2026-09-27T05:32:03.3657788Z ✔ keeps an oversized settled Turn visible before a trailing session note (10.520496ms) +2026-09-27T05:32:03.3701592Z ✔ does not resurrect a discarded replica when a history page read is in flight (0.716645ms) +2026-09-27T05:32:03.3738272Z ✔ does not drive a discarded replica terminal when a contiguous catch-up is in flight (7.262999ms) +2026-09-27T05:32:03.3785810Z ✔ a transcript opened between catch-up pages can join the change that follows (1.095335ms) +2026-09-27T05:32:03.3836149Z ✔ transfers prepared transcript bytes into active replica accounting (0.480655ms) +2026-09-27T05:32:03.3875612Z ✔ does not release resident bytes when preparation accounting rejects them (10.67844ms) +2026-09-27T05:32:03.3907954Z ✔ reopens a failed transcript range with a fresh generation (0.905524ms) +2026-09-27T05:32:03.3964013Z ✔ retries a failed transcript recovery after a newer observation becomes ready (7.420233ms) +2026-09-27T05:32:03.4000581Z ✔ waits for the required durable message on the current transcript generation (5.688218ms) +2026-09-27T05:32:03.4020719Z ✔ the transcript does not change while a tail change is still being assembled (9.190671ms) +2026-09-27T05:32:03.4045954Z ✔ reports each tail watermark the reader reaches once (1.612785ms) +2026-09-27T05:32:03.4089597Z ✔ cancels a transcript open that is still waiting for a Host (11.602191ms) +2026-09-27T05:32:03.4128255Z ✔ cached fallback remains readable and retries once per observation generation until live (1.431064ms) +2026-09-27T05:32:03.4155766Z ✔ a reload that lands on the cached transcript recovers once the Host is back (6.763506ms) +2026-09-27T05:32:03.4185715Z ✔ live transcript open failures without cache still report the original error (0.811939ms) +2026-09-27T05:32:03.4195485Z ✔ latches a dead transcript page read like a dead subscription (13.025792ms) +2026-09-27T05:32:03.4255718Z ✔ latches a dead subscription instead of re-arming the catch-up read (18.645366ms) +2026-09-27T05:32:03.4315568Z ✔ does not latch a transient operation failure (10.420727ms) +2026-09-27T05:32:03.4345806Z ✔ follows the subscription watermark rather than an announced frame (1.035197ms) +2026-09-27T05:32:03.4347016Z ✔ re-reads the watermark when it moves during a blocked fetch (0.959276ms) +2026-09-27T05:32:03.4395360Z ✔ advance resolves quietly without reading once evicted (2.576603ms) +2026-09-27T05:32:03.4427089Z ✔ the Electron lock owner publishes one private launch result (4.688665ms) +2026-09-27T05:32:03.4454874Z ✔ preserves both canonical Chinese locale fixture flags (1.281151ms) +2026-09-27T05:32:03.4496150Z ✔ normalizes locale fixture flag casing without widening the contract (0.257022ms) +2026-09-27T05:32:03.4533486Z ▶ OpenAI Responses WebSocket transport +2026-09-27T05:32:03.4545674Z ✔ reuses a turn socket and sends previous_response_id with delta-only input (100.483071ms) +2026-09-27T05:32:03.4579043Z ✔ reconstructs the complete history for HTTP when WebSocket setup fails (12.56086ms) +2026-09-27T05:32:03.4635731Z ✔ skips WebSocket setup across turns during the failure cooldown and retries after it (15.775431ms) +2026-09-27T05:32:03.4715817Z ✔ recovers the same lane after cooldown expiry and resumes delta transport (18.294557ms) +2026-09-27T05:32:03.4736128Z ✔ keeps a healthy lane socket active while the cooldown suppresses new connections (24.042713ms) +2026-09-27T05:32:03.4775821Z ✔ falls back to HTTP for a concurrent request on a busy lane (15.067131ms) +2026-09-27T05:32:03.4835847Z ✔ makes a stale continuation retryable and sends the retry through HTTP (10.121814ms) +2026-09-27T05:32:03.4866102Z ✔ keeps an idle error listener on a reusable socket (15.450003ms) +2026-09-27T05:32:03.4915027Z ✔ fails binary frames as retryable transport errors (3.237278ms) +2026-09-27T05:32:03.4945793Z ✔ surfaces non-truncation incomplete responses but accepts max-output truncation (6.785704ms) +2026-09-27T05:32:03.5015907Z ✔ does not start the failure cooldown for a provider response.failed event (12.327684ms) +2026-09-27T05:32:03.5045757Z ✔ aborts a live stream without entering the cross-turn failure cooldown (11.368187ms) +2026-09-27T05:32:03.5085672Z ✔ aborts WebSocket setup without starting the failure cooldown (7.460533ms) +2026-09-27T05:32:03.5149045Z ✔ uses the HTTP/SOCKS proxy snapshot and honors the same bypass list (4.307559ms) +2026-09-27T05:32:03.5185678Z ✔ connects through the configured authenticated HTTP proxy (19.270654ms) +2026-09-27T05:32:03.5233154Z ✔ reconnects with complete history instead of using a socket-local id (17.819038ms) +2026-09-27T05:32:03.5275831Z ✔ reconstructs prior input, provider output, and the delta when a reused lane falls back (108.490823ms) +2026-09-27T05:32:03.5305820Z ✔ OpenAI Responses WebSocket transport (406.175633ms) +2026-09-27T05:32:03.5346036Z ✔ OpenAI strict object schemas require every nullable property (9.1312ms) +2026-09-27T05:32:03.5377820Z ✔ strict function projection drops only known irrelevant non-null fields (1.669119ms) +2026-09-27T05:32:03.5422169Z ✔ strict function projection rejects unknown keys, accessors, and actions (3.257042ms) +2026-09-27T05:32:03.7464309Z ✔ a stored OpenCode Free connection cannot probe or create a model (2.527842ms) +2026-09-27T05:32:03.8426080Z ▶ OpenCode session header +2026-09-27T05:32:03.8487464Z ✔ adds a trimmed stable session identity for OpenCode Go (1.986523ms) +2026-09-27T05:32:03.8549862Z ✔ preserves an explicitly configured header case-insensitively (1.767757ms) +2026-09-27T05:32:03.8605674Z ✔ does not add an empty session identity (0.210397ms) +2026-09-27T05:32:03.8645613Z ✔ OpenCode session header (17.467016ms) +2026-09-27T05:32:05.1116135Z ✔ a catalog change during failed discovery retries after the in-flight result settles (94.313111ms) +2026-09-27T05:32:05.1896731Z ✔ late draft discovery cannot replace the current target; existing tasks inspect without probing (86.53814ms) +2026-09-27T05:32:05.1956326Z ✔ native task creation preserves untouched, provider-default and explicit thinking choices (2.546893ms) +2026-09-27T05:32:05.1996107Z ✔ an executor choice uses its exact model without inheriting native thinking or orchestration (0.444496ms) +2026-09-27T05:32:05.3210832Z ✔ routes Work Board codes through the shared presenter per locale (7.099564ms) +2026-09-27T05:32:05.3366090Z ✔ session setting failures map expected update codes per locale (0.348718ms) +2026-09-27T05:32:05.3506086Z ✔ a classified shell failure renders its category without an unexpected diagnostic (3.853271ms) +2026-09-27T05:32:05.3518503Z ✔ maps plan control envelopes per locale at the panel (0.40451ms) +2026-09-27T05:32:05.3570861Z ✔ unexpected setting failures keep the caller fallback (0.755411ms) +2026-09-27T05:32:05.3596347Z ✔ routes structured collaboration failures through each locale catalog (0.412359ms) +2026-09-27T05:32:05.3625591Z ✔ shell errors keep the generalized classifier over raw text (4.811944ms) +2026-09-27T05:32:05.3655635Z ✔ every shell error-copy entry classifies, and keeps its contextual fallback (0.7683ms) +2026-09-27T05:32:05.3685591Z ✔ one failure yields one diagnostic however many layers format it (0.486457ms) +2026-09-27T05:32:05.3686798Z ✔ a classified failure never reaches the diagnostics channel (3.706243ms) +2026-09-27T05:32:05.3715752Z ✔ a renderer-owned plan error maps to the actionable failure copy (0.507285ms) +2026-09-27T05:32:05.5176482Z ▶ reactive overflow recovery in the streaming backend +2026-09-27T05:32:05.5236529Z ✔ a handoff successor compacts its same-turn predecessors with a user anchor without replaying effects or duplicating history (495.746691ms) +2026-09-27T05:32:05.6362177Z ✔ Runtime Host management codes render per locale and unknown codes fall back (2.144678ms) +2026-09-27T05:32:05.6416135Z ✔ provider action errors never echo a raw Chinese message (4.177388ms) +2026-09-27T05:32:05.6456111Z ✔ stale connection errors render the same copy with or without IPC wrapping (1.652982ms) +2026-09-27T05:32:05.6478215Z ✔ a handoff successor compacts its same-turn predecessors with a host anchor without replaying effects or duplicating history (140.707656ms) +2026-09-27T05:32:05.6806712Z ✔ a request-level context-length 400 ends as a real error, never a fake end_turn (37.800307ms) +2026-09-27T05:32:05.7201052Z ✔ external setup shares browser presentation without accepting a stale attempt URL (5.514903ms) +2026-09-27T05:32:05.7218792Z ✔ setup IPC registers an expectation before start and releases it on terminal result or cancel (6.759412ms) +2026-09-27T05:32:05.7248650Z ✔ setup accepts a delayed authorization link and clears terminal, cancelled and abandoned expectations (3.94236ms) +2026-09-27T05:32:05.7285823Z ✔ a non-overflow provider failure ends as a real error without any recovery attempt (43.782654ms) +2026-09-27T05:32:05.7946336Z ✔ retries one provider-unavailable failure from the request boundary (70.470935ms) +2026-09-27T05:32:05.9017905Z ✔ retries one rate-limit failure from the request boundary (106.576941ms) +2026-09-27T05:32:05.9795010Z ✔ applies a fresh provider retry budget to each completed step (80.877604ms) +2026-09-27T05:32:06.0763246Z ✔ stops after ten provider attempts with bounded exponential backoff (96.167917ms) +2026-09-27T05:32:06.1426535Z ✔ pauses the stream watchdog during an intentional provider backoff (59.815429ms) +2026-09-27T05:32:06.1699678Z ✔ cancels a provider backoff when the turn is stopped (32.043924ms) +2026-09-27T05:32:06.2029531Z ✔ cancels a provider backoff when the event consumer detaches (29.334381ms) +2026-09-27T05:32:06.2651973Z ✔ retries one transient transport failure from the completed-step request boundary (70.66095ms) +2026-09-27T05:32:06.3176297Z ✔ retries when a provider response body terminates during stream iteration (51.972468ms) +2026-09-27T05:32:06.3826332Z ✔ preserves interrupted text while retrying from the completed tool step (65.356151ms) +2026-09-27T05:32:06.6566413Z ✔ counts overflow recovery within the ten-request budget (269.036553ms) +2026-09-27T05:32:06.7154956Z ✔ recovers after partial tool arguments without treating missing usage as complete (67.871029ms) +2026-09-27T05:32:06.7776300Z ✔ compacts once and retries after a mid-stream context-length overflow (54.796421ms) +2026-09-27T05:32:06.8375248Z ✔ lowers a 128K output cap on the request after overflow recovery (59.854327ms) +2026-09-27T05:32:06.8882989Z ✔ sends no output cap on a Codex subscription retry after overflow recovery (51.365764ms) +2026-09-27T05:32:06.9466560Z ✔ drops hydrated images before the single overflow retry without rerunning tools (62.839732ms) +2026-09-27T05:32:06.9749295Z ✔ surfaces a retryable second overflow after the image-only retry without another loop (25.110088ms) +2026-09-27T05:32:07.0375163Z ✔ keeps only the historical image omitted after the overflow retry returns a tool call (59.554308ms) +2026-09-27T05:32:07.0797648Z ✔ keeps a step-0 overflow checkpoint projected after the retry returns a tool call (39.89776ms) +2026-09-27T05:32:07.2453609Z ✔ step-0 overflow recovery gates reasoning on retry and durable reload (164.654389ms) +2026-09-27T05:32:07.3026510Z ✔ loads an already-live Turn and hands replay to later output without duplication (6135.311018ms) +2026-09-27T05:32:07.3050394Z ✔ the resend seals the fold recovery made for it, and the request before it seals none (66.141577ms) +2026-09-27T05:32:07.3157340Z ✔ a checkpoint carried in from an earlier turn is the boundary of a send that folds nothing (8.955993ms) +2026-09-27T05:32:07.3235280Z ✔ a passive replay of a held checkpoint writes no context_compacted note (#3587) (12.058226ms) +2026-09-27T05:32:07.3338784Z ✔ a loaded checkpoint the projection refused is not reported as the boundary (10.911348ms) +2026-09-27T05:32:07.3581141Z ✔ a step-0 recovery fold is sealed as pre_turn by the request it rebuilt (23.659009ms) +2026-09-27T05:32:07.3929649Z ✔ keeps native Codex state projected across a step-0 overflow retry (29.061588ms) +2026-09-27T05:32:07.4308210Z ✔ does not retry an overflow after an after-step stop is requested (39.239902ms) +2026-09-27T05:32:07.4726185Z ✔ recovers a model whose context window nothing can supply (35.383621ms) +2026-09-27T05:32:07.5026695Z ✔ recovers from a plain-object in-stream error part, not just Error instances (review round-8 P1-1) (36.79645ms) +2026-09-27T05:32:07.5508657Z ✔ recovers from the Responses-family in-stream error shape with its non-error finish trailer (review round-9 P3) (50.369915ms) +2026-09-27T05:32:07.5896245Z ✔ discards an undispatched tool call before overflow compaction recovery (35.866137ms) +2026-09-27T05:32:07.6166862Z ✔ does not recover an overflow after the failed stream emitted visible text (25.372799ms) +2026-09-27T05:32:07.6657204Z ✔ a transport retry after overflow keeps the recovered request projection (43.545043ms) +2026-09-27T05:32:07.7416313Z ✔ the recovery baseline is the request the provider rejected, not the attempt-initial messages (79.344947ms) +2026-09-27T05:32:07.7796551Z ✔ an unusable first-attempt step usage fails the whole record closed even when the retry succeeds (39.127538ms) +2026-09-27T05:32:07.8149749Z ✔ the Runtime send-level step limit survives an explicit overflow retry (review P1-3) (35.65427ms) +2026-09-27T05:32:07.9377399Z ✔ a completed retry step's assistant text is never dropped by a post-retry compaction (review P1-A) (113.340746ms) +2026-09-27T05:32:07.9648458Z ✔ a same-turn tool_search activation survives the retry (review P1-B) (39.986287ms) +2026-09-27T05:32:07.9935983Z ✔ an actively pruned tool result stays a placeholder in the retry request (review round-3 P1) (26.907854ms) +2026-09-27T05:32:08.0289084Z ✔ a second overflow after the single retry ends as a real error (35.911715ms) +2026-09-27T05:32:08.0493251Z ✔ a proactive fold spends the step, so the same step does not fold again (20.038463ms) +2026-09-27T05:32:08.0938006Z ✔ a failed proactive fold leaves the reactive attempt to the provider's rejection (41.809841ms) +2026-09-27T05:32:08.2089209Z ✔ a later step that overflows again folds again after real progress (110.133017ms) +2026-09-27T05:32:08.2426299Z ✔ no recovery seam means a context-length overflow ends as a real error (39.289907ms) +2026-09-27T05:32:08.2676241Z ✔ an overflow with no foldable completed span ends as a real error (22.951721ms) +2026-09-27T05:32:08.3056386Z ✔ a steering message survives a transport retry exactly once per request (30.438919ms) +2026-09-27T05:32:08.3336333Z ✔ a transport retry keeps a historical ledger-replayed steering message in the base (34.857748ms) +2026-09-27T05:32:08.3846338Z ✔ a persisted steering message appears exactly once in an overflow-rebuilt request (58.1855ms) +2026-09-27T05:32:08.4549860Z ✔ a checkpoint fold never covers an injected steering message (61.645066ms) +2026-09-27T05:32:08.4812768Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:32:08.5097969Z ✔ suggests a Maka window after provider overflow without a declaration (62.783422ms) +2026-09-27T05:32:08.5786799Z ✔ suggests a Maka window after provider overflow below a declared provider window (60.110189ms) +2026-09-27T05:32:08.7138839Z ✔ a fold that failed open does not claim the request was compacted (134.025623ms) +2026-09-27T05:32:08.7606186Z ✔ a rejection after an applied fold says the request is still too large (54.136592ms) +2026-09-27T05:32:08.8188448Z ✔ an unfoldable overflow after an accepted fold still says the request was compacted (55.587044ms) +2026-09-27T05:32:08.8567180Z ✔ a send that overflows once, folds and completes suggests nothing (38.710539ms) +2026-09-27T05:32:08.8795305Z ✔ does not suggest a smaller Maka window when the declaration was already crossed (24.421601ms) +2026-09-27T05:32:08.8914987Z ✔ reactive overflow recovery in the streaming backend (3890.718998ms) +2026-09-27T05:32:08.9823185Z ▶ isPathInside +2026-09-27T05:32:08.9824843Z ✔ rejects cross-drive Windows targets (different drive is not inside root) (8.136795ms) +2026-09-27T05:32:08.9858553Z ✔ rejects same-drive Windows targets outside root (0.392925ms) +2026-09-27T05:32:08.9876714Z ✔ allows same-drive Windows targets under root (0.288415ms) +2026-09-27T05:32:08.9922316Z ✔ rejects parent-directory escape on POSIX (5.729361ms) +2026-09-27T05:32:08.9936020Z ✔ allows POSIX targets under root (2.631173ms) +2026-09-27T05:32:08.9961160Z ✔ allows paths whose first segment starts with ".." but is not a parent reference (e.g. ..rules) (0.390381ms) +2026-09-27T05:32:08.9997111Z ✔ isPathInside (22.861212ms) +2026-09-27T05:32:09.0029515Z ▶ realpathAllowMissing +2026-09-27T05:32:09.0055604Z ✔ canonicalises an existing path through a symlinked ancestor (40.05493ms) +2026-09-27T05:32:09.0095708Z ✔ appends missing trailing segments to the deepest existing ancestor (10.887166ms) +2026-09-27T05:32:09.0118435Z ✔ follows a dangling symlink to its target, which is where a write would land (9.258776ms) +2026-09-27T05:32:09.0145714Z ✔ follows a chain of dangling links and keeps the segments below them (19.371836ms) +2026-09-27T05:32:09.0152560Z ✔ treats a non-directory ancestor as missing rather than throwing ENOTDIR (12.365015ms) +2026-09-27T05:32:09.0175695Z ✔ rejects a pathological dangling chain instead of walking it forever (22.202006ms) +2026-09-27T05:32:09.0205918Z ✔ propagates a symlink cycle instead of walking forever (9.224033ms) +2026-09-27T05:32:09.0265197Z ✔ realpathAllowMissing (124.643638ms) +2026-09-27T05:32:09.0297817Z ✔ reports a partial stdin delivery failure before the child exit (195.446077ms) +2026-09-27T05:32:09.0325362Z ▶ Plan Mode tool surface +2026-09-27T05:32:09.0357824Z ✔ requires plain-text step titles and descriptions (46.774535ms) +2026-09-27T05:32:09.0359434Z ✔ keeps read tools and plan controls while removing writes and execution tools (4.137163ms) +2026-09-27T05:32:09.0385675Z ✔ restores mutating tools for full access without enabling autonomous workflows (1.816394ms) +2026-09-27T05:32:09.0445483Z ✔ active execution exposes progress controls and removes subagents (3.15947ms) +2026-09-27T05:32:09.0475295Z ✔ Plan Mode tool surface (58.053978ms) +2026-09-27T05:32:09.0485508Z ✔ ctx.agent follows the exact asynchronous Tool invocation (6.042393ms) +2026-09-27T05:32:09.0486798Z ✔ Agent handles expose the complete control and query surface (2.182539ms) +2026-09-27T05:32:09.0515847Z ✔ Agent access fails closed without an invocation and handles retain their authority (1.407574ms) +2026-09-27T05:32:09.0545771Z ✔ Agent custom cancellation preserves the originating invocation cancellation (5.439318ms) +2026-09-27T05:32:09.0562950Z ✔ Client Remote resolves Session handlers over Profile handlers (5.902256ms) +2026-09-27T05:32:09.0578276Z ✔ Client Remote validates input and retires active streams with their Fiber (5.42565ms) +2026-09-27T05:32:09.0609294Z ✔ retiring an idle stream does not wait for another pull (2.217709ms) +2026-09-27T05:32:09.0635994Z ✔ closing a non-cooperative producer releases an outstanding pull (1.372951ms) +2026-09-27T05:32:09.0669823Z ✔ retirement interrupts non-cooperative stream item validation (1.358193ms) +2026-09-27T05:32:09.0700366Z ✔ retirement cancels uncooperative RPC and stream opens, and prepared calls never switch registrations (10.55688ms) +2026-09-27T05:32:09.0725923Z ✔ composition tree supports nested groups and repeated package instances (13.799627ms) +2026-09-27T05:32:09.0756020Z ✔ package Entry descendants stay owned by the parent package Fiber (16.556705ms) +2026-09-27T05:32:09.0757507Z ✔ missing injected service enters pending and activates when provided (2.501063ms) +2026-09-27T05:32:09.0783943Z ✔ composition metadata wins over same-named root Services (1.943766ms) +2026-09-27T05:32:09.0813099Z ✔ config update uses the existing Fiber and preserves entry identity (2.391051ms) +2026-09-27T05:32:09.0839941Z ✔ duplicate package install is rejected without replacing live code (1.385477ms) +2026-09-27T05:32:09.0877279Z ✔ remove and close exhaust subtree cleanup across retirement failures (9.414049ms) +2026-09-27T05:32:09.0878822Z ✔ disabled ancestors suppress insert, move, update, and subtree replacement activation (8.765546ms) +2026-09-27T05:32:09.0880125Z ✔ insert commit failure disposes its unindexed Fiber exactly once (1.175173ms) +2026-09-27T05:32:09.0881390Z ✔ transaction commit failure rolls registrations back sequentially in LIFO order (4.09085ms) +2026-09-27T05:32:09.0882712Z ✔ retirement cleanup failure does not roll back a published removal generation (0.779202ms) +2026-09-27T05:32:09.0884002Z ✔ retirement cleanup failure does not roll back a published structural update (0.751927ms) +2026-09-27T05:32:09.0885484Z ✔ contribution registrations are staged and owned by the entry Fiber (2.864311ms) +2026-09-27T05:32:09.0886662Z ✔ state replacement restores ordered roots and descendants (1.393671ms) +2026-09-27T05:32:09.0887822Z ✔ live state and subtree replacement publish a fresh composition generation (0.758969ms) +2026-09-27T05:32:09.0889051Z ✔ entry inject and intercept metadata retain the feat shallow-copy contract (0.532166ms) +2026-09-27T05:32:09.0890110Z ✔ replacement subtrees reject duplicate ids across different branches (0.459541ms) +2026-09-27T05:32:09.0950047Z ✔ state preserves session ids that overlap object prototype properties (2.418388ms) +2026-09-27T05:32:09.0987037Z ✔ inspecting a missing root does not mutate the composition state (0.319436ms) +2026-09-27T05:32:09.1000547Z ✔ failed insert does not create an empty composition root (0.388972ms) +2026-09-27T05:32:09.1001966Z ✔ structural updates preserve descendants added after the parent was created (0.700991ms) +2026-09-27T05:32:09.1003143Z ✔ failed rebind leaves parent and position unchanged (1.098575ms) +2026-09-27T05:32:09.1004311Z ✔ inspection includes package dependencies and live Fiber failures (0.939612ms) +2026-09-27T05:32:09.1006125Z ✔ committed transactions reject late registration before acquiring resources (0.852742ms) +2026-09-27T05:32:09.1007558Z ✔ callable config remains inspectable after publication (4.012017ms) +2026-09-27T05:32:09.1008660Z ✔ callable intercept changes trigger structural Context replacement (0.895088ms) +2026-09-27T05:32:09.1009815Z ✔ staging and commit failures do not retain newly created session roots (4.841936ms) +2026-09-27T05:32:09.1010938Z ✔ composition apply batches EntryTree operations under one generation check (3.592207ms) +2026-09-27T05:32:09.1066452Z ✔ failed composition batches restore the prior generation exactly (2.019955ms) +2026-09-27T05:32:09.1067848Z ✔ failed composition batches preserve both the operation and rollback failures (1.132419ms) +2026-09-27T05:32:09.1104217Z ✔ package reload replaces every matching mount without restarting unrelated Entries (5.328912ms) +2026-09-27T05:32:09.1133019Z ✔ partial recovery preserves desired generation and isolates failed siblings (2.128341ms) +2026-09-27T05:32:09.1156614Z ✔ desired-state reducer applies dependent operations without activating code (0.347422ms) +2026-09-27T05:32:09.1179878Z ✔ desired-state reducer stays equivalent to live Entry Tree batch semantics (3.719665ms) +2026-09-27T05:32:09.1217788Z ✔ executor backend converts plugin output and result to ordinary Session events (18.528797ms) +2026-09-27T05:32:09.1285657Z ✔ oversized executor completion fails without emitting a large text_complete event (5.59495ms) +2026-09-27T05:32:09.1292137Z ✔ executor backend turns stop into abort and terminal events (4.809944ms) +2026-09-27T05:32:09.1297572Z ✔ executor backend projects optional thinking and external tool activity (9.004034ms) +2026-09-27T05:32:09.1298819Z ✔ executor retirement remains cancellation and is surfaced as a crash abort (1.29429ms) +2026-09-27T05:32:09.1300006Z ✔ executor failure closes rich output before publishing its terminal error (5.395092ms) +2026-09-27T05:32:09.1301155Z ✔ executor permission requests use the hosted form authority (5.118143ms) +2026-09-27T05:32:09.1302278Z ✔ executor questions round-trip original choices through hosted forms (10.114388ms) +2026-09-27T05:32:09.1303452Z ✔ executors are scoped and pass black-box output without an Agent invocation (60.263148ms) +2026-09-27T05:32:09.1305006Z ✔ executor registration is transactional across hot reload (5.783983ms) +2026-09-27T05:32:09.1306061Z ✔ retiring an executor aborts and drains its active calls (13.301236ms) +2026-09-27T05:32:09.1307113Z ✔ executor registration binds prototype methods to the provider instance (2.571365ms) +2026-09-27T05:32:09.1308121Z ✔ executor bindings pin one provider generation (11.436484ms) +2026-09-27T05:32:09.1309176Z ✔ executor completion after caller cancellation is normalized to cancelled (5.668685ms) +2026-09-27T05:32:09.1310356Z ✔ executor rich events require an explicitly declared capability (0.837127ms) +2026-09-27T05:32:09.1311511Z ✔ executor permission choices cross the service boundary with validation (5.574742ms) +2026-09-27T05:32:09.1313131Z ✔ cancellation drains final updates and preserves timeout interruption (1.410767ms) +2026-09-27T05:32:09.1314809Z ✔ catalog inspection stays process-free and model configuration is isolated per conversation (7.577446ms) +2026-09-27T05:32:09.1316213Z ✔ catalog discovery uses session visibility without inspecting a conversation (8.997967ms) +2026-09-27T05:32:09.1317452Z ✔ questions and approvals use the exact current Tool interaction authority (17.824145ms) +2026-09-27T05:32:09.1318574Z ✔ interaction services reject calls outside an Agent invocation (5.786816ms) +2026-09-27T05:32:09.1319659Z ✔ form custom cancellation preserves Host invocation cancellation (13.939381ms) +2026-09-27T05:32:09.1320774Z ✔ injected plugins wait for Services and reload when ownership changes (15.172989ms) +2026-09-27T05:32:09.1322120Z ✔ Services provided by a plugin activate dependent plugins after the provider is active (4.434199ms) +2026-09-27T05:32:09.1323399Z ✔ Service health-check failures move consumers to failed and allow recovery (4.582594ms) +2026-09-27T05:32:09.1325297Z ✔ a provider with multiple Services activates each dependent Fiber once (4.526419ms) +2026-09-27T05:32:09.1326894Z ✔ rapid Service updates coalesce dependent Fiber reloads around the latest value (0.98282ms) +2026-09-27T05:32:09.1328119Z ✔ Fiber await includes a Service refresh queued during activation (26.867268ms) +2026-09-27T05:32:09.1329109Z ✔ Fiber await observes the final state after an intermediate transition rejects (1.318826ms) +2026-09-27T05:32:09.1330087Z ✔ fire-and-forget Fiber activation failures do not become unhandled rejections (6.517003ms) +2026-09-27T05:32:09.1331175Z ✔ asynchronous Effect setup and cleanup failures are observed internally (7.008628ms) +2026-09-27T05:32:09.1332455Z ✔ synchronous Effect setup failures preserve the active Fiber contract (3.595618ms) +2026-09-27T05:32:09.1333566Z ✔ Service isolation keeps sibling implementations independent (6.382322ms) +2026-09-27T05:32:09.1334820Z ✔ Fiber update preserves identity and disposes Effects in reverse order (2.470728ms) +2026-09-27T05:32:09.1335848Z ✔ Fiber Proxy exposes getters backed by private state (0.391658ms) +2026-09-27T05:32:09.1336964Z ✔ Plugin objects sharing apply retain independent Runtime metadata (1.660327ms) +2026-09-27T05:32:09.1337997Z ✔ Standard Schema validation preserves raw Fiber config across restarts (0.53462ms) +2026-09-27T05:32:09.1339056Z ✔ Fiber update restores the previous active config after activation fails (2.574824ms) +2026-09-27T05:32:09.1340219Z ✔ concurrent Fiber updates serialize config activation and isolate rollback (0.584597ms) +2026-09-27T05:32:09.1341349Z ✔ Fiber cleanup exhausts Effects before reporting disposer failures (4.96473ms) +2026-09-27T05:32:09.1342368Z ✔ Service loss preserves consumer cleanup failure on the owning Fiber (0.787624ms) +2026-09-27T05:32:09.1343472Z ✔ Fiber owns derived Context views, child Fibers, and their Effects (0.754424ms) +2026-09-27T05:32:09.1344686Z ✔ concurrent Effect disposal shares the same completion task (35.05959ms) +2026-09-27T05:32:09.1345799Z ✔ Plugin Runtime metadata cache uses weak Plugin identities (0.287403ms) +2026-09-27T05:32:09.1346822Z ✔ accessors cannot shadow existing Context properties (4.582809ms) +2026-09-27T05:32:09.1347919Z ✔ child accessors cannot shadow metadata inherited from parent Contexts (0.369805ms) +2026-09-27T05:32:09.1349169Z ✔ Context metadata cannot replace Fiber ownership or environment topology (2.957682ms) +2026-09-27T05:32:09.1350302Z ✔ Services cannot shadow metadata inherited from parent Contexts (0.381605ms) +2026-09-27T05:32:09.1351367Z ✔ mixin validates every target before publishing accessors (0.403194ms) +2026-09-27T05:32:09.1352429Z ✔ unknown Context property reads do not create Service labels (8.699668ms) +2026-09-27T05:32:09.1353519Z ✔ event dispatch supports emit, parallel, serial, bail, and waterfall (1.458745ms) +2026-09-27T05:32:09.1354965Z ✔ event hooks are not published while their Fiber is unloading (0.433157ms) +2026-09-27T05:32:09.1356315Z ✔ unloading Contexts cannot create escaping child Fibers (9.892573ms) +2026-09-27T05:32:09.1357523Z ✔ dispose requests immediately fence child Fiber creation and Service labels (15.888072ms) +2026-09-27T05:32:09.1358694Z ✔ late contribution registration is rejected before acquiring resources (3.984131ms) +2026-09-27T05:32:09.1360309Z ✔ intercept configuration is inherited without mutating parent Contexts (0.346766ms) +2026-09-27T05:32:09.1361663Z ✔ Service records support names inherited from Object.prototype (0.527361ms) +2026-09-27T05:32:09.1363012Z ✔ llm generation uses Host authority unless a matching adapter overrides it (6.757545ms) +2026-09-27T05:32:09.1364179Z ✔ LLM adapters publish atomically across hot reload and never revive retired generations (2.262463ms) +2026-09-27T05:32:09.1365756Z ✔ failed LLM adapter publication restores the live generation (2.449187ms) +2026-09-27T05:32:09.1366895Z ✔ LLM adapter custom cancellation preserves Host cancellation (2.204708ms) +2026-09-27T05:32:09.1367937Z ✔ P1 contributions inherit, shadow, and restore with their Plugin Fiber (12.336074ms) +2026-09-27T05:32:09.1369334Z ✔ resource services preserve the current Session and cancellation context (21.256563ms) +2026-09-27T05:32:09.1370554Z ✔ Web custom cancellation cannot replace Host invocation cancellation (10.63289ms) +2026-09-27T05:32:09.1371741Z ✔ Session membership overlays Profile membership and retirement reveals the parent (10.506056ms) +2026-09-27T05:32:09.1372923Z ✔ a committed replacement cannot resurrect its retired predecessor (2.165113ms) +2026-09-27T05:32:09.1373991Z ✔ failed change notification rolls publication back atomically (3.824219ms) +2026-09-27T05:32:09.1375270Z ✔ retirement is idempotent and capability cleanup runs once (0.339004ms) +2026-09-27T05:32:09.1376455Z ✔ Profile sections are inherited and exact Session sections shadow them (24.674964ms) +2026-09-27T05:32:09.1377885Z ✔ sections and variables resolve for every assembly from a stable membership snapshot (10.884526ms) +2026-09-27T05:32:09.1379625Z ✔ dynamic contexts are scoped, ordered, interpolated, and resolved for every assembly (10.721793ms) +2026-09-27T05:32:09.1381066Z ✔ complete sections replace the Host base and multiple complete sections fail closed (8.225375ms) +2026-09-27T05:32:09.1382254Z ✔ failed activation publishes no partial System Prompt contribution (1.273388ms) +2026-09-27T05:32:09.1383413Z ✔ replacement restores the prior generation when the candidate rolls back (6.521293ms) +2026-09-27T05:32:09.1384776Z ✔ successful replacement does not resurrect its retired predecessor (7.406885ms) +2026-09-27T05:32:09.1386116Z ✔ desktop-ui rejects Host-only packages and unresolved variables fail closed (1.360589ms) +2026-09-27T05:32:09.1387252Z ✔ Profile tools are inherited and exact Session tools shadow them (52.353158ms) +2026-09-27T05:32:09.1388229Z ✔ Tool publication is atomic with Entry activation (8.807313ms) +2026-09-27T05:32:09.1389264Z ✔ a failing tools/change listener rolls registration back atomically (8.215207ms) +2026-09-27T05:32:09.1390214Z ✔ ctx.tools.register returns a live disposer (3.436371ms) +2026-09-27T05:32:09.1391462Z ✔ Plugin Tool activation identity is stable within and fenced across generations (6.246251ms) +2026-09-27T05:32:09.1392677Z ✔ retirement rejects stale starts and waits for an active call to drain (14.771105ms) +2026-09-27T05:32:09.1393906Z ✔ desktop-ui rejects Host-only packages and Host-owned Tool conflicts fail closed (4.295239ms) +2026-09-27T05:32:09.1395233Z ✔ Runtime-owned deferred search names are rejected atomically (5.13816ms) +2026-09-27T05:32:09.1396315Z ✔ Plugin Tool descriptions satisfy the Request Composition bound (0.888284ms) +2026-09-27T05:32:09.1397426Z ✔ refusal keeps the ledger clean: arguments rejected by the schema (61.280496ms) +2026-09-27T05:32:09.1398480Z ✔ refusal keeps the ledger clean: exclusive-step admission (19.350653ms) +2026-09-27T05:32:09.1399624Z ✔ refusal keeps the ledger clean: loop gate on a repeated identical failing call (27.328965ms) +2026-09-27T05:32:09.1400803Z ✔ refusal keeps the ledger clean: loop gate on a repeated ambiguous Computer Use target (17.789357ms) +2026-09-27T05:32:09.1401921Z ✔ refusal keeps the ledger clean: deferred tool used before its load (1.058474ms) +2026-09-27T05:32:09.1406434Z ✔ refusal keeps the ledger clean: client-capability boundary read failure (6.114338ms) +2026-09-27T05:32:09.1408079Z ✔ refusal keeps the ledger clean: client-capability blocked by the execution boundary (0.783517ms) +2026-09-27T05:32:09.1409342Z ✔ client-capability refusal carries actionable bypass metadata (0.830371ms) +2026-09-27T05:32:09.1410525Z ✔ arguments the schema rejects leave a matched call/response pair on the generic lane (6.784988ms) +2026-09-27T05:32:09.1411793Z ✔ a dispatched call still claims the T1 lane and settles through the commit sink (5.766423ms) +2026-09-27T05:32:09.1412633Z ▶ foldPromptComposition +2026-09-27T05:32:09.1413443Z ✔ folds kinds into the vocabulary /context already uses (2.206219ms) +2026-09-27T05:32:09.1414304Z ✔ sizes each tool on its own, largest first (25.676904ms) +2026-09-27T05:32:09.1415741Z ✔ counts unnamed tool schemas without inventing a name for them (0.354347ms) +2026-09-27T05:32:09.1416777Z ✔ preserves the count carried by a bounded tool remainder (0.352149ms) +2026-09-27T05:32:09.1418084Z ✔ drops a kind nothing contributed to instead of showing it as zero (5.605714ms) +2026-09-27T05:32:09.1419007Z ✔ no segments is no composition, not an empty one (0.212859ms) +2026-09-27T05:32:09.1419854Z ✔ omits the tool list when nothing was a tool (0.199468ms) +2026-09-27T05:32:09.1420647Z ✔ foldPromptComposition (40.086349ms) +2026-09-27T05:32:09.1421231Z ▶ readPromptCompositionEvent +2026-09-27T05:32:09.1422069Z ✔ reads an attempt capture into its composition (0.835295ms) +2026-09-27T05:32:09.1422924Z ✔ ignores every other event on the stream (1.784974ms) +2026-09-27T05:32:09.1423849Z ✔ drops the whole composition when one segment will not decode (0.308253ms) +2026-09-27T05:32:09.1424885Z ✔ requires an attempt to attach to (0.218773ms) +2026-09-27T05:32:09.1425747Z ✔ rejects a non-string label rather than coercing it (0.142316ms) +2026-09-27T05:32:09.1426590Z ✔ readPromptCompositionEvent (6.4581ms) +2026-09-27T05:32:09.1427327Z ▶ models.dev provider conformance +2026-09-27T05:32:09.1428334Z ✔ custom: Chat delivers tool images after all parallel results, including replay (438.185977ms) +2026-09-27T05:32:09.1429571Z ✔ openai: Chat delivers tool images after all parallel results, including replay (117.562885ms) +2026-09-27T05:32:09.1430815Z ✔ openai/gpt-4.1: persisted output budget reaches the wire without replacing capacity (309.219835ms) +2026-09-27T05:32:09.1432113Z ✔ openai/gpt-5: persisted output budget reaches the wire without replacing capacity (179.503207ms) +2026-09-27T05:32:09.2086555Z ✔ custom/budget-model: persisted output budget reaches the wire without replacing capacity (216.383639ms) +2026-09-27T05:32:09.3626427Z ✔ mistral/budget-model: persisted output budget reaches the wire without replacing capacity (155.807232ms) +2026-09-27T05:32:09.4726446Z ✔ google/gemini-2.5-flash: persisted output budget reaches the wire without replacing capacity (104.662078ms) +2026-09-27T05:32:09.5857743Z ✔ anthropic/budget-model: persisted output budget reaches the wire without replacing capacity (117.712216ms) +2026-09-27T05:32:09.7071980Z ✔ en: setup is available through the existing Settings controls (369.479698ms) +2026-09-27T05:32:09.7522462Z ✔ kimi-coding-plan/kimi-for-coding: persisted output budget reaches the wire without replacing capacity (169.798127ms) +2026-09-27T05:32:09.8976286Z ✔ zh-CN: setup is available through the existing Settings controls (185.547579ms) +2026-09-27T05:32:09.9937086Z ✔ kimi-coding-plan/k3: persisted output budget reaches the wire without replacing capacity (233.147693ms) +2026-09-27T05:32:10.0811450Z ✔ zh-TW: setup is available through the existing Settings controls (189.399459ms) +2026-09-27T05:32:10.2016330Z ✔ remote targets cannot start an external agent (117.212535ms) +2026-09-27T05:32:10.3616430Z ✔ mixed discovery survives persistence and user overrides through both SDK tool loops (370.371624ms) +2026-09-27T05:32:10.3802709Z (node:9952) Warning: AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false. +2026-09-27T05:32:10.3852411Z (Use `node --trace-warnings ...` to show where the warning was created) +2026-09-27T05:32:10.3927103Z (node:9952) Warning: AI SDK Warning (anthropic.messages / new-model): The feature "maxOutputTokens" is used in a compatibility mode. The model "new-model" is unknown. The max output tokens have been limited to 4096. Set maxOutputTokens explicitly to override this limit. +2026-09-27T05:32:10.4008686Z ✔ Host generation change cancels an in-flight start and ignores its late response (174.71169ms) +2026-09-27T05:32:10.4102526Z (node:9952) Warning: AI SDK Warning (anthropic.messages / gpt-5.5): The feature "maxOutputTokens" is used in a compatibility mode. The model "gpt-5.5" is unknown. The max output tokens have been limited to 4096. Set maxOutputTokens explicitly to override this limit. +2026-09-27T05:32:10.4195973Z ✔ an explicit model protocol overrides the provider default and a static SDK override (27.379688ms) +2026-09-27T05:32:10.4254306Z ✔ native Anthropic sends automatic prompt caching on the Messages wire (12.307516ms) +2026-09-27T05:32:10.4334641Z ✔ custom Messages models request summarized thinking only for a declared level (23.236812ms) +2026-09-27T05:32:10.4775562Z (node:9952) Warning: AI SDK Warning (anthropic.messages / claude-sonnet-4): The feature "maxOutputTokens" is used in a compatibility mode. The model "claude-sonnet-4" is unknown. The max output tokens have been limited to 128000. Set maxOutputTokens explicitly to override this limit. +2026-09-27T05:32:10.4992433Z (node:9952) Warning: AI SDK Warning (anthropic.messages / anthropic/claude-opus-4.5): The feature "maxOutputTokens" is used in a compatibility mode. The model "anthropic/claude-opus-4.5" is unknown. The max output tokens have been limited to 128000. Set maxOutputTokens explicitly to override this limit. +2026-09-27T05:32:10.5106126Z ✔ Anthropic request bodies follow the SDK adaptive-thinking capability (77.822127ms) +2026-09-27T05:32:10.5426400Z ✔ Anthropic Messages accepts the Claude Code web_search_20250305 tool (23.100238ms) +2026-09-27T05:32:10.5529667Z (node:9952) Warning: AI SDK Warning (anthropic.messages / deepseek-v4-flash): The feature "maxOutputTokens" is used in a compatibility mode. The model "deepseek-v4-flash" is unknown. The max output tokens have been limited to 4096. Set maxOutputTokens explicitly to override this limit. +2026-09-27T05:32:10.5704754Z ✔ changing saved configuration clears the previous success (199.523259ms) +2026-09-27T05:32:10.5799730Z ✔ Anthropic Messages replays provider-executed web search inside assistant content (28.68612ms) +2026-09-27T05:32:10.6185838Z ✔ xAI OAuth credential completes a Grok 4.5 Responses reasoning tool loop (61.246344ms) +2026-09-27T05:32:10.6620121Z ✔ GitHub Copilot connection probe validates the selected account model without inference (45.185093ms) +2026-09-27T05:32:10.6732919Z ✔ GitHub Copilot connection probe rejects an account that cannot discover models (5.691395ms) +2026-09-27T05:32:10.6876309Z ✔ connection probe tests the selected model even when the last inventory came back empty (13.411903ms) +2026-09-27T05:32:10.7086297Z ✔ connection probe skips a stale default when a live inventory is available (23.906581ms) +2026-09-27T05:32:10.7165836Z ✔ connection probe verifies a connection that enables no models at all (5.03316ms) +2026-09-27T05:32:10.7267674Z ✔ connection probe tests the model the user chose, not the snapshot beside it (6.457199ms) +2026-09-27T05:32:10.7480487Z ✔ OpenAI routes gpt-5* through the Responses wire and other models through Chat Completions by declaration (20.838663ms) +2026-09-27T05:32:10.7628439Z ✔ DeepSeek V4 Flash uses standard Responses function tools (24.355008ms) +2026-09-27T05:32:10.7718066Z ✔ browser failure can retry with a fresh attempt and authenticate independently of check (181.127229ms) +2026-09-27T05:32:10.7916520Z ✔ OpenCode Zen routes GPT through Responses and preserves tool results across both stages (27.451843ms) +2026-09-27T05:32:10.8053787Z ✔ OpenCode connection probes follow each selected model protocol (16.614553ms) +2026-09-27T05:32:10.8206211Z ✔ OpenCode Go connection probes identify every supported wire request (13.035448ms) +2026-09-27T05:32:10.8311562Z ✔ Volcengine Agent Plan connection probes do not retain the synthetic response (5.947709ms) +2026-09-27T05:32:10.8361534Z ✔ an Ark plan probe tests the model the plan serves, not the shipped snapshot (5.894473ms) +2026-09-27T05:32:10.8435848Z ✔ DeepSeek V4 Pro connection probes use its default Responses wire (5.364339ms) +2026-09-27T05:32:10.8499224Z ✔ an Open Responses probe normalizes a base URL that already names the endpoint (6.169446ms) +2026-09-27T05:32:10.8697957Z ✔ custom Responses models preserve exact ids, tool results, and encrypted reasoning (18.327824ms) +2026-09-27T05:32:10.8916131Z ✔ clearing the saved configuration disables setup (130.064914ms) +2026-09-27T05:32:10.8966732Z ✔ a custom Chat Completions connection requests usage in streamed chat completions by default (31.110251ms) +2026-09-27T05:32:10.9141560Z ✔ local Ollama requests usage in streamed chat completions by default (15.95166ms) +2026-09-27T05:32:10.9296084Z ✔ Ollama Cloud requests usage in streamed chat completions (15.284278ms) +2026-09-27T05:32:11.0147065Z ✔ a relay that rejects stream_options is answered once without the field (89.879064ms) +2026-09-27T05:32:11.0536568Z ✔ Hugging Face discovers tool-capable routed models and preserves its two-stage OpenAI wire (31.034954ms) +2026-09-27T05:32:11.0566550Z ✔ models.dev provider conformance (3106.693809ms) +2026-09-27T05:32:11.0706899Z ✔ changing configuration away and back still invalidates an older attempt (180.409189ms) +2026-09-27T05:32:11.1512150Z ✔ agent list uses a brand mark and opens a setup detail with a back action (84.006016ms) +2026-09-27T05:32:11.1812523Z ✔ provider override cells and executable bindings are a bijection (9.840228ms) +2026-09-27T05:32:11.1886779Z ▶ provider conformance matrix — override cells execute their bound contract +2026-09-27T05:32:11.1935177Z ✔ github-copilot:discovery · GitHub Copilot discovers only account-enabled tool models and preserves each exact endpoint wire (123.677891ms) +2026-09-27T05:32:11.1943608Z ✔ github-copilot:exact-model-id + github-copilot:tool-loop + github-copilot:reasoning-replay · GitHub Copilot discovers the account model and completes a reasoning tool loop on its exact wire (203.706767ms) +2026-09-27T05:32:11.2005966Z ✔ fireworks-ai:discovery · Fireworks discovers exact serverless model paths and completes a two-stage tool-call loop (50.104216ms) +2026-09-27T05:32:11.2065133Z ✔ ollama:discovery · Ollama preserves exact local model ids (complex ids and cloud aliases) through /api/tags discovery and a no-secret tool-call loop (70.458131ms) +2026-09-27T05:32:11.2096751Z ✔ cohere:discovery · Cohere paginates account models and completes its native V2 tool-call loop (55.352667ms) +2026-09-27T05:32:11.2101244Z ✔ cloudflare-workers-ai:discovery · Cloudflare Workers AI discovers text-generation models through its native catalog (12.312499ms) +2026-09-27T05:32:11.2129020Z ✔ zenmux:reasoning-replay · ZenMux replays signed reasoning details in the streamed runtime tool loop (152.161906ms) +2026-09-27T05:32:11.2164957Z ✔ deepseek:reasoning-replay · DeepSeek replays plaintext reasoning content on its Responses wire (40.876381ms) +2026-09-27T05:32:11.2200881Z ✔ xai:reasoning-replay + xai-oauth:reasoning-replay · xAI API-key and OAuth paths retain encrypted Responses reasoning (102.600987ms) +2026-09-27T05:32:11.2225520Z ✔ volcengine-agent-plan:exact-model-id + volcengine-agent-plan:tool-loop + volcengine-agent-plan:reasoning-replay · Volcengine Agent Plan uses its dedicated key on the OpenAI Responses tool wire (63.534053ms) +2026-09-27T05:32:11.2284378Z ✔ moonshot-global:exact-model-id + moonshot-global:tool-loop + moonshot-global:reasoning-replay · Moonshot Global replays Kimi summary-only reasoning items across a Responses tool loop (32.859731ms) +2026-09-27T05:32:11.2356243Z ✔ alibaba-token-plan-cn:reasoning-replay + alibaba-token-plan:reasoning-replay · Alibaba Token Plan replays plaintext summary items on its Responses wire (64.26306ms) +2026-09-27T05:32:11.2396315Z ✔ provider conformance matrix — override cells execute their bound contract (976.83377ms) +2026-09-27T05:32:11.2465373Z ▶ provider conformance matrix — discovery +2026-09-27T05:32:11.2545562Z ✔ anthropic · discovery · generated (anthropic) (25.822811ms) +2026-09-27T05:32:11.2626299Z ✔ kimi-coding-plan · discovery · generated (anthropic) (4.11375ms) +2026-09-27T05:32:11.2711568Z ✔ minimax-coding-plan · discovery · generated (anthropic) (7.012195ms) +2026-09-27T05:32:11.2805863Z ✔ tencent-coding-plan · discovery · generated (openai) (14.449104ms) +2026-09-27T05:32:11.2815509Z ✔ volcengine-coding-plan · discovery · generated (openai) (2.272616ms) +2026-09-27T05:32:11.2907007Z ✔ volcengine-agent-plan · discovery · N/A (Agent Plan model discovery is a control-plane API that requires AK/SK signing; the plan API key reaches only the inference data plane) does not call /models (9.910119ms) +2026-09-27T05:32:11.2975647Z ✔ tencent-token-plan · discovery · generated (openai) (9.608794ms) +2026-09-27T05:32:11.3024657Z ✔ openai · discovery · generated (openai) (8.972024ms) +2026-09-27T05:32:11.3063397Z ✔ google · discovery · generated (google) (13.195588ms) +2026-09-27T05:32:11.3110316Z ✔ deepseek · discovery · generated (openai) (9.721633ms) +2026-09-27T05:32:11.3177082Z ✔ moonshot · discovery · generated (openai) (8.47897ms) +2026-09-27T05:32:11.3255581Z ✔ moonshot-global · discovery · generated (openai) (8.337004ms) +2026-09-27T05:32:11.3299199Z ✔ zai-coding-plan · discovery · generated (openai) (2.142021ms) +2026-09-27T05:32:11.3395660Z ✔ MiniMax · discovery · generated (anthropic) (8.987694ms) +2026-09-27T05:32:11.3455582Z ✔ MiniMax-cn · discovery · generated (anthropic) (8.978326ms) +2026-09-27T05:32:11.3468038Z ✔ siliconflow · discovery · generated (openai) (4.253642ms) +2026-09-27T05:32:11.3537010Z ✔ vercel · discovery · generated (openai) (10.388484ms) +2026-09-27T05:32:11.3555675Z ✔ xai · discovery · generated (openai) (4.273222ms) +2026-09-27T05:32:11.3607294Z ✔ xai-oauth · discovery · generated (openai) (11.17161ms) +2026-09-27T05:32:11.3635057Z ✔ zai · discovery · generated (openai) (7.711158ms) +2026-09-27T05:32:11.3675417Z ✔ xiaomi · discovery · generated (openai) (5.619642ms) +2026-09-27T05:32:11.3697309Z ✔ xiaomi-token-plan-cn · discovery · generated (openai) (6.450365ms) +2026-09-27T05:32:11.3743589Z ✔ xiaomi-token-plan-sgp · discovery · generated (openai) (2.058635ms) +2026-09-27T05:32:11.3796226Z ✔ xiaomi-token-plan-ams · discovery · generated (openai) (8.067283ms) +2026-09-27T05:32:11.3895590Z ✔ cerebras · discovery · generated (openai) (8.44023ms) +2026-09-27T05:32:11.3915639Z ✔ mistral · discovery · generated (openai) (9.989013ms) +2026-09-27T05:32:11.3985613Z ✔ huggingface · discovery · generated (openai) (11.528075ms) +2026-09-27T05:32:11.4040377Z ✔ zenmux · discovery · generated (openai) (5.27633ms) +2026-09-27T05:32:11.4095492Z ✔ opencode · discovery · generated (openai) (5.210256ms) +2026-09-27T05:32:11.4119342Z ✔ opencode-go · discovery · generated (openai) (7.64235ms) +2026-09-27T05:32:11.4205475Z ✔ togetherai · discovery · generated (openai) (1.874779ms) +2026-09-27T05:32:11.4269165Z ✔ nvidia · discovery · generated (openai) (6.962176ms) +2026-09-27T05:32:11.4339808Z ✔ tencent-tokenhub · discovery · generated (openai) (8.169777ms) +2026-09-27T05:32:11.4375150Z ✔ stepfun · discovery · generated (openai) (14.114968ms) +2026-09-27T05:32:11.4449534Z ✔ stepfun-step-plan · discovery · generated (openai) (6.793388ms) +2026-09-27T05:32:11.4543383Z ✔ stepfun-ai-step-plan · discovery · generated (openai) (9.836872ms) +2026-09-27T05:32:11.4635602Z ✔ stepfun-ai · discovery · generated (openai) (8.322899ms) +2026-09-27T05:32:11.4662951Z ✔ volcengine-ark · discovery · N/A (Ark model discovery is a control-plane API that requires AK/SK signing; inference API keys cannot call it) does not call /models (0.416241ms) +2026-09-27T05:32:11.4751180Z ✔ deepinfra · discovery · generated (openai) (8.11711ms) +2026-09-27T05:32:11.4855574Z ✔ groq · discovery · generated (openai) (3.15505ms) +2026-09-27T05:32:11.4915462Z ✔ openrouter · discovery · generated (openai) (7.649381ms) +2026-09-27T05:32:11.4975418Z ✔ alibaba · discovery · generated (openai) (7.183716ms) +2026-09-27T05:32:11.5038705Z ✔ alibaba-cn · discovery · generated (openai) (13.147941ms) +2026-09-27T05:32:11.5039575Z ✔ alibaba-coding-plan-cn · discovery · generated (openai) (7.051137ms) +2026-09-27T05:32:11.5128401Z ✔ alibaba-coding-plan · discovery · generated (openai) (7.536182ms) +2026-09-27T05:32:11.5183394Z ✔ alibaba-token-plan-cn · discovery · generated (openai) (6.01637ms) +2026-09-27T05:32:11.5301290Z ✔ alibaba-token-plan · discovery · generated (openai) (1.906887ms) +2026-09-27T05:32:11.5365588Z ✔ commandcode · discovery · generated (openai) (8.857289ms) +2026-09-27T05:32:11.5396249Z ✔ ollama-cloud · discovery · generated (openai) (4.984524ms) +2026-09-27T05:32:11.5524994Z ✔ lm-studio · discovery · generated (openai) (5.062189ms) +2026-09-27T05:32:11.5575664Z ✔ localai · discovery · generated (openai) (56.02501ms) +2026-09-27T05:32:11.5657328Z ✔ saved program exposes file selection without an advanced path editor (177.870518ms) +2026-09-27T05:32:11.5735845Z ✔ custom · discovery · generated (openai) (11.528439ms) +2026-09-27T05:32:11.5795904Z ✔ provider conformance matrix — discovery (462.317908ms) +2026-09-27T05:32:11.5851028Z ▶ provider conformance matrix — wire (exact-model-id + tool-loop + reasoning-replay) +2026-09-27T05:32:11.5955970Z ✔ anthropic · anthropic-messages · exact-model-id + tool-loop (67.12083ms) +2026-09-27T05:32:11.6017807Z ✔ first setup offers managed install and an official source without exposing a path editor (71.598713ms) +2026-09-27T05:32:11.6066794Z (node:10216) Warning: AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false. +2026-09-27T05:32:11.6101716Z (Use `node --trace-warnings ...` to show where the warning was created) +2026-09-27T05:32:11.6136362Z (node:10216) Warning: AI SDK Warning (anthropic.messages / k3): The feature "maxOutputTokens" is used in a compatibility mode. The model "k3" is unknown. The max output tokens have been limited to 4096. Set maxOutputTokens explicitly to override this limit. +2026-09-27T05:32:11.6186760Z (node:10216) Warning: AI SDK Warning (anthropic.messages / k3): The feature "maxOutputTokens" is used in a compatibility mode. The model "k3" is unknown. The max output tokens have been limited to 4096. Set maxOutputTokens explicitly to override this limit. +2026-09-27T05:32:11.6265803Z ✔ kimi-coding-plan · anthropic-messages · exact-model-id + tool-loop (27.289077ms) +2026-09-27T05:32:11.6357320Z (node:10216) Warning: AI SDK Warning (anthropic.messages / MiniMax-M3): The feature "maxOutputTokens" is used in a compatibility mode. The model "MiniMax-M3" is unknown. The max output tokens have been limited to 4096. Set maxOutputTokens explicitly to override this limit. +2026-09-27T05:32:11.6416550Z (node:10216) Warning: AI SDK Warning (anthropic.messages / MiniMax-M3): The feature "maxOutputTokens" is used in a compatibility mode. The model "MiniMax-M3" is unknown. The max output tokens have been limited to 4096. Set maxOutputTokens explicitly to override this limit. +2026-09-27T05:32:11.6461566Z ✔ minimax-coding-plan · anthropic-messages · exact-model-id + tool-loop (23.238153ms) +2026-09-27T05:32:11.6496937Z (node:10216) Warning: AI SDK Warning (anthropic.messages / MiniMax-M2.7-highspeed): The feature "maxOutputTokens" is used in a compatibility mode. The model "MiniMax-M2.7-highspeed" is unknown. The max output tokens have been limited to 4096. Set maxOutputTokens explicitly to override this limit. +2026-09-27T05:32:11.6547948Z (node:10216) Warning: AI SDK Warning (anthropic.messages / MiniMax-M2.7-highspeed): The feature "maxOutputTokens" is used in a compatibility mode. The model "MiniMax-M2.7-highspeed" is unknown. The max output tokens have been limited to 4096. Set maxOutputTokens explicitly to override this limit. +2026-09-27T05:32:11.6595861Z ✔ minimax-coding-plan · anthropic-messages · edge sample "MiniMax-M2.7-highspeed" (29.130244ms) +2026-09-27T05:32:11.6666069Z ✔ tencent-coding-plan · openai-chat · exact-model-id + tool-loop + reasoning-replay (23.645693ms) +2026-09-27T05:32:11.6725890Z ✔ volcengine-coding-plan · openai-chat · exact-model-id + tool-loop + reasoning-replay (20.639806ms) +2026-09-27T05:32:11.6753116Z ✔ installed output is saved through existing settings mutation, then connection becomes verified (126.982723ms) +2026-09-27T05:32:11.6807038Z ✔ tencent-token-plan · openai-chat · exact-model-id + tool-loop + reasoning-replay (14.532365ms) +2026-09-27T05:32:11.6843390Z ✔ openai · openai-chat · exact-model-id + tool-loop (35.696485ms) +2026-09-27T05:32:11.6898117Z (node:10216) Warning: AI SDK Warning (google.generative-ai / gemini-3.5-flash): Replayed 1 `functionCall` part(s) for a Gemini 3 model without a `thoughtSignature` (tools: `echo`). Injected the documented `skip_thought_signature_validator` sentinel to keep the request from failing with HTTP 400. The likely cause is application code that drops `providerOptions.google.thoughtSignature` when persisting or serializing assistant tool-call messages. See https://ai.google.dev/gemini-api/docs/thought-signatures. +2026-09-27T05:32:11.6918234Z ✔ google · google-generate · exact-model-id + tool-loop (68.905261ms) +2026-09-27T05:32:11.6937468Z ✔ deepseek · openai-chat · exact-model-id + tool-loop (20.816051ms) +2026-09-27T05:32:11.6938965Z ✔ moonshot · openai-chat · exact-model-id + tool-loop + reasoning-replay (17.348903ms) +2026-09-27T05:32:11.7006731Z ✔ a late installed result never overwrites a newer saved configuration (151.149809ms) +2026-09-27T05:32:11.7026137Z ✔ zai-coding-plan · openai-chat · exact-model-id + tool-loop + reasoning-replay (17.050937ms) +2026-09-27T05:32:11.7127046Z (node:10216) Warning: AI SDK Warning (anthropic.messages / MiniMax-M3): The feature "maxOutputTokens" is used in a compatibility mode. The model "MiniMax-M3" is unknown. The max output tokens have been limited to 4096. Set maxOutputTokens explicitly to override this limit. +2026-09-27T05:32:11.7226791Z (node:10216) Warning: AI SDK Warning (anthropic.messages / MiniMax-M3): The feature "maxOutputTokens" is used in a compatibility mode. The model "MiniMax-M3" is unknown. The max output tokens have been limited to 4096. Set maxOutputTokens explicitly to override this limit. +2026-09-27T05:32:11.7303072Z ✔ MiniMax · anthropic-messages · exact-model-id + tool-loop (24.496548ms) +2026-09-27T05:32:11.7329328Z (node:10216) Warning: AI SDK Warning (anthropic.messages / MiniMax-M3): The feature "maxOutputTokens" is used in a compatibility mode. The model "MiniMax-M3" is unknown. The max output tokens have been limited to 4096. Set maxOutputTokens explicitly to override this limit. +2026-09-27T05:32:11.7438437Z (node:10216) Warning: AI SDK Warning (anthropic.messages / MiniMax-M3): The feature "maxOutputTokens" is used in a compatibility mode. The model "MiniMax-M3" is unknown. The max output tokens have been limited to 4096. Set maxOutputTokens explicitly to override this limit. +2026-09-27T05:32:11.7482495Z ✔ MiniMax-cn · anthropic-messages · exact-model-id + tool-loop (23.254995ms) +2026-09-27T05:32:11.7595809Z ✔ choosing an existing executable saves it without installing (90.932172ms) +2026-09-27T05:32:11.7725817Z ✔ siliconflow · openai-chat · exact-model-id + tool-loop + reasoning-replay (24.897218ms) +2026-09-27T05:32:11.7965913Z ✔ vercel · openai-chat · exact-model-id + tool-loop + reasoning-replay (24.999497ms) +2026-09-27T05:32:11.8195858Z ✔ xai · openai-chat · exact-model-id + tool-loop (13.204519ms) +2026-09-27T05:32:11.8353404Z ✔ xai-oauth · openai-chat · exact-model-id + tool-loop (22.094884ms) +2026-09-27T05:32:11.8596282Z ✔ zai · openai-chat · exact-model-id + tool-loop + reasoning-replay (22.704308ms) +2026-09-27T05:32:11.8631823Z ▶ isExternalUrl +2026-09-27T05:32:11.8703830Z ✔ allows http and https (3.620214ms) +2026-09-27T05:32:11.8785719Z ✔ allows mailto (0.247854ms) +2026-09-27T05:32:11.8865192Z ✔ rejects file:// — would let untrusted markdown reach local FS (0.282884ms) +2026-09-27T05:32:11.8872619Z ✔ rejects javascript: — XSS vector (0.26138ms) +2026-09-27T05:32:11.8874355Z ✔ rejects internal schemes (0.215495ms) +2026-09-27T05:32:11.8875380Z ✔ rejects non-URL input safely (0.216293ms) +2026-09-27T05:32:11.8876204Z ✔ isExternalUrl (20.466004ms) +2026-09-27T05:32:11.8877334Z ✔ projects imported Session ids into the same Desktop identity space as Session summaries (2.039056ms) +2026-09-27T05:32:11.8878275Z ▶ follow-up submit routing +2026-09-27T05:32:11.8879196Z ✔ restores workspace references after queued text returns to the draft (3.863861ms) +2026-09-27T05:32:11.8938917Z ✔ follow-up submit routing (5.088823ms) +2026-09-27T05:32:11.8991683Z ✔ default UI font size equals the renderer type-scale base (3.114282ms) +2026-09-27T05:32:11.9059897Z ✔ makaTheme generates its type scale from the shared base constant (0.642796ms) +2026-09-27T05:32:11.9111051Z ▶ Git Review snapshot authority +2026-09-27T05:32:11.9159958Z ✔ separates branch, unstaged, staged, and untracked changes (418.035683ms) +2026-09-27T05:32:11.9260526Z ✔ lists the remote default branch before the branches it resolves from (158.506077ms) +2026-09-27T05:32:11.9304061Z ✔ compares the branch rather than a same-named tag, using a qualified ref (310.270834ms) +2026-09-27T05:32:11.9328707Z ✔ keeps local and remote refs with the same label distinct and rejects unqualified names (417.790119ms) +2026-09-27T05:32:11.9385424Z ✔ resolves the default branch without following a same-named tag (243.152818ms) +2026-09-27T05:32:11.9426348Z ✔ returns branch choices when unrelated history prevents a diff, including on repeated reads (249.384954ms) +2026-09-27T05:32:11.9427660Z ✔ degrades a diff that overflows the git buffer to a truncated review (222.148067ms) +2026-09-27T05:32:11.9428742Z ✔ returns an explicit non-repository outcome (8.676619ms) +2026-09-27T05:32:11.9429784Z ✔ includes staged and unstaged changes when the current branch is the base (130.286868ms) +2026-09-27T05:32:11.9430964Z ✔ compares a branch from its merge base when the base branch has advanced (259.090308ms) +2026-09-27T05:32:11.9431921Z ✔ Git Review snapshot authority (2420.872375ms) +2026-09-27T05:32:11.9432660Z ▶ importGitHubCopilotLocalCredential +2026-09-27T05:32:11.9433643Z ✔ prefers an explicit Copilot Requests credential over the generic GitHub CLI login (6.762696ms) +2026-09-27T05:32:11.9435026Z ✔ returns credential material without asking GitHub about entitlement (0.394813ms) +2026-09-27T05:32:11.9435847Z ✔ rejects classic PATs locally (0.264062ms) +2026-09-27T05:32:11.9436542Z ✔ rejects an unsupported local credential shape (0.21845ms) +2026-09-27T05:32:11.9437380Z ✔ reports when no local GitHub credential can be discovered (0.306674ms) +2026-09-27T05:32:11.9438287Z ✔ importGitHubCopilotLocalCredential (16.996411ms) +2026-09-27T05:32:11.9439387Z ✔ successful Goal arming closes while every reconciliation result locks the form (5.237791ms) +2026-09-27T05:32:11.9440622Z ✔ Goal reconciliation copy explains authoritative state in Chinese and English (0.555826ms) +2026-09-27T05:32:11.9441531Z ▶ useGoalController +2026-09-27T05:32:11.9442284Z ✔ clears on Session switch and ignores the previous Session late read (97.048803ms) +2026-09-27T05:32:11.9443175Z ✔ refreshes for matching and broadcast Goal changes only (51.31133ms) +2026-09-27T05:32:11.9444177Z ✔ snapshots the dialog Session across navigation and routes arm through the port (30.686661ms) +2026-09-27T05:32:11.9530237Z [desktop] operation failed: Error: offline +2026-09-27T05:32:11.9556445Z at file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/goal-controller.test.js:179:44 +2026-09-27T05:32:11.9586720Z at process.env.NODE_ENV.exports.act (/home/runner/work/maka/maka/node_modules/react/cjs/react.development.js:890:22) +2026-09-27T05:32:11.9625861Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/goal-controller.test.js:179:15) +2026-09-27T05:32:11.9658715Z at async Test.run (node:internal/test_runner/test:1409:7) +2026-09-27T05:32:11.9689111Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:32:11.9731673Z ✔ projects the kill switch and deduplicates pending pause controls (22.57929ms) +2026-09-27T05:32:11.9758148Z ✔ routes resume and clear controls for paused Goals (11.581057ms) +2026-09-27T05:32:11.9797209Z ✔ useGoalController (215.279489ms) +2026-09-27T05:32:11.9802005Z ✔ xiaomi · openai-chat · exact-model-id + tool-loop + reasoning-replay (32.766266ms) +2026-09-27T05:32:11.9832383Z ✔ xiaomi-token-plan-cn · openai-chat · exact-model-id + tool-loop + reasoning-replay (33.53697ms) +2026-09-27T05:32:11.9875782Z ✔ xiaomi-token-plan-sgp · openai-chat · exact-model-id + tool-loop + reasoning-replay (21.285654ms) +2026-09-27T05:32:11.9936167Z ✔ xiaomi-token-plan-ams · openai-chat · exact-model-id + tool-loop + reasoning-replay (23.01773ms) +2026-09-27T05:32:11.9938787Z ✔ cerebras · openai-chat · exact-model-id + tool-loop + reasoning-replay (26.69418ms) +2026-09-27T05:32:12.0226214Z ✔ mistral · openai-chat · exact-model-id + tool-loop + reasoning-replay (23.938254ms) +2026-09-27T05:32:12.0499636Z ✔ cohere · cohere-v2 · exact-model-id + tool-loop (28.624795ms) +2026-09-27T05:32:12.0759737Z ✔ huggingface · openai-chat · exact-model-id + tool-loop + reasoning-replay (24.787003ms) +2026-09-27T05:32:12.1021907Z ✔ zenmux · openai-chat · exact-model-id + tool-loop (25.809208ms) +2026-09-27T05:32:12.1278398Z ✔ opencode · openai-chat · exact-model-id + tool-loop + reasoning-replay (29.466966ms) +2026-09-27T05:32:12.1564686Z ✔ opencode-go · openai-chat · exact-model-id + tool-loop + reasoning-replay (25.128371ms) +2026-09-27T05:32:12.2706325Z ✔ opencode-go · openai-chat · edge sample "kimi-k2.7-code" (106.192075ms) +2026-09-27T05:32:12.3006537Z ✔ togetherai · openai-chat · exact-model-id + tool-loop + reasoning-replay (35.381824ms) +2026-09-27T05:32:12.3357454Z ✔ fireworks-ai · openai-chat · exact-model-id + tool-loop + reasoning-replay (30.528493ms) +2026-09-27T05:32:12.3706340Z ✔ nvidia · openai-chat · exact-model-id + tool-loop + reasoning-replay (37.55579ms) +2026-09-27T05:32:12.3826139Z ✔ tencent-tokenhub · openai-chat · exact-model-id + tool-loop + reasoning-replay (19.752427ms) +2026-09-27T05:32:12.4105611Z ✔ tencent-tokenhub · openai-chat · edge sample "hy3-preview" (25.117782ms) +2026-09-27T05:32:12.4296642Z ✔ stepfun · openai-chat · exact-model-id + tool-loop + reasoning-replay (20.253098ms) +2026-09-27T05:32:12.4398137Z ✔ stepfun-step-plan · openai-chat · exact-model-id + tool-loop + reasoning-replay (15.531831ms) +2026-09-27T05:32:12.4626473Z ✔ stepfun-ai-step-plan · openai-chat · exact-model-id + tool-loop + reasoning-replay (16.629079ms) +2026-09-27T05:32:12.4884882Z ✔ stepfun-ai · openai-chat · exact-model-id + tool-loop + reasoning-replay (24.63791ms) +2026-09-27T05:32:12.5106540Z ✔ volcengine-ark · openai-chat · exact-model-id + tool-loop + reasoning-replay (19.48982ms) +2026-09-27T05:32:12.5257426Z ✔ deepinfra · openai-chat · exact-model-id + tool-loop + reasoning-replay (19.102406ms) +2026-09-27T05:32:12.5416297Z ✔ groq · openai-chat · exact-model-id + tool-loop + reasoning-replay (19.00217ms) +2026-09-27T05:32:12.5560068Z ✔ openrouter · openai-chat · exact-model-id + tool-loop + reasoning-replay (13.044745ms) +2026-09-27T05:32:12.5709398Z ✔ alibaba · openai-chat · exact-model-id + tool-loop + reasoning-replay (12.904194ms) +2026-09-27T05:32:12.5817741Z ✔ alibaba-cn · openai-chat · exact-model-id + tool-loop + reasoning-replay (12.918ms) +2026-09-27T05:32:12.6048913Z ✔ alibaba-coding-plan-cn · openai-chat · exact-model-id + tool-loop + reasoning-replay (15.9025ms) +2026-09-27T05:32:12.6096313Z ✔ alibaba-coding-plan · openai-chat · exact-model-id + tool-loop + reasoning-replay (12.650643ms) +2026-09-27T05:32:12.6286492Z ✔ alibaba-token-plan-cn · openai-chat · exact-model-id + tool-loop (16.727674ms) +2026-09-27T05:32:12.6424356Z ✔ alibaba-token-plan · openai-chat · exact-model-id + tool-loop (12.996082ms) +2026-09-27T05:32:12.6586035Z ✔ commandcode · openai-chat · exact-model-id + tool-loop + reasoning-replay (16.445758ms) +2026-09-27T05:32:12.6891436Z ✔ cloudflare-workers-ai · openai-chat · exact-model-id + tool-loop + reasoning-replay (28.042606ms) +2026-09-27T05:32:12.6996235Z ✔ ollama-cloud · openai-chat · exact-model-id + tool-loop + reasoning-replay (17.939219ms) +2026-09-27T05:32:12.7193555Z ✔ ollama · openai-chat · exact-model-id + tool-loop + reasoning-replay (11.365728ms) +2026-09-27T05:32:12.7310230Z ✔ lm-studio · openai-chat · exact-model-id + tool-loop + reasoning-replay (18.730358ms) +2026-09-27T05:32:12.7506589Z ✔ lm-studio · openai-chat · edge sample "lmstudio-community/Qwen3-Coder-30B-A3B-Instruct-GGUF" (18.004524ms) +2026-09-27T05:32:12.7906770Z ✔ localai · openai-chat · exact-model-id + tool-loop + reasoning-replay (38.294274ms) +2026-09-27T05:32:12.8295241Z ✔ localai · openai-chat · edge sample "localai/Qwen3-8B-Instruct-GGUF:Q4_K_M" (34.953988ms) +2026-09-27T05:32:12.8761419Z ✔ custom · openai-chat · exact-model-id + tool-loop + reasoning-replay (24.006807ms) +2026-09-27T05:32:12.8801960Z ✔ provider conformance matrix — wire (exact-model-id + tool-loop + reasoning-replay) (1526.106894ms) +2026-09-27T05:32:13.0083127Z ▶ Provider error classification +2026-09-27T05:32:13.0121621Z ✔ projects only bounded allowlisted facts into durable diagnostics (10.480152ms) +2026-09-27T05:32:13.0175742Z ✔ structured usage-limit codes project to billing regardless of status (5.58488ms) +2026-09-27T05:32:13.0285794Z ✔ plan-window wording on a credential-shaped status projects to billing (17.918501ms) +2026-09-27T05:32:13.0325730Z ✔ genuine credential and permission failures stay auth on 401/403 (0.5197ms) +2026-09-27T05:32:13.0365989Z ✔ classifies exhausted Codex HTML edge 403 retries as provider unavailable (13.105324ms) +2026-09-27T05:32:13.0413551Z ✔ recovers structured Codex HTTP facts through an SDK wrapper and truncates identifiers (8.615035ms) +2026-09-27T05:32:13.0465759Z ✔ extracts allowlisted fields from JSON string failures without copying the payload (0.841623ms) +2026-09-27T05:32:13.0533423Z ✔ derives retryability from the failure kind alone (9.919076ms) +2026-09-27T05:32:13.0595604Z ✔ Retry-After only sets the delay, never the retryability (7.170909ms) +2026-09-27T05:32:13.0635588Z ✔ abort and a spent Codex edge budget override the retryable kinds (2.355515ms) +2026-09-27T05:32:13.0674851Z ✔ treats a status-less provider server_error as temporarily unavailable (0.426374ms) +2026-09-27T05:32:13.0736072Z ✔ retries an AI SDK transport failure without an HTTP response (6.163778ms) +2026-09-27T05:32:13.0795594Z ✔ retries a transport failure identified only by a cause code (1.244078ms) +2026-09-27T05:32:13.0825646Z ✔ an exhausted free tier on 429 is billing, not a throttle to retry (0.589388ms) +2026-09-27T05:32:13.0826990Z ✔ classifies provider capacity errors and retries with backoff (3.873352ms) +2026-09-27T05:32:13.0855669Z ✔ classifies context overflow by predicate, carrier shape, and evidence precedence (4.96942ms) +2026-09-27T05:32:13.0885456Z ✔ classifies wording retained only in schema-invalid response bodies (152.971905ms) +2026-09-27T05:32:13.0910343Z ✔ preserves provider evidence through the official AI SDK retry wrapper (12.909008ms) +2026-09-27T05:32:13.0925337Z ✔ Provider error classification (267.325103ms) +2026-09-27T05:32:13.0969556Z ✔ auth classification matches authentication without matching authority (0.230558ms) +2026-09-27T05:32:13.0985565Z ▶ provider image overflow recovery projection +2026-09-27T05:32:13.1017549Z ✔ omits only eligible historical tool-result images and names their artifact (4.193704ms) +2026-09-27T05:32:13.1052596Z ✔ preserves the tool-result envelope and siblings without mutating its input (0.738149ms) +2026-09-27T05:32:13.1080642Z ✔ uses the durable context identity when an omitted image has no file path (0.4452ms) +2026-09-27T05:32:13.1095524Z ✔ still recovers a pre-artifact image result that has no durable projection (0.833197ms) +2026-09-27T05:32:13.1134938Z ✔ provider image overflow recovery projection (8.647533ms) +2026-09-27T05:32:13.1136009Z ▶ strict provider-request usage +2026-09-27T05:32:13.1165645Z ✔ preserves Anthropic cache fields as provider-reported values (6.603047ms) +2026-09-27T05:32:13.1206917Z ✔ reconciles Anthropic compaction iterations with normalized input usage (0.318615ms) +2026-09-27T05:32:13.1225082Z ✔ marks OpenAI cache miss as derived and leaves unsupported cache-write missing (0.281065ms) +2026-09-27T05:32:13.1237719Z ✔ preserves OpenAI Chat cache-write and derives cache miss from the raw total (1.567339ms) +2026-09-27T05:32:13.1271503Z ✔ preserves Google usage and derives cache miss from raw usage metadata (1.678873ms) +2026-09-27T05:32:13.1298565Z ✔ does not inherit Google adapter zeroes for omitted raw cache and reasoning fields (4.124846ms) +2026-09-27T05:32:13.1325706Z ✔ does not turn omitted provider cache details into zero-valued evidence (0.249072ms) +2026-09-27T05:32:13.1357695Z ✔ does not inherit normalized zero totals when the raw provider fields are missing (0.37229ms) +2026-09-27T05:32:13.1369929Z ✔ keeps normalized totals when no raw provider payload is available (0.340674ms) +2026-09-27T05:32:13.1405640Z ✔ does not derive cache miss from inconsistent provider components (3.660997ms) +2026-09-27T05:32:13.1415372Z ✔ strict provider-request usage (27.324815ms) +2026-09-27T05:32:13.1445297Z ▶ provider request tracker +2026-09-27T05:32:13.1478449Z ✔ records the request model context window on completed attempts (13.009341ms) +2026-09-27T05:32:13.1489815Z ✔ omits a non-positive request model context window (5.173192ms) +2026-09-27T05:32:13.1555594Z ✔ counts a retry as another attempt of the same step (19.308206ms) +2026-09-27T05:32:13.1598493Z ✔ attributes a non-streaming physical provider call (0.94857ms) +2026-09-27T05:32:13.1658148Z ✔ keeps a redacted request out of the canonical attempt (3.174295ms) +2026-09-27T05:32:13.1744287Z ✔ awaits the durable dispatch gate before a non-streaming provider call (2.053243ms) +2026-09-27T05:32:13.1775470Z ✔ records an errored stream after output as interrupted (7.565611ms) +2026-09-27T05:32:13.1810555Z ✔ records an in-flight attempt as aborted when its signal is cancelled (0.61451ms) +2026-09-27T05:32:13.1856168Z ✔ does not record an attempt when cancellation predates dispatch (0.34424ms) +2026-09-27T05:32:13.2038716Z ✔ does not dispatch or record an attempt when cancellation happens at the gate (3.784302ms) +2026-09-27T05:32:13.2087879Z ✔ provider request tracker (56.882354ms) +2026-09-27T05:32:13.2162009Z ▶ canonical model-call accounting +2026-09-27T05:32:13.2203339Z ✔ a call abandoned before dispatch never enters the canonical sent sequence (0.57732ms) +2026-09-27T05:32:13.2235580Z ✔ emits a decodable priced record for a completed call (5.011118ms) +2026-09-27T05:32:13.2270807Z ✔ persists a structured failure fingerprint and the selected compaction route (1.049306ms) +2026-09-27T05:32:13.2291564Z ✔ records the physical route when one compaction call falls back (3.972093ms) +2026-09-27T05:32:13.2386038Z ✔ a call the provider reported no usage for records usageBasis missing (2.122429ms) +2026-09-27T05:32:13.2399449Z ✔ carries the folded prompt composition on the canonical attempt (1.10956ms) +2026-09-27T05:32:13.2436146Z ✔ an unresolvable price records unpriced rather than zero (0.772077ms) +2026-09-27T05:32:13.2477318Z ✔ retries of one step share a logicalCallId and increment the ordinal (3.392797ms) +2026-09-27T05:32:13.2479621Z ✔ a sink failure never errors the model stream (0.691ms) +2026-09-27T05:32:13.2480952Z ✔ the readiness gate refuses before dispatch, without calling the provider (0.313209ms) +2026-09-27T05:32:13.2483520Z ✔ an abort settles late usage instead of freezing the bill at zero (0.683876ms) +2026-09-27T05:32:13.2486111Z ✔ late reported usage waits for provisional accounting and remains authoritative (57.355734ms) +2026-09-27T05:32:13.2556807Z ✔ no canonical record is emitted without a resolvable run (0.546857ms) +2026-09-27T05:32:13.2602693Z ✔ canonical model-call accounting (78.60034ms) +2026-09-27T05:32:13.2730436Z ✔ PTY driver exposes the live child PID and acknowledges forced exit (240.508243ms) +2026-09-27T05:32:13.2805552Z ▶ PtyScreenCollector +2026-09-27T05:32:13.2869631Z ✔ restores cursor visibility after a DECSTR soft reset (154.115186ms) +2026-09-27T05:32:13.2895600Z ✔ coalesces queued parser writes so a cut waits behind bounded work (18.009132ms) +2026-09-27T05:32:13.3007447Z ✔ keeps the newest frame and evicts the oldest queued data when the parse queue exceeds its budget (17.671835ms) +2026-09-27T05:32:13.3064230Z ✔ resets the parser at an input gap so eviction cannot swallow the newest frame behind an unterminated escape sequence (25.811827ms) +2026-09-27T05:32:13.3145871Z ✔ distinguishes an intentional screen clear from scrollback eviction (111.583525ms) +2026-09-27T05:32:13.3185657Z ✔ PtyScreenCollector (332.769177ms) +2026-09-27T05:32:13.3187080Z ✔ enters Runtime Kernel quiescence before preparing a Session snapshot (8.429264ms) +2026-09-27T05:32:13.3305993Z ✔ maps an active Runtime execution claim to a stable snapshot_busy error (7.615664ms) +2026-09-27T05:32:13.3366045Z ✔ does not invoke snapshot work when Host eligibility rejects the Session (0.405055ms) +2026-09-27T05:32:13.3430136Z ✔ preserves an operation AbortError for coordinator cancellation normalization (0.504988ms) +2026-09-27T05:32:13.3473248Z ✖ actual Runtime Kernel serializes an admitted mutation before snapshot work (1.395495ms) +2026-09-27T05:32:13.3565877Z ✔ does not run a snapshot admitted after its cancellation (0.366248ms) +2026-09-27T05:32:13.3645917Z ✔ malformed continuation positions fail instead of restarting the resource (10.010952ms) +2026-09-27T05:32:13.3685906Z ✔ default and explicit large ranges stay bounded and continue to the requested end (81.804359ms) +2026-09-27T05:32:13.3745941Z ✔ a long Unicode line continues without loss and refuses changed content (47.415235ms) +2026-09-27T05:32:13.3805795Z ✔ line-boundary continuations reject a rolling output snapshot (6.660579ms) +2026-09-27T05:32:13.3865638Z ✔ archive Read decodes content lines and retains terminal execution metadata (0.69621ms) +2026-09-27T05:32:13.3867022Z ✔ archive Read pages a long shell failure without losing output or execution metadata (8.960511ms) +2026-09-27T05:32:13.3925718Z ✔ archive Read preserves fields beside structured text across pages (3.801487ms) +2026-09-27T05:32:14.1587948Z ▶ recall over the corpus a live workspace actually has +2026-09-27T05:32:14.1616214Z ✔ a Session born on the ledger is reachable, and narrowing matches the full scan (959.275764ms) +2026-09-27T05:32:14.4146247Z ✔ a pasted file is reachable by name through the real stores (257.193042ms) +2026-09-27T05:32:14.4497328Z ✔ a second Host client admitting a Turn after the idle read blocks MCP replacement (7148.114527ms) +2026-09-27T05:32:14.6626264Z ✔ narrowing reads only the Sessions that can match (246.242306ms) +2026-09-27T05:32:14.6668699Z ✔ recall over the corpus a live workspace actually has (1464.774279ms) +2026-09-27T05:32:14.7105723Z ▶ recovery authority equivalence +2026-09-27T05:32:14.7129125Z ✔ gives online projection, reopen, rebuild, and Resolver one terminal interpretation (163.314321ms) +2026-09-27T05:32:14.7176056Z ✔ keeps prepared, normal T2, and parked states equivalent across reopen and rebuild (229.312796ms) +2026-09-27T05:32:14.7215865Z ✔ preserves duplicate event identity and semantic-lane diagnostics (0.686636ms) +2026-09-27T05:32:14.7273632Z ✔ treats a valid parked recovery bundle as terminal (6.965428ms) +2026-09-27T05:32:14.7326580Z ✔ blocks resume whenever the recovery ledger contains top-level corruption (1.409441ms) +2026-09-27T05:32:14.7345612Z ✔ recovery authority equivalence (403.727122ms) +2026-09-27T05:32:14.7373112Z ▶ RecoveryResolver +2026-09-27T05:32:14.7397687Z ✔ proves a new-protocol call without dispatch was never dispatched (3.676525ms) +2026-09-27T05:32:14.7420180Z ✔ requires reconciliation after dispatch when no response was committed (1.488838ms) +2026-09-27T05:32:14.7477085Z ✔ settles every dispatched operation, including hidden nested calls (3.18512ms) +2026-09-27T05:32:14.7505984Z ✔ commits a projected recovery outcome through the projection-aware SQLite T2 gate (102.164329ms) +2026-09-27T05:32:14.7565973Z ✔ marks generic interrupted tools as outcome-unknown and does not retry them (0.801901ms) +2026-09-27T05:32:14.7613667Z ✔ settles a dispatched user question as interrupted without claiming a side effect (0.86071ms) +2026-09-27T05:32:14.7646054Z ✔ does not append an interrupted result after the invocation terminal event (0.449767ms) +2026-09-27T05:32:14.7767185Z ✔ treats a matching response without dispatch as a completed pre-T1 result (0.456762ms) +2026-09-27T05:32:14.7818096Z ✔ classifies a dispatch without its canonical function call as corruption (0.527802ms) +2026-09-27T05:32:14.7906265Z ✔ classifies a response without its canonical function call as corruption (0.477055ms) +2026-09-27T05:32:14.7926096Z ✔ classifies dispatch identity drift as corruption (0.421933ms) +2026-09-27T05:32:14.7975965Z ✔ classifies repeated dispatch for one operation as corruption (0.362712ms) +2026-09-27T05:32:14.8018004Z ✔ classifies repeated response for one operation as corruption (3.03093ms) +2026-09-27T05:32:14.8075677Z ✔ rejects a protocol marker added after the first canonical event (0.259308ms) +2026-09-27T05:32:14.8132668Z ✔ rejects an unknown protocol marker on the first canonical event (0.21136ms) +2026-09-27T05:32:14.8165549Z ✔ classifies a response linked to a different operation as corruption (0.311803ms) +2026-09-27T05:32:14.8207478Z ✔ RecoveryResolver (125.374328ms) +2026-09-27T05:32:14.8266823Z ▶ createRequestCustomizationFetch +2026-09-27T05:32:14.8307382Z ✔ preserves caller cancellation, including signal override and explicit null (91.09969ms) +2026-09-27T05:32:14.8365892Z ✔ native response still aborts after temporary customization Requests are collected (646.422606ms) +2026-09-27T05:32:14.8406862Z ✔ applies generic headers and extra fields to a JSON POST request (25.359632ms) +2026-09-27T05:32:14.8445575Z ✔ adds headers to model discovery without adding a body (7.139606ms) +2026-09-27T05:32:14.8489725Z ✔ passes URL and init across fetch implementations instead of a realm-specific Request (5.488763ms) +2026-09-27T05:32:14.8536520Z ✔ rejects collisions instead of silently overriding generated request data (7.685089ms) +2026-09-27T05:32:14.8593244Z ✔ applies a provider finalizer after caller body overlays (13.94304ms) +2026-09-27T05:32:14.8675810Z ✔ createRequestCustomizationFetch (800.545931ms) +2026-09-27T05:32:14.8685753Z ▶ canonicalizeToolSet active allow-list +2026-09-27T05:32:14.8743681Z ✔ withholds inactive tools without removing them from the dispatch registry (35.503461ms) +2026-09-27T05:32:14.8775212Z ✔ measures only the provider-visible tool schemas (1.427868ms) +2026-09-27T05:32:14.8832584Z ✔ canonicalizeToolSet active allow-list (38.590334ms) +2026-09-27T05:32:14.8860517Z ▶ prepared prompt composition +2026-09-27T05:32:14.8886949Z ✔ folds every semantic part into its bucket and names the tools (4.036802ms) +2026-09-27T05:32:14.8929623Z ✔ sizes non-JSON values rather than dropping them (0.441906ms) +2026-09-27T05:32:14.8976513Z ✔ folds a long conversation into one row without losing its bytes (37.574062ms) +2026-09-27T05:32:14.9039040Z ✔ names the largest tools and carries the rest as a counted remainder (1.024415ms) +2026-09-27T05:32:14.9105621Z ✔ has nothing to say about an empty request (0.209409ms) +2026-09-27T05:32:14.9117238Z ✔ prepared prompt composition (48.601364ms) +2026-09-27T05:32:14.9178195Z ✔ round-trips one bounded versioned plaintext Responses item identity (13.763829ms) +2026-09-27T05:32:14.9193833Z ✔ rejects malformed, widened, and unsafe plaintext Responses state (3.5941ms) +2026-09-27T05:32:14.9237791Z ✔ degrades a well-formed state version that this Runtime cannot replay (0.278978ms) +2026-09-27T05:32:14.9254640Z ✔ reconstructs provider-native summary parts (0.408126ms) +2026-09-27T05:32:14.9337523Z ✔ drops summary boundaries that disagree with canonical text (0.201205ms) +2026-09-27T05:32:14.9376118Z ✔ keeps encrypted OpenAI item identity readable for shared step grouping (0.154931ms) +2026-09-27T05:32:15.5696302Z ✔ ignores a stale Goal arm result after switching Sessions (326.781367ms) +2026-09-27T05:32:15.6884361Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:32:15.7506308Z ✔ ignores a stale Goal arm rejection after closing and reopening (151.560938ms) +2026-09-27T05:32:15.9558638Z ✔ closes only for armed and locks reconciled state until reopen (227.946502ms) +2026-09-27T05:32:16.0065910Z [desktop] operation failed: Error: Goal already exists +2026-09-27T05:32:16.0075916Z at Object.onArm (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/goal-dialog.test.js:111:15) +2026-09-27T05:32:16.0125915Z at arm (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/goals/ui/goal-dialog.js:98:41) +2026-09-27T05:32:16.0157845Z at Object.onClick (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/goals/ui/goal-dialog.js:145:409) +2026-09-27T05:32:16.0186656Z at handleClick (file:///home/runner/work/maka/maka/node_modules/@astryxdesign/core/dist/Button/Button.js:413:20) +2026-09-27T05:32:16.0236902Z at executeDispatch (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:20804:9) +2026-09-27T05:32:16.0305564Z at runWithFiberInDEV (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:1045:30) +2026-09-27T05:32:16.0337303Z at processDispatchQueue (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:20854:19) +2026-09-27T05:32:16.0343089Z at /home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:21423:9 +2026-09-27T05:32:16.0344348Z at batchedUpdates$1 (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:3437:40) +2026-09-27T05:32:16.0377167Z at dispatchEventForPluginEventSystem (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:21008:7) +2026-09-27T05:32:16.0603796Z ✔ keeps the Goal form editable after a deterministic rejection (109.721057ms) +2026-09-27T05:32:16.1583662Z ✔ blocks invalid budgets and arms the exact values the form shows (130.042617ms) +2026-09-27T05:32:16.2748608Z ▶ Goals model +2026-09-27T05:32:16.2849866Z ✔ parses only whole, bounded, safe budget values (2.768501ms) +2026-09-27T05:32:16.2942062Z ✔ projects only running and well-formed paused Goals (0.360398ms) +2026-09-27T05:32:16.2992632Z ✔ Goals model (4.627239ms) +2026-09-27T05:32:16.3083365Z ✔ Goal arm preload routing preserves target scope and projects every outcome (7.040776ms) +2026-09-27T05:32:16.3105333Z ▶ GoalProvider render scope +2026-09-27T05:32:16.3150835Z ✔ updates only the projection whose reader changed (98.014761ms) +2026-09-27T05:32:16.3238672Z [desktop] operation failed: Error: offline +2026-09-27T05:32:16.3314874Z at Object.pause (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/goal-provider-scope.test.js:124:27) +2026-09-27T05:32:16.3370492Z at file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/goals/controller/use-goal-controller.js:112:73 +2026-09-27T05:32:16.3438949Z at file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/goals/controller/use-goal-controller.js:74:14 +2026-09-27T05:32:16.3515839Z at Object.onPause (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/goals/controller/use-goal-controller.js:112:17) +2026-09-27T05:32:16.3538669Z at file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/goal-provider-scope.test.js:134:54 +2026-09-27T05:32:16.3631926Z at process.env.NODE_ENV.exports.act (/home/runner/work/maka/maka/node_modules/react/cjs/react.development.js:890:22) +2026-09-27T05:32:16.3721500Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/goal-provider-scope.test.js:133:15) +2026-09-27T05:32:16.3845788Z at async Test.run (node:internal/test_runner/test:1409:7) +2026-09-27T05:32:16.3910077Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:32:16.3976162Z ✔ withholds the command when disabled and reports failures to the latest owner (64.095112ms) +2026-09-27T05:32:16.4075850Z ✔ defaults standalone UI readers to an inactive Goal projection (6.907535ms) +2026-09-27T05:32:16.4125598Z ✔ GoalProvider render scope (171.142321ms) +2026-09-27T05:32:16.4165742Z ▶ createDesktopGoalServices +2026-09-27T05:32:16.4205916Z ✔ maps Goal operations and narrows Session changes to Goal events (5.320018ms) +2026-09-27T05:32:16.4228595Z ✔ createDesktopGoalServices (6.981161ms) +2026-09-27T05:32:16.4286931Z ▶ Goals feature boundary +2026-09-27T05:32:16.4331863Z ✔ contains no Desktop global bridge or shell/process imports (14.861055ms) +2026-09-27T05:32:16.4375379Z ✔ is consumed outside the feature only through public entries (189.716709ms) +2026-09-27T05:32:16.4493218Z ✔ keeps fake services out of the production entry (0.324542ms) +2026-09-27T05:32:16.4548762Z ✔ keeps the controller owned by GoalProvider and out of renderer roots (92.351724ms) +2026-09-27T05:32:16.4584243Z ✔ keeps the controller module behind GoalProvider and the testing entry (2.501096ms) +2026-09-27T05:32:16.4618951Z ✔ binds separate projection contexts at the authoritative UI readers (8.876441ms) +2026-09-27T05:32:16.4704114Z ✔ keeps Goal projection consumers exclusive to the authorized renderer leaves (189.397376ms) +2026-09-27T05:32:16.4765853Z ✔ keeps Goal state, controls, and dialog reads below AppShell (2.04605ms) +2026-09-27T05:32:16.4789789Z ✔ Goals feature boundary (513.736718ms) +2026-09-27T05:32:16.4845578Z ▶ responses wire contract +2026-09-27T05:32:16.4880910Z ✔ GPT-6 catalog thinking levels reach Responses for API and Codex OAuth (78.632062ms) +2026-09-27T05:32:16.4935865Z ✔ does not route Maka tool_search history through OpenAI native tool_search validation (88.261603ms) +2026-09-27T05:32:16.4990566Z ✔ keeps the runtime tool_search name in a Code Mode catalog nested inside exec (56.692498ms) +2026-09-27T05:32:16.5106251Z ✔ routes only Qwen3.8 Max through Token Plan Responses (1.029503ms) +2026-09-27T05:32:16.5180757Z ✔ keeps Qwen3.8 Max on Alibaba (China) Chat until the provider adapter supports Responses (0.268565ms) +2026-09-27T05:32:16.5249939Z ✔ routes OpenCode Go Muse Spark through the Responses endpoint (11.698061ms) +2026-09-27T05:32:16.5326156Z ✔ sends OpenCode Go session identities through their model adapters (54.295167ms) +2026-09-27T05:32:16.5414844Z ✔ normalizes the upstream Open Responses endpoint exactly once (2.820332ms) +2026-09-27T05:32:16.5465887Z ✔ reduces an endpoint-form override to the base the native adapter expects (5.613163ms) +2026-09-27T05:32:16.5507341Z ✔ resolves only supported Responses adapter and replay pairings (3.041432ms) +2026-09-27T05:32:16.5560902Z ✔ one custom connection resolves each model on its own wire (0.529699ms) +2026-09-27T05:32:16.5625635Z ✔ resolves parallel tool calls from model facts before native wire defaults (0.482148ms) +2026-09-27T05:32:16.5685542Z ✔ every encrypted-content Responses contract asks for encrypted reasoning (136.829129ms) +2026-09-27T05:32:16.5710960Z ✔ responses wire contract (444.840048ms) +2026-09-27T05:32:16.5759735Z ▶ responses wire request body +2026-09-27T05:32:16.5856468Z ✔ Alibaba compatibility owns store:false after request overlays (17.658003ms) +2026-09-27T05:32:16.5945740Z ✔ Alibaba compatibility preserves documented required tool choices (9.838787ms) +2026-09-27T05:32:16.5996592Z ✔ Alibaba compatibility survives header-only request customization (7.746943ms) +2026-09-27T05:32:16.6044193Z ✔ adds the V2 trigger only through the explicit OpenAI provider option (2.523653ms) +2026-09-27T05:32:16.6075634Z ✔ returns native apply_patch results with the provider output item (4.120034ms) +2026-09-27T05:32:16.6085712Z ✔ DeepSeek uses plaintext Responses options without asking for encrypted content (1.375681ms) +2026-09-27T05:32:16.6145562Z ✔ replays plaintext reasoning before its function call and result (4.341838ms) +2026-09-27T05:32:16.6175310Z ✔ responses wire request body (51.294856ms) +2026-09-27T05:32:16.6215691Z ✔ Codex custom ApplyPatch streams raw input and replays custom tool results (60.194327ms) +2026-09-27T05:32:16.6265492Z ✔ only a WSL distribution names where the Host runs (2.004758ms) +2026-09-27T05:32:16.6272514Z ✔ the environment survives the worker launch argument (1.940139ms) +2026-09-27T05:32:16.6340495Z ✔ every missing-ripgrep message says where to install it and to retry, never to restart (0.73141ms) +2026-09-27T05:32:16.6342962Z ✔ the guidance never carries the machine name to the model (0.308402ms) +2026-09-27T05:32:16.6385744Z ✔ handoff cancellation leaves the same execution free to continue (1.941542ms) +2026-09-27T05:32:16.6450464Z ✔ only the held boundary can commit and stale cancellation cannot release a later reservation (4.53924ms) +2026-09-27T05:32:16.6457259Z ✔ user Stop releases a paused boundary and natural completion resolves a pending request (0.521982ms) +2026-09-27T05:32:16.6525392Z ▶ RunTrace error diagnostics +2026-09-27T05:32:16.6569201Z ✔ model stream failures keep generic copy plus redacted raw diagnostics (19.371781ms) +2026-09-27T05:32:16.6570331Z ✔ model stream failure diagnostics are bounded (6.571515ms) +2026-09-27T05:32:16.6619278Z ✔ model stream failure diagnostics preserve redacted structured error fields (1.177956ms) +2026-09-27T05:32:16.6678381Z ✔ RunTrace error diagnostics (37.912346ms) +2026-09-27T05:32:16.6705410Z ▶ RuntimeCommitSink identities +2026-09-27T05:32:16.6736999Z ✔ builds operation identity from the invocation and provider call, never argument text (1.679539ms) +2026-09-27T05:32:16.6771462Z ✔ keeps tuple identity unambiguous when provider strings contain NUL (0.306765ms) +2026-09-27T05:32:16.6772721Z ✔ hashes stable-json tool identity while preserving semantic argument differences (4.319066ms) +2026-09-27T05:32:16.6811810Z ✔ RuntimeCommitSink identities (25.898264ms) +2026-09-27T05:32:19.3769179Z ✔ labels blocker counts as global across filtered health views (1.195242ms) +2026-09-27T05:32:19.3770846Z ✔ Traditional Chinese health copy localizes structured signal text (0.532018ms) +2026-09-27T05:32:19.3877294Z ✔ renders configuration message codes distinctly in both locales (0.421755ms) +2026-09-27T05:32:19.3947698Z ✔ renders runtime probe details from structured params, not string parsing (0.478601ms) +2026-09-27T05:32:19.4015881Z ✔ capability reason codes have copy in every locale, unknown reasons keep the fallback (3.227505ms) +2026-09-27T05:32:19.4203617Z ✔ maps connection test error classes without exposing machine tokens (0.263495ms) +2026-09-27T05:32:19.4248887Z ✔ maps connection test error classes in connection details (0.90679ms) +2026-09-27T05:32:19.4366786Z ✔ suffixes runtime signal labels per locale from the id, not the producer (0.247769ms) +2026-09-27T05:32:19.4686016Z ✔ dimensions come out of the bytes, for both offered formats (8.103662ms) +2026-09-27T05:32:19.4756237Z ✔ a small file declaring a huge bitmap reports the huge dimensions (0.528902ms) +2026-09-27T05:32:19.4812806Z ✔ anything that is not PNG or JPEG is not recognised (0.274595ms) +2026-09-27T05:32:19.4848742Z ✔ a JPEG whose markers run out is not guessed at (0.14573ms) +2026-09-27T05:32:20.5186863Z ▶ ImportTasksSettingsPage durable import state +2026-09-27T05:32:20.5267739Z ✔ renders imported history and an entry to the newest imported task after remount (450.579303ms) +2026-09-27T05:32:20.6851125Z ✔ scopes catalog reads and import to the selected Runtime Host (197.496931ms) +2026-09-27T05:32:20.8329202Z ✔ shows an actionable banner and does not re-read the catalog when no model is usable (140.164826ms) +2026-09-27T05:32:20.9710167Z ✔ shows a source-unreadable banner when the conversation cannot be converted (149.068259ms) +2026-09-27T05:32:21.1055909Z ✔ shows the exact source limit without generic retry advice in en (125.170905ms) +2026-09-27T05:32:21.1206502Z ✔ a committed MCP replacement survives cancellation after another Host client starts a Turn (6671.838751ms) +2026-09-27T05:32:21.2416634Z ✔ shows the exact source limit without generic retry advice in zh-CN (141.109935ms) +2026-09-27T05:32:21.4290422Z ✔ shows the exact source limit without generic retry advice in zh-TW (164.213719ms) +2026-09-27T05:32:21.5564920Z ✔ uses catalog in-flight state after remount to disable the source row (141.746289ms) +2026-09-27T05:32:21.6492066Z ✔ renders durable repeat-import state in Chinese (101.084045ms) +2026-09-27T05:32:21.7523469Z ✔ polls catalog-owned in-flight state until the imported task becomes durable (100.291969ms) +2026-09-27T05:32:21.9478556Z ▶ runtime resume phase 1 process crash harness +2026-09-27T05:32:21.9506012Z ✔ reopens and repairs every committed continuation prefix after SIGKILL (5919.951553ms) +2026-09-27T05:32:21.9545879Z ✔ runtime resume phase 1 process crash harness (5924.810752ms) +2026-09-27T05:32:22.0032783Z ✔ polls the whole loaded page window without dropping a later-page import (234.112647ms) +2026-09-27T05:32:22.0216378Z ✔ local continuation safety inspector returns current authoritative workspace facts (10.402022ms) +2026-09-27T05:32:22.0328836Z ✔ RuntimeContinuationPlanner reads the durable source boundary and allocates fresh identities (23.244176ms) +2026-09-27T05:32:22.0361131Z ✔ RuntimeContinuationPlanner parks with a stable reason when the ledger cannot be read (6.194728ms) +2026-09-27T05:32:22.0486189Z ✔ RuntimeContinuationPlanner derives terminal repair from durable run and event facts (9.239092ms) +2026-09-27T05:32:22.0515988Z ✔ RuntimeContinuationPlanner parks when the source ledger does not end on its terminal fact (1.980824ms) +2026-09-27T05:32:22.0541371Z ✔ RuntimeContinuationPlanner rejects immutable output after the source terminal fact (8.314642ms) +2026-09-27T05:32:22.0564928Z ✔ RuntimeContinuationPlanner uses canonical provider items for composite head and tail gates (9.358792ms) +2026-09-27T05:32:22.0641108Z ✔ RuntimeContinuationPlanner rejects a ledger returned for another source run (0.751997ms) +2026-09-27T05:32:22.0706417Z ✔ RuntimeContinuationPlanner fails a cyclic continuation lineage closed (11.984754ms) +2026-09-27T05:32:22.0733900Z ✔ RuntimeContinuationPlanner parks when a continuation ancestor is unavailable (3.743825ms) +2026-09-27T05:32:22.0737360Z ✔ RuntimeContinuationPlanner caps continuation lineage at 64 segments (46.336803ms) +2026-09-27T05:32:22.0761907Z ✔ RuntimeContinuationPlanner verifies a v2 lineage edge prefix digest (9.403102ms) +2026-09-27T05:32:22.0828238Z ✔ RuntimeContinuationPlanner binds every v2 lineage edge to its continuation-start T1 (1.187039ms) +2026-09-27T05:32:22.0877998Z ✔ RuntimeContinuationPlanner rejects downgrading a canonical v2 start to legacy lineage (9.714498ms) +2026-09-27T05:32:22.0908013Z ✔ RuntimeContinuationPlanner requires a durable target before authenticating edge replay (12.175621ms) +2026-09-27T05:32:22.0957321Z ✔ RuntimeContinuationPlanner rejects a v2 lineage edge whose durable claim is missing (3.758356ms) +2026-09-27T05:32:22.0987418Z ▶ projectRuntimeEventsToStoredMessages +2026-09-27T05:32:22.1091634Z ✔ streaming projection is equivalent to the batch read model (27.604254ms) +2026-09-27T05:32:22.1159858Z ✔ every event prefix projects the rows the full ledger attributes to it (8.404318ms) +2026-09-27T05:32:22.1226995Z ✔ unclaimed thinking is a defect only once its invocation has ended (4.809391ms) +2026-09-27T05:32:22.1301272Z ✔ loads canonical permission outcomes after the streaming scan and preserves acceptance order (3.936031ms) +2026-09-27T05:32:22.1408889Z ✔ projects decoded tool results during push and reports emitted messages (1.0893ms) +2026-09-27T05:32:22.1465610Z ✔ bounds local terminal transcript output to a recoverable tail preview (11.734659ms) +2026-09-27T05:32:22.1529958Z ✔ exposes a session image ref as a Markdown image source to the model (4.471399ms) +2026-09-27T05:32:22.1605770Z ✔ projects user displayText from RuntimeEvent text content (0.366074ms) +2026-09-27T05:32:22.1635590Z ✔ full RuntimeEvent turn projects legacy-compatible rows (4.122701ms) +2026-09-27T05:32:22.1740014Z ✔ projects provider-native search through the canonical read model while replay keeps raw output (6.963015ms) +2026-09-27T05:32:22.1815398Z ✔ projects an AskUserQuestion round trip without a legacy row for the live request (0.472079ms) +2026-09-27T05:32:22.1936280Z ✔ replays generic provider tool results without Maka result decoding (8.119381ms) +2026-09-27T05:32:22.1988274Z ✔ folds retired permission modes while projecting persisted tool results (1.079833ms) +2026-09-27T05:32:22.2079804Z ✔ folds retired ExploreAgent results before model replay (5.046276ms) +2026-09-27T05:32:22.2135522Z ✔ restores a settled Agent Swarm function response (6.866787ms) +2026-09-27T05:32:22.2236545Z ✔ projects first-observed step content order for stable live handoff (0.380161ms) +2026-09-27T05:32:22.2281958Z ✔ archived tool-result placeholders project to diagnostic tool-result rows (0.671261ms) +2026-09-27T05:32:22.2351457Z ✔ legacy archived tool-result placeholders gain a deterministic ArchiveRead ref for replay (9.986543ms) +2026-09-27T05:32:22.2443559Z ✔ archive status wrapper can project missing and corrupt rows without changing sync defaults (1.153405ms) +2026-09-27T05:32:22.2466261Z ✔ partial RuntimeEvents are excluded (0.289651ms) +2026-09-27T05:32:22.2495655Z ✔ tool dispatch recovery facts are accepted without creating legacy message rows (0.216703ms) +2026-09-27T05:32:22.2515602Z ✔ question answer acknowledgements remain non-visible audit facts (0.183316ms) +2026-09-27T05:32:22.2565673Z ✔ terminal recovery bundle facts are accepted without creating legacy message rows (1.484729ms) +2026-09-27T05:32:22.2605867Z ✔ continuation-start recovery facts are accepted without creating legacy message rows (0.350945ms) +2026-09-27T05:32:22.2635750Z ✔ sandbox boundary request and decision facts are accepted without creating legacy message rows (1.449175ms) +2026-09-27T05:32:22.2666679Z ✔ a sandbox boundary request without a justification stays unclaimed (0.524863ms) +2026-09-27T05:32:22.2695529Z ✔ a sandbox boundary request with an unusable expansion stays unclaimed (0.248509ms) +2026-09-27T05:32:22.2725641Z ✔ a sandbox boundary request that lost its tool-call reference stays unclaimed (0.182658ms) +2026-09-27T05:32:22.2750210Z ✔ a sandbox boundary request attributed to someone other than the system stays unclaimed (0.329502ms) +2026-09-27T05:32:22.2816270Z ✔ a sandbox boundary decision without a status stays unclaimed (0.225626ms) +2026-09-27T05:32:22.2863868Z ✔ a sandbox boundary decision with a status the boundary never settles to stays unclaimed (0.182966ms) +2026-09-27T05:32:22.2901942Z ✔ a sandbox boundary decision without a revision stays unclaimed (0.26113ms) +2026-09-27T05:32:22.2927120Z ✔ a sandbox boundary decision attributed to the agent instead of the user stays unclaimed (0.165835ms) +2026-09-27T05:32:22.2928474Z ✔ model thinking attaches to the assistant text row that shares its step message id (0.339603ms) +2026-09-27T05:32:22.2929476Z ✔ per-step thinking pairs each step assistant row by its own message id (0.359952ms) +2026-09-27T05:32:22.2930363Z ✔ unsupported and incomplete events are diagnostic-only (0.38714ms) +2026-09-27T05:32:22.2931293Z ✔ an unclaimed control-only event is soft and leaves every message intact (0.260512ms) +2026-09-27T05:32:22.2932124Z ✔ an unclaimed event that carries content stays hard (0.149433ms) +2026-09-27T05:32:22.2933068Z ✔ failed terminal RuntimeEvent maps to failed turn state with the class it states (0.336549ms) +2026-09-27T05:32:22.2934103Z ✔ failure diagnostics survive terminal projection and serialization round-trip (1.114446ms) +2026-09-27T05:32:22.2935319Z ✔ bounds terminal diagnostics before publishing decodable turn states (1.173615ms) +2026-09-27T05:32:22.2936477Z ✔ a session written with the retired context_budget_exhausted reads back as context_overflow (0.266565ms) +2026-09-27T05:32:22.2937563Z ✔ tool step cap terminal fact projects a persistent system notice (6.720421ms) +2026-09-27T05:32:22.2938548Z ✔ aborted terminal RuntimeEvent preserves abort source from runtime state (0.366582ms) +2026-09-27T05:32:22.2939643Z ✔ aborted terminal RuntimeEvent that states no source still projects its turn state (0.207401ms) +2026-09-27T05:32:22.2940711Z ✔ projects tool_call stepId from refs so the UI timeline keeps step pairing (0.305647ms) +2026-09-27T05:32:22.2941741Z ✔ retains nested CodeMode identity on tool rows used by the UI read model (0.33079ms) +2026-09-27T05:32:22.2942691Z ✔ projects tool_call activityKind from runtime state for replay (0.189096ms) +2026-09-27T05:32:22.2943516Z ✔ projectRuntimeEventsToStoredMessages (134.185935ms) +2026-09-27T05:32:22.2944086Z ▶ system note projection +2026-09-27T05:32:22.2944895Z ✔ projects a turn-scoped note back into its transcript row (0.359567ms) +2026-09-27T05:32:22.2945730Z ✔ converts a legacy turn-scoped note and reads back the same row (7.088328ms) +2026-09-27T05:32:22.2946566Z ✔ leaves a session-level note out of the run ledger (0.287985ms) +2026-09-27T05:32:22.2947235Z ✔ system note projection (7.993441ms) +2026-09-27T05:32:22.2947839Z ▶ legacy transcript conversion keeps every row +2026-09-27T05:32:22.2948643Z ✔ keeps a tool result whose call is not in the turn, out of model replay (0.531342ms) +2026-09-27T05:32:22.2949560Z ✔ keeps a provider-native call whose opaque output was not retained (2.111915ms) +2026-09-27T05:32:22.2950316Z ✔ converts a permission decision on its own evidence (1.273054ms) +2026-09-27T05:32:22.2951086Z ✔ ends a turn whose transcript never said how it ended (1.191298ms) +2026-09-27T05:32:22.2951799Z ✔ legacy transcript conversion keeps every row (5.393014ms) +2026-09-27T05:32:22.2952422Z ▶ RuntimeEventActions projection coverage +2026-09-27T05:32:22.2953195Z ✔ actions.coordination projects without an unclaimed-event diagnostic (0.463695ms) +2026-09-27T05:32:22.2954130Z ✔ actions.handoffPause projects without an unclaimed-event diagnostic (0.119377ms) +2026-09-27T05:32:22.3025987Z ✔ actions.stateDelta projects without an unclaimed-event diagnostic (0.11636ms) +2026-09-27T05:32:22.3028064Z ✔ actions.managedMutationTerminal projects without an unclaimed-event diagnostic (0.098828ms) +2026-09-27T05:32:22.3052873Z ✔ actions.continuationStart projects without an unclaimed-event diagnostic (0.091701ms) +2026-09-27T05:32:22.3053910Z ✔ actions.artifactDelta projects without an unclaimed-event diagnostic (0.073529ms) +2026-09-27T05:32:22.3055032Z ✔ actions.permissionRequest projects without an unclaimed-event diagnostic (0.087457ms) +2026-09-27T05:32:22.3056097Z ✔ actions.permissionDecision projects without an unclaimed-event diagnostic (0.617865ms) +2026-09-27T05:32:22.3057108Z ✔ actions.permissionAnswerAccepted projects without an unclaimed-event diagnostic (0.403052ms) +2026-09-27T05:32:22.3058466Z ✔ actions.permissionClosureAccepted projects without an unclaimed-event diagnostic (0.17681ms) +2026-09-27T05:32:22.3059675Z ✔ actions.userQuestionRequest projects without an unclaimed-event diagnostic (0.101813ms) +2026-09-27T05:32:22.3060790Z ✔ actions.userQuestionAnswerAccepted projects without an unclaimed-event diagnostic (0.071377ms) +2026-09-27T05:32:22.3061815Z ✔ actions.formRequest projects without an unclaimed-event diagnostic (0.066727ms) +2026-09-27T05:32:22.3062831Z ✔ actions.formAnswerAccepted projects without an unclaimed-event diagnostic (0.092155ms) +2026-09-27T05:32:22.3063905Z ✔ actions.transferToAgent projects without an unclaimed-event diagnostic (0.077662ms) +2026-09-27T05:32:22.3065080Z ✔ actions.endInvocation projects without an unclaimed-event diagnostic (0.08506ms) +2026-09-27T05:32:22.3066030Z ✔ actions.tokenUsage projects without an unclaimed-event diagnostic (0.090569ms) +2026-09-27T05:32:22.3066936Z ✔ actions.toolDispatch projects without an unclaimed-event diagnostic (0.066911ms) +2026-09-27T05:32:22.3067892Z ✔ actions.toolRecovery projects without an unclaimed-event diagnostic (0.064958ms) +2026-09-27T05:32:22.3068833Z ✔ actions.workspaceFact projects without an unclaimed-event diagnostic (0.059444ms) +2026-09-27T05:32:22.3069746Z ✔ actions.runtimeProtocol projects without an unclaimed-event diagnostic (0.05429ms) +2026-09-27T05:32:22.3070538Z ✔ RuntimeEventActions projection coverage (5.242331ms) +2026-09-27T05:32:22.3071068Z ▶ token usage projection +2026-09-27T05:32:22.3071621Z ✔ carries the cross-turn request anchor both ways (0.836862ms) +2026-09-27T05:32:22.3072201Z ✔ token usage projection (0.954011ms) +2026-09-27T05:32:22.3072716Z ▶ SessionManager read behavior +2026-09-27T05:32:22.3073593Z ✔ getMessages requires RuntimeReadModel stores instead of reading SessionStore messages directly (2.318463ms) +2026-09-27T05:32:22.3127416Z ✔ SessionManager read behavior (2.434046ms) +2026-09-27T05:32:22.3138088Z ✔ Coordination receipts materialize as host facts, never assistant output (0.260601ms) +2026-09-27T05:32:22.3140496Z ✔ does not claim another client task after an unknown import outcome (122.568307ms) +2026-09-27T05:32:22.3159968Z ✔ ImportTasksSettingsPage durable import state (2086.558483ms) +2026-09-27T05:32:22.3182149Z ▶ ImportTasksSettingsPage source switching +2026-09-27T05:32:22.3183080Z ✔ shows the reading spinner the first time a source is opened (161.638968ms) +2026-09-27T05:32:22.3843754Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:32:22.4651874Z ✔ Runtime-owned handoff commit preserves canonical logical outcome (669.914435ms) +2026-09-27T05:32:22.4669673Z ✔ Runtime-owned handoff cancel preserves canonical logical outcome (307.747727ms) +2026-09-27T05:32:22.4774698Z ✔ Runtime-owned handoff stop preserves canonical logical outcome (248.764896ms) +2026-09-27T05:32:22.4776374Z ✔ Runtime-owned handoff write_failure preserves canonical logical outcome (267.933917ms) +2026-09-27T05:32:22.4827703Z ✔ Runtime-owned handoff missing_source_snapshot preserves canonical logical outcome (350.986336ms) +2026-09-27T05:32:22.4886003Z ✔ Runtime-owned handoff missing_persisted_source_snapshot preserves canonical logical outcome (259.51881ms) +2026-09-27T05:32:22.4945068Z ✔ Runtime-owned handoff missing_capability preserves canonical logical outcome (528.280349ms) +2026-09-27T05:32:22.5000099Z ✔ Runtime-owned handoff uncommitted_preparation preserves canonical logical outcome (448.789206ms) +2026-09-27T05:32:22.5003417Z ✔ Runtime-owned handoff prompt_drift preserves canonical logical outcome (493.795795ms) +2026-09-27T05:32:22.5048581Z ✔ Runtime-owned handoff tool_drift preserves canonical logical outcome (422.746517ms) +2026-09-27T05:32:22.5106098Z ✔ Runtime-owned handoff availability_drift preserves canonical logical outcome (437.862813ms) +2026-09-27T05:32:22.5180160Z ✔ Runtime-owned handoff provider_options_drift preserves canonical logical outcome (499.892086ms) +2026-09-27T05:32:22.5215381Z ✔ shows a previously-loaded source instantly with no spinner, then refreshes in place (215.389552ms) +2026-09-27T05:32:22.6856845Z ✔ does not let a stale background refresh overwrite a newer source selection (194.328961ms) +2026-09-27T05:32:22.8067638Z ✔ drops an in-flight import poll after switching source, with no stuck spinner (119.340849ms) +2026-09-27T05:32:22.8826104Z ✔ Runtime-owned handoff context_window_drift preserves canonical logical outcome (417.942272ms) +2026-09-27T05:32:23.0007788Z ✔ clears the reading spinner when a pending search returns to a cached term (168.688127ms) +2026-09-27T05:32:23.2546249Z ✔ clears a pending Load More lock when switching back to a cached source (259.348435ms) +2026-09-27T05:32:23.4040055Z ✔ Runtime-owned handoff revision_only preserves canonical logical outcome (521.233225ms) +2026-09-27T05:32:23.4676539Z ✔ keeps every loaded page when a revisited multi-page source refreshes (229.87853ms) +2026-09-27T05:32:23.6173383Z ✔ does not start a second catalog read when revisiting a still-importing source (152.643096ms) +2026-09-27T05:32:23.6223305Z ✔ ImportTasksSettingsPage source switching (1502.829728ms) +2026-09-27T05:32:23.7398774Z ▶ ImportTasksSettingsPage batch import +2026-09-27T05:32:23.7436164Z ✔ the master box marks and unmarks exactly the rows on screen (128.555947ms) +2026-09-27T05:32:23.8326300Z ✔ the master box reads indeterminate for a partial selection (83.78744ms) +2026-09-27T05:32:23.9306577Z ✔ Runtime-owned handoff inherited_denial preserves canonical logical outcome (528.594852ms) +2026-09-27T05:32:23.9458104Z ✔ select all and batch submission exclude a source the Host is already importing (113.691466ms) +2026-09-27T05:32:24.0868610Z ✔ does not carry a selected source id into another adapter (141.901294ms) +2026-09-27T05:32:24.2749535Z ✔ does not let a completed batch refresh overwrite a newer source selection (187.13027ms) +2026-09-27T05:32:24.4142860Z ✔ Runtime-owned handoff denial_lookup_failure preserves canonical logical outcome (484.229581ms) +2026-09-27T05:32:24.4257502Z ✔ imports the marked rows one at a time and counts each outcome once (141.512815ms) +2026-09-27T05:32:24.4876532Z ✔ the invocation index returns the same inventory as a rebuild from events alone (678.997704ms) +2026-09-27T05:32:24.4966223Z ▶ RuntimeKernel Interaction close cleanup +2026-09-27T05:32:24.4996508Z ✔ reserve followed by begin failure settles a concurrent stop claim (67.825466ms) +2026-09-27T05:32:24.5045945Z ✔ stop during owner bind waits for exact close and reports its failure once (21.02369ms) +2026-09-27T05:32:24.5086086Z ✔ explicit stop starts backend cleanup before deferred close settles and reports both failures (18.538439ms) +2026-09-27T05:32:24.5145640Z ✔ abandoned consumer starts backend cleanup before deferred close settles (3.459676ms) +2026-09-27T05:32:24.5175885Z ✔ multiple owner cleanup failures retain one fail-stop marker (38.836438ms) +2026-09-27T05:32:24.5235608Z ✔ explicit stop and iterator cleanup share one pending backend stop attempt (9.893036ms) +2026-09-27T05:32:24.5263778Z ✔ public stop rejection with a blocked send actively disposes the backend (16.540871ms) +2026-09-27T05:32:24.5339958Z ✔ the session run epoch bumps on every turn start and end (8.003904ms) +2026-09-27T05:32:24.5357804Z ✔ a generation stopped after Run reservation cannot send on the stale backend (8.347543ms) +2026-09-27T05:32:24.5415625Z ✔ a failed stop operation is not reused by the next backend Run generation (11.19224ms) +2026-09-27T05:32:24.5475653Z ✔ disposal failure permanently quarantines the Session from backend activation (7.087998ms) +2026-09-27T05:32:24.5501370Z ✔ RuntimeKernel Interaction close cleanup (215.810212ms) +2026-09-27T05:32:24.5540662Z ✔ a Host that does not answer is not counted as a failure (104.120162ms) +2026-09-27T05:32:24.6296267Z ✔ repairs imported transcript turns into provider-neutral canonical history (529.876925ms) +2026-09-27T05:32:24.6356054Z ✔ an imported snapshot cutoff survives materialization as aborted (208.763085ms) +2026-09-27T05:32:24.6380449Z ✔ does not import Host-handed-off transcript messages as synthetic runs (255.97102ms) +2026-09-27T05:32:24.6445796Z ✔ an imported turn that opens on an assistant reply still materializes (316.008227ms) +2026-09-27T05:32:24.6447123Z ✔ an imported turn with no terminal state is repaired to failed (204.009626ms) +2026-09-27T05:32:24.6482071Z ✔ converts Maka's own legacy transcript whole, and resumes an interrupted conversion (365.462005ms) +2026-09-27T05:32:24.6505720Z ✔ converts an imported turn ahead of a run the Session already sent (358.525354ms) +2026-09-27T05:32:24.6565853Z ✔ startup recovery leaves an interrupted legacy conversion for the importer to finish (319.35347ms) +2026-09-27T05:32:24.6595856Z ✔ a resolved Claude transcript replays as the conversation the user kept (317.506916ms) +2026-09-27T05:32:24.6619281Z ✔ resumes a conversion a released build opened under a random event id (373.149684ms) +2026-09-27T05:32:24.7320436Z ✔ allows a source to be submitted again after an unknown outcome (206.58911ms) +2026-09-27T05:32:24.9676890Z ✔ finishes a released conversion that had already converted messages (328.760382ms) +2026-09-27T05:32:24.9698354Z ✔ keeps source limit details in the batch summary after the catalog refresh (218.470037ms) +2026-09-27T05:32:25.1599871Z ✔ counts code-classified batch failures as failed, not unconfirmed, and raises the model banner (219.266741ms) +2026-09-27T05:32:25.3000480Z ✔ spins only the conversion in flight, not every queued row (140.77302ms) +2026-09-27T05:32:25.3129849Z ✔ explicitly resumes a ready interrupted Turn through ACP and the real Host (4183.826511ms) +2026-09-27T05:32:25.3650213Z ✔ the batch button stays out of reach until something is marked (62.775582ms) +2026-09-27T05:32:25.3705853Z ✔ ImportTasksSettingsPage batch import (1753.382657ms) +2026-09-27T05:32:25.3821236Z ▶ ImportTasksSettingsPage bundle source +2026-09-27T05:32:25.3876771Z ✔ does not offer the bundle source where the feature is not mounted (17.989488ms) +2026-09-27T05:32:25.4348718Z ✔ offers it where the feature is mounted (42.37755ms) +2026-09-27T05:32:25.4417490Z ✔ says so when neither an agent nor the bundle source is available (20.541845ms) +2026-09-27T05:32:25.4500885Z ✔ ImportTasksSettingsPage bundle source (81.375388ms) +2026-09-27T05:32:25.5329601Z ✔ completed OpenCode text followed by reasoning stays outside the process disclosure (124.302954ms) +2026-09-27T05:32:25.5383698Z ▶ ink ladder +2026-09-27T05:32:25.5484693Z ✔ keeps the retired ink names out of product source (743.726198ms) +2026-09-27T05:32:25.5546737Z ✔ derives every ink tier in one colour space (7.566386ms) +2026-09-27T05:32:25.5586329Z ✔ ink ladder (752.915804ms) +2026-09-27T05:32:25.5595026Z ▶ mode expression +2026-09-27T05:32:25.5677325Z ✔ keeps every token the Astryx theme aliases out of the .dark selector (13.925608ms) +2026-09-27T05:32:25.5688965Z ✔ collapses the ink tiers on an inverted surface (8.021209ms) +2026-09-27T05:32:25.5700109Z ✔ never reads a palette token as a colour (500.247661ms) +2026-09-27T05:32:25.5702749Z ✔ allows the explicit layout reads without admitting palette or unknown properties (0.596156ms) +2026-09-27T05:32:25.5715026Z ✔ mode expression (523.915062ms) +2026-09-27T05:32:25.5715801Z ▶ latest interrupted resume candidate +2026-09-27T05:32:25.5785476Z ✔ recognizes a timeout after a completed tool result (1.014249ms) +2026-09-27T05:32:25.5793961Z ✔ does not offer continuation for an incomplete or errored tool (0.2282ms) +2026-09-27T05:32:25.5826607Z ✔ rejects the mixed shape produced by materializeTurns (5.093605ms) +2026-09-27T05:32:25.5863909Z ✔ latest interrupted resume candidate (11.906445ms) +2026-09-27T05:32:25.5865432Z ▶ keep-system-awake controller +2026-09-27T05:32:25.5866794Z ✔ does NOT force the display on (never uses prevent-display-sleep) (3.911184ms) +2026-09-27T05:32:25.5877801Z ✔ guards double-start: re-applying enabled does not leak a second blocker (0.30541ms) +2026-09-27T05:32:25.5879729Z ✔ re-enabling after a stop starts a fresh blocker (0.217254ms) +2026-09-27T05:32:25.5890877Z ✔ re-acquires a blocker when the previous id was released underneath it (1.538649ms) +2026-09-27T05:32:25.5892559Z ✔ a named hold keeps the blocker alive after the setting is turned off (0.291324ms) +2026-09-27T05:32:25.5903863Z ✔ the setting survives a hold being released (4.399688ms) +2026-09-27T05:32:25.5906122Z ✔ holding twice for the same reason is one hold (0.245442ms) +2026-09-27T05:32:25.5915179Z ✔ two holds need two releases (0.192939ms) +2026-09-27T05:32:25.5916911Z ✔ keep-system-awake controller (18.935632ms) +2026-09-27T05:32:25.5926795Z ✔ reads the newest anchor on the active route (1.320954ms) +2026-09-27T05:32:25.5929124Z ✔ scans past an anchorless usage row, which is what manual compaction writes (0.303533ms) +2026-09-27T05:32:25.5939762Z ✔ refuses an anchor from another model (0.242047ms) +2026-09-27T05:32:25.5941367Z ✔ refuses an anchor from another connection (0.199667ms) +2026-09-27T05:32:25.5952443Z ✔ refuses an anchor written before anchors carried their route (0.217381ms) +2026-09-27T05:32:25.5954897Z ✔ refuses when there is no active route yet (0.185074ms) +2026-09-27T05:32:25.5964973Z ✔ refuses a non-positive input count (0.143881ms) +2026-09-27T05:32:25.5966922Z ✔ catalog hydration does not replace an already-bound Session observation (1.348909ms) +2026-09-27T05:32:25.5979950Z ✔ a real Session observation authority handoff advances the revision (0.252595ms) +2026-09-27T05:32:25.6016857Z ✔ withholds live content until the current observation generation is ready (0.265648ms) +2026-09-27T05:32:25.6056241Z ✔ A → B → A does not reuse the previous ready generation (2.29674ms) +2026-09-27T05:32:25.6095305Z ✔ a recovery generation only exposes live content after that generation completes (1.847859ms) +2026-09-27T05:32:26.8132671Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:32:28.9853769Z ▶ liveContextUsageFromDiagnostics +2026-09-27T05:32:28.9908091Z ✔ maps a matching snapshot onto the gauge, window included (16.740208ms) +2026-09-27T05:32:28.9972949Z ✔ refuses a snapshot from another model or provider (0.281838ms) +2026-09-27T05:32:29.0025701Z ✔ refuses when the composer has no settled route (0.180685ms) +2026-09-27T05:32:29.0093589Z ✔ refuses unavailable or unmetered snapshots (0.211448ms) +2026-09-27T05:32:29.0134929Z ✔ stands alone without a window (0.192563ms) +2026-09-27T05:32:29.0193350Z ✔ liveContextUsageFromDiagnostics (19.231745ms) +2026-09-27T05:32:29.0215393Z ▶ createLiveContextUsageTracker +2026-09-27T05:32:29.0251831Z ✔ reads immediately when aimed at a session (8.352496ms) +2026-09-27T05:32:29.0299769Z ✔ reports nothing when there is no target (0.292827ms) +2026-09-27T05:32:29.0383605Z ✔ re-reads on ledger-changing events after the debounce, coalescing bursts (5.065132ms) +2026-09-27T05:32:29.0445899Z ✔ ignores streaming deltas (0.25256ms) +2026-09-27T05:32:29.0485466Z ✔ discards a read that answers an older question (0.307445ms) +2026-09-27T05:32:29.0515422Z ✔ discards an in-flight read invalidated by a newer event (0.25908ms) +2026-09-27T05:32:29.0585521Z ✔ keeps the last value when a read fails (0.228601ms) +2026-09-27T05:32:29.0619519Z ✔ clears the previous target’s reading before the first read on a new one (0.320318ms) +2026-09-27T05:32:29.0671159Z ✔ keeps the standing value when re-aimed at the same target (0.378871ms) +2026-09-27T05:32:29.0756310Z ✔ clears immediately and drops in-flight reads when the target goes away (0.249064ms) +2026-09-27T05:32:29.0808626Z ✔ drops a read in flight for a session the user has left (0.355804ms) +2026-09-27T05:32:29.0885789Z ✔ re-evaluates the same session when the route changes (0.219723ms) +2026-09-27T05:32:29.0915623Z ✔ cancels a scheduled refresh and drops in-flight reads on dispose (0.184931ms) +2026-09-27T05:32:29.0965696Z ✔ createLiveContextUsageTracker (21.300574ms) +2026-09-27T05:32:29.1230281Z ✔ retains an extended bounded tail of main-process logs (62.006825ms) +2026-09-27T05:32:29.1277599Z ✔ formats one redacted Desktop and Runtime Host diagnostic report (4.613226ms) +2026-09-27T05:32:29.1295908Z ✔ names the update channel, which buildMode alone cannot distinguish (2.316158ms) +2026-09-27T05:32:29.1395713Z ✔ bounds renderer diagnostic text and rejects unknown fields (30.489865ms) +2026-09-27T05:32:29.1481318Z ✔ accepts only a Runtime Host target and renderer context for capture (3.048752ms) +2026-09-27T05:32:29.1498952Z ✔ formats a manual capture without inventing an error (3.658934ms) +2026-09-27T05:32:29.1633899Z ✔ copies Desktop diagnostics while Runtime Host is unavailable (3.305513ms) +2026-09-27T05:32:29.1710312Z ✔ acknowledges one previous-run notice while keeping its diagnostics copyable (0.787849ms) +2026-09-27T05:32:29.1757320Z ✔ copies Desktop diagnostics while the scoped Host is reconnecting (3.288061ms) +2026-09-27T05:32:29.1815950Z ✔ keeps renderer-only error diagnostics Desktop-only (7.013193ms) +2026-09-27T05:32:29.1885760Z ✔ copies task error diagnostics without Host evidence when its scope is unavailable (0.86728ms) +2026-09-27T05:32:29.1908202Z ✔ copies bounded evidence for the exact failed Turn (4.14491ms) +2026-09-27T05:32:29.1934328Z ✔ keeps every diagnostic read bound to the scoped Host during a switch (4.251426ms) +2026-09-27T05:32:29.1945575Z ✔ copies manual Desktop diagnostics without an active Runtime Host (1.20678ms) +2026-09-27T05:32:29.1946640Z ✔ copies diagnostics from the Runtime Host that owns the current task (0.715117ms) +2026-09-27T05:32:29.1947780Z ✔ keeps targeted manual capture Desktop-only when the task Host is unavailable (4.144365ms) +2026-09-27T05:32:29.1948906Z ✔ rejects a default diagnostic request that carries a task Host scope (0.399404ms) +2026-09-27T05:32:29.1949845Z ✔ rejects Desktop-only diagnostics that carry a Host scope (0.589661ms) +2026-09-27T05:32:29.1950803Z ✔ rejects the copy request when the main-process clipboard write fails (0.472727ms) +2026-09-27T05:32:29.1951674Z ✔ copies startup diagnostics without requiring a renderer (0.512699ms) +2026-09-27T05:32:29.1952558Z ✔ recovers one bounded redacted snapshot after an unclean exit (84.881023ms) +2026-09-27T05:32:29.1953653Z ✔ debounces the first snapshot and rate-limits a continuing log stream (26.881017ms) +2026-09-27T05:32:29.1954920Z ✔ flushes an uncaught JavaScript failure without intercepting process exit (12.27546ms) +2026-09-27T05:32:29.1975239Z ✔ persists only the bounded newest log tail (114.067738ms) +2026-09-27T05:32:29.1976244Z ✔ retains a newly discovered interruption and expires pending evidence after seven days (10.833456ms) +2026-09-27T05:32:29.1977311Z ✔ ignores corrupt pending records without amplifying invalid log arrays (14.06862ms) +2026-09-27T05:32:29.1978214Z ✔ refuses to read a symlinked recovery record (4.974024ms) +2026-09-27T05:32:29.1978937Z [main] failed to clear dev renderer HTTP cache: Error: cache locked +2026-09-27T05:32:29.1980071Z at Object.clearCache (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/main-renderer-dev-cache.test.js:39:40) +2026-09-27T05:32:29.1981640Z at clearDevRendererHttpCache (file:///home/runner/work/maka/maka/apps/desktop/dist/main/main-renderer-dev-cache.js:30:23) +2026-09-27T05:32:29.2155868Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/main-renderer-dev-cache.test.js:41:32) +2026-09-27T05:32:29.2235545Z at Test.runInAsyncScope (node:async_hooks:227:14) +2026-09-27T05:32:29.2302531Z at Test.run (node:internal/test_runner/test:1402:25) +2026-09-27T05:32:29.2372324Z at Suite.processPendingSubtests (node:internal/test_runner/test:974:18) +2026-09-27T05:32:29.2421856Z at Test.postRun (node:internal/test_runner/test:1542:19) +2026-09-27T05:32:29.2475713Z at Test.run (node:internal/test_runner/test:1467:12) +2026-09-27T05:32:29.2505440Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:32:29.2586279Z ▶ dev renderer HTTP cache hygiene (issue #4775) +2026-09-27T05:32:29.2605786Z ✔ clears the session HTTP cache before loading a Vite dev server (3.640297ms) +2026-09-27T05:32:29.2645612Z ✔ leaves the cache alone for packaged file:// builds (0.260326ms) +2026-09-27T05:32:29.2675594Z ✔ downgrades a clearCache failure to a warning instead of blocking load (7.816658ms) +2026-09-27T05:32:29.2732704Z ✔ dev renderer HTTP cache hygiene (issue #4775) (19.85248ms) +2026-09-27T05:32:29.2734064Z ✔ observes one unexpected main Renderer exit while the app is running (4.746752ms) +2026-09-27T05:32:29.2754634Z ✔ ignores clean exits and app shutdown (0.389473ms) +2026-09-27T05:32:29.2771031Z ✔ accepts first-paint readiness only from the frame committed by this reload (2.666547ms) +2026-09-27T05:32:29.2842794Z ✔ keeps recovery active when a Renderer reload fails, exits, or stops responding (4.001053ms) +2026-09-27T05:32:29.2862266Z ✔ bounds a Renderer reload that emits no terminal event (10.017192ms) +2026-09-27T05:32:29.2962997Z ✔ retains process lifetime before a standalone startup dialog can close (4.231246ms) +2026-09-27T05:32:29.2997690Z ✔ registers one shared quit cleanup before the initial Host handoff (0.503028ms) +2026-09-27T05:32:29.3040018Z ✔ mounts the handoff overlay inside the locale providers (0.228101ms) +2026-09-27T05:32:29.3065797Z ✔ creates the main window before starting Local Host reconciliation (0.278905ms) +2026-09-27T05:32:29.3093891Z ✔ does not release renderer IPC before persistent handlers are registered (0.355276ms) +2026-09-27T05:32:29.3125605Z ✔ resolves persisted locale before first post-settings recovery prompt (0.278719ms) +2026-09-27T05:32:29.3155673Z ✔ lets the Runtime Host migrate its State Root before Desktop opens shared tables (0.642265ms) +2026-09-27T05:32:29.3157071Z ✔ routes the first-paint IPC only to the active Renderer recovery listener (0.433924ms) +2026-09-27T05:32:29.3186353Z ✔ retires the launch overlay only when a surface marks ready content (4.358325ms) +2026-09-27T05:32:29.3215624Z ✔ dragover: session payload reaches a project target through the window guard (6.924261ms) +2026-09-27T05:32:29.3275647Z ✔ dragover: files and foreign text remain blocked on project targets (3.386774ms) +2026-09-27T05:32:29.3277001Z ✔ dragover: session drops outside a move target remain blocked (1.80836ms) +2026-09-27T05:32:29.3304271Z ✔ dragover: attachment and queue drop routes remain available (3.028922ms) +2026-09-27T05:32:29.3335640Z ✔ drop: session payload reaches a project target through the window guard (4.074387ms) +2026-09-27T05:32:29.3348832Z ✔ drop: files and foreign text remain blocked on project targets (2.30855ms) +2026-09-27T05:32:29.3387065Z ✔ drop: session drops outside a move target remain blocked (4.91387ms) +2026-09-27T05:32:29.3425741Z ✔ drop: attachment and queue drop routes remain available (5.105066ms) +2026-09-27T05:32:29.3468426Z ▶ main window Chromium permission policy +2026-09-27T05:32:29.3551269Z ✔ allows top-level clipboard writes from the product renderer (1.083508ms) +2026-09-27T05:32:29.3595774Z ✔ denies media, subframes, auxiliary windows, and unrelated permissions (1.658429ms) +2026-09-27T05:32:29.3685819Z ✔ keeps clipboard writes gated to the trusted top-level renderer frame (0.288784ms) +2026-09-27T05:32:29.3686975Z ✔ trusts the dev origin and exact packaged entry without trusting arbitrary files (0.343654ms) +2026-09-27T05:32:29.3780983Z ✔ installs both Electron handlers on the renderer session (0.800838ms) +2026-09-27T05:32:29.3813118Z ✔ main window Chromium permission policy (7.995439ms) +2026-09-27T05:32:29.3835451Z ▶ Maka URI safety boundary +2026-09-27T05:32:29.3859937Z ✔ parses only supported settings and compose destinations (6.401921ms) +2026-09-27T05:32:29.3888831Z ✔ rejects malformed, case-variant, and oversized internal URIs (0.306783ms) +2026-09-27T05:32:29.3911313Z ✔ rejects widened settings, compose, and action namespaces (2.803651ms) +2026-09-27T05:32:29.3920879Z ✔ flags case-variant internal candidates without allowing navigation (0.345944ms) +2026-09-27T05:32:29.3921806Z ✔ allows only explicit external schemes (1.498596ms) +2026-09-27T05:32:29.3922508Z ✔ Maka URI safety boundary (17.029964ms) +2026-09-27T05:32:29.3923526Z ✔ serves exact registered bytes over loopback without claiming a browser load (134.027055ms) +2026-09-27T05:32:29.3924890Z ✔ isolates leases by origin and rejects credentials for another preview (68.445589ms) +2026-09-27T05:32:29.3926007Z ✔ expires and closes its listener without deleting the durable Artifact (85.24522ms) +2026-09-27T05:32:29.3927083Z ✔ rejects missing, non-HTML, oversized, inconsistent and malformed artifacts (21.31876ms) +2026-09-27T05:32:29.3928219Z ✔ close and cancellation during a stream cannot publish a live endpoint (9.549606ms) +2026-09-27T05:32:29.3929283Z ✔ bounds concurrent preparations before allocating buffers or ports (105.259761ms) +2026-09-27T05:32:29.3930406Z ✔ tool binds to the admitted session and returns endpoint evidence only (19.255418ms) +2026-09-27T05:32:29.3931235Z ▶ managed skill sources +2026-09-27T05:32:29.3932137Z ✔ resolves the global source cache under .maka without making it a runtime path (1.14176ms) +2026-09-27T05:32:29.3933220Z ✔ imports a local SKILL.md into a managed source cache (67.336141ms) +2026-09-27T05:32:29.3968610Z ✔ lists managed sources from the real SKILL.md instead of stale registry metadata (12.145949ms) +2026-09-27T05:32:29.3975433Z ✔ keeps readable managed sources when one source fails to read (4.031465ms) +2026-09-27T05:32:29.4032219Z ✔ rejects symlinked managed source cache roots before writing (3.806962ms) +2026-09-27T05:32:29.4080759Z ✔ rejects invalid or duplicate managed sources (9.495788ms) +2026-09-27T05:32:29.4107387Z ✔ managed skill sources (108.165342ms) +2026-09-27T05:32:29.8562147Z ▶ MCP command line parsing +2026-09-27T05:32:29.8585251Z ✔ splits on whitespace without shell interpretation (2.096181ms) +2026-09-27T05:32:29.8586665Z ✔ groups quoted spans, including mid-token quotes (0.321499ms) +2026-09-27T05:32:29.8587496Z ✔ reports unbalanced quotes instead of guessing (0.201865ms) +2026-09-27T05:32:29.8623062Z ✔ round-trips config command and args through format and parse (0.522478ms) +2026-09-27T05:32:29.8735960Z ✔ MCP command line parsing (4.793454ms) +2026-09-27T05:32:30.5180406Z ✔ converts a legacy transcript larger than one page without reading it whole (5561.041828ms) +2026-09-27T05:32:30.7107283Z ▶ MCP editor validation +2026-09-27T05:32:30.7190937Z ✔ requires an issuer for a pre-registered OAuth client (2.032457ms) +2026-09-27T05:32:30.7239557Z ✔ requires a server id and the selected transport endpoint (0.34992ms) +2026-09-27T05:32:30.7395913Z ✔ accepts a full command line and rejects unbalanced quotes (0.428132ms) +2026-09-27T05:32:30.7422478Z ✔ accepts only HTTP(S) URLs for remote servers (0.413643ms) +2026-09-27T05:32:30.7545780Z ✔ MCP editor validation (5.015025ms) +2026-09-27T05:32:31.8196701Z ✔ keeps an interrupted Turn parked until the required MCP contract is restored (6514.929455ms) +2026-09-27T05:32:31.8224936Z ✔ Maka ACP child process (83462.520626ms) +2026-09-27T05:32:31.9661021Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:32:31.9697289Z ▶ ACP Goal/Plan real Host routes +2026-09-27T05:32:31.9713362Z ✔ cancel stops the exact Plan Turn and close/EOF release its attachment (9665.872706ms) +2026-09-27T05:32:31.9753783Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:32:31.9770336Z ✔ load reuses an active Plan observer across retries, cancellation and close (7953.000238ms) +2026-09-27T05:32:31.9833877Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:32:31.9870657Z ✔ resume reuses an active Plan observer across retries, cancellation and close (8083.902883ms) +2026-09-27T05:32:31.9913251Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:32:31.9929785Z ✔ Plan paging preserves storeVersion and returns revision_changed after an external write (24757.21814ms) +2026-09-27T05:32:31.9938720Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:32:31.9975338Z ✔ Goal arm is passive and a prompt enables observable Host continuation (6023.524169ms) +2026-09-27T05:32:32.0011402Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:32:32.0018379Z ✔ submits and executes a Plan through the model, ACP, and real Host (12707.595515ms) +2026-09-27T05:32:32.0028832Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:32:32.0063719Z ✔ owns, arms, queries and controls a Goal while observing domain state (3721.290536ms) +2026-09-27T05:32:32.0069800Z ✔ ACP Goal/Plan real Host routes (72914.847111ms) +2026-09-27T05:32:32.0096288Z ✔ dispatched Goal arm keeps its observation and never infers success from equal content (9.154439ms) +2026-09-27T05:32:32.0104536Z ✔ Plan start preserves the caller turnId on a lost result and queries admission once (2.34822ms) +2026-09-27T05:32:32.0106888Z ✔ definite Plan control conflict rolls back without changing operation identity (0.609638ms) +2026-09-27T05:32:32.0136142Z ▶ ACP prompt content +2026-09-27T05:32:32.0140342Z ✔ rejects a FIFO without blocking the process (756.652963ms) +2026-09-27T05:32:32.0142488Z ✔ joins ordered text blocks with paragraph separators (6.393053ms) +2026-09-27T05:32:32.0166882Z ✔ maps an ordinary local resource link to an external-file attachment (32.978702ms) +2026-09-27T05:32:32.0174200Z ✔ keeps a resource-only prompt model-visible while its display text is empty (10.658896ms) +2026-09-27T05:32:32.0177459Z ✔ rejects unadvertised content kinds and non-local or non-file resources (4.931314ms) +2026-09-27T05:32:32.0205867Z ✔ enforces the shared attachment count and size limits before admission (7.964966ms) +2026-09-27T05:32:32.0209806Z ✔ publishes bounded chunks and uses canonical Host attachment metadata in input order (14.100359ms) +2026-09-27T05:32:32.0211920Z ✔ aborts an open Artifact upload when a chunk is cancelled (8.365059ms) +2026-09-27T05:32:32.0235911Z ✔ aborts an open Artifact upload when a chunk is failed (3.520351ms) +2026-09-27T05:32:32.0244137Z ✔ rechecks the file size before opening an Artifact upload (6.216718ms) +2026-09-27T05:32:32.0245842Z ✔ ACP prompt content (855.351119ms) +2026-09-27T05:32:32.0275656Z ✔ projects the ordered ACP configuration options (17.381267ms) +2026-09-27T05:32:32.0277269Z ✔ projects canonical values and keeps reserved explore as a current value only (0.569739ms) +2026-09-27T05:32:32.0279147Z ✔ projects only the current model thinking levels and omits the switch when empty (0.341449ms) +2026-09-27T05:32:32.0312111Z ✔ validates requests and creates exact one-field patches (0.536328ms) +2026-09-27T05:32:32.0313596Z ✔ rejects unsupported config ids, boolean values, and unsupported strings (5.580977ms) +2026-09-27T05:32:32.0315408Z ✔ latest null Goal survives an in-flight notification (pending clear: false) (20.686144ms) +2026-09-27T05:32:32.0346249Z ✔ latest null Goal survives an in-flight notification (pending clear: true) (6.760307ms) +2026-09-27T05:32:32.0348873Z ✔ Goal delivery coalesces newer revisions and deduplicates only after delivery (1.158905ms) +2026-09-27T05:32:32.0374661Z ✔ duplicate Goal changes during delivery do not schedule a duplicate notification (6.132385ms) +2026-09-27T05:32:32.0381866Z ✔ a late Goal delivery cannot suppress the same snapshot in a new canonical epoch (1.088997ms) +2026-09-27T05:32:32.0383832Z ✔ dispose fences a pending Goal after delivery success (7.475586ms) +2026-09-27T05:32:32.0412127Z ✔ dispose fences a pending Goal after delivery failure (1.887813ms) +2026-09-27T05:32:32.0413610Z ✔ failed Goal delivery is logged once and retried only after another domain update (104.973628ms) +2026-09-27T05:32:32.0415978Z ✔ failed Plan delivery is logged once and retried only after another domain update (108.862641ms) +2026-09-27T05:32:32.0417787Z ✔ canonical Plan replacement rereads even when Goal is unchanged and rejects an old page (4.453012ms) +2026-09-27T05:32:32.0445368Z [acp] Plan status refresh failed: Error: temporary read failure +2026-09-27T05:32:32.0449029Z at AcpSessionDomainObservation.queryPlan (file:///home/runner/work/maka/maka/packages/cli/dist/__tests__/acp-session-domain-observation.test.js:271:23) +2026-09-27T05:32:32.0451334Z at #refreshPlan (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-domain-observation.js:110:53) +2026-09-27T05:32:32.0481928Z at #kickPlan (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-domain-observation.js:79:50) +2026-09-27T05:32:32.0491559Z at AcpSessionDomainObservation.planChanged (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-domain-observation.js:75:23) +2026-09-27T05:32:32.0515752Z at TestContext. (file:///home/runner/work/maka/maka/packages/cli/dist/__tests__/acp-session-domain-observation.test.js:279:14) +2026-09-27T05:32:32.0526067Z at Test.runInAsyncScope (node:async_hooks:227:14) +2026-09-27T05:32:32.0527909Z at Test.run (node:internal/test_runner/test:1402:25) +2026-09-27T05:32:32.0545299Z at Test.processPendingSubtests (node:internal/test_runner/test:974:18) +2026-09-27T05:32:32.0555285Z at Test.postRun (node:internal/test_runner/test:1542:19) +2026-09-27T05:32:32.0560200Z at Test.run (node:internal/test_runner/test:1467:12) +2026-09-27T05:32:32.0562154Z ✔ Plan invalidations coalesce during one read and dispose fences late delivery (8.847454ms) +2026-09-27T05:32:32.0563969Z ✔ failed initial Plan refresh retries without inventing a state notification (27.801759ms) +2026-09-27T05:32:32.0594113Z ▶ ACP Session event mapper +2026-09-27T05:32:32.0596321Z ✔ replays attachments with user text "" (9.358273ms) +2026-09-27T05:32:32.0628297Z ✔ replays attachments with user text "Read this report" (0.401509ms) +2026-09-27T05:32:32.0630035Z ✔ replay preserves non-user origin and omits unsupported steering rows (3.36189ms) +2026-09-27T05:32:32.0655576Z ✔ streams text and thinking while deduplicating matching completion events (5.165415ms) +2026-09-27T05:32:32.0665163Z ✔ rejects non-prefix revisions instead of reporting a second message or success (4.13526ms) +2026-09-27T05:32:32.0666862Z ✔ serializes canonical transcript replacement with live notifications (8.273145ms) +2026-09-27T05:32:32.0667790Z ✔ rejects a canonical message that clears already delivered thinking (2.14997ms) +2026-09-27T05:32:32.0668686Z ✔ leaves terminal classification to the Runtime Host Session channel (0.395597ms) +2026-09-27T05:32:32.0669497Z ✔ flush waits for every already accepted notification (42.585364ms) +2026-09-27T05:32:32.0670339Z ✔ prompt cancellation releases stalled notification delivery and flush (11.589724ms) +2026-09-27T05:32:32.0671447Z ✔ replaces cumulative tool content, deduplicates output sequences and preserves stream/redaction (5.096561ms) +2026-09-27T05:32:32.0672621Z ✔ an omitted result preserves live content until authoritative transcript replacement (11.185575ms) +2026-09-27T05:32:32.0673654Z ✔ result before start creates one terminal card and late start only fills identity (0.666529ms) +2026-09-27T05:32:32.0674952Z ✔ progress and preview replace a snapshot containing earlier output without ending a tool (7.226315ms) +2026-09-27T05:32:32.0675918Z ✔ marks missing live output chunks without joining their text (0.519683ms) +2026-09-27T05:32:32.0676755Z ✔ does not label projected stored inputs as complete raw input (11.22686ms) +2026-09-27T05:32:32.0677596Z ✔ uses field-appropriate markers for bounded title and previews (0.661505ms) +2026-09-27T05:32:32.0678605Z ✔ bounds live output, terminal content and raw output, including multibyte truncation (15.275365ms) +2026-09-27T05:32:32.0679727Z ✔ enforces the aggregate live-tool budget with a sticky projection failure (25.97237ms) +2026-09-27T05:32:32.0680737Z ✔ requires the authoritative result promised by an omitted terminal event (4.553605ms) +2026-09-27T05:32:32.0681646Z ✔ a completed turn leaves a resultless started tool interrupted (0.47262ms) +2026-09-27T05:32:32.0682608Z ✔ notification failure remains visible through flush and suppresses later delivery (0.455792ms) +2026-09-27T05:32:32.0683697Z ✔ keeps only bounded terminal identities and rejects the next distinct tool (431.038428ms) +2026-09-27T05:32:32.0685010Z ✔ repeated authoritative results and stale omitted events do not repeat terminal content (0.344619ms) +2026-09-27T05:32:32.0686067Z ✔ a corrected tool result removes an obsolete Artifact reference (0.700471ms) +2026-09-27T05:32:32.0686996Z ✔ an missing archived result does not advertise a readable Artifact (0.276922ms) +2026-09-27T05:32:32.0687914Z ✔ an corrupt archived result does not advertise a readable Artifact (2.899483ms) +2026-09-27T05:32:32.0689012Z ✔ interaction updates preserve Host closure reasons without reopening terminal tools (0.831285ms) +2026-09-27T05:32:32.0689894Z ✔ ACP Session event mapper (618.133029ms) +2026-09-27T05:32:32.0690397Z ▶ ACP Session interactions +2026-09-27T05:32:32.0691142Z ✔ official SDK routes carry typed forms and Session-scoped permission choices (63.658104ms) +2026-09-27T05:32:32.0692281Z ✔ official SDK question schema only advertises answers that fit the Host UTF-8 limit (12.505343ms) +2026-09-27T05:32:32.0693461Z ✔ three schema-valid question answers fit the serialized Host limit after JSON escaping (3.641182ms) +2026-09-27T05:32:32.0766707Z ✔ questions preserve option hints, free text and individual unanswered questions (0.896974ms) +2026-09-27T05:32:32.0768030Z ✔ form schemas preserve all field types and constrain accepted values without coercion (0.992989ms) +2026-09-27T05:32:32.0769053Z ✔ form decline and cancel remain distinct and never submit content or defaults (3.299682ms) +2026-09-27T05:32:32.0769945Z ✔ question decline submits unanswered while cancel stops the Turn (0.855199ms) +2026-09-27T05:32:32.0770994Z ✔ rejects invalid typed forms, unknown fields and oversized Unicode answers before Host mutation (5.31018ms) +2026-09-27T05:32:32.0772085Z ✔ permission options bind opaque identifiers to the exact Session capability target (0.66547ms) +2026-09-27T05:32:32.0773453Z ✔ sandbox permissions display exact expansion and preserve Host conflict outcomes (0.601376ms) +2026-09-27T05:32:32.0774822Z ✔ permission cancellation stops the exact Turn and never becomes a denial (0.347216ms) +2026-09-27T05:32:32.0775863Z ✔ legacy permission choices preserve one-shot and Turn-scoped decisions (3.88946ms) +2026-09-27T05:32:32.0776796Z ✔ unadvertised elicitation fails without synthetic answers (0.39692ms) +2026-09-27T05:32:32.0777802Z ✔ an old permission already closed by Host recovery is observed without a dialog (0.264395ms) +2026-09-27T05:32:32.0778892Z ✔ deduplicates pending replay and publishes one authoritative external answer (0.704026ms) +2026-09-27T05:32:32.0780016Z ✔ late conflicting Host answers re-query canonical closure without failing the Turn (3.094824ms) +2026-09-27T05:32:32.0781058Z ✔ close and Turn cancellation release a client that ignores cancellation and late replies (0.592335ms) +2026-09-27T05:32:32.0782231Z ✔ closing while card delivery is blocked releases local work and sends no client request (0.401216ms) +2026-09-27T05:32:32.0783333Z ✔ Turn cancellation releases reconciliation and notification delivery that have stalled (0.913938ms) +2026-09-27T05:32:32.0784572Z ✔ unknown permission choices and unrecognized elicitation actions fail instead of granting (3.670607ms) +2026-09-27T05:32:32.0785533Z ✔ Host identities and failures cannot silently rebind a pending request (0.566941ms) +2026-09-27T05:32:32.0786280Z ✔ ACP Session interactions (111.024256ms) +2026-09-27T05:32:32.1605454Z ✔ ACP stdio configuration copies cwd, arguments and explicit environment into the existing MCP model (4.684709ms) +2026-09-27T05:32:32.1626601Z ✔ Session MCP reconfiguration reuses equivalent processes and applies replacement and empty scope (2934.373522ms) +2026-09-27T05:32:32.1653987Z ✔ reconfiguring one Session keeps another Session MCP provider callable (3450.348194ms) +2026-09-27T05:32:32.1692519Z ✔ failed Session MCP replacement restores the previous published configuration (1447.817615ms) +2026-09-27T05:32:32.1694855Z ✔ an active Turn conflict leaves the existing MCP process and publication intact (1473.883682ms) +2026-09-27T05:32:32.1726877Z ✔ a Turn admitted after the idle query cannot lose its previous MCP provider (2852.638575ms) +2026-09-27T05:32:32.1752166Z ✔ close during a staged replacement closes both MCP processes (2716.58404ms) +2026-09-27T05:32:32.1776788Z ✔ authoritative retirement during a staged replacement closes both MCP processes (2688.67031ms) +2026-09-27T05:32:32.1778275Z ✔ a cancelled replacement retains a committed provider when another Turn becomes active (2774.325252ms) +2026-09-27T05:32:32.1779760Z ✔ an unknown replacement outcome keeps both processes until reconnect confirms the new provider (3001.671757ms) +2026-09-27T05:32:32.1781010Z ✔ Session MCP readiness waits for an in-flight replacement publication (1348.436295ms) +2026-09-27T05:32:32.1782245Z ✔ invalid ACP stdio configurations fail as invalid params before resource preparation (1.395154ms) +2026-09-27T05:32:32.1783675Z ✔ Session preparation waits for scoped publication and reconnect reuses its MCP processes (963.154724ms) +2026-09-27T05:32:32.1785264Z ✔ authoritative retirement of the current Session registration closes its MCP process (1055.486857ms) +2026-09-27T05:32:32.1786529Z ✔ authoritative retirement makes an in-flight local close succeed (1455.466023ms) +2026-09-27T05:32:32.1787823Z ✔ one failed MCP discovery closes every prepared server without publishing a partial group (1853.290218ms) +2026-09-27T05:32:32.1789100Z ✔ a crashed MCP server withdraws its tools without blocking later prompts (1750.684339ms) +2026-09-27T05:32:32.1790298Z ✔ a Session remains ready when its only MCP server crashes and all tools withdraw (1233.327471ms) +2026-09-27T05:32:32.1791593Z ✔ a server crash while disconnected publishes an empty scope before Host prompt admission (1580.710601ms) +2026-09-27T05:32:32.1792918Z ✔ abort during MCP startup closes the child before preparation completes (815.315368ms) +2026-09-27T05:32:32.1794697Z ✔ failed Host publication fails preparation and releases discovered MCP processes (1220.654397ms) +2026-09-27T05:32:32.6586747Z ✔ keeps interleaved turns through their final state across a page boundary (2133.678316ms) +2026-09-27T05:32:32.7237672Z ✔ Desktop modern MCP accept travels through the canonical Host form and back to the server (2044.027387ms) +2026-09-27T05:32:33.2436314Z ✔ Desktop modern MCP decline travels through the canonical Host form and back to the server (523.770377ms) +2026-09-27T05:32:33.3939173Z ✔ ready aborts locally while a reconnect publication is pending and close awaits withdrawal (1232.378701ms) +2026-09-27T05:32:33.8296515Z ✔ Desktop modern MCP cancel travels through the canonical Host form and back to the server (589.131083ms) +2026-09-27T05:32:34.3026538Z ✔ Desktop handles a second MCP question as a new canonical Host form (471.508683ms) +2026-09-27T05:32:34.4136707Z ✔ a dispatched create with unknown outcome retains its published MCP scope until the returned Session is closed (1017.655975ms) +2026-09-27T05:32:34.5601370Z ✔ Desktop stop closes a pending modern MCP Host form without a user answer or retry (257.678135ms) +2026-09-27T05:32:34.8953623Z ✔ Desktop disconnect closes a pending modern MCP Host form without a user answer or retry (331.614049ms) +2026-09-27T05:32:35.2155543Z ✔ Desktop provider loss closes a pending modern MCP Host form without a user answer or retry (321.987277ms) +2026-09-27T05:32:35.2449318Z ✔ a known Host create failure withdraws the already prepared scope and leaves no Session ownership (832.253984ms) +2026-09-27T05:32:35.2666601Z ✔ MCP remove reconciles a live manager after the real store publishes then fails directory sync (775.686943ms) +2026-09-27T05:32:35.2696629Z ✔ MCP update reconciles the reread authority including an intervening writer without replaying its mutation (51.571625ms) +2026-09-27T05:32:35.2754029Z ✔ MCP published write explicitly reports out-of-sync when reconciliation read fails (21.813281ms) +2026-09-27T05:32:35.2767508Z ✔ MCP published write explicitly reports out-of-sync when reconciliation sync fails (20.613673ms) +2026-09-27T05:32:35.2834654Z ✔ MCP published write explicitly reports out-of-sync when reconciliation emit fails (13.491674ms) +2026-09-27T05:32:35.2883535Z ✔ MCP pre-publication failure does not reconcile or retry the failed mutation (7.62311ms) +2026-09-27T05:32:35.2955807Z ✔ MCP IPC commits config before publishing capabilities and emitting status (13.218572ms) +2026-09-27T05:32:35.3023334Z ✔ MCP remove aborts before touching the config when credential deletion fails (1.369571ms) +2026-09-27T05:32:35.3057274Z ✔ MCP IPC redacts clientSecret toward the renderer and restores the sentinel from disk (5.903363ms) +2026-09-27T05:32:35.3095520Z ✔ an active login on a secret-bearing server does not veto edits to another server (1.185687ms) +2026-09-27T05:32:35.3185831Z ✔ a URL change retires the old endpoint credentials before the write, and an erase failure aborts it (13.90954ms) +2026-09-27T05:32:35.3187679Z ✔ a login claim travels the shared lane and cannot land inside an open transaction (17.430336ms) +2026-09-27T05:32:35.3189276Z ✔ the config commit applies its mutation to the transaction snapshot (0.68171ms) +2026-09-27T05:32:35.3190568Z ✔ MCP config commit is not rolled back by a capability publication failure (1.890055ms) +2026-09-27T05:32:35.3195018Z ✔ an edit from an older copy writes nothing, and a toggle keeps a change made elsewhere (125.228895ms) +2026-09-27T05:32:35.3196369Z ✔ a change another process makes to mcp.json reaches the manager until unregistered (780.890096ms) +2026-09-27T05:32:35.3197571Z ✔ following never leaves the manager on a copy older than the last one read (28.147352ms) +2026-09-27T05:32:35.3225697Z ✔ following another process never holds a login claim behind a slow connect (189.645219ms) +2026-09-27T05:32:35.6850830Z ✔ controller login drives browser round-trip to a connected server (461.312774ms) +2026-09-27T05:32:35.6887420Z ✔ an OAuth error callback is issuer-validated before its error is accepted (57.425451ms) +2026-09-27T05:32:35.6966553Z ✔ resumeLogin rebinds the persisted callback port and completes the round (164.575442ms) +2026-09-27T05:32:35.7052748Z ✔ resumeLogin resolves undefined when the persisted port is already taken (78.451018ms) +2026-09-27T05:32:35.7128273Z ✔ login refuses a cleartext non-loopback authorization URL without opening it (3.7523ms) +2026-09-27T05:32:35.7196086Z ✔ a reflected error_description never crosses into the login rejection (65.66434ms) +2026-09-27T05:32:35.7229243Z ✔ an unregistered callback error code is generalized before crossing IPC (65.246072ms) +2026-09-27T05:32:35.7230318Z ✔ controller rejects a forged callback state and an OAuth error response (55.57638ms) +2026-09-27T05:32:35.7231337Z ✔ a hung readiness gate or store lookup cannot outlive the round deadline (244.622042ms) +2026-09-27T05:32:35.7232290Z ✔ cancelling a round releases the guard and clears the pending state (1.482245ms) +2026-09-27T05:32:35.7233245Z ✔ a hung terminal-failure cleanup cannot park the login rejection (123.248428ms) +2026-09-27T05:32:35.7235536Z ✔ a timed-out logout aborts the in-flight credential clear (61.859298ms) +2026-09-27T05:32:35.7236661Z ✔ a hung readiness gate or credential clear cannot outlive the logout deadline (123.390718ms) +2026-09-27T05:32:35.7237641Z ✔ a hung browser launch cannot outlive the round deadline (206.910867ms) +2026-09-27T05:32:35.7251770Z ✔ a hung discovery cannot hold the login guard past the deadline (104.922511ms) +2026-09-27T05:32:35.7252856Z ✔ a hung token endpoint releases the listener and the guard at the deadline (767.778664ms) +2026-09-27T05:32:35.7253889Z ✔ ACP EOF during MCP startup aborts preparation before any Session create dispatch (469.808926ms) +2026-09-27T05:32:35.8069147Z ▶ ACP Session registry +2026-09-27T05:32:35.8139954Z ✔ does not replay a dispatched Memory mutation after Host connection loss (7.170159ms) +2026-09-27T05:32:35.8202997Z ✔ close aborts a possibly opened Artifact after its dispatched response is lost (1.445571ms) +2026-09-27T05:32:35.8255929Z ✔ Session close waits for a dispatched Artifact begin and aborts its staged upload (32.387921ms) +2026-09-27T05:32:35.8311395Z ✔ a conflicting replay does not hide an earlier open Artifact from Session close (4.519186ms) +2026-09-27T05:32:35.8335101Z ✔ a failed concurrent begin does not discard a successful begin with the same ID (1.675769ms) +2026-09-27T05:32:35.8426372Z ✔ failed Artifact commits do not exhaust an adapter-only upload limit (16.95098ms) +2026-09-27T05:32:35.8506554Z ✔ definitively rejected Artifact begins do not accumulate for Session close (16.721413ms) +2026-09-27T05:32:35.8596010Z ✔ outcome-unknown Artifact begins remain bounded and are cleaned up on close (17.246003ms) +2026-09-27T05:32:35.8639807Z ✔ expired Artifact identities are aborted before the tracking limit rejects a new upload (12.89908ms) +2026-09-27T05:32:35.8764301Z ✔ expired-upload cleanup finishes before a concurrent begin reuses that identity (same_host) (19.759344ms) +2026-09-27T05:32:35.8795184Z ✔ expired-upload cleanup finishes before a concurrent begin reuses that identity (replaced_host) (14.771469ms) +2026-09-27T05:32:35.8966415Z ✔ expired-upload cleanup finishes before a concurrent begin reuses that identity (failed_old_abort) (20.211122ms) +2026-09-27T05:32:35.9037722Z ✔ expired-upload cleanup finishes before a concurrent begin reuses that identity (lost_new_begin) (17.371883ms) +2026-09-27T05:32:35.9106011Z ✔ Host replacement releases upload identities from the previous connection (14.464786ms) +2026-09-27T05:32:35.9147736Z ✔ load failure before client replacement preserves a live prompt interaction (38.333647ms) +2026-09-27T05:32:35.9269931Z ✔ resume failure before client replacement preserves a live prompt interaction (5.984103ms) +2026-09-27T05:32:35.9325983Z ✔ retained restore preserves notification invocation order across a successor (repeat=false) (24.913676ms) +2026-09-27T05:32:35.9359108Z ✔ retained restore preserves notification invocation order across a successor (repeat=true) (13.674712ms) +2026-09-27T05:32:35.9452678Z ✔ aborted history replay restores the interaction client it replaced (62.311997ms) +2026-09-27T05:32:35.9462458Z ✔ a failed explicit resume cannot roll back a newer restore using the same context (10.31356ms) +2026-09-27T05:32:35.9523650Z ✔ overlapping failed restores return to the original prompt client (14.996387ms) +2026-09-27T05:32:35.9622291Z ✔ load reuses an attachment and adopts a Turn started before restore (10.495208ms) +2026-09-27T05:32:35.9685876Z ✔ resume reuses an attachment and adopts a Turn started before restore (10.641865ms) +2026-09-27T05:32:35.9806249Z ✔ loads durable history, returns configuration, and retains attachment for prompt (22.154413ms) +2026-09-27T05:32:35.9861912Z ✔ close wins a held load catalog read without opening an attachment (4.15168ms) +2026-09-27T05:32:35.9937131Z ✔ load waits for an in-flight close before restoring the Session (7.032417ms) +2026-09-27T05:32:36.0106370Z ✔ load scans every correlated transcript page in order (8.291999ms) +2026-09-27T05:32:36.0156388Z ✔ retry after a partial history delivery resumes without repeating accepted chunks (6.149353ms) +2026-09-27T05:32:36.0279414Z ✔ history replay omits live output when streaming starts during load (6.031182ms) +2026-09-27T05:32:36.0344806Z ✔ history replay omits live output when streaming starts before load (6.24511ms) +2026-09-27T05:32:36.0375690Z ✔ load replays a prefix that resume seeded without delivering (8.688139ms) +2026-09-27T05:32:36.0480596Z ✔ load rejects missing, archived, and mismatched Sessions before ownership or attachment (4.655259ms) +2026-09-27T05:32:36.0535848Z ✔ resume attaches to an existing live Turn without replaying history or starting it (5.772088ms) +2026-09-27T05:32:36.0636056Z ✔ restore reports completed during readiness with next Turn none (3.89402ms) +2026-09-27T05:32:36.0695750Z ✔ restore reports completed during readiness with next Turn running (7.569269ms) +2026-09-27T05:32:36.0758577Z ✔ restore reports completed during readiness with next Turn completed (5.268077ms) +2026-09-27T05:32:36.0905940Z ✔ restore reports failed during readiness with next Turn none (13.044376ms) +2026-09-27T05:32:36.1025969Z ✔ restore reports failed during readiness with next Turn running (7.703301ms) +2026-09-27T05:32:36.1082631Z ✔ restore reports failed during readiness with next Turn completed (10.670631ms) +2026-09-27T05:32:36.1195776Z ✔ restore reports cancelled during readiness with next Turn none (7.847536ms) +2026-09-27T05:32:36.1269689Z ✔ restore reports cancelled during readiness with next Turn running (8.324204ms) +2026-09-27T05:32:36.1307088Z ✔ restore reports cancelled during readiness with next Turn completed (7.681896ms) +2026-09-27T05:32:36.1356168Z ✔ resume restores a pending interaction on the attached Turn (16.057491ms) +2026-09-27T05:32:36.1392688Z ✔ load finishes historical delivery before releasing an existing live Turn (9.413959ms) +2026-09-27T05:32:36.1547269Z ✔ load does not redeliver a live chunk already included in historical replay (5.684971ms) +2026-09-27T05:32:36.1554206Z ✔ failed historical hydration releases the newly opened attachment (19.40178ms) +2026-09-27T05:32:36.1595935Z ✔ failed load of an owned unattached Session releases only its new subscription (5.729137ms) +2026-09-27T05:32:36.1627787Z ✔ failed live history load releases its observer without stopping the existing Host Turn (8.715182ms) +2026-09-27T05:32:36.1655900Z ✔ unsupported restored interaction leaves its Host Turn pending (11.036549ms) +2026-09-27T05:32:36.1677256Z ✔ restored unsupported-method leaves the Host Turn pending without answering (7.956289ms) +2026-09-27T05:32:36.1684372Z ✔ restored invalid-answer leaves the Host Turn pending without answering (10.751828ms) +2026-09-27T05:32:36.1719132Z ✔ restored output-failure leaves the Host Turn pending without answering (7.762481ms) +2026-09-27T05:32:36.1735672Z ✔ cancelling a restored Turn fences a late answer after Stop fails (14.221334ms) +2026-09-27T05:32:36.1765615Z ✔ cancelling a restored permission fences its late selection (9.18523ms) +2026-09-27T05:32:36.1806668Z ✔ load refuses an MCP change while the Host reports an active Turn (1932.365382ms) +2026-09-27T05:32:36.1837116Z [acp] Attached Turn observation failed: Error: Client output failed +2026-09-27T05:32:36.1861146Z at Object.notify (file:///home/runner/work/maka/maka/packages/cli/dist/__tests__/acp-session-registry.test.js:2482:27) +2026-09-27T05:32:36.1906737Z at Object.notify (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-registry.js:1269:35) +2026-09-27T05:32:36.1922344Z at AcpSessionEventMapper.notify (file:///home/runner/work/maka/maka/packages/cli/dist/acp/turn-observation.js:49:35) +2026-09-27T05:32:36.1989814Z at #deliver (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:178:38) +2026-09-27T05:32:36.2015570Z at #acceptText (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:173:28) +2026-09-27T05:32:36.2046361Z at file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:47:43 +2026-09-27T05:32:36.2085626Z at file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:188:30 +2026-09-27T05:32:36.2115683Z ✔ explicit Turn resume observes before Host admission and reports terminal status (5.933586ms) +2026-09-27T05:32:36.2129099Z [acp] Attached Turn observation failed: Error: Client output failed +2026-09-27T05:32:36.2145573Z at Object.notify (file:///home/runner/work/maka/maka/packages/cli/dist/__tests__/acp-session-registry.test.js:2482:27) +2026-09-27T05:32:36.2175529Z at Object.notify (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-registry.js:1269:35) +2026-09-27T05:32:36.2202355Z at AcpSessionEventMapper.notify (file:///home/runner/work/maka/maka/packages/cli/dist/acp/turn-observation.js:49:35) +2026-09-27T05:32:36.2235601Z at #deliver (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:178:38) +2026-09-27T05:32:36.2245495Z at #acceptText (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:173:28) +2026-09-27T05:32:36.2275412Z at file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:47:43 +2026-09-27T05:32:36.2305297Z at file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:188:30 +2026-09-27T05:32:36.2330188Z ✔ close waits for an explicit resume failure Stop (13.59644ms) +2026-09-27T05:32:36.2345765Z ✔ dispose waits for an explicit resume failure Stop (5.560755ms) +2026-09-27T05:32:36.2385770Z ✔ explicit Turn resume returns a Host parked plan without opening a subscription (0.928983ms) +2026-09-27T05:32:36.2465709Z ✔ a lost dispatched Turn resume response retains its exact target identity (4.36541ms) +2026-09-27T05:32:36.2566201Z ✔ a rejected Turn resume releases its idle Session for a changed MCP load (2785.855259ms) +2026-09-27T05:32:36.2595719Z ✔ attached Turn reports completed after output when a next Turn starts (7.498773ms) +2026-09-27T05:32:36.2625656Z ✔ attached Turn reports failed after output when a next Turn starts (5.887969ms) +2026-09-27T05:32:36.2627021Z ✔ attached Turn reports cancelled after output when a next Turn starts (4.985753ms) +2026-09-27T05:32:36.2655989Z ✔ cancel fences an in-flight explicit resume and Stops the admitted Turn (6.026838ms) +2026-09-27T05:32:36.2685968Z ✔ copy-source query requires ownership, forwards bounded paging, and captures revision before reading Turns (0.981043ms) +2026-09-27T05:32:36.2715853Z ✔ committed branch and revision targets are immediately owned; retained and abandoned remain distinct (1.674723ms) +2026-09-27T05:32:36.2736277Z ✔ copy retries an unknown dispatch and does not claim an unverified target (4.377719ms) +2026-09-27T05:32:36.2755579Z ✔ copy claims a target only after its exact retry confirms a commit (1.492161ms) +2026-09-27T05:32:36.2785789Z ✔ does not connect when disposed before a Session method is used (0.253209ms) +2026-09-27T05:32:36.2816908Z ✔ reports the requested Session operation after disposal (2.206978ms) +2026-09-27T05:32:36.2845475Z ✔ does not start a queued connection after disposal begins (0.506828ms) +2026-09-27T05:32:36.2850850Z ✔ aborts an in-flight connection before disposal waits for it (5.989181ms) +2026-09-27T05:32:36.2894359Z ✔ shares one in-flight connection across concurrent Session methods (1.222259ms) +2026-09-27T05:32:36.2925756Z ✔ reports a stable connection error and retries on a later Session request (2.061468ms) +2026-09-27T05:32:36.2957637Z ✔ closes a connection that resolves after disposal starts (4.471933ms) +2026-09-27T05:32:36.2985579Z ✔ creates more than the Host subscription limit without opening a subscription (4.514509ms) +2026-09-27T05:32:36.2986850Z ✔ rejects unsupported prompt content before opening a real Session channel (0.680655ms) +2026-09-27T05:32:36.3022864Z ✔ shares a concurrent first real Session channel and consumes events before turn.start settles (73.889195ms) +2026-09-27T05:32:36.3056437Z ✔ tool reconciliation through the real Session channel handles complete (17.291539ms) +2026-09-27T05:32:36.3069823Z ✔ tool reconciliation through the real Session channel handles completed-without-result (4.381884ms) +2026-09-27T05:32:36.3095735Z ✔ tool reconciliation through the real Session channel handles notification-failure (17.634548ms) +2026-09-27T05:32:36.3125685Z ✔ tool reconciliation through the real Session channel handles cancel (5.180261ms) +2026-09-27T05:32:36.3135657Z ✔ tool reconciliation through the real Session channel handles cancel-stalled-notification (5.475163ms) +2026-09-27T05:32:36.3169462Z ✔ tool reconciliation through the real Session channel handles host-failure (7.235202ms) +2026-09-27T05:32:36.3185798Z ✔ tool reconciliation through the real Session channel handles host-abort (8.788504ms) +2026-09-27T05:32:36.3215787Z ✔ recovers mid-prompt and settles a live tool from the replacement transcript (9.413167ms) +2026-09-27T05:32:36.3245717Z ✔ reports an attached Turn terminal status across a replacement with a successor root (12.122941ms) +2026-09-27T05:32:36.3275931Z ✔ explicit cancellation wins after a notification transport failure (4.725781ms) +2026-09-27T05:32:36.3277271Z ✔ latches cancellation while the real Session subscription is opening (4.778711ms) +2026-09-27T05:32:36.3305759Z ✔ aborting load during open releases its attachment and allows retry (6.661795ms) +2026-09-27T05:32:36.3330038Z ✔ aborting load during hydrate releases its attachment and allows retry (4.640303ms) +2026-09-27T05:32:36.3355660Z ✔ aborting resume during open releases its attachment and allows retry (5.052272ms) +2026-09-27T05:32:36.3356742Z ✔ aborting resume during hydrate releases its attachment and allows retry (8.896119ms) +2026-09-27T05:32:36.3386036Z ✔ aborting resumeTurn during open releases its attachment and allows retry (7.2867ms) +2026-09-27T05:32:36.3415733Z ✔ aborting resumeTurn during hydrate releases its attachment and allows retry (10.172704ms) +2026-09-27T05:32:36.3454797Z ✔ aborting load preserves a concurrent attachment consumer before-wait (10.038364ms) +2026-09-27T05:32:36.3475575Z ✔ aborting load preserves a concurrent attachment consumer during-wait (2.057459ms) +2026-09-27T05:32:36.3496673Z ✔ aborting prompt preserves a concurrent attachment consumer before-wait (17.510041ms) +2026-09-27T05:32:36.3516987Z ✔ aborting prompt preserves a concurrent attachment consumer during-wait (7.887062ms) +2026-09-27T05:32:36.3546576Z ✔ aborting a prompt signal closes its pending initial transcript hydration (1.861265ms) +2026-09-27T05:32:36.3576346Z ✔ aborting one prompt preserves the shared initial attachment for another prompt (7.236832ms) +2026-09-27T05:32:36.3605689Z ✔ a second prompt settling cannot reopen a cancelled Turn interaction replay (8.851072ms) +2026-09-27T05:32:36.3628472Z ✔ an externally resolved interaction cannot clear a cancelled Turn fence before settlement (12.63528ms) +2026-09-27T05:32:36.3645416Z [acp] Host Stop delivery failed: Error: Stop delivery failed +2026-09-27T05:32:36.3676157Z at Object.request (file:///home/runner/work/maka/maka/packages/cli/dist/__tests__/acp-session-registry.test.js:4179:31) +2026-09-27T05:32:36.3707285Z at Object.request (file:///home/runner/work/maka/maka/packages/cli/dist/__tests__/acp-session-registry.test.js:6237:35) +2026-09-27T05:32:36.3737195Z at #stopPromptWhenObservable (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-registry.js:820:38) +2026-09-27T05:32:36.3775686Z at #cancelPrompt (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-registry.js:794:59) +2026-09-27T05:32:36.3777200Z at AbortSignal.onAbort (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-registry.js:610:36) +2026-09-27T05:32:36.3805728Z at [nodejs.internal.kHybridDispatch] (node:internal/event_target:848:20) +2026-09-27T05:32:36.3835330Z at AbortSignal.dispatchEvent (node:internal/event_target:789:26) +2026-09-27T05:32:36.3895237Z at runAbort (node:internal/abort_controller:554:10) +2026-09-27T05:32:36.3935957Z at abortSignal (node:internal/abort_controller:518:3) +2026-09-27T05:32:36.3979845Z at AbortController.abort (node:internal/abort_controller:573:5) +2026-09-27T05:32:36.4005668Z ✔ a failed Stop keeps a cancelled Turn fenced after the ACP prompt settles (13.478304ms) +2026-09-27T05:32:36.4035615Z ✔ close during real Session channel open prevents Turn admission (4.034046ms) +2026-09-27T05:32:36.4061022Z ✔ dispose during real Session channel open prevents Turn admission (3.763826ms) +2026-09-27T05:32:36.4085592Z ✔ waits for the real channel root identity before issuing exactly one turn.stop (5.401501ms) +2026-09-27T05:32:36.4108610Z ✔ shutdown stops a late admission after closing its real Session channel (9.238323ms) +2026-09-27T05:32:36.4135586Z ✔ shutdown closes the Host when an outcome-unknown query never settles (5.937953ms) +2026-09-27T05:32:36.4163489Z ✔ retries failed admission reads after healthy recovery until not_found is authoritative (24.960726ms) +2026-09-27T05:32:36.4195759Z ✔ retries failed admission reads after healthy recovery until terminal is authoritative (4.977729ms) +2026-09-27T05:32:36.4235659Z ✔ retries failed admission reads after healthy recovery until running is authoritative (7.935333ms) +2026-09-27T05:32:36.4255504Z ✔ persistent admission read failures let prompt finish (13.363259ms) +2026-09-27T05:32:36.4285524Z ✔ persistent admission read failures let cancel_and_close finish (5.42668ms) +2026-09-27T05:32:36.4286518Z ✔ close closes the real Session channel when Stop delivery fails (6.618647ms) +2026-09-27T05:32:36.4326411Z ✔ dispose closes the real Session channel when Stop delivery fails (1.338132ms) +2026-09-27T05:32:36.4345632Z ✔ retains a cancelled prompt until Stop delivery settles after a terminal event (9.178927ms) +2026-09-27T05:32:36.4355417Z [acp] Attached Turn observation failed: Error: Client notification delivery failed +2026-09-27T05:32:36.4397198Z at Object.notify (file:///home/runner/work/maka/maka/packages/cli/dist/__tests__/acp-session-registry.test.js:4724:23) +2026-09-27T05:32:36.4422035Z at Object.notify (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-registry.js:1269:35) +2026-09-27T05:32:36.4448622Z at AcpSessionEventMapper.notify (file:///home/runner/work/maka/maka/packages/cli/dist/acp/turn-observation.js:49:35) +2026-09-27T05:32:36.4462704Z at #deliver (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:178:38) +2026-09-27T05:32:36.4495564Z at #acceptText (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:173:28) +2026-09-27T05:32:36.4535406Z at file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:47:43 +2026-09-27T05:32:36.4581477Z at file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:188:30 +2026-09-27T05:32:36.4615755Z ✔ close and dispose retain an adopted Turn Stop after terminal observation (8.674995ms) +2026-09-27T05:32:36.4646404Z [acp] Attached Turn observation failed: Error: Client notification delivery failed +2026-09-27T05:32:36.4677249Z at Object.notify (file:///home/runner/work/maka/maka/packages/cli/dist/__tests__/acp-session-registry.test.js:4782:23) +2026-09-27T05:32:36.4696834Z at Object.notify (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-registry.js:1269:35) +2026-09-27T05:32:36.4715507Z at AcpSessionEventMapper.notify (file:///home/runner/work/maka/maka/packages/cli/dist/acp/turn-observation.js:49:35) +2026-09-27T05:32:36.4755673Z at #deliver (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:178:38) +2026-09-27T05:32:36.4756925Z at #acceptText (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:173:28) +2026-09-27T05:32:36.4798647Z at file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:47:43 +2026-09-27T05:32:36.4827874Z at file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:188:30 +2026-09-27T05:32:36.4888411Z [acp] Host Stop delivery failed: Error: Host connection lost during Stop +2026-09-27T05:32:36.4938808Z at TestContext. (file:///home/runner/work/maka/maka/packages/cli/dist/__tests__/acp-session-registry.test.js:4754:29) +2026-09-27T05:32:36.4999413Z at Test.runInAsyncScope (node:async_hooks:227:14) +2026-09-27T05:32:36.5035994Z at Test.run (node:internal/test_runner/test:1402:25) +2026-09-27T05:32:36.5055303Z at Suite.processPendingSubtests (node:internal/test_runner/test:974:18) +2026-09-27T05:32:36.5125384Z at Test.postRun (node:internal/test_runner/test:1542:19) +2026-09-27T05:32:36.5185750Z at Test.run (node:internal/test_runner/test:1467:12) +2026-09-27T05:32:36.5214899Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:32:36.5265784Z ✔ an adopted Turn Stop failure settles before close releases the connection (14.737498ms) +2026-09-27T05:32:36.5318709Z ✔ retires a failed real Session channel so the next prompt opens a fresh one (9.071054ms) +2026-09-27T05:32:36.5355685Z ✔ cancel stops an externally started root observed by an idle real channel (1.715309ms) +2026-09-27T05:32:36.5356735Z ✔ close stops an externally started root observed by an idle real channel (7.37649ms) +2026-09-27T05:32:36.5357848Z ✔ dispose stops an externally started root observed by an idle real channel (1.229295ms) +2026-09-27T05:32:36.5376558Z ✔ cancel retains the external root with a pending interaction when Stop succeeds (8.290485ms) +2026-09-27T05:32:36.5413989Z ✔ cancel retains the external root with a pending interaction when Stop fails (8.392595ms) +2026-09-27T05:32:36.5425880Z ✔ close retains the external root with a pending interaction when Stop succeeds (1.38391ms) +2026-09-27T05:32:36.5439824Z ✔ close retains the external root with a pending interaction when Stop fails (8.086595ms) +2026-09-27T05:32:36.5441191Z ✔ keeps a real channel prompt streaming after a failed configuration refresh (6.721128ms) +2026-09-27T05:32:36.5442383Z ✔ keeps a real channel prompt streaming after a stalled configuration refresh (10.145532ms) +2026-09-27T05:32:36.5443496Z ✔ suppresses a real channel configuration projection that finishes after close (8.131788ms) +2026-09-27T05:32:36.5459853Z ✔ closing an active real channel prompt does not wait for a stalled configuration read (6.134066ms) +2026-09-27T05:32:36.5473509Z ✔ maps real Session channel observation failures to stable ACP errors (5.362566ms) +2026-09-27T05:32:36.5495967Z ✔ returns projected configuration and owns only a representable successful create (4.083478ms) +2026-09-27T05:32:36.5575754Z ✔ omits thinking configuration when the selected model declares no levels (0.399747ms) +2026-09-27T05:32:36.5586627Z ✔ does not grant ownership by listing a Session (0.68839ms) +2026-09-27T05:32:36.5587799Z ✔ keeps failed creates unowned and returns committed IDs even for unsupported projections (6.460893ms) +2026-09-27T05:32:36.5665936Z ✔ returns the committed ID on catalog failure without admitting mutations during projection (6.280953ms) +2026-09-27T05:32:36.5696162Z ✔ rejects non-owned and invalid configuration requests before Host I/O (3.579801ms) +2026-09-27T05:32:36.5743806Z ✔ updates one configuration field with the latest revision and returns committed options (0.721981ms) +2026-09-27T05:32:36.5745291Z ✔ rereads the Session after one revision conflict before retrying (0.634031ms) +2026-09-27T05:32:36.5777217Z ✔ concurrent different-field changes converge through one-field CAS patches (7.9166ms) +2026-09-27T05:32:36.5825602Z ✔ stops after three revision conflicts without a fourth Host operation (11.012694ms) +2026-09-27T05:32:36.5838118Z ✔ rejects invalid, missing, and legacy catalog lookup results with stable errors (1.26336ms) +2026-09-27T05:32:36.5910996Z ✔ maps configuration Host failures without retrying them (12.806431ms) +2026-09-27T05:32:36.5945658Z ✔ does not start an update after disposal begins during its catalog read (5.472019ms) +2026-09-27T05:32:36.5992163Z ✔ does not reread after a held update conflicts during disposal (4.053902ms) +2026-09-27T05:32:36.6035669Z ✔ rejects unsupported creation inputs before touching Runtime Host (7.192977ms) +2026-09-27T05:32:36.6065448Z ✔ keeps failed and outcome-unknown creates distinct (0.652002ms) +2026-09-27T05:32:36.6112046Z ✔ maps one filtered Host catalog page per ACP page and carries cwd across pages (14.045913ms) +2026-09-27T05:32:36.6183297Z ✔ rejects a cursor reused with a different normalized cwd before Host I/O (3.729599ms) +2026-09-27T05:32:36.6253723Z ✔ rejects malformed and oversized ACP cursors as invalid params (1.403458ms) +2026-09-27T05:32:36.6295781Z ✔ translates stale and repeated Host cursors into stable ACP errors (9.66095ms) +2026-09-27T05:32:36.6325557Z ✔ maps Runtime Host invalid_request from session/list to invalid params (0.402442ms) +2026-09-27T05:32:36.6356880Z ✔ cancel during resource upload aborts staging without starting a Turn (25.848629ms) +2026-09-27T05:32:36.6360776Z ✔ close during resource upload aborts staging without starting a Turn (6.881903ms) +2026-09-27T05:32:36.6445810Z ✔ abort during resource upload aborts staging without starting a Turn (4.593419ms) +2026-09-27T05:32:36.6525564Z ✔ ACP Session registry (6134.727389ms) +2026-09-27T05:32:36.6585421Z ▶ Maka ACP stdio server +2026-09-27T05:32:36.6631019Z ✔ prompt through stdio handles recovery (107.403598ms) +2026-09-27T05:32:36.6682543Z ✔ prompt through stdio handles question (15.825755ms) +2026-09-27T05:32:36.6705505Z ✔ prompt through stdio handles form (9.903233ms) +2026-09-27T05:32:36.6785878Z ✔ prompt through stdio handles permission (17.394823ms) +2026-09-27T05:32:36.6841896Z ✔ prompt through stdio handles sandbox_boundary (13.971106ms) +2026-09-27T05:32:36.6871522Z ✔ prompt through stdio handles client_capability (8.622888ms) +2026-09-27T05:32:36.6947094Z ✔ settles outcome-unknown ACP cancellation with pending query and running recovery (19.224446ms) +2026-09-27T05:32:36.6989093Z ✔ settles outcome-unknown ACP cancellation with pending query and absent recovery (17.129657ms) +2026-09-27T05:32:36.7061812Z ✔ settles outcome-unknown ACP cancellation with internal_failure query and running recovery (10.382871ms) +2026-09-27T05:32:36.7063398Z ✔ settles outcome-unknown ACP cancellation with internal_failure query and held_empty recovery (6.324834ms) +2026-09-27T05:32:36.7185910Z ✔ settles outcome-unknown ACP cancellation with internal_failure query and terminal recovery (10.811384ms) +2026-09-27T05:32:36.7230330Z ✔ settles outcome-unknown ACP cancellation with internal_failure query and absent recovery (6.952256ms) +2026-09-27T05:32:36.7281616Z ✔ settles outcome-unknown ACP cancellation with internal_failure query and other_turn recovery (10.375416ms) +2026-09-27T05:32:36.7315668Z ✔ settles outcome-unknown ACP cancellation with internal_failure query and failed recovery (14.109087ms) +2026-09-27T05:32:36.7375713Z ✔ settles outcome-unknown ACP cancellation with not_found query and none recovery (9.050564ms) +2026-09-27T05:32:36.7435960Z ✔ publishes a local configuration commit before a newer external revision (13.538392ms) +2026-09-27T05:32:36.7515838Z ✔ answers initialize without connecting a Runtime Host (16.01906ms) +2026-09-27T05:32:36.7605889Z ✔ EOF aborts a first attachment waiting for real connection recovery during hydration (22.278147ms) +2026-09-27T05:32:36.7635641Z ✔ returns zero after normal EOF without connecting a Runtime Host (1.028916ms) +2026-09-27T05:32:36.7636468Z ✔ returns a JSON-RPC parse error and then zero after EOF (1.36904ms) +2026-09-27T05:32:36.7705520Z ✔ propagates a stdin transport error (1.941441ms) +2026-09-27T05:32:36.7815954Z ✔ _maka/goal/status write failure closes ACP and releases the retained attachment (9.773095ms) +2026-09-27T05:32:36.7885940Z ✔ _maka/plan/changed write failure closes ACP and releases the retained attachment (3.390187ms) +2026-09-27T05:32:36.7896586Z ✔ serializes Session creation and configuration through the Runtime Host catalog (2.732402ms) +2026-09-27T05:32:36.7996001Z ✔ returns a Host connection failure from the Session request and keeps serving ACP (4.41079ms) +2026-09-27T05:32:36.8032818Z ✔ keeps close for an unknown Session Host-independent (1.64869ms) +2026-09-27T05:32:36.8169880Z ✔ Maka ACP stdio server (368.854012ms) +2026-09-27T05:32:37.0096389Z ✔ MCP write errors retain actionable localized meaning across Electron serialization (1.83548ms) +2026-09-27T05:32:37.0147982Z ✔ a newly-authored remote MCP persists an explicit auto preference (1.282399ms) +2026-09-27T05:32:37.0227746Z ✔ editing an omitted remote preference presents and preserves legacy semantics (4.511511ms) +2026-09-27T05:32:37.0285821Z ✔ editing a remote MCP round-trips auto and exact modern preferences (0.250506ms) +2026-09-27T05:32:37.0336246Z ✔ legacy SSE projects legacy without erasing an explicit remote pin (0.234355ms) +2026-09-27T05:32:37.0355710Z ✔ a newly-authored stdio MCP persists an explicit auto preference (0.393294ms) +2026-09-27T05:32:37.0456845Z ✔ stdio editing presents omitted legacy and round-trips explicit modern preferences (0.509975ms) +2026-09-27T05:32:37.0506014Z ✔ kind changes preserve an explicit protocol choice and derive only unselected defaults (0.192909ms) +2026-09-27T05:32:37.0535582Z ✔ an edit that does not touch OAuth preserves the block through save (0.525663ms) +2026-09-27T05:32:37.0537084Z ✔ editing does not invent an oauth block for servers that never had one (0.266577ms) +2026-09-27T05:32:37.0655727Z ✔ a stdio config round-trips through the command-line field (0.379292ms) +2026-09-27T05:32:37.0706833Z ✔ an untouched environment reads back unchanged, whatever its values hold (0.234454ms) +2026-09-27T05:32:37.1379074Z ✔ every MCP bridge method rides the scoped Runtime Host seam (5.336999ms) +2026-09-27T05:32:37.1872689Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:32:38.4090919Z ▶ runtime resume phase 0 process crash harness +2026-09-27T05:32:38.4197683Z ✔ reopens every fully committed P0-P11 ledger prefix after SIGKILL (15639.464639ms) +2026-09-27T05:32:38.4269083Z ✔ runtime resume phase 0 process crash harness (15642.418762ms) +2026-09-27T05:32:38.4683587Z ▶ runtime resume phase 0 projection +2026-09-27T05:32:38.4727400Z ✔ publishes the stable P0-P11 crash failpoint catalog (4.980079ms) +2026-09-27T05:32:38.4856152Z ✔ projects deterministic tool operations from legal RuntimeEvent prefixes (8.080043ms) +2026-09-27T05:32:38.4885899Z ✔ distinguishes committed failed results from indeterminate missing results (1.352239ms) +2026-09-27T05:32:38.4956023Z ✔ excludes unresolved tool calls from provider replay history (0.299825ms) +2026-09-27T05:32:38.4957247Z ✔ never replays hidden nested CodeMode operations on resume (2.631929ms) +2026-09-27T05:32:38.4999883Z ✔ blocks resume when a hidden nested CodeMode operation is still indeterminate (1.847678ms) +2026-09-27T05:32:38.5040386Z ✔ blocks replay on unmatched tool results rather than inventing provider history (0.442077ms) +2026-09-27T05:32:38.5041836Z ✔ rejects runtime high-water mismatches with a stable fallback reason (4.441555ms) +2026-09-27T05:32:38.5042856Z ✔ runtime resume phase 0 projection (26.008907ms) +2026-09-27T05:32:38.5043625Z ▶ runtime resume phase 1 safe-boundary continuation +2026-09-27T05:32:38.5056980Z ✔ replays the user-anchored ancestor prefix when continuing a continuation run (25.538871ms) +2026-09-27T05:32:38.5115603Z ✔ uses RecoveryResolver to distinguish a new-protocol call that never crossed T1 (0.471311ms) +2026-09-27T05:32:38.5195596Z ✔ lets composite replay trim a new-protocol call that never crossed T1 (8.230045ms) +2026-09-27T05:32:38.5205587Z ✔ creates a new execution identity from a fully committed safe boundary (2.912871ms) +2026-09-27T05:32:38.5206646Z ✔ parks when a permission request has no committed decision (0.392689ms) +2026-09-27T05:32:38.5207673Z ✔ clears a pending permission with an identity-only accepted answer (0.398282ms) +2026-09-27T05:32:38.5208692Z ✔ continues after a hosted timeout durably closes the pending permission (0.317732ms) +2026-09-27T05:32:38.5209810Z ✔ parks when the current workspace identity differs from the source boundary (0.193684ms) +2026-09-27T05:32:38.5210855Z ✔ continues after a workspace path change when the UUID marker is unchanged (0.249932ms) +2026-09-27T05:32:38.5211731Z ✔ parks while a background operation is still unsettled (0.306246ms) +2026-09-27T05:32:38.5213485Z ✔ parks when a historical tool is unavailable in the current catalog (0.280354ms) +2026-09-27T05:32:38.5216361Z ✔ parks when any required external safety fact is absent (3.384405ms) +2026-09-27T05:32:38.5217549Z ✔ requires a non-empty single-source ledger and fresh continuation identity (0.348621ms) +2026-09-27T05:32:38.5222581Z ✔ parks when committed provider history ends with a model message (0.201372ms) +2026-09-27T05:32:38.5232348Z ✔ parks when committed provider history does not start at a user boundary (0.288835ms) +2026-09-27T05:32:38.5233511Z ✔ requires a restored workspace checkpoint with the same runtime high-water when supplied (0.298268ms) +2026-09-27T05:32:38.5234788Z ✔ keeps the durable high-water even when partial events are excluded from replay context (0.284636ms) +2026-09-27T05:32:38.5236110Z ✔ runtime resume phase 1 safe-boundary continuation (45.292536ms) +2026-09-27T05:32:38.5236887Z ▶ declared Bash sandbox boundary error classification +2026-09-27T05:32:38.5237805Z ✔ maps a model-correctable boundary semantic error to invalid_boundary_declaration (36.459782ms) +2026-09-27T05:32:38.5239148Z ✔ preserves an injected filesystem failure instead of calling the declaration invalid (1.197582ms) +2026-09-27T05:32:38.5240264Z ✔ declared Bash sandbox boundary error classification (43.184748ms) +2026-09-27T05:32:38.5241075Z ▶ sandbox boundary restart recovery on durable stores +2026-09-27T05:32:38.5241980Z ✔ attributes a closure whose RuntimeEvent never reached the ledger (491.964224ms) +2026-09-27T05:32:38.5243084Z ✔ re-reads a closure across a recovery interrupted before the terminal commit (386.942991ms) +2026-09-27T05:32:38.5244557Z ✔ keeps provenance absent for rows written before the column existed (226.611568ms) +2026-09-27T05:32:38.5245649Z ✔ sandbox boundary restart recovery on durable stores (1109.047291ms) +2026-09-27T05:32:38.5246394Z ▶ isLikelySandboxDenial +2026-09-27T05:32:38.5247245Z ✔ recognizes explicit sandbox denial evidence from either output stream (4.533296ms) +2026-09-27T05:32:38.5258676Z ✔ requires an active sandbox and unambiguous denial evidence (0.240524ms) +2026-09-27T05:32:38.5259530Z ✔ isLikelySandboxDenial (23.142521ms) +2026-09-27T05:32:38.5260141Z ▶ sandbox error diagnostics +2026-09-27T05:32:38.5260976Z ✔ serializes stable metadata without copying the raw error message (2.197485ms) +2026-09-27T05:32:38.5262120Z ✔ serializes filesystem worker validation failures through the same contract (3.105808ms) +2026-09-27T05:32:38.5263267Z ✔ preserves the exact expansion required for a session boundary request (1.294226ms) +2026-09-27T05:32:38.5264604Z ✔ rejects malformed required expansions instead of laundering them into diagnostics (0.278394ms) +2026-09-27T05:32:38.5265507Z ✔ sandbox error diagnostics (18.962678ms) +2026-09-27T05:32:38.5266108Z ▶ SandboxManager.shouldSandbox +2026-09-27T05:32:38.5266667Z ✔ uses PermissionProfile under auto preference (7.31123ms) +2026-09-27T05:32:38.5267436Z ✔ requires a sandbox when only process network remains restricted (0.237862ms) +2026-09-27T05:32:38.5268234Z ✔ honors require and forbid preference overrides (5.219323ms) +2026-09-27T05:32:38.5269085Z ✔ SandboxManager.shouldSandbox (14.533454ms) +2026-09-27T05:32:38.5269689Z ▶ SandboxManager.selectInitial +2026-09-27T05:32:38.5270706Z ✔ selects macos-seatbelt on darwin when restricted profile needs sandbox and backend exists (8.48297ms) +2026-09-27T05:32:38.5271917Z ✔ fails closed on darwin when sandbox is required but macOS backend is unavailable (0.379925ms) +2026-09-27T05:32:38.5272865Z ✔ selects linux when a Linux backend is registered (0.509812ms) +2026-09-27T05:32:38.5273731Z ✔ reports whether the selected backend can enforce the profile (4.613862ms) +2026-09-27T05:32:38.5274881Z ✔ does not report enforcement for Linux profiles the backend will reject (3.100681ms) +2026-09-27T05:32:38.5275892Z ✔ returns backend_not_available for win32 restricted profiles without a broker (0.236506ms) +2026-09-27T05:32:38.5276896Z ✔ selects none for danger-full-access, external, disabled, and forbid (1.657645ms) +2026-09-27T05:32:38.5277688Z ✔ SandboxManager.selectInitial (19.729203ms) +2026-09-27T05:32:38.5278235Z ▶ SandboxManager.transform +2026-09-27T05:32:38.5278912Z ✔ returns raw argv when selected sandbox is none (0.401928ms) +2026-09-27T05:32:38.5279729Z ✔ delegates macos-seatbelt transform to the registered backend (3.200911ms) +2026-09-27T05:32:38.5280613Z ✔ returns selection failure from transform without throwing (0.197725ms) +2026-09-27T05:32:38.5281400Z ✔ SandboxManager.transform (4.048606ms) +2026-09-27T05:32:38.5282195Z ✔ formats Host time with an explicit offset and zone (60.451101ms) +2026-09-27T05:32:38.5283341Z ✔ list reports the current Host time so runAt needs no shell (12.633169ms) +2026-09-27T05:32:38.5284209Z ✔ create echoes the local fire time next to the epoch (8.120441ms) +2026-09-27T05:32:38.5285553Z ✔ create checks the catalog and reports the persisted execution directory (22.989371ms) +2026-09-27T05:32:38.5286495Z ✔ create warns of possible persistence when catalog is missing (11.237945ms) +2026-09-27T05:32:38.5287416Z ✔ create warns of possible persistence when catalog is unavailable (0.778481ms) +2026-09-27T05:32:38.5288216Z ✔ rejects unresolved project cwd "" before mutation (0.74582ms) +2026-09-27T05:32:38.5289277Z ✔ rejects unresolved project cwd " " before mutation (8.337322ms) +2026-09-27T05:32:38.5291540Z ✔ allows a filesystem-root workspace when the Host provides it (6.594411ms) +2026-09-27T05:32:38.5294105Z ✔ notifications do not require a project directory (4.373109ms) +2026-09-27T05:32:38.5300019Z ✔ list is explicitly a query and never creates tasks (5.775974ms) +2026-09-27T05:32:38.5300948Z ✔ creation error is preserved without querying the catalog (4.434608ms) +2026-09-27T05:32:38.5302140Z ✔ cancelled executor completion preserves its provider stop reason in the durable ledger (5.965512ms) +2026-09-27T05:32:38.5328293Z ▶ SessionEvent Runtime mapper +2026-09-27T05:32:38.5330183Z ✔ maps the original steering content digest into the durable Runtime event (0.454618ms) +2026-09-27T05:32:38.5331219Z ✔ maps provider retry progress as a partial non-terminal runtime fact (0.306759ms) +2026-09-27T05:32:38.5332247Z ✔ maps provider capacity retry progress without collapsing its reason (2.411906ms) +2026-09-27T05:32:38.5333078Z ✔ SessionEvent Runtime mapper (4.632696ms) +2026-09-27T05:32:38.5333726Z ▶ mapSessionEventToRuntimeEvent (pure) +2026-09-27T05:32:38.5334650Z ✔ mapCompleteStopReason covers all stop reasons (0.45596ms) +2026-09-27T05:32:38.5335595Z ✔ step_limit uses the established tool-step-cap failure class (1.398864ms) +2026-09-27T05:32:38.5336637Z ✔ tool_output_delta and tool_progress map to partial tool-role heartbeats (1.87999ms) +2026-09-27T05:32:38.5337781Z ✔ tool activity mapping retains nested CodeMode replay and parent identity (1.796989ms) +2026-09-27T05:32:38.5338791Z ✔ owns independent tool args across SessionEvent to RuntimeEvent mappings (0.42241ms) +2026-09-27T05:32:38.5339731Z ✔ plan_submitted maps to an agent-authored state delta (0.350699ms) +2026-09-27T05:32:38.5340633Z ✔ user_question_request maps to one system-authored runtime action (0.288225ms) +2026-09-27T05:32:38.5341555Z ✔ user_question_answer_ack maps without duplicating the canonical answer (0.177617ms) +2026-09-27T05:32:38.5342380Z ✔ form_request maps to one system-authored runtime action (0.217789ms) +2026-09-27T05:32:38.5343123Z ✔ form_answer_ack maps without duplicating the canonical result (0.195551ms) +2026-09-27T05:32:38.5344039Z ✔ tool_result without a prior tool_start still maps (name falls back to empty) (6.110379ms) +2026-09-27T05:32:38.5345014Z ✔ branch is propagated when present on the context (0.168294ms) +2026-09-27T05:32:38.5345829Z ✔ mapSessionEventToRuntimeEvent (pure) (14.403459ms) +2026-09-27T05:32:38.5346448Z ▶ SessionEvent projection coverage +2026-09-27T05:32:38.5347141Z ✔ keeps Host admission facts out of durable Runtime events (3.231217ms) +2026-09-27T05:32:38.5348056Z ✔ keeps Host-owned Client Capability interactions out of backend projection (0.348772ms) +2026-09-27T05:32:38.5352498Z ✔ text_delta projects without an unclaimed-event diagnostic (1.509678ms) +2026-09-27T05:32:38.5353326Z ✔ text_complete projects without an unclaimed-event diagnostic (0.602441ms) +2026-09-27T05:32:38.5354196Z ✔ thinking_delta projects without an unclaimed-event diagnostic (0.146566ms) +2026-09-27T05:32:38.5355231Z ✔ thinking_complete projects without an unclaimed-event diagnostic (3.0868ms) +2026-09-27T05:32:38.5356078Z ✔ tool_start projects without an unclaimed-event diagnostic (0.49877ms) +2026-09-27T05:32:38.5357052Z ✔ tool_output_delta projects without an unclaimed-event diagnostic (0.159263ms) +2026-09-27T05:32:38.5358242Z ✔ tool_progress projects without an unclaimed-event diagnostic (0.170662ms) +2026-09-27T05:32:38.5359285Z ✔ tool_result_preview projects without an unclaimed-event diagnostic (3.135182ms) +2026-09-27T05:32:38.5369093Z ✔ tool_result projects without an unclaimed-event diagnostic (2.043837ms) +2026-09-27T05:32:38.5370627Z ✔ sandbox_boundary_request projects without an unclaimed-event diagnostic (2.876966ms) +2026-09-27T05:32:38.5372596Z ✔ sandbox_boundary_decision_ack projects without an unclaimed-event diagnostic (0.299854ms) +2026-09-27T05:32:38.5374914Z ✔ user_question_request projects without an unclaimed-event diagnostic (0.1345ms) +2026-09-27T05:32:38.5377136Z ✔ user_question_answer_ack projects without an unclaimed-event diagnostic (0.115751ms) +2026-09-27T05:32:38.5378499Z ✔ form_request projects without an unclaimed-event diagnostic (0.186195ms) +2026-09-27T05:32:38.5380357Z ✔ form_answer_ack projects without an unclaimed-event diagnostic (0.123595ms) +2026-09-27T05:32:38.5382410Z ✔ plan_submitted projects without an unclaimed-event diagnostic (0.480473ms) +2026-09-27T05:32:38.5385449Z ✔ token_usage projects without an unclaimed-event diagnostic (0.367028ms) +2026-09-27T05:32:38.5387760Z ✔ steering_message projects without an unclaimed-event diagnostic (0.207222ms) +2026-09-27T05:32:38.5389874Z ✔ provider_retry projects without an unclaimed-event diagnostic (0.166635ms) +2026-09-27T05:32:38.5391885Z ✔ error projects without an unclaimed-event diagnostic (0.672114ms) +2026-09-27T05:32:38.5392823Z ✔ complete projects without an unclaimed-event diagnostic (0.162234ms) +2026-09-27T05:32:38.5395945Z ✔ abort projects without an unclaimed-event diagnostic (3.291553ms) +2026-09-27T05:32:38.5436575Z ✔ an unmapped SessionEvent maps to a reported control-only fact (0.278854ms) +2026-09-27T05:32:38.5454019Z ✔ SessionEvent projection coverage (26.650004ms) +2026-09-27T05:32:38.5455309Z ✔ MCP tools stay bound to the connection generation that advertised them (1348.206798ms) +2026-09-27T05:32:38.5456205Z ▶ MCP secret redaction +2026-09-27T05:32:38.5457052Z ✔ masks all remote header values and restores them only for the same URL (9.875911ms) +2026-09-27T05:32:38.5458217Z ✔ treats an unnormalized stored URL as the same endpoint (4.21424ms) +2026-09-27T05:32:38.5459199Z ✔ masks every stdio env value and binds restore to the whole launch basis (5.758362ms) +2026-09-27T05:32:38.5460289Z ✔ masks credential-bearing args and binds their restore to the command line (0.791682ms) +2026-09-27T05:32:38.5461305Z ✔ masks sensitive URL query values and binds their restore to the rest of the URL (0.64627ms) +2026-09-27T05:32:38.5462513Z ✔ treats cosmetic query-encoding differences as the same endpoint (0.555745ms) +2026-09-27T05:32:38.5463462Z ✔ masks and restores repeated sensitive query keys per occurrence (1.807823ms) +2026-09-27T05:32:38.5464305Z ✔ rejects a marker moved to a different position (0.442242ms) +2026-09-27T05:32:38.5465434Z ✔ replaces a stored clientSecret with the sentinel and leaves the rest (0.372167ms) +2026-09-27T05:32:38.5466353Z ✔ restores a sentinel from the previous on-disk value (0.729518ms) +2026-09-27T05:32:38.5467213Z ✔ rejects a sentinel when the endpoint URL changed (3.242151ms) +2026-09-27T05:32:38.5467939Z ✔ rejects a sentinel when the clientId changed (0.352033ms) +2026-09-27T05:32:38.5541203Z ✔ rejects a sentinel when the OAuth issuer changed (0.285165ms) +2026-09-27T05:32:38.5571415Z ✔ rejects a sentinel that has no previous value instead of persisting or dropping it (0.225477ms) +2026-09-27T05:32:38.5608280Z ✔ keeps a genuinely new secret (not the sentinel) on single-server restore (0.238264ms) +2026-09-27T05:32:38.5633502Z ✔ MCP secret redaction (34.287548ms) +2026-09-27T05:32:38.5657507Z ✔ shortens Memory paths with their native separator (1.420745ms) +2026-09-27T05:32:38.5684907Z ✔ leaves short Memory paths unchanged (0.244625ms) +2026-09-27T05:32:38.7750556Z ✔ exports session state, artifacts, and inspectable identity (999.879389ms) +2026-09-27T05:32:38.7795487Z ✔ omits diagnostics and keeps event types this build has never seen (650.396662ms) +2026-09-27T05:32:38.7846063Z ✔ exports the complete subagent subtree with per-session artifacts (747.686216ms) +2026-09-27T05:32:38.7903712Z ✔ rejects an active session before export (398.642014ms) +2026-09-27T05:32:38.7918120Z ✔ reports a missing live artifact without creating the destination (289.173931ms) +2026-09-27T05:32:38.7980392Z ✔ refuses to overwrite an existing destination (220.827101ms) +2026-09-27T05:32:38.8085912Z ✔ separates a directory that is not a workspace from a Session that is not there (366.725248ms) +2026-09-27T05:32:38.8145888Z ✔ carries JSON columns as bytes rather than re-encoding them (521.552508ms) +2026-09-27T05:32:38.8165671Z ✔ exports the subtree under any node, not only a top-level Session (1039.790579ms) +2026-09-27T05:32:38.8223882Z ✔ names the connection without carrying any credential into the bundle (730.416652ms) +2026-09-27T05:32:38.8253263Z ✔ refuses the whole tree when only a child session is still active (373.323849ms) +2026-09-27T05:32:38.8325813Z ✔ terminates on a subagent parent link that points back into the tree (354.035642ms) +2026-09-27T05:32:38.8338316Z ✔ leaves no excluded bytes in the bundled database file (911.392545ms) +2026-09-27T05:32:39.3546915Z ✔ drops a row that names no owning Session (577.46648ms) +2026-09-27T05:32:39.7076085Z ✔ refuses an artifact whose ancestor directory is a symlink (351.968786ms) +2026-09-27T05:32:39.9666328Z ✔ rebuilds a terminal unanswered question as abandoned (264.487254ms) +2026-09-27T05:32:40.0188232Z ✔ local delivery recovery cannot republish accepted Host queue rows (83.906326ms) +2026-09-27T05:32:40.0276288Z ✔ queue_update events drive the independent desktop queue projection (18.637797ms) +2026-09-27T05:32:40.0316321Z ✔ a rootless resubscription seed retires a stale queued card (2.217055ms) +2026-09-27T05:32:40.0376173Z ✔ steering delivery clears a promoted follow-up from the desktop queue (3.547386ms) +2026-09-27T05:32:40.0406493Z ✔ complete events deliver the durable context compaction outcome to Desktop (8.87298ms) +2026-09-27T05:32:40.4291407Z ▶ model catalog picker helpers +2026-09-27T05:32:40.4320748Z ✔ uses the readiness-checked activation candidate before an unverified first choice (1.883887ms) +2026-09-27T05:32:40.4346277Z ✔ keeps API connection labels while redacting OAuth account identities (3.501379ms) +2026-09-27T05:32:40.4364619Z ✔ does not offer Daily Review a Codex model the subscription cannot serve (0.707969ms) +2026-09-27T05:32:40.4406460Z ✔ labels a saved-but-unavailable selection in the UI locale (5.831331ms) +2026-09-27T05:32:40.4407548Z ✔ model catalog picker helpers (14.188335ms) +2026-09-27T05:32:40.5166560Z ✔ exports an unanswered question as abandoned when its invocation is terminal (547.731868ms) +2026-09-27T05:32:40.5266290Z ▶ Module Hub feature boundary +2026-09-27T05:32:40.5296139Z ✔ keeps Desktop globals and shell/process dependencies outside production feature code (26.500708ms) +2026-09-27T05:32:40.5325826Z ✔ is consumed outside the feature only through index or testing (148.683081ms) +2026-09-27T05:32:40.5372614Z ✔ keeps fakes out of the production entry (0.30336ms) +2026-09-27T05:32:40.5373685Z ✔ keeps module data, pages, nonce, bridges, and subscriptions out of AppShell (5.83833ms) +2026-09-27T05:32:40.5397698Z ✔ Module Hub feature boundary (184.675684ms) +2026-09-27T05:32:40.6119848Z ✔ official SDK receives one authoritative builtin tool result before end_turn (7605.880162ms) +2026-09-27T05:32:41.0546731Z ✔ round-trips opaque legacy RuntimeEvents beside a terminal unsettled tool (538.527088ms) +2026-09-27T05:32:41.4436758Z ✔ still refuses an unanswered question from a live invocation (389.83481ms) +2026-09-27T05:32:42.2707250Z ✔ exports an interrupted tool with unknown side effects as an explicit terminal state (823.851947ms) +2026-09-27T05:32:42.4572206Z ✔ does not write a terminal event while any dispatched tool is still prepared (189.303288ms) +2026-09-27T05:32:42.6646558Z ✔ stable page bridge retries rather than exposing a stale default-Host read (9.09903ms) +2026-09-27T05:32:42.6904052Z ✔ today paste captures its composer claim before reading and drops a late result (75.796267ms) +2026-09-27T05:32:42.6977220Z ✔ today paste rechecks its composer claim after an async failure Host fence (15.287648ms) +2026-09-27T05:32:42.7357065Z ✔ page actions suppress late feedback after leaving Daily Review (42.570464ms) +2026-09-27T05:32:42.7676449Z ✔ current default-Host Daily Review failures retain their diagnostic target (31.523686ms) +2026-09-27T05:32:42.8126460Z ✔ still refuses export while a dispatched tool belongs to an open invocation (349.666883ms) +2026-09-27T05:32:43.0269451Z ✔ reports an unreadable database as an environment failure, not a schema verdict (221.299039ms) +2026-09-27T05:32:43.3756334Z ✔ refuses a source whose schema is not current (342.838436ms) +2026-09-27T05:32:43.4056168Z ✔ Module Hub resolves all four leaf routes and no chat route (1.06057ms) +2026-09-27T05:32:43.4110870Z ✔ Host maps each route to one Module Hub leaf (0.614154ms) +2026-09-27T05:32:43.4979439Z ✔ falls back safely after the initial read fails and propagates write failures (64.098173ms) +2026-09-27T05:32:43.5006103Z ✔ external changes win over a slow write and the subscription is disposed (10.52975ms) +2026-09-27T05:32:43.5011221Z ✔ unsupported settings stay hidden and never probe an unavailable bridge (12.04823ms) +2026-09-27T05:32:43.5012418Z ✔ a pending initial read cannot publish after controller disposal (34.327547ms) +2026-09-27T05:32:44.0265980Z ✔ exports under authority the caller already holds (653.360597ms) +2026-09-27T05:32:44.3681702Z ✔ round-trips a Session into another workspace, row for row (1291.350668ms) +2026-09-27T05:32:44.3761632Z ✔ refuses a Session this workspace already has (622.748009ms) +2026-09-27T05:32:44.3816169Z ✔ carries the subagent subtree and its artifact bytes across (839.816285ms) +2026-09-27T05:32:44.3834972Z ✔ leaves the shared workspace connection as it found it (1030.644078ms) +2026-09-27T05:32:44.3905850Z ✔ refuses a bundle written against a different schema (840.135213ms) +2026-09-27T05:32:44.3952693Z ✔ carries managed context payloads and keeps usage accounting true (845.334521ms) +2026-09-27T05:32:44.3971701Z ✔ a failed context merge leaves nothing published and the retry then succeeds (1029.658488ms) +2026-09-27T05:32:44.4035816Z ✔ a failure after the context commit is still retryable (902.085027ms) +2026-09-27T05:32:44.4070753Z ✔ keeps bytes queued for deletion in the physical total (798.581376ms) +2026-09-27T05:32:44.4125845Z ✔ imports context into a workspace that has never held a Session (705.152202ms) +2026-09-27T05:32:44.4166021Z ✔ accepts an identical artifact left by a crashed attempt, and only an identical one (534.155795ms) +2026-09-27T05:32:44.4233062Z ✔ refuses a context payload whose path already holds different bytes (575.029132ms) +2026-09-27T05:32:44.4255868Z ✔ publishes a context payload past a staging file a crashed attempt left (699.544334ms) +2026-09-27T05:32:44.4295996Z ✔ imports under authority the caller already holds (535.883961ms) +2026-09-27T05:32:45.0296299Z ✔ refuses a lease that names a different Storage Root (661.316067ms) +2026-09-27T05:32:45.6447242Z ✔ refuses a bundle whose payload does not hash to what its row claims (610.716403ms) +2026-09-27T05:32:46.0413769Z ✔ refuses to publish through a payload directory that leaves the Storage Root (400.311724ms) +2026-09-27T05:32:46.5366264Z ✔ Module Hub owns deferred startup, default-Host refresh, and cleanup (1.99888ms) +2026-09-27T05:32:46.6087391Z ✔ clears the collection candidate of a blob the import references again (567.086494ms) +2026-09-27T05:32:46.7226977Z ✔ MCP create rejects an occupied ID and refreshes committed config after a failed connection (112.68615ms) +2026-09-27T05:32:46.7700157Z ✔ MCP holds an action until its refreshed config lands (44.129609ms) +2026-09-27T05:32:46.7855603Z ✔ MCP login can be cancelled on its original Host and never writes a late result into another Host (28.656642ms) +2026-09-27T05:32:46.7976199Z ✔ MCP ignores an older config read after a change notification (3.928787ms) +2026-09-27T05:32:46.8021907Z ✔ MCP can cancel an active login after reopening the page (6.272606ms) +2026-09-27T05:32:46.8106032Z ✔ MCP follows a configured Chrome server until its extension connects (3.198126ms) +2026-09-27T05:32:46.8585835Z ✔ controller scoping removes shell-wide work from Module Hub updates (143.134124ms) +2026-09-27T05:32:46.8625990Z ✔ command port keeps the newest controller through stale cleanup (0.876379ms) +2026-09-27T05:32:46.8627897Z ✔ Skills locations load when local path capability arrives at mount deferred startup (33.435669ms) +2026-09-27T05:32:46.8695971Z ✔ Skills locations load when local path capability arrives before deferred startup (22.66596ms) +2026-09-27T05:32:46.8717840Z ✔ Skills locations load when local path capability arrives after deferred startup (11.722573ms) +2026-09-27T05:32:47.2396352Z ✔ refuses a bundle whose context references a Session it does not carry (629.99348ms) +2026-09-27T05:32:47.7956310Z ✔ refuses a bundle carrying collection state from the workspace it left (554.797044ms) +2026-09-27T05:32:48.3643313Z ✔ refuses a payload path that is a symlink, even onto matching bytes (567.015097ms) +2026-09-27T05:32:48.9832537Z ✔ reports a payload path occupied by a directory as a conflict (617.094047ms) +2026-09-27T05:32:49.3816301Z ✔ Scheduled Tasks read uses generation and current-default-Host fences (53.162682ms) +2026-09-27T05:32:49.3875989Z ✔ stale Scheduled Task refresh errors do not outlive a newer generation (8.041589ms) +2026-09-27T05:32:49.3964942Z ✔ Scheduled Task mutations recheck their Host after the refresh (10.432999ms) +2026-09-27T05:32:49.4386603Z ✔ mutations keep titles current, preserve refreshes, and fence confirm continuation (37.531333ms) +2026-09-27T05:32:49.4516651Z ✔ a destructive confirmation cannot continue after controller unmount (6.451206ms) +2026-09-27T05:32:49.4616206Z ✔ subscriptions refresh, due navigation action is live, disposers run, and nonce resets (5.40709ms) +2026-09-27T05:32:49.4750714Z [desktop] operation failed: Error: list failed +2026-09-27T05:32:49.4796092Z at runOnDefaultRuntimeHost (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/module-hub/controller/default-runtime-host.js:36:15) +2026-09-27T05:32:49.4875514Z at async Object.refresh (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/module-hub/controller/use-scheduled-tasks-controller.js:52:26) +2026-09-27T05:32:49.4882816Z ✔ Scheduled Tasks refresh failures stay silent while the default Host is unavailable (29.3162ms) +2026-09-27T05:32:49.5274694Z ✔ refuses a bundle carrying a payload nothing references (548.866432ms) +2026-09-27T05:32:49.5565894Z ▶ createDesktopModuleHubServices +2026-09-27T05:32:49.5626088Z ✔ maps host-scoped Skills, Scheduled Tasks, Daily Review, and clipboard operations (16.528529ms) +2026-09-27T05:32:49.5635768Z ✔ forwards subscriptions, narrows Runtime Host events, and preserves disposers (6.729377ms) +2026-09-27T05:32:49.5685822Z ✔ maps keep-awake settings and safely gates an older preload (1.217139ms) +2026-09-27T05:32:49.5747050Z ✔ createDesktopModuleHubServices (26.090973ms) +2026-09-27T05:32:50.1875948Z ✔ refuses a bundle carrying usage for a Session it does not hold (660.885584ms) +2026-09-27T05:32:50.1996130Z ✔ Skills projections have independent same-Host generation and default-Host fences (110.180312ms) +2026-09-27T05:32:50.2326024Z ✔ Skills mutations preserve refresh combinations and suppress inactive or cancelled feedback (30.393302ms) +2026-09-27T05:32:50.2527557Z ✔ Skills capabilities and stale mutation diagnostics are fenced (17.074636ms) +2026-09-27T05:32:50.2648724Z ✔ Skills errors recheck the active surface after an async Host fence (7.530908ms) +2026-09-27T05:32:50.2736153Z ✔ stale Skills refresh errors do not outlive a newer successful generation (12.589989ms) +2026-09-27T05:32:50.2855671Z [desktop] operation failed: Error: list failed +2026-09-27T05:32:50.2893156Z at runOnDefaultRuntimeHost (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/module-hub/controller/default-runtime-host.js:36:15) +2026-09-27T05:32:50.2940385Z at async file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/module-hub/controller/use-skills-controller.js:83:26 +2026-09-27T05:32:50.2995451Z at async Promise.all (index 0) +2026-09-27T05:32:50.3048979Z at async Object.onRefreshSkills (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/module-hub/controller/use-skills-controller.js:572:13) +2026-09-27T05:32:50.3116161Z ✔ Skills refresh failures stay silent while the default Host is unavailable (20.807244ms) +2026-09-27T05:32:50.3117438Z [desktop] operation failed: Error: project-b unavailable +2026-09-27T05:32:50.3118900Z at runOnDefaultRuntimeHost (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/module-hub/controller/default-runtime-host.js:36:15) +2026-09-27T05:32:50.3120611Z at async file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/module-hub/controller/use-skills-controller.js:151:26 +2026-09-27T05:32:50.3121879Z at async Promise.all (index 1) +2026-09-27T05:32:50.3123246Z at async Object.refreshProjectSkills (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/module-hub/controller/use-skills-controller.js:559:9) +2026-09-27T05:32:50.3124990Z at async file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/module-hub-skills-controller.test.js:459:9 +2026-09-27T05:32:50.3126609Z ✔ changing Projects invalidates displayed Skill locations even when the refresh fails (15.34116ms) +2026-09-27T05:32:50.3186653Z ✔ Skill location actions do not retarget a snapshot from a previous default Host (8.82269ms) +2026-09-27T05:32:50.3314759Z ✔ a late Skill location response cannot restore the previous Project's directories (9.692031ms) +2026-09-27T05:32:50.3350676Z [desktop] operation failed: Error: Project is unavailable +2026-09-27T05:32:50.3407298Z at runOnDefaultRuntimeHost (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/module-hub/controller/default-runtime-host.js:36:15) +2026-09-27T05:32:50.3465884Z at async file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/module-hub/controller/use-skills-controller.js:83:26 +2026-09-27T05:32:50.3532600Z at async Promise.all (index 0) +2026-09-27T05:32:50.3585878Z at async Object.refreshProjectSkills (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/module-hub/controller/use-skills-controller.js:559:9) +2026-09-27T05:32:50.3609231Z ✔ independent Skill locations stay actionable when the Project has no usable context (7.476767ms) +2026-09-27T05:32:50.3647204Z ✔ refreshes Skill locations after stale_context without retrying the open action (2.490657ms) +2026-09-27T05:32:50.3707523Z ✔ refreshes Skill locations after missing without retrying the open action (5.727345ms) +2026-09-27T05:32:50.3765718Z ✔ remote Skills refreshes skip location IPC and clear local directory actions (8.745308ms) +2026-09-27T05:32:50.3825512Z ✔ a late Skill location failure cannot refresh after its Host changes (2.885601ms) +2026-09-27T05:32:50.3848415Z ✔ a late Skill location failure cannot refresh after its surface changes (4.949567ms) +2026-09-27T05:32:50.3876062Z ✔ a late Skill location failure cannot refresh after its generation changes (5.323519ms) +2026-09-27T05:32:50.3938171Z ✔ a late Skill location failure cannot refresh after its capability changes (5.348243ms) +2026-09-27T05:32:50.3941450Z ✔ revoking local paths during Host lookup suppresses pending Skill locations (2.215375ms) +2026-09-27T05:32:50.3945526Z ✔ revoking local paths during location response suppresses pending Skill locations (4.964604ms) +2026-09-27T05:32:50.4583269Z ✔ interleaves Hosts so one large corpus cannot fill the window (10.04326ms) +2026-09-27T05:32:50.4616262Z ✔ a Host that failed contributes nothing rather than failing the search (0.340039ms) +2026-09-27T05:32:50.4646005Z ✔ reports a Host failure when every Host failed, without inventing a result (0.311844ms) +2026-09-27T05:32:50.4647223Z ✔ a malformed Host payload is not mistaken for a success (0.249209ms) +2026-09-27T05:32:50.4676393Z ✔ gaps describe one corpus only, and a single Host keeps its full-scan flag (4.794189ms) +2026-09-27T05:32:50.4706048Z ✔ across several Hosts the envelope is complete only if every Host scanned fully (0.30675ms) +2026-09-27T05:32:50.4715900Z ✔ cancelling before Host discovery never dispatches the abandoned search (0.603614ms) +2026-09-27T05:32:50.4735896Z ✔ cancelling reaches every dispatched Host without waiting for results (3.921684ms) +2026-09-27T05:32:50.4765595Z ✔ the same request identity cannot run twice at once (5.659659ms) +2026-09-27T05:32:50.4795436Z ✔ copies diagnostics as an auxiliary dialog action (3.012302ms) +2026-09-27T05:32:50.4815736Z ✔ keeps Default Runtime Host errors in diagnostics instead of dialog copy (10.110826ms) +2026-09-27T05:32:50.4830615Z ✔ fatal startup errors remain copyable without a renderer or BrowserWindow (0.91327ms) +2026-09-27T05:32:50.4855692Z ✔ main Renderer loss keeps Copy Diagnostics auxiliary to recovery (0.699064ms) +2026-09-27T05:32:50.4885707Z ✔ every native file dialog string is translated in each locale (4.227628ms) +2026-09-27T05:32:50.4915717Z ✔ native menu returns only the selected action, cancels cleanly, and anchors at renderer zoom (14.547847ms) +2026-09-27T05:32:50.4916641Z ▶ Navigation selection persistence +2026-09-27T05:32:50.4945803Z ✔ hydrates the hub-shaped navigation state written by supported versions (8.093055ms) +2026-09-27T05:32:50.4976289Z ✔ migrates plan reminders written by the oldest supported version (0.34357ms) +2026-09-27T05:32:50.4978460Z ✔ ignores pre-hub selections from versions outside the support window (0.412774ms) +2026-09-27T05:32:50.4980452Z ✔ Navigation selection persistence (14.577136ms) +2026-09-27T05:32:50.7669597Z ✔ never replaces a context database that is already there (573.827069ms) +2026-09-27T05:32:51.2466573Z ✔ publishes only the payloads the bundle declares (480.726368ms) +2026-09-27T05:32:51.6916297Z ✔ refuses a bundle that declares a payload it does not carry (442.802262ms) +2026-09-27T05:32:51.7407818Z ▶ SessionManager terminal ledger invariants +2026-09-27T05:32:51.7476238Z ✔ coalesces one partial stream and flushes it before the final model event (12.457944ms) +2026-09-27T05:32:51.7505635Z ✔ fails a model boundary closed when its pending partial batch cannot be stored (3.037961ms) +2026-09-27T05:32:51.7536056Z ✔ error streams persist a failed terminal fact without non-terminal error ledger rows (15.10187ms) +2026-09-27T05:32:51.7537301Z ✔ an ordinary send leaves session_messages empty (4.317927ms) +2026-09-27T05:32:51.7597596Z ✔ stopSession keeps renderer abortSource on terminal facts and run headers (9.545782ms) +2026-09-27T05:32:51.7645790Z ✔ stopSession persists a WorkHub action-bound abort source (26.185528ms) +2026-09-27T05:32:51.7694115Z ✔ stopSession commits a terminal fact when the backend stream never ends (3.863037ms) +2026-09-27T05:32:51.7725776Z ✔ a stop whose terminal settlement fails stays retryable (5.791895ms) +2026-09-27T05:32:51.7758533Z ✔ a hosted stop leaves the terminal fact to the Host (8.308268ms) +2026-09-27T05:32:51.7785747Z ✔ terminal acceptance wins over a later stop during terminal persistence (5.044809ms) +2026-09-27T05:32:51.7815734Z ✔ concurrent terminal writes reserve exactly one terminal fact (3.750209ms) +2026-09-27T05:32:51.7855700Z ✔ a ledger rejection does not cost the run its terminal write (2.396783ms) +2026-09-27T05:32:51.7911587Z ✔ a corrupt ledger keeps stream writes closed but still lets the run say it ended (8.845395ms) +2026-09-27T05:32:51.7965623Z ✔ finalization keeps the silent skip when even the terminal barrier is refused (0.831664ms) +2026-09-27T05:32:51.7987474Z ✔ a sealed-run refusal neither latches the store nor stamps a trace failure (3.8427ms) +2026-09-27T05:32:51.7988787Z ✔ the continuation boundary hook fires only after the terminal barrier (0.323859ms) +2026-09-27T05:32:51.7989982Z ✔ synthetic finalization claims its terminal outcome before its first await (0.638561ms) +2026-09-27T05:32:51.7991546Z ✔ terminal run commits reject mismatched terminal RuntimeEvent statuses (0.342271ms) +2026-09-27T05:32:51.7992751Z ✔ terminal run commits reject terminal RuntimeEvents from another run (0.267456ms) +2026-09-27T05:32:51.7994050Z ✔ terminal run commits reject partial terminal RuntimeEvents (0.260603ms) +2026-09-27T05:32:51.8049720Z ✔ a synthetic cancelled terminal carries the fallback abortSource (3.746368ms) +2026-09-27T05:32:51.8093818Z ✔ synthetic terminal durability failures are not tolerated as header failures (0.629266ms) +2026-09-27T05:32:51.8135701Z ✔ synthetic terminal builder keeps live and recovered metadata distinct (0.304944ms) +2026-09-27T05:32:51.8177807Z ✔ terminal ledger classification rejects multiple terminal RuntimeEvent signals (0.33006ms) +2026-09-27T05:32:51.8240056Z ✔ runtime constructors reject AgentRunStore without a RuntimeEventStore (0.44971ms) +2026-09-27T05:32:51.8265581Z ✔ direct AgentRun terminal writes fail before terminal headers can commit (8.041479ms) +2026-09-27T05:32:51.8266867Z ✔ caught failures keep diagnostic text within the terminal byte budget (1.477506ms) +2026-09-27T05:32:51.8312770Z ✔ direct AgentRun finalize synthesizes a failed terminal fact when no terminal event was recorded (0.874403ms) +2026-09-27T05:32:51.8327013Z ✔ direct AgentRun stop synthesizes a cancelled terminal fact when no terminal event was recorded (4.228422ms) +2026-09-27T05:32:51.8367691Z ✔ a run that failed while recording its prompt records it before sealing (0.905125ms) +2026-09-27T05:32:51.8385645Z ✔ a run that failed while opening still records its prompt once finalize reopens it (0.695706ms) +2026-09-27T05:32:51.8410497Z ✔ a stop settlement racing finalize commits exactly one terminal run event (31.31285ms) +2026-09-27T05:32:51.8436814Z ✔ a stop settlement leaves an already sealed ledger untouched (0.850019ms) +2026-09-27T05:32:51.8465432Z ✔ stop settlement probes a latched store and settles when it answers (3.977362ms) +2026-09-27T05:32:51.8475544Z ✔ a retried stop settles once a latched store answers again (0.959679ms) +2026-09-27T05:32:51.8505736Z ✔ stop settlement probes a latched run store instead of skipping the terminal commit (10.75862ms) +2026-09-27T05:32:51.8535747Z ✔ Runtime execution still commits failed terminal facts when failed turn projection fails (1.995557ms) +2026-09-27T05:32:51.8555783Z ✔ startup recovery leaves a failed terminal RuntimeEvent that states no failure class alone (5.446149ms) +2026-09-27T05:32:51.8565713Z ✔ startup recovery leaves an aborted terminal RuntimeEvent that states no source alone (0.881246ms) +2026-09-27T05:32:51.8595637Z ✔ RuntimeReadModel reads a run outcome off its terminal RuntimeEvent fact (6.757623ms) +2026-09-27T05:32:51.8697760Z ✔ RuntimeReadModel preserves per-run event order when timestamps disagree (0.899257ms) +2026-09-27T05:32:51.8766107Z ✔ RuntimeReadModel retains terminal partial snapshots alongside durable events (0.820849ms) +2026-09-27T05:32:51.8835760Z ✔ RuntimeReadModel rejects a failing durable-order reader (3.583229ms) +2026-09-27T05:32:51.8895900Z ✔ RuntimeReadModel rejects a run whose ledger has no valid terminal fact (0.721566ms) +2026-09-27T05:32:51.8955647Z ✔ SessionManager terminal ledger invariants (227.530389ms) +2026-09-27T05:32:51.8995776Z ✔ sendMessage rejects removed Automation as a live trigger (6.171283ms) +2026-09-27T05:32:51.9055687Z ✔ sendMessage rejects removed child AgentRun lineage as a live trigger (8.319064ms) +2026-09-27T05:32:51.9139624Z ✔ listSessions preserves known-empty live run state (5.595663ms) +2026-09-27T05:32:51.9175641Z ✔ listChildSessions preserves known-empty live run state (1.086205ms) +2026-09-27T05:32:51.9225800Z ▶ SessionManager Plan control boundaries +2026-09-27T05:32:51.9285818Z ✔ an exact approval retry completes Session side effects after a partial failure (4.488065ms) +2026-09-27T05:32:51.9345762Z ✔ does not commit a same-mode Plan revision before backend disposal succeeds (2.587127ms) +2026-09-27T05:32:51.9419218Z ✔ does not commit Plan cancellation before backend disposal succeeds (7.590904ms) +2026-09-27T05:32:51.9456408Z ✔ classifies an ineligible execution cancellation as a domain conflict (0.734857ms) +2026-09-27T05:32:51.9518646Z ✔ rejects Plan mode for a linked child Session (9.372049ms) +2026-09-27T05:32:51.9545591Z ✔ SessionManager Plan control boundaries (25.640969ms) +2026-09-27T05:32:51.9636691Z ▶ SessionManager Plan terminal settlement +2026-09-27T05:32:51.9695651Z ✔ a completed root Turn commits the terminal steps the model already reported (6.306126ms) +2026-09-27T05:32:51.9725785Z ✔ a completed root Turn interrupts an execution that never reached a terminal step (0.670481ms) +2026-09-27T05:32:51.9805569Z ✔ a failed or cancelled root Turn interrupts the active execution (3.382925ms) +2026-09-27T05:32:51.9806720Z ✔ a repeated settlement replays the recorded receipt without a second write (754.767767ms) +2026-09-27T05:32:51.9843677Z ✔ settling an execution that already finished writes nothing (292.463637ms) +2026-09-27T05:32:51.9884721Z ✔ a Session without Plan authority settles nothing (0.397412ms) +2026-09-27T05:32:51.9915529Z ✔ SessionManager Plan terminal settlement (1061.61506ms) +2026-09-27T05:32:51.9945468Z ▶ SessionManager graph operator provisioning +2026-09-27T05:32:51.9946401Z ✔ provisions a graph operator before its active supervisor turn returns (38.412102ms) +2026-09-27T05:32:51.9947358Z ✔ serializes graph operator provisioning with parent permission narrowing (6.331004ms) +2026-09-27T05:32:51.9948432Z ✔ snapshots a catalog agent into a metadata-only child with reserved activation ids (1.150667ms) +2026-09-27T05:32:51.9949504Z ✔ provisions a graph child on an explicit plugin executor without Maka tools (0.940603ms) +2026-09-27T05:32:51.9950582Z ✔ keeps four large graph branches and a replacement off the supervisor data plane (206.290481ms) +2026-09-27T05:32:51.9951691Z ✔ does not advertise implementation when the current project cannot use worktrees (0.959784ms) +2026-09-27T05:32:51.9952686Z ✔ binds implementation operators to a durable project worktree (1.465829ms) +2026-09-27T05:32:51.9953677Z ✔ recovers only the latest unpublished implementation patch idempotently (2.203967ms) +2026-09-27T05:32:51.9954730Z ✔ SessionManager graph operator provisioning (261.970283ms) +2026-09-27T05:32:51.9955448Z ▶ SessionManager claimed graph intent execution +2026-09-27T05:32:51.9956249Z ✔ fails closed without a trusted hosted graph execution capability (1.231086ms) +2026-09-27T05:32:51.9957275Z ✔ hosted execution reads the trusted claim and delegates the exact root descriptor (10.525526ms) +2026-09-27T05:32:51.9958397Z ✔ hosted execution rejects prompt drift from the durable graph claim before admission (0.848452ms) +2026-09-27T05:32:51.9959457Z ✔ hosted retry reuses an admitted user message identity before a Run exists (2.681749ms) +2026-09-27T05:32:51.9960476Z ✔ hosted retry rejects an existing Run without its durable RootTurn admission (1.197769ms) +2026-09-27T05:32:51.9961431Z ✔ hosted explicit abort stops only the exact claimed root identity (5.052537ms) +2026-09-27T05:32:51.9962367Z ✔ recovers a pending hosted graph admission without source lineage (1.816758ms) +2026-09-27T05:32:51.9963390Z ✔ runs the exact claimed session-inline activation and durably deduplicates retries (7.72164ms) +2026-09-27T05:32:51.9964529Z ✔ joins concurrent execution of one claim and rejects in-flight input drift (5.332935ms) +2026-09-27T05:32:51.9995104Z ✔ serializes different claims per child session without letting a queued abort stop active work (20.390844ms) +2026-09-27T05:32:51.9996794Z ✔ evaluates execution admission only after a claimed child-session slot is available (15.121257ms) +2026-09-27T05:32:51.9998048Z ✔ keeps a stop pending across graph admission with an idle cached backend (10.221333ms) +2026-09-27T05:32:51.9999294Z ✔ runtime stop settles queued graph claims without letting their slots pass the active claim (19.033725ms) +2026-09-27T05:32:52.0000559Z ✔ recovers an existing nonterminal claimed run without invoking the backend again (14.152576ms) +2026-09-27T05:32:52.0002192Z ✔ target Session stop owns a claimed graph execution before its first runtime preflight (17.777449ms) +2026-09-27T05:32:52.0003553Z ✔ fails closed before runtime when claim routing collides or targets a main session (2.096941ms) +2026-09-27T05:32:52.0054921Z ✔ SessionManager claimed graph intent execution (140.086268ms) +2026-09-27T05:32:52.0055875Z ▶ SessionManager child-session runtime primitive +2026-09-27T05:32:52.0056753Z ✔ runs an explicitly delegated child through a plugin executor with no Maka tools (8.500937ms) +2026-09-27T05:32:52.0057821Z ✔ creates a fresh read-only child with a session-inline first run and no parent history (19.936178ms) +2026-09-27T05:32:52.0058939Z ✔ freezes a configured subagent model target independently from the parent (9.886456ms) +2026-09-27T05:32:52.0059885Z ✔ tells callers to retry when a subagent preset profile changes during spawn (3.390361ms) +2026-09-27T05:32:52.0060767Z ✔ child sessions preserve an explicit no-project association (7.225517ms) +2026-09-27T05:32:52.0061782Z ✔ hosted child spawn joins the exact in-flight identity and rejects request drift (13.074162ms) +2026-09-27T05:32:52.0062889Z ✔ starts a metadata-only retry once, notifies once, and rechecks cancellation (13.224243ms) +2026-09-27T05:32:52.0086067Z ✔ reopens a child from its exact runtime snapshot after the builtin profile changes (19.219414ms) +2026-09-27T05:32:52.0087125Z ✔ reopens after restart with isolated history, tool activity, usage, and compaction (30.726721ms) +2026-09-27T05:32:52.0088099Z ✔ recovers an idempotent retry whose persisted initial run is no longer active (5.855298ms) +2026-09-27T05:32:52.0089069Z ✔ requires the exact parent run to remain active before admitting child work (9.204591ms) +2026-09-27T05:32:52.0089958Z ✔ admits child work through an external parent-run authority (7.703467ms) +2026-09-27T05:32:52.0090908Z ✔ child stop is isolated while parent stop reaches every foreground child session (11.190658ms) +2026-09-27T05:32:52.0091881Z ✔ observes a rejected hosted stop while child lookup is pending (12.451632ms) +2026-09-27T05:32:52.0092741Z ✔ observes a rejected direct stop while hosted child lookup is pending (5.933145ms) +2026-09-27T05:32:52.0093738Z ✔ startup recovery reads Runtime handoff evidence only for a domain-owned active Plan (1.603528ms) +2026-09-27T05:32:52.0094926Z ✔ startup recovery reads Plan evidence only for inventory candidates (3.773487ms) +2026-09-27T05:32:52.0095989Z ✔ startup recovery repairs an interrupted child inline run only in the child session (4.532107ms) +2026-09-27T05:32:52.0097090Z ✔ SessionManager child-session runtime primitive (206.923866ms) +2026-09-27T05:32:52.0097913Z ▶ SessionManager manual compaction and quiescent session changes +2026-09-27T05:32:52.0098797Z ✔ runs backend history compaction as a runtime turn and persists diagnostics (10.927187ms) +2026-09-27T05:32:52.0099799Z ✔ manual compaction settles one canonical record for the run the kernel opened (286.661553ms) +2026-09-27T05:32:52.0100754Z ✔ persists one visible warning when manual compaction fails open (17.773753ms) +2026-09-27T05:32:52.0101662Z ✔ persists exactly one context_compacted note when manual compaction succeeds (2.240737ms) +2026-09-27T05:32:52.0102593Z ✔ persists a fail-open note when the backend throws during manual compaction (11.77241ms) +2026-09-27T05:32:52.0103549Z ✔ manual compaction stopped before backend start does not write compact artifacts (5.657578ms) +2026-09-27T05:32:52.0205046Z ✔ cold manual compaction normalizes only its execution cancellation reason (11.335241ms) +2026-09-27T05:32:52.0206478Z ✔ stopSession waits for compaction blocked before Run reservation (1.053288ms) +2026-09-27T05:32:52.0207532Z ✔ manual compaction is stopped through the active runtime run lifecycle (5.605963ms) +2026-09-27T05:32:52.0208639Z ✔ compactSession rejects while a turn is running and writes no compact artifacts (4.865322ms) +2026-09-27T05:32:52.0209798Z ✔ configuration transitions fence active runs and unavailable resource side effects (6.127043ms) +2026-09-27T05:32:52.0211326Z ✔ configuration transitions clear a connection block only on explicit Host authority (2.263407ms) +2026-09-27T05:32:52.0212690Z ✔ workspace relocation uses the same quiescent revision fence as execution configuration (0.932895ms) +2026-09-27T05:32:52.0213795Z ✔ configuration transitions reject a claimed turn without waiting for it to settle (1.336113ms) +2026-09-27T05:32:52.0215062Z ✔ a claimed turn waits for an in-flight session mutation before reading its header (21.359234ms) +2026-09-27T05:32:52.0216185Z ✔ backend refresh propagates delayed disposal failure after an active turn settles (6.457995ms) +2026-09-27T05:32:52.0217305Z ✔ backend refresh joins an in-flight best-effort disposal and observes its failure (3.66371ms) +2026-09-27T05:32:52.0218509Z ✔ backend activation waits for disposal and a later mutation invalidates its replacement (16.679396ms) +2026-09-27T05:32:52.0219681Z ✔ backend refresh invalidates only cached sessions without listing persisted history (7.286468ms) +2026-09-27T05:32:52.0220774Z ✔ SessionManager manual compaction and quiescent session changes (425.773809ms) +2026-09-27T05:32:52.0221564Z ▶ SessionManager permission mode updates +2026-09-27T05:32:52.0222404Z ✔ preserves the plugin executor when widening permission with an active turn (2.082255ms) +2026-09-27T05:32:52.0223558Z ✔ configuration authority rejects a stale revision without changing the committed grant (4.717344ms) +2026-09-27T05:32:52.0224830Z ✔ serializes configuration commits that observed the same execution boundary (385.977876ms) +2026-09-27T05:32:52.0226016Z ✔ rejects unprotected boundary commits when admission mutation authority is unavailable (2.167632ms) +2026-09-27T05:32:52.0227182Z ✔ retains a permission refresh during backend header until the admitted turn exits (6.70655ms) +2026-09-27T05:32:52.0228308Z ✔ retains a permission refresh during backend safety until the admitted turn exits (13.812799ms) +2026-09-27T05:32:52.0229458Z ✔ retains a permission refresh during backend admission until the admitted turn exits (8.026041ms) +2026-09-27T05:32:52.0230657Z ✔ retains a permission refresh during backend activation_gate until the admitted turn exits (1.495095ms) +2026-09-27T05:32:52.0231832Z ✔ retains a permission refresh during backend prepare until the admitted turn exits (8.583722ms) +2026-09-27T05:32:52.0232856Z ✔ retains a permission refresh during backend build until the admitted turn exits (6.376986ms) +2026-09-27T05:32:52.0233874Z ✔ strict refresh marks cold snapshots without waiting for the policy gate (4.785652ms) +2026-09-27T05:32:52.0305573Z ✔ a pre-activation refresh does not retain a cancelled admission (1.734218ms) +2026-09-27T05:32:52.0306498Z ✔ a pre-activation refresh does not retain a failed admission (2.986838ms) +2026-09-27T05:32:52.0307321Z ✔ settles a backend refresh when an in-flight build fails (7.557968ms) +2026-09-27T05:32:52.0308169Z ✔ revokes background shell authority before narrowing Auto to Explore (0.752096ms) +2026-09-27T05:32:52.0309235Z ✔ treats an expanded Explore profile as narrowing before restoring Explore (5.278803ms) +2026-09-27T05:32:52.0310619Z ✔ restoring Explore revokes an approved read through configuration authority (277.756033ms) +2026-09-27T05:32:52.0311716Z ✔ restoring Explore revokes an approved write through configuration authority (260.87531ms) +2026-09-27T05:32:52.0312803Z ✔ restoring Explore revokes an approved network through configuration authority (273.87601ms) +2026-09-27T05:32:52.0313865Z ✔ configuration narrowing revokes descendant background shell authority (5.371678ms) +2026-09-27T05:32:52.0314996Z ✔ keeps narrowing blocked until all overlapping turns finish (6.132562ms) +2026-09-27T05:32:52.0316076Z ✔ legacy research Sessions stay read-only after restart until explicitly changed (1.067446ms) +2026-09-27T05:32:52.0317243Z ✔ configuration changes require Store capability: readHeaderRecordSnapshot (0.41071ms) +2026-09-27T05:32:52.0318337Z ✔ configuration changes require Store capability: updateSessionConfiguration (0.202822ms) +2026-09-27T05:32:52.0319578Z ✔ starts a new turn without workspace identity when safety inspection fails (4.525559ms) +2026-09-27T05:32:52.0320653Z ✔ records handoff workspace identity even while manual resume is disabled (1.552921ms) +2026-09-27T05:32:52.0321770Z ✔ declares the T1 protocol for an AiSdk run when the host wires the durable boundary (4.6034ms) +2026-09-27T05:32:52.0322917Z ✔ plans continuation from authoritative host facts without caller-supplied safety claims (18.381523ms) +2026-09-27T05:32:52.0324009Z ✔ parks when authoritative continuation safety inspection fails (0.562763ms) +2026-09-27T05:32:52.0325202Z ✔ keeps the authoritative continuation entry disabled unless the host enables it (0.246152ms) +2026-09-27T05:32:52.0326279Z ✔ discovers the newest resumable top-level source run from durable state (13.108231ms) +2026-09-27T05:32:52.0327352Z ✔ fresh-turn tool policy changes only new runs and preserves Session defaults (6.699455ms) +2026-09-27T05:32:52.0328425Z ✔ RuntimeKernel drives the backend while preserving the SessionEvent stream (1.942538ms) +2026-09-27T05:32:52.0329404Z ✔ the invocation opening fact is durable before any dispatch (7.990972ms) +2026-09-27T05:32:52.0330334Z ✔ a rejected opening fact stops the turn before the backend can dispatch (8.308205ms) +2026-09-27T05:32:52.0331331Z ✔ snapshots mutable turn content before durable commit and backend dispatch (2.670179ms) +2026-09-27T05:32:52.0332112Z ✔ RuntimeKernel preserves the per-turn step cap through backend dispatch (64.230507ms) +2026-09-27T05:32:52.0333122Z ✔ manual continuation preserves sandbox denial authority: client_denied (32.920002ms) +2026-09-27T05:32:52.0334142Z ✔ manual continuation preserves sandbox denial authority: turn_stopped (23.067562ms) +2026-09-27T05:32:52.0395894Z ✔ manual continuation preserves sandbox denial authority: turn_terminal (16.891677ms) +2026-09-27T05:32:52.0397043Z ✔ manual continuation preserves sandbox denial authority: host_restarted (16.287051ms) +2026-09-27T05:32:52.0398081Z ✔ manual continuation preserves sandbox denial authority: missing_reader (7.647062ms) +2026-09-27T05:32:52.0399087Z ✔ executes an approved continuation after a path move without another user message (36.711387ms) +2026-09-27T05:32:52.0400166Z ✔ authenticates the exact target-aware continuation projection that reaches the provider (129.87418ms) +2026-09-27T05:32:52.0401140Z ✔ strict backend refresh settles after an active continuation finalizes (22.932703ms) +2026-09-27T05:32:52.0402108Z ✔ parks repeated planning after the source run already produced a continuation (32.745458ms) +2026-09-27T05:32:52.0403063Z ✔ rejects continuation while a normal turn is still registering (16.149792ms) +2026-09-27T05:32:52.0404079Z ✔ rejects a stale second plan after another continuation claims the same source (23.40802ms) +2026-09-27T05:32:52.0405247Z ✔ serializes concurrent continuation claims for the same source boundary (24.688208ms) +2026-09-27T05:32:52.0406263Z ✔ does not call the backend and claim recovery closes a continuation-start persistence failure (24.79325ms) +2026-09-27T05:32:52.0407627Z ✔ stop after the durable continuation-start commit fences backend dispatch (15.32944ms) +2026-09-27T05:32:52.0408628Z ✔ does not call the backend when the durable continuation claim cannot be created (15.128983ms) +2026-09-27T05:32:52.0409696Z ✔ refuses a planned continuation whose source ledger changed after planning (5.894784ms) +2026-09-27T05:32:52.0410837Z ✔ startup recovery retries claim-only terminal projection without dispatching the provider (25.492076ms) +2026-09-27T05:32:52.0412027Z ✔ rejects continuation when the authoritative workspace identity changes after planning (6.742805ms) +2026-09-27T05:32:52.0413052Z ✔ requires exact tool-catalog equality between continuation planning and execution (20.598796ms) +2026-09-27T05:32:52.0414105Z ✔ revalidates continuation safety inside the backend activation barrier (4.455056ms) +2026-09-27T05:32:52.0415574Z ✔ fails closed when continuation execution has no authoritative safety inspector (5.731117ms) +2026-09-27T05:32:52.0416569Z ✔ sendMessage completes interrupted imported history beside native runs (12.910935ms) +2026-09-27T05:32:52.0417526Z ✔ sendMessage admits assistant-first repaired history at a user boundary (76.069218ms) +2026-09-27T05:32:52.0418470Z ✔ sendMessage rejects an imported Session while its history is staging (0.464998ms) +2026-09-27T05:32:52.0419450Z ✔ sendMessage replays a prior run left non-terminal by an unanswered interaction (4.357382ms) +2026-09-27T05:32:52.0420567Z ✔ RuntimeReadModel projects messages turns and terminal facts without SessionStore messages (1.105777ms) +2026-09-27T05:32:52.0421650Z ✔ SessionManager projects hosted permission details from the canonical outcome (2.815632ms) +2026-09-27T05:32:52.0422662Z ✔ SessionManager joins a canonical hosted permission without a ledger request (0.735384ms) +2026-09-27T05:32:52.0423606Z ✔ RuntimeReadModel fails closed for a missing or mismatched hosted permission outcome (3.216449ms) +2026-09-27T05:32:52.0484916Z ✔ RuntimeReadModel bounds concurrent hosted permission outcome reads (4.155122ms) +2026-09-27T05:32:52.0486015Z ✔ RuntimeReadModel excludes child runs from the default session transcript (0.999383ms) +2026-09-27T05:32:52.0486948Z ✔ projection/cache mismatch does not override RuntimeEvent read output (0.571306ms) +2026-09-27T05:32:52.0487923Z ✔ getMessages repairs missing failed header class from an existing terminal RuntimeEvent (0.891031ms) +2026-09-27T05:32:52.0488983Z ✔ getMessages leaves a failed terminal RuntimeEvent that states no class alone (4.011155ms) +2026-09-27T05:32:52.0490107Z ✔ getMessages includes continuation output without inlining child agent output (1.155366ms) +2026-09-27T05:32:52.0491048Z ✔ getMessages reads an active run from its own ledger (4.189187ms) +2026-09-27T05:32:52.0491936Z ✔ getMessages overlays a canonical permission acceptance from a running ledger (0.76167ms) +2026-09-27T05:32:52.0493004Z ✔ the in-flight overlay keeps a pending sandbox boundary request visible in the view (0.697847ms) +2026-09-27T05:32:52.0494124Z ✔ mixed projection-cache-only system notes do not override RuntimeEvent projection (0.651272ms) +2026-09-27T05:32:52.0495474Z ✔ getMessages orders RuntimeEvent-primary reads by durable session chronology (1.568188ms) +2026-09-27T05:32:52.0496590Z ✔ multi-run RuntimeEvent projection preserves retry regenerate and branch lineage on turns (3.302831ms) +2026-09-27T05:32:52.0497897Z ✔ next turn projects failed prior RuntimeEvents with the terminal fact failure class (6.649862ms) +2026-09-27T05:32:52.0498936Z ✔ next parent turn excludes child run RuntimeEvents from model context (3.669022ms) +2026-09-27T05:32:52.0499890Z ✔ stopSession owns an active Run and a parent turn admitted before reservation (10.090381ms) +2026-09-27T05:32:52.0500826Z ✔ a factory AbortError is not normalized as execution cancellation (1.042595ms) +2026-09-27T05:32:52.0501728Z ✔ stop signal cooperatively releases a blocked backend factory (1.205487ms) +2026-09-27T05:32:52.0502748Z ✔ node timers AbortError is cancellation only when its cause is this execution stop (1.043831ms) +2026-09-27T05:32:52.0504182Z ✔ late ignored-signal backend is disposed once and never cached or dispatched (9.017691ms) +2026-09-27T05:32:52.0505502Z ✔ late cancelled backend disposal failure propagates as an AggregateError (5.908319ms) +2026-09-27T05:32:52.0506479Z ✔ concurrent stopSession calls share one stop attempt (1.884253ms) +2026-09-27T05:32:52.0507472Z ✔ stopSession waits for a registering turn and fences it before backend send (10.659547ms) +2026-09-27T05:32:52.0508503Z ✔ stopSession fences dispatch after the public onRunStarted hook (4.215687ms) +2026-09-27T05:32:52.0509461Z ✔ concurrent cold turns share one backend generation without accepting an ownerless response (8.275433ms) +2026-09-27T05:32:52.0510472Z ✔ stopSession retries an unsettled abort without a second backend stop (8.228249ms) +2026-09-27T05:32:52.0511778Z ✔ stopSession retains a failed projection after its Run exits without reentering backend stop (1.736673ms) +2026-09-27T05:32:52.0513023Z ✔ agent projections list catalog definitions separately from child runs and read output artifacts by child turn (7.854182ms) +2026-09-27T05:32:52.0514215Z ✔ child agent projections use the terminal RuntimeEvent fact when the child header is stale (0.915779ms) +2026-09-27T05:32:52.0576023Z ✔ agent output returns a bounded child inspection instead of full replay internals (7.885561ms) +2026-09-27T05:32:52.0577108Z ✔ agent output bounds oversized runtime events by serialized bytes (1.76765ms) +2026-09-27T05:32:52.0578114Z ✔ backend build failure after user append writes a failed terminal run fact (4.630236ms) +2026-09-27T05:32:52.0579170Z ✔ marks a sandbox boundary request waiting and blocks boundary mode changes (5.152909ms) +2026-09-27T05:32:52.0580176Z ✔ lists an unanswered user question until its answer ack lands (115.629524ms) +2026-09-27T05:32:52.0581103Z ✔ releases a question abandoned by a stopped turn (105.141739ms) +2026-09-27T05:32:52.0581963Z ✔ reads a completed session back after a sandbox boundary allow (9.056952ms) +2026-09-27T05:32:52.0582942Z ✔ reads a completed session back with an unclaimed control fact in its ledger (8.208724ms) +2026-09-27T05:32:52.0583873Z ✔ refuses a session view when an unclaimed event carries content (7.69185ms) +2026-09-27T05:32:52.0585044Z ✔ complete(stopReason=error) without a prior error event classifies as runtime_error not unknown (1.590587ms) +2026-09-27T05:32:52.0586100Z ✔ marks an explicit step limit incomplete without blocking the session (7.523715ms) +2026-09-27T05:32:52.0587021Z ✔ does not let a late complete event overwrite a prior turn error (7.659488ms) +2026-09-27T05:32:52.0587931Z ✔ stopSession records renderer abort source for diagnostics (1.304802ms) +2026-09-27T05:32:52.0588982Z ✔ stopSession persists abortSource on a terminal RuntimeEvent emitted during backend stop (3.694523ms) +2026-09-27T05:32:52.0590117Z ✔ sendMessage does not emit or persist backend events after the first terminal event (8.656613ms) +2026-09-27T05:32:52.0591215Z ✔ sendMessage ignores backend errors thrown after a completed terminal event is recorded (13.739881ms) +2026-09-27T05:32:52.0592277Z ✔ stopSession keeps aborted state even if the backend emits a late error (2.070074ms) +2026-09-27T05:32:52.0593353Z ✔ durable run ledger records lifecycle trace events and redacts obvious secrets (8.905219ms) +2026-09-27T05:32:52.0594791Z ✔ history compact cleanup includes continuation events without including child agent events (23.922831ms) +2026-09-27T05:32:52.0595743Z ✔ persists an explicit same-coverage successor checkpoint (11.216747ms) +2026-09-27T05:32:52.0596656Z ✔ rejects checkpoint recording after the current AgentRun store becomes unavailable (2.09313ms) +2026-09-27T05:32:52.0597814Z ✔ recovers a missing projection before rejecting a shorter cold-start checkpoint (10.501567ms) +2026-09-27T05:32:52.0598982Z ✔ startup recovery unsticks a legacy transcript Session and its import settles the turns (22.400008ms) +2026-09-27T05:32:52.0600089Z ✔ startup recovery settles arbitrary dispatched tools before terminalizing the run (17.003291ms) +2026-09-27T05:32:52.0601421Z ✔ startup recovery does not leave stale permission waits stuck (6.471075ms) +2026-09-27T05:32:52.0602417Z ✔ startup recovery keeps the generic restart class for an answered boundary request (6.448021ms) +2026-09-27T05:32:52.0603332Z ✔ SessionManager permission mode updates (2582.719562ms) +2026-09-27T05:32:52.0603903Z ▶ session projection helpers +2026-09-27T05:32:52.0664961Z ✔ binds WorkHub Stop provenance to one valid action identity (2.138284ms) +2026-09-27T05:32:52.0666316Z ✔ buildStatusPatch normalizes blocked reasons and clears non-blocked reasons (1.063081ms) +2026-09-27T05:32:52.0667366Z ✔ projects terminal run statuses and session terminal events (0.552757ms) +2026-09-27T05:32:52.0668321Z ✔ projects turn terminal events without changing failure classes (0.291769ms) +2026-09-27T05:32:52.0669379Z ✔ session projection helpers (6.047627ms) +2026-09-27T05:32:52.0670344Z ✔ session recap drops a repaired Assistant prefix before its provider request (10.584367ms) +2026-09-27T05:32:52.0671402Z ✔ session recap bounds its request to the newest complete turns (1.085723ms) +2026-09-27T05:32:52.0672419Z ✔ session recap keeps bounded evidence from one oversized latest turn (2.027306ms) +2026-09-27T05:32:52.0673602Z ✔ session recap includes a concise durable outcome without tool protocol or raw output (5.517736ms) +2026-09-27T05:32:52.0674790Z ✔ session recap budgets only the evidence it sends (8.102865ms) +2026-09-27T05:32:52.0675671Z ✔ session recap carries the quoted excerpt of a structured-only message (0.537421ms) +2026-09-27T05:32:52.0676561Z ✔ session recap excludes model-hidden tool outcomes (0.325938ms) +2026-09-27T05:32:52.0677558Z ✔ session recap treats a zero evidence budget as no evidence, not unbounded input (2.690725ms) +2026-09-27T05:32:52.0678744Z ✔ todo_read returns the complete committed snapshot and names empty distinctly (12.145081ms) +2026-09-27T05:32:52.0679806Z ✔ todo_write renders only the store-returned committed snapshot (1.645599ms) +2026-09-27T05:32:52.0680760Z ✔ todo_write names a successful clear and propagates failure (1.493976ms) +2026-09-27T05:32:52.0681846Z ✔ tool schemas enforce the exact bounded document while counting Unicode characters (5.930865ms) +2026-09-27T05:32:52.0682915Z ✔ todo tool results use the shared display-safe content projection (4.665424ms) +2026-09-27T05:32:52.0683610Z ▶ session trace projection +2026-09-27T05:32:52.0684307Z ✔ keeps the same turn identity separate across distinct runs (7.526864ms) +2026-09-27T05:32:52.0685455Z ✔ preserves durable history-compaction route and provider failure facts (2.39359ms) +2026-09-27T05:32:52.0686434Z ✔ an entirely unpriced logical call keeps its step cost absent (0.356276ms) +2026-09-27T05:32:52.0687413Z ✔ a logical call sums its priced retry attempts and ignores unpriced ones (0.449548ms) +2026-09-27T05:32:52.0688464Z ✔ attributes a turn failure to what failed first, not to the terminal error (0.929252ms) +2026-09-27T05:32:52.0689471Z ✔ projects a generic-lane function call as an in-flight tool step (0.886244ms) +2026-09-27T05:32:52.0690390Z ✔ settles a generic-lane tool step from its matching response (1.731314ms) +2026-09-27T05:32:52.0691327Z ✔ prefers the durable dispatch step when a function call also has one (1.855067ms) +2026-09-27T05:32:52.0692425Z ✔ reports a backend that emits no canonical records instead of rendering an idle session (0.556072ms) +2026-09-27T05:32:52.0693512Z ✔ known unreadable evidence makes an otherwise absent backend partial (2.514212ms) +2026-09-27T05:32:52.0754957Z ✔ distinguishes a partially covered session from a wholly uncovered one (6.660148ms) +2026-09-27T05:32:52.0756253Z ✔ a session with no model activity is uncovered rather than incomplete (0.224343ms) +2026-09-27T05:32:52.0757243Z ✔ collapses a re-appended settlement instead of inventing a retry (0.298454ms) +2026-09-27T05:32:52.0758545Z ✔ reports a shortfall when usage stands for more steps than there are calls (1.250303ms) +2026-09-27T05:32:52.0759741Z ✔ a matching turn is reported as no known gap rather than as proven complete (2.014294ms) +2026-09-27T05:32:52.0760733Z ✔ a tool failure the turn recovered from does not fail the turn (0.321033ms) +2026-09-27T05:32:52.0761706Z ✔ an unreadable record is a known gap even with no other evidence of one (0.205323ms) +2026-09-27T05:32:52.0762709Z ✔ a session that is only unreadable records is still a covered session (0.191842ms) +2026-09-27T05:32:52.0763517Z ✔ session trace projection (53.423617ms) +2026-09-27T05:32:52.0763991Z ▶ detectShell +2026-09-27T05:32:52.0764798Z ✔ on win32 picks pwsh from PATH ahead of everything else (7.486326ms) +2026-09-27T05:32:52.0765712Z ✔ on win32 finds pwsh at its default install location when not on PATH (0.268553ms) +2026-09-27T05:32:52.0766679Z ✔ on win32 falls back to Windows PowerShell 5.1 when pwsh is absent (0.252211ms) +2026-09-27T05:32:52.0767607Z ✔ on win32 falls back to cmd.exe when no PowerShell exists (1.743848ms) +2026-09-27T05:32:52.0768451Z ✔ on POSIX platforms keeps the system default shell (0.466401ms) +2026-09-27T05:32:52.0769091Z ✔ detectShell (20.298706ms) +2026-09-27T05:32:52.0769543Z ▶ resolveShellPlan +2026-09-27T05:32:52.0770269Z ✔ keeps automatic detection unchanged when no override is selected (0.445892ms) +2026-09-27T05:32:52.0771216Z ✔ resolves an existing absolute bash.exe on the Windows Host (1.123486ms) +2026-09-27T05:32:52.0772168Z ✔ recognizes the legacy System32 WSL shim as a distinct Bash plan (1.600524ms) +2026-09-27T05:32:52.0773188Z ✔ fails closed for another platform, a relative path, or a missing executable (5.551879ms) +2026-09-27T05:32:52.0774099Z ✔ probes GNU Bash identity before accepting the preference (1.688528ms) +2026-09-27T05:32:52.0774905Z ✔ resolveShellPlan (13.485928ms) +2026-09-27T05:32:52.0775396Z ▶ resolveTurnShellPlan +2026-09-27T05:32:52.0776101Z ✔ resolves a healthy explicit preference into a ready plan (1.552876ms) +2026-09-27T05:32:52.0777178Z ✔ captures a moved or uninstalled executable instead of throwing at turn admission (0.351081ms) +2026-09-27T05:32:52.0778094Z ✔ keeps automatic detection error-free (0.097848ms) +2026-09-27T05:32:52.0778976Z ✔ fails closed at the Bash boundary without falling back to another shell (0.195783ms) +2026-09-27T05:32:52.0779991Z ✔ declares the outage to the model instead of naming a shell that cannot run (0.336678ms) +2026-09-27T05:32:52.0780817Z ✔ resolveTurnShellPlan (3.709476ms) +2026-09-27T05:32:52.0781335Z ▶ buildShellSpawnPlan +2026-09-27T05:32:52.0782072Z ✔ spawns an explicit Git Bash executable with POSIX command syntax (0.257757ms) +2026-09-27T05:32:52.0783125Z ✔ feeds the legacy WSL shim through stdin instead of quoting a command argument (0.252332ms) +2026-09-27T05:32:52.0784183Z ✔ never falls back to the platform shell for a malformed explicit Bash plan (0.308024ms) +2026-09-27T05:32:52.0846033Z ✔ spawns PowerShell explicitly and preserves the command in an isolated script block (0.312887ms) +2026-09-27T05:32:52.0847131Z ✔ appends an exit-code wrapper so native command exit codes survive -Command (1.783904ms) +2026-09-27T05:32:52.0848126Z ✔ keeps shell:true for the system default shells (posix and cmd) (0.195735ms) +2026-09-27T05:32:52.0848843Z ✔ buildShellSpawnPlan (5.465877ms) +2026-09-27T05:32:52.0849348Z ▶ buildPtyShellSpawnPlan +2026-09-27T05:32:52.0850010Z ✔ uses explicit argv for POSIX, cmd, and PowerShell PTYs (0.339454ms) +2026-09-27T05:32:52.0850706Z ✔ buildPtyShellSpawnPlan (0.62604ms) +2026-09-27T05:32:52.5185624Z ✔ new plugin-executor Sessions preserve the selected thinking level (1.046151ms) +2026-09-27T05:32:52.5268987Z ✔ new native Sessions continue using the catalog-resolved thinking level (0.224302ms) +2026-09-27T05:32:52.6463049Z ✔ registers an explicit unassociated Desktop directory as a Project target (7.438834ms) +2026-09-27T05:32:52.6508099Z ✔ preserves an explicit no-Project directory as a Host-path target (0.240171ms) +2026-09-27T05:32:52.6559065Z ✔ uses an explicit Project identity without trusting the Client directory (4.755368ms) +2026-09-27T05:32:52.6616056Z ✔ uses the configured default before the current Project preference (0.386818ms) +2026-09-27T05:32:52.6641015Z ✔ falls back to the current preference when the configured default is stale (0.257915ms) +2026-09-27T05:32:52.6668438Z ✔ falls back to the current Host path when no Project preference exists (0.185578ms) +2026-09-27T05:32:52.6715541Z ✔ requires a Host Project for remote session creation (6.73861ms) +2026-09-27T05:32:53.2146738Z ✔ a Session keeps its own staged quotes, and the new-task bucket keeps its own (79.792367ms) +2026-09-27T05:32:53.2367834Z ✔ a completing send clears the attachments it submitted (21.931899ms) +2026-09-27T05:32:53.2918935Z ✔ AppShell composition shows the localized non-vision image notice once per task (57.495946ms) +2026-09-27T05:32:53.2986164Z ✔ retracted queue attachments can be restored and submitted without re-ingest (7.343304ms) +2026-09-27T05:32:53.3090306Z ✔ files chosen in the native dialog land in the composer now on screen (6.533739ms) +2026-09-27T05:32:53.3145850Z ✔ files dropped while a session switch is mid-sniff land in the composer now on screen (8.930173ms) +2026-09-27T05:32:53.3232931Z ✔ dropped files stage by content: a real image named .pdf notices, a disguised .png does not (5.848033ms) +2026-09-27T05:32:53.3294328Z ✔ a failed leading-byte read downgrades the declared image claim rather than trusting it (6.218608ms) +2026-09-27T05:32:53.4173232Z ✔ gates native notifications through every required condition (1.275325ms) +2026-09-27T05:32:53.4202134Z ✔ sanitizes notification content, caps it, and falls back per field (2.097863ms) +2026-09-27T05:32:53.4240350Z ▶ useOAuthLoginFlow pending-action guard +2026-09-27T05:32:53.4261755Z ✔ admits the first action and rejects a concurrent second one (1.021078ms) +2026-09-27T05:32:53.4296826Z ✔ re-admits an action only after the pending one finishes (1.271601ms) +2026-09-27T05:32:53.4325663Z ✔ useOAuthLoginFlow pending-action guard (9.889177ms) +2026-09-27T05:32:53.4332292Z ▶ useOAuthLoginFlow cancel-on-unmount +2026-09-27T05:32:53.4363003Z ✔ cancels a still-pending authorization request and clears the holder (6.950714ms) +2026-09-27T05:32:53.4385581Z ✔ does nothing when no authorization request is pending (0.18924ms) +2026-09-27T05:32:53.4419566Z ✔ clears the holder before cancelling so re-entrancy cannot double-cancel (0.210041ms) +2026-09-27T05:32:53.4423872Z ✔ useOAuthLoginFlow cancel-on-unmount (7.724389ms) +2026-09-27T05:32:53.7126799Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:32:53.7166265Z ▶ ACP tools through the official SDK, child process and Runtime Host +2026-09-27T05:32:53.7229585Z ✔ rejects conflicting live-client MCP takeover and applies it after the original owner closes (19368.743222ms) +2026-09-27T05:32:53.7455884Z ▶ runShellWithBoundedTail +2026-09-27T05:32:53.7499468Z ✔ writes a legacy WSL Bash command through stdin (21.399663ms) +2026-09-27T05:32:53.7549628Z ✔ keeps only the bounded tail of large output (never killed by size) (6.853262ms) +2026-09-27T05:32:53.7652717Z ✔ captures stderr and a non-zero exit code as data (does not reject) (5.580665ms) +2026-09-27T05:32:53.7733449Z ✔ times out a slow command, kills it, and reports timedOut (206.98883ms) +2026-09-27T05:32:53.7785742Z ✔ does not spawn a process for an already-aborted invocation (12.567792ms) +2026-09-27T05:32:53.7871306Z ✔ bounds output drain after the root exits while a detached descendant retains stdout (223.351519ms) +2026-09-27T05:32:53.7926380Z ✔ on timeout, escalates SIGTERM->SIGKILL and resolves only after the child is actually dead (634.707725ms) +2026-09-27T05:32:53.8026092Z ✔ on abort, kills detached descendants of a directly spawned process (202.851038ms) +2026-09-27T05:32:53.8052488Z ✔ keeps the bounded tail of oversized output without a newline (135.554523ms) +2026-09-27T05:32:53.8155331Z ✔ spawns a detected PowerShell explicitly with non-interactive flags (not via shell:true) (10.985668ms) +2026-09-27T05:32:53.8255958Z ✔ a native command exit code survives the PowerShell -Command path (requires pwsh) (1620.608849ms) +2026-09-27T05:32:53.8346322Z ✔ deliberate boundary: earlier native exit code wins over a final cmdlet failure (requires pwsh) (4245.019472ms) +2026-09-27T05:32:53.8405704Z ✔ emits every chunk live via emitOutput (14.811496ms) +2026-09-27T05:32:53.8455763Z ✔ caps live emitOutput per stream with a single suppressed marker (result keeps full tail) (12.144784ms) +2026-09-27T05:32:53.8535629Z ✔ killWindowsTree resolves false when taskkill cannot act on the target (5.644573ms) +2026-09-27T05:32:53.8556153Z ✔ runShellWithBoundedTail (7362.415061ms) +2026-09-27T05:32:54.0770439Z ✔ renders a coded Copilot import failure per locale, ignoring its machine message (1.198726ms) +2026-09-27T05:32:54.0881874Z ✔ renders the typed experimental_disabled reason per locale (0.224054ms) +2026-09-27T05:32:54.0918009Z ✔ renders the typed login_in_progress and presentation_failed reasons per locale (0.219134ms) +2026-09-27T05:32:54.0965215Z ✔ presentation prose no longer hijacks the presenter after the regex removal (1.776833ms) +2026-09-27T05:32:54.1036265Z ✔ falls back to catalog copy for an unknown code instead of the raw message (4.403782ms) +2026-09-27T05:32:54.1136045Z ✔ renders provider rate limits consistently from the stable status code (0.294012ms) +2026-09-27T05:32:54.1245792Z ✔ rejects raw backend prose for Traditional Chinese subscription errors (0.518679ms) +2026-09-27T05:32:54.1310103Z ▶ ShellRunProcessManager +2026-09-27T05:32:54.1385916Z ✔ rejects a model Read of a user-owned resource while preserving client inspection (420.116264ms) +2026-09-27T05:32:54.1439378Z ✔ rejects unprojectable provider tool-call identities before durable admission (177.546033ms) +2026-09-27T05:32:54.1456245Z ✔ keeps the default pipe path raw, separated, durable, and observed (278.19082ms) +2026-09-27T05:32:54.1457587Z ﹣ preserves CJK PowerShell output through pipes (0.372805ms) # Windows PowerShell 5.1 regression +2026-09-27T05:32:54.1458869Z ﹣ preserves the requested cwd through a real Git Bash login PTY (0.159069ms) # Git Bash PTY regression +2026-09-27T05:32:54.1459957Z ✔ uses the shared explicit PowerShell pipe plan (221.69088ms) +2026-09-27T05:32:54.1460973Z ✔ runs explicit argv and supplies inherited fd payloads on the pipe path (332.834622ms) +2026-09-27T05:32:54.1462051Z ✔ keeps foreground execution bounded and rejects PTY promotion (251.212498ms) +2026-09-27T05:32:54.1463126Z ✔ persists a late ConPTY PID on read without new output (481.290855ms) +2026-09-27T05:32:54.1464132Z ✔ persists a late ConPTY PID on exit without new output (344.32241ms) +2026-09-27T05:32:54.1465471Z ✔ hands off a long pipe command without output and publishes monotonic revisions (522.389174ms) +2026-09-27T05:32:54.1466822Z ✔ notifies resource owners when foreground and background commands reach terminal state (353.30596ms) +2026-09-27T05:32:54.1468409Z ✔ notifies resource owners exactly once when startup fails before admission (213.453563ms) +2026-09-27T05:32:54.1469722Z ✔ commits a durable starting identity before the native pipe process spawns (287.194203ms) +2026-09-27T05:32:54.1471006Z ✔ session close and runtime shutdown fence pipe startups blocked in durable creation (433.687886ms) +2026-09-27T05:32:54.1472178Z ✔ rechecks the session fence after the durable running commit (318.80647ms) +2026-09-27T05:32:54.1473279Z ✔ applies only explicit background timeouts and enforces their upper bound (281.843854ms) +2026-09-27T05:32:54.1475016Z ✔ latches timeout when the root exits during POSIX process discovery (420.515791ms) +2026-09-27T05:32:54.1476251Z ✔ preserves cancellation when timeout fires during POSIX process discovery (276.115207ms) +2026-09-27T05:32:54.1477460Z ✔ aborting foreground Bash terminates the process without leaking a ref (318.140074ms) +2026-09-27T05:32:54.1478614Z ✔ fences PTY starts admitted before session close and runtime shutdown (703.373425ms) +2026-09-27T05:32:54.1479846Z ✔ keeps overlapping session close leases isolated through rollback and commit (457.30995ms) +2026-09-27T05:32:54.3685558Z ✔ gives exactly one concurrent StopBackgroundTask call termination ownership (252.213379ms) +2026-09-27T05:32:54.8635587Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:32:54.8967836Z ✔ ignores a Stop abort that occurs after another admitted Stop commits termination (526.834135ms) +2026-09-27T05:32:55.3306807Z ✔ closes PTY control admission synchronously when Stop is admitted (435.461821ms) +2026-09-27T05:32:55.7306681Z ✔ closes PTY control at its mutation cut when shutdown starts after admission (397.077974ms) +2026-09-27T05:32:56.1849019Z ✔ reopens PTY control only after every pre-commit Stop has aborted (458.043321ms) +2026-09-27T05:32:56.6642908Z ✔ keeps a pipe task alive when Stop aborts during process-tree preparation (479.783944ms) +2026-09-27T05:32:56.9376657Z ✔ a remote Owner delta is scoped and a later failed full read keeps its last projection (931.120206ms) +2026-09-27T05:32:57.0025225Z ✔ keeps a PTY task controllable when Stop aborts during process-tree preparation (331.435019ms) +2026-09-27T05:32:57.2526929Z ✔ recovers durable starting and running records without live handles as orphaned (251.930762ms) +2026-09-27T05:32:57.4357934Z ✔ concurrent orphan observers converge on the same durable terminal record (187.284631ms) +2026-09-27T05:32:57.5249493Z ✔ a Renderer Session event crosses preload to only its owning Host update (594.616344ms) +2026-09-27T05:32:57.7166300Z ✔ keeps unauthorized refs non-disclosing and rejects malformed selectors before storage (272.929976ms) +2026-09-27T05:32:58.1191716Z ✔ an older complete read cannot erase a newer targeted outcome (587.626254ms) +2026-09-27T05:32:58.1310390Z ✔ runs with real TTY stdin/stdout at 80x24 and preserves the shell exit code (412.649633ms) +2026-09-27T05:32:58.1336950Z ﹣ preserves CJK PowerShell output through a real PTY (0.303552ms) # Windows PowerShell 5.1 regression +2026-09-27T05:32:58.1355430Z ﹣ preserves the caller environment through a PowerShell PTY (0.122283ms) # Windows PowerShell 5.1 regression +2026-09-27T05:32:58.2224904Z ✔ first and last Session use targeted reads and preserve the settled milestone (14.970741ms) +2026-09-27T05:32:58.2256397Z ✔ global credential changes rebuild active and rail readiness from Core rules (0.727641ms) +2026-09-27T05:32:58.2305703Z ✔ a named change reads one row and never lists the catalog again (31.325712ms) +2026-09-27T05:32:58.2359128Z ✔ failed targeted reads leave the accepted baseline intact (1.147546ms) +2026-09-27T05:32:58.2429214Z ✔ an update before initial coverage requests a resync (0.285238ms) +2026-09-27T05:32:58.2483918Z ✔ a complete read waits for an in-flight targeted read before replacing its basis (0.779755ms) +2026-09-27T05:32:58.2507383Z ✔ a targeted read arriving during a complete read uses the newly accepted basis (0.725569ms) +2026-09-27T05:32:58.2545660Z ✔ a milestone write waits for an in-flight targeted read (0.84625ms) +2026-09-27T05:32:58.2632849Z ▶ open path guard +2026-09-27T05:32:58.2668731Z ✔ rejects the retired Skills key even when the compatibility folder exists (38.858534ms) +2026-09-27T05:32:58.2743420Z ✔ resolves known allowlisted keys inside workspace (20.185588ms) +2026-09-27T05:32:58.2822000Z ✔ resolves the main-owned project directory without accepting renderer paths (8.878296ms) +2026-09-27T05:32:58.2835436Z ✔ rejects unknown keys, missing targets, and files (8.261448ms) +2026-09-27T05:32:58.2932034Z ✔ rejects renderer attempts to pass paths or URLs as keys (3.260802ms) +2026-09-27T05:32:58.2976397Z ✔ rejects symlink escapes from inside an allowed directory (5.118468ms) +2026-09-27T05:32:58.3023823Z ✔ allows an allowed root that is itself a symlink after realpath normalization (7.158105ms) +2026-09-27T05:32:58.3088640Z ✔ open path guard (94.431064ms) +2026-09-27T05:32:58.3137465Z ✔ launchers run the entry in Node mode with the mode each caller needs (291.47732ms) +2026-09-27T05:32:58.3143313Z ✔ Windows launchers set Node mode before starting the entry (3.769245ms) +2026-09-27T05:32:58.3197797Z ✔ the host manifest goes to Chrome and existing browsers, never over another live install (6.033136ms) +2026-09-27T05:32:58.3235761Z ✔ Windows opens the store page in installed Chrome, not the default browser (77.71684ms) +2026-09-27T05:32:58.3260029Z ▶ createOptimisticDraftController last-write-wins +2026-09-27T05:32:58.3345746Z ✔ edits the local draft without persisting (2.206998ms) +2026-09-27T05:32:58.3416140Z ✔ drops a stale save response so it cannot clobber a newer draft (2.065261ms) +2026-09-27T05:32:58.3495989Z ✔ rolls the draft back to persisted on failure and reports failure (0.282586ms) +2026-09-27T05:32:58.3545686Z ✔ rolls a newer failed save back to an earlier confirmed success (0.261794ms) +2026-09-27T05:32:58.3577681Z ✔ applies an earlier confirmed success that settles after a newer failure (0.403839ms) +2026-09-27T05:32:58.3619624Z ✔ does not resync the draft from persisted while a save is in flight (0.466182ms) +2026-09-27T05:32:58.3667746Z ✔ applies the latest persisted snapshot when the final pending save settles (1.270886ms) +2026-09-27T05:32:58.3715549Z ✔ reports saving for the full pending batch instead of each individual settle (1.058302ms) +2026-09-27T05:32:58.3775630Z ✔ invalidates an in-flight save after dispose even while the owner still reports mounted (3.312213ms) +2026-09-27T05:32:58.3835759Z ✔ accepts updates again after a StrictMode cleanup replay reactivates it (0.787124ms) +2026-09-27T05:32:58.3876853Z ✔ keeps pre-dispose responses invalid after reactivation (0.267076ms) +2026-09-27T05:32:58.3886801Z ✔ createOptimisticDraftController last-write-wins (20.060712ms) +2026-09-27T05:32:58.3941766Z ▶ OS permission platform policy +2026-09-27T05:32:58.3987563Z ✔ normalizes Electron media states without treating restrictions as requestable (1.203187ms) +2026-09-27T05:32:58.4015401Z ✔ only probes media statuses on platforms where Electron exposes them (0.280507ms) +2026-09-27T05:32:58.4045046Z ✔ advertises only request actions the main process can perform (3.071111ms) +2026-09-27T05:32:58.4046807Z ✔ routes stale denied requests to System Settings and never fakes notification success (2.390683ms) +2026-09-27T05:32:58.4048088Z ✔ attempts a real screen capture before deciding whether settings are needed (0.413181ms) +2026-09-27T05:32:58.4049101Z ✔ OS permission platform policy (16.767168ms) +2026-09-27T05:32:58.5026526Z ✔ writes semantic text and Enter actions through a real PTY (377.396236ms) +2026-09-27T05:32:58.8736917Z ✔ rejects malformed PTY controls before commit without poisoning later input (371.606847ms) +2026-09-27T05:32:58.9596560Z ✔ ask authorizes the exact MCP Session scope and settles the authoritative result before end_turn (5245.621065ms) +2026-09-27T05:32:59.3216292Z ✔ encodes keys from the terminal mode parsed before the control cut (444.474751ms) +2026-09-27T05:32:59.6981471Z ✔ encodes mouse actions from SGR cell mode parsed before the control cut (380.845169ms) +2026-09-27T05:33:00.0736573Z ✔ rejects unavailable mouse input without changing or terminating the PTY (365.736058ms) +2026-09-27T05:33:00.0902701Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:33:00.6166339Z ✔ delivers Ctrl-C and Ctrl-D as terminal control characters (549.786674ms) +2026-09-27T05:33:01.0011989Z ✔ keeps concurrent PTY controls FIFO without an output-observation wait (386.630369ms) +2026-09-27T05:33:01.2846404Z ✔ publishes raw PTY deltas and exposes a bounded replay snapshot (280.569868ms) +2026-09-27T05:33:01.8436729Z ✔ sequences each published PTY delta and keeps snapshots on publish boundaries (552.228512ms) +2026-09-27T05:33:02.2346602Z ✔ keeps concurrent PTY control and Read persistence in parser-cut order (396.289634ms) +2026-09-27T05:33:02.5896225Z ✔ joins finalization when a real PTY exits before a queued control cut (355.874083ms) +2026-09-27T05:33:02.9046948Z ✔ writeStdin itself returns terminal status when persist is held through finalization (310.36217ms) +2026-09-27T05:33:03.2756314Z ✔ rejects WriteStdin aborted before commit without stopping the PTY (376.148694ms) +2026-09-27T05:33:03.6009072Z ✔ restores the trailing PTY flush after a queued control aborts before commit (325.112221ms) +2026-09-27T05:33:03.9412165Z ✔ linearizes native resize, collector resize, input, and snapshot on a real PTY (338.47651ms) +2026-09-27T05:33:04.2658921Z ✔ uses Unicode 11 cell widths for CJK, combining marks, and emoji (325.524263ms) +2026-09-27T05:33:04.5619808Z ✔ joins soft-wrapped scrollback into logical lines (300.337657ms) +2026-09-27T05:33:05.4666722Z ✔ drains the final frame after parser backpressure and drops an evicted wrapped prefix (897.306116ms) +2026-09-27T05:33:05.7148336Z ✔ returns the redrawn screen rather than stale pre-clear text (254.98229ms) +2026-09-27T05:33:06.0088051Z ✔ captures only the latest alternate-screen epoch when a real PTY program leaves it (293.007836ms) +2026-09-27T05:33:06.2245175Z ✔ consumes terminal side channels while preserving visible hyperlink text (214.330644ms) +2026-09-27T05:33:06.5473689Z ✔ writes xterm protocol replies back to the real PTY synchronously (324.475736ms) +2026-09-27T05:33:07.1929836Z ✔ fails closed before terminal protocol replies can form an unbounded native write queue (641.845727ms) +2026-09-27T05:33:07.4807161Z ✔ redacts a secret across a soft wrap and the scrollback/screen boundary (288.187804ms) +2026-09-27T05:33:07.8947156Z ✔ settles after root exit when a detached descendant retains inherited stdout (416.113066ms) +2026-09-27T05:33:08.2516350Z ✔ stops descendants that detach from the real PTY process group (353.957461ms) +2026-09-27T05:33:09.0266441Z ▶ keeps the first committed lifecycle cause across Stop and timeout races +2026-09-27T05:33:09.0303851Z ✔ Stop commits first -> cancelled (Stop owns the termination) (776.852567ms) +2026-09-27T05:33:09.8627840Z ✔ timeout kills, then Stop arrives -> timed_out (driverExit branch) (831.206133ms) +2026-09-27T05:33:10.6468055Z ✔ timeout commits but process still alive, then Stop arrives -> timed_out (termination branch) (782.558296ms) +2026-09-27T05:33:10.6531291Z ✔ keeps the first committed lifecycle cause across Stop and timeout races (2391.417291ms) +2026-09-27T05:33:10.9145897Z ✔ releases failed startup slots and enforces total and PTY capacities independently (271.694858ms) +2026-09-27T05:33:11.8728379Z ✔ keeps SIGTERM final output and escalates an ignored SIGTERM without leaking slots (694.595014ms) +2026-09-27T05:33:11.8766050Z ✔ ShellRunProcessManager (24589.356117ms) +2026-09-27T05:33:12.0076185Z ▶ shell result projection +2026-09-27T05:33:12.0136116Z ✔ foreground terminal results retain executor output for durable Read recovery (1.613175ms) +2026-09-27T05:33:12.0238016Z ✔ shares one UTF-8 budget in screen, alternate, then latest scrollback priority (3.357465ms) +2026-09-27T05:33:12.0316011Z ✔ returns a losslessly serializable PTY result without an alternate screen (10.270868ms) +2026-09-27T05:33:12.0375729Z ✔ shell result projection (27.174482ms) +2026-09-27T05:33:12.0432846Z ▶ shell run sandbox denial projection +2026-09-27T05:33:12.0489367Z ✔ reports a diagnostic signal only for a failed sandboxed process (1.018354ms) +2026-09-27T05:33:12.0520475Z ✔ round-trips the producer sandbox denial through strict FileSessionStore recovery (584.164247ms) +2026-09-27T05:33:12.0565610Z ✔ shell run sandbox denial projection (585.83375ms) +2026-09-27T05:33:12.0590325Z ▶ PTY flattening for sandbox denial +2026-09-27T05:33:12.0653988Z ✔ detects denial in PTY scrollback field (0.408167ms) +2026-09-27T05:33:12.0685500Z ✔ detects denial in PTY screen field (0.271243ms) +2026-09-27T05:33:12.0701070Z ✔ detects denial in PTY lastAlternateScreen field (0.215282ms) +2026-09-27T05:33:12.0743732Z ✔ does NOT detect denial split across PTY fields (regex cannot cross newline) (0.216271ms) +2026-09-27T05:33:12.0775433Z ✔ does not flag PTY output when sandbox is not enforced (0.557196ms) +2026-09-27T05:33:12.0861381Z ✔ PTY flattening for sandbox denial (2.239479ms) +2026-09-27T05:33:12.0912248Z ✔ an explicit Git Bash tool declares POSIX syntax (4.142806ms) +2026-09-27T05:33:12.0995729Z ▶ Bash tool fails closed when the turn shell plan carries a setup error +2026-09-27T05:33:12.1076207Z ✔ description declares the outage instead of dialect guidance (0.656678ms) +2026-09-27T05:33:12.1155647Z ✔ local foreground execution throws the setup error before spawning (1.163161ms) +2026-09-27T05:33:12.1189718Z ✔ managed execution throws before any shell-run reaches the host (5.328395ms) +2026-09-27T05:33:12.1255782Z ✔ Bash tool fails closed when the turn shell plan carries a setup error (7.787124ms) +2026-09-27T05:33:12.1315752Z ▶ Bash tool shell is threaded through to execution, not just the description +2026-09-27T05:33:12.1355546Z ✔ foreground tool executes with the same shell it declares (44.629468ms) +2026-09-27T05:33:12.1376283Z ✔ background tool forwards its shell to the shell-run controller (1.440383ms) +2026-09-27T05:33:12.1435803Z ✔ managed completion callback remains exactly-once when the launcher settles it (1.02981ms) +2026-09-27T05:33:12.1495756Z ✔ Bash tool shell is threaded through to execution, not just the description (50.722886ms) +2026-09-27T05:33:12.1525478Z ▶ Bash provider-facing result projection +2026-09-27T05:33:12.1557045Z ✔ managed Bash removes only the duplicated foreground command (1.37099ms) +2026-09-27T05:33:12.1615683Z ✔ Bash provider-facing result projection (4.704917ms) +2026-09-27T05:33:12.1675347Z ▶ shapeTerminalResult projection +2026-09-27T05:33:12.1715587Z ✔ preserves foreground command output verbatim (1.025007ms) +2026-09-27T05:33:12.1737711Z ✔ surfaces sandboxDenial when a sandboxed command fails with a denial message (3.376156ms) +2026-09-27T05:33:12.1785554Z ✔ omits sandboxDenial when sandboxed is false (0.200789ms) +2026-09-27T05:33:12.1835737Z ✔ omits sandboxDenial when sandboxed field is absent (BoundedShellResult shape) (0.127767ms) +2026-09-27T05:33:12.1893882Z ✔ shapeTerminalResult projection (5.450427ms) +2026-09-27T05:33:12.1945798Z ▶ WriteStdin provider/strict contract conformance +2026-09-27T05:33:12.1998406Z ✔ every documented minimal example is accepted by BOTH the provider and strict layers (18.116204ms) +2026-09-27T05:33:12.2005592Z ✔ every mouse event has a covering example that passes both layers (1.406821ms) +2026-09-27T05:33:12.2044002Z ✔ every action type has a covering example (0.172086ms) +2026-09-27T05:33:12.2135760Z ✔ provider null/0/empty placeholders are tolerated and normalized away by the strict layer (2.153134ms) +2026-09-27T05:33:12.2159892Z ✔ strict validation is not vacuous: contract violations are rejected (0.943707ms) +2026-09-27T05:33:12.2205633Z ✔ WriteStdin provider/strict contract conformance (23.107423ms) +2026-09-27T05:33:12.2245208Z ▶ skill invocation +2026-09-27T05:33:12.2305563Z ✔ projects successful receipt occurrences by request or canonical Skill id (3.659472ms) +2026-09-27T05:33:12.2364031Z ✔ bounds successful Skill references to canonical transcript limits (3.990083ms) +2026-09-27T05:33:12.2393240Z ✔ lists only enabled, host-eligible skills as slim entries (141.763873ms) +2026-09-27T05:33:12.2445792Z ✔ discovers skills across all standard paths with first-found-wins dedupe (32.79154ms) +2026-09-27T05:33:12.2516038Z ✔ resolves several requests against one scan with per-request failures (32.97688ms) +2026-09-27T05:33:12.2559961Z ✔ matches loadSkillInstructions one-for-one against the same scan (22.670371ms) +2026-09-27T05:33:12.2625503Z ✔ composes trust-framed skill blocks followed by the user message (0.7672ms) +2026-09-27T05:33:12.2678032Z ✔ falls back to a directive when the user sent invocations only (0.260662ms) +2026-09-27T05:33:12.2754319Z ✔ preserves significant leading indentation in the user-message body (0.22569ms) +2026-09-27T05:33:12.2865706Z ✔ prepares mixed success and failure tokens from one latest scan (23.018604ms) +2026-09-27T05:33:12.2895072Z ✔ projects long Skill metadata into a transport-bounded receipt (13.261976ms) +2026-09-27T05:33:12.2967211Z ✔ reads the current state at send time and blocks when every invocation fails (16.21529ms) +2026-09-27T05:33:12.3025509Z ✔ merges structured ids before text tokens and deduplicates by id (13.964272ms) +2026-09-27T05:33:12.3055520Z ✔ blocks with resolution_failed when the authoritative scan throws (1.188527ms) +2026-09-27T05:33:12.3125486Z ✔ bounds explicit invocation request diagnostics (12.759229ms) +2026-09-27T05:33:12.3175703Z ✔ fails closed instead of resolving a partial request set after distinct-request overflow (12.535012ms) +2026-09-27T05:33:12.3215711Z ✔ applies the distinct-request limit across structured and text inputs (20.795348ms) +2026-09-27T05:33:12.3248603Z ✔ skill invocation (356.358919ms) +2026-09-27T05:33:12.3289989Z ▶ shared bundled skill catalog +2026-09-27T05:33:12.3405876Z ✔ trusts the Computer Use lock shipped immediately before the current bundled body (2.038254ms) +2026-09-27T05:33:12.3496237Z ✔ constructs and validates managed provenance and update status (0.646031ms) +2026-09-27T05:33:12.3515983Z ✔ shared bundled skill catalog (13.781189ms) +2026-09-27T05:33:12.3551021Z ▶ shared managed skill source reader +2026-09-27T05:33:12.3585642Z ✔ lists and reads real sources without requiring registry metadata (94.184346ms) +2026-09-27T05:33:12.3695984Z ✔ rejects symlinked roots and contained source escapes (10.380198ms) +2026-09-27T05:33:12.3864088Z ✔ distinguishes missing roots and children from read failures (14.591157ms) +2026-09-27T05:33:12.3938190Z ✔ resolves only the read-only machine source location contract (0.303889ms) +2026-09-27T05:33:12.3980191Z ✔ shared managed skill source reader (123.169836ms) +2026-09-27T05:33:12.4195891Z ▶ shared skill preference semantics +2026-09-27T05:33:12.4265905Z ✔ resolves stable refs and rejects ambiguous ids (0.362175ms) +2026-09-27T05:33:12.4285214Z ✔ patches one stable ref and clears review only after every collision is explicit (0.444241ms) +2026-09-27T05:33:12.4365930Z ✔ resolves case-only stable refs exactly while keeping bare ids normalized (0.17155ms) +2026-09-27T05:33:12.4405774Z ✔ encodes canonical schema v2 state for all persistence owners (26.514539ms) +2026-09-27T05:33:12.4422789Z ✔ shared skill preference semantics (27.885068ms) +2026-09-27T05:33:12.4489119Z ▶ runtime skills +2026-09-27T05:33:12.4545441Z ✔ reports malformed and missing required metadata as structured errors (30.469338ms) +2026-09-27T05:33:12.4546543Z ✔ keeps compatible skills loadable while reporting non-blocking metadata warnings (8.063142ms) +2026-09-27T05:33:12.4625716Z ✔ excludes invalid skills from the model catalog and preserves their diagnostics (85.040203ms) +2026-09-27T05:33:12.4658690Z ✔ reports deterministic duplicate id and display-name diagnostics (6.318498ms) +2026-09-27T05:33:12.4767772Z ✔ buildSkillsPromptFragment lists available skills and loadSkillInstructions loads them lazily (13.888584ms) +2026-09-27T05:33:12.4825967Z ✔ writeSkillRuntimeState persists per-workspace enablement and scan excludes disabled skills (20.381395ms) +2026-09-27T05:33:12.4877882Z ✔ loadSkillInstructions loads an enabled duplicate-name skill before reporting a disabled duplicate (12.228203ms) +2026-09-27T05:33:12.4953506Z ✔ readSkillRuntimeState fails closed when the state file is invalid (25.620706ms) +2026-09-27T05:33:12.4995427Z ✔ writeSkillRuntimeState does not write through a symlinked workspace metadata directory (20.170121ms) +2026-09-27T05:33:12.5029257Z ✔ reports blocked discovery roots instead of collapsing them into an empty catalog (7.600146ms) +2026-09-27T05:33:12.5105875Z ✔ discovers contained symlinked skill directories using the link identity (7.848933ms) +2026-09-27T05:33:12.5157407Z ✔ diagnoses unusable symlinked skill directories without hiding valid skills (18.313681ms) +2026-09-27T05:33:12.5215713Z ✔ readSkillRuntimeState does not read through a symlinked state file (48.825881ms) +2026-09-27T05:33:12.5290726Z ✔ buildSkillAgentTool exposes a read-only Skill tool that loads a single matching local skill (61.7109ms) +2026-09-27T05:33:12.5305555Z ✔ buildSkillAgentTool resolves project skills from each tool call cwd (13.189989ms) +2026-09-27T05:33:12.5416902Z ✔ loadSkillInstructions bounds loaded instructions and returns available skills on miss (17.41926ms) +2026-09-27T05:33:12.5455638Z ✔ buildSkillAgentTool honors the host capability gate when loading skills (11.553398ms) +2026-09-27T05:33:12.5545890Z ✔ loadSkillInstructions rejects skills hidden by the host capability gate with host_incompatible (17.749609ms) +2026-09-27T05:33:12.5679154Z ✔ resolves the Skill tool host per session (11.068933ms) +2026-09-27T05:33:12.5903355Z ✔ buildSkillsPromptFragment filters out skills whose required tools are missing on the host (15.366703ms) +2026-09-27T05:33:12.5987538Z ✔ gateSkillsByHostCapabilities hard-hides skills whose required tools are missing and only hints at missing declared tools (0.516908ms) +2026-09-27T05:33:12.6064084Z ✔ gateSkillsByHostCapabilities hides skills whose required capabilities are missing (0.242826ms) +2026-09-27T05:33:12.6097625Z ✔ scanSkills discovers skills from multiple directories and dedupes by id (first-found wins) (21.779954ms) +2026-09-27T05:33:12.6175924Z ✔ resolveSkillDiscoveryPaths returns the five standard paths with containment roots in precedence order (0.456857ms) +2026-09-27T05:33:12.6277298Z ✔ buildSkillsPromptFragment does not impose an arbitrary count limit (77.691241ms) +2026-09-27T05:33:12.6338099Z ✔ buildSkillsPromptFragment truncates by char budget without expanding every omitted id (426.306503ms) +2026-09-27T05:33:12.6385695Z ✔ keeps a scope-aware inventory while retaining only the highest-precedence duplicate (14.186482ms) +2026-09-27T05:33:12.6442386Z ✔ uses one canonical inventory for prompt, Skill, and SkillSearch without exposing shadowed duplicates (30.038991ms) +2026-09-27T05:33:12.6532672Z ✔ re-evaluates zero-match schema v2 bare preferences after multi-scope discovery changes (71.571617ms) +2026-09-27T05:33:12.6618080Z ✔ selects pinned skills first and explains every inventory decision (19.629187ms) +2026-09-27T05:33:12.6732854Z ✔ bounds SkillSearch results and records search-to-load ranking telemetry (218.021091ms) +2026-09-27T05:33:12.6825289Z ✔ runtime skills (1338.518631ms) +2026-09-27T05:33:12.6934954Z ▶ stream graph admission +2026-09-27T05:33:12.6964704Z ✔ claims one durable activation identity without invoking runtime (5.72058ms) +2026-09-27T05:33:12.7018550Z ✔ binds resolved execution input into the durable intent fingerprint (1.171842ms) +2026-09-27T05:33:12.7115571Z ✔ stream graph admission (11.51557ms) +2026-09-27T05:33:12.7215469Z ▶ host-managed agent graph coordinator +2026-09-27T05:33:12.7355760Z ✔ does not enumerate Sessions when no durable graph schedule needs recovery (6.413633ms) +2026-09-27T05:33:12.7535930Z ✔ authorizes only selected committed results from an earlier epoch of the same root (162.196952ms) +2026-09-27T05:33:12.7639203Z ✔ boots an empty graph from agent work and recovers it without duplicate topology (11004.598114ms) +2026-09-27T05:33:12.7726883Z ✔ derives stable graph identity from the root Session (0.570501ms) +2026-09-27T05:33:12.7806418Z ✔ reports asynchronous epoch lookup failures from a fire-and-forget wake (71.575543ms) +2026-09-27T05:33:12.7835551Z ✔ reads the epoch page and current marker from one storage observation (65.0291ms) +2026-09-27T05:33:12.7836539Z ✔ lists graph ids for tombstone cleanup without reading the Session header (55.430907ms) +2026-09-27T05:33:12.7837584Z ✔ advances only a finished and quiescent graph without waiting for old operator cleanup (100.051258ms) +2026-09-27T05:33:12.7838557Z ✔ concurrent cutovers converge on epoch 2 without skipping an epoch (79.760406ms) +2026-09-27T05:33:12.7839521Z ✔ persists work-keyed reconciliation failures across coordinator recovery (1054.578907ms) +2026-09-27T05:33:12.7840515Z ✔ rebuilds an exact historical graph projection without falling through to current (1.66022ms) +2026-09-27T05:33:12.7841547Z ✔ classifies retirement from durable graph state, not a stale client projection (19.910527ms) +2026-09-27T05:33:12.7842410Z ✔ surfaces topology cleanup failures from close (0.762447ms) +2026-09-27T05:33:12.7843171Z ✔ attempts every operator stop and surfaces all close failures (0.801044ms) +2026-09-27T05:33:12.7844099Z ✔ rejects concurrent yield when reconciliation only waits for uncommitted input (110.152144ms) +2026-09-27T05:33:12.7845123Z ✔ host-managed agent graph coordinator (12740.443955ms) +2026-09-27T05:33:12.7845714Z ▶ agent graph operator handoffs +2026-09-27T05:33:12.7846536Z ✔ hydrates a selected result or terminal record from the authoritative RuntimeEvent stream (7.693791ms) +2026-09-27T05:33:12.7847488Z ✔ bounds hydrated conclusion text across all selected inputs (2.49375ms) +2026-09-27T05:33:12.7848345Z ✔ fails closed when a committed record cannot resolve its source event (1.024468ms) +2026-09-27T05:33:12.7849267Z ✔ renders upstream conclusions as data under a common handoff protocol (1.546309ms) +2026-09-27T05:33:12.7850387Z ✔ agent graph operator handoffs (15.836018ms) +2026-09-27T05:33:12.7851070Z ▶ committed stream graph projection +2026-09-27T05:33:12.7851866Z ✔ projects immutable child-session events into a stable reference-only graph trace (11.518811ms) +2026-09-27T05:33:12.7852865Z ✔ replay is deterministic for reordered delivery and idempotent duplicates (0.897325ms) +2026-09-27T05:33:12.7853811Z ✔ replays reserved JavaScript property names as ordinary graph identities (0.555341ms) +2026-09-27T05:33:12.7854870Z ✔ rejects one Session projected under different operators across observations (0.945289ms) +2026-09-27T05:33:12.7855918Z ✔ keeps existing records byte-stable when a late operator contributes earlier event time (6.720429ms) +2026-09-27T05:33:12.7856949Z ✔ allows equal event times and resolves them with the stable source order key (0.623071ms) +2026-09-27T05:33:12.7857998Z ✔ projects concurrent tool commits whose immutable event times are not commit-monotonic (0.450268ms) +2026-09-27T05:33:12.7859125Z ✔ orders locale-equivalent Unicode source identities independently of stream input order (35.659495ms) +2026-09-27T05:33:12.7860239Z ✔ routes human-interaction facts to the always-on supervisor without blocking lifecycle (1.021926ms) +2026-09-27T05:33:12.7861217Z ✔ keeps later session-inline runs as distinct activations of one operator (0.589867ms) +2026-09-27T05:33:12.7862094Z ✔ fails closed on ambiguous authority or impossible replay order (4.995937ms) +2026-09-27T05:33:12.7862972Z ✔ preserves graph identity when no committed operator facts exist yet (0.265473ms) +2026-09-27T05:33:12.7863815Z ✔ committed stream graph projection (71.676672ms) +2026-09-27T05:33:12.7915284Z ▶ agent graph client read model +2026-09-27T05:33:12.8022952Z ✔ bounds terminal history with a reconnect-safe opaque cursor (19.296182ms) +2026-09-27T05:33:12.8033284Z ✔ rejects a terminal cursor from another graph (12.572438ms) +2026-09-27T05:33:12.8076152Z ✔ keeps schedule payloads bounded while preserving durable control refs (3.766483ms) +2026-09-27T05:33:12.8077130Z ✔ treats finish as admission closure until existing claims settle (1.654069ms) +2026-09-27T05:33:12.8115742Z ✔ bounds nested operator and inspection collections with omitted counts (74.907341ms) +2026-09-27T05:33:12.8205693Z ✔ materializes duplicate and out-of-order runtime records deterministically (19.567783ms) +2026-09-27T05:33:12.8255779Z ✔ agent graph client read model (136.395417ms) +2026-09-27T05:33:12.8290520Z ▶ operator-local stream graph readiness +2026-09-27T05:33:12.8315165Z ✔ derives one stable map intent per direct input route without supervisor gating (8.150688ms) +2026-09-27T05:33:12.8372260Z ✔ keeps a map operator waiting while exposing that state to the supervisor (0.707275ms) +2026-09-27T05:33:12.8415819Z ✔ waits for an exact all-settled activation frontier and accepts every terminal outcome (3.423383ms) +2026-09-27T05:33:12.8475735Z ✔ does not let a later follow-up activation rewrite a sealed all-settled intent (2.060762ms) +2026-09-27T05:33:12.8505698Z ✔ keeps local intent identity stable across unrelated and downstream-only topology changes (1.507676ms) +2026-09-27T05:33:12.8527440Z ✔ orders distinct Unicode identities canonically across topology and sealed inputs (11.233463ms) +2026-09-27T05:33:12.8609433Z ✔ keeps reserved JavaScript property names safe in readiness identities (0.742147ms) +2026-09-27T05:33:12.8645678Z ✔ fails closed on ambiguous or incomplete local readiness policies (1.529643ms) +2026-09-27T05:33:12.8695575Z ✔ operator-local stream graph readiness (31.786849ms) +2026-09-27T05:33:12.8716189Z ▶ stream graph schedule reconciliation +2026-09-27T05:33:12.8785978Z ✔ hydrates selected results without leaking them into another work item (125.796463ms) +2026-09-27T05:33:12.8796134Z ✔ defers work whose historical result source becomes unresolvable (120.52153ms) +2026-09-27T05:33:12.8842596Z ✔ resolves each historical result source once per reconciliation (102.812489ms) +2026-09-27T05:33:12.8896005Z ✔ defers only the work items whose historical source failed (132.694121ms) +2026-09-27T05:33:12.9019658Z ✔ executes existing operators durably and leaves new agents waiting for topology (92.638237ms) +2026-09-27T05:33:12.9145786Z ✔ materializes agent work as a child operator and claims its reserved first run (89.265378ms) +2026-09-27T05:33:12.9168387Z ✔ stops an admitted activation before considering later work (95.165254ms) +2026-09-27T05:33:12.9199861Z ✔ does not admit stale work when a stop wins the SQLite revision race (53.871916ms) +2026-09-27T05:33:12.9235797Z ✔ durably cancels a claim when stop wins before Runtime execution admission (77.983925ms) +2026-09-27T05:33:12.9250985Z ✔ ignores unknown stop and replacement targets without poisoning later work (78.700161ms) +2026-09-27T05:33:12.9272083Z ✔ notifies a dispatch failure before slower siblings settle (64.236433ms) +2026-09-27T05:33:12.9295849Z ✔ stream graph schedule reconciliation (1057.918783ms) +2026-09-27T05:33:12.9332499Z ▶ stream graph supervisor tools +2026-09-27T05:33:12.9333437Z ✔ exposes compact read, durable update, and cooperative yield tools (92.600981ms) +2026-09-27T05:33:12.9334781Z ✔ keeps graph identity and idempotency fields out of the model-facing update schema (36.623471ms) +2026-09-27T05:33:12.9336005Z ✔ rejects yield when requested work is already terminal and no future wake is pending (40.596676ms) +2026-09-27T05:33:12.9337183Z ✔ registers yield admission before reading a terminal runtime transition (46.044314ms) +2026-09-27T05:33:12.9338380Z ✔ uses explicit discriminators when a provider fills unrelated optional fields (29.947551ms) +2026-09-27T05:33:12.9339524Z ✔ fails closed on non-contiguous durable schedule replay (0.451636ms) +2026-09-27T05:33:12.9340577Z ✔ fails closed when the runtime observation is for another graph (57.52285ms) +2026-09-27T05:33:12.9341648Z ✔ paginates all live state instead of hiding older requested work (150.984717ms) +2026-09-27T05:33:12.9342599Z ✔ stream graph supervisor tools (457.344515ms) +2026-09-27T05:33:12.9343292Z ▶ stream graph trace topology +2026-09-27T05:33:12.9344242Z ✔ materializes deterministic direct-edge routes without putting the supervisor in the path (7.142253ms) +2026-09-27T05:33:12.9345615Z ✔ is deterministic and idempotent for reordered duplicate observations (1.741858ms) +2026-09-27T05:33:12.9346663Z ✔ fingerprints only declared topology fields in raw identity order (21.060418ms) +2026-09-27T05:33:12.9347704Z ✔ keeps existing route identities stable as later observations arrive (1.460936ms) +2026-09-27T05:33:12.9348728Z ✔ retains an observable topology before any runtime facts arrive (0.404496ms) +2026-09-27T05:33:12.9349635Z ✔ materializes reserved JavaScript property names as own snapshot keys (0.784417ms) +2026-09-27T05:33:12.9375601Z ✔ binds route identity to immutable edge endpoints (1.13883ms) +2026-09-27T05:33:12.9392772Z ✔ fails closed on invalid topology and record ownership (1.194639ms) +2026-09-27T05:33:12.9428508Z ✔ stream graph trace topology (37.186912ms) +2026-09-27T05:33:12.9465265Z ▶ StreamWatchdog +2026-09-27T05:33:12.9475566Z ✔ fires connect timeout before any activity (9.404285ms) +2026-09-27T05:33:12.9501154Z ✔ activity switches to idle timeout and resets the clock (0.322176ms) +2026-09-27T05:33:12.9525617Z ✔ pause suppresses timeout while waiting for user permission (0.604326ms) +2026-09-27T05:33:12.9555566Z ✔ nested pauses require matching resumes before idle timeout restarts (0.417935ms) +2026-09-27T05:33:12.9575446Z ✔ stop cancels the active timer (0.268551ms) +2026-09-27T05:33:12.9591876Z ✔ StreamWatchdog (20.915047ms) +2026-09-27T05:33:12.9615161Z ▶ subagent tools +2026-09-27T05:33:12.9635541Z ✔ parent-facing agent tools declare permission hints and names (22.404286ms) +2026-09-27T05:33:12.9661717Z ✔ parent tools advertise only definitions runnable in their composition (13.333532ms) +2026-09-27T05:33:12.9691610Z ✔ agent_spawn does not advertise retired task binding (14.618494ms) +2026-09-27T05:33:12.9719536Z ✔ agent_spawn strips task_id when task binding is unavailable (6.540522ms) +2026-09-27T05:33:12.9725981Z ✔ agent_spawn names both recovery routes when no child selector is provided (27.517931ms) +2026-09-27T05:33:12.9785767Z ✔ agent_spawn identifies the missing profile in profile mode and accepts the correction (2.351587ms) +2026-09-27T05:33:12.9795804Z ✔ agent_spawn identifies the missing subagent_id in preset mode and accepts the correction (5.580514ms) +2026-09-27T05:33:12.9815896Z ✔ explicit spawn modes discard provider-filled inactive fields and validate active fields (3.88785ms) +2026-09-27T05:33:12.9845902Z ✔ empty presets still expose a callable implementation profile and recover a mistaken preset selector (11.741529ms) +2026-09-27T05:33:12.9875582Z ✔ preset selectors remain authoritative even when their id matches a built-in profile (7.521611ms) +2026-09-27T05:33:12.9895735Z ✔ built-in catalog exposes local-read without shell, web, nested, or write tools (0.684853ms) +2026-09-27T05:33:12.9915867Z ✔ built-in catalog exposes web-research with only WebSearch and no local or write tools (2.442466ms) +2026-09-27T05:33:12.9935914Z ✔ built-in catalog exposes implementation only when a worktree executor is available (0.720592ms) +2026-09-27T05:33:12.9936999Z ✔ agent definition policy uses the explicit tool allowlist (0.239715ms) +2026-09-27T05:33:12.9937910Z ✔ implementation remains available with the Write and Edit fallback (0.164562ms) +2026-09-27T05:33:12.9938862Z ✔ implementation remains available with the ApplyPatch alternative (0.143344ms) +2026-09-27T05:33:12.9939836Z ✔ child agent toolset keeps only built-in profile allowlisted tools (6.605652ms) +2026-09-27T05:33:12.9940750Z ✔ does not smuggle ArchiveRead through the child allowlist (4.573897ms) +2026-09-27T05:33:12.9941732Z ✔ child agent toolset enforces explore-mode read-only behavior without prompting (143.277842ms) +2026-09-27T05:33:12.9942868Z ✔ agent_spawn delegates an explicit profile and task through the narrow context capability (1.446497ms) +2026-09-27T05:33:12.9943873Z ✔ agent_spawn bounds projected child tool activity (1.815255ms) +2026-09-27T05:33:12.9944958Z ✔ agent_spawn bounds projected child tool activity by characters (6.410625ms) +2026-09-27T05:33:12.9945891Z ✔ agent_spawn bounds projected startup failures (3.423239ms) +2026-09-27T05:33:12.9946925Z ✔ agent_spawn validates profile contracts and delegates worktree availability to runtime (1.956127ms) +2026-09-27T05:33:12.9948032Z ✔ agent projection tools delegate through read-only context capabilities (1.387979ms) +2026-09-27T05:33:12.9949120Z ✔ agent_list keeps discovery compact, paginated, and free of execution history (8.234415ms) +2026-09-27T05:33:12.9950190Z ✔ agent_output uses an explicit locator when a provider fills unrelated fields (7.020198ms) +2026-09-27T05:33:12.9950969Z ✔ subagent tools (309.751077ms) +2026-09-27T05:33:12.9951824Z ✔ extractCodexAccountId reads the ChatGPT account id from the access token (3.865844ms) +2026-09-27T05:33:12.9952856Z ✔ openAiCodexHeaders routes with the account id when present (2.679719ms) +2026-09-27T05:33:12.9953931Z ✔ extractCodexAccountClaims reads the ChatGPT account id from the access token (1.279559ms) +2026-09-27T05:33:12.9955657Z ✔ extractCodexAccountClaims falls back to sub when the chatgpt_account_id claim is missing (0.308271ms) +2026-09-27T05:33:12.9956828Z ✔ extractCodexAccountClaims extracts email + plan from the access token when present (0.394812ms) +2026-09-27T05:33:12.9958136Z ✔ extractCodexAccountClaims fills picture + email from id_token when access token does not carry them (0.316797ms) +2026-09-27T05:33:12.9959380Z ✔ extractCodexAccountClaims returns null when neither token contains an account id (0.502388ms) +2026-09-27T05:33:12.9960603Z ✔ xAI OAuth refresh preserves a rotated refresh token through the shared provider contract (43.404367ms) +2026-09-27T05:33:12.9961699Z ✔ xAI OAuth refresh uses the documented one-hour lifetime when expires_in is omitted (1.493339ms) +2026-09-27T05:33:12.9962476Z ▶ GitHub Copilot subscription credentials +2026-09-27T05:33:12.9963578Z ✔ preserves the account-scoped API endpoint in the existing OAuth token record (0.549107ms) +2026-09-27T05:33:13.0055515Z ✔ stores one direct Copilot-capable GitHub token in the shared OAuth record (0.360248ms) +2026-09-27T05:33:13.0056945Z ✔ resolves the durable direct token without calling the retired exchange endpoint (0.520274ms) +2026-09-27T05:33:13.0058065Z ✔ renews an expiring GitHub account token through the device-flow refresh grant (0.637266ms) +2026-09-27T05:33:13.0059066Z ✔ refuses a refresh GitHub reported as an error body under HTTP 200 (0.562069ms) +2026-09-27T05:33:13.0059897Z ✔ GitHub Copilot subscription credentials (3.409455ms) +2026-09-27T05:33:13.0060539Z ▶ OAuth refresh response validation +2026-09-27T05:33:13.0061318Z ✔ a 200 refresh with empty object never replaces the stored token (1.440134ms) +2026-09-27T05:33:13.0062254Z ✔ a 200 refresh with empty access token never replaces the stored token (0.425011ms) +2026-09-27T05:33:13.0063187Z ✔ a 200 refresh with missing expiry never replaces the stored token (0.43011ms) +2026-09-27T05:33:13.0064061Z ✔ a 200 refresh with non-numeric expiry never replaces the stored token (0.414086ms) +2026-09-27T05:33:13.0065160Z ✔ a 200 refresh with non-positive expiry never replaces the stored token (0.302121ms) +2026-09-27T05:33:13.0066186Z ✔ a rotated refresh token that is an empty string keeps the previous refresh token (0.486392ms) +2026-09-27T05:33:13.0067043Z ✔ OAuth refresh response validation (4.241284ms) +2026-09-27T05:33:13.0067635Z ▶ OAuth refresh persistence transaction +2026-09-27T05:33:13.0068301Z ✔ a read-only store fails before starting a remote refresh (0.3722ms) +2026-09-27T05:33:13.0069186Z ✔ resolve accepts a store whose only write capability is compare-and-set (1.21526ms) +2026-09-27T05:33:13.0070106Z ✔ near-expiry resolve keeps its first read as the refresh commit basis (0.558134ms) +2026-09-27T05:33:13.0071140Z ✔ a custom automatic refresh keeps its expiry-decision read as the commit basis (0.459704ms) +2026-09-27T05:33:13.0072133Z ✔ a logout from another store stays terminal while refresh is in flight (57.231888ms) +2026-09-27T05:33:13.0073092Z ✔ a stale refresh lease is recoverable after its owner exits (23.009678ms) +2026-09-27T05:33:13.0073976Z ✔ a failed refresh releases its lease so a later request can retry (27.790468ms) +2026-09-27T05:33:13.0105516Z ✔ aborts a remote refresh before its credential lease can expire (6.239136ms) +2026-09-27T05:33:13.0106618Z ✔ preserves lease finalization time when claiming the credential is delayed (1.341096ms) +2026-09-27T05:33:13.0107697Z ✔ two concurrent refreshes perform one remote rotation and converge on its token (92.444184ms) +2026-09-27T05:33:13.0108628Z ✔ OAuth refresh persistence transaction (212.329352ms) +2026-09-27T05:33:13.0109216Z ▶ subscription model fetch +2026-09-27T05:33:13.0109954Z ✔ maps Codex OAuth requests into the ChatGPT backend request shape (81.812104ms) +2026-09-27T05:33:13.0110969Z ✔ sends the resolved Codex parallel-tool-call default through the OpenAI SDK (70.874145ms) +2026-09-27T05:33:13.0112137Z ✔ streams a non-streaming Codex call and folds the events into one Responses body (21.578798ms) +2026-09-27T05:33:13.0113558Z ✔ passes a streamed turn through unfolded, keeping its configured output cap (28.556946ms) +2026-09-27T05:33:13.0175009Z ✔ rejects a folded Codex stream that ends without a terminal response (2.284397ms) +2026-09-27T05:33:13.0176335Z ✔ rejects an incomplete folded Codex stream instead of returning its partial output (0.718336ms) +2026-09-27T05:33:13.0177465Z ✔ surfaces a failed folded Codex stream as an error, not an empty success (0.608621ms) +2026-09-27T05:33:13.0178611Z ✔ force-refreshes one Codex 401 without consuming the independent edge retry budget (31.153724ms) +2026-09-27T05:33:13.0179615Z ✔ does not replay a Codex 401 when forced refresh fails (1.100955ms) +2026-09-27T05:33:13.0180400Z ✔ retries a transient HTML 403 from the Codex edge (12.33052ms) +2026-09-27T05:33:13.0181542Z ✔ does not treat parseable JSON auth errors as HTML edge rejections (1.081944ms) +2026-09-27T05:33:13.0182485Z ✔ does not stamp a non-replayable HTML 403 as an exhausted edge rejection (6.623427ms) +2026-09-27T05:33:13.0183358Z ✔ does not retry a JSON 403 from the Codex API (2.047474ms) +2026-09-27T05:33:13.0184029Z ✔ aborts while waiting to retry an HTML 403 (0.697113ms) +2026-09-27T05:33:13.0185003Z ✔ aborts a retry delay through a Request signal (26.219192ms) +2026-09-27T05:33:13.0185747Z ✔ prefers an init signal over a Request signal (3.633044ms) +2026-09-27T05:33:13.0186652Z ✔ does not inherit a Request signal when init explicitly sets signal to null (3.659944ms) +2026-09-27T05:33:13.0187631Z ✔ caps HTML 403 retries after fallback delays of 2, 10, and 30 seconds (1.791722ms) +2026-09-27T05:33:13.0188559Z ✔ preserves a JSON auth failure that follows three HTML edge retries (8.568971ms) +2026-09-27T05:33:13.0189376Z ✔ caps a numeric Retry-After delay at 30 seconds (5.382096ms) +2026-09-27T05:33:13.0190431Z ✔ adds the Copilot compatibility headers and derives the turn initiator without rewriting the body (4.599928ms) +2026-09-27T05:33:13.0191453Z ✔ force-refreshes and replays one xAI OAuth request on 401 (0.747386ms) +2026-09-27T05:33:13.0192177Z ✔ subscription model fetch (321.258ms) +2026-09-27T05:33:13.0192731Z ▶ Swarm orchestration admission +2026-09-27T05:33:13.0193518Z ✔ an exclusive tool cannot follow or precede another tool in the same step (19.073237ms) +2026-09-27T05:33:13.0194589Z ✔ exclusive admission is scoped to one assistant step (1.755194ms) +2026-09-27T05:33:13.0195262Z ✔ Swarm orchestration admission (22.512765ms) +2026-09-27T05:33:13.0196039Z ✔ Tavily search sends one bounded request and projects only safe rows (87.224847ms) +2026-09-27T05:33:13.0197078Z ✔ Tavily search fails closed over oversized or invalid provider responses (4.658276ms) +2026-09-27T05:33:13.0198132Z ✔ Tavily search distinguishes its timeout from caller cancellation (14.303962ms) +2026-09-27T05:33:13.0198786Z ▶ tool argument field lookup +2026-09-27T05:33:13.0199393Z ✔ reads the field names off a plain object schema (2.222529ms) +2026-09-27T05:33:13.0200055Z ✔ still reads them through a refinement (0.484054ms) +2026-09-27T05:33:13.0200722Z ✔ picks the branch a discriminated union was called on (0.509129ms) +2026-09-27T05:33:13.0201590Z ✔ says nothing rather than something wrong when the branch is unknown (0.541572ms) +2026-09-27T05:33:13.0202439Z ✔ reads provider schemas declared as JSON Schema (0.283314ms) +2026-09-27T05:33:13.0203167Z ✔ degrades to no answer on a schema it cannot read (0.324899ms) +2026-09-27T05:33:13.0203942Z ✔ an empty schema is a different answer from an unreadable one (0.274658ms) +2026-09-27T05:33:13.0285705Z ✔ Computer Use answers per action, not with every field of every action (0.592442ms) +2026-09-27T05:33:13.0286556Z ✔ tool argument field lookup (7.369526ms) +2026-09-27T05:33:13.0287074Z ▶ tool argument refusal text +2026-09-27T05:33:13.0287725Z ✔ names the tool and the fields the call does take (5.101824ms) +2026-09-27T05:33:13.0288842Z ✔ says nothing about fields when the schema could not answer (0.432327ms) +2026-09-27T05:33:13.0289845Z ✔ keeps the field list when a long error has to be cut (1.005559ms) +2026-09-27T05:33:13.0290550Z ✔ names fields and never values (0.406298ms) +2026-09-27T05:33:13.0291159Z ✔ tool argument refusal text (7.3915ms) +2026-09-27T05:33:13.0292108Z ✔ ToolRuntime enforces the declared schema before impl without a permissionArgs workaround (8.571615ms) +2026-09-27T05:33:13.0293511Z ✔ ToolRuntime validates without rewriting arguments at permission and implementation boundaries (2.915074ms) +2026-09-27T05:33:13.0294884Z ✔ a sandbox denial names the tool that widens the boundary (11.739499ms) +2026-09-27T05:33:13.0295564Z ▶ unrepairable tool calls +2026-09-27T05:33:13.0296256Z ✔ an unknown tool name is answered with the names that exist (0.478698ms) +2026-09-27T05:33:13.0297072Z ✔ a known tool called with the wrong shape is told its fields (0.287821ms) +2026-09-27T05:33:13.0297865Z ✔ still redacts secret-shaped text in what it relays (0.198757ms) +2026-09-27T05:33:13.0298536Z ✔ unrepairable tool calls (1.161856ms) +2026-09-27T05:33:13.0299095Z ▶ deriveToolArtifactCandidates +2026-09-27T05:33:13.0299850Z ✔ Write derives a file-backed candidate from structured result path (2.130176ms) +2026-09-27T05:33:13.0300733Z ✔ Edit derives a diff candidate from structured edit args (0.678954ms) +2026-09-27T05:33:13.0301667Z ✔ Bash derives only explicit stdout redirects and does not scan stdout/stderr text (0.925556ms) +2026-09-27T05:33:13.0302650Z ✔ extractStdoutRedirectPath ignores stderr and fd redirects (0.387281ms) +2026-09-27T05:33:13.0303421Z ✔ deriveToolArtifactCandidates (6.032474ms) +2026-09-27T05:33:13.0303986Z ▶ recordToolArtifactsSafely +2026-09-27T05:33:13.0304901Z ✔ recorder failure emits a generalized warning and never throws (2.218409ms) +2026-09-27T05:33:13.0305683Z ✔ recordToolArtifactsSafely (2.437818ms) +2026-09-27T05:33:13.0306276Z ▶ ToolRuntime artifact recorder scheduling +2026-09-27T05:33:13.0307053Z ✔ ordinary tool results do not wait for a slow artifact recorder (8.539054ms) +2026-09-27T05:33:13.0307915Z ✔ ToolRuntime artifact recorder scheduling (9.943865ms) +2026-09-27T05:33:13.0308673Z ✔ tool availability hash canonicalizes group members (2.301444ms) +2026-09-27T05:33:13.0309633Z ✔ tool availability hash distinguishes full and search-enabled bindings (0.347741ms) +2026-09-27T05:33:13.0310452Z ▶ ToolAvailabilityRuntime — search activation +2026-09-27T05:33:13.0311307Z ✔ step 0 exposes direct tools and tool_search, but not searchable schemas (47.297487ms) +2026-09-27T05:33:13.0312218Z ✔ a group cannot defer the fixed direct baseline (5.315514ms) +2026-09-27T05:33:13.0313068Z ✔ skill discovery tools stay direct while search is enabled (3.702985ms) +2026-09-27T05:33:13.0313968Z ✔ Plan execution tools stay direct when search is enabled (10.846877ms) +2026-09-27T05:33:13.0401608Z ✔ provider-routed apply_patch inherits direct editing visibility (0.877423ms) +2026-09-27T05:33:13.0402680Z ✔ inventory contains group and canonical names without tool descriptions (7.188928ms) +2026-09-27T05:33:13.0403724Z ✔ search indexes group meaning without exposing it in the initial inventory (7.797074ms) +2026-09-27T05:33:13.0404977Z ✔ a successful search activates bounded matches for the next projection (4.67955ms) +2026-09-27T05:33:13.0406018Z ✔ a same-name replacement does not inherit the retired contribution activation (2.772802ms) +2026-09-27T05:33:13.0406965Z ✔ an equivalent rebuilt Host wrapper keeps its activation (1.600506ms) +2026-09-27T05:33:13.0407769Z ✔ ordinary result is thin and contains no complete schemas (4.858515ms) +2026-09-27T05:33:13.0408695Z ✔ repeated and parallel searches union and deduplicate turn activation (4.251695ms) +2026-09-27T05:33:13.0409646Z ✔ already-active matches do not consume a later search limit or schema budget (14.545322ms) +2026-09-27T05:33:13.0410601Z ✔ reports and skips an oversized tool without hiding a smaller later match (2.567272ms) +2026-09-27T05:33:13.0411914Z ✔ stops at the schema ceiling instead of silently changing relevance order (2.95389ms) +2026-09-27T05:33:13.0413139Z ✔ required orchestration tools are visible without changing activation state (0.756971ms) +2026-09-27T05:33:13.0414054Z ✔ activation maps isolate overlapping and subsequent turns (1.406231ms) +2026-09-27T05:33:13.0445553Z ✔ an ungrouped bound tool is deferred by default (0.773838ms) +2026-09-27T05:33:13.0446583Z ✔ omitting availability keeps an explicit binding fully visible (0.525886ms) +2026-09-27T05:33:13.0447635Z ✔ buckets ungrouped native tools into capability families by categoryHint (3.015802ms) +2026-09-27T05:33:13.0448668Z ✔ a caller-supplied group keeps precedence over a categoryHint family (1.041364ms) +2026-09-27T05:33:13.0449630Z ✔ ToolAvailabilityRuntime — search activation (130.591722ms) +2026-09-27T05:33:13.0450268Z ▶ ToolOutputDelta emitter +2026-09-27T05:33:13.0451039Z ✔ emits per-tool monotonic seq and preserves stdout/stderr stream labels (16.952919ms) +2026-09-27T05:33:13.0452027Z ✔ redacts chunk metadata without mutating the event shape (1.040197ms) +2026-09-27T05:33:13.0453069Z ✔ buffers unterminated chunks so secrets split across writes are still redacted (0.724523ms) +2026-09-27T05:33:13.0454164Z ✔ keeps a redaction tail when forced to flush a long unterminated stream (6.275193ms) +2026-09-27T05:33:13.0516932Z ✔ enforces chunk bound before pushing to renderer (7.190328ms) +2026-09-27T05:33:13.0517833Z ✔ flush emits the final partial chunk before tool_result can arrive (0.29143ms) +2026-09-27T05:33:13.0518571Z ✔ ToolOutputDelta emitter (34.384905ms) +2026-09-27T05:33:13.0519068Z ▶ truncateToolOutput +2026-09-27T05:33:13.0519793Z ✔ keeps the head and reports removed lines when over the line budget (10.382904ms) +2026-09-27T05:33:13.0520767Z ✔ keeps the tail with the marker at the top when direction is tail (0.298896ms) +2026-09-27T05:33:13.0521564Z ✔ truncates by bytes and reports the bytes unit (0.290345ms) +2026-09-27T05:33:13.0522516Z ✔ does not report a truncation when only a trailing newline exceeds the byte budget (0.172242ms) +2026-09-27T05:33:13.0523519Z ✔ a single trailing newline is a terminator, not an extra line (0.16186ms) +2026-09-27T05:33:13.0524700Z ✔ keeps a byte-safe slice of a single oversized line instead of dropping it (3.738644ms) +2026-09-27T05:33:13.0525737Z ✔ byte-safe single-line slice does not split a multi-byte character (0.531777ms) +2026-09-27T05:33:13.0526482Z ✔ truncateToolOutput (22.474621ms) +2026-09-27T05:33:13.0527023Z ▶ AiSdkBackend tool-result archive capability +2026-09-27T05:33:13.0527761Z ✔ advertises Read when the session archives tool results (149.355141ms) +2026-09-27T05:33:13.0528584Z ✔ advertises no Read when the session archives nothing (28.42557ms) +2026-09-27T05:33:13.0529503Z ✔ resource-only Read preserves Session scope and grants no file access (10.862799ms) +2026-09-27T05:33:13.0530426Z ✔ AiSdkBackend tool-result archive capability (190.516992ms) +2026-09-27T05:33:13.0531071Z ▶ ToolRuntime argument ownership +2026-09-27T05:33:13.0531841Z ✔ keeps each runtime owner isolated from the canonical invocation (16.422759ms) +2026-09-27T05:33:13.0532658Z ✔ ToolRuntime argument ownership (17.753337ms) +2026-09-27T05:33:13.8489013Z ▶ ToolRuntime durable boundary +2026-09-27T05:33:13.8542114Z ✔ does not invoke the tool or publish a result when T1 fails (9.528016ms) +2026-09-27T05:33:13.8666150Z ✔ publishes no call side effects when another dispatcher owns the operation (0.705994ms) +2026-09-27T05:33:13.8741799Z ✔ refuses durable tool execution when the turn carries no run id (0.463633ms) +2026-09-27T05:33:13.8860849Z ✔ does not cross T1 when durable dispatch is already aborted (0.750717ms) +2026-09-27T05:33:13.8885902Z ✔ commits T1 before implementation and T2 before publishing the result (18.851177ms) +2026-09-27T05:33:13.8993827Z ✔ commits the completed outcome with its model projection in T2 (4.697005ms) +2026-09-27T05:33:13.9028222Z ✔ commits one deterministic fallback when projection fails (1.384499ms) +2026-09-27T05:33:13.9086285Z ✔ commits fallback instead of awaiting an asynchronous projector (2.131331ms) +2026-09-27T05:33:13.9145916Z ✔ persists inline image output as a Session artifact before committing T2 (6.060426ms) +2026-09-27T05:33:13.9186051Z ✔ rejects an oversized nested result before durable publication (9.66021ms) +2026-09-27T05:33:13.9279940Z ✔ uses serialized bytes before publishing a nested string result (4.566193ms) +2026-09-27T05:33:13.9345751Z ✔ rejects an array whose toJSON expands beyond the nested result limit (1.174594ms) +2026-09-27T05:33:13.9435877Z ✔ rejects a non-JSON nested result before coercion can expand it (1.146347ms) +2026-09-27T05:33:13.9458799Z ✔ admits a nested tool that returned nothing under the result limit (2.998576ms) +2026-09-27T05:33:13.9535807Z ✔ persists nested CodeMode identity across durable and legacy tool activity (1.050246ms) +2026-09-27T05:33:13.9615601Z ✔ links nested live output to the outer exec activity (4.512121ms) +2026-09-27T05:33:13.9645611Z ✔ retains nested identity when the tool settles with an error (3.875301ms) +2026-09-27T05:33:13.9705597Z ✔ wraps business-domain kind values as canonical JSON tool results (1.436646ms) +2026-09-27T05:33:13.9735479Z ✔ does not publish an implementation result when T2 fails (1.048818ms) +2026-09-27T05:33:13.9768234Z ✔ keeps the T2 persistence error authoritative when compensation also fails (2.260544ms) +2026-09-27T05:33:13.9786085Z ✔ commits a normalized error outcome before returning a thrown tool failure to the model (3.112754ms) +2026-09-27T05:33:13.9855730Z ✔ commits outcome_unknown as a structured non-retryable tool failure (2.992403ms) +2026-09-27T05:33:13.9885590Z ✔ ToolRuntime durable boundary (89.727088ms) +2026-09-27T05:33:14.4155893Z ▶ ToolRuntime form Interaction +2026-09-27T05:33:14.4188724Z ✔ parks one Tool call and resumes only after a schema-valid answer (38.813627ms) +2026-09-27T05:33:14.4258028Z ✔ keeps decline distinct and rejects a late answer after Turn closure (15.168893ms) +2026-09-27T05:33:14.4344012Z ✔ withdraws the exact hosted form when its producer is cancelled (10.52902ms) +2026-09-27T05:33:14.4425922Z ✔ waits for hosted admission before withdrawing a cancelled producer form (2.936052ms) +2026-09-27T05:33:14.4437604Z ✔ ToolRuntime form Interaction (75.054608ms) +2026-09-27T05:33:14.6578861Z ✔ ToolRuntime emits only valid progress through the shared codec (13.955829ms) +2026-09-27T05:33:14.9320147Z ▶ ToolRuntime session sandbox boundary +2026-09-27T05:33:14.9477516Z ✔ inherits explicit denial without inheriting correction budgets or replacing live authority (17.133352ms) +2026-09-27T05:33:14.9567076Z ✔ rejects an embedding without explicit execution boundary authority (0.732827ms) +2026-09-27T05:33:14.9657555Z ✔ reads the authoritative boundary for every tool invocation (8.781681ms) +2026-09-27T05:33:14.9712752Z ✔ reads the selected mode live while letting a Bypass boundary override it (4.475857ms) +2026-09-27T05:33:14.9776450Z ✔ holds Plan mode to read-only even when the live boundary allows writes (6.711628ms) +2026-09-27T05:33:15.0410881Z ✔ parks the dedicated tool and admits only one boundary request at a time (127.41775ms) +2026-09-27T05:33:15.0790352Z ✔ publishes a hosted boundary only after admission and settles only through its continuation (38.060606ms) +2026-09-27T05:33:15.0824923Z ✔ rejects an invalid expansion before creating durable pending state (7.636574ms) +2026-09-27T05:33:15.1042345Z ✔ canonicalizes filesystem authority before creating durable pending state (28.870603ms) +2026-09-27T05:33:15.1116010Z ✔ rejects exact directory authority before creating durable pending state (7.897936ms) +2026-09-27T05:33:15.1393285Z ✔ durably denies a pending boundary request before an aborted turn closes (11.451266ms) +2026-09-27T05:33:15.1442697Z ✔ does not orphan a request created concurrently with turn shutdown (3.778462ms) +2026-09-27T05:33:15.1487201Z ✔ returns a structured boundary requirement to the agent (1.596204ms) +2026-09-27T05:33:15.1516356Z ✔ counts one boundary correction per model step and keeps failure kinds independent (6.430675ms) +2026-09-27T05:33:15.1578507Z ✔ cancels a suspended nested boundary wait when its cell aborts (5.67519ms) +2026-09-27T05:33:15.1625645Z ✔ keeps a durable deny failure attached to the aborted nested call (3.874025ms) +2026-09-27T05:33:15.1635681Z ✔ returns structured requires_bypass without opening an interaction (0.895735ms) +2026-09-27T05:33:15.1705754Z ✔ a surface without boundary storage refuses with the same sentence the tool carries (4.761303ms) +2026-09-27T05:33:15.1745592Z ✔ ToolRuntime session sandbox boundary (293.900193ms) +2026-09-27T05:33:15.3557320Z ▶ Overlays feature boundary +2026-09-27T05:33:15.3618547Z ✔ keeps the services hook exclusively owned by the controller (7862.523826ms) +2026-09-27T05:33:15.3655130Z ✔ keeps Desktop globals and shell/process dependencies out of the feature (4.940331ms) +2026-09-27T05:33:15.3710846Z ✔ pins the production entry surface to the shell, the overlay layer, and composition (1910.041594ms) +2026-09-27T05:33:15.3756000Z ✔ keeps the Desktop adapter exclusively owned by feature-services composition (1729.316706ms) +2026-09-27T05:33:15.3815981Z ✔ keeps the controller, the models, and the fakes out of the production entry (0.477612ms) +2026-09-27T05:33:15.3875945Z ✔ keeps the raw search capability out of every production renderer module (5.123572ms) +2026-09-27T05:33:15.3915843Z ✔ mounts one OverlaysRoot in the shell and the overlay UI only in the overlay layer (8990.466147ms) +2026-09-27T05:33:15.3966041Z ✔ Overlays feature boundary (20512.145488ms) +2026-09-27T05:33:15.4472682Z ✔ tool results settle at the full 16-subscription capacity without opening another subscription (16488.319474ms) +2026-09-27T05:33:15.4585779Z ▶ Settings modal state model +2026-09-27T05:33:15.4606825Z ✔ a plain open keeps the remembered request and resets every sub-surface (5.711567ms) +2026-09-27T05:33:15.4641838Z ✔ a section open merges the section into the request (0.277603ms) +2026-09-27T05:33:15.4665742Z ✔ a project open replaces the whole request so a stale profile cannot leak (0.205548ms) +2026-09-27T05:33:15.4688390Z ✔ the models openers land on models and raise only their own sub-surface (0.251151ms) +2026-09-27T05:33:15.4715519Z ✔ the persisted section is the one the intent lands on (0.311026ms) +2026-09-27T05:33:15.4725513Z ✔ closing drops the open flag and the catalog, keeps the rest for the next open (0.233708ms) +2026-09-27T05:33:15.4785579Z ✔ a profile change is a no-op when the profile is already set (2.41212ms) +2026-09-27T05:33:15.4786340Z ✔ Settings modal state model (12.394904ms) +2026-09-27T05:33:15.4786803Z ▶ OverlaysRoot +2026-09-27T05:33:15.4787413Z ✔ hands the shell frame closed overlays and stable commands (82.945648ms) +2026-09-27T05:33:15.4788367Z ✔ an omitted section opens Settings without changing the persisted section (15.756548ms) +2026-09-27T05:33:15.4789424Z ✔ opens Settings through the persisted section and settles focus only when closed (24.934933ms) +2026-09-27T05:33:15.4790459Z ✔ records the search scroll target until the transcript clears it (7.018766ms) +2026-09-27T05:33:15.4791509Z ✔ routes search requests and cancellation to the mounted service with stable commands (9.198402ms) +2026-09-27T05:33:15.4792489Z ✔ throws for an overlay reader mounted outside OverlaysRoot (13.054634ms) +2026-09-27T05:33:15.4793130Z ✔ OverlaysRoot (158.227043ms) +2026-09-27T05:33:15.4793821Z Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype. +2026-09-27T05:33:15.4795138Z ✔ overlay search preserves cancellation across supersession, close, reopen, and unmount (3546.90115ms) +2026-09-27T05:33:15.4796687Z ✔ the Desktop adapter hands the search namespace through and owns the browser edges (2.698536ms) +2026-09-27T05:33:15.4797601Z ✔ the adapter tolerates an unavailable store and a missing active element (0.401476ms) +2026-09-27T05:33:15.4798688Z ✔ mouse focus moving from the password draft to Eye does not commit and Eye reveals it (273.420744ms) +2026-09-27T05:33:15.4800249Z ✔ assistant observations exclude credentials and their controls before and after reveal (108.5967ms) +2026-09-27T05:33:15.4801543Z ✔ keyboard focus stays inside through Eye and commits once when Tab leaves the group (74.147703ms) +2026-09-27T05:33:15.4802461Z ✔ window blur does not commit a partially typed password draft (73.532686ms) +2026-09-27T05:33:15.4803398Z ✔ focus exit with no destination still commits while the document is focused (56.868124ms) +2026-09-27T05:33:15.4834874Z ✔ proxy password can hide Copy while ordinary password inputs keep it by default (44.488134ms) +2026-09-27T05:33:15.4836147Z ✔ IME confirmation keys do not submit or cancel the password draft (48.955787ms) +2026-09-27T05:33:15.4837126Z ✔ non-composing Enter submits once and remains observable by the caller (103.299327ms) +2026-09-27T05:33:15.4838067Z ✔ the pending chat view names no connection or model it cannot know (5.066044ms) +2026-09-27T05:33:15.4838901Z ✔ the pending chat view matches no offered model choice (0.284226ms) +2026-09-27T05:33:15.4839863Z ✔ bot capability reasons resolve to localized sentences for every locale (2897.506237ms) +2026-09-27T05:33:15.4840897Z ✔ unknown bot reasons degrade to the localized generic line, never the raw code (0.563798ms) +2026-09-27T05:33:15.4841871Z ✔ health center renders localized bot capability reasons in all locales (5.062985ms) +2026-09-27T05:33:15.4877172Z ✔ health center resolves non-bot capability codes through the shared catalog (5.003198ms) +2026-09-27T05:33:15.4942398Z ✔ presents a granted OS permission as a verified success (1.130479ms) +2026-09-27T05:33:15.4979910Z ✔ renders capability reason codes per locale (0.233218ms) +2026-09-27T05:33:15.5036689Z ✔ composes the computer-use backend status from snapshot facts per locale (0.356789ms) +2026-09-27T05:33:15.5076011Z ▶ resolveDefaultPermissionMode +2026-09-27T05:33:15.5107852Z ✔ returns bypass when that is the configured default (no special-casing) (1.436661ms) +2026-09-27T05:33:15.5173106Z ✔ falls back to ask when the settings read rejects (corrupted settings.json) (0.325449ms) +2026-09-27T05:33:15.5195611Z ✔ resolveDefaultPermissionMode (14.726337ms) +2026-09-27T05:33:15.5205293Z ▶ drag-to-grant permission overlay +2026-09-27T05:33:15.5225809Z ✔ requests screen capture before continuing into the drag card (6.772953ms) +2026-09-27T05:33:15.5336361Z ✔ only recognises the two drag-to-grant permissions (4.363324ms) +2026-09-27T05:33:15.5399145Z ✔ opens the settings pane, shows the card inactive, and starts watching (0.96653ms) +2026-09-27T05:33:15.5433924Z ✔ refuses to stack a second window or a second set of timers (0.43057ms) +2026-09-27T05:33:15.5466011Z ✔ closes itself once the permission is granted (0.588444ms) +2026-09-27T05:33:15.5525632Z ✔ gives up rather than leaving an immortal always-on-top card (0.355424ms) +2026-09-27T05:33:15.5585613Z ✔ stops every timer when the window disappears on its own (0.559188ms) +2026-09-27T05:33:15.5665642Z ✔ dismiss() tears everything down and can be called twice (0.430309ms) +2026-09-27T05:33:15.5732871Z ✔ does not open a card for a permission that is already granted (14.283059ms) +2026-09-27T05:33:15.5759445Z ✔ reports a failed settings deep-link instead of floating a useless card (0.544858ms) +2026-09-27T05:33:15.5785573Z ✔ rejects non-macOS and unknown ids before touching the window (0.3173ms) +2026-09-27T05:33:15.5807447Z ✔ anchors the card on the cursor, clamped inside the work area (1.499508ms) +2026-09-27T05:33:15.5808270Z ✔ drag-to-grant permission overlay (33.32178ms) +2026-09-27T05:33:15.5808871Z ▶ app bundle resolution for the drag +2026-09-27T05:33:15.5809561Z ✔ walks three levels up from the executable to the .app (1.114578ms) +2026-09-27T05:33:15.5810469Z ✔ resolves the containing app bundle independent of its development name (0.229329ms) +2026-09-27T05:33:15.5811316Z ✔ fails explicitly when the walk does not land on a bundle (0.32881ms) +2026-09-27T05:33:15.5812118Z ✔ fails when the bundle path does not exist on disk (0.143924ms) +2026-09-27T05:33:15.5812721Z ✔ fails on non-darwin (0.10369ms) +2026-09-27T05:33:15.5813726Z ✔ app bundle resolution for the drag (2.227122ms) +2026-09-27T05:33:15.5814729Z ▶ permission response IPC boundary +2026-09-27T05:33:15.5815404Z ✔ accepts only bounded permission and question responses (2.810787ms) +2026-09-27T05:33:15.5816212Z ✔ normalizes turn actions and rejects malformed identifiers (0.900072ms) +2026-09-27T05:33:15.5817070Z ✔ strips untrusted send fields while preserving supported payloads (1.708232ms) +2026-09-27T05:33:15.5817874Z ✔ rejects malformed or oversized send payloads (0.820793ms) +2026-09-27T05:33:15.5818539Z ✔ rejects empty send text without skills (0.234584ms) +2026-09-27T05:33:15.5819294Z ✔ accepts a retained-attachment-only edit without inline text (0.25769ms) +2026-09-27T05:33:15.5820084Z ✔ accepts an inline base64 attachment as the only content (0.194772ms) +2026-09-27T05:33:15.5820808Z ✔ accepts only the supported stop source (0.523973ms) +2026-09-27T05:33:15.5821450Z ✔ permission response IPC boundary (9.696687ms) +2026-09-27T05:33:15.5822073Z ▶ personalization prompt fragment +2026-09-27T05:33:15.5822851Z ✔ keeps suspicious content quoted inside the preference block and emits warnings (5.822415ms) +2026-09-27T05:33:15.5823931Z ✔ sanitizes displayName as addressing only, stripping newline/control injection (0.257277ms) +2026-09-27T05:33:15.5825114Z ✔ maps secret-shaped content to sensitive-pattern warning (1.037018ms) +2026-09-27T05:33:15.5825854Z ✔ personalization prompt fragment (8.937957ms) +2026-09-27T05:33:15.5826690Z ✔ imports only the manifest-selected sprite into the atomic store (48.338693ms) +2026-09-27T05:33:15.5827590Z ✔ rejects malformed manifests and leaves the store empty (10.819334ms) +2026-09-27T05:33:15.5828552Z ✔ rejects a sprite symlink that redirects outside the selected directory (13.434278ms) +2026-09-27T05:33:15.5829721Z ✔ rejects a symlinked asset directory even when it points back inside the source (27.140451ms) +2026-09-27T05:33:15.5830740Z ✔ maps a duplicate id without replacing the installed pet (43.532579ms) +2026-09-27T05:33:15.5831722Z ✔ IPC imports only the native picker result and returns stable envelopes (33.146576ms) +2026-09-27T05:33:15.5832853Z ✔ IPC returns sprite bytes, removes the pack, and emits only real mutations (111.797188ms) +2026-09-27T05:33:15.5835690Z ✔ localizes Plan Mode chrome and abandon confirmation without rewriting plan content (3.98305ms) +2026-09-27T05:33:15.5836786Z ✔ plan controls stay pending until the bridge promise settles (108.005323ms) +2026-09-27T05:33:15.5837695Z [plan-mode:refresh] operation failed: Error: Plan projection is unavailable +2026-09-27T05:33:15.5838950Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/plan-mode-panel-refresh.test.js:65:47) +2026-09-27T05:33:15.5840001Z at async Test.run (node:internal/test_runner/test:1409:7) +2026-09-27T05:33:15.5840826Z at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3) +2026-09-27T05:33:15.5841907Z ✔ only the newest read of the Session on screen may publish (165.25474ms) +2026-09-27T05:33:15.5842895Z ✔ a read started for a Session the panel has left cannot publish (58.459082ms) +2026-09-27T05:33:15.5843975Z ✔ an action that settles after a Session switch owns no panel state (86.912668ms) +2026-09-27T05:33:15.5845323Z ✔ a confirmation that outlives a Session switch does not run the action (138.345417ms) +2026-09-27T05:33:15.5846437Z ✔ an approval retry after the plan advanced replays the persisted input (42.528596ms) +2026-09-27T05:33:15.5847429Z ✔ a late response does not retire the retry of a newer request (41.009249ms) +2026-09-27T05:33:15.5848077Z ▶ resolveProjectContextRoot +2026-09-27T05:33:15.5848799Z ✔ uses the app project root when there is no active session (17.314475ms) +2026-09-27T05:33:15.5849758Z ✔ uses the persisted session cwd instead of the app project root (8.159643ms) +2026-09-27T05:33:15.5850670Z ✔ rejects a deleted session cwd without falling back to the app project (7.333317ms) +2026-09-27T05:33:15.5851940Z ✔ rejects a session cwd without read and traversal access (5.433956ms) +2026-09-27T05:33:15.5852690Z ✔ resolveProjectContextRoot (42.626449ms) +2026-09-27T05:33:15.5853739Z ✔ owns Project selection and reversible lifecycle actions in Desktop (502.058637ms) +2026-09-27T05:33:15.5854963Z ✔ adding a nested folder selects that folder instead of the parent project (275.872441ms) +2026-09-27T05:33:15.5875880Z ✔ can register a draft Project without changing the Host selection (0.590329ms) +2026-09-27T05:33:15.5876807Z ✔ names the Project in the same step as registering it (1.380237ms) +2026-09-27T05:33:15.5877672Z ✔ a blank name leaves the folder-derived name alone (2.067166ms) +2026-09-27T05:33:15.5878582Z ✔ rejects malformed Project identities before catalog access (0.79556ms) +2026-09-27T05:33:15.5879405Z ✔ keeps an explicit no-Project selection local to Desktop (0.31159ms) +2026-09-27T05:33:15.5880368Z ✔ does not silently replace a stale Project preference with another Project (0.338216ms) +2026-09-27T05:33:15.5881372Z ✔ does not expose Client directory actions for a remote Host (2.808021ms) +2026-09-27T05:33:15.5882269Z ✔ persists Project preferences by Runtime Host root identity (33.965149ms) +2026-09-27T05:33:15.5883249Z ✔ serializes rapid selections without losing another Runtime Host root (12.633078ms) +2026-09-27T05:33:15.5884161Z ✔ does not reuse a preference from another Runtime Host root (5.798797ms) +2026-09-27T05:33:15.5939292Z ✔ a custom connection is created without a hand-typed model id (8.787906ms) +2026-09-27T05:33:15.5940272Z ✔ no provider type demands a model id at creation (17.262102ms) +2026-09-27T05:33:15.5941220Z ✔ a discovery failure reaches the caller for a custom connection (0.600425ms) +2026-09-27T05:33:15.5942280Z ✔ a discovery failure reaches the caller for a built-in provider too (0.426854ms) +2026-09-27T05:33:15.5943322Z ✔ a failed catalog fetch still yields the created connection (0.501392ms) +2026-09-27T05:33:15.5944187Z ✔ a successful catalog fetch reports no error (1.189618ms) +2026-09-27T05:33:15.5945439Z ✔ a provider without discovery is not asked, and reports no error (0.542207ms) +2026-09-27T05:33:15.5946594Z ✔ a create failure propagates instead of being reported as a discovery problem (3.053177ms) +2026-09-27T05:33:15.5947618Z ✔ the field gate preserves stable slug validation issues (1.281901ms) +2026-09-27T05:33:15.5948506Z ✔ the field gate still reports the rules that survived (0.42728ms) +2026-09-27T05:33:15.5949533Z ✔ a duplicate slug outranks a missing key, so one fix is asked for at a time (0.205457ms) +2026-09-27T05:33:15.5950825Z ✔ routes only fixed-endpoint API-key drafts without request customization to Host onboarding (0.307197ms) +2026-09-27T05:33:15.5952122Z ✔ uses a stable discovered-model order and prefers the registered recommendation (5.317925ms) +2026-09-27T05:33:15.5953191Z ✔ only an idle form projects a dispatched save as outcome unknown (0.184049ms) +2026-09-27T05:33:15.5954213Z ✔ a late old save cannot clear the uncertainty lease for a newer attempt (0.849819ms) +2026-09-27T05:33:15.5955379Z ✔ save uncertainty is isolated between Runtime Host targets (0.300652ms) +2026-09-27T05:33:15.5956482Z ✔ a definitive save settlement reaches a generation-remounted React consumer (60.454559ms) +2026-09-27T05:33:15.5957474Z ✔ onboarding transport forwards the selected Runtime Host target (0.924823ms) +2026-09-27T05:33:15.5958369Z ✔ a retired connection reads as broken rather than repairable (9.74901ms) +2026-09-27T05:33:15.5959272Z ✔ retirement outranks every repairable state (2.270138ms) +2026-09-27T05:33:15.5960022Z ✔ a live connection keeps its existing statuses (0.294273ms) +2026-09-27T05:33:15.5961018Z ✔ fixed Alibaba access paths expose their distinct effective endpoints read-only (13.637931ms) +2026-09-27T05:33:15.5962015Z ✔ a persisted override is the displayed effective endpoint (9.165553ms) +2026-09-27T05:33:15.6047226Z ✔ displaying a custom endpoint masks userinfo and every query value without hiding its route (0.431342ms) +2026-09-27T05:33:15.6048374Z ✔ query values are masked under arbitrary key names, not just known ones (0.472751ms) +2026-09-27T05:33:15.6049668Z ✔ custom relays and local runtimes retain endpoint editing (0.330866ms) +2026-09-27T05:33:15.6050632Z ✔ derived and OAuth endpoints remain visible but read-only (0.320347ms) +2026-09-27T05:33:15.6051469Z ✔ an absent custom endpoint remains visible as a missing editable value (0.179331ms) +2026-09-27T05:33:15.6052564Z ✔ providers with model-level endpoint overrides say so when showing the default (0.319315ms) +2026-09-27T05:33:15.6053697Z ✔ a configured endpoint wins over model overrides, so no caveat applies (0.211015ms) +2026-09-27T05:33:15.6054869Z ✔ endpointCarriesCredentials gates userinfo and query-bearing endpoints (6.670937ms) +2026-09-27T05:33:15.6055963Z ✔ draft request previews follow the relay protocol, custom prefixes and endpoint forms (0.83504ms) +2026-09-27T05:33:15.6057025Z ✔ switching a custom connection protocol replaces the full OpenAI endpoint (0.199898ms) +2026-09-27T05:33:15.6058312Z ✔ draft request previews redact token-shaped path segments without changing URL normalization (0.206902ms) +2026-09-27T05:33:15.6059603Z ✔ empty, incomplete, unsaveable and unsupported protocol drafts have no request preview (0.325492ms) +2026-09-27T05:33:15.6060672Z ✔ proxy password typing remains local until the complete draft is committed (6.801589ms) +2026-09-27T05:33:15.6061555Z ✔ Enter followed by focus exit reuses one in-flight save (4.533454ms) +2026-09-27T05:33:15.6062336Z ✔ a failed save retains the complete draft for retry (0.850213ms) +2026-09-27T05:33:15.6063159Z ✔ an old save response never clears edits made while it was pending (0.33635ms) +2026-09-27T05:33:15.6064110Z ✔ a test-time commit waits for an in-flight save then commits newer edits (6.511985ms) +2026-09-27T05:33:15.6065258Z ✔ cancel clears only work that has not entered the save lane (0.353037ms) +2026-09-27T05:33:15.6066014Z ✔ empty drafts are keep operations (0.214149ms) +2026-09-27T05:33:15.6066792Z ✔ proxy testing waits for the save and aborts when that save fails (0.352339ms) +2026-09-27T05:33:15.6067490Z ▶ QQ Bot QR bind secret decryption +2026-09-27T05:33:15.6068156Z ✔ decrypts the AES-256-GCM response envelope (5.172343ms) +2026-09-27T05:33:15.6068873Z ✔ rejects malformed keys and truncated envelopes (2.352164ms) +2026-09-27T05:33:15.6069501Z ✔ QQ Bot QR bind secret decryption (10.023549ms) +2026-09-27T05:33:15.6070052Z ▶ quote companion disposal fencing +2026-09-27T05:33:15.6070891Z ✔ creates a WorkHub companion from an empty boundary without reading coordination turns (11.178374ms) +2026-09-27T05:33:15.6071884Z ✔ preserves a retryable busy reason from Side Conversation creation (6.907108ms) +2026-09-27T05:33:15.6072767Z ✔ does not start a send when the panel was disposed after fork setup (0.94547ms) +2026-09-27T05:33:15.6073658Z ✔ does not report success when disposal wins the send race (1.726982ms) +2026-09-27T05:33:15.6175117Z ✔ cleans a fork that resolves after its panel was disposed and never sends (4.018785ms) +2026-09-27T05:33:15.6176336Z ✔ quote companion disposal fencing (26.840042ms) +2026-09-27T05:33:16.3490832Z ▶ ToolRuntime settlement +2026-09-27T05:33:16.3517837Z ✔ rejects Client Capability Host admission without preparation in every boundary (25.465983ms) +2026-09-27T05:33:16.3556074Z ✔ does not promote an expanded Explore boundary into Client Capability admission (2.723835ms) +2026-09-27T05:33:16.3595890Z ✔ prepares Bypass Client Capability work before T1 and admits only after T1 (12.448606ms) +2026-09-27T05:33:16.3631877Z ✔ cancels prepared Client Capability work when T1 fails (4.028007ms) +2026-09-27T05:33:16.3645984Z ✔ keeps the durable Bash command while omitting it from the durable projection (11.846948ms) +2026-09-27T05:33:16.3695917Z ✔ projects every managed foreground Bash terminal state without its command (19.730602ms) +2026-09-27T05:33:16.3725620Z ✔ preserves live provider error mapping (0.799174ms) +2026-09-27T05:33:16.3775782Z ✔ records apply_patch failures without changing their provider output shape (0.665115ms) +2026-09-27T05:33:16.3786001Z ✔ falls back from provider text to the raw error message (4.605133ms) +2026-09-27T05:33:16.3835674Z ✔ keeps structured durable failures on the live success arm (0.941176ms) +2026-09-27T05:33:16.3873634Z ✔ rejects direct-only nested tools before permission argument projection or implementation (0.534024ms) +2026-09-27T05:33:16.3925864Z ✔ keeps permission projections for ordinary step-admission failures (5.171862ms) +2026-09-27T05:33:16.3975860Z ✔ publishes a live tool_result_preview when a linked child becomes ready (1.631461ms) +2026-09-27T05:33:16.4035453Z ✔ ToolRuntime settlement (101.280523ms) +2026-09-27T05:33:16.5682755Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:33:16.6397616Z ▶ ToolRuntime with real SQLite boundary +2026-09-27T05:33:16.6446138Z ✔ replays raw MCP model arguments without persisting the execution binding (274.574424ms) +2026-09-27T05:33:16.7317092Z ✔ persists a boundary-blocked Client Capability without an orphan response (94.713472ms) +2026-09-27T05:33:16.8588291Z ✔ persists a subagent admission rejection without an orphan response (126.046809ms) +2026-09-27T05:33:16.9476517Z ✔ persists a preflight-rejected sibling beside an exclusive tool without an orphan response (86.076617ms) +2026-09-27T05:33:17.0016500Z ✔ persists one atomic prepared/outcome pair around the real implementation (58.447112ms) +2026-09-27T05:33:17.1206244Z ✔ does not repeat tool or projection side effects after an atomic T2 failure (104.782298ms) +2026-09-27T05:33:17.1946820Z ✔ persists the same normalized error event that the Runtime flow later observes (87.301847ms) +2026-09-27T05:33:17.1976214Z ✔ ToolRuntime with real SQLite boundary (841.676151ms) +2026-09-27T05:33:17.4575563Z ✔ keeps companion forms pending until the Host acknowledgement arrives (7.010116ms) +2026-09-27T05:33:17.5556138Z ▶ ToolRuntime turn-close outcome identity +2026-09-27T05:33:17.5617542Z ✔ keeps the operation identity on a result synthesized after endTurn (76.225401ms) +2026-09-27T05:33:17.5717479Z ✔ ToolRuntime turn-close outcome identity (81.946427ms) +2026-09-27T05:33:17.6396125Z ✔ WebFetch forwards the canonical URL to its executor (11.416938ms) +2026-09-27T05:33:17.6608802Z ✔ WebFetch accepts only an HTTP or HTTPS url argument (6.529932ms) +2026-09-27T05:33:17.6666006Z ✔ WebFetch bounds model output with a head-truncation marker (2.182342ms) +2026-09-27T05:33:17.6695783Z ✔ privacy mode removes WebFetch from a turn (0.450647ms) +2026-09-27T05:33:17.6755757Z ✔ maps broker rejection codes onto worker error classification (7.225933ms) +2026-09-27T05:33:17.6917238Z ✔ leaves unknown stderr shapes unclassified so worker_crashed is preserved (0.303716ms) +2026-09-27T05:33:17.6945904Z ✔ compiles workspace-write roots, runtime roots, network, and environment (12.021602ms) +2026-09-27T05:33:17.7000189Z ✔ fails closed on write shapes that need parent-entry authority (3.822046ms) +2026-09-27T05:33:17.7121521Z ✔ fails closed for unsupported deny rules (0.335665ms) +2026-09-27T05:33:17.7156223Z ✔ fails closed when a profile requests enabled networking (0.359818ms) +2026-09-27T05:33:17.7185839Z ✔ compiles an exact file grant as a non-recursive broker root (5.389297ms) +2026-09-27T05:33:17.7225781Z ✔ rejects noncanonical paths and case-insensitive duplicate environment names (0.712246ms) +2026-09-27T05:33:17.7285824Z ✔ accepts real Windows environment names with parentheses and rejects block-breaking names (1.970716ms) +2026-09-27T05:33:17.7335039Z ✔ writes broker manifests to exclusive per-process temporary files (43.795554ms) +2026-09-27T05:33:17.7415667Z ✔ transforms a Windows managed profile into a broker-client invocation (5.633181ms) +2026-09-27T05:33:17.7453157Z ✔ rejects a request id with characters that are unsafe in a manifest filename (0.766412ms) +2026-09-27T05:33:17.7472904Z ✔ rejects a request id whose derived launch id exceeds the native protocol bound (3.838449ms) +2026-09-27T05:33:17.7548875Z ✔ rejects an invalid per-invocation client nonce (2.031827ms) +2026-09-27T05:33:17.7631296Z ✔ rejects a noncanonical materialized manifest path (2.602545ms) +2026-09-27T05:33:17.7654730Z ✔ honors a configured broker timeout and rejects out-of-range values (1.094228ms) +2026-09-27T05:33:17.7802725Z ✔ fails closed when broker client is unavailable or policy cannot be compiled (0.386565ms) +2026-09-27T05:33:18.3763676Z ▶ LocalWorkspaceExecutor exec +2026-09-27T05:33:18.3806030Z ✔ runs commands in the provided cwd and streams stdout/stderr (88.445332ms) +2026-09-27T05:33:18.3958172Z ✔ reports non-zero exit without throwing so tools can preserve their own error contract (25.6277ms) +2026-09-27T05:33:18.5372439Z ✔ runs argv commands without routing through the host shell (138.555201ms) +2026-09-27T05:33:18.7816059Z ✔ reports timeout with captured output (244.975388ms) +2026-09-27T05:33:18.9557440Z ✔ reports abort with captured output (172.067992ms) +2026-09-27T05:33:18.9590481Z ✔ LocalWorkspaceExecutor exec (672.124085ms) +2026-09-27T05:33:18.9773309Z ▶ LocalWorkspaceExecutor file operations +2026-09-27T05:33:18.9843464Z ✔ reads valid PNG, JPEG, GIF, and WebP images by magic bytes (21.237434ms) +2026-09-27T05:33:18.9912660Z ✔ ignores text windows when reading an image (4.502273ms) +2026-09-27T05:33:18.9916953Z ✔ rejects extension-only and over-limit image files (10.749035ms) +2026-09-27T05:33:19.0088267Z ✔ reads and writes text files by absolute path (17.763537ms) +2026-09-27T05:33:19.0143984Z ✔ applies read offset and limit at the executor boundary (6.129832ms) +2026-09-27T05:33:19.0440854Z ✔ globs files from the provided cwd with a result cap (19.340161ms) +2026-09-27T05:33:19.1027344Z ✔ greps file contents with rg-compatible no-match behavior (68.975614ms) +2026-09-27T05:33:19.1150966Z ✔ reports a missing ripgrep as grep_unavailable with an install hint (#5167) (10.712148ms) +2026-09-27T05:33:19.1362074Z ✔ keeps a missing working directory distinct from a missing ripgrep (22.566833ms) +2026-09-27T05:33:19.1707347Z ✔ a bypass Grep finds ripgrep installed after Host startup outside its inherited PATH (32.167633ms) +2026-09-27T05:33:19.1866220Z ✔ leaves other spawn failures, such as a non-executable rg, untouched (11.083633ms) +2026-09-27T05:33:19.1956118Z ✔ LocalWorkspaceExecutor file operations (228.389867ms) +2026-09-27T05:33:19.2276003Z ▶ workspace instructions prompt fragment +2026-09-27T05:33:19.2336216Z ✔ renders global instructions before project instructions (94.599948ms) +2026-09-27T05:33:19.2357169Z ✔ skips symlink escapes from allowlisted instruction filenames (19.576021ms) +2026-09-27T05:33:19.2395807Z ✔ skips global symlink escapes from ~/.maka instruction filenames (13.862125ms) +2026-09-27T05:33:19.2505738Z ✔ truncates large instruction files (24.012135ms) +2026-09-27T05:33:19.2558320Z ✔ lets a large global file consume the shared prompt budget before project files (19.957439ms) +2026-09-27T05:33:19.2625743Z ✔ collapses a CLAUDE.md symlinked to AGENTS.md into one block (13.546989ms) +2026-09-27T05:33:19.2670488Z ✔ collapses byte-identical instruction files that are not links (9.0432ms) +2026-09-27T05:33:19.2696287Z ✔ keeps instruction files in one directory that genuinely differ (8.036496ms) +2026-09-27T05:33:19.2745578Z ✔ keeps identical instructions that live in different scopes (11.924814ms) +2026-09-27T05:33:19.2795547Z ✔ workspace instructions prompt fragment (227.947494ms) +2026-09-27T05:33:19.2808780Z ✔ xAI device enrollment bounds authorization and polls through provider backoff (124.469502ms) +2026-09-27T05:33:19.2837403Z ✔ xAI device enrollment rejects untrusted presentation URLs (7.706731ms) +2026-09-27T05:33:19.2865834Z ✔ xAI token polling completes an admitted request after caller cancellation (8.831186ms) +2026-09-27T05:33:19.2867582Z ✔ xAI device polling classifies a local window expiry separately from a provider rejection (0.405273ms) +2026-09-27T05:33:19.3026641Z ✔ xAI device polling never issues a request after the window elapses mid-sleep (0.923127ms) +2026-09-27T05:33:19.3091681Z ✔ Zod esm preserves recursive identity across reentry and thrown parses (314.34377ms) +2026-09-27T05:33:19.3140142Z ✔ Zod cjs preserves recursive identity across reentry and thrown parses (234.660794ms) +2026-09-27T05:33:19.3164049Z ▶ BaseBotAdapter +2026-09-27T05:33:19.3228560Z ✔ emits normalized incoming messages and updates lastEventAt (2.127064ms) +2026-09-27T05:33:19.3244637Z ✔ detects restart boundaries from channel settings (0.442762ms) +2026-09-27T05:33:19.3290553Z ✔ does NOT restart when only allowedUserIds changes (runtime filter, not connection parameter) (0.203208ms) +2026-09-27T05:33:19.3314329Z ✔ derives readiness only from current credential facts (0.211302ms) +2026-09-27T05:33:19.3346105Z ✔ BaseBotAdapter (4.910786ms) +2026-09-27T05:33:19.3375372Z [bots:feishu] connection_failed: SDK unavailable +2026-09-27T05:33:19.3405296Z [bots:wecom] connection_failed: SDK unavailable +2026-09-27T05:33:19.3406262Z [bots:slack] connection_failed: SDK unavailable +2026-09-27T05:33:19.3437830Z [BotRegistry] slack start failed: Operation failed +2026-09-27T05:33:19.3465426Z ▶ BotRegistry +2026-09-27T05:33:19.3495651Z ✔ reports lazy SDK loading failures through bot status (14.653136ms) +2026-09-27T05:33:19.3496724Z ✔ reports disabled and missing-credential statuses without opening network connections (6.091823ms) +2026-09-27T05:33:19.3525780Z ✔ keeps the newest settings when overlapping updates disable and re-enable a bot (0.918124ms) +2026-09-27T05:33:19.3566207Z ✔ stopAll waits behind any pending applySettings call and clears bridges (1.479078ms) +2026-09-27T05:33:19.3595416Z ✔ BotRegistry (27.948975ms) +2026-09-27T05:33:19.3596120Z ▶ isAllowedUser +2026-09-27T05:33:19.3625695Z ✔ defaults open and otherwise requires an exact user-id match (0.959028ms) +2026-09-27T05:33:19.3656876Z ✔ isAllowedUser (2.506893ms) +2026-09-27T05:33:19.6146350Z ▶ quote companion panel ownership +2026-09-27T05:33:19.6167147Z ✔ opens an empty companion and reuses it for the same source session (2.224156ms) +2026-09-27T05:33:19.6246186Z ✔ replaces an empty companion when the source session changes (0.296609ms) +2026-09-27T05:33:19.6268811Z ✔ owns and consumes an initial slash-command prompt exactly once (0.261821ms) +2026-09-27T05:33:19.6304071Z ✔ consumes only the snapshot attached to the accepted send (0.572013ms) +2026-09-27T05:33:19.6305493Z ✔ ignores a late callback from a panel that has been replaced (0.254091ms) +2026-09-27T05:33:19.6306463Z ✔ removes one staged quote by stable panel and quote ids (0.346413ms) +2026-09-27T05:33:19.6307361Z ✔ ignores a stale removal from a replaced panel (0.183976ms) +2026-09-27T05:33:19.6308361Z ✔ quote companion panel ownership (6.914583ms) +2026-09-27T05:33:19.6425667Z ▶ decideDingTalkClose (PR-BOT-DINGTALK-OPERATIONAL-0) +2026-09-27T05:33:19.6455783Z ✔ only treats explicit stops as terminal (9.206716ms) +2026-09-27T05:33:19.6531688Z ✔ decideDingTalkClose (PR-BOT-DINGTALK-OPERATIONAL-0) (10.569702ms) +2026-09-27T05:33:19.6555565Z ▶ pickDingTalkSendRoute +2026-09-27T05:33:19.6568372Z ✔ routes a stamped single chat to the 1:1 endpoint by staff id (8.685768ms) +2026-09-27T05:33:19.6662022Z ✔ routes a stamped group chat to the group endpoint (0.316838ms) +2026-09-27T05:33:19.6696563Z ✔ keeps an unprefixed conversation id on the group endpoint (0.227406ms) +2026-09-27T05:33:19.6733438Z ✔ keeps an unprefixed staff id on the 1:1 endpoint (5.069582ms) +2026-09-27T05:33:19.6769464Z ✔ rejects empty and prefix-only ids (0.233014ms) +2026-09-27T05:33:19.6865817Z ✔ pickDingTalkSendRoute (15.115661ms) +2026-09-27T05:33:19.6918756Z ▶ classifyDingTalkSendResponse +2026-09-27T05:33:19.6945569Z ✔ accepts successful responses with or without a message id (0.487109ms) +2026-09-27T05:33:19.6995599Z ✔ distinguishes API errors, retryable throttling, and fatal HTTP errors (0.309783ms) +2026-09-27T05:33:19.7031476Z ✔ classifyDingTalkSendResponse (1.141358ms) +2026-09-27T05:33:19.7058809Z ▶ dingTalkPayloadToEvent +2026-09-27T05:33:19.7115912Z ✔ addresses a single chat by staff id, not by conversation id (9.689582ms) +2026-09-27T05:33:19.7145588Z ✔ addresses a group chat by conversation id (0.340345ms) +2026-09-27T05:33:19.7195657Z ✔ round-trips a single chat from receive to the 1:1 send body (0.269756ms) +2026-09-27T05:33:19.7244140Z ✔ round-trips a group chat from receive to the group send body (0.200883ms) +2026-09-27T05:33:19.7269458Z ✔ still delivers a single chat that carries no staff id (0.151022ms) +2026-09-27T05:33:19.7326039Z ✔ drops payloads missing text or routing identity (0.273441ms) +2026-09-27T05:33:19.7412864Z ✔ dingTalkPayloadToEvent (12.465945ms) +2026-09-27T05:33:19.7435307Z ▶ buildDingTalkAckFrame +2026-09-27T05:33:19.7495474Z ✔ builds default and data-bearing acknowledgements (0.244409ms) +2026-09-27T05:33:19.7628601Z ✔ buildDingTalkAckFrame (0.366012ms) +2026-09-27T05:33:19.9715931Z ▶ resume gateway url lifecycle +2026-09-27T05:33:19.9752107Z ✔ clears resumeGatewayUrl when the session is dropped (8.552888ms) +2026-09-27T05:33:19.9825733Z ✔ resume gateway url lifecycle (10.020319ms) +2026-09-27T05:33:19.9945592Z ▶ Discord gateway helpers +2026-09-27T05:33:20.0035786Z ✔ classifies stopped, fatal, resumable, and non-resumable closes (6.736204ms) +2026-09-27T05:33:20.0065687Z ✔ Discord gateway helpers (6.965529ms) +2026-09-27T05:33:20.0155692Z ▶ Discord send payloads +2026-09-27T05:33:20.0275879Z ✔ threads only the first chunk under a valid originating message (0.513732ms) +2026-09-27T05:33:20.0374746Z ✔ normalizes positive reply and channel snowflakes only (0.677472ms) +2026-09-27T05:33:20.0435923Z ✔ Discord send payloads (1.52127ms) +2026-09-27T05:33:20.0495610Z ▶ classifyDiscordSendResponse +2026-09-27T05:33:20.0583382Z ✔ returns the optional message id on successful responses (2.63671ms) +2026-09-27T05:33:20.0675925Z ✔ clamps rate-limit delays to the bounded retry window (0.490952ms) +2026-09-27T05:33:20.0685823Z ✔ returns fatal classifications for permanent HTTP failures (4.082882ms) +2026-09-27T05:33:20.0745494Z ✔ classifyDiscordSendResponse (9.082873ms) +2026-09-27T05:33:20.0769250Z ▶ discordMessageToEvent +2026-09-27T05:33:20.0825388Z ✔ maps guild and direct messages without retaining Discord transport shape (0.349677ms) +2026-09-27T05:33:20.0855644Z ✔ drops bot echoes and messages without an author (4.224465ms) +2026-09-27T05:33:20.0928128Z ✔ discordMessageToEvent (4.861303ms) +2026-09-27T05:33:20.1026919Z ▶ splitDiscordContent +2026-09-27T05:33:20.1095838Z ✔ preserves content while splitting only above Discord limits (1.067984ms) +2026-09-27T05:33:20.1109746Z ✔ splitDiscordContent (1.217697ms) +2026-09-27T05:33:20.1188295Z ▶ reconnectBackoffMs (shared backoff) +2026-09-27T05:33:20.1266001Z ✔ grows exponentially from the floor and caps at the ceiling (0.790126ms) +2026-09-27T05:33:20.1324704Z ✔ reconnectBackoffMs (shared backoff) (1.998185ms) +2026-09-27T05:33:20.1355424Z ▶ GatewayBridgeBase start gate +2026-09-27T05:33:20.1456327Z ✔ does not open a connection when the channel is disabled (11.769031ms) +2026-09-27T05:33:20.1485576Z ✔ does not open a connection when credentials are missing (0.392173ms) +2026-09-27T05:33:20.1547386Z ✔ reports as gateway connection kind once connected (0.646213ms) +2026-09-27T05:33:20.1575994Z ✔ GatewayBridgeBase start gate (13.184262ms) +2026-09-27T05:33:20.1605228Z ▶ GatewayBridgeBase hello / identify / resume +2026-09-27T05:33:20.1615690Z ✔ identifies on HELLO when no session exists (36.776406ms) +2026-09-27T05:33:20.1635809Z ✔ first send while the source is still on its first turn forks with an empty context (84.18348ms) +2026-09-27T05:33:20.1707089Z ✔ first send after a completed turn forks through the settled turn (39.558913ms) +2026-09-27T05:33:20.1755481Z [bots:qq] gateway-closed-4004: authentication failed +2026-09-27T05:33:20.1788786Z [bots:qq] gateway-closed-1000: +2026-09-27T05:33:20.1836946Z ✔ resumes on HELLO once READY established a session (4.0297ms) +2026-09-27T05:33:20.1908993Z ✔ GatewayBridgeBase hello / identify / resume (41.593304ms) +2026-09-27T05:33:20.1956153Z ▶ GatewayBridgeBase inbound dispatch +2026-09-27T05:33:20.1988258Z ✔ forwards DISPATCH events with type and payload (0.400896ms) +2026-09-27T05:33:20.2025708Z ✔ ignores frames that are not valid JSON (2.823334ms) +2026-09-27T05:33:20.2053179Z ✔ answers a server-requested heartbeat with the current seq (0.382142ms) +2026-09-27T05:33:20.2095719Z ✔ GatewayBridgeBase inbound dispatch (3.948708ms) +2026-09-27T05:33:20.2135484Z ▶ GatewayBridgeBase reconnect triggers +2026-09-27T05:33:20.2189189Z ✔ force-reconnects when a heartbeat fires before the previous ack (1.665196ms) +2026-09-27T05:33:20.2209386Z ✔ clears the session on non-resumable INVALID_SESSION and keeps it on resumable (3.801436ms) +2026-09-27T05:33:20.2295939Z ✔ schedules a reconnect when the gateway url fetch fails (0.260204ms) +2026-09-27T05:33:20.2297296Z ✔ schedules a reconnect with a stable failure code when constructing the socket throws (4.648375ms) +2026-09-27T05:33:20.2315676Z ✔ GatewayBridgeBase reconnect triggers (10.814507ms) +2026-09-27T05:33:20.2355618Z ▶ GatewayBridgeBase close policy +2026-09-27T05:33:20.2370271Z ✔ treats a fatal close as terminal: no reconnect, session dropped (0.664693ms) +2026-09-27T05:33:20.2407579Z ✔ reconnects resumably with a stable close code and redacted diagnostics (5.948389ms) +2026-09-27T05:33:20.2444919Z ✔ drops the session after a clean close and still reconnects (1.285518ms) +2026-09-27T05:33:20.2469412Z ✔ ignores closes that arrive after an explicit stop (0.256766ms) +2026-09-27T05:33:20.2521130Z ✔ GatewayBridgeBase close policy (8.453025ms) +2026-09-27T05:33:20.2550978Z ▶ review hardening: HELLO interval validation +2026-09-27T05:33:20.2565350Z ✔ falls back to the default interval when HELLO omits heartbeat_interval (15.586544ms) +2026-09-27T05:33:20.2598018Z ✔ a first send shows the question bubble immediately but arms Stop only once the fork exists (15.211585ms) +2026-09-27T05:33:20.2674356Z ✔ falls back to the default interval when HELLO has no payload at all (0.754746ms) +2026-09-27T05:33:20.2705573Z ✔ accepts a valid HELLO interval (0.937494ms) +2026-09-27T05:33:20.2763206Z ✔ review hardening: HELLO interval validation (17.569145ms) +2026-09-27T05:33:20.2841954Z ▶ review hardening: null auth payloads +2026-09-27T05:33:20.2872099Z ✔ force-reconnects without the session when the identify payload is null (1.392586ms) +2026-09-27T05:33:20.2896324Z ✔ force-reconnects keeping the session when the resume payload is null (4.229037ms) +2026-09-27T05:33:20.2938387Z ✔ review hardening: null auth payloads (5.876171ms) +2026-09-27T05:33:20.2983896Z ▶ review hardening: jitter timeout ownership +2026-09-27T05:33:20.2985652Z ✔ cancels a pending jitter timeout on stop (0.353396ms) +2026-09-27T05:33:20.2986543Z ✔ review hardening: jitter timeout ownership (0.472022ms) +2026-09-27T05:33:20.3039219Z ▶ review hardening: detached socket close events +2026-09-27T05:33:20.3045692Z ✔ ignores the late close event from a socket forceReconnect already closed (8.319769ms) +2026-09-27T05:33:20.3093598Z ✔ ignores the late close event that fires after an explicit stop (0.571704ms) +2026-09-27T05:33:20.3116051Z ✔ review hardening: detached socket close events (9.140556ms) +2026-09-27T05:33:20.3138406Z ▶ IM channel event mapping +2026-09-27T05:33:20.3165748Z ✔ maps a normalized Feishu group message without retaining the raw SDK payload (4.783935ms) +2026-09-27T05:33:20.3189578Z ✔ drops Feishu group messages outside the local allowlist (0.230952ms) +2026-09-27T05:33:20.3214088Z ✔ maps a WeCom direct text message to the sender conversation (0.295465ms) +2026-09-27T05:33:20.3215358Z ✔ drops WeCom messages outside the local allowlist (0.25345ms) +2026-09-27T05:33:20.3257015Z ✔ force-closes a Feishu raw socket even when the channel handshake never completed (0.31167ms) +2026-09-27T05:33:20.3287827Z ✔ detaches WeCom listeners before disconnecting the client (0.272315ms) +2026-09-27T05:33:20.3305373Z ✔ IM channel event mapping (16.611942ms) +2026-09-27T05:33:20.6632672Z ▶ proxiedFetch +2026-09-27T05:33:20.6676423Z ✔ returns a streaming proxied response at headers, before body EOF (141.237614ms) +2026-09-27T05:33:20.6729740Z ✔ keeps the initial Side Chat prompt before its reply when transcript reads fail (send reply) (588.907322ms) +2026-09-27T05:33:20.6866141Z ✔ cancelling the streamed body detaches the caller abort listener (27.40548ms) +2026-09-27T05:33:20.7059824Z ✔ caller abort after headers still aborts the original streamed body (25.584677ms) +2026-09-27T05:33:20.8226426Z ✔ times out and destroys stuck active proxy dispatchers (105.211105ms) +2026-09-27T05:33:20.9018963Z ✔ timeoutMs 0 disables the internal timeout for streaming callers (89.076715ms) +2026-09-27T05:33:20.9045428Z ✔ proxiedFetch (395.903523ms) +2026-09-27T05:33:20.9131029Z ✔ keeps the initial Side Chat prompt before its reply when transcript reads fail (admission event) (235.603802ms) +2026-09-27T05:33:20.9186229Z ✔ a failed first send retires the optimistic bubble without ever arming Stop (6.365364ms) +2026-09-27T05:33:20.9317997Z ✔ dispatches /compact to the committed companion fork without sending model input (10.162947ms) +2026-09-27T05:33:20.9328182Z ✔ dispatches the exact /compact Composer command before steering or ordinary send (0.47045ms) +2026-09-27T05:33:20.9385882Z ✔ routes running Side Conversation submissions like the main conversation (0.332096ms) +2026-09-27T05:33:20.9400130Z ✔ keeps an async companion compaction exclusive until its terminal event (5.603834ms) +2026-09-27T05:33:20.9485390Z ▶ QQ gateway helpers +2026-09-27T05:33:20.9525860Z ✔ classifies stopped, fatal, resumable, and non-resumable closes (1.943414ms) +2026-09-27T05:33:20.9548994Z ✔ QQ gateway helpers (3.511843ms) +2026-09-27T05:33:20.9603899Z ▶ classifyQQSendResponse +2026-09-27T05:33:20.9635161Z ✔ returns ids from either QQ success response shape (0.404098ms) +2026-09-27T05:33:20.9672268Z ✔ retries only rate-limited sends (0.236002ms) +2026-09-27T05:33:20.9728584Z ✔ returns stable fatal descriptions for permanent failures (0.26295ms) +2026-09-27T05:33:20.9755344Z ✔ classifyQQSendResponse (1.285577ms) +2026-09-27T05:33:20.9794727Z ▶ QQ message mapping +2026-09-27T05:33:20.9825634Z ✔ maps channel, group, and C2C identities to prefixed chat ids (0.600664ms) +2026-09-27T05:33:20.9830465Z ✔ drops bot echoes and messages without required identities (0.486744ms) +2026-09-27T05:33:20.9856974Z ✔ QQ message mapping (1.481648ms) +2026-09-27T05:33:20.9880948Z ▶ QQ REST routing +2026-09-27T05:33:20.9904668Z ✔ routes channel, group, and C2C sends with trimmed targets and optional replies (0.468911ms) +2026-09-27T05:33:20.9933739Z ✔ rejects unknown or empty send targets and restricts typing to channels (0.251221ms) +2026-09-27T05:33:20.9937667Z ✔ QQ REST routing (3.679117ms) +2026-09-27T05:33:20.9975447Z ▶ Slack bridge message mapping +2026-09-27T05:33:20.9976383Z ✔ maps a user message into the shared bot event contract (7.640067ms) +2026-09-27T05:33:21.0026592Z ✔ treats direct messages as private and drops bot/subtype echoes (0.312259ms) +2026-09-27T05:33:21.0076039Z ✔ keeps replies in the originating Slack thread (0.21398ms) +2026-09-27T05:33:21.0085148Z ✔ Slack bridge message mapping (10.293446ms) +2026-09-27T05:33:21.0228022Z ✔ releases an async companion compaction after a Host interruption (10.464403ms) +2026-09-27T05:33:21.0256695Z ✔ consecutive compactions each stop their observed Host Turn (15.33778ms) +2026-09-27T05:33:21.0301834Z ✔ does not settle a pending companion compaction from another turn outcome (11.892515ms) +2026-09-27T05:33:21.0304340Z ✔ clears a failed companion compaction request so it can be retried (9.545407ms) +2026-09-27T05:33:21.0306703Z ✔ rejects /compact while the companion is running without consuming staged quotes (11.391189ms) +2026-09-27T05:33:21.0307568Z ✔ rejects /compact while the companion fork is preparing (7.004864ms) +2026-09-27T05:33:21.0308432Z ✔ rejects /compact for an archived companion fork without invoking Runtime Host (7.013144ms) +2026-09-27T05:33:21.0388013Z ✔ does not fork on mount or when the source Session object refreshes (14.653761ms) +2026-09-27T05:33:21.0479996Z ✔ does not fork or send when the source model is unavailable (18.630329ms) +2026-09-27T05:33:21.0603232Z ✔ cleans up a first-send fork whose model no longer matches on commit (8.16757ms) +2026-09-27T05:33:21.0696156Z ✔ retains a fork whose in-flight send is waiting for observation when the model rebinds (16.272793ms) +2026-09-27T05:33:21.0756078Z ▶ classifyTelegramSendResponse +2026-09-27T05:33:21.0785706Z ✔ returns the optional message id on successful responses (7.834242ms) +2026-09-27T05:33:21.0786584Z ✔ clamps Telegram retry hints to the bounded retry window (0.373648ms) +2026-09-27T05:33:21.0816097Z ✔ classifies permanent and malformed failures with stable descriptions (0.282378ms) +2026-09-27T05:33:21.0845593Z ✔ classifyTelegramSendResponse (18.272072ms) +2026-09-27T05:33:21.1188218Z ✔ retains an admitted fork interrupted before send settles when its model changes (40.70841ms) +2026-09-27T05:33:21.1189400Z ✔ source model readiness requires the exact Connection id, slug, and model (0.421895ms) +2026-09-27T05:33:21.1495847Z ▶ Telegram reply streaming +2026-09-27T05:33:21.1546323Z ✔ keeps private-only drafts disabled for Telegram groups (1.971768ms) +2026-09-27T05:33:21.1604819Z ✔ coalesces snapshots and always persists the final reply (9.077091ms) +2026-09-27T05:33:21.1662612Z ✔ falls back to the final send after native draft delivery fails (1.664189ms) +2026-09-27T05:33:21.1766813Z ✔ does not resend a bounded draft when only hidden overflow changes (2.098621ms) +2026-09-27T05:33:21.1827020Z ✔ waits for an in-flight draft before publishing the final message (1.399813ms) +2026-09-27T05:33:21.1885639Z ✔ persists the final reply at most once (0.498032ms) +2026-09-27T05:33:21.1935921Z ✔ keeps only the latest pending snapshot while a draft request is slow (1.359244ms) +2026-09-27T05:33:21.1955972Z ✔ refreshes an unchanged draft before Telegram expires it (0.961927ms) +2026-09-27T05:33:21.1998685Z ✔ derives a stable non-zero draft identity for one Turn stream (0.484697ms) +2026-09-27T05:33:21.2075469Z ✔ accepts only safe positive private chat identities (2.231844ms) +2026-09-27T05:33:21.2175504Z ✔ Telegram reply streaming (25.582802ms) +2026-09-27T05:33:21.2214330Z ✔ keeps Side Conversation events owned by the Host-admitted turn across an admission race (32.45102ms) +2026-09-27T05:33:21.2240648Z ✔ binds a busy-raced Side Conversation send through its Host-admitted message identity (22.132665ms) +2026-09-27T05:33:21.2287713Z ✔ keeps staged quotes when Host retracts a busy-raced Side Conversation send (10.568405ms) +2026-09-27T05:33:21.2305766Z ✔ replays queued Side Conversation text after Host assigns the ticket to a successor Turn (29.890363ms) +2026-09-27T05:33:21.2346027Z ✔ binds an unproven Side Conversation send through the durable transcript (13.182228ms) +2026-09-27T05:33:21.2462485Z ✔ clears a stopped Side Conversation admission when its live retraction is lost (16.385919ms) +2026-09-27T05:33:21.2596029Z ✔ keeps a Side Conversation admission when Host stop outcome is unknown (11.883085ms) +2026-09-27T05:33:21.2736432Z ✔ stops a bound Side Conversation by its exact Host Turn identity (2.646722ms) +2026-09-27T05:33:21.2806030Z ✔ releases a queued Side Conversation admission from the Host queue retract (8.83661ms) +2026-09-27T05:33:21.2896275Z ✔ keeps the same Side Conversation admission across an observation failure (10.734461ms) +2026-09-27T05:33:21.2982124Z ✔ Side Chat stops presenting execution on observation loss while retaining the Stop target (13.877533ms) +2026-09-27T05:33:21.3211651Z ✔ keeps the active Side Conversation streaming when Stop retracts a queued steer (17.105897ms) +2026-09-27T05:33:21.3316514Z ✔ stops the active Side Conversation after retracting its queued steer (14.618211ms) +2026-09-27T05:33:21.3456352Z ✔ does not let an older Stop failure release a newer active Turn Stop (7.361642ms) +2026-09-27T05:33:21.3551371Z ✔ continues projecting the active Turn while a steer awaits Host admission (10.219682ms) +2026-09-27T05:33:21.3656806Z ✔ keeps an outcome-unknown Side Conversation steer addressable by message identity (7.794959ms) +2026-09-27T05:33:21.3728123Z ✔ recovers the Host-edited Side Conversation steer from the queue projection (12.106728ms) +2026-09-27T05:33:21.3916216Z ✔ consumes a steered attachment when the started turn binds the admission (10.452267ms) +2026-09-27T05:33:21.4023769Z ✔ retracts a queued Side Conversation message without stopping the active turn (11.758692ms) +2026-09-27T05:33:21.4180700Z ✔ queues multiple Side Conversation follow-ups while the active turn keeps streaming (10.738341ms) +2026-09-27T05:33:21.4386370Z ▶ buildTelegramSendBody +2026-09-27T05:33:21.4427525Z ✔ threads only the first chunk under a valid originating message (4.063276ms) +2026-09-27T05:33:21.4485228Z ✔ buildTelegramSendBody (6.119085ms) +2026-09-27T05:33:21.4541013Z ▶ normalizeTelegramReplyToMessageId +2026-09-27T05:33:21.4587633Z ✔ accepts positive safe integers and rejects malformed or unsafe values (2.809006ms) +2026-09-27T05:33:21.4596914Z ✔ normalizeTelegramReplyToMessageId (3.039713ms) +2026-09-27T05:33:21.4790526Z ▶ Telegram UTF-16 limits +2026-09-27T05:33:21.4813419Z ✔ splits oversized text within limits, on code points, and preferably at newlines (12.687276ms) +2026-09-27T05:33:21.4815277Z ✔ Telegram UTF-16 limits (14.027243ms) +2026-09-27T05:33:21.5136765Z ✔ adopts a queued Side Conversation follow-up that starts after the active turn settles (started receipt) (101.980012ms) +2026-09-27T05:33:21.5927753Z ▶ WechatBridge +2026-09-27T05:33:21.6020217Z ✔ normalizes only local http bridge URLs (1.601903ms) +2026-09-27T05:33:21.6042276Z ✔ normalizes only the iLink base URL for direct WeChat login (0.304616ms) +2026-09-27T05:33:21.6135753Z ✔ normalizes send targets before direct bridge and iLink sends (0.242746ms) +2026-09-27T05:33:21.6158038Z ✔ bridge URL is a credential fact and a restart boundary (0.334731ms) +2026-09-27T05:33:21.6588200Z ✔ adopts a queued Side Conversation follow-up that starts after the active turn settles (admission event) (145.811586ms) +2026-09-27T05:33:21.7576466Z ✔ places a raced steer before its successor reply after a lost receipt (admission event) (100.616117ms) +2026-09-27T05:33:21.8340312Z ✔ places a raced steer before its successor reply after a lost receipt (ownership recovery) (72.966229ms) +2026-09-27T05:33:21.8417367Z ✔ fetches an iLink-compatible QR payload from the local bridge and renders a data URL (253.74578ms) +2026-09-27T05:33:21.8476510Z ✔ rejects QR requests to non-local bridge URLs (0.529307ms) +2026-09-27T05:33:21.8545716Z ✔ maps live direct bridge messages into bot events (4.636251ms) +2026-09-27T05:33:21.8588680Z ✔ drops self messages and unmentioned group messages (0.268598ms) +2026-09-27T05:33:21.8672891Z ✔ accepts mentioned group messages and common bridge aliases (3.437711ms) +2026-09-27T05:33:21.8706355Z ✔ maps iLink text and voice transcript messages into bot events (0.527197ms) +2026-09-27T05:33:21.8725574Z ✔ maps bridge media kinds and rejects empty non-media messages (0.248056ms) +2026-09-27T05:33:21.8758290Z ✔ parses SSE data objects with LF and CRLF event boundaries (4.917894ms) +2026-09-27T05:33:21.8762753Z ✔ WechatBridge (273.110182ms) +2026-09-27T05:33:21.8786939Z ✔ reconciles a queued Side Conversation follow-up that settles before its started receipt (30.593571ms) +2026-09-27T05:33:21.8835877Z ✔ does not re-arm a settled follow-up after it leaves the bounded transcript tail (6.815915ms) +2026-09-27T05:33:21.8885718Z ✔ does not re-arm a settled follow-up after its transcript read fails (4.345903ms) +2026-09-27T05:33:21.8917389Z ✔ does not let a late Side Conversation started receipt replace a newer active turn (7.511259ms) +2026-09-27T05:33:21.8943584Z ▶ matchesBypassList +2026-09-27T05:33:21.8982023Z ✔ matches exact, wildcard, and CIDR entries (17.998829ms) +2026-09-27T05:33:21.8987586Z ✔ is case-insensitive and supports global wildcard (0.206723ms) +2026-09-27T05:33:21.8996209Z ✔ rejects malformed CIDR entries (4.331549ms) +2026-09-27T05:33:21.8999131Z ✔ matchesBypassList (24.207671ms) +2026-09-27T05:33:21.8999673Z ▶ getEnvWithProxy +2026-09-27T05:33:21.9000487Z ✔ injects proxy env without overwriting user exports (1.094797ms) +2026-09-27T05:33:21.9001383Z ✔ emits socks5 and IPv6 URLs (0.299107ms) +2026-09-27T05:33:21.9002037Z ✔ getEnvWithProxy (3.041321ms) +2026-09-27T05:33:21.9002569Z ▶ parseProxyConfig +2026-09-27T05:33:21.9003138Z ✔ coerces type and port safely (6.331596ms) +2026-09-27T05:33:21.9003885Z ✔ drops empty credentials and filters bypassList (0.362805ms) +2026-09-27T05:33:21.9212773Z ✔ parseProxyConfig (13.896464ms) +2026-09-27T05:33:21.9225447Z ▶ buildProxyUrl +2026-09-27T05:33:21.9231679Z ✔ builds proxy URLs with encoded credentials (0.628506ms) +2026-09-27T05:33:21.9232583Z ✔ brackets IPv6 hosts (0.197415ms) +2026-09-27T05:33:21.9233209Z ✔ buildProxyUrl (1.116529ms) +2026-09-27T05:33:21.9234143Z ✔ keeps the settled prior turn visible while a queued successor is running (5.497096ms) +2026-09-27T05:33:21.9235723Z ✔ retires a cancelled queued Side Conversation message after observation reseeds (3.30101ms) +2026-09-27T05:33:21.9237091Z ✔ releases an outcome-unknown Side Conversation steer when reseeding proves it cancelled (7.169409ms) +2026-09-27T05:33:21.9238397Z ✔ releases an outcome-unknown Side Conversation steer when reseeding proves it owned (8.107977ms) +2026-09-27T05:33:21.9239753Z ✔ retires durable Side Conversation identities before observation recovery queries (3.673478ms) +2026-09-27T05:33:21.9241003Z ✔ recovers every queued Side Conversation successor across one observation gap (4.659331ms) +2026-09-27T05:33:21.9242174Z ✔ fails a send when observation seed rejects and resubscribes for retry (3.984046ms) +2026-09-27T05:33:21.9243365Z ✔ releases a send waiting for observation when the Side Conversation is disposed (1.909292ms) +2026-09-27T05:33:21.9244783Z ✔ releases the fork observation while the panel is hidden and re-seeds on return (3.87848ms) +2026-09-27T05:33:21.9246069Z ✔ applies a permission mode picked before the first send once the fork is created (3.034922ms) +2026-09-27T05:33:21.9250555Z ✔ replaces a stale empty fork on the next send after the source model rebinds (3.870571ms) +2026-09-27T05:33:21.9275775Z ✔ fails closed when the staged permission write fails on the first send (2.038145ms) +2026-09-27T05:33:21.9426495Z ✔ replays the empty copy point across an ambiguous retry even after the source settles (2.85459ms) +2026-09-27T05:33:21.9456209Z ✔ declining Full access through the side-chat hook does not persist the permission mode (10.775294ms) +2026-09-27T05:33:21.9576114Z ✔ a structured-only send (empty text with a staged quote) reaches the fork admission (6.640672ms) +2026-09-27T05:33:21.9676102Z ✔ a structured-only steer (empty text with a staged quote) rides the steering contract (12.859328ms) +2026-09-27T05:33:21.9792570Z ✔ a steer with staged attachments consumes them only on confirmed admission (13.985973ms) +2026-09-27T05:33:21.9863440Z ✔ an unknown steer outcome that later retracts keeps the staged attachments (7.121447ms) +2026-09-27T05:33:22.0326330Z ✔ retires React measures, preserves other diagnostics, and releases its observer (34.808608ms) +2026-09-27T05:33:22.0355937Z ✔ preserves a mixed-name bucket when only one measure belongs to React (2.872595ms) +2026-09-27T05:33:22.0385460Z ▶ redactSecrets +2026-09-27T05:33:22.0416586Z ✔ masks credential headers, query parameters, provider keys, and high-entropy tokens (4.456956ms) +2026-09-27T05:33:22.0417841Z ✔ preserves non-secret URL context and ordinary text (0.341848ms) +2026-09-27T05:33:22.0418656Z ✔ redactSecrets (7.096653ms) +2026-09-27T05:33:22.2106198Z ▶ testProxyConnection +2026-09-27T05:33:22.2120594Z ✔ returns an error when the proxy host refuses connections (27.862264ms) +2026-09-27T05:33:22.2398132Z ✔ does not depend on the ambient global fetch when using the proxy dispatcher (29.153315ms) +2026-09-27T05:33:22.3444066Z ✔ times out when the proxy accepts TCP but never responds (111.204226ms) +2026-09-27T05:33:22.3486086Z ✔ testProxyConnection (170.390989ms) +2026-09-27T05:33:22.4437766Z ✔ modern stdio inputRequired becomes a typed ACP form and resumes the same MCP call (6993.133648ms) +2026-09-27T05:33:22.6808028Z ▶ connection effect network transport +2026-09-27T05:33:22.6856114Z ✔ concurrent discovery uses immutable per-effect proxy snapshots (147.887824ms) +2026-09-27T05:33:22.7000969Z ✔ close terminates owned proxy resources and rejects later fetches (9.625251ms) +2026-09-27T05:33:22.7220477Z ✔ close terminates resources owned by a direct transport (29.004361ms) +2026-09-27T05:33:22.7906263Z ✔ body timeout remains active after response headers arrive (55.622556ms) +2026-09-27T05:33:22.9661840Z ✔ bounds and redacts the browser-only renderer error report (58.527277ms) +2026-09-27T05:33:22.9687011Z ✔ keeps raw exceptions out of the localized crash surface (35.751377ms) +2026-09-27T05:33:23.0386009Z ▶ Desktop review base branch preferences +2026-09-27T05:33:23.0447856Z ✔ persists explicit refs across adapter instances without pinning new Sessions (8.89187ms) +2026-09-27T05:33:23.0477795Z ✔ ignores malformed records and recovers on the next explicit choice (1.459886ms) +2026-09-27T05:33:23.0520296Z ✔ handles a restricted localStorage getter lazily (0.665944ms) +2026-09-27T05:33:23.0558266Z ✔ handles read failures and quota errors without breaking comparisons (8.07059ms) +2026-09-27T05:33:23.0564758Z ✔ Desktop review base branch preferences (31.981336ms) +2026-09-27T05:33:23.0574650Z ✔ production proxied fetch keeps the deadline active while reading the body (268.503432ms) +2026-09-27T05:33:23.1472259Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:33:23.2019028Z ✔ oversized provider JSON and error bodies fail without escaping their bounds (154.884515ms) +2026-09-27T05:33:23.2137817Z ✔ successful probes cancel an unused response body (12.014116ms) +2026-09-27T05:33:23.2338487Z ✔ discovery exposes closed classifications without provider response bodies (21.570276ms) +2026-09-27T05:33:23.2435018Z ✔ connection testing reuses provider logic with an explicit direct transport (12.32608ms) +2026-09-27T05:33:23.2465650Z ✔ connection effect network transport (714.786884ms) +2026-09-27T05:33:23.2876019Z ℹ tests 3566 +2026-09-27T05:33:23.2927460Z ℹ suites 316 +2026-09-27T05:33:23.2985453Z ℹ pass 3560 +2026-09-27T05:33:23.3045501Z ℹ fail 1 +2026-09-27T05:33:23.3052380Z ℹ cancelled 0 +2026-09-27T05:33:23.3054009Z ℹ skipped 5 +2026-09-27T05:33:23.3054938Z ℹ todo 0 +2026-09-27T05:33:23.3085428Z ℹ duration_ms 136274.997375 +2026-09-27T05:33:23.3114596Z +2026-09-27T05:33:23.3115206Z ✖ failing tests: +2026-09-27T05:33:23.3115570Z +2026-09-27T05:33:23.3116099Z test at dist/__tests__/quiescent-session-snapshot.test.js:87:1 +2026-09-27T05:33:23.3117229Z ✖ actual Runtime Kernel serializes an admitted mutation before snapshot work (1.395495ms) +2026-09-27T05:33:23.3118101Z TypeError: deps.now is not a function +2026-09-27T05:33:23.3119136Z at new RuntimeKernel (file:///home/runner/work/maka/maka/packages/runtime/dist/runtime-kernel.js:92:42) +2026-09-27T05:33:23.3120570Z at TestContext. (file:///home/runner/work/maka/maka/packages/runtime/dist/__tests__/quiescent-session-snapshot.test.js:88:20) +2026-09-27T05:33:23.3121693Z at Test.runInAsyncScope (node:async_hooks:227:14) +2026-09-27T05:33:23.3122422Z at Test.run (node:internal/test_runner/test:1402:25) +2026-09-27T05:33:23.3123323Z at Test.processPendingSubtests (node:internal/test_runner/test:974:18) +2026-09-27T05:33:23.3124340Z at Test.postRun (node:internal/test_runner/test:1542:19) +2026-09-27T05:33:23.3125203Z at Test.run (node:internal/test_runner/test:1467:12) +2026-09-27T05:33:23.3125925Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:33:23.3235625Z npm error Lifecycle script `test:dist` failed with error: +2026-09-27T05:33:23.3236529Z npm error code 1 +2026-09-27T05:33:23.3265587Z npm error path /home/runner/work/maka/maka/packages/runtime +2026-09-27T05:33:23.3290084Z npm error workspace @maka/runtime@0.1.0 +2026-09-27T05:33:23.3307499Z npm error location /home/runner/work/maka/maka/packages/runtime +2026-09-27T05:33:23.3308361Z npm error command failed +2026-09-27T05:33:23.3309073Z npm error command sh -c node --test "dist/**/*.test.js" +2026-09-27T05:33:23.3775032Z +2026-09-27T05:33:23.3805736Z [storage] start: npm run test:dist +2026-09-27T05:33:23.6425845Z ▶ RiveWorkflow tool and CLI bridge +2026-09-27T05:33:23.6456160Z ✔ builds shell-free argv for high-level workflow commands (2.656836ms) +2026-09-27T05:33:23.6475842Z ✔ runs a fake Rive CLI and returns projection ids, not stdout success (48.621475ms) +2026-09-27T05:33:23.6535686Z ✔ fails closed when Rive is not installed (5.290365ms) +2026-09-27T05:33:23.6586525Z ✔ reports timeout and abort without parsing stdout as success (73.095181ms) +2026-09-27T05:33:23.6665683Z ✔ kills and reaps a Rive child that ignores SIGTERM on abort (2029.160317ms) +2026-09-27T05:33:23.6751335Z ✔ surfaces bad JSON and Rive error envelopes as structured tool failures (33.747665ms) +2026-09-27T05:33:23.6805582Z ✔ rejects invalid scheduler arguments before spawning Rive (5.841927ms) +2026-09-27T05:33:23.6958591Z ✔ redacts secrets from bridge errors and output tails (13.958647ms) +2026-09-27T05:33:23.7030153Z ✔ RiveWorkflow tool and CLI bridge (2215.380222ms) +2026-09-27T05:33:23.7276098Z ▶ synchronizeRuntimeHostAccountConnection +2026-09-27T05:33:23.7316073Z ✔ selects a default model when model discovery is rejected (2.120694ms) +2026-09-27T05:33:23.7350949Z ✔ selects a default model when model discovery throws (0.41526ms) +2026-09-27T05:33:23.7351713Z ✔ leaves an existing default alone (0.315532ms) +2026-09-27T05:33:23.7375665Z ✔ synchronizeRuntimeHostAccountConnection (4.711784ms) +2026-09-27T05:33:23.7405740Z ✔ HTML external open uses the managed endpoint and reports launch failure=false (136.813806ms) +2026-09-27T05:33:23.7428692Z ✔ HTML external open uses the managed endpoint and reports launch failure=true (21.10876ms) +2026-09-27T05:33:23.7462635Z ✔ Save As preserves the destination and reports none correctly (33.139208ms) +2026-09-27T05:33:23.7463892Z ✔ Save As preserves the destination and reports stream correctly (9.806539ms) +2026-09-27T05:33:23.7506913Z ✔ Save As preserves the destination and reports total correctly (6.118778ms) +2026-09-27T05:33:23.7536352Z ✔ Save As preserves the destination and reports length correctly (5.683174ms) +2026-09-27T05:33:23.7557252Z ✔ Save As preserves the destination and reports rename correctly (13.065813ms) +2026-09-27T05:33:23.7593493Z ✔ Save As preserves the destination and reports directory correctly (9.768731ms) +2026-09-27T05:33:23.7595690Z ✔ Save As preserves the destination and reports write correctly (6.937432ms) +2026-09-27T05:33:23.7656850Z ✔ Save As preserves the destination and reports sync correctly (8.776752ms) +2026-09-27T05:33:23.7687458Z ✔ Save As preserves the destination and reports close correctly (5.789396ms) +2026-09-27T05:33:23.7715743Z ✔ Runtime Host Artifact IPC preserves previews and streams complete exports (15.897062ms) +2026-09-27T05:33:23.7717172Z ✔ HTML Artifact materializes and opens with the operating system default app (9.44502ms) +2026-09-27T05:33:23.7748146Z ✔ HTML Artifact reveal uses Finder without invoking the default app (19.281662ms) +2026-09-27T05:33:23.7776821Z ✔ HTML Artifact reports default-app failure when opener returns an error (13.145684ms) +2026-09-27T05:33:23.7805835Z ✔ HTML Artifact reports default-app failure when opener rejects (3.024776ms) +2026-09-27T05:33:23.7835621Z ✔ HTML Artifact does not invoke an opener when materialization fails (6.026995ms) +2026-09-27T05:33:23.7836908Z ✔ Attachment byte IPC rejects preview-ineligible metadata before streaming (0.569062ms) +2026-09-27T05:33:23.7866917Z ✔ Attachment byte IPC stops a stream that exceeds its preview admission (0.443839ms) +2026-09-27T05:33:23.7895927Z ✔ creates a bot-mode Session through the Host-owned default model route (2.840023ms) +2026-09-27T05:33:23.7914831Z ✔ prepares a bound Session without exposing Host configuration revisions to the Bot (1.115874ms) +2026-09-27T05:33:23.7955653Z ✔ rejects archived Sessions before and after a permission transition (0.432477ms) +2026-09-27T05:33:23.7956779Z ✔ reconciles an uncertain Host Session create with its stable Session identity (0.409104ms) +2026-09-27T05:33:23.7985710Z ✔ subscribes before Turn start and settles a fast Host reply without losing text (1.882498ms) +2026-09-27T05:33:23.8015757Z ✔ accepts an empty reset delta as the authoritative Bot reply (0.738999ms) +2026-09-27T05:33:23.8017004Z ✔ reply snapshot observers cannot interrupt the authoritative Host Turn (0.827677ms) +2026-09-27T05:33:23.8045697Z ✔ returns blocked Skill feedback without waiting for a Turn that was not created (0.606666ms) +2026-09-27T05:33:23.8075640Z ✔ projects Host interaction and failure outcomes into the Bot reply contract (3.459744ms) +2026-09-27T05:33:23.8105656Z ✔ publishes an offline revision to the replacement candidate generation (2.375938ms) +2026-09-27T05:33:23.8106900Z ✔ does not let a retired candidate confirm an in-flight publication (1.070239ms) +2026-09-27T05:33:23.9285726Z +2026-09-27T05:33:23.9313029Z > @maka/storage@0.1.0 test:dist +2026-09-27T05:33:23.9335493Z > node --test "dist/**/*.test.js" +2026-09-27T05:33:23.9364972Z +2026-09-27T05:33:24.2976432Z ✔ restarts a paginated catalog read instead of mixing revisions (34.170936ms) +2026-09-27T05:33:24.3039638Z ✔ resolves WorkHub coordination through the dedicated Host operation (0.648139ms) +2026-09-27T05:33:24.3125924Z ✔ re-reads the Session revision before retrying a product update (0.635122ms) +2026-09-27T05:33:24.3155837Z ✔ settles cleanup when its copy target is already absent (0.322435ms) +2026-09-27T05:33:24.3156925Z ✔ settles branch cleanup when its target disappears between catalog reads (0.364786ms) +2026-09-27T05:33:24.3215914Z ✔ settles revision cleanup when abandon observes an already absent target (0.481106ms) +2026-09-27T05:33:24.3325862Z ✔ replays one exact model patch across fresh CAS projections (4.809826ms) +2026-09-27T05:33:24.3380593Z ✔ retries a Session update through transient revision churn (0.421146ms) +2026-09-27T05:33:24.3439179Z ✔ abandons a remove whose task was restored under it (0.383506ms) +2026-09-27T05:33:24.3505804Z ✔ retries a remove through revision churn that left the task archived (0.479739ms) +2026-09-27T05:33:24.3635918Z ✔ removes a task that was never archived when no premise was stated (6.110124ms) +2026-09-27T05:33:24.3715894Z ✔ rebuilds a Runtime Policy mutation from each fresh CAS projection (0.675917ms) +2026-09-27T05:33:24.3803724Z ✔ stops a guarded Runtime Policy retry after its semantic basis changes (0.306157ms) +2026-09-27T05:33:24.3875810Z ✔ treats empty configuration patches as read-only lookups (0.230287ms) +2026-09-27T05:33:24.3938029Z ✔ binds message controls to the current Host Epoch (0.409011ms) +2026-09-27T05:33:24.3976941Z ✔ uploads Attachment bytes in bounded Host chunks and commits the digest (7.415878ms) +2026-09-27T05:33:24.3999220Z ✔ aborts an opened Attachment upload when a later chunk fails (0.860491ms) +2026-09-27T05:33:24.4056160Z ✔ accepts an idempotently committed Attachment upload at begin (0.246021ms) +2026-09-27T05:33:24.4145281Z ✔ streams Artifact content without mixing chunk offsets or totals (0.636647ms) +2026-09-27T05:33:24.4175666Z ✔ restarts Session sidecar reads when a paginated revision changes (24.823791ms) +2026-09-27T05:33:24.4232150Z ✔ retries Goal clear only while the same Goal generation remains active (0.727122ms) +2026-09-27T05:33:24.4338808Z ✔ controlGoalWithRetry applies pause/resume with the queried revision (0.281507ms) +2026-09-27T05:33:24.4406114Z ✔ controlGoalWithRetry rethrows a status refusal instead of retrying it away (0.264215ms) +2026-09-27T05:33:24.4556158Z ✔ arms a Goal in one request and reports a conflicting Goal instead of retrying (0.362975ms) +2026-09-27T05:33:24.4587727Z ✔ rejects a SessionTodo projection for a different Session (0.307973ms) +2026-09-27T05:33:24.4647736Z ✔ projects SessionTodo content through the shared Desktop display boundary (7.579485ms) +2026-09-27T05:33:24.4678811Z ✔ a relocate conflict is reported, not replayed with a stale directory (0.511173ms) +2026-09-27T05:33:24.4745433Z ▶ ActivationSecretInjector +2026-09-27T05:33:24.4765631Z ✔ injects into an isolated launch environment and restores its prior state (16.2536ms) +2026-09-27T05:33:24.4845613Z ✔ literal redaction cannot rewrite its own replacement marker (10.93552ms) +2026-09-27T05:33:24.4860829Z ✔ resolves before injection and gives the sink one complete batch effect (3.548563ms) +2026-09-27T05:33:24.4925795Z ✔ the environment sink restores the complete batch if applying an entry fails (5.931992ms) +2026-09-27T05:33:24.5000317Z ✔ injects nothing when any reference is missing authorization (0.689714ms) +2026-09-27T05:33:24.5068388Z ✔ rejects reordered material references before the first sink effect (0.642349ms) +2026-09-27T05:33:24.5095768Z ✔ uses a private material snapshot across asynchronous sink effects (7.597677ms) +2026-09-27T05:33:24.5145515Z ✔ wraps a batch sink failure without exposing resolved material (0.648051ms) +2026-09-27T05:33:24.5215806Z ✔ keeps successful-handle cleanup failures retryable (0.629873ms) +2026-09-27T05:33:24.5235041Z ✔ rejects duplicate and malformed environment targets before resolution (0.635998ms) +2026-09-27T05:33:24.5301457Z ✔ ActivationSecretInjector (49.69629ms) +2026-09-27T05:33:24.6886643Z ✔ drives the Desktop Pricing adapter through a real Runtime Host connection (276.871165ms) +2026-09-27T05:33:25.1444865Z ✔ restarts a paginated Pricing read instead of mixing revisions (9.065521ms) +2026-09-27T05:33:25.1505919Z ✔ fails after bounded Pricing snapshot restarts under continuous churn (6.903514ms) +2026-09-27T05:33:25.1527104Z ✔ rejects duplicate or non-canonical keys split across Pricing pages (0.383961ms) +2026-09-27T05:33:25.1621461Z ✔ rejects a Pricing mutation from another Host Epoch before dispatch (0.515635ms) +2026-09-27T05:33:25.1670263Z ✔ rejects a Pricing mutation from a previous connection with the same Host Epoch (0.384149ms) +2026-09-27T05:33:25.1742991Z ✔ reloads authority after a committed Pricing mutation (7.229384ms) +2026-09-27T05:33:25.1806410Z ✔ keeps a known save outcome distinct when the authoritative reload fails (0.4376ms) +2026-09-27T05:33:25.1883420Z ✔ propagates a typed rejected mutation without classifying it as uncertain (0.434421ms) +2026-09-27T05:33:25.1956041Z ✔ does not replay a conflicting mutation and reports when authority already matches (5.771228ms) +2026-09-27T05:33:25.2023232Z ✔ requires review when a conflicting write differs from fresh authority (0.628848ms) +2026-09-27T05:33:25.2061897Z ✔ reconciles an uncertain mutation without claiming which command committed it (0.531987ms) +2026-09-27T05:33:25.2152772Z ✔ requires review after response loss when fresh authority differs (0.355823ms) +2026-09-27T05:33:25.2264070Z ✔ keeps writes blocked when uncertain-outcome reconciliation cannot reload authority (8.439361ms) +2026-09-27T05:33:25.2297602Z ✔ distinguishes reset from Custom-only delete while reconciling (0.405958ms) +2026-09-27T05:33:25.2345731Z ✔ requires custom provenance when an upsert equals the bundled values (0.282289ms) +2026-09-27T05:33:25.2405933Z ✔ captures the canonical mutation target before an uncertain request settles (0.498843ms) +2026-09-27T05:33:25.2465837Z ✔ does not collapse an omitted cache rate into an explicit zero during reconciliation (0.262393ms) +2026-09-27T05:33:25.3316284Z ▶ SQLite Agent Graph epochs +2026-09-27T05:33:25.3419245Z ✔ resolves legacy epoch 1 without persisting state for an unused graph (165.112953ms) +2026-09-27T05:33:25.3426005Z ✔ advances with compare-and-swap semantics and makes retries idempotent (102.004723ms) +2026-09-27T05:33:25.3509317Z ✔ rejects stale writers and graph identities already bound elsewhere (88.649516ms) +2026-09-27T05:33:25.3656812Z ✔ rejects a drifted legacy identity after adoption (77.799818ms) +2026-09-27T05:33:25.3810549Z ✔ retains the epoch directory until root-scoped retirement cleanup commits (68.800794ms) +2026-09-27T05:33:25.3875801Z ✔ SQLite Agent Graph epochs (512.508332ms) +2026-09-27T05:33:25.3984095Z ▶ SQLite agent graph intent claims +2026-09-27T05:33:25.4055447Z ✔ atomically allocates one stable activation identity per intent (64.356458ms) +2026-09-27T05:33:25.4135844Z ✔ rejects reused intent and activation identities with different semantics (89.396432ms) +2026-09-27T05:33:25.4144859Z ✔ rolls back a claim when the transaction fails before commit (81.061127ms) +2026-09-27T05:33:25.4205947Z ✔ atomically transitions claimed work to executing or cancelled (71.510078ms) +2026-09-27T05:33:25.4295523Z ✔ SQLite agent graph intent claims (320.636072ms) +2026-09-27T05:33:25.4326264Z ▶ SQLite agent graph schedule updates +2026-09-27T05:33:25.4365763Z ✔ lists only graph identities that have durable schedule intent (106.500218ms) +2026-09-27T05:33:25.4445751Z ✔ commits ordered idempotent updates and closes the schedule atomically (99.389635ms) +2026-09-27T05:33:25.4520910Z ✔ rejects tool-call and update identities reused for different work (89.54707ms) +2026-09-27T05:33:25.4616048Z ✔ rolls back an update when the transaction fails before commit (82.318504ms) +2026-09-27T05:33:25.6766572Z ✔ replays the same schedule after reopening the workspace database (159.182804ms) +2026-09-27T05:33:25.6812476Z ✔ linearizes scheduled admission against revision changes and closure (92.693233ms) +2026-09-27T05:33:25.6859711Z ✔ SQLite agent graph schedule updates (638.095939ms) +2026-09-27T05:33:26.0585830Z ✔ Agent Graph supervisor admission durably binds wake identity and Graph orchestration (471.649279ms) +2026-09-27T05:33:26.1926518Z ✔ Agent Graph supervisor admission rejects malformed identity and non-Graph orchestration (136.716539ms) +2026-09-27T05:33:26.2166117Z ▶ SQLite Agent Graph supervisor wakes +2026-09-27T05:33:26.2206254Z ✔ tracks retry attempts separately and marks delivery only after completion (39.039913ms) +2026-09-27T05:33:26.2260224Z ✔ recovers pre-run pending wakes without guessing the AgentRun state (26.406306ms) +2026-09-27T05:33:26.2375987Z ✔ terminally supersedes only non-delivered wakes for retired Sessions (30.526125ms) +2026-09-27T05:33:26.2425756Z ✔ SQLite Agent Graph supervisor wakes (97.76769ms) +2026-09-27T05:33:26.3504944Z ▶ SQLite agent graph timeline metadata +2026-09-27T05:33:26.3556346Z ✔ reads one graph control-plane snapshot with current admission and wake attempts (142.456435ms) +2026-09-27T05:33:26.3665969Z ✔ SQLite agent graph timeline metadata (143.782968ms) +2026-09-27T05:33:26.5886712Z ✔ drives Desktop Session operations through a real Runtime Host connection (222.971194ms) +2026-09-27T05:33:27.2234168Z ▶ artifact attachment authority +2026-09-27T05:33:27.2318068Z ✔ reads only live user-uploaded text within the invoking Session (641.189996ms) +2026-09-27T05:33:27.2455933Z ✔ drives the renderer Session catalog facade through real UDS framing (644.806675ms) +2026-09-27T05:33:27.3456404Z ✔ drives the renderer Session execution facade through real UDS framing (113.140263ms) +2026-09-27T05:33:27.4244854Z ✔ drives bounded Session domain projections through real UDS framing (80.774657ms) +2026-09-27T05:33:27.4566401Z ✔ resolves a live session ref and never forwards tombstoned bytes (229.914099ms) +2026-09-27T05:33:27.4671748Z ✔ loads a full transcript only on explicit request and closes Sessions before the connection (15.882865ms) +2026-09-27T05:33:27.4721627Z ✔ derives turn records from bounded contribution pages (0.826359ms) +2026-09-27T05:33:27.4766219Z ✔ reads the bounded prompt rail index, or one Turn, without paging every turn (1.17584ms) +2026-09-27T05:33:27.4767964Z ✔ requires plaintext confirmation and reports the issued invitation routes (16.882578ms) +2026-09-27T05:33:27.4770034Z ✔ treats an unavailable collaboration authority as an empty background inbox (0.948021ms) +2026-09-27T05:33:27.4772082Z ✔ Runtime Host config export omits settings secrets unless credentials are selected (3.903198ms) +2026-09-27T05:33:27.4774015Z ✔ Runtime Host config export reads selected credentials from Host authority (1.693979ms) +2026-09-27T05:33:27.4775525Z ✔ Runtime Host config export retries when a bound connection target changes (1.01664ms) +2026-09-27T05:33:27.4777301Z ✔ Runtime Host credentials-only export includes only schema-v1 credential fields (0.743353ms) +2026-09-27T05:33:27.4801668Z ✔ Runtime Host credentials-only proxy export carries a target binding without patching policy (2.991896ms) +2026-09-27T05:33:27.4803131Z ✔ Runtime Host settings export retries when the proxy changes after its secret read (0.771452ms) +2026-09-27T05:33:27.4804884Z ✔ Runtime Host credentials-only export omits each absent settings-carried secret (1.488111ms) +2026-09-27T05:33:27.4806185Z ✔ Runtime Host config export writes an empty v1 proxy password when none is configured (4.973291ms) +2026-09-27T05:33:27.4807497Z ✔ Runtime Host config import adapts v1 proxy passwords only with credential consent (1.433521ms) +2026-09-27T05:33:27.4808642Z ✔ Runtime Host config import rejects an unbound legacy proxy password (2.021823ms) +2026-09-27T05:33:27.4809786Z ✔ Runtime Host config import rejects a non-string v1 password during preflight (1.341715ms) +2026-09-27T05:33:27.4811051Z ✔ Runtime Host config import rejects conflicting authentication before apply (0.390119ms) +2026-09-27T05:33:28.0520952Z ✔ refuses a prototype member posing as a provider type (6.439443ms) +2026-09-27T05:33:28.0566272Z ✔ registers pure Connection reads for replacement-Host retry (1.522362ms) +2026-09-27T05:33:28.0578396Z ✔ forwards managed onboarding and emits only after a canonical save (1.179961ms) +2026-09-27T05:33:28.0595875Z ✔ keeps a dispatched onboarding save interruption outcome unknown (0.53663ms) +2026-09-27T05:33:28.0599972Z ✔ keeps Host commit_outcome_unknown distinct from a safe non-save (0.500593ms) +2026-09-27T05:33:28.0602195Z ✔ fails closed when a dispatched onboarding response cannot be decoded (9.765013ms) +2026-09-27T05:33:28.0603417Z ✔ retries connection delete after a stale revision instead of failing permanently (1.109997ms) +2026-09-27T05:33:28.0604858Z ✔ treats a missing connection as a successful delete without calling remove (0.354933ms) +2026-09-27T05:33:28.0606072Z ✔ does not delete a replacement Connection that reused the stale detail slug (0.419991ms) +2026-09-27T05:33:28.0607265Z ✔ rejects invalid connection identity input instead of treating it as already deleted (4.313802ms) +2026-09-27T05:33:28.0608303Z ✔ reports an existing but unconfigured credential as missing (0.381542ms) +2026-09-27T05:33:28.0609402Z ✔ keeps saved custom header values out of the renderer and preserves them by name (1.15598ms) +2026-09-27T05:33:28.0610494Z ✔ creates a connection with only the explicitly selected model (1.525966ms) +2026-09-27T05:33:28.0611670Z ✔ projects the Host default target without inventing a second Connection authority (0.252307ms) +2026-09-27T05:33:28.0612842Z ✔ does not invent a per-Connection default when the Host target is unset (0.141696ms) +2026-09-27T05:33:28.0614028Z ✔ preserves the Host-tested model and diagnostics for the existing Desktop UI (0.311642ms) +2026-09-27T05:33:28.1284745Z ✔ rejects unsupported refs and applies the shared byte limit inside authority (675.404276ms) +2026-09-27T05:33:28.2576564Z ✔ renderer service saves through IPC into the canonical catalog and reads it back (210.45158ms) +2026-09-27T05:33:28.3037989Z ✔ recovers an unavailable default Host without blocking other Hosts (9.781126ms) +2026-09-27T05:33:28.3058030Z ✔ prompts to retry a failed Local default instead of leaving the app degraded (0.435242ms) +2026-09-27T05:33:28.3477237Z ✔ routes durable context refs through the Session-bound snapshot reader (214.687249ms) +2026-09-27T05:33:28.5729972Z ✔ passes through real store not-found and unsupported-mime failures (231.51197ms) +2026-09-27T05:33:28.7276380Z ✔ uses the manager-owned launch barrier for local candidate startup (6.177515ms) +2026-09-27T05:33:28.7946310Z ✔ snapshotter rejects provider-unsafe images before publication (214.188184ms) +2026-09-27T05:33:29.0006239Z ✔ snapshotter reuses one content-addressed artifact for the same turn image (203.959717ms) +2026-09-27T05:33:29.0877224Z ✔ same-named servers keep different Session environments and grants after one Session closes (6646.864159ms) +2026-09-27T05:33:29.2826184Z ✔ protects a durable projection image until its Session is purged (284.753406ms) +2026-09-27T05:33:29.3816492Z ✔ updates a protocol-compatible managed Host before exposing a candidate over its old storage (638.495441ms) +2026-09-27T05:33:29.3876477Z ✔ formats bounded local Host exit evidence without leaking stderr secrets (4.36753ms) +2026-09-27T05:33:29.3935814Z ✔ drops a partial secret record retained across the stderr tail boundary (0.593718ms) +2026-09-27T05:33:29.4025798Z ✔ redacts a compact JSON secret embedded in local Host stderr (3.553806ms) +2026-09-27T05:33:29.4078231Z ✔ does not claim a blank local Host stderr tail was truncated (0.287252ms) +2026-09-27T05:33:29.4131257Z ✔ owns one complete Desktop candidate generation and can restart cleanly (10.091608ms) +2026-09-27T05:33:29.4165665Z ✔ routes Guest catalog changes through the mount projection authority (16.758251ms) +2026-09-27T05:33:29.4617099Z Desktop omitted desktop_mcp tool browser_snapshot: Client Capability tool schema root must be an object +2026-09-27T05:33:29.4993718Z ✔ owner and Guest candidates notify without opening a conversation and detach on close (5.513066ms) +2026-09-27T05:33:29.5197514Z ✔ rejects a stale Host identity when raw Session IDs collide (14.890802ms) +2026-09-27T05:33:29.5365569Z ✔ rejects a stale target generation when two profiles share one Host (7.765987ms) +2026-09-27T05:33:29.5419244Z ✔ planner derives the final ref without publishing before commit (223.689101ms) +2026-09-27T05:33:29.5485377Z ✔ artifact attachment authority (2926.61054ms) +2026-09-27T05:33:29.5618077Z ✔ tears down the whole candidate when the Host connection closes (2.421815ms) +2026-09-27T05:33:29.5631191Z ✔ preserves supported IPC when the connection closes before candidate startup returns (11.845164ms) +2026-09-27T05:33:29.5720672Z ✔ disposes candidate-scoped product IPC state on reconnect teardown (2.522345ms) +2026-09-27T05:33:29.5771572Z ✔ starts without registering an empty native capability set (0.502404ms) +2026-09-27T05:33:29.5790763Z ✔ refreshes native capabilities with a new immutable provider snapshot (8.631827ms) +2026-09-27T05:33:29.5815845Z ✔ releases all native Session resources on retirement and generation close (6.632252ms) +2026-09-27T05:33:29.5875938Z ✔ drains an accepted Host-backed Bot turn before closing its generation (7.393848ms) +2026-09-27T05:33:29.5915868Z ✔ rolls back only candidate-owned IPC after a registration collision (0.591163ms) +2026-09-27T05:33:29.5946501Z ✔ closes the claimed Host connection when native capability construction fails (3.928918ms) +2026-09-27T05:33:29.6004887Z ✔ isolates an invalid dynamic MCP tool without dropping the Host connection (3.45927ms) +2026-09-27T05:33:29.6036825Z ✔ does not release or report a Revision the Host retained during cleanup (3.699451ms) +2026-09-27T05:33:29.6077920Z ✔ resyncs Goal, exact interaction, and sidecar state after candidate replacement (12.754935ms) +2026-09-27T05:33:29.6125639Z ✔ retries candidate startup when a restored observation cannot seed (9.400808ms) +2026-09-27T05:33:29.6185656Z ✔ drops a stale shared Session observation when Guest access is gone (5.765347ms) +2026-09-27T05:33:29.6216070Z ✔ forgets an observed Session the Host no longer serves instead of blocking every reconnect (4.903088ms) +2026-09-27T05:33:29.6229609Z ✔ verified artifact copy replays after reopen and concurrent writers without rewriting (449.328965ms) +2026-09-27T05:33:29.6285300Z ✔ verified copy rejects conflicting ownership and every retained metadata field (504.285662ms) +2026-09-27T05:33:29.6345760Z ✔ verified copy rejects changed, truncated, extended or missing source payload without replacing it (374.768244ms) +2026-09-27T05:33:29.6385654Z ✔ verified copy rejects changed, truncated, extended or missing target payload without replacing it (425.462342ms) +2026-09-27T05:33:29.6477202Z ✔ verified copy converges after a partially copied attachment batch (391.987725ms) +2026-09-27T05:33:29.6567853Z ✔ replaces a disconnected Runtime Host generation (25.315799ms) +2026-09-27T05:33:29.6682454Z ✔ quiesces reconnect and waits for the Host process before update install (6.80389ms) +2026-09-27T05:33:29.6727270Z ✔ quiesces Local reconnect while a managed service changes (4.612889ms) +2026-09-27T05:33:29.6762008Z [runtime-host] reconnecting: { +2026-09-27T05:33:29.6836229Z profileId: 'shared-offline', +2026-09-27T05:33:29.6869062Z code: 'direct_path_unavailable', +2026-09-27T05:33:29.6919829Z message: 'No direct path' +2026-09-27T05:33:29.6945583Z } +2026-09-27T05:33:29.6985740Z ✔ waits through a reconnect gap before quiescing Host retirement (4.348942ms) +2026-09-27T05:33:29.7025907Z ✔ does not treat an in-flight replacement as retired after admission times out (7.5857ms) +2026-09-27T05:33:29.7028906Z ✔ retires the owned ephemeral Host before Desktop quit (3.897355ms) +2026-09-27T05:33:29.7056609Z ✔ quit refuses active work before asking for consent (0.730522ms) +2026-09-27T05:33:29.7076443Z ✔ quit commits idle retirement without waiting for process exit (0.584433ms) +2026-09-27T05:33:29.7080668Z ✔ quit preserves a Host this Desktop does not own (4.71415ms) +2026-09-27T05:33:29.7082085Z ✔ an unreachable Host never blocks quit (0.973615ms) +2026-09-27T05:33:29.7083096Z ✔ replacement still waits for process exit after quit has prepared retirement (0.740979ms) +2026-09-27T05:33:29.7084615Z ✔ does not retire the local Host twice when an update handoff triggers quit (4.326868ms) +2026-09-27T05:33:29.7087377Z ✔ does not block quit after a retired Local Host hands off to an unavailable supervisor (2.690468ms) +2026-09-27T05:33:29.7089560Z ✔ coalesces concurrent retirement intents onto one exact Host request (3.926907ms) +2026-09-27T05:33:29.7090769Z ✔ reissues a concurrent strong retirement when weak retirement is refused (0.700481ms) +2026-09-27T05:33:29.7091791Z ✔ retires unadopted candidates before draining the tracked Host (0.941038ms) +2026-09-27T05:33:29.7092678Z ✔ resumes candidate launches when active tasks block the update (0.531952ms) +2026-09-27T05:33:29.7093741Z ✔ preserves Host facts when authorized retirement is refused (3.796387ms) +2026-09-27T05:33:29.7094906Z ✔ resumes candidate launches when candidate retirement fails (4.480839ms) +2026-09-27T05:33:29.7095827Z ✔ keeps active-task confirmation bound to the current Host (0.723783ms) +2026-09-27T05:33:29.7096809Z ✔ leaves supervised Host ownership intact during a Desktop update (6.553227ms) +2026-09-27T05:33:29.7097836Z ✔ leaves external Host ownership intact during a Desktop update (0.275007ms) +2026-09-27T05:33:29.7098907Z ✔ keeps Local and remote Hosts active and routes work by owning Host (1.261466ms) +2026-09-27T05:33:29.7101538Z ✔ does not poll a remote service PID when the Host cannot be replaced (7.43611ms) +2026-09-27T05:33:29.7102716Z ✔ keeps independent shared-session credentials active for the same Host (1.211428ms) +2026-09-27T05:33:29.7103851Z ✔ aborts an in-flight Guest mount without publishing a late target (6.595047ms) +2026-09-27T05:33:29.7105234Z ✔ replays pairing finalization after an unknown commit and reconnect (1.68301ms) +2026-09-27T05:33:29.7106389Z ✔ reconnects after a pairing candidate becomes bound to this Client (5.771036ms) +2026-09-27T05:33:29.7107547Z ✔ reports Guest admission capacity instead of retrying the initial mount (1.119218ms) +2026-09-27T05:33:29.7108821Z ✔ Guest finalization does not claim a commit while the peer path is unavailable (26.907152ms) +2026-09-27T05:33:29.7110055Z ✔ completes Guest import at credential activation while reconnect continues (1.270165ms) +2026-09-27T05:33:29.7111253Z ✔ replays not_dispatched pairing finalization after connection loss (7.028116ms) +2026-09-27T05:33:29.7112357Z ✔ replays dispatched pairing finalization after connection loss (0.71404ms) +2026-09-27T05:33:29.7113554Z ✔ defers reconnecting pairing finalization when the manager closes (1.068159ms) +2026-09-27T05:33:29.7115095Z ✔ defers pairing finalization when reconnect does not complete in time (20.029755ms) +2026-09-27T05:33:29.7116134Z ✔ bounds an in-flight pairing finalization and preserves its unknown outcome (0.988493ms) +2026-09-27T05:33:29.7117102Z ✔ coalesces concurrent enable requests for one remote profile (7.748541ms) +2026-09-27T05:33:29.7118854Z ✔ disable cancels queued starts without affecting a subsequent enable (7.107516ms) +2026-09-27T05:33:29.7119824Z ✔ close cancels an initial remote compatibility handoff (9.82392ms) +2026-09-27T05:33:29.7122328Z [runtime-host] reconnecting: office Error: A Runtime Host was found but did not become ready before the startup deadline elapsed. It may still be opening this workspace (large workspaces can need longer right after an upgrade); retrying once it settles usually succeeds, or set MAKA_RUNTIME_HOST_ELECTION_DEADLINE_MS to allow more time. +2026-09-27T05:33:29.7125298Z at runtimeHostStartupError (file:///home/runner/work/maka/maka/packages/runtime-host/dist/client/startup-error.js:59:20) +2026-09-27T05:33:29.7126688Z at Object.observe (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:865:33) +2026-09-27T05:33:29.7128272Z at async runHostHandoff (file:///home/runner/work/maka/maka/packages/runtime-host/dist/client/host-handoff.js:92:28) +2026-09-27T05:33:29.7143683Z at async RuntimeHostDesktopManagerImpl.connect (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:873:20) +2026-09-27T05:33:29.7148280Z at async RuntimeHostReconnectLifecycleImpl.start (file:///home/runner/work/maka/maka/packages/runtime-host/dist/client/reconnect-lifecycle.js:109:27) +2026-09-27T05:33:29.7149852Z at async Object.start (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:1025:21) +2026-09-27T05:33:29.7151126Z at async #enable (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:384:13) +2026-09-27T05:33:29.7152292Z [runtime-host] connection restored: { profileId: 'office', failedAttempts: 2, durationMs: 4 } +2026-09-27T05:33:29.7153336Z ✔ waits for an in-flight remote enable before closing (4.707019ms) +2026-09-27T05:33:29.7154563Z ✔ keeps Local explicitly usable without routing default work away from an unavailable remote (1.22473ms) +2026-09-27T05:33:29.7155843Z ✔ keeps an initially unavailable Direct target live and wakes it on new routes (5.198919ms) +2026-09-27T05:33:29.7156739Z [runtime-host] reconnecting: office Error: route is temporarily unavailable +2026-09-27T05:33:29.7158096Z at RuntimeHostDesktopManagerImpl.startCandidate (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-desktop-manager.test.js:1193:23) +2026-09-27T05:33:29.7159572Z at Object.observe (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:710:41) +2026-09-27T05:33:29.7160835Z at runHostHandoff (file:///home/runner/work/maka/maka/packages/runtime-host/dist/client/host-handoff.js:92:40) +2026-09-27T05:33:29.7162221Z at RuntimeHostDesktopManagerImpl.connect (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:873:26) +2026-09-27T05:33:29.7163729Z at RuntimeHostReconnectLifecycleImpl.connect (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:949:29) +2026-09-27T05:33:29.7165618Z at RuntimeHostReconnectLifecycleImpl.start (file:///home/runner/work/maka/maka/packages/runtime-host/dist/client/reconnect-lifecycle.js:109:46) +2026-09-27T05:33:29.7167125Z at Object.start (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:1025:37) +2026-09-27T05:33:29.7168403Z at #enable (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:384:26) +2026-09-27T05:33:29.7169618Z at file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:339:85 +2026-09-27T05:33:29.7170702Z at file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:1067:77 +2026-09-27T05:33:29.7172191Z [runtime-host] reconnecting: local Error: Runtime Host failed while recovering this workspace. Try again; if the problem persists, report diagnostic code INTERNAL_STARTUP_FAILURE. +2026-09-27T05:33:29.7173715Z at runtimeHostStartupError (file:///home/runner/work/maka/maka/packages/runtime-host/dist/client/startup-error.js:35:20) +2026-09-27T05:33:29.7175155Z at Object.observe (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:865:33) +2026-09-27T05:33:29.7178592Z at async runHostHandoff (file:///home/runner/work/maka/maka/packages/runtime-host/dist/client/host-handoff.js:92:28) +2026-09-27T05:33:29.7180249Z at async RuntimeHostDesktopManagerImpl.connect (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:873:20) +2026-09-27T05:33:29.7181795Z at async #reconnect (file:///home/runner/work/maka/maka/packages/runtime-host/dist/client/reconnect-lifecycle.js:273:34) +2026-09-27T05:33:29.7183060Z [runtime-host] connection restored: { profileId: 'local', failedAttempts: 2, durationMs: 0 } +2026-09-27T05:33:29.7184627Z ✔ repeated offline Guest failures preserve Local readiness without rebroadcasting each retry (16.610474ms) +2026-09-27T05:33:29.7185958Z ✔ marks a retrying Direct target unavailable on permanent failure (1.336382ms) +2026-09-27T05:33:29.7187286Z ✔ keeps reconnecting through transient startup failures until the Desktop adapter is restored (5.008154ms) +2026-09-27T05:33:29.7188841Z ✔ reconciles interrupted managed setup after a Local discovery result (0.597431ms) +2026-09-27T05:33:29.7190051Z ✔ reconciles interrupted managed setup after Local discovery throws (2.610043ms) +2026-09-27T05:33:29.7191295Z ✔ stops reconnecting when the replacement Host is incompatible (1.676488ms) +2026-09-27T05:33:29.7192484Z ✔ does not retain manual-stop authority after the owned Host process exits (4.040492ms) +2026-09-27T05:33:29.7193781Z ✔ does not block quit after a supervised Local Host becomes permanently unavailable (0.631345ms) +2026-09-27T05:33:29.7195244Z ✔ automatically replaces a proven-idle managed Host without an interruption decision (2.440155ms) +2026-09-27T05:33:29.7196477Z ✔ active and unknown work use the shared explicit interruption decision (1.985046ms) +2026-09-27T05:33:29.7197783Z ✔ an admission race needs fresh explicit consent instead of repeated automatic replacement (0.701133ms) +2026-09-27T05:33:29.7199199Z ✔ an exact legacy ephemeral stop always requires consent and preserves the OS lifetime fence (4.511776ms) +2026-09-27T05:33:29.7200416Z ✔ cancelling a live handoff does not authorize any replacement (0.950064ms) +2026-09-27T05:33:29.7201586Z ✔ a scope published before the first connection waits for that connection (3.882784ms) +2026-09-27T05:33:29.7202816Z ✔ a scope published before the first connection fails with that connection (0.704352ms) +2026-09-27T05:33:29.7203989Z ✔ recovers a degraded Local start through a fresh target generation (1.135947ms) +2026-09-27T05:33:29.7205211Z ✔ keeps a known repair actionable when its first authority inspection fails (1.388237ms) +2026-09-27T05:33:29.7226664Z ✔ managed WSL handoff uses its verified adapter and reconnects without local process ownership (1.600616ms) +2026-09-27T05:33:29.7227977Z ✔ forwards bounded external Session requests and publishes imported Sessions (5.180078ms) +2026-09-27T05:33:29.7232484Z ✔ an uncertain commit still asks the shell to re-read the catalog (0.736153ms) +2026-09-27T05:33:29.7243339Z ✔ does not turn a missing import destination into an uncertain commit (0.917243ms) +2026-09-27T05:33:29.7295498Z ✔ keeps catalog eligibility owned by the Host after an uncertain import (0.624223ms) +2026-09-27T05:33:29.7345667Z ✔ a dispatched interrupted import has the same uncertain outcome as the Host error (1.095586ms) +2026-09-27T05:33:29.7351215Z ✔ fails closed when a dispatched import response cannot be decoded (0.426528ms) +2026-09-27T05:33:29.7377158Z ✔ does not relabel an explicitly undispatched import as uncertain (0.588844ms) +2026-09-27T05:33:29.7445627Z ✔ maps a no-usable-model failure to a distinct, non-recovering reason (0.6388ms) +2026-09-27T05:33:29.7486784Z ✔ maps a pre-commit conversion failure to source_unreadable (0.386906ms) +2026-09-27T05:33:29.7530328Z ✔ maps a decoded source limit to IPC data without publishing a created Session (0.651961ms) +2026-09-27T05:33:29.7588297Z ✔ rethrows import failures that have no distinct renderer reason (0.670549ms) +2026-09-27T05:33:29.7665192Z ✔ rejects malformed renderer requests before they reach the Host client (0.59871ms) +2026-09-27T05:33:29.8295963Z ✔ delegates local credential adoption to one Host onboarding command (2.801427ms) +2026-09-27T05:33:29.8845861Z ▶ SQLite Artifact store +2026-09-27T05:33:29.8919082Z ✔ creates a missing workspace root before acquiring the writer lock (382.756355ms) +2026-09-27T05:33:29.8995766Z ✔ publishes stable identities and persists canonical records (257.383018ms) +2026-09-27T05:33:29.9171160Z ✔ lists only live Artifacts committed by one exact Turn (318.72569ms) +2026-09-27T05:33:29.9197741Z ✔ persists and reopens bounded synthetic turn keys (338.856446ms) +2026-09-27T05:33:29.9301862Z ✔ owns stable session revisions across paging, reopen, mutations, and no-ops (443.388328ms) +2026-09-27T05:33:29.9396184Z ✔ copies an exact turn-scoped Artifact snapshot and purges only the target Session (285.355669ms) +2026-09-27T05:33:29.9435646Z ✔ excludes selected Artifacts from a conversation snapshot (319.771725ms) +2026-09-27T05:33:29.9519310Z ✔ copies explicit linked child Artifacts into a conversation snapshot (241.683834ms) +2026-09-27T05:33:29.9590620Z ✔ includes explicit same-Session Artifacts outside the copied turns (391.623759ms) +2026-09-27T05:33:30.2406961Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:33:30.2868714Z ✔ user deletion respects the current artifact source while owner cleanup remains possible (401.706815ms) +2026-09-27T05:33:30.6906336Z ✔ sanitizes adversarial names idempotently across reopen and stable-id retry (402.165918ms) +2026-09-27T05:33:30.8092024Z ✔ onboarding and workspace search never fan out Owner IPC to a ready Guest (1015.014915ms) +2026-09-27T05:33:30.9486174Z [session-collaboration] import failed: RuntimeHostPermanentReconnectError: Shared Session access is no longer available +2026-09-27T05:33:30.9515960Z at recordSharedSession (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-guest-session-mounts.js:232:19) +2026-09-27T05:33:30.9596120Z at async file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-guest-session-mounts.js:339:17 +2026-09-27T05:33:30.9666690Z at async activate (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-guest-session-mounts.js:348:20) +2026-09-27T05:33:30.9715903Z at async runImport (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-guest-session-mounts.js:486:34) +2026-09-27T05:33:30.9777593Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-guest-session-mounts.test.js:127:19) +2026-09-27T05:33:30.9846060Z at async Test.run (node:internal/test_runner/test:1409:7) +2026-09-27T05:33:30.9875570Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:33:30.9927869Z [session-collaboration] import failed: RuntimeHostRemoteCompatibilityError: RUNTIME_HOST_REMOTE_INCOMPATIBLE: Runtime Host profile shared-incompatible is incompatible. Client compatibility epoch 192. Host compatibility epoch 191. Use compatible Client and Host builds, restart the remote Runtime Host service after updating the Host, then retry +2026-09-27T05:33:30.9985938Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-guest-session-mounts.test.js:269:19) +2026-09-27T05:33:31.0015533Z at Test.runInAsyncScope (node:async_hooks:227:14) +2026-09-27T05:33:31.0067579Z at Test.run (node:internal/test_runner/test:1402:25) +2026-09-27T05:33:31.0096670Z at Test.processPendingSubtests (node:internal/test_runner/test:974:18) +2026-09-27T05:33:31.0150674Z at Test.postRun (node:internal/test_runner/test:1542:19) +2026-09-27T05:33:31.0195247Z at Test.run (node:internal/test_runner/test:1467:12) +2026-09-27T05:33:31.0237765Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:33:31.0286155Z [session-collaboration] import failed: RuntimeHostPairingFinalizationInterruptedError: Runtime Host pairing finalization is continuing in the background +2026-09-27T05:33:31.0326874Z at Object.finalizeAccess (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-guest-session-mounts.test.js:377:19) +2026-09-27T05:33:31.0375701Z at file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-guest-session-mounts.js:315:40 +2026-09-27T05:33:31.0446326Z at activate (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-guest-session-mounts.js:345:11) +2026-09-27T05:33:31.0495946Z at async runImport (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-guest-session-mounts.js:486:34) +2026-09-27T05:33:31.0525885Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-guest-session-mounts.test.js:380:20) +2026-09-27T05:33:31.0557440Z at async Test.run (node:internal/test_runner/test:1409:7) +2026-09-27T05:33:31.0585412Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:33:31.0587205Z ✔ retains a successful Guest mount and rehydrates the same authority after restart (14.458889ms) +2026-09-27T05:33:31.0611140Z ✔ keeps live Guest state in memory without persisting ephemeral run identities (3.378534ms) +2026-09-27T05:33:31.0637058Z ✔ collapses fresh credentials for the same authenticated shared Session (2.370781ms) +2026-09-27T05:33:31.0664331Z ✔ unmounts a superseded Guest when its replacement is rejected during projection commit (5.884268ms) +2026-09-27T05:33:31.0703656Z ✔ reports activated Guest access as recovering while reauthentication continues (1.055704ms) +2026-09-27T05:33:31.0705270Z ✔ persists authenticated route rotation for reconnect and restart (2.705269ms) +2026-09-27T05:33:31.0757506Z ✔ retries authenticated route rotation after transient persistence failure (2.423494ms) +2026-09-27T05:33:31.0787643Z ✔ derives retained mount readiness from the Runtime Host connection owner (0.495177ms) +2026-09-27T05:33:31.0804381Z ✔ removes failed activation desire instead of creating recoverable profile state (0.824819ms) +2026-09-27T05:33:31.0876098Z ✔ reports incompatible hosts without losing retained access or treating a failed import as committed (15.182489ms) +2026-09-27T05:33:31.0889230Z ✔ does not retry a startup mount whose reachability recovery is exhausted (3.377429ms) +2026-09-27T05:33:31.0925786Z ✔ retires a retained Session projection only after explicit access rejection (1.122911ms) +2026-09-27T05:33:31.0955761Z ✔ a connection timeout before finalization is not an uncertain authorization commit (1.549243ms) +2026-09-27T05:33:31.0985960Z ✔ fails closed when a revoked Session projection cannot be persisted immediately (4.090418ms) +2026-09-27T05:33:31.0987373Z ✔ publishes a refreshed Guest projection while persistence is unavailable (1.297416ms) +2026-09-27T05:33:31.1019221Z ✔ serves a published Guest projection while its durable write is pending (4.001912ms) +2026-09-27T05:33:31.1045903Z ✔ cancels an admitted Guest projection refresh during shutdown (0.739885ms) +2026-09-27T05:33:31.1075960Z ✔ retains activated Guest access when shutdown cancels initial projection hydration (0.660022ms) +2026-09-27T05:33:31.1089586Z ✔ does not lose a catalog invalidation that races Guest activation (3.977389ms) +2026-09-27T05:33:31.1128080Z ✔ logs unexpected activation failures without returning Host details (1.437098ms) +2026-09-27T05:33:31.1185761Z ✔ settles admitted finalization before committing unmount desire (4.176367ms) +2026-09-27T05:33:31.1216333Z ✔ removal fences a connecting startup mount before credential finalization (0.536675ms) +2026-09-27T05:33:31.1245653Z ✔ removal settles one admitted startup finalization without waiting through retries (0.456395ms) +2026-09-27T05:33:31.1251360Z ✔ settles admitted finalization before closing and retains the mount (0.555287ms) +2026-09-27T05:33:31.1278751Z ✔ does not enter startup retry backoff after closing during finalization (0.411058ms) +2026-09-27T05:33:31.1305757Z ✔ retains and reconciles a mount when finalization outcome is unknown (2.930382ms) +2026-09-27T05:33:31.1335748Z ✔ finishes a committed credential reconnect and records its Session projection (0.692084ms) +2026-09-27T05:33:31.1365810Z ✔ retains a finalized mount when its first Session projection read is interrupted (0.747213ms) +2026-09-27T05:33:31.1367141Z ✔ cancels an in-flight import and removes its durable mount desire (0.558274ms) +2026-09-27T05:33:31.1395798Z ✔ reads an invitation from the clipboard only on explicit IPC invocation (4.059715ms) +2026-09-27T05:33:31.1424205Z ✔ publishes only the newest attention view; progress cannot steal the slot (26.271421ms) +2026-09-27T05:33:31.1456911Z ✔ raises the window once per attention revision, never for progress (17.103743ms) +2026-09-27T05:33:31.1458200Z ✔ a publication superseded by close cannot resurrect the stale view (26.605378ms) +2026-09-27T05:33:31.1525834Z ✔ decide routes only a live attention revision and advertised action (9.574242ms) +2026-09-27T05:33:31.5766592Z ✔ ignores metadata names that neither writer could have produced (885.888959ms) +2026-09-27T05:33:31.5938833Z ✔ retirement cancellation sends EOF without terminating or abandoning the operator transaction (95.228872ms) +2026-09-27T05:33:31.6031684Z ✔ local setup installs one managed service for the Desktop root with Direct peer enabled (0.580636ms) +2026-09-27T05:33:31.6179776Z ✔ local setup forwards the exact development archive evidence (53.109572ms) +2026-09-27T05:33:31.6296187Z ✔ local setup scratch cleanup cannot replace its framed outcome (15.425616ms) +2026-09-27T05:33:31.7298433Z ✔ Windows npm discovery cannot outlive setup cancellation (74.690329ms) +2026-09-27T05:33:31.7842482Z ✔ local update runs the selected package against the exact managed deployment (23.741824ms) +2026-09-27T05:33:31.7897142Z ✔ local Peer Mesh join keeps invitations off argv and accepts bounded large results (54.530629ms) +2026-09-27T05:33:31.8727985Z ✔ does not split a surrogate pair at the persisted name boundary (300.351196ms) +2026-09-27T05:33:32.0669470Z ✔ reopens legacy research reports and archived tool results (191.909085ms) +2026-09-27T05:33:32.2685834Z ✔ enabling remote access hands the same root to one managed service before Desktop resumes (78.216872ms) +2026-09-27T05:33:32.2835268Z ✔ shares the running Local Host endpoint instead of its persisted startup routes (9.503114ms) +2026-09-27T05:33:32.2927582Z ✔ revokes the one Local sharing authority without changing peer connectivity (7.643908ms) +2026-09-27T05:33:32.3004678Z ✔ keeps the managed service visible when Direct peer support is unavailable (2.845668ms) +2026-09-27T05:33:32.3059356Z ✔ repairs an existing managed Host with the current setup package and restarts it when already current (6.41918ms) +2026-09-27T05:33:32.3100074Z ✔ preserves service readiness evidence in the managed repair blocker (12.800941ms) +2026-09-27T05:33:32.3172489Z ✔ exact live replay returns the canonical record without rewriting or accepting conflicts (249.185753ms) +2026-09-27T05:33:32.3238370Z ✔ replaces a conflicting supervised Host with the requested active-work policy (12.48044ms) +2026-09-27T05:33:32.3367565Z ✔ does not persist recoverable setup authority before Desktop ownership commits (11.469792ms) +2026-09-27T05:33:32.3557383Z ✔ adopts a released handoff through its existing legacy operator (16.501194ms) +2026-09-27T05:33:32.3649379Z ✔ migrates a released managed receipt before exposing it to lifecycle operations (11.89086ms) +2026-09-27T05:33:32.4163708Z ✔ interrupted Local Host setup converges to its exact managed service (46.459941ms) +2026-09-27T05:33:32.4299568Z ✔ startup replays the persisted peer intent instead of gating recovery on status (17.416436ms) +2026-09-27T05:33:32.4596747Z ✔ re-enabling a managed peer forwards explicit interruption authority (14.859509ms) +2026-09-27T05:33:32.4694784Z ✔ pre-start recovery cleans a committed uninstall before an ephemeral Host can claim the root (24.161369ms) +2026-09-27T05:33:32.4876675Z ✔ pre-start recovery settles a canonical uninstall transition through its exact operator (14.195837ms) +2026-09-27T05:33:32.6066140Z ✔ a stable id can be created again after physical deletion (288.402291ms) +2026-09-27T05:33:32.7884840Z ✔ migrates released WSL deployment bindings to the legacy operator route (67.233734ms) +2026-09-27T05:33:32.7920466Z ✔ keeps Desktop service bindings outside the shared profile catalog (123.05758ms) +2026-09-27T05:33:32.7965912Z ✔ persists a WSL deployment through its environment control route (16.550573ms) +2026-09-27T05:33:32.7985720Z ✔ waits for a live deployment writer and recovers after it is killed (275.194502ms) +2026-09-27T05:33:32.9336514Z ✔ serializes concurrent creates without dropping metadata (326.632134ms) +2026-09-27T05:33:33.1313382Z ✔ cancels a live Runtime Host Mesh status query (6.364662ms) +2026-09-27T05:33:33.1363354Z ✔ projects an unknown live Mesh mutation outcome across IPC (3.341195ms) +2026-09-27T05:33:33.1427858Z ✔ requires explicit interruption authority before a provider restarts active work (4.857905ms) +2026-09-27T05:33:33.1468957Z ✔ routes WSL status and directory configuration through the persisted operator route (2.973618ms) +2026-09-27T05:33:33.1534683Z ✔ identifies, rotates, and revokes managed credentials without exposing secrets (21.149889ms) +2026-09-27T05:33:33.1546460Z ✔ manages only the service identity bound by Desktop onboarding (4.247139ms) +2026-09-27T05:33:33.1621349Z ✔ publishes update progress and waits for the managed profile to reconnect (6.534307ms) +2026-09-27T05:33:33.1720405Z ✔ configures Project roots with CAS and reconnects only after a committed cutover (1.936746ms) +2026-09-27T05:33:33.1795869Z ✔ manages one Host update policy and reconciles it through the bound operator (32.91911ms) +2026-09-27T05:33:33.1848933Z ✔ retries acknowledged deployment cleanup without repeating uninstall (7.544016ms) +2026-09-27T05:33:33.1907174Z ✔ rechecks uninstall intent before retrying the remote service (4.916476ms) +2026-09-27T05:33:33.1982358Z ✔ keeps the SSH profile while adding and removing its managed Direct peer (11.267454ms) +2026-09-27T05:33:33.2046036Z ✔ disables a newly enabled listener when its Desktop profile cannot be committed (1.503475ms) +2026-09-27T05:33:33.2091226Z ✔ does not invoke peer management when the remote operator lacks its capability (11.601008ms) +2026-09-27T05:33:33.2181978Z ✔ serializes independent SQLite stores without dropping metadata (219.220556ms) +2026-09-27T05:33:33.4279715Z ✔ snapshots mutable create input and bytes before waiting for the writer lock (277.609527ms) +2026-09-27T05:33:33.6277253Z ✔ refreshes a loaded SQLite store after another instance commits metadata (196.793576ms) +2026-09-27T05:33:33.6378191Z ✔ restarts the complete Memory projection when its component revisions differ (7.392436ms) +2026-09-27T05:33:33.6446133Z ✔ projects a fresh workspace as an empty usable Memory state (1.255383ms) +2026-09-27T05:33:33.6511597Z ✔ does not project or open remote Runtime Host file paths (2.786019ms) +2026-09-27T05:33:33.8474925Z ✔ does not publish a payload after the SQLite metadata repository closes (217.896262ms) +2026-09-27T05:33:34.0149652Z ✔ legacy publication residue cannot block stable-id creation (163.708083ms) +2026-09-27T05:33:34.1529038Z ✔ cancels and closes a Turn while the SDK client never answers its permission request (5065.244763ms) +2026-09-27T05:33:34.2456591Z ✔ Artifact preview is discoverable and admitted without a pre-existing browser origin (26.1589ms) +2026-09-27T05:33:34.2493272Z ✔ publishes self-described session-affine Browser and Computer Use offers (8.316003ms) +2026-09-27T05:33:34.2516012Z ✔ remote providers do not request Host paths and use a Client-owned cwd (2.211641ms) +2026-09-27T05:33:34.2535893Z ✔ publishes the real Computer Use schema through the Client Capability protocol (20.135061ms) +2026-09-27T05:33:34.2557311Z ✔ projects and publishes jsonSchema-wrapped MCP proxy tool descriptors (4.3638ms) +2026-09-27T05:33:34.2573472Z ✔ forwards JSON Schema native capability arguments to the MCP authority (0.926003ms) +2026-09-27T05:33:34.2695788Z ✔ skips non-object root jsonSchema tools without dropping the offer (0.835504ms) +2026-09-27T05:33:34.2726602Z ✔ skips malformed record-shaped schemas without dropping healthy MCP tools (0.565215ms) +2026-09-27T05:33:34.2747538Z ✔ skips unsupported schema type tools without dropping the offer (9.230526ms) +2026-09-27T05:33:34.2820675Z ✔ skips a malformed MCP tool without dropping the other offers (2.106446ms) +2026-09-27T05:33:34.2866981Z ✔ empty allOf/anyOf/oneOf are projected away so the schema still publishes (4.21423ms) +2026-09-27T05:33:34.2935674Z ✔ publishes every production Desktop-owned tool schema through the protocol (53.661891ms) +2026-09-27T05:33:34.2936864Z ✔ publishes and admits additional Desktop native-effect services (0.856866ms) +2026-09-27T05:33:34.3005682Z ✔ validates before admission and invokes the exact offered tool with Host context (16.27079ms) +2026-09-27T05:33:34.3038158Z ✔ does not execute Browser work when its Origin changes while admission is pending (22.877347ms) +2026-09-27T05:33:34.3095533Z ✔ watches Computer Use turns without widening Browser lifecycle (16.311863ms) +2026-09-27T05:33:34.3145748Z ✔ projects Computer Use screenshots and releases all native resources for a Session (9.678913ms) +2026-09-27T05:33:34.3212033Z ✔ does not advertise unavailable capability groups or dispatch unknown identities (3.242085ms) +2026-09-27T05:33:34.3275768Z ✔ dispatches through the same immutable tool snapshot it advertised (1.020766ms) +2026-09-27T05:33:34.3347430Z ✔ chunks a dynamic capability group beyond the single-offer tool limit (15.08807ms) +2026-09-27T05:33:34.3369943Z ✔ omits trailing dynamic tools beyond the manifest tool budget and keeps fixed groups (45.970049ms) +2026-09-27T05:33:34.3445655Z ✔ omits trailing dynamic tools beyond the manifest byte budget (29.576084ms) +2026-09-27T05:33:34.3535780Z ✔ reports dynamic tools the decoder rejects instead of dropping them silently (0.859311ms) +2026-09-27T05:33:34.3595597Z ✔ publishes identified tools under their real normalized MCP identity (5.192918ms) +2026-09-27T05:33:34.3655576Z ✔ chunks and degrades a dynamic capability group deterministically (28.489916ms) +2026-09-27T05:33:34.3735636Z ✔ fails loudly when a fixed capability group exceeds the manifest budget (12.485366ms) +2026-09-27T05:33:34.3805804Z ✔ reports provider retirement once after its registration is released (0.464001ms) +2026-09-27T05:33:34.3875668Z ✔ settles every native Session cleanup before reporting a release failure (52.680853ms) +2026-09-27T05:33:34.3889455Z ✔ forwards Host cancellation to an admitted Desktop invocation (1.330154ms) +2026-09-27T05:33:34.3918547Z ✔ WorkHub groups receive their target epoch and join Desktop interaction turn lifecycle (0.730627ms) +2026-09-27T05:33:34.3947037Z ✔ stable-id creation replaces an untracked payload (279.209121ms) +2026-09-27T05:33:34.3965816Z ✔ successful external-agent setup invalidates the new-task executor catalog (963.202707ms) +2026-09-27T05:33:34.9652883Z ✔ offline Guest notifications cannot starve the Local new-task catalog or redirect onboarding (614.881861ms) +2026-09-27T05:33:34.9711332Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:33:35.6273434Z ✔ invalid path identities and turn keys cannot block later artifact writes (1341.714165ms) +2026-09-27T05:33:35.7192498Z ✔ an Owner replacement still invalidates the new-task catalog (748.807402ms) +2026-09-27T05:33:35.7626783Z ✔ notifies for every session through the Host feed without renderer or transcript subscriptions (18.755602ms) +2026-09-27T05:33:35.7676024Z ✔ discards in-flight notification content after disposal (11.559802ms) +2026-09-27T05:33:35.7716158Z ✔ shared sessions use the scoped catalog and content-read failures still notify with fallback copy (10.835494ms) +2026-09-27T05:33:35.7738283Z ✔ overlapping owner and Guest feeds notify once while distinct events, sessions and Hosts still notify (5.241714ms) +2026-09-27T05:33:35.8397995Z ✔ legacy purge-intent residue cannot block later writes (212.944127ms) +2026-09-27T05:33:35.9776445Z ✔ presents the Host OAuth handoff without exposing the authorization URL (7.2928ms) +2026-09-27T05:33:35.9836046Z ✔ adapts every Host OAuth provider through one Desktop flow (7.348128ms) +2026-09-27T05:33:35.9926937Z ✔ provider-scoped OAuth IPC rejects a Connection ID owned by another provider (8.40585ms) +2026-09-27T05:33:35.9973418Z ✔ malformed OAuth Connection IDs fail closed before catalog or credential access (1.210844ms) +2026-09-27T05:33:36.0031513Z ✔ a second OAuth start cannot replace or cancel a pending active attempt (256.079261ms) +2026-09-27T05:33:36.0115956Z ✔ completion rejects a terminal projection that changes Connection identity (16.638235ms) +2026-09-27T05:33:36.0186489Z ✔ keeps a committed OAuth login successful when model discovery fails without replacing the existing default (1.156719ms) +2026-09-27T05:33:36.0276040Z ✔ lets the selected Host refuse enrollment instead of prechecking Desktop state (0.639227ms) +2026-09-27T05:33:36.0357012Z ✔ projects the selected Host answer for whether a provider may enrol (2.042635ms) +2026-09-27T05:33:36.0436253Z ✔ get-auth-url maps only specific Host failures to typed reasons (3.639878ms) +2026-09-27T05:33:36.0526170Z ✔ get-auth-url carries a browser-open rejection through presentation to the IPC result (0.917149ms) +2026-09-27T05:33:36.0556081Z ✔ user delete physically removes metadata and bytes idempotently (204.881867ms) +2026-09-27T05:33:36.3840677Z ✔ a partial purge retains its cleanup obligations across reopen (336.243672ms) +2026-09-27T05:33:36.4632289Z ✔ observation readiness includes its active seed even when the invoke reply overtakes event IPC (954.572104ms) +2026-09-27T05:33:36.4657602Z ✔ execution and observation failures stay separate from Runtime events (643.679696ms) +2026-09-27T05:33:36.6034811Z ✔ purge rejects a symlink escape without deleting external bytes or metadata (220.097918ms) +2026-09-27T05:33:36.8298628Z ✔ purge unlinks a final symlink without deleting its in-root target (224.484282ms) +2026-09-27T05:33:37.0572931Z ✔ purge preserves a payload inode still referenced by a non-target canonical record (228.593142ms) +2026-09-27T05:33:37.0637438Z ﹣ purge rejects case aliases that resolve to another live record (5.431843ms) # filesystem is case-sensitive +2026-09-27T05:33:37.0706527Z ﹣ purge rejects case aliases of the same final symlink without unlinking it (6.741334ms) # filesystem is case-sensitive +2026-09-27T05:33:37.0776182Z ✔ one ordered stream handles no-content roots, late acknowledgements, new subscribers and recovery (613.036693ms) +2026-09-27T05:33:37.2059234Z ✔ durable attachment reads report physically deleted bytes as missing (134.168934ms) +2026-09-27T05:33:37.4610526Z ✔ enforces preview limits and sniffed binary MIME types (254.285373ms) +2026-09-27T05:33:37.6496731Z ✔ cancelled Session observation removes preload listeners without publishing readiness or errors (568.812673ms) +2026-09-27T05:33:37.6909980Z ✔ persists canonical entity identities at the shared 128-character boundary (229.86033ms) +2026-09-27T05:33:38.2420513Z ✔ unsubscribing while consuming a seed prevents remaining content and readiness (600.098096ms) +2026-09-27T05:33:38.6250056Z ✔ create rejects invalid path identities and bounded turn keys (938.523438ms) +2026-09-27T05:33:38.6320916Z ✔ keeps relative path resolution inside the artifact root (6.524928ms) +2026-09-27T05:33:38.7886505Z ✔ resolve and read reject a canonical payload that escapes through a symlink (154.780205ms) +2026-09-27T05:33:38.8604552Z ✔ cancelled transcript open rejects and removes its preload listener (612.476518ms) +2026-09-27T05:33:38.9357413Z ✔ persists a verified on-demand SSH profile without endpoint or credential projection (8.050448ms) +2026-09-27T05:33:38.9396778Z ✔ onboards WSL as a credential-free environment profile (0.811138ms) +2026-09-27T05:33:38.9468367Z ✔ projects WSL setup failures as recoverable onboarding state (0.41414ms) +2026-09-27T05:33:38.9506315Z ✔ projects invalid setup input as a recoverable failure (0.289224ms) +2026-09-27T05:33:38.9527264Z ✔ rejects relative remote Project roots before starting SSH setup (7.313691ms) +2026-09-27T05:33:38.9556025Z ✔ finishes Host pairing after the cancellable SSH phase has completed (0.860979ms) +2026-09-27T05:33:38.9581085Z ✔ resolves the setup package only when onboarding starts (0.425223ms) +2026-09-27T05:33:38.9617209Z ✔ development uses the native peer addon only for the peer-enabled launch (20.658808ms) +2026-09-27T05:33:38.9634375Z ✔ persists one closed Desktop STUN policy and rejects TURN endpoints (61.261702ms) +2026-09-27T05:33:38.9655774Z ✔ repairs a malformed Desktop STUN policy through the normal writer (50.743663ms) +2026-09-27T05:33:38.9789861Z ✔ recovers an abandoned deployment lock before loading Host choices (saved=false) (78.384014ms) +2026-09-27T05:33:38.9811066Z ✔ recovers an abandoned deployment lock before loading Host choices (saved=true) (61.480178ms) +2026-09-27T05:33:38.9906820Z ✔ does not discard unexpected contents in an abandoned deployment lock (5.74655ms) +2026-09-27T05:33:38.9939217Z ✔ migrates the former selected Host into enabled and default preferences (16.056401ms) +2026-09-27T05:33:38.9987775Z ✔ removes obsolete experimental Guest profiles and pairing intents at startup (21.757858ms) +2026-09-27T05:33:38.9990759Z [runtime-host] remote profiles could not be read; starting with Local only: Error: profile catalog is unreadable +2026-09-27T05:33:39.0023992Z at catalog.read (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-profile-service.test.js:177:19) +2026-09-27T05:33:39.0040023Z at resolveDesktopRuntimeHostStartup (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-profile-service.js:61:34) +2026-09-27T05:33:39.0095817Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-profile-service.test.js:181:21) +2026-09-27T05:33:39.0120936Z at async Test.run (node:internal/test_runner/test:1409:7) +2026-09-27T05:33:39.0178704Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:33:39.0221032Z ✔ starts Local and preserves remote preferences when the profile catalog is unreadable (27.129222ms) +2026-09-27T05:33:39.0232087Z [runtime-host] preferences could not be read; using Local defaults: Error: preferences are temporarily unavailable +2026-09-27T05:33:39.0253864Z at Object.readPreferences (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-profile-service.test.js:213:33) +2026-09-27T05:33:39.0271874Z at resolveDesktopRuntimeHostStartup (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-profile-service.js:40:57) +2026-09-27T05:33:39.0275441Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-profile-service.test.js:211:21) +2026-09-27T05:33:39.0291324Z at async Test.run (node:internal/test_runner/test:1409:7) +2026-09-27T05:33:39.0293482Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) { +2026-09-27T05:33:39.0297550Z code: 'EACCES' +2026-09-27T05:33:39.0297998Z } +2026-09-27T05:33:39.0327056Z ✔ does not overwrite Runtime Host preferences that were unreadable at startup (8.293719ms) +2026-09-27T05:33:39.0329488Z ✔ keeps Local enabled while a new remote Host connects (42.797806ms) +2026-09-27T05:33:39.0332536Z ✔ reuses the existing WSL profile when the same managed Host is added again (33.174698ms) +2026-09-27T05:33:39.0339900Z ✔ rolls back a new WSL profile when its managed binding cannot be saved (24.617811ms) +2026-09-27T05:33:39.0352869Z ✔ reconnects an enabled remote Host with interactive SSH (29.163677ms) +2026-09-27T05:33:39.0376804Z ✔ does not enable the same State Root twice (28.482481ms) +2026-09-27T05:33:39.0385269Z ✔ starts an enabled Owner profile beside a retained Guest mount for the same Root (30.433557ms) +2026-09-27T05:33:39.0386648Z ✔ preserves an enabled remote profile when that Host is unavailable (34.517434ms) +2026-09-27T05:33:39.0393201Z ✔ projects a shared compatibility error through an unavailable enabled remote profile (51.081764ms) +2026-09-27T05:33:39.0400351Z ✔ removes a managed profile when its verified connection cannot be established (94.600237ms) +2026-09-27T05:33:39.0418461Z ✔ refreshes the existing profile when managed setup pairs the same Host again (59.803043ms) +2026-09-27T05:33:39.0959563Z ✔ keeps a separate profile when the same Host is paired through another connection (57.013496ms) +2026-09-27T05:33:39.1140268Z ✔ create path and identity failures leave no payload or metadata (324.404059ms) +2026-09-27T05:33:39.1174709Z ✔ SQLite Artifact store (12212.65914ms) +2026-09-27T05:33:39.1621924Z ▶ interactive artifact store authority +2026-09-27T05:33:39.1641031Z ✔ upgrade cleanup addresses one page without decoding 0 unrelated records (675.239116ms) +2026-09-27T05:33:39.1679468Z ✔ upgrade cleanup addresses one page without decoding 1000 unrelated records (248.550366ms) +2026-09-27T05:33:39.1680954Z ✔ upgrade cleanup addresses one page without decoding 12000 unrelated records (397.862139ms) +2026-09-27T05:33:39.1712587Z ✔ reads retained v1 payloads after upgrade without reviving retired rows (488.122844ms) +2026-09-27T05:33:39.1714380Z ✔ reclaims the bytes the v1 upgrade orphaned, including a user-deleted upload (390.647659ms) +2026-09-27T05:33:39.1716427Z ✔ does not follow a replaced parent directory while reclaiming upgrade residue (348.688353ms) +2026-09-27T05:33:39.1717778Z ﹣ does not reclaim an upgrade orphan path that aliases a live artifact (13.176141ms) # requires a case-insensitive filesystem +2026-09-27T05:33:39.1718922Z ✔ requires authentic leases and writer facades (0.637929ms) +2026-09-27T05:33:39.1720000Z ✔ returns one authenticated writer per lease and preserves mutation operations (350.691565ms) +2026-09-27T05:33:39.1721143Z ✔ root close revokes new facade operations after draining an in-flight write (406.406547ms) +2026-09-27T05:33:39.1722176Z ✔ snapshots create inputs and makes user deletion idempotent (346.599571ms) +2026-09-27T05:33:39.1723592Z ✔ interactive artifact store authority (3670.329131ms) +2026-09-27T05:33:39.1724968Z ✔ classifies connection-code failures without exposing transport errors to the renderer (67.612385ms) +2026-09-27T05:33:39.2298389Z ✔ persists authenticated Owner routes imported through a connection code (65.238953ms) +2026-09-27T05:33:39.3342704Z ✔ finishes a persisted pairing after Desktop restarts before finalization (106.298794ms) +2026-09-27T05:33:39.4772396Z ✔ unleased write authority waits for a child-held writer lock and preserves metadata (1033.499029ms) +2026-09-27T05:33:39.4784203Z ✔ unleased write authorities in separate processes reload and publish under one OS lock (1748.016898ms) +2026-09-27T05:33:39.4866621Z ✔ unleased writes share the rootId writer lock used by lease-bound authority (917.136092ms) +2026-09-27T05:33:39.4911257Z ✔ mutations spanning initial root marking remain serialized by the bootstrap writer lock (1016.092909ms) +2026-09-27T05:33:39.4947053Z ✔ unleased mutation rejects an unmarked replacement installed while waiting for bootstrap (692.516298ms) +2026-09-27T05:33:39.4956071Z ✔ unleased mutation through a retargeted alias stays bound to its verified canonical root (662.464165ms) +2026-09-27T05:33:39.4983164Z ✔ admitted lease-bound mutations reject a replacement root without modifying it (1050.359515ms) +2026-09-27T05:33:39.4995827Z ✔ lease-bound mutation does not rebuild a root deleted while waiting for the writer lock (884.084301ms) +2026-09-27T05:33:39.5035607Z ✔ bundle export excludes a mutation queued behind the same child-held writer lock (1064.039804ms) +2026-09-27T05:33:39.7096822Z ✔ keeps a managed Direct route on the SSH profile credential authority (370.012599ms) +2026-09-27T05:33:39.8556856Z ✔ recovers interrupted managed credential rotation after restart (150.039551ms) +2026-09-27T05:33:39.9192498Z ✔ does not rotate a managed credential after its profile target changes (58.879176ms) +2026-09-27T05:33:40.0202585Z ✔ reactivates the previous credential after a pre-rebind rotation crash (106.699047ms) +2026-09-27T05:33:40.0625522Z ✔ recovers a new profile after a crash before its enable preference is written (37.714702ms) +2026-09-27T05:33:40.1182989Z ✔ does not let journal cleanup failure lock a completed pairing (59.387892ms) +2026-09-27T05:33:40.2124141Z ✔ discarding a committed rotation unlocks the restored local profile (93.055178ms) +2026-09-27T05:33:40.2879832Z ✔ keeps managed service recovery when a failed pairing profile cannot be removed (74.983264ms) +2026-09-27T05:33:40.4306414Z ✔ keeps an offline pairing recoverable without blocking another Host (144.156692ms) +2026-09-27T05:33:40.4761052Z ✔ bundle export holds Artifact authority through selected-session projection (1000.626117ms) +2026-09-27T05:33:40.5256649Z ✔ restores the previous credential when an interrupted pairing can no longer authenticate (94.586744ms) +2026-09-27T05:33:40.5295809Z ▶ writeAtomicFile +2026-09-27T05:33:40.5333233Z ✔ writes the exact bytes and leaves no temp file behind (53.345633ms) +2026-09-27T05:33:40.5399383Z ✔ removes its temp file and rethrows after a write failure (6.787757ms) +2026-09-27T05:33:40.5417218Z ✔ removes its temp file and rethrows after a sync failure (4.996559ms) +2026-09-27T05:33:40.5427782Z ✔ removes its temp file and rethrows after a close failure (3.775427ms) +2026-09-27T05:33:40.5429064Z ✔ removes its temp file and rethrows after a chmod failure (6.968774ms) +2026-09-27T05:33:40.5430443Z ✔ sets the final mode before synchronizing the temp file (31.637461ms) +2026-09-27T05:33:40.5443000Z ✔ reports an unknown commit outcome when directory fsync fails after publication (13.491635ms) +2026-09-27T05:33:40.5465690Z ✔ creates the target 0600 on POSIX (16.299752ms) +2026-09-27T05:33:40.5466764Z ✔ re-chmods a pre-existing world-readable target to 0600 on the next write (17.812645ms) +2026-09-27T05:33:40.5501695Z ✔ refuses to write through a pre-planted symlink at the temp path (13.025624ms) +2026-09-27T05:33:40.5502749Z ✔ writeAtomicFile (177.931454ms) +2026-09-27T05:33:40.5503437Z ▶ claimed agent graph root admission +2026-09-27T05:33:40.5505563Z ✔ round-trips an exact, deeply frozen durable descriptor (512.086823ms) +2026-09-27T05:33:40.5507463Z ✔ rejects descriptor unknown fields and malformed claims (110.922489ms) +2026-09-27T05:33:40.5914217Z ✔ rejects every claim target identity drift before writing admission (171.281275ms) +2026-09-27T05:33:40.5925808Z ✔ rejects queue sources and a missing canonical UserMessage (213.862637ms) +2026-09-27T05:33:40.5926866Z ✔ claimed agent graph root admission (1010.40345ms) +2026-09-27T05:33:40.6120358Z ✔ restores an existing profile when replacement finalization fails (87.539677ms) +2026-09-27T05:33:40.6248932Z [runtime-host] pairing recovery journal could not be read: DesktopRuntimeHostPairingJournalInvalidError: Runtime Host pairing recovery journal is invalid +2026-09-27T05:33:40.6336085Z at readDesktopRuntimeHostPairingIntents (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-pairing-journal.js:50:15) +2026-09-27T05:33:40.6365948Z at async resolveDesktopRuntimeHostStartup (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-profile-service.js:52:26) +2026-09-27T05:33:40.6401111Z ... 2 lines matching cause stack trace ... +2026-09-27T05:33:40.6405018Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) { +2026-09-27T05:33:40.6407065Z [cause]: SyntaxError: Unexpected token 'o', "not-json" is not valid JSON +2026-09-27T05:33:40.6407777Z at JSON.parse () +2026-09-27T05:33:40.6408898Z at readDesktopRuntimeHostPairingIntents (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-pairing-journal.js:47:42) +2026-09-27T05:33:40.6410598Z at async resolveDesktopRuntimeHostStartup (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-profile-service.js:52:26) +2026-09-27T05:33:40.6421460Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-profile-service.test.js:1201:21) +2026-09-27T05:33:40.6422819Z at async Test.run (node:internal/test_runner/test:1409:7) +2026-09-27T05:33:40.6425414Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:33:40.6426164Z } +2026-09-27T05:33:40.6605771Z ✔ keeps existing Hosts available while corrupt pairing recovery awaits resolution (47.874413ms) +2026-09-27T05:33:40.6671666Z ✔ migrates an interrupted SSH pairing from the released operator path (7.094236ms) +2026-09-27T05:33:40.6986629Z [runtime-host] pairing recovery journal could not be read: Error: credential store is temporarily unavailable +2026-09-27T05:33:40.7035743Z at Object.getSecret (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-profile-service.test.js:1272:23) +2026-09-27T05:33:40.7095471Z at readDesktopRuntimeHostPairingIntents (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-pairing-journal.js:40:40) +2026-09-27T05:33:40.7158462Z at resolveDesktopRuntimeHostStartup (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-profile-service.js:52:32) +2026-09-27T05:33:40.7191766Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-profile-service.test.js:1282:21) +2026-09-27T05:33:40.7252835Z at async Test.run (node:internal/test_runner/test:1409:7) +2026-09-27T05:33:40.7305778Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:33:40.7378068Z ✔ retries pairing recovery before discarding it (45.42701ms) +2026-09-27T05:33:40.7413071Z [runtime-host] preferences could not be read; using Local defaults: Error: preferences are temporarily unavailable +2026-09-27T05:33:40.7446210Z at Object.readPreferences (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-profile-service.test.js:1310:19) +2026-09-27T05:33:40.7506193Z at resolveDesktopRuntimeHostStartup (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-profile-service.js:40:57) +2026-09-27T05:33:40.7591927Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-profile-service.test.js:1307:21) +2026-09-27T05:33:40.7656656Z at async Test.run (node:internal/test_runner/test:1409:7) +2026-09-27T05:33:40.7685434Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:33:40.7749118Z ✔ does not recover pairing through unreadable saved preferences (26.256807ms) +2026-09-27T05:33:40.7790033Z [runtime-host] Office is unavailable: Error: Runtime Host profile was disabled +2026-09-27T05:33:40.7866171Z at RuntimeHostDesktopManagerImpl.disable (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:422:69) +2026-09-27T05:33:40.7946276Z at Object.disable (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-profile-service.test.js:1375:34) +2026-09-27T05:33:40.8002641Z at file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-profile-service.js:935:29 +2026-09-27T05:33:40.8042329Z ✔ disabling a startup compatibility handoff releases Host settings and permits re-enabling (61.997298ms) +2026-09-27T05:33:40.9199877Z ✔ keeps enablement, default selection, and removal as separate states (113.253389ms) +2026-09-27T05:33:40.9784202Z ✔ preserves opaque remote paths while normalizing labels (2.312926ms) +2026-09-27T05:33:40.9856115Z ✔ rejects paths that are not absolute on the remote POSIX Host (0.769281ms) +2026-09-27T05:33:40.9885946Z ✔ quit dialog defaults to preserving background work (4.233514ms) +2026-09-27T05:33:40.9935277Z ✔ quit dialog copy promises durable recovery in every locale (0.61825ms) +2026-09-27T05:33:40.9956058Z ✔ quit fences a real Host before Desktop cleanup without waiting for Host cleanup (157.695632ms) +2026-09-27T05:33:40.9996969Z ✔ quit proceeds without consent when there is no owned Host (2.127233ms) +2026-09-27T05:33:41.0074984Z ✔ quit proceeds without consent after the idle Host stops admission (0.28881ms) +2026-09-27T05:33:41.0095831Z ✔ background work requires consent before quitting (0.317733ms) +2026-09-27T05:33:41.0150642Z ✔ quit proceeds without an owner (0.19446ms) +2026-09-27T05:33:41.0208745Z ✔ relays the Host envelope unchanged, including the navigation coordinate (7.59291ms) +2026-09-27T05:33:41.0245757Z ✔ refuses a malformed request identity without asking the Host (0.422036ms) +2026-09-27T05:33:41.0305606Z ✔ an unavailable Host answers a search failure rather than throwing (1.714633ms) +2026-09-27T05:33:41.0385852Z ✔ a cancellation abandons the wait and reports it as aborted (1.366565ms) +2026-09-27T05:33:41.0396055Z ✔ a renderer that goes away stops its in-flight search (3.443978ms) +2026-09-27T05:33:41.0449587Z ✔ a superseded request on one sender is cancelled before the new one runs (1.62715ms) +2026-09-27T05:33:41.0531743Z ✔ a request without an identity is still answered (0.599967ms) +2026-09-27T05:33:41.0618660Z ✔ unsupported Guest IPC fails immediately while an Owner channel still survives reconnect (10.416829ms) +2026-09-27T05:33:41.0681603Z ✔ reconciliation becomes unavailable when the replacement no longer supports its channel (19.234725ms) +2026-09-27T05:33:41.0755844Z ✔ classifies only dispatched control connection loss for reconciliation (0.765087ms) +2026-09-27T05:33:41.0775007Z ✔ reconciles a dispatched control on a replacement without replaying it (3.318268ms) +2026-09-27T05:33:41.0819640Z ✔ bounds reconciliation when no replacement candidate becomes available (4.904737ms) +2026-09-27T05:33:41.0875872Z ✔ retries only reconciliation when its replacement connection is lost (3.426508ms) +2026-09-27T05:33:41.0938995Z ✔ never reconciles a control through a different target epoch (2.997976ms) +2026-09-27T05:33:41.0987288Z ✔ holds an invocation across a Runtime Host candidate replacement (1.33752ms) +2026-09-27T05:33:41.1046006Z ✔ bounds an invocation while an active Runtime Host has no handler (8.096027ms) +2026-09-27T05:33:41.1080877Z ✔ bounds reconnectable reads when no replacement handler becomes available (5.413072ms) +2026-09-27T05:33:41.1141757Z ✔ settles concurrent invocations after one bounded replacement window (13.357666ms) +2026-09-27T05:33:41.1225808Z ✔ does not reset one reconnectable read deadline across failed replacements (1.463033ms) +2026-09-27T05:33:41.1265622Z ✔ does not return a late read from a replaced Runtime Host candidate (0.435497ms) +2026-09-27T05:33:41.1319385Z ✔ does not return a late failure from a replaced Runtime Host candidate (0.2303ms) +2026-09-27T05:33:41.1370310Z ✔ does not replay a command IPC handler after a draining rejection (0.374687ms) +2026-09-27T05:33:41.1437754Z ✔ does not replay Host commands through a read-marked IPC boundary (0.495894ms) +2026-09-27T05:33:41.1555978Z ✔ never dispatches or completes an invocation across target epochs (1.094121ms) +2026-09-27T05:33:41.1557309Z ✔ routes concurrent Runtime Host targets by explicit scope (0.376338ms) +2026-09-27T05:33:41.1620575Z ✔ read adapters project ordinary failures without hiding reconnectable failures (0.501927ms) +2026-09-27T05:33:41.1696036Z ✔ WorkHub reconciles a lost answer through the replacement IPC owner without a fresh submission (5.3106ms) +2026-09-27T05:33:41.1751995Z [session-bundle] unclassified failure: Error: Invalid Session id +2026-09-27T05:33:41.1790785Z at Object.importSessionBundle (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-session-bundle-ipc-main.test.js:100:23) +2026-09-27T05:33:41.1837216Z at file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-session-bundle-ipc-main.js:64:46 +2026-09-27T05:33:41.1906550Z ✔ writes to the picked destination and reports what travelled (3.513774ms) +2026-09-27T05:33:41.1966807Z ✔ closing the save dialog asks the Host for nothing (0.367624ms) +2026-09-27T05:33:41.2016928Z ✔ publishes each imported Session so the shell reads the catalog again (0.474658ms) +2026-09-27T05:33:41.2076377Z ✔ keeps the reason a reader can act on (0.488876ms) +2026-09-27T05:33:41.2187265Z ✔ carries the message of a failure no reason code describes (1.520814ms) +2026-09-27T05:33:41.2215985Z ✔ proposes a filename a task name cannot steer (0.277228ms) +2026-09-27T05:33:41.2230567Z ✔ the digest it sends is over the ids the Host knows (0.881747ms) +2026-09-27T05:33:41.6008572Z ✔ maps Runtime Host live run state without collapsing unknown and known-empty (7.824175ms) +2026-09-27T05:33:41.6028597Z ✔ preserves the Session revision in Owner Desktop Host summaries (0.287381ms) +2026-09-27T05:33:41.6078311Z ✔ session creation forwards the caller name for a mode that carries none (9.729547ms) +2026-09-27T05:33:41.6131404Z ✔ session creation forwards a plugin executor model without a native model target (0.496064ms) +2026-09-27T05:33:41.6293128Z ✔ local pending Sessions sort by local creation without inventing Host activity (5.732257ms) +2026-09-27T05:33:41.6332898Z ✔ starts a fresh catalog read after the previous refresh settles (0.652178ms) +2026-09-27T05:33:41.6369466Z ✔ does not commit a catalog read superseded while it is in flight (0.417927ms) +2026-09-27T05:33:41.6408452Z ✔ continues to an admitted trailing read after a superseded read fails (0.390829ms) +2026-09-27T05:33:41.6464997Z ✔ keeps a newly created Session when the superseding catalog read fails (4.320185ms) +2026-09-27T05:33:41.6477467Z ✔ rejects a delayed bootstrap seed after a Session is created (0.55101ms) +2026-09-27T05:33:41.6540666Z ✔ collects every healthy Owner catalog and reports only complete Hosts (2.153294ms) +2026-09-27T05:33:41.6565744Z ✔ keeps incomplete coverage when every Owner catalog rejects (0.776603ms) +2026-09-27T05:33:41.6600572Z ✔ reconciles Owner catalogs per Host and retires removed Owner profiles (1.445377ms) +2026-09-27T05:33:41.6687333Z ✔ uses the mount service as the complete Guest catalog authority (0.462928ms) +2026-09-27T05:33:41.6732354Z ✔ prefers a live Guest projection over an unavailable Owner fallback (0.219092ms) +2026-09-27T05:33:41.6796709Z ✔ retains the last Guest projection only when mount inventory is unavailable (3.485289ms) +2026-09-27T05:33:41.6847729Z ✔ preserves an authenticated onboarding Owner seed across a failed catalog refresh (0.489477ms) +2026-09-27T05:33:41.6901348Z ✔ an observed Guest event cannot replace an accepted Owner authority (0.226576ms) +2026-09-27T05:33:41.8848345Z ✔ projects observed running Turn identities into renderer Session lists (10.130643ms) +2026-09-27T05:33:41.8966301Z ✔ merges catalog and observed running Turn identities in stable order (0.627184ms) +2026-09-27T05:33:41.9377519Z ▶ ClaudeCodeSessionAdapter +2026-09-27T05:33:41.9418382Z ✔ a turn that stopped with end_turn imports as completed (36.776366ms) +2026-09-27T05:33:41.9435979Z ✔ a turn stopped at tool_use with no result is recorded as a snapshot cutoff (11.294183ms) +2026-09-27T05:33:41.9465741Z ✔ a prompt with no answer at all is recorded as a snapshot cutoff (10.112737ms) +2026-09-27T05:33:41.9525698Z ✔ an interrupt notice imports as aborted, not as a user message (11.695039ms) +2026-09-27T05:33:41.9535403Z ✔ an API error imports as failed (6.571086ms) +2026-09-27T05:33:41.9536975Z ✔ tool results arrive as user records and must not import as user turns (6.179488ms) +2026-09-27T05:33:41.9614695Z ✔ a turn cut off by max_tokens is not reported as completed (8.763824ms) +2026-09-27T05:33:41.9662171Z ✔ a tool result with no tool_use_id is dropped rather than left detached (18.35195ms) +2026-09-27T05:33:41.9690379Z ✔ turn ids are dense and never collide with message ids (8.024359ms) +2026-09-27T05:33:41.9691670Z ✔ a record written twice emits one message, not two (4.545924ms) +2026-09-27T05:33:41.9692966Z ✔ one response is assembled from every fragment, calls before their results (4.851766ms) +2026-09-27T05:33:41.9694079Z ✔ a sidechain transcript is neither listed nor readable (4.40057ms) +2026-09-27T05:33:41.9695459Z ✔ a transcript larger than the import budget remains visible in the catalog (3.861089ms) +2026-09-27T05:33:41.9702144Z ✔ a transcript with a first record beyond the former summary window remains visible (391.624447ms) +2026-09-27T05:33:41.9703430Z ✔ an oversized JSONL record falls back to a visible catalog row (699.488621ms) +2026-09-27T05:33:41.9704760Z ✔ streams valid transcripts larger than the legacy 64 MiB whole-file limit (2973.090468ms) +2026-09-27T05:33:41.9705840Z ✔ rejects an oversized JSONL record without buffering the complete transcript (9.528155ms) +2026-09-27T05:33:41.9717488Z ✔ rejects transcripts that exceed the parsed-record limit (7.730878ms) +2026-09-27T05:33:41.9732403Z ✔ rejects converted histories that exceed message count or byte budgets (13.092323ms) +2026-09-27T05:33:41.9752575Z ✔ parses a UTF-8 JSONL record split across read buffers (27.323721ms) +2026-09-27T05:33:41.9761553Z ✔ rejects a transcript truncated before its fixed snapshot is complete (37.333501ms) +2026-09-27T05:33:41.9769125Z ✔ keeps reading the opened snapshot when the transcript path is replaced (7.522848ms) +2026-09-27T05:33:41.9770845Z ✔ rejects an in-place rewrite between streaming passes (13.320722ms) +2026-09-27T05:33:41.9775940Z ✔ ignores records appended after the transcript snapshot is opened (7.122382ms) +2026-09-27T05:33:41.9777735Z ✔ uses a custom title in both the catalog and imported metadata (7.687774ms) +2026-09-27T05:33:41.9780166Z ✔ the catalog does not read past its head window to find a prompt (74.37113ms) +2026-09-27T05:33:41.9783678Z ✔ an oversized summary without cwd does not claim a workspace (54.957688ms) +2026-09-27T05:33:41.9786184Z ✔ an oversized summary matches a hyphenated workspace without decoding its project key (20.387732ms) +2026-09-27T05:33:41.9787830Z ✔ large streaming imports preserve rewinds and fragmented responses (2334.425842ms) +2026-09-27T05:33:41.9918335Z ✔ goal:arm reconciles a lost dispatched response without dispatching again (11.99619ms) +2026-09-27T05:33:42.0075072Z ✔ goal:arm reconciliation compares every canonical requested field (1.347429ms) +2026-09-27T05:33:42.0211126Z ✔ goal:arm reconciliation reports different, missing, and unavailable authority (2.227191ms) +2026-09-27T05:33:42.0227445Z ✔ goal:arm preserves deterministic and non-dispatched rejection semantics (0.899841ms) +2026-09-27T05:33:42.0231905Z ✔ goal:arm takes the Session from the scoped channel and refuses any other key (2.229139ms) +2026-09-27T05:33:42.0233828Z ✔ adapts Host Goal, Task, and Resource projections (2.953446ms) +2026-09-27T05:33:42.0240362Z ✔ adapts bounded Agent Graph epoch reads without changing graph identity (4.351706ms) +2026-09-27T05:33:42.0241538Z ✔ keeps a failed Close across connection replacement and acknowledges Stop without a post-read (6.477868ms) +2026-09-27T05:33:42.0243680Z ✔ adapts interactive terminal ownership to one Host controller lease (5.459236ms) +2026-09-27T05:33:42.0244858Z ✔ reuses terminal controller identity after an ambiguous acquire response (1.770748ms) +2026-09-27T05:33:42.0245981Z ✔ restores terminal observation after the observer drops its registration (0.544024ms) +2026-09-27T05:33:42.0269516Z ✔ reacquires a missing terminal controller with protocol-exact identity fields (0.419274ms) +2026-09-27T05:33:42.0270804Z ✔ adapts Plan controls and starts approved execution through one Host command (3.902711ms) +2026-09-27T05:33:42.0272038Z ✔ publishes typed invalidations and refreshes only changed Runtime Resources (24.859014ms) +2026-09-27T05:33:42.0273127Z ✔ plan control channels rethrow failures outside the expected plan-control set (0.940641ms) +2026-09-27T05:33:42.0329434Z ✔ plan control channels return the Host error code across the IPC boundary (6.148925ms) +2026-09-27T05:33:42.4178148Z ✔ a second ACP process loads a Turn with a pending permission and answers it (8256.245591ms) +2026-09-27T05:33:42.4276201Z ✔ ACP tools through the official SDK, child process and Runtime Host (68071.262098ms) +2026-09-27T05:33:42.6991445Z ✔ registers Session observation as one reconnectable operation (9.095843ms) +2026-09-27T05:33:42.7116370Z ✔ Session observation IPC returns cancellation after unobserve while connecting (22.736012ms) +2026-09-27T05:33:42.7196189Z ✔ Session observation IPC returns cancellation after renderer destruction while connecting (1.463144ms) +2026-09-27T05:33:42.7262213Z ✔ Session observation IPC returns cancellation after unobserve while seeding (4.151554ms) +2026-09-27T05:33:42.7496497Z ▶ maka activate argument and request contracts +2026-09-27T05:33:42.7530460Z ✔ requires explicit non-overlapping roots and accepts JSON input options (2.129118ms) +2026-09-27T05:33:42.7568998Z ✔ decodes versioned message and resumed activation requests (5.453444ms) +2026-09-27T05:33:42.7619932Z ✔ rejects malformed input before runtime startup (3.776709ms) +2026-09-27T05:33:42.7678315Z ✔ maka activate argument and request contracts (21.855746ms) +2026-09-27T05:33:42.7723083Z ▶ maka activate JSONL protocol +2026-09-27T05:33:42.7752954Z ✔ emits start, redacted runtime events, and exactly one completed outcome (11.319726ms) +2026-09-27T05:33:42.7807472Z ✔ emits a terminal fatal outcome for malformed JSON input (2.377055ms) +2026-09-27T05:33:42.7871419Z ✔ returns blocked after denying a non-interactive sandbox boundary request (7.283347ms) +2026-09-27T05:33:42.7956000Z ✔ returns blocked for an unresolved production sandbox tool failure (3.948859ms) +2026-09-27T05:33:42.8033576Z ✔ blocks a completed invocation whose stream carried a boundary failure (3.72396ms) +2026-09-27T05:33:42.8065658Z ✔ retries non-permission blocked sessions instead of requesting permission (8.8867ms) +2026-09-27T05:33:42.8074913Z ✔ resumes an existing compatible session without creating another one (3.714136ms) +2026-09-27T05:33:42.8076210Z ✔ maps timeout to retryable_failure and emits one terminal outcome (17.145791ms) +2026-09-27T05:33:42.8077210Z ✔ maka activate JSONL protocol (60.007278ms) +2026-09-27T05:33:42.8077968Z ▶ maka activate filesystem boundaries +2026-09-27T05:33:42.8078843Z ✔ rejects workspace/state/config overlap before bootstrap (17.982094ms) +2026-09-27T05:33:42.8079728Z ✔ maka activate filesystem boundaries (18.323547ms) +2026-09-27T05:33:42.8080395Z ▶ BoundedChunkBuffer +2026-09-27T05:33:42.8081600Z ✔ releases a discarded backing slot before delayed storage compaction (1.219906ms) +2026-09-27T05:33:42.8082620Z ✔ ignores a replay of a sequence that was already discarded (1.110556ms) +2026-09-27T05:33:42.8083601Z ✔ does not split a UTF-16 surrogate pair at the character boundary (4.373211ms) +2026-09-27T05:33:42.8084938Z ✔ shares a smaller presentation budget without forgetting discarded sequence identities (4.345745ms) +2026-09-27T05:33:42.8085927Z ✔ BoundedChunkBuffer (15.103688ms) +2026-09-27T05:33:42.8086508Z ▶ Maka CLI invocation copy +2026-09-27T05:33:42.8087269Z ✔ keeps release resume instructions on the release launcher (0.961436ms) +2026-09-27T05:33:42.8088318Z ✔ keeps development remote and cwd retries on the development launcher (0.269458ms) +2026-09-27T05:33:42.8089231Z ✔ Maka CLI invocation copy (3.161102ms) +2026-09-27T05:33:42.8089839Z ▶ CLI TUI locale authority +2026-09-27T05:33:42.8090564Z ✔ an explicit MAKA_LOCALE wins over the POSIX locale (2.336848ms) +2026-09-27T05:33:42.8091445Z ✔ preserves legacy and POSIX-style Chinese aliases (0.270123ms) +2026-09-27T05:33:42.8092364Z ✔ auto honors POSIX locale authority order (0.678058ms) +2026-09-27T05:33:42.8093307Z ✔ treats empty and whitespace-only MAKA_LOCALE as auto (0.229096ms) +2026-09-27T05:33:42.8094374Z ✔ rejects an unsupported explicit preference with a configuration error (0.205547ms) +2026-09-27T05:33:42.8095441Z ✔ CLI TUI locale authority (5.677326ms) +2026-09-27T05:33:42.8095976Z ▶ Maka CLI args +2026-09-27T05:33:42.8096606Z ✔ declares a bin-only package surface (31.488587ms) +2026-09-27T05:33:42.8097390Z ✔ publishes the supported release command surface (12.815413ms) +2026-09-27T05:33:42.8098631Z ✔ requires an explicit installed update target and interruption choice (0.770056ms) +2026-09-27T05:33:42.8099690Z ✔ selects a Runtime Host and Project for TUI startup (0.400095ms) +2026-09-27T05:33:42.8100641Z ✔ parses the ACP stdio command before TUI flags (0.397269ms) +2026-09-27T05:33:42.8101523Z ✔ compiled ACP launcher rejects trailing arguments without help output (1309.836962ms) +2026-09-27T05:33:42.8102841Z ✔ uses the active launcher in development help and rejects an empty profile name (25.995065ms) +2026-09-27T05:33:42.8103812Z ✔ does not add a discoverable global locale flag (7.657153ms) +2026-09-27T05:33:42.8105512Z ✔ establishes the fatal exit before reporting can throw (1034.78056ms) +2026-09-27T05:33:42.8135948Z ✔ compiled release and repository entries isolate profile writes (2494.969176ms) +2026-09-27T05:33:42.8159709Z ✔ compiled launchers isolate capability-provider identities (3899.34115ms) +2026-09-27T05:33:42.8185417Z ✔ Maka CLI args (8829.15443ms) +2026-09-27T05:33:42.8200654Z ▶ layered help coverage +2026-09-27T05:33:42.8201474Z ✔ every command the parser accepts has a help screen (1.046307ms) +2026-09-27T05:33:42.8202393Z ✔ the credential environment variable stays documented (0.278392ms) +2026-09-27T05:33:42.8203293Z ✔ every summary in the root screen shares one column (6.264286ms) +2026-09-27T05:33:42.8204059Z ✔ layered help coverage (7.876367ms) +2026-09-27T05:33:42.8214753Z ✔ names each tool, and marks every derived figure as an estimate (12.053294ms) +2026-09-27T05:33:42.8237985Z ✔ says a request left no composition rather than printing an empty one (0.36962ms) +2026-09-27T05:33:42.8246716Z ▶ installed Eval bundle +2026-09-27T05:33:42.8247579Z ✔ points Eval containers at the installed package root (22.876942ms) +2026-09-27T05:33:42.8248412Z ✔ preserves an explicit bundle path (0.380898ms) +2026-09-27T05:33:42.8249320Z ✔ does not change source-checkout behavior without a packaged Eval runtime (0.229381ms) +2026-09-27T05:33:42.8250165Z ✔ installed Eval bundle (27.993014ms) +2026-09-27T05:33:42.8251506Z ✔ publication deduplicates a snapshot within one Host connection and republishes on reconnect (6.947974ms) +2026-09-27T05:33:42.8252858Z ✔ publication coalesces revisions while a manifest is in flight and awaits the latest delivery (28.159433ms) +2026-09-27T05:33:42.8254177Z ✔ an obsolete successful replacement is withdrawn when the latest snapshot becomes empty (0.73384ms) +2026-09-27T05:33:42.8255967Z ✔ an old connection completion cannot unregister or advertise tools on its replacement (3.055497ms) +2026-09-27T05:33:42.8257290Z ✔ failed publication releases its provider and readiness can retry the same revision (2.968023ms) +2026-09-27T05:33:42.8258627Z ✔ close waits for an admitted publication then withdraws it without notifying after close (1.75305ms) +2026-09-27T05:33:42.8259883Z ✔ authoritative retirement closes publication state without unregistering again (0.502937ms) +2026-09-27T05:33:42.8261128Z ✔ empty snapshots and unavailable connections never create or withdraw a registration (7.904849ms) +2026-09-27T05:33:42.8262415Z ✔ TUI modern MCP accept travels through the canonical Host form and back to the server (2371.351745ms) +2026-09-27T05:33:42.8263690Z ✔ TUI modern MCP decline travels through the canonical Host form and back to the server (399.75496ms) +2026-09-27T05:33:42.8265067Z ✔ TUI modern MCP cancel travels through the canonical Host form and back to the server (346.355621ms) +2026-09-27T05:33:42.8286894Z ✔ TUI handles a second MCP question as a new canonical Host form (534.741454ms) +2026-09-27T05:33:42.8319037Z ✔ TUI stop closes a pending modern MCP Host form without a user answer or retry (312.40274ms) +2026-09-27T05:33:42.8349966Z ✔ TUI disconnect closes a pending modern MCP Host form without a user answer or retry (230.75799ms) +2026-09-27T05:33:42.8357463Z ✔ TUI provider loss closes a pending modern MCP Host form without a user answer or retry (301.77959ms) +2026-09-27T05:33:42.8359714Z ▶ pi-goal display helpers +2026-09-27T05:33:42.8365999Z ✔ strips generic ESC character-set sequences from displayed text (1.630318ms) +2026-09-27T05:33:42.8367126Z ✔ every declared goal status has a label and a live/terminal classification (1.24967ms) +2026-09-27T05:33:42.8368161Z ✔ elapsed freezes at pausedAt for a paused goal and never goes negative (0.288264ms) +2026-09-27T05:33:42.8369020Z ✔ formatGoalElapsed is compact (0.288766ms) +2026-09-27T05:33:42.8369946Z ✔ status-line text: active shows elapsed, waiting and paused show the state name (0.365064ms) +2026-09-27T05:33:42.8371261Z ✔ summary lines include budget only when set and the evaluator note only when present (4.06928ms) +2026-09-27T05:33:42.8372512Z ✔ summary collapses embedded whitespace and labels a cleared goal as cleared (0.591342ms) +2026-09-27T05:33:42.8373684Z ✔ summary hides elapsed for terminal verdicts that carry no freeze timestamp (0.347132ms) +2026-09-27T05:33:42.8374885Z ✔ summary keeps the frozen elapsed for an achieved goal (0.309923ms) +2026-09-27T05:33:42.8375773Z ✔ token formatting is the shared status-line formatter (0.301961ms) +2026-09-27T05:33:42.8376677Z ✔ pause and attach notices name the loop and its controls (0.37645ms) +2026-09-27T05:33:42.8377453Z ✔ pi-goal display helpers (13.460172ms) +2026-09-27T05:33:42.8378069Z ▶ Maka Pi TUI transcript +2026-09-27T05:33:42.8378936Z ✔ hides a retired provider dropping note that an old session still carries (12.025024ms) +2026-09-27T05:33:42.8380001Z ✔ renders manual compaction from the typed terminal outcome (0.87322ms) +2026-09-27T05:33:42.8381470Z ✔ renders stored legacy Automation prompts as read-only provenance (10.126263ms) +2026-09-27T05:33:42.8382445Z ✔ renders fresh-session guidance in the resolved locale (13.996341ms) +2026-09-27T05:33:42.8383460Z ✔ keeps every pending-queue preview on exactly one terminal row (#3824) (1.114765ms) +2026-09-27T05:33:42.8384708Z ✔ renders the pending-queue edit shortcut for the current platform (91.306076ms) +2026-09-27T05:33:42.8412322Z ✔ renders goal-origin prompts as autonomous provenance, not as user prompts (8.68606ms) +2026-09-27T05:33:42.8413546Z ✔ status line shows a live goal and hides terminal or absent goals (1.819223ms) +2026-09-27T05:33:42.8414816Z ✔ renders side conversation status in English for every UI locale (1.242562ms) +2026-09-27T05:33:42.8415973Z ✔ status line degrades to ctx ?/window when the window is known but usage is not (#3371) (0.849309ms) +2026-09-27T05:33:42.8417489Z ✔ status line drops whole low-value segments on overflow, lowest rank first (#3421) (0.753611ms) +2026-09-27T05:33:42.8418642Z ✔ status line shortens cwd to its basename before dropping it (#3421) (0.569154ms) +2026-09-27T05:33:42.8419741Z ✔ status line drops a drive-root cwd instead of rendering an empty basename (#3421) (4.511508ms) +2026-09-27T05:33:42.8420895Z ✔ status line never drops mode, model, goal, or ctx at narrow widths (#3421) (0.724295ms) +2026-09-27T05:33:42.8422060Z ✔ status line compacts every critical segment before the narrow-width fallback (#3421) (2.494947ms) +2026-09-27T05:33:42.8423178Z ✔ keeps assistant text after a tool call visible after the tool block (0.801162ms) +2026-09-27T05:33:42.8424263Z ✔ preserves a transient user row across a sparse transcript replacement (0.276769ms) +2026-09-27T05:33:42.8425517Z ✔ removes only transient rows with durable cancellation proof (0.224861ms) +2026-09-27T05:33:42.8426853Z ✔ keeps a transient user row before later durable output in a sparse replacement (0.398306ms) +2026-09-27T05:33:42.8428151Z ✔ keeps an unanchored transient user row after existing durable history (0.315219ms) +2026-09-27T05:33:42.8429216Z ✔ keeps a leading transient row before an entirely new durable replacement (0.202782ms) +2026-09-27T05:33:42.8430300Z ✔ reconciles a transient user row by messageId when durable history arrives (0.15877ms) +2026-09-27T05:33:42.8431500Z ✔ keeps a projected in-flight steering echo transient until durable reconciliation (5.684341ms) +2026-09-27T05:33:42.8432585Z ✔ removes only the transient row named by a retracted admission (0.183212ms) +2026-09-27T05:33:42.8433594Z ✔ updates a projected steering echo in its transient message position (0.185468ms) +2026-09-27T05:33:42.8434668Z ✔ uses a shared message gutter and trims trailing block rows (37.315844ms) +2026-09-27T05:33:42.8437320Z ✔ treats text_complete as the authoritative assistant text (18.907759ms) +2026-09-27T05:33:42.8438475Z ✔ allows text_complete to replace streamed assistant text with empty text (0.230788ms) +2026-09-27T05:33:42.8439657Z ✔ hydrates durable tool details without resetting live turn state (5.834501ms) +2026-09-27T05:33:42.8440774Z ✔ keeps a hydrated background Bash live when its omitted settlement arrives (0.946454ms) +2026-09-27T05:33:42.8441917Z ✔ does not replace a newer live ShellRun revision with an older durable snapshot (0.392299ms) +2026-09-27T05:33:42.8443051Z ✔ does not materialize an omitted placeholder as a tool result (0.248502ms) +2026-09-27T05:33:42.8444090Z ✔ does not reopen a settled call from a resultless durable snapshot (0.349642ms) +2026-09-27T05:33:42.8445483Z ✔ does not replace a newer live result or terminal outcome with durable history (6.819167ms) +2026-09-27T05:33:42.8446712Z ✔ keeps an in-flight background poll suppressed during durable hydration (0.650731ms) +2026-09-27T05:33:42.8447710Z ✔ drops a hydrated in-flight background poll on abort (0.355152ms) +2026-09-27T05:33:42.8448533Z ✔ drops a resultless background poll when the turn completes (0.390894ms) +2026-09-27T05:33:42.8449570Z ✔ lets the live result own failed-poll tail placement after durable hydration (5.150576ms) +2026-09-27T05:33:42.8450857Z ✔ keeps a successful poll correlated until its live result folds it (0.635467ms) +2026-09-27T05:33:42.8451992Z ✔ renders steering messages with human-facing text and falls back to model-facing text (2.560423ms) +2026-09-27T05:33:42.8453163Z ✔ shows failed-open compact diagnostics before success diagnostics (0.574943ms) +2026-09-27T05:33:42.8454224Z ✔ folds stored background-task polling into its parent Bash card on resume (0.389123ms) +2026-09-27T05:33:42.8461092Z ✔ explains a stored tool call whose turn ended without a result (2.397355ms) +2026-09-27T05:33:42.8462346Z ✔ keeps a stored errored Read poll as a card without folding it into the parent Bash card (1.673669ms) +2026-09-27T05:33:42.8468775Z ✔ Ctrl+O leaves tool cards above the live viewport untouched (#1097) (8.280896ms) +2026-09-27T05:33:42.8474078Z ✔ Ctrl+O with a head-scrolled expanded card flips the default back and leaves a notice (#1134) (6.300142ms) +2026-09-27T05:33:42.8475789Z ✔ a collapse with mixed card positions names the stranded cards and offers the second press (#4011) (4.31431ms) +2026-09-27T05:33:42.8477127Z ✔ the confirmed second press collapses the stranded card without flipping the default (#4011) (0.520976ms) +2026-09-27T05:33:42.8478397Z ✔ an expand toggle with collapsed cards above the viewport stays silent about them (#4011) (1.164013ms) +2026-09-27T05:33:42.8479638Z ✔ hasExpandedEntriesAboveViewport is false while entry positions are unknown (#4011) (0.194029ms) +2026-09-27T05:33:42.8480776Z ✔ Ctrl+T leaves thinking entries above the live viewport untouched (#1097) (1.109049ms) +2026-09-27T05:33:42.8481969Z ✔ Ctrl+T with only head-scrolled thinking flips the default back and leaves a notice (#1134) (1.013428ms) +2026-09-27T05:33:42.8483267Z ✔ replays WriteStdin as a human-readable operation row while merging its PTY revision into Bash (7.382611ms) +2026-09-27T05:33:42.8484645Z ✔ renders an unboxed session sandbox boundary request with exact scopes (0.428465ms) +2026-09-27T05:33:42.8487666Z ✔ queues sandbox boundary, question, and form requests in arrival order (0.373243ms) +2026-09-27T05:33:42.8488694Z ✔ deduplicates sandbox boundary interactions by request id (0.416388ms) +2026-09-27T05:33:42.8489704Z ✔ orders thinking entries by arrival, before text and around tools (5.992866ms) +2026-09-27T05:33:42.8490853Z ✔ replaces the streamed thinking entry when thinking_complete arrives after the reply (0.263682ms) +2026-09-27T05:33:42.8491986Z ✔ replaces live Bash output with the authoritative terminal snapshot (0.952403ms) +2026-09-27T05:33:42.8493022Z ✔ folds concurrent child lifecycles into their parent agent cards (4.66118ms) +2026-09-27T05:33:42.8493997Z ✔ restores one parent card with its child terminal state (0.26705ms) +2026-09-27T05:33:42.8495144Z ✔ keeps a background Bash card running until the process settles (0.427802ms) +2026-09-27T05:33:42.8519085Z ✔ never renders a background-task Read card while a poll is in flight (0.466858ms) +2026-09-27T05:33:42.8520391Z ✔ folds an omitted Runtime Host poll result using its live correlation (0.288247ms) +2026-09-27T05:33:42.8521522Z ✔ surfaces an errored poll carrying shell_run content instead of folding it (0.565675ms) +2026-09-27T05:33:42.8522720Z ✔ keeps an errored non-folded poll card instead of splicing it into the parent (3.44124ms) +2026-09-27T05:33:42.8523940Z ✔ surfaces an errored background-task poll as a card instead of swallowing it (0.664157ms) +2026-09-27T05:33:42.8529784Z ✔ keeps generic compact text outcomes distinct by real presentation status (1.069371ms) +2026-09-27T05:33:42.8530996Z ✔ surfaces a failed poll at the tail without rewriting scrollback (0.59826ms) +2026-09-27T05:33:42.8532084Z ✔ removes a successful off-screen poll without changing scrollback (4.80737ms) +2026-09-27T05:33:42.8532994Z ✔ gives a suppressed poll zero transcript footprint (0.475879ms) +2026-09-27T05:33:42.8534247Z ✔ never renders a StopBackgroundTask card while the stop is in flight (0.816137ms) +2026-09-27T05:33:42.8535609Z ✔ never folds a WriteStdin aimed at a background-task ref (0.40457ms) +2026-09-27T05:33:42.8536579Z ✔ stays silent for a hydration catch-up update that settles a resumed card (4.330731ms) +2026-09-27T05:33:42.8537581Z ✔ updates a local user command card from its Runtime Resource (0.402401ms) +2026-09-27T05:33:42.8538592Z ✔ keeps user commands expanded and outside Ctrl+O model-tool toggles (0.293246ms) +2026-09-27T05:33:42.8539715Z ✔ preserves local user-command cards only for same-session reconnect replacement (0.180867ms) +2026-09-27T05:33:42.8540923Z ✔ reconnect re-inserts preserved user-command cards at their chronological position (#3210) (0.320217ms) +2026-09-27T05:33:42.8542082Z ✔ notifies a settle exactly once across a folded poll and the live update (0.317088ms) +2026-09-27T05:33:42.8543243Z ✔ announces a detached background task settle exactly once when its owner completes it (3.417469ms) +2026-09-27T05:33:42.8544313Z ✔ does not pair stale ownership with a newer ShellRun revision (0.305459ms) +2026-09-27T05:33:42.8545581Z ✔ announces a detached background task orphaned settle as an error exactly once (0.323631ms) +2026-09-27T05:33:42.8546708Z ✔ notifies a settle exactly once when the live update precedes the folded poll (0.347262ms) +2026-09-27T05:33:42.8547849Z ✔ announces a failed background task as an error with its exit and message (0.295329ms) +2026-09-27T05:33:42.8548879Z ✔ stays silent for a background task already settled in stored history (0.3936ms) +2026-09-27T05:33:42.8549770Z ✔ drops a folded poll when the turn aborts mid-flight (0.403236ms) +2026-09-27T05:33:42.8550929Z ✔ folds the real Read observation into its Bash card while the model gets a bounded page (10.069687ms) +2026-09-27T05:33:42.8552131Z ✔ shows polled background output instead of a stale live delta (1.208709ms) +2026-09-27T05:33:42.8553380Z ✔ re-renders a background Bash card when polling replaces output with the same length (0.621364ms) +2026-09-27T05:33:42.8554760Z ✔ keeps background-task Read cards when their parent Bash card is missing (0.287729ms) +2026-09-27T05:33:42.8560583Z ✔ folds StopBackgroundTask into its parent Bash card as aborted (0.372188ms) +2026-09-27T05:33:42.8561752Z ✔ applies a runtime-published terminal update directly to its parent Bash card (0.356118ms) +2026-09-27T05:33:42.8562913Z ✔ does not erase a runtime-published output update with an equal-time handoff result (0.250535ms) +2026-09-27T05:33:42.8564115Z ✔ keeps shell_run status and exit visible while capping its stream body (0.803211ms) +2026-09-27T05:33:42.8565459Z ✔ keeps generic compact summaries bounded for malformed and oversized results (0.825431ms) +2026-09-27T05:33:42.8566453Z ✔ names a live quiet Bash row from the wire args preview (0.338623ms) +2026-09-27T05:33:42.8567426Z ✔ keeps todo_write arguments quiet and shows only its settled snapshot (0.537447ms) +2026-09-27T05:33:42.8568632Z ✔ never restores todo_write arguments from durable transcript reconciliation (2.491272ms) +2026-09-27T05:33:42.8569713Z ✔ prefers a redacted runtime intent for a live compact row (0.360815ms) +2026-09-27T05:33:42.8570724Z ✔ never renders a secret Bash command from the durable shell_run result (0.412133ms) +2026-09-27T05:33:42.8571761Z ✔ keeps the no-output placeholder when the row cannot name the call (0.317879ms) +2026-09-27T05:33:42.8572933Z ✔ orders and de-dupes tool_output_delta by seq and marks redacted chunks (3.729851ms) +2026-09-27T05:33:42.8574130Z ✔ renders the redaction marker for an empty redacted output delta (0.331139ms) +2026-09-27T05:33:42.8575338Z ✔ caps a long live stream group in the expanded card (0.473669ms) +2026-09-27T05:33:42.8576303Z ✔ retains the newest live output when a stream exceeds its buffer limit (2.363933ms) +2026-09-27T05:33:42.8577333Z ✔ drops the oldest progress when the chunk count reaches its limit (5.29617ms) +2026-09-27T05:33:42.8578129Z ✔ Maka Pi TUI transcript (359.328121ms) +2026-09-27T05:33:42.8579154Z ▶ transcript entry render memoization +2026-09-27T05:33:42.8580153Z ✔ re-renders thinking when a same-length final replaces the streamed text (0.419099ms) +2026-09-27T05:33:42.8581238Z ✔ merges a latestStream-only ShellRun update into the card result (0.528831ms) +2026-09-27T05:33:42.8582519Z ✔ provider retry activity strip counts down in the client clock domain (4.303411ms) +2026-09-27T05:33:42.8583576Z ✔ provider retry strip counts down from the host-authoritative remainingMs (0.418765ms) +2026-09-27T05:33:42.8584845Z ✔ re-renders equal-length ShellRun output only when revision advances (0.537208ms) +2026-09-27T05:33:42.8587570Z ✔ transcript entry render memoization (6.758411ms) +2026-09-27T05:33:42.8588206Z ▶ shortenCwd +2026-09-27T05:33:42.8588873Z ✔ shortens POSIX paths under the home directory (0.201038ms) +2026-09-27T05:33:42.8589747Z ✔ keeps POSIX paths outside the home directory absolute (0.115895ms) +2026-09-27T05:33:42.8590649Z ﹣ shortens Windows profile paths (#3825) (0.06719ms) # SKIP +2026-09-27T05:33:42.8591549Z ﹣ shortens Windows profile paths with case-only differences (#3825) (0.057688ms) # SKIP +2026-09-27T05:33:42.8592600Z ﹣ keeps Windows paths outside the profile directory absolute (#3825) (0.042553ms) # SKIP +2026-09-27T05:33:42.8593432Z ✔ shortenCwd (0.761876ms) +2026-09-27T05:33:42.8594308Z ✔ TUI drafts cover every primitive and preserve optional omission (11.702494ms) +2026-09-27T05:33:42.8595562Z ✔ TUI acceptance parses numbers without inventing omitted values (0.750452ms) +2026-09-27T05:33:42.8596567Z ✔ protocol field names remain own data properties (0.288049ms) +2026-09-27T05:33:42.8597603Z ✔ overlay retains invalid drafts, then submits the corrected value (71.630711ms) +2026-09-27T05:33:42.8598756Z ✔ overlay restores a same-request draft and explains active constraints (4.182019ms) +2026-09-27T05:33:42.8599853Z ✔ overlay distinguishes optional false, decline, and cancel (1.834052ms) +2026-09-27T05:33:42.8600959Z ✔ overlay renders provenance and neutralizes terminal control text (3.249611ms) +2026-09-27T05:33:42.8602088Z ✔ overlay keeps bounded field and option windows around the active row (1.952915ms) +2026-09-27T05:33:42.8602836Z ▶ MCP management overlay +2026-09-27T05:33:42.8603593Z ✔ renders the local publication and negotiated server status (14.842012ms) +2026-09-27T05:33:42.8604738Z ✔ states the remote limitation instead of implying an empty local config (0.585216ms) +2026-09-27T05:33:42.8611236Z ✔ masks remote provider credentials while typing and clears them after submission (16.864447ms) +2026-09-27T05:33:42.8612430Z ✔ renders a competing remote provider as a visible conflict (0.620016ms) +2026-09-27T05:33:42.8613410Z ✔ localizes manager states without changing their source values (1.569124ms) +2026-09-27T05:33:42.8614580Z ✔ renders Traditional Chinese without Simplified fallbacks (2.586713ms) +2026-09-27T05:33:42.8615552Z ✔ subscribes only for the overlay lifetime (0.407766ms) +2026-09-27T05:33:42.8616652Z ✔ keeps long-list selection visible and applies actions to the visible server (25.189074ms) +2026-09-27T05:33:42.8617928Z ✔ walks the guided add flow with en, protocol key "2", headings, labels, and hints (14.495328ms) +2026-09-27T05:33:42.8619103Z ✔ walks the guided add flow with en, protocol key "\r", headings, labels, and hints (5.625005ms) +2026-09-27T05:33:42.8620159Z ✔ renders the en remove confirmation with the server id (0.812424ms) +2026-09-27T05:33:42.8621093Z ✔ labels the busy phase per action kind in en (2.189659ms) +2026-09-27T05:33:42.8622145Z ✔ walks the guided add flow with zh-CN, protocol key "2", headings, labels, and hints (5.239862ms) +2026-09-27T05:33:42.8623392Z ✔ walks the guided add flow with zh-CN, protocol key "\r", headings, labels, and hints (5.733187ms) +2026-09-27T05:33:42.8624731Z ✔ renders the zh-CN remove confirmation with the server id (0.500304ms) +2026-09-27T05:33:42.8625741Z ✔ labels the busy phase per action kind in zh-CN (0.397839ms) +2026-09-27T05:33:42.8626955Z ✔ routes every action result to its en catalog notice (30.57753ms) +2026-09-27T05:33:42.8628212Z ✔ Session observation IPC returns cancellation after renderer destruction while seeding (2.376986ms) +2026-09-27T05:33:42.8629726Z ✔ transcript history IPC forwards open mode, load-earlier, and read-turn to the registry (5.386092ms) +2026-09-27T05:33:42.8630934Z ✔ treats pending Session observation teardown as IPC cancellation (0.536584ms) +2026-09-27T05:33:42.8631904Z ✔ treats pending transcript teardown as IPC cancellation (2.387317ms) +2026-09-27T05:33:42.8633073Z ✔ forgetSession rejects pending observation IPC instead of silently cancelling (0.997531ms) +2026-09-27T05:33:42.8634142Z ✔ routes every action result to its zh-CN catalog notice (9.209908ms) +2026-09-27T05:33:42.8659725Z ✔ renders an unknown runtime result code as the raw code (4.522954ms) +2026-09-27T05:33:42.8689551Z ✔ keeps punctuation-sensitive catalog strings byte-for-byte (0.259446ms) +2026-09-27T05:33:42.8715377Z ✔ MCP management overlay (149.567446ms) +2026-09-27T05:33:42.8744008Z ▶ Maka Pi TUI runner +2026-09-27T05:33:42.8745084Z ✔ localizes the session search title and scope in every supported locale (27.085435ms) +2026-09-27T05:33:42.8746229Z ✔ session names use wide viewports and keep selection across resizing (24.049023ms) +2026-09-27T05:33:42.8747240Z ✔ can delegate session search to the catalog authority (6.592485ms) +2026-09-27T05:33:42.8748242Z ✔ /help uses the resolved locale for headings and command descriptions (83.283893ms) +2026-09-27T05:33:42.8749222Z ✔ ! runs once without opening an agent turn (14.911813ms) +2026-09-27T05:33:42.8750151Z ✔ a second leading bang remains part of the shell command (12.77077ms) +2026-09-27T05:33:42.8751087Z ✔ a submitted bare ! shows usage without starting a turn (9.100716ms) +2026-09-27T05:33:42.8752190Z ✔ Ctrl-C stops a running user command without exiting the TUI (64.241121ms) +2026-09-27T05:33:42.8753300Z ✔ a rejected startNewSession aborts /new with identity and transcript intact (#3210 review) (24.39775ms) +2026-09-27T05:33:42.8754694Z ✔ a rejected user-command stop hands Ctrl-C back to the exit chord (#3210) (44.029098ms) +2026-09-27T05:33:42.8755751Z ✔ a new user command re-arms Ctrl-C after an earlier stop rejection (37.843499ms) +2026-09-27T05:33:42.8756802Z ✔ same-session reconnect keeps a user-command card for its terminal update (13.107577ms) +2026-09-27T05:33:42.8757854Z ✔ disables taskbar progress on Windows and Windows Terminal by default (6.950557ms) +2026-09-27T05:33:42.8758859Z ✔ allows environment and explicit taskbar progress overrides (0.195364ms) +2026-09-27T05:33:42.8759880Z ✔ does not publish taskbar progress when the policy disables it (31.152159ms) +2026-09-27T05:33:42.8760891Z ✔ keeps slash autocomplete visible while a short terminal resizes (42.292252ms) +2026-09-27T05:33:42.8761807Z ✔ restores the terminal before exiting on SIGTERM (1519.549221ms) +2026-09-27T05:33:42.8762941Z ✔ forces signal exit when outer cleanup never settles after terminal restoration (4546.969631ms) +2026-09-27T05:33:42.8764207Z ✔ restores the terminal before reporting an uncaught exception (1468.22833ms) +2026-09-27T05:33:42.8765546Z ✔ closing the TUI restores the terminal without issuing a Runtime stop (0.947532ms) +2026-09-27T05:33:42.8766700Z ✔ Host controls show localized confirmation and require an affirmative choice (en) (23.90587ms) +2026-09-27T05:33:42.8767960Z ✔ Host controls show localized confirmation and require an affirmative choice (zh-CN) (12.872578ms) +2026-09-27T05:33:42.8769157Z ✔ Host controls show localized confirmation and require an affirmative choice (zh-TW) (22.778159ms) +2026-09-27T05:33:42.8770225Z ✔ restores the terminal when focus reporting fails after TUI start (11.774699ms) +2026-09-27T05:33:42.8771184Z ✔ a new OAuth account flows from identity through authorization to model save (200.823407ms) +2026-09-27T05:33:42.8772314Z ✔ an unconfirmed OAuth result stays on authorization and can resume model setup (en) (56.312044ms) +2026-09-27T05:33:42.8773813Z ✔ an unconfirmed OAuth result stays on authorization and can resume model setup (zh-CN) (48.419995ms) +2026-09-27T05:33:42.8775353Z ✔ an unconfirmed OAuth result stays on authorization and can resume model setup (zh-TW) (46.535634ms) +2026-09-27T05:33:42.8776587Z ✔ Esc closes unconfirmed OAuth setup without pretending to return to an uncreated identity (36.623644ms) +2026-09-27T05:33:42.8777719Z ✔ an OAuth slug collision returns a new account to the identity step (41.308873ms) +2026-09-27T05:33:42.8778761Z ✔ an existing OAuth account skips identity and keeps its Connection identity (34.803887ms) +2026-09-27T05:33:42.8779755Z ✔ Esc returns authenticated OAuth to refreshed providers (loading) (69.044768ms) +2026-09-27T05:33:42.8780745Z ✔ Esc returns authenticated OAuth to refreshed providers (failed) (89.323396ms) +2026-09-27T05:33:42.8781770Z ✔ Esc returns authenticated OAuth to refreshed providers (models) (119.386693ms) +2026-09-27T05:33:42.8782735Z ✔ retries model discovery after OAuth without signing in again (22.65816ms) +2026-09-27T05:33:42.8783713Z ✔ verify failure re-arms the key prompt so the key can be retried (36.674076ms) +2026-09-27T05:33:42.8784950Z ✔ localizes a save rejection without displaying Host text (30.579163ms) +2026-09-27T05:33:42.8786044Z ✔ threads the selected same-provider account identity through verify and save (25.728052ms) +2026-09-27T05:33:42.8787182Z ✔ an armed key prompt routes a slash command instead of swallowing it as the key (30.09162ms) +2026-09-27T05:33:42.8788318Z ✔ /setup without an onboarding surface reports unavailable in-frame instead of throwing (23.298275ms) +2026-09-27T05:33:42.8789475Z ✔ /setup reports a listProviders failure as an error instead of "no providers" (6.818444ms) +2026-09-27T05:33:42.8790580Z ✔ wizard ignores a verify result from an abandoned attempt (44.878745ms) +2026-09-27T05:33:42.8791612Z ✔ an abandoned create save keeps its committed identity for retry (50.32821ms) +2026-09-27T05:33:42.8792498Z ✔ a late save cannot rebind a reselected create row (64.011703ms) +2026-09-27T05:33:42.8793544Z ✔ wizard collects a base URL for a custom relay and threads it through verify and save (57.548574ms) +2026-09-27T05:33:42.8794864Z ✔ a late abandoned save cannot replace the running model choices (29.618667ms) +2026-09-27T05:33:42.8796071Z ✔ first-run wizard never reaches an agent turn after a slash command escapes the key field (49.017805ms) +2026-09-27T05:33:42.8797198Z ✔ first-run closes after a durable save even when catalog refresh fails (23.721177ms) +2026-09-27T05:33:42.8798205Z ✔ wizard moves focus from Name to Slug and submits the edited identity (101.010833ms) +2026-09-27T05:33:42.8799278Z ✔ accepting the identity defaults sends a bare create target any Host vintage takes (27.300797ms) +2026-09-27T05:33:42.8800358Z ✔ a slug_taken rejection bounces the wizard back to the identity step (40.673099ms) +2026-09-27T05:33:42.8801453Z ✔ freezes and preserves the editor draft while a boundary request owns input (27.127417ms) +2026-09-27T05:33:42.8805796Z ✔ ignores repeated allow keys while a sandbox boundary request waits (8.243397ms) +2026-09-27T05:33:42.8807093Z ✔ denies a pending sandbox boundary request from the terminal (8.019637ms) +2026-09-27T05:33:42.8808156Z ✔ waits for boundary acknowledgement before advancing concurrent requests (18.557761ms) +2026-09-27T05:33:42.8809302Z ✔ answers sequential questions inline with a choice, Escape, and type-to-jump Other (38.410933ms) +2026-09-27T05:33:42.8813565Z ✔ keeps the transcript tail visible above a long pending question across resizes (107.331031ms) +2026-09-27T05:33:42.8815109Z ✔ a question prompt opened on a short terminal keeps its input row after the terminal grows (#4610) (29.675548ms) +2026-09-27T05:33:42.8823176Z ✔ Ctrl-C stops a turn while a user-question prompt is open (21.448459ms) +2026-09-27T05:33:42.8824609Z ✔ reviews and answers a Host-owned form without losing typed or optional values (15.834661ms) +2026-09-27T05:33:42.8825703Z ✔ keeps form cancel distinct from global Turn stop (20.183468ms) +2026-09-27T05:33:42.8826983Z ✔ closes a stale form when reconnect replaces the authoritative transcript (24.026658ms) +2026-09-27T05:33:42.8828707Z ✔ restores a still-pending form draft after reconnect replay (41.91948ms) +2026-09-27T05:33:42.8829676Z ✔ off-screen shell-run settle never clears scrollback (#1135) (20.528986ms) +2026-09-27T05:33:42.8830720Z ✔ streaming text past the viewport keeps appending visible content (#1135) (9.886472ms) +2026-09-27T05:33:42.8831791Z ✔ renders a background ShellRun terminal update after the agent turn ends (26.239188ms) +2026-09-27T05:33:42.8832929Z ✔ keeps the detailed reader open on key release and preserves the draft on close (72.905286ms) +2026-09-27T05:33:42.8834097Z ✔ hides the reader for a pending question and reopens it without losing the draft (60.698656ms) +2026-09-27T05:33:42.8859225Z ✔ a confirmed second Ctrl+T collapses a head-scrolled block with one full redraw (#4011) (44.912671ms) +2026-09-27T05:33:42.8862046Z ✔ an expired Ctrl+T confirmation re-offers collapse instead of reversing it (#4011) (68.234071ms) +2026-09-27T05:33:42.8863168Z ✔ does not treat a kitty Escape press+release as a double Escape (18.145196ms) +2026-09-27T05:33:42.8864612Z ✔ waits to drain a visible turn until shared session activity releases (10.845475ms) +2026-09-27T05:33:42.8865706Z ✔ reserves first-session activity before its prepared event stream starts (2.063077ms) +2026-09-27T05:33:42.8866792Z ✔ does not start a visible turn after closing while it waits for shared activity (11.055922ms) +2026-09-27T05:33:42.8867940Z ✔ flows a transcript taller than the viewport into scrollback, untruncated and un-paged (7.513067ms) +2026-09-27T05:33:42.8868957Z ✔ browses a long transcript without depending on terminal scrollback (81.208486ms) +2026-09-27T05:33:42.8870035Z ✔ resets the cached reader after successful /new with non-persisted session ids (76.915467ms) +2026-09-27T05:33:42.8871000Z ✔ does not reset the cached reader when /new fails (69.908111ms) +2026-09-27T05:33:42.8871861Z ✔ opens the read-only /mcp status on an idle local TUI (25.735968ms) +2026-09-27T05:33:42.8872770Z ✔ /mcp previews pasted JSON and completes guided setup in-frame (65.461495ms) +2026-09-27T05:33:42.8873833Z ✔ /mcp ignores a late action result after the user cancels its busy view (16.149754ms) +2026-09-27T05:33:42.8874959Z ✔ clears an unsent draft on Ctrl-C without closing Maka (32.898391ms) +2026-09-27T05:33:42.8877570Z ✔ requires a second idle Ctrl-C to exit Maka (10.33811ms) +2026-09-27T05:33:42.8878483Z ✔ does not count a Kitty Ctrl-C repeat as the second press (7.308801ms) +2026-09-27T05:33:42.8879383Z ✔ keeps Maka open when Ctrl-D is pressed during a turn (16.535138ms) +2026-09-27T05:33:42.8880451Z ✔ Enter during a turn steers the running turn and shows a pending Steering line (21.346538ms) +2026-09-27T05:33:42.8881596Z ✔ removes an idle transient message after a definite Host rejection (7.426066ms) +2026-09-27T05:33:42.8882625Z ✔ keeps an admitted message when a Host-started turn attaches from a sparse tail (17.015422ms) +2026-09-27T05:33:42.8883651Z ✔ shows unavailable rather than empty when a driver lacks Todo queries (7.509819ms) +2026-09-27T05:33:42.8885002Z ✔ refreshes Todo on domain invalidation and clears the old session after /new (32.007613ms) +2026-09-27T05:33:42.8886348Z ✔ opens current Todo during a turn without steering and returns Escape to the composer (28.449433ms) +2026-09-27T05:33:42.8887560Z ✔ opens /transcript during a running turn instead of steering it (17.664984ms) +2026-09-27T05:33:42.8888454Z ✔ refuses /mcp during a running turn instead of steering it (20.66897ms) +2026-09-27T05:33:42.8889486Z ✔ quit during a running turn detaches without steering or stopping Host-owned work (8.235508ms) +2026-09-27T05:33:42.8890639Z ✔ Alt+Enter during a turn queues a followup and shows a pending Queued line (19.962586ms) +2026-09-27T05:33:42.8891508Z ✔ Alt+Up takes the queued messages back into the editor (30.001469ms) +2026-09-27T05:33:42.8892851Z ✔ Alt+Up removes the exact transient rows without a subscription retraction event (43.676577ms) +2026-09-27T05:33:42.8900601Z ✔ Alt+Up in the enqueue tick retracts from the authority, not the lagging mirror (23.119101ms) +2026-09-27T05:33:42.8907164Z ✔ double-Escape interrupt refills the editor with the cleared queue (31.391235ms) +2026-09-27T05:33:42.8908412Z ✔ interrupt refills only messages still queued, not steering already consumed (44.541721ms) +2026-09-27T05:33:42.8909486Z ✔ Alt+Enter during a control action keeps the draft in the editor (30.02379ms) +2026-09-27T05:33:42.8910454Z ✔ a second Enter during Host admission submits another Message (24.174096ms) +2026-09-27T05:33:42.8911626Z ✔ input during the interrupt convergence window stays in the editor and opens no turn (21.630079ms) +2026-09-27T05:33:42.8912710Z ✔ exits on the second Ctrl-C during a control command (18.608003ms) +2026-09-27T05:33:42.8913788Z ✔ requires the same second confirmation for typed /permissions bypass (7.095715ms) +2026-09-27T05:33:42.8915101Z ✔ rejects Swarm commands during a running turn instead of steering them (17.885183ms) +2026-09-27T05:33:42.8916209Z ✔ cancelling a one-shot Swarm turn leaves the persistent mode off (20.311377ms) +2026-09-27T05:33:42.8917161Z ✔ removes a one-shot Swarm transient when turn admission fails (9.421406ms) +2026-09-27T05:33:42.8918107Z ✔ inspects a historical Agent Graph run without starting a turn (13.944555ms) +2026-09-27T05:33:42.8919076Z ✔ does not render a historical Agent Graph snapshot after shutdown (8.36032ms) +2026-09-27T05:33:42.8920145Z ✔ rejects unsupported /thinking levels with usage instead of sending an update (8.680659ms) +2026-09-27T05:33:42.8921229Z ✔ localizes generic model and thinking picker hints in Chinese (17.956064ms) +2026-09-27T05:33:42.8922308Z ✔ resumes a read-only session as Read only, and never marks Auto as current (26.978041ms) +2026-09-27T05:33:42.8923372Z ✔ switches connection and model together from a cross-connection /model (27.810041ms) +2026-09-27T05:33:42.8924696Z ✔ cross-connection /model search matches by every required criterion (117.146254ms) +2026-09-27T05:33:42.8943311Z ✔ switches models in a fresh conversation without a cache warning (13.741882ms) +2026-09-27T05:33:42.8944573Z ✔ names both connections when the model id stays the same (11.553064ms) +2026-09-27T05:33:42.8945584Z ✔ disambiguates same-name onboarded accounts and selects the exact slug (19.628011ms) +2026-09-27T05:33:42.8946832Z ✔ disambiguates a connection name that collides with another fallback slug (0.303755ms) +2026-09-27T05:33:42.8950742Z ✔ keeps final account labels globally unique after formatting collisions (0.203215ms) +2026-09-27T05:33:42.8951801Z ✔ ignores a delayed title refresh after switching sessions (8.288429ms) +2026-09-27T05:33:42.8952753Z ✔ ignores a delayed title refresh after a manual rename (7.596508ms) +2026-09-27T05:33:42.8953786Z ✔ nests linked child sessions in the picker and allows opening one directly (14.670941ms) +2026-09-27T05:33:42.8955050Z ✔ searches sessions and preserves the query across Current/All scope (42.027542ms) +2026-09-27T05:33:42.8956136Z ✔ shows localized live status badges in the Session picker (28.908952ms) +2026-09-27T05:33:42.8957155Z ✔ imports a Host external session and opens it without starting a turn (36.291884ms) +2026-09-27T05:33:42.8958214Z ✔ opens the latest imported task without importing another copy (46.583027ms) +2026-09-27T05:33:42.8959197Z ✔ reports the catalog task id when opening the latest import fails (34.341939ms) +2026-09-27T05:33:42.8960358Z ✔ explains stable external import failures instead of collapsing them (38.577557ms) +2026-09-27T05:33:42.8961557Z ✔ takes external catalog scope from its surface, not the Session driver (11.565772ms) +2026-09-27T05:33:42.8962979Z ✔ allows another import after an unknown outcome without claiming a catalog copy (45.162131ms) +2026-09-27T05:33:42.8964205Z ✔ fails closed when an external import response cannot be decoded (22.997426ms) +2026-09-27T05:33:42.8965811Z ✔ does not submit an external source the Host reports as already importing (18.432945ms) +2026-09-27T05:33:42.8966990Z ✔ opens an existing task while the Host imports another copy of its source (31.395103ms) +2026-09-27T05:33:42.8968042Z ✔ loads the next Host external catalog page without replacing earlier rows (20.306812ms) +2026-09-27T05:33:42.8969133Z ✔ coalesces external catalog search while retiring stale responses immediately (255.750254ms) +2026-09-27T05:33:42.8975826Z ✔ cancels external catalog search timers during runner shutdown (168.62849ms) +2026-09-27T05:33:42.8976928Z ✔ reports the durable Session id when import succeeds but opening fails (23.183546ms) +2026-09-27T05:33:42.8978049Z ✔ does not report an open failure when only old side-session cleanup fails (36.833179ms) +2026-09-27T05:33:42.8979108Z ✔ keeps Maka sessions usable when Host external source discovery fails (13.424331ms) +2026-09-27T05:33:42.8980113Z ✔ restores switched session state from stored messages (8.47854ms) +2026-09-27T05:33:42.8981116Z ✔ ctx segment refreshes mid-turn from the live context snapshot (#4545) (34.741977ms) +2026-09-27T05:33:42.8982224Z ✔ ctx refresh leaves the last value standing when the snapshot read fails (#4545) (15.077671ms) +2026-09-27T05:33:42.8983255Z ✔ hydrates a resumed background Bash card from durable shell-run state (5.87721ms) +2026-09-27T05:33:42.8984239Z ✔ announces a live settle that arrives after hydration completes (25.83859ms) +2026-09-27T05:33:42.8985644Z ✔ shows every connection in Current while hiding other cwd sessions (9.860045ms) +2026-09-27T05:33:42.8986667Z ✔ adopts a resumed cwd and remembers the All scope for the TUI process (43.306064ms) +2026-09-27T05:33:42.8987761Z ✔ close rejects pending observation IPC instead of silently cancelling (0.622817ms) +2026-09-27T05:33:42.8988788Z ✔ keeps live status visible for a session without a cwd but prevents resuming it (39.220783ms) +2026-09-27T05:33:42.9020274Z ✔ /new cancels hydration retries owned by the previous session (326.800578ms) +2026-09-27T05:33:42.9021423Z ✔ serializes a control command with prompts and shared session activity (26.614238ms) +2026-09-27T05:33:42.9022485Z ✔ keeps the sandbox boundary prompt visible when responding rejects (11.423075ms) +2026-09-27T05:33:42.9023423Z ✔ blocks prompts while the session list is loading (26.694151ms) +2026-09-27T05:33:42.9024259Z ✔ interrupts the running turn on double Escape (26.169013ms) +2026-09-27T05:33:42.9025336Z ✔ opens a rewind picker from /rewind and branches on select (12.094345ms) +2026-09-27T05:33:42.9026302Z ✔ shows an in-progress notice while the rewind branch is being created (39.69684ms) +2026-09-27T05:33:42.9027408Z ✔ keeps a draft typed while the rewind is in flight instead of overwriting it (45.514859ms) +2026-09-27T05:33:42.9028536Z ✔ lets a bracketed paste still being buffered win over the prompt refill (31.238774ms) +2026-09-27T05:33:42.9029510Z ✔ refuses a rewind selection with a notice when another action claimed busy (18.444368ms) +2026-09-27T05:33:42.9030486Z ✔ marks an inherited running Bash card detached after rewind (281.804147ms) +2026-09-27T05:33:42.9031507Z ✔ rehydrates after buffer overflow instead of losing an evicted terminal update (29.830874ms) +2026-09-27T05:33:42.9032581Z ✔ idle double Escape opens the rewind picker; a single Escape does not (34.971283ms) +2026-09-27T05:33:42.9033563Z ✔ does not open the rewind picker while the editor has a draft (20.579799ms) +2026-09-27T05:33:42.9034656Z ✔ a non-Escape key between two Escapes does not open the rewind picker (14.733202ms) +2026-09-27T05:33:42.9035643Z ✔ interrupts at most once while the stop is still settling (20.309514ms) +2026-09-27T05:33:42.9036489Z ✔ stops the running turn on Ctrl-C without closing Maka (13.817038ms) +2026-09-27T05:33:42.9037406Z ✔ exits on a second Ctrl-C while a turn interrupt is still in flight (13.171207ms) +2026-09-27T05:33:42.9041582Z ✔ keeps Escape as deny while a sandbox boundary prompt is pending (6.112812ms) +2026-09-27T05:33:42.9078753Z ✔ clears the sandbox boundary prompt when the turn errors (24.20866ms) +2026-09-27T05:33:42.9080214Z ✔ enables focus reporting only after raw mode, so no stray ^[[I leaks on launch (0.87574ms) +2026-09-27T05:33:42.9081523Z ✔ delegates explicit Skill invocation to the Host while showing the typed prompt (13.10514ms) +2026-09-27T05:33:42.9082694Z ✔ shows partial Skill feedback when the Host queues the Message (10.678323ms) +2026-09-27T05:33:42.9083674Z ✔ localizes runner notices in Chinese mode (12.957269ms) +2026-09-27T05:33:42.9084867Z ✔ does not create a turn when every skill token fails to resolve (5.894414ms) +2026-09-27T05:33:42.9086094Z ✔ does not create a turn when distinct skill requests exceed the preparation limit (7.814323ms) +2026-09-27T05:33:42.9088536Z ▶ /recap command +2026-09-27T05:33:42.9094016Z ✔ an idle-triggered recap is discarded when a later prompt supersedes it before it resolves (11.971963ms) +2026-09-27T05:33:42.9095776Z ✔ two /recap commands submitted back-to-back with no await between them only start one generate() call (26.16527ms) +2026-09-27T05:33:42.9097197Z ✔ a recap result is discarded when the active session switches away while generate() is in flight (13.399016ms) +2026-09-27T05:33:42.9101381Z ✔ a slash command submitted on the way back from idle does not consume the idle gap for the next real prompt (17.72885ms) +2026-09-27T05:33:42.9102466Z ✔ /recap command (69.908628ms) +2026-09-27T05:33:42.9103125Z ▶ slash commands during a running turn +2026-09-27T05:33:42.9103992Z ✔ /recap answers locally instead of steering into the model (19.670234ms) +2026-09-27T05:33:42.9105329Z ✔ /resume refuses with a clear message instead of steering into the model (18.463446ms) +2026-09-27T05:33:42.9106437Z ✔ /resume parked by the host is informational, not a red error (25.731725ms) +2026-09-27T05:33:42.9107511Z ✔ /resume with no interrupted run explains there is nothing to resume (26.228784ms) +2026-09-27T05:33:42.9108519Z ✔ /resume keeps genuine parked recovery failures red (28.611619ms) +2026-09-27T05:33:42.9109471Z ✔ /resume keeps continuation_authority_unavailable red (27.881275ms) +2026-09-27T05:33:42.9115601Z ✔ /resume keeps safety_observation_unavailable red (25.940778ms) +2026-09-27T05:33:42.9116692Z ✔ /model refuses instead of opening the picker behind the running turn (22.271547ms) +2026-09-27T05:33:42.9117822Z ✔ /session mid-turn detaches from the running Turn instead of refusing (27.257014ms) +2026-09-27T05:33:42.9120554Z ✔ /session mid-turn opens the picker and Escape closes it without arming an interrupt (79.242225ms) +2026-09-27T05:33:42.9121625Z ✔ a failed mid-turn /session leaves the running Turn fully live (31.682621ms) +2026-09-27T05:33:42.9122687Z ✔ a second mid-turn /session while a detach is in flight is ignored (23.79498ms) +2026-09-27T05:33:42.9123718Z ✔ a Turn that attaches after a mid-turn detach does not adopt abandoned metadata (34.412864ms) +2026-09-27T05:33:42.9124948Z ✔ unknown slash-prefixed text still steers into the running turn (20.501147ms) +2026-09-27T05:33:42.9125863Z ✔ slash commands during a running turn (412.997257ms) +2026-09-27T05:33:42.9126504Z ▶ /goal command +2026-09-27T05:33:42.9127314Z ✔ /goal prints the live goal summary and the status line carries the indicator (30.762693ms) +2026-09-27T05:33:42.9128463Z ✔ /goal during a running turn answers locally instead of steering into the model (19.011636ms) +2026-09-27T05:33:42.9129675Z ✔ /goal pause during a running turn refuses with a clear message instead of steering (24.860094ms) +2026-09-27T05:33:42.9130769Z ✔ /goal pause|resume|clear control the loop and print confirmations (27.403884ms) +2026-09-27T05:33:42.9131782Z ✔ a host-pushed pause announces itself with resume/clear guidance (22.883259ms) +2026-09-27T05:33:42.9132875Z ✔ a settled /goal pause does not suppress a later host-initiated pause notice (31.878982ms) +2026-09-27T05:33:42.9138384Z ✔ resuming into a session with a live goal announces the auto-continuing loop (5.95109ms) +2026-09-27T05:33:42.9139811Z ✔ /goal control pre-validates impossible transitions (43.530527ms) +2026-09-27T05:33:42.9143217Z ✔ /goal with no goal armed says so, and a bad subcommand shows usage (20.282243ms) +2026-09-27T05:33:42.9144038Z ✔ /goal command (227.476035ms) +2026-09-27T05:33:42.9145075Z ✔ "quit now" and "请 exit" are sent as ordinary prompts, not the exit word (1.373947ms) +2026-09-27T05:33:42.9146044Z ✔ /side submits in a temporary Session and one empty Ctrl-C closes it (38.664669ms) +2026-09-27T05:33:42.9147031Z ✔ /side detaches from a running parent Turn without stopping it (16.027999ms) +2026-09-27T05:33:42.9148082Z ✔ one empty Ctrl-C interrupts and closes a running side conversation (6.304279ms) +2026-09-27T05:33:42.9149038Z ✔ preserves legacy editor undo before a side conversation exists (14.809217ms) +2026-09-27T05:33:42.9150042Z ✔ Ctrl+/ toggles side views, preserves drafts, and projects parent status in English (30.169015ms) +2026-09-27T05:33:42.9151125Z ✔ closing an empty side conversation restores the retained parent draft (32.492481ms) +2026-09-27T05:33:42.9152171Z ✔ does not report main closed when the parent observer cannot open (7.017097ms) +2026-09-27T05:33:42.9153119Z ✔ Ctrl+/ detaches from a running side Turn without stopping it (1.278838ms) +2026-09-27T05:33:42.9154074Z ✔ /session outside the pair discards its retained side conversation (20.255143ms) +2026-09-27T05:33:42.9155201Z ✔ relocates a moved session before resuming it at startup (8.322319ms) +2026-09-27T05:33:42.9156046Z ✔ tells a legacy Session exactly how to choose an account (7.947959ms) +2026-09-27T05:33:42.9157063Z ✔ reports a deleted original account and recovers only through an exact model pick (20.710027ms) +2026-09-27T05:33:42.9158141Z ✔ refreshes connection identities after setup before adopting the new model (87.4919ms) +2026-09-27T05:33:42.9177010Z ✔ resumes an active Host turn from its atomic transcript and continues live output (9.074073ms) +2026-09-27T05:33:42.9178335Z ✔ adopts a Host-started successor after the visible turn reaches its boundary (34.425995ms) +2026-09-27T05:33:42.9179503Z ✔ reports a resume failure and continues with the fresh session (8.010679ms) +2026-09-27T05:33:42.9180594Z ✔ exits when the selected execution location cannot safely start fresh (0.785655ms) +2026-09-27T05:33:42.9184881Z ✔ /copy writes the last reply to the clipboard via OSC 52 (19.172917ms) +2026-09-27T05:33:42.9190706Z ✔ /copy all writes the whole conversation with role labels via OSC 52 (14.904286ms) +2026-09-27T05:33:42.9191835Z ✔ /copy is refused mid-turn instead of copying the half-written reply (20.056756ms) +2026-09-27T05:33:42.9192713Z ✔ Maka Pi TUI runner (14660.95387ms) +2026-09-27T05:33:42.9193783Z ✔ current Todo reserves one chrome row and yields to the minimum composer on short screens (9.581676ms) +2026-09-27T05:33:42.9195210Z ✔ CurrentTodoStore distinguishes loading, empty, ready, and failure (4.88219ms) +2026-09-27T05:33:42.9196421Z ✔ CurrentTodoStore exposes one current session and invalidates on dispose (0.413303ms) +2026-09-27T05:33:42.9197591Z ✔ CurrentTodoStore starts the new session while an old refresh is pending (4.246268ms) +2026-09-27T05:33:42.9198761Z ✔ refresh bursts coalesce without clearing the visible current list (0.476406ms) +2026-09-27T05:33:42.9199734Z ✔ renders a bounded indicator and hides empty state (7.562947ms) +2026-09-27T05:33:42.9200667Z ✔ CurrentTodoStore does not coalesce across A -> undefined -> A (2.252351ms) +2026-09-27T05:33:42.9201739Z ✔ TodoOverlay renders status symbols, failure, and scrolls safely (80.842971ms) +2026-09-27T05:33:42.9202937Z ✔ TodoOverlay permits Kitty scrolling repeats but ignores closing repeats and releases (8.6759ms) +2026-09-27T05:33:42.9211543Z ✔ TodoOverlay wraps grapheme-safe content and supports Home/End (10.757619ms) +2026-09-27T05:33:42.9215077Z ✔ error state renders unavailable instead of exposing query errors (0.656199ms) +2026-09-27T05:33:42.9215867Z ▶ TranscriptViewerOverlay +2026-09-27T05:33:42.9217068Z ✔ opens at the tail and supports line, page, and boundary navigation (10.628345ms) +2026-09-27T05:33:42.9218120Z ✔ follows appended output only while positioned at the end (1.239482ms) +2026-09-27T05:33:42.9241620Z ✔ keeps following after a no-op upward scroll on a short transcript (0.687097ms) +2026-09-27T05:33:42.9265738Z ✔ does not re-enable following merely because resizing reaches the tail (0.635378ms) +2026-09-27T05:33:42.9278671Z ✔ closes with q or Escape (0.230305ms) +2026-09-27T05:33:42.9279655Z ✔ prioritizes content and keeps a valid range in tiny viewports (0.760511ms) +2026-09-27T05:33:42.9280628Z ✔ renders through a detached geometry projection (1.423496ms) +2026-09-27T05:33:42.9281596Z ✔ keeps the same entry when earlier details collapse and new text arrives (0.917925ms) +2026-09-27T05:33:42.9282774Z ✔ search locates Chinese text without filtering the document and Escape restores reading (8.146228ms) +2026-09-27T05:33:42.9283884Z ✔ focuses the search input and emits the hardware cursor marker (0.70673ms) +2026-09-27T05:33:42.9285197Z ✔ expanding document tools and thinking never changes the live entries (0.672967ms) +2026-09-27T05:33:42.9286162Z ✔ does not replace the frozen live-scrollback render cache (34.889232ms) +2026-09-27T05:33:42.9286927Z ✔ TranscriptViewerOverlay (63.239764ms) +2026-09-27T05:33:42.9287492Z ▶ Maka Pi TUI turn +2026-09-27T05:33:42.9288091Z ✔ drains an attached turn under one Session activity lease (5.6637ms) +2026-09-27T05:33:42.9288939Z ✔ projects an EOF without a terminal event exactly once (0.482897ms) +2026-09-27T05:33:42.9289780Z ✔ releases the Session activity when the attached stream fails (2.788594ms) +2026-09-27T05:33:42.9290556Z ✔ Maka Pi TUI turn (11.489897ms) +2026-09-27T05:33:42.9291502Z ✔ Other preserves its wrapped draft and cursor position across focus changes (34.531159ms) +2026-09-27T05:33:42.9292688Z ✔ a short question viewport keeps the answer cursor visible without losing the draft (3.940267ms) +2026-09-27T05:33:42.9293831Z ✔ long options wrap within the row width instead of truncating (#4610) (5.339339ms) +2026-09-27T05:33:42.9295180Z ✔ continuation lines align under the option body, only the first carries the marker (0.665916ms) +2026-09-27T05:33:42.9299584Z ✔ the active row highlights every wrapped line and keeps the arrow marker (0.420666ms) +2026-09-27T05:33:42.9300674Z ✔ the dim description style re-opens on every wrapped line (0.262891ms) +2026-09-27T05:33:42.9301795Z ✔ over-budget rows clamp with a visible ellipsis and stay within width (4.352557ms) +2026-09-27T05:33:42.9302966Z ✔ short options stay on one row; options without a description render the label only (0.335321ms) +2026-09-27T05:33:42.9304110Z ✔ degenerate widths still emit one padded row per wrapped segment (1.052791ms) +2026-09-27T05:33:42.9305538Z ✔ render() respects the row budget: every option, input row, and divider survive (12.323472ms) +2026-09-27T05:33:42.9306650Z ✔ render() without a budget renders every wrapped line (0.804729ms) +2026-09-27T05:33:42.9307366Z ▶ maka run argument parsing +2026-09-27T05:33:42.9308223Z ✔ recognizes stdin prompt mode and rejects malformed limits (20.669227ms) +2026-09-27T05:33:42.9309537Z ✔ accepts only the explicit non-interactive sandbox bypass flag (0.325934ms) +2026-09-27T05:33:42.9310602Z ✔ parses resume and continue session selectors and rejects combining them (4.34284ms) +2026-09-27T05:33:42.9311649Z ✔ accepts a remote Host Project and rejects client cwd semantics (2.375581ms) +2026-09-27T05:33:42.9312567Z ✔ forwards --max-steps to local and Graph turn inputs (37.248627ms) +2026-09-27T05:33:42.9313364Z ✔ maka run argument parsing (66.957693ms) +2026-09-27T05:33:42.9313972Z ▶ maka run process contract +2026-09-27T05:33:42.9314843Z ✔ uses stdin as the complete prompt for run - (271.742418ms) +2026-09-27T05:33:42.9315830Z ✔ uses non-TTY stdin as the prompt when no positional prompt is provided (235.361906ms) +2026-09-27T05:33:42.9316862Z ✔ combines a positional instruction with piped stdin context (191.225013ms) +2026-09-27T05:33:42.9318412Z ✔ fails closed when a sandbox boundary request reaches non-interactive run (231.481389ms) +2026-09-27T05:33:42.9319301Z ✔ returns exit 130 on SIGINT (380.98617ms) +2026-09-27T05:33:42.9320301Z ✔ returns exit 130 when SIGINT interrupts Graph completion wait (262.558701ms) +2026-09-27T05:33:42.9321167Z ✔ maka run process contract (1574.709089ms) +2026-09-27T05:33:42.9321832Z ▶ maka run session selection +2026-09-27T05:33:42.9322619Z ✔ new runs canonicalize the explicit cwd or process cwd (5.196351ms) +2026-09-27T05:33:42.9323694Z ✔ resume uses the stored canonical cwd and ignores implicit process cwd (4.048449ms) +2026-09-27T05:33:42.9325001Z ✔ resume accepts a canonically equal explicit cwd and rejects a conflict (2.528417ms) +2026-09-27T05:33:42.9326425Z ✔ resume accepts Auto sessions and rejects missing cwd, unsupported backend, and explicit config conflicts (3.533118ms) +2026-09-27T05:33:42.9348487Z ✔ continue selects by lastMessageAt descending then id ascending after cwd filtering (24.366585ms) +2026-09-27T05:33:42.9351864Z ✔ continue skips linked child sessions while explicit resume still accepts them (0.437108ms) +2026-09-27T05:33:42.9353155Z ✔ continue returns a preflight failure when no cwd-compatible session exists (0.396742ms) +2026-09-27T05:33:42.9354134Z ✔ maka run session selection (49.818335ms) +2026-09-27T05:33:42.9355457Z ✔ TUI MCP control keeps its capability provider on the pure import boundary (16.453466ms) +2026-09-27T05:33:42.9356849Z ✔ provider readiness reports a failed MCP server with its sanitized diagnostic (30.894364ms) +2026-09-27T05:33:42.9358045Z ✔ provider readiness sanitizes failed MCP server ids into one line (5.46617ms) +2026-09-27T05:33:42.9359192Z ✔ MCP capability publication freezes an accepted callable tool snapshot (9.522452ms) +2026-09-27T05:33:42.9360285Z ✔ MCP capability publication forwards admitted tool progress (0.980946ms) +2026-09-27T05:33:42.9361361Z ✔ MCP capability publication packs tools across server boundaries (7.766327ms) +2026-09-27T05:33:42.9362477Z ✔ CLI Runtime Host bootstrap launches the execution composition (42.836673ms) +2026-09-27T05:33:42.9363624Z ✔ connection-only CLI bootstrap does not read the model connection catalog (41.201925ms) +2026-09-27T05:33:42.9364994Z ✔ npx CLI preserves an existing Host and guards only npx candidate launches (0.92511ms) +2026-09-27T05:33:42.9366268Z ✔ ordinary CLI preserves an existing Host and guards only npx candidate launches (0.397235ms) +2026-09-27T05:33:42.9367461Z ✔ CLI refuses a staged Host whose durable installation claim is missing (20.577027ms) +2026-09-27T05:33:42.9368648Z ✔ CLI Runtime Host bootstrap aborts a stalled catalog read and closes its connection (9.306038ms) +2026-09-27T05:33:42.9369872Z ✔ CLI Runtime Host bootstrap closes an initial connection acquired after abort (4.964394ms) +2026-09-27T05:33:42.9371020Z ✔ non-interactive CLI reports how to retire an incompatible Runtime Host (11.205866ms) +2026-09-27T05:33:42.9379317Z ✔ CLI explains a service Host without inventing resident work (4.199732ms) +2026-09-27T05:33:42.9380370Z ✔ CLI reports an actionable stored-data startup failure (5.59049ms) +2026-09-27T05:33:42.9381434Z ✔ remote CLI profiles pin root identity and resolve credential outside the profile (1.210574ms) +2026-09-27T05:33:42.9382922Z ✔ remote CLI profile state and Client identity use the explicit Client Data Root (29.268862ms) +2026-09-27T05:33:42.9384087Z ✔ remote CLI enables SSH prompts only for an explicitly interactive TTY (4.679533ms) +2026-09-27T05:33:42.9385291Z ✔ remote profiles preserve shared compatibility errors (7.668129ms) +2026-09-27T05:33:42.9386417Z ✔ local CLI delegates a managed cold start once and reconnects without a launch claim (9.617936ms) +2026-09-27T05:33:42.9387651Z ✔ local CLI does not loop if operator activation fails to make the Host available (8.091566ms) +2026-09-27T05:33:42.9388835Z ✔ local CLI propagates operator failure without attempting unmanaged recovery (4.873928ms) +2026-09-27T05:33:42.9389938Z ✔ activated managed Host incompatibility stays operator-owned (5.774241ms) +2026-09-27T05:33:42.9391184Z ✔ source CLI observed-process recovery requires explicit interruption: cancel (1.341875ms) +2026-09-27T05:33:42.9392372Z ✔ source CLI observed-process recovery requires explicit interruption: interrupt (5.235277ms) +2026-09-27T05:33:42.9397090Z ✔ source CLI observed-process recovery requires explicit interruption: retry (0.47434ms) +2026-09-27T05:33:42.9398175Z ✔ CLI never offers unowned process recovery for managed (0.540159ms) +2026-09-27T05:33:42.9399103Z ✔ CLI never offers unowned process recovery for owner (0.411197ms) +2026-09-27T05:33:42.9400039Z ✔ CLI never offers unowned process recovery for temporary (6.42742ms) +2026-09-27T05:33:42.9400965Z ✔ CLI never offers unowned process recovery for identity (0.362655ms) +2026-09-27T05:33:42.9401932Z ✔ CLI rechecks managed authority after interruption consent (0.929068ms) +2026-09-27T05:33:42.9402896Z ✔ CLI rechecks owner authority after interruption consent (0.61193ms) +2026-09-27T05:33:42.9403929Z ✔ keeps one owner across release changes in the same npm global slot (68.22797ms) +2026-09-27T05:33:42.9405139Z ✔ uses distinct owners for distinct active npm global roots (30.365676ms) +2026-09-27T05:33:42.9406127Z ✔ rejects a package outside the active npm global root (23.08625ms) +2026-09-27T05:33:42.9407143Z ✔ rejects development and npx packages before treating them as owners (26.289649ms) +2026-09-27T05:33:42.9408311Z ✔ recognizes configured and default npx cache roots without prefix collisions (19.944084ms) +2026-09-27T05:33:42.9409578Z ✔ recognizes Windows npm cache provenance without classifying an unrelated installation (10.159777ms) +2026-09-27T05:33:42.9410864Z ✔ rejects non-UTF-8 package metadata instead of normalizing an owner observation (17.874907ms) +2026-09-27T05:33:42.9412097Z ✔ handoff explains the blocker before prompting and clears stale consent on redraw (16.410309ms) +2026-09-27T05:33:42.9413067Z ✔ handoff honors en before the TUI starts (1.139204ms) +2026-09-27T05:33:42.9413713Z ✔ handoff honors zh-CN before the TUI starts (0.580408ms) +2026-09-27T05:33:42.9414640Z ✔ handoff honors zh-TW before the TUI starts (0.551497ms) +2026-09-27T05:33:42.9415792Z ✔ handoff keeps cancellation live during progress and disposes input without submitting (1.131145ms) +2026-09-27T05:33:42.9417037Z ✔ accepts Ready evidence only from the exact target generation and process (2.409019ms) +2026-09-27T05:33:42.9418196Z ✔ reports active work and operator-owned lifecycle without forcing takeover (0.533341ms) +2026-09-27T05:33:42.9419408Z ✔ keeps the short-lived activator through the coordinator durable-commit boundary (1.536833ms) +2026-09-27T05:33:42.9420705Z ✔ fails closed through the authenticated connection when its coordinator channel is absent (1.35035ms) +2026-09-27T05:33:42.9422138Z ✔ durable committed ownership releases the launch barrier after an ambiguous record read (0.716492ms) +2026-09-27T05:33:42.9423329Z ✔ permanent invalid durable ownership fails closed without retrying (0.855823ms) +2026-09-27T05:33:42.9424547Z ✔ persistent durable authority I/O fails closed after its bounded deadline (0.683656ms) +2026-09-27T05:33:42.9428096Z ✔ a readable uncommitted handoff retires the guarded target (0.582239ms) +2026-09-27T05:33:42.9429548Z ✔ launches update coordination from a copy outside the mutable npm-global package (105.449597ms) +2026-09-27T05:33:42.9430790Z ✔ copied update coordinator accepts only a complete observed-source fence (4.881576ms) +2026-09-27T05:33:42.9431883Z ✔ rejects unsupported downgrades before package acquisition (0.749537ms) +2026-09-27T05:33:42.9432837Z The local Runtime Host update requires recovery at prepare_host_cutover. +2026-09-27T05:33:42.9434084Z ✔ TUI update fences host_epoch despite the matching old CLI owner before retirement or install (92.619517ms) +2026-09-27T05:33:42.9495785Z ✔ TUI update fences managed_before_update despite the matching old CLI owner before retirement or install (20.921744ms) +2026-09-27T05:33:42.9515366Z The local Runtime Host update requires recovery at prepare_host_cutover. +2026-09-27T05:33:42.9526089Z ✔ TUI update fences managed_during_cutover despite the matching old CLI owner before retirement or install (53.616559ms) +2026-09-27T05:33:42.9535186Z Updated Maka to 2.0.0. +2026-09-27T05:33:42.9536499Z ✔ retires with the current package, activates with the target, then switches npm before commit (8.606041ms) +2026-09-27T05:33:42.9537370Z Updated Maka to 2.0.0. +2026-09-27T05:33:42.9538365Z ✔ crash-retry observes its own staged target and never retires or re-activates it (6.389567ms) +2026-09-27T05:33:42.9539190Z Updated Maka to 2.0.0. +2026-09-27T05:33:42.9540178Z ✔ crash-retry with the global package already switched skips the second install (1.501296ms) +2026-09-27T05:33:42.9541201Z The local Runtime Host update requires recovery at commit_handoff. +2026-09-27T05:33:42.9542213Z ✔ asks the target activator to adjudicate an uncertain durable commit (8.554129ms) +2026-09-27T05:33:42.9543276Z ✔ rejects extended tar headers before the final global npm switch can spawn (15.906468ms) +2026-09-27T05:33:42.9544562Z ✔ renders the canonical Runtime Host command as a private persistent LaunchAgent (1.691067ms) +2026-09-27T05:33:42.9604823Z ✔ renders managed update reconciliation as a periodic one-shot LaunchAgent (0.416887ms) +2026-09-27T05:33:42.9670590Z ✔ canonical LaunchAgent projection owns persistent enablement (41.236769ms) +2026-09-27T05:33:42.9695589Z ✔ installs and removes the update scheduler with a managed LaunchAgent (140.301959ms) +2026-09-27T05:33:42.9715808Z ✔ maps install, stop, start, restart, and uninstall onto one LaunchAgent service (44.328705ms) +2026-09-27T05:33:42.9745947Z ✔ recognizes and transactionally replaces the exact legacy LaunchAgent definition (75.436635ms) +2026-09-27T05:33:42.9747438Z ✔ restores the previous loaded LaunchAgent when deployment bootstrap fails (80.206216ms) +2026-09-27T05:33:42.9748842Z ✔ operator cancellation covers non-RPC retirement and cannot leak into recovery (97.445849ms) +2026-09-27T05:33:42.9750199Z ✔ control projection repair leaves the running Host supervisor untouched (25.354419ms) +2026-09-27T05:33:42.9751521Z ✔ one authority record recovers provider cutover failures without a journal (479.689747ms) +2026-09-27T05:33:42.9752853Z ✔ replacement reactivates a proven previous authority after a pre-commit failure (196.04516ms) +2026-09-27T05:33:42.9754067Z ✔ failed on-demand candidate activation retains the successor authority (112.166628ms) +2026-09-27T05:33:42.9755500Z ✔ revalidates product invariants after Host retirement and restores the prior lifecycle (60.369059ms) +2026-09-27T05:33:42.9756710Z ✔ interrupted activation compensation completes the previous semantics (84.205227ms) +2026-09-27T05:33:42.9758100Z ✔ does not consume replacement consent after the supervised Host exits (26.43895ms) +2026-09-27T05:33:42.9759511Z ✔ requires explicit interruption authority when a supervised Host drains before diagnostics (33.462735ms) +2026-09-27T05:33:42.9760927Z ✔ requires explicit interruption authority to recover an unreachable supervised transition (126.658932ms) +2026-09-27T05:33:42.9762194Z ✔ readiness waits for a reachable Host to leave the starting state (319.147039ms) +2026-09-27T05:33:42.9763769Z ✔ on-demand source retirement fences identity, preserves active work, and acquires the released root (75.626305ms) +2026-09-27T05:33:42.9774190Z ✔ failed on-demand update activation retains the committed package without reactivating old code (77.920944ms) +2026-09-27T05:33:42.9775974Z ✔ captured update owner is fenced again inside authority after its preliminary read (102.135675ms) +2026-09-27T05:33:42.9801967Z ✔ local CLI deployment roots are stable for one OS account and isolated by owner and root (5.39736ms) +2026-09-27T05:33:42.9828455Z ✔ exact registry evidence becomes a persistent transaction-fenced Host candidate (112.958806ms) +2026-09-27T05:33:42.9864617Z ✔ npm-global handoff stages before the one durable owner transaction (64.513983ms) +2026-09-27T05:33:42.9865844Z ✔ package verification failure leaves deployment authority unchanged (11.019158ms) +2026-09-27T05:33:42.9896046Z ✔ installed release skew is rejected before staging or authority mutation (13.814725ms) +2026-09-27T05:33:42.9926306Z ✔ a changed npm installation invalidates handoff consent before staging or authority mutation (5.287385ms) +2026-09-27T05:33:42.9944977Z ✔ explicit npm-global restart claims an exact staged legacy takeover (109.902219ms) +2026-09-27T05:33:42.9947022Z ✔ legacy restart reports active work without claiming deployment authority (66.615089ms) +2026-09-27T05:33:42.9948680Z ✔ external npm replacement retires through the exact source package and commits the target (110.797079ms) +2026-09-27T05:33:42.9950301Z ✔ external source active work rolls back without launching the target (130.117293ms) +2026-09-27T05:33:42.9951681Z ✔ pre-helper source release keeps the bounded idle-only takeover path (151.560943ms) +2026-09-27T05:33:42.9952860Z ✔ source helper failure preserves the durable handoff for recovery (195.527166ms) +2026-09-27T05:33:42.9954005Z ✔ local restart fences host_epoch despite a matching old CLI owner (103.356873ms) +2026-09-27T05:33:42.9955309Z ✔ local restart fences managed_before_restart despite a matching old CLI owner (53.321815ms) +2026-09-27T05:33:42.9956544Z ✔ local restart fences managed_during_cutover despite a matching old CLI owner (120.02366ms) +2026-09-27T05:33:42.9957813Z ✔ external reconciliation asks the activator to adjudicate when npm changes again (188.671447ms) +2026-09-27T05:33:42.9958945Z ✔ local restart keeps service Hosts under operator authority (0.355916ms) +2026-09-27T05:33:42.9959997Z ✔ committed target conflicting with the observed Host fails closed (6.982479ms) +2026-09-27T05:33:42.9961237Z ✔ external npm replacement rejects a different durable source owner before staging (7.002784ms) +2026-09-27T05:33:42.9962362Z ✔ external npm downgrade is rejected before staging or retirement (6.25501ms) +2026-09-27T05:33:42.9963559Z ✔ legacy npm restart preserves staged deployment authority during explicit recovery (111.734377ms) +2026-09-27T05:33:42.9964906Z ✔ legacy npm restart preserves staged deployment authority during safe recovery (76.672333ms) +2026-09-27T05:33:42.9966147Z ✔ legacy npm restart preserves staged deployment authority during identity_changed recovery (28.33109ms) +2026-09-27T05:33:42.9967325Z ✔ local CLI cold-starts through the installed Node operator (7829.531034ms) +2026-09-27T05:33:42.9968386Z ✔ local CLI cold-starts through the installed legacy operator (7995.679066ms) +2026-09-27T05:33:42.9969545Z ✔ retires only the exact ephemeral Host through the source package client (1.59375ms) +2026-09-27T05:33:42.9970635Z ✔ preserves active work unless the parent explicitly selected interruption (0.353834ms) +2026-09-27T05:33:42.9971698Z ✔ fails closed when the observed Host changes before retirement (11.701764ms) +2026-09-27T05:33:42.9972617Z ✔ keeps service Hosts under operator authority (0.363862ms) +2026-09-27T05:33:42.9973659Z ✔ does not misclassify an unavailable source Host as operator-owned (0.421163ms) +2026-09-27T05:33:42.9975160Z ✔ a parent deadline terminates and waits for a target activator with a hung settlement (3069.185092ms) +2026-09-27T05:33:42.9976940Z ✔ managed source handoff preserves connection/work admission before refuse_active_work (3746.472324ms) +2026-09-27T05:33:42.9978541Z ✔ managed source handoff preserves connection/work admission before interrupt_active_work (2792.154002ms) +2026-09-27T05:33:42.9979566Z ▶ createRuntimeHostOnboardingSurface +2026-09-27T05:33:42.9980520Z ✔ bounds OAuth cancel while a real reconnecting query waits for an offline Host (45.849139ms) +2026-09-27T05:33:42.9981719Z ✔ bounds OAuth close while a real reconnecting query waits for an offline Host (29.750294ms) +2026-09-27T05:33:42.9982904Z ✔ waits for the replacement OAuth capability acknowledgement before retrying start (13.35421ms) +2026-09-27T05:33:42.9984114Z ✔ survives another disconnect while publishing the replacement OAuth capability (95.484857ms) +2026-09-27T05:33:42.9985500Z ✔ retains the attempt and exact target after oauth.login.start times out (35.228409ms) +2026-09-27T05:33:42.9986613Z ✔ retains the attempt and exact target after oauth.login.query times out (23.148093ms) +2026-09-27T05:33:42.9987751Z ✔ retains the attempt and exact target after oauth.login.cancel times out (32.263494ms) +2026-09-27T05:33:42.9995400Z ✔ does not apply the OAuth request timeout to connection acquisition (63.734921ms) +2026-09-27T05:33:43.0000196Z ✔ shutdown bounds a pending connection and releases it if it arrives late (23.131679ms) +2026-09-27T05:33:43.0008317Z ✔ cancelling during capability publication never dispatches OAuth start (0.967273ms) +2026-09-27T05:33:43.0009712Z ✔ a slow connection cleanup cannot hide an authenticated result or block shutdown (32.843236ms) +2026-09-27T05:33:43.0010962Z ✔ an unconfirmed attempt cannot be resumed against a different Host root (25.760819ms) +2026-09-27T05:33:43.0012276Z ✔ reopening setup during cancellation observes the original commit instead of starting again (1.129776ms) +2026-09-27T05:33:43.0013486Z ✔ asks the Host enrollment gate before offering Codex OAuth (4.571763ms) +2026-09-27T05:33:43.0014653Z ✔ runs presentation and polling behind one OAuth login call (1.037002ms) +2026-09-27T05:33:43.0016052Z ✔ reconciles a dispatched OAuth start after its response is lost (0.61162ms) +2026-09-27T05:33:43.0017311Z ✔ retries the same OAuth start when reconciliation proves it was not admitted (9.657411ms) +2026-09-27T05:33:43.0018552Z ✔ reconciles a dispatched OAuth cancellation instead of trusting the local signal (1.782658ms) +2026-09-27T05:33:43.0019734Z ✔ retries cancellation when reconciliation still finds an active OAuth attempt (2.816188ms) +2026-09-27T05:33:43.0020841Z ✔ does not mistake a Host cancellation failure for local cancellation (0.514621ms) +2026-09-27T05:33:43.0021838Z ✔ preserves a Host slug_taken error as an OAuth failure reason (1.85582ms) +2026-09-27T05:33:43.0022783Z ✔ forwards the requested Connection identity to OAuth start (0.455209ms) +2026-09-27T05:33:43.0023822Z ✔ closing the onboarding surface cancels and settles its active OAuth attempt (0.616258ms) +2026-09-27T05:33:43.0025096Z ✔ accepts authentication when cancellation loses the Host commit race (25.695109ms) +2026-09-27T05:33:43.0061480Z ✔ preserves Host failure codes without projecting backend text (0.534412ms) +2026-09-27T05:33:43.0075780Z ✔ classifies transport exceptions without exposing their message (0.211446ms) +2026-09-27T05:33:43.0114201Z ✔ keeps the committed Connection when the follow-up catalog refresh fails (0.234406ms) +2026-09-27T05:33:43.0121881Z ✔ createRuntimeHostOnboardingSurface (488.614583ms) +2026-09-27T05:33:43.0127580Z ▶ projectRuntimeHostModelChoices +2026-09-27T05:33:43.0128535Z ✔ a retained retired connection contributes no /model choices (9.337374ms) +2026-09-27T05:33:43.0129621Z ✔ a disabled connection is also excluded, so the filter is not over-broad (0.322612ms) +2026-09-27T05:33:43.0130743Z ✔ projects the catalog display name onto each model choice (7.790249ms) +2026-09-27T05:33:43.0131677Z ✔ a model that exists only in the resolved catalog still carries its context window (0.516825ms) +2026-09-27T05:33:43.0132937Z ✔ projectRuntimeHostModelChoices (18.270172ms) +2026-09-27T05:33:43.0157496Z ▶ projectProviders +2026-09-27T05:33:43.0158798Z ✔ enabled Codex OAuth projects existing accounts and one add-account row (0.697381ms) +2026-09-27T05:33:43.0159947Z ✔ a Desktop-created relay and add-account action are both explicit (0.582958ms) +2026-09-27T05:33:43.0188403Z ✔ picking the Anthropic Messages custom entry creates an Anthropic Messages connection (3.950387ms) +2026-09-27T05:33:43.0196518Z ✔ several non-canonical connections remain independently editable (0.518247ms) +2026-09-27T05:33:43.0197716Z ✔ the create row carries the Host-derived slug suggestion for the identity step (0.495936ms) +2026-09-27T05:33:43.0198740Z ✔ a canonical connection does not hide another account (0.397823ms) +2026-09-27T05:33:43.0199504Z ✔ projectProviders (7.000988ms) +2026-09-27T05:33:43.0200447Z ✔ OpenRC provider owns one supervised Host and reconciliation loop (132.303007ms) +2026-09-27T05:33:43.0207813Z ✔ preserves genuine Session observation initialization failures (1.002005ms) +2026-09-27T05:33:43.0209247Z ✔ releases a transcript registration whose source lacks the window contract (0.392252ms) +2026-09-27T05:33:43.0210635Z ✔ returns explicit ready results for Session observation IPC (0.549049ms) +2026-09-27T05:33:43.0211759Z ▶ Runtime Host operator commands +2026-09-27T05:33:43.0212997Z ✔ parses resident Peer Mesh management without accepting invitations in argv (6.655406ms) +2026-09-27T05:33:43.0214251Z ✔ parses and emits the stable framed managed activation contract (14.664022ms) +2026-09-27T05:33:43.0215634Z ✔ parses project management and machine-readable service readiness (1.723517ms) +2026-09-27T05:33:43.0216743Z ✔ expands access presets without access administration or Host paths (4.365008ms) +2026-09-27T05:33:43.0217881Z ✔ emits bounded service identity and listener facts without credentials (0.560353ms) +2026-09-27T05:33:43.0219002Z ✔ registers a Project without preferring it unless explicitly requested (0.713695ms) +2026-09-27T05:33:43.0220022Z ✔ uses every Plugin Platform surface through the Runtime Host (3.228754ms) +2026-09-27T05:33:43.0220939Z ✔ Runtime Host operator commands (33.873419ms) +2026-09-27T05:33:43.0222082Z ✔ operator stdin EOF cancels reversible retirement, not a committed result or later recovery (13.535151ms) +2026-09-27T05:33:43.0223016Z ▶ Runtime Host profile CLI +2026-09-27T05:33:43.0223894Z ✔ parses profile management without accepting credential material on argv (4.659375ms) +2026-09-27T05:33:43.0225144Z ✔ passes the credential to the catalog without writing it to command output (2.630108ms) +2026-09-27T05:33:43.0226016Z ✔ Runtime Host profile CLI (9.814453ms) +2026-09-27T05:33:43.0227160Z ✔ prompt transcript pages on its existing subscription, preserves sparse cuts and waits for its consumer (12.889729ms) +2026-09-27T05:33:43.0228524Z ✔ explicit revision replay rereads the admission cut and ignores unrelated turns (2.937649ms) +2026-09-27T05:33:43.0229750Z ✔ ordinary reconciliation decodes each of 1024 sequential results once (418.746416ms) +2026-09-27T05:33:43.0230956Z ✔ ordinary reconciliation decodes each of 2048 sequential results once (834.33967ms) +2026-09-27T05:33:43.0232062Z ✔ coalesced advance waits for consumption before moving the lower cut (67.910846ms) +2026-09-27T05:33:43.0233194Z ✔ coalesced replay waits for consumption before moving the lower cut (4.42873ms) +2026-09-27T05:33:43.0234334Z ✔ a failed later page does not commit partially consumed progress (5.288577ms) +2026-09-27T05:33:43.0255883Z ✔ cancel and channel close release a stalled read without waiting for missing results (14.543093ms) +2026-09-27T05:33:43.0257514Z ✔ recovery across root turns rereads the old prompt below the new bootstrap cut and drops stale pages (12.01057ms) +2026-09-27T05:33:43.0258943Z ✔ prompt transcript rejects nonadvancing cursors and propagates consumer failures (1.587925ms) +2026-09-27T05:33:43.0259928Z ▶ Runtime Host maka run adapter +2026-09-27T05:33:43.0261222Z ✔ stops before context creation when CLI preflight finds a confirmed blocker (47.613506ms) +2026-09-27T05:33:43.0262404Z ✔ routes both launch roots through the selected Host profile and canonical Project (11.148142ms) +2026-09-27T05:33:43.0263768Z ✔ continues the Host-owned cwd Session without creating another identity (29.000908ms) +2026-09-27T05:33:43.0265231Z ✔ fails the public command explicitly when an ordinary Host Turn requests permission (21.114028ms) +2026-09-27T05:33:43.0298333Z ✔ returns exit code 1 when an ordinary Host Turn fails (12.427779ms) +2026-09-27T05:33:43.0302337Z ✔ returns exit code 1 when a same-step sibling succeeds after a sandbox failure (6.066639ms) +2026-09-27T05:33:43.0336758Z ✔ returns exit code 1 when a denied boundary request follows a sandbox failure (25.986928ms) +2026-09-27T05:33:43.0364819Z ✔ keeps a sandbox failure unresolved after an unrelated tool succeeds (11.038198ms) +2026-09-27T05:33:43.0383377Z ✔ keeps the boundary unresolved when a later same-named call succeeds (live) (10.93671ms) +2026-09-27T05:33:43.0438338Z ✔ keeps the boundary unresolved when a later same-named call succeeds (durable) (10.434477ms) +2026-09-27T05:33:43.0477040Z ✔ returns exit code 1 when a denied widening precedes any later tool success (6.145097ms) +2026-09-27T05:33:43.0511677Z ✔ returns exit code 1 when reconnect restores a missed sandbox failure (9.49755ms) +2026-09-27T05:33:43.0556376Z ✔ prints the transcript answer when the live stream never carried one (4.24346ms) +2026-09-27T05:33:43.0595087Z ✔ prints the answer when a durable transcript read lands after it (11.108216ms) +2026-09-27T05:33:43.0652841Z ✔ returns exit code 1 when one retry follows two sandbox failures (10.048682ms) +2026-09-27T05:33:43.0655487Z ✔ returns exit code 0 when the final Graph Turn completes (10.448071ms) +2026-09-27T05:33:43.0720069Z ✔ keeps a root Graph boundary failure unresolved even when a later same-named call succeeds (11.327999ms) +2026-09-27T05:33:43.0775831Z ✔ returns exit code 1 when a same-step Graph sibling succeeds after a sandbox failure (3.038803ms) +2026-09-27T05:33:43.0779425Z ✔ returns exit code 1 when a denied Graph boundary request follows a sandbox failure (1.574058ms) +2026-09-27T05:33:43.0839735Z ✔ returns exit code 1 when one Graph retry follows two sandbox failures (10.892912ms) +2026-09-27T05:33:43.0895826Z ✔ returns exit code 1 when the final Graph Turn fails (7.591985ms) +2026-09-27T05:33:43.0928965Z ✔ waits for Host-started graph supervisor Turns before returning (1.09467ms) +2026-09-27T05:33:43.0985900Z ✔ uses the durable Graph supervisor outcome independently of live projection (0.455043ms) +2026-09-27T05:33:43.1015633Z ✔ keeps the sandbox boundary unresolved across live and durable Turns (0.781371ms) +2026-09-27T05:33:43.1058452Z ✔ leaves sandbox failures unresolved when their provider steps are unavailable (1.025584ms) +2026-09-27T05:33:43.1083162Z ✔ keeps the boundary unresolved across interleaved successes and a later sandbox failure (0.430949ms) +2026-09-27T05:33:43.1122509Z ✔ classifies live and durable Turn cancellations as aborted (0.598025ms) +2026-09-27T05:33:43.1123619Z ✔ classifies live and durable step-cap failures equally (0.484991ms) +2026-09-27T05:33:43.1185702Z ✔ uses the latest durable terminal state for a Graph Turn (9.815483ms) +2026-09-27T05:33:43.1234855Z ✔ waits for the exact final Graph wake after an earlier wake already settled (0.69326ms) +2026-09-27T05:33:43.1265713Z ✔ releases a pending Graph durable-terminal wait when the context closes (12.594885ms) +2026-09-27T05:33:43.1271358Z ✔ does not reuse a historical Graph outcome when this execution has no successor (0.602894ms) +2026-09-27T05:33:43.1322418Z ✔ applies the requested step cap through the Host turn (12.503576ms) +2026-09-27T05:33:43.1399269Z ✔ never selects a discovered model that the Host has not enabled (0.36874ms) +2026-09-27T05:33:43.1455013Z ✔ stops both the active Host Turn and its Graph on cancellation (0.431278ms) +2026-09-27T05:33:43.1490664Z ✔ stops a Turn that starts after cancellation was requested (4.941202ms) +2026-09-27T05:33:43.1545280Z ✔ fails and stops instead of waiting for an interactive question (5.117072ms) +2026-09-27T05:33:43.1601412Z ✔ fails and stops instead of dropping an interactive form (0.544981ms) +2026-09-27T05:33:43.1655859Z ✔ stops Graph Mode when a successor waits for an interactive question (0.357006ms) +2026-09-27T05:33:43.1688931Z ✔ preserves the interaction error when Graph stop races an in-flight query (0.41801ms) +2026-09-27T05:33:43.1726217Z ✔ denies a Graph successor sandbox expansion in non-interactive mode (8.527317ms) +2026-09-27T05:33:43.1728926Z ✔ Runtime Host maka run adapter (356.616165ms) +2026-09-27T05:33:43.1729785Z ▶ managed Runtime Host selected update +2026-09-27T05:33:43.1731023Z ✔ replaces an exact observed Host even when its package is already current (47.937032ms) +2026-09-27T05:33:43.1732396Z ✔ revalidates selection inside the deployment lock before reading service state (25.512579ms) +2026-09-27T05:33:43.1826596Z ✔ parses an optional target without changing the exact-package command (1.64003ms) +2026-09-27T05:33:43.1865736Z ✔ requires exact canonical deployment authority for manual update consent (4.704313ms) +2026-09-27T05:33:43.1927365Z ✔ carries interruption authority through selection and preserves active work (4.392587ms) +2026-09-27T05:33:43.1956101Z ✔ hands one verified admitted package to the existing update transaction (9.189014ms) +2026-09-27T05:33:43.1958402Z ✔ lets the exact transaction inspect the current deployment without downloading it again (0.600365ms) +2026-09-27T05:33:43.1985743Z ✔ requires a registration-bound confirmation for manual candidates (3.475799ms) +2026-09-27T05:33:43.2017179Z ✔ managed Runtime Host selected update (101.840894ms) +2026-09-27T05:33:43.2091554Z ▶ canonical WSL update fences +2026-09-27T05:33:43.2128676Z ✔ rejects a downgrade or stale consent before staging: 1.0.0 (9.515573ms) +2026-09-27T05:33:43.2185572Z ✔ rejects a downgrade or stale consent before staging: 3.0.0 (2.131736ms) +2026-09-27T05:33:43.2249585Z ✔ rejects a downgrade or stale consent before staging: 3.0.0 (6.411744ms) +2026-09-27T05:33:43.2318807Z ✔ runs the source package under the inherited lease and preserves a refused Host (10.716501ms) +2026-09-27T05:33:43.2362509Z ✔ canonical WSL update fences (29.291288ms) +2026-09-27T05:33:43.2434747Z ▶ managed Runtime Host service +2026-09-27T05:33:43.2479391Z ✔ parses the bounded managed service command surface (13.754845ms) +2026-09-27T05:33:43.2538223Z ✔ applies Project roots as a compare-and-set transaction and restores failed changes (339.271478ms) +2026-09-27T05:33:43.2586208Z ✔ restores install config only after the candidate process is quiescent (72.990461ms) +2026-09-27T05:33:43.2648683Z ✔ migrates and restores an exact legacy systemd deployment inside configure (100.609953ms) +2026-09-27T05:33:43.2725694Z ✔ installs, reports, and cleanly uninstalls while retaining the State Root (538.955479ms) +2026-09-27T05:33:43.2788673Z ✔ refuses to remove a managed deployment through a redirected ancestor (31.344992ms) +2026-09-27T05:33:43.2859026Z ✔ isolates managed services by Client Data Root without mutating on status (139.568807ms) +2026-09-27T05:33:43.2940745Z ✔ quotes systemd arguments without exposing specifier or environment expansion (0.760087ms) +2026-09-27T05:33:43.2979779Z ✔ emits one stable machine error for an unmet service prerequisite (0.902913ms) +2026-09-27T05:33:43.3033198Z ✔ emits bounded retirement facts in framed output (37.980151ms) +2026-09-27T05:33:43.3075874Z ✔ reports active work as a blocked retirement result (4.12881ms) +2026-09-27T05:33:43.3139344Z ✔ projects requested operator capabilities without launch configuration (29.131361ms) +2026-09-27T05:33:43.3185782Z ✔ reads service logs when an interrupted install left no config (10.588631ms) +2026-09-27T05:33:43.3235777Z ✔ verifies the bound service and State Root before management mutations (74.873176ms) +2026-09-27T05:33:43.3290556Z ✔ stops partial deployment state when start or restart fails (87.065268ms) +2026-09-27T05:33:43.3314678Z ✔ retires the exact managed Host only after active work is authorized (295.653754ms) +2026-09-27T05:33:43.3355544Z ✔ fails closed without stopping a successor that won the State Root (52.512658ms) +2026-09-27T05:33:43.3356940Z ✔ restores the deployed service when the replacement never becomes ready (101.760077ms) +2026-09-27T05:33:43.3453340Z ✔ distinguishes backend replacement failure from unknown target readiness (179.825469ms) +2026-09-27T05:33:43.3516162Z ✔ updates through the current operator and preserves exact update outcomes (29.471671ms) +2026-09-27T05:33:43.3517727Z ✔ keeps synthetic E2E interactions visible through Host hydration and retires their answer (9.363184ms) +2026-09-27T05:33:43.3570645Z ✔ rejects invalid Project roots and temporary npx launch paths before deployment (34.175444ms) +2026-09-27T05:33:43.3639963Z ✔ reports an unavailable systemd manager instead of not installed (0.473658ms) +2026-09-27T05:33:43.3687081Z ✔ answers a Client Capability approval through the existing Interaction authority (1.513802ms) +2026-09-27T05:33:43.3755909Z ✔ validates and forwards Desktop form responses to the pending Host interaction (1.721415ms) +2026-09-27T05:33:43.3797965Z ✔ retries committed Branch and Revision copies with the renderer-owned identity (1.640121ms) +2026-09-27T05:33:43.3875826Z ✔ sends Side Conversation intent and metadata atomically to Runtime Host (47.438036ms) +2026-09-27T05:33:43.3950034Z ✔ returns structured Side Conversation setup failures across IPC (4.082288ms) +2026-09-27T05:33:43.4008359Z ✔ sends canonical content and uploads owned Attachment bytes through the Host (9.758846ms) +2026-09-27T05:33:43.4081148Z ✔ treats an absent systemd supervisor as already retired (7.971671ms) +2026-09-27T05:33:43.4131122Z ✔ serializes status behind an in-flight deployment (36.82015ms) +2026-09-27T05:33:43.4155748Z ✔ formats bounded, redacted readiness evidence for a failed managed Host (2.238129ms) +2026-09-27T05:33:43.4205574Z ✔ managed Runtime Host service (2227.067436ms) +2026-09-27T05:33:43.4244572Z ▶ Runtime Host Maka Session driver +2026-09-27T05:33:43.4285726Z ✔ maps authoritative Catalog activity into Session summaries (7.391774ms) +2026-09-27T05:33:43.4320608Z ✔ maps authoritative live Turn ids into Session summaries (1.167695ms) +2026-09-27T05:33:43.4321572Z ✔ queries the attached Session Todo projection without storing history (16.058142ms) +2026-09-27T05:33:43.4403987Z ✔ publishes only Todo domain invalidations and supports unsubscribe (18.683576ms) +2026-09-27T05:33:43.4460462Z ✔ keeps remote Session paths out of Client filesystem policy (1.829182ms) +2026-09-27T05:33:43.4537149Z ✔ exposes the session goal from the pushed continuity snapshot (33.448128ms) +2026-09-27T05:33:43.4549736Z ✔ controlGoal applies actions with the snapshot revision and retries conflicts (6.965145ms) +2026-09-27T05:33:43.4596637Z ✔ honors explicit Project intent before inheriting the current workspace (6.735253ms) +2026-09-27T05:33:43.4632797Z ✔ starts one user command without opening an agent turn (7.040552ms) +2026-09-27T05:33:43.4683509Z ✔ retains a terminal user-command update that arrives before its card is created (25.040342ms) +2026-09-27T05:33:43.4705873Z ✔ stops an already-running user command when the driver closes (1.075683ms) +2026-09-27T05:33:43.4890434Z ✔ stops a user command whose start races driver close (2.44319ms) +2026-09-27T05:33:43.4945887Z ✔ a rejecting user-command stop does not fail the turn interrupt (#3210) (2.79839ms) +2026-09-27T05:33:43.5016388Z ✔ stops a running user command before switching Sessions (#3210) (4.573886ms) +2026-09-27T05:33:43.5018355Z ✔ a rejecting user-command stop aborts the switch before any durable relocation commits (#3210) (9.838274ms) +2026-09-27T05:33:43.5021578Z ✔ awaits the user-command stop before clearing identity on /new (#3210) (0.784881ms) +2026-09-27T05:33:43.5022952Z ✔ a rejected user-command stop aborts /new without clearing identity (#3210 review) (3.204049ms) +2026-09-27T05:33:43.5024875Z ✔ submits a same-slug model recovery with the newly selected Connection id (4.085658ms) +2026-09-27T05:33:43.5026327Z ✔ drops a per-session Full access elevation when a fresh Session starts (#3020) (1.494257ms) +2026-09-27T05:33:43.5027814Z ✔ relocates a moved Session through Host authority before attaching (24.379193ms) +2026-09-27T05:33:43.5029024Z ✔ does not relocate an externally isolated Session during resume (0.61743ms) +2026-09-27T05:33:43.5030306Z ✔ atomically joins an active turn without losing output produced during transcript load (9.294892ms) +2026-09-27T05:33:43.5031599Z ✔ delivers completed thinking while a later step remains active (5.672514ms) +2026-09-27T05:33:43.5032901Z ✔ restarts initial hydration when the first connection closes during transcript load (1.817906ms) +2026-09-27T05:33:43.5034097Z ✔ drains the active cut when its turn completes during transcript load (5.711353ms) +2026-09-27T05:33:43.5090447Z ✔ reattaches atomically when another client starts the successor turn (12.072885ms) +2026-09-27T05:33:43.5138671Z ✔ hides the copied parent transcript when a Host starts the side successor turn (11.541142ms) +2026-09-27T05:33:43.5217672Z ✔ adopts a successor that finishes before its atomic reattach completes (4.739834ms) +2026-09-27T05:33:43.5277252Z ✔ serializes buffered successor reattach so transcript completion cannot reverse turn order (8.026045ms) +2026-09-27T05:33:43.5313187Z ✔ a retired intermediate channel cannot republish its buffered successor (8.767381ms) +2026-09-27T05:33:43.5360974Z ✔ an explicit Session switch fences an older successor reattach already loading (9.578791ms) +2026-09-27T05:33:43.5425195Z ✔ a stale reattach cannot overwrite configuration adopted by an explicit switch (8.827076ms) +2026-09-27T05:33:43.5476807Z ✔ a stale generation cannot block successor reattach after an explicit switch (5.46564ms) +2026-09-27T05:33:43.5530644Z ✔ routes queue and retract mutations through Host authority (2.334186ms) +2026-09-27T05:33:43.5551249Z ✔ submits an idle message under the caller-owned stable identity (5.769026ms) +2026-09-27T05:33:43.5589500Z ✔ admits concurrent first messages into one Session in submission order (0.899493ms) +2026-09-27T05:33:43.5615565Z ✔ keeps a configuration change from crossing a pending admission (4.548533ms) +2026-09-27T05:33:43.5664994Z ✔ keeps an unknown message admission available for transcript reconciliation (6.668284ms) +2026-09-27T05:33:43.5692394Z ✔ keeps a dispatched interrupted admission available for transcript reconciliation (0.951514ms) +2026-09-27T05:33:43.5693778Z ✔ projects the acknowledgement that releases a question answered through the Host (7.764219ms) +2026-09-27T05:33:43.5695253Z ✔ answers and releases a Host-owned form through the generic Interaction operation (8.70755ms) +2026-09-27T05:33:43.5696448Z ✔ publishes a pending permission that has no transcript event (2.559813ms) +2026-09-27T05:33:43.5697396Z ✔ keeps Host-triggered prompts out of rewind (3.103658ms) +2026-09-27T05:33:43.5698450Z ✔ fails rewind closed when the selected turn carries structured content (12.155641ms) +2026-09-27T05:33:43.5699619Z ✔ opens a hidden side copy at the latest completed Turn and removes it on close (473.857906ms) +2026-09-27T05:33:43.5700940Z ✔ opens an empty side copy when the parent has no completed Turn yet (335.052444ms) +2026-09-27T05:33:43.5702068Z ✔ observes actionable and terminal parent status from the Host projection (12.851596ms) +2026-09-27T05:33:43.5703154Z ✔ clears parent status when observer recovery is exhausted (1794.852426ms) +2026-09-27T05:33:43.5704159Z ✔ reopens a failed Session channel before starting the next turn (4.624183ms) +2026-09-27T05:33:43.5705435Z ✔ starts explicit Skills through the Host command and preserves its typed feedback (2.469177ms) +2026-09-27T05:33:43.5706507Z ✔ retires a pending question when another client answers it (1.838829ms) +2026-09-27T05:33:43.5707596Z ✔ reconciles the durable transcript after a turn reaches its terminal boundary (7.849426ms) +2026-09-27T05:33:43.5708993Z ✔ publishes only the newest live tool-result transcript refresh (5.007415ms) +2026-09-27T05:33:43.5709922Z ✔ does not publish an older tool-result transcript after the terminal transcript (7.673033ms) +2026-09-27T05:33:43.5710952Z ✔ does not publish an older tool-result transcript after reconnect recovery (5.74812ms) +2026-09-27T05:33:43.5711870Z ✔ resnapshots an active Session after reconnect and continues its live stream (7.003744ms) +2026-09-27T05:33:43.5712965Z ✔ recovers the complete terminal answer when a Turn finishes during reconnect (1.656738ms) +2026-09-27T05:33:43.5717807Z ✔ settles an attached Turn before publishing its reconnect-gap successor (5.813869ms) +2026-09-27T05:33:43.5718986Z ✔ Runtime Host Maka Session driver (3015.004842ms) +2026-09-27T05:33:43.5721902Z ▶ turn consumer lag recovery (#3180) +2026-09-27T05:33:43.5722857Z ✔ resubscribes instead of failing when a turn event consumer falls behind (126.107039ms) +2026-09-27T05:33:43.5723963Z ✔ lands terminal events while shedding deltas from a lagging consumer (163.733061ms) +2026-09-27T05:33:43.5725245Z ✔ admits a terminal outcome when the lagged backlog holds no deltas (120.21467ms) +2026-09-27T05:33:43.5726441Z ✔ admits assistant completion before the terminal outcome over a non-delta backlog (152.788243ms) +2026-09-27T05:33:43.5727600Z ✔ drops the entire pre-resync tool backlog at the canonical cut (60.529568ms) +2026-09-27T05:33:43.5728614Z ✔ admits a tool result when the lagged backlog holds no deltas (163.225165ms) +2026-09-27T05:33:43.5729696Z ✔ sheds lagged tool output deltas so the tool result and terminal outcome land (109.226475ms) +2026-09-27T05:33:43.5730804Z ✔ resubscribes when the live stream ends without a terminal close (7.870591ms) +2026-09-27T05:33:43.5731999Z ✔ recovers from a slow-consumer closure the Host held until hydration declared readiness (8.998983ms) +2026-09-27T05:33:43.5733189Z ✔ backs off several immediate clean-EOF replacements before recovering (182.853015ms) +2026-09-27T05:33:43.5734671Z ✔ preserves an unconsumed terminal event across a replacement with the same terminal turn (2.613533ms) +2026-09-27T05:33:43.5736168Z ✔ preserves an unconsumed terminal event across a replacement with a successor turn (2.503118ms) +2026-09-27T05:33:43.5737473Z ✔ exhausts recovery after repeated one-frame clean-EOF replacements (1794.434707ms) +2026-09-27T05:33:43.5738735Z ✔ does not reset recovery after a silent replacement outlives the stability window (2901.76256ms) +2026-09-27T05:33:43.5739882Z ✔ re-arms lag detection exactly at the hysteresis watermark (285.041964ms) +2026-09-27T05:33:43.5740940Z ✔ recovers again when the consumer lags again after making progress (225.505958ms) +2026-09-27T05:33:43.5741911Z ✔ turn consumer lag recovery (#3180) (6309.278624ms) +2026-09-27T05:33:43.5742841Z ✔ reads the latest Session and returns the committed update (8.443424ms) +2026-09-27T05:33:43.5743934Z ✔ rereads after a revision conflict and stops after three attempts (6.049685ms) +2026-09-27T05:33:43.5814153Z ✔ reports missing and unsupported Session projections without caller-specific errors (3.078744ms) +2026-09-27T05:33:43.5832551Z ✔ checks caller lifecycle before every read and update (6.939143ms) +2026-09-27T05:33:43.5876014Z ✔ on-demand setup installs one exact deployment without a service backend (790.353844ms) +2026-09-27T05:33:43.5933410Z ✔ fresh supervised setup discovers its provider before constructing a legacy backend (91.768486ms) +2026-09-27T05:33:43.5985556Z ✔ managed setup frames reject malformed machine output (3.544273ms) +2026-09-27T05:33:43.6000325Z ✔ persisted OpenRC providers resolve without reselecting the platform default (1.567023ms) +2026-09-27T05:33:43.6001942Z ✔ registry package identity avoids local content and recovers an interrupted removal (532.612296ms) +2026-09-27T05:33:43.6003289Z ✔ managed operator binds its Client Data Root and routes deployment cleanup (1538.158448ms) +2026-09-27T05:33:43.6004693Z ✔ managed Windows task launcher is projected to a stable deployment path (148.980333ms) +2026-09-27T05:33:43.6005584Z ▶ Runtime Host TUI workspace selection +2026-09-27T05:33:43.6006733Z ✔ requires an existing Host Project for a new Host-workspace Session (1.815051ms) +2026-09-27T05:33:43.6007787Z ✔ canonicalizes a Host Project alias without reading a Client path (2.472686ms) +2026-09-27T05:33:43.6008545Z ✔ Runtime Host TUI workspace selection (5.89617ms) +2026-09-27T05:33:43.6009157Z ▶ Runtime Host external Session surface +2026-09-27T05:33:43.6009914Z ✔ owns both available scopes and current-workspace request projection (0.633675ms) +2026-09-27T05:33:43.6010816Z ✔ Runtime Host external Session surface (0.843668ms) +2026-09-27T05:33:43.6011928Z ✔ managed on-demand authority defeats a matching old CLI owner for every TUI mutation (4.163601ms) +2026-09-27T05:33:43.6017475Z ✔ managed authority appearing inside the TUI action lease fences stop and restart (5.135876ms) +2026-09-27T05:33:43.6070671Z ✔ managed authority appearing after TUI update preflight prevents coordinator delegation (0.56778ms) +2026-09-27T05:33:43.6088498Z ✔ owner status remains readable for a compatible attached Host without granting mutation rights (48.774368ms) +2026-09-27T05:33:43.6145725Z ✔ Host status, owner refusals, and busy confirmation follow the TUI locale (11.156968ms) +2026-09-27T05:33:43.6211663Z ✔ remote attachment and foreign installation owner cannot mint owner actions (3.548005ms) +2026-09-27T05:33:43.6270074Z ✔ preflight is read-only and stop retains the durable owner instead of launching a replacement (1.0212ms) +2026-09-27T05:33:43.6333770Z ✔ same-artifact restart reuses selected package and existing durable owner (0.475249ms) +2026-09-27T05:33:43.6407232Z ✔ changed owner or Host epoch invalidates the pending action before retirement (0.66655ms) +2026-09-27T05:33:43.6448847Z ✔ busy work requires confirmation and changed activity invalidates interruption consent (8.297618ms) +2026-09-27T05:33:43.6525895Z ✔ update delegates to the existing safe installed-update coordinator (0.487556ms) +2026-09-27T05:33:43.6583551Z ▶ managed Runtime Host update discovery +2026-09-27T05:33:43.6664056Z ✔ accepts only channels or canonical exact versions (9.88247ms) +2026-09-27T05:33:43.6717151Z ✔ pins registry metadata to an exact version and integrity (1.509385ms) +2026-09-27T05:33:43.6752732Z ✔ admits only exact current or compatible target identities (1.067186ms) +2026-09-27T05:33:43.6786933Z ✔ rejects malformed or contradictory machine evidence (59.882408ms) +2026-09-27T05:33:43.6850044Z ✔ managed Runtime Host update discovery (74.25307ms) +2026-09-27T05:33:43.6879589Z ▶ managed Runtime Host update package acquisition +2026-09-27T05:33:43.6941059Z ✔ keeps the verified archive available for an installation-owner finalizer (43.008778ms) +2026-09-27T05:33:43.6997974Z ✔ revalidates an archive before a coordinator can consume it (7.636175ms) +2026-09-27T05:33:43.7041781Z ✔ binds the official archive to its extracted release evidence (26.708442ms) +2026-09-27T05:33:43.7109223Z ✔ rejects archive or manifest evidence that differs from discovery (19.963303ms) +2026-09-27T05:33:43.7182237Z ✔ rejects a small verified archive whose headers claim excessive expansion (19.09638ms) +2026-09-27T05:33:43.7260485Z ✔ accepts entries whose payload spans multiple gunzip chunks (33.094233ms) +2026-09-27T05:33:43.7300423Z ✔ fails closed for tar extensions that can reinterpret a raw header size (24.804301ms) +2026-09-27T05:33:43.7359094Z ✔ requires two consecutive zero blocks to terminate a tar stream (2.695982ms) +2026-09-27T05:33:43.7426959Z ✔ rejects archives that are not readable gzip tarballs (6.571864ms) +2026-09-27T05:33:43.7529226Z ✔ managed Runtime Host update package acquisition (186.262876ms) +2026-09-27T05:33:43.7589917Z ✔ uploads a selected workspace file as a Host-owned Session Artifact (21.452439ms) +2026-09-27T05:33:43.7645660Z ✔ forwards explicit Skill invocation to the Host-owned Turn admission (0.909102ms) +2026-09-27T05:33:43.7756239Z ✔ submits an ordinary composer message once under its stable message identity (0.695653ms) +2026-09-27T05:33:43.7780738Z ✔ returns Host-owned cancellation proof to the renderer (5.009457ms) +2026-09-27T05:33:43.7835800Z ✔ batches cancellation proof queries at the Runtime Host protocol boundary (0.410997ms) +2026-09-27T05:33:43.7879962Z ✔ rejects duplicate cancellation proof identities across protocol batches (0.353678ms) +2026-09-27T05:33:43.7945763Z ✔ rejects invalid or unbounded Desktop cancellation proof queries before dispatch (0.947252ms) +2026-09-27T05:33:43.8003048Z ✔ rejects duplicate cancellation proofs returned across protocol batches (0.300779ms) +2026-09-27T05:33:43.8028943Z ✔ returns Host-owned Message execution resolutions to the renderer (5.408557ms) +2026-09-27T05:33:43.8085104Z ✔ batches Message execution queries at the Runtime Host protocol boundary (0.537039ms) +2026-09-27T05:33:43.8137026Z ✔ rejects duplicate Message execution identities before protocol batching (10.533719ms) +2026-09-27T05:33:43.8169692Z ✔ rejects invalid or unbounded Desktop Message execution queries before dispatch (0.830346ms) +2026-09-27T05:33:43.8233494Z ✔ submits a slash Skill message and reports the Host Skill outcome (2.210821ms) +2026-09-27T05:33:43.8273362Z ✔ queues a mid-turn send as steering when the Host reports the session busy (0.68637ms) +2026-09-27T05:33:43.8305863Z ✔ resolves a twice-interrupted send as an unknown outcome (0.424517ms) +2026-09-27T05:33:43.8334971Z ✔ retries a dispatched send with its original message identity (3.039497ms) +2026-09-27T05:33:43.8405682Z ✔ answers a send with the Turn the Host started for it (0.408731ms) +2026-09-27T05:33:43.8452872Z ✔ propagates a busy explicit Skill send instead of degrading it to steering (0.423031ms) +2026-09-27T05:33:43.8491291Z ✔ lets the Host queue a textual Skill token as steering (0.286462ms) +2026-09-27T05:33:43.8504982Z ✔ reports a Host-blocked Skill send as a Skill failure (0.271498ms) +2026-09-27T05:33:43.8566810Z ✔ queues explicit Desktop follow-ups (0.662841ms) +2026-09-27T05:33:43.8625888Z ✔ keeps an unknown Desktop follow-up admission available for reconciliation (0.468652ms) +2026-09-27T05:33:43.8665609Z ✔ routes per-entry queue mutations to the Runtime Host (3.999721ms) +2026-09-27T05:33:43.8695768Z ✔ binds steer and stop to Host-owned queue and active Turn identities (7.288851ms) +2026-09-27T05:33:43.8708798Z ✔ does not let an admitted Stop interrupt a replacement Turn (4.722767ms) +2026-09-27T05:33:43.8745739Z ✔ returns the attachment_blocked envelope when an approved source has expired (0.472261ms) +2026-09-27T05:33:43.8807560Z ✔ Session snapshot IPC keeps committed text despite a lagging active marker (8.072419ms) +2026-09-27T05:33:43.8866377Z ✔ Session snapshot IPC rejects invalid budgets and unavailable sources before opening (0.61634ms) +2026-09-27T05:33:43.8894221Z ✔ steers WorkHub through Host admission even though the ordinary Session catalog omits it (2.467346ms) +2026-09-27T05:33:43.8922861Z ✔ renderer reload releases old observations without accumulating destroyed listeners (1.644046ms) +2026-09-27T05:33:43.8948253Z ✔ an observation admitted across document replacement is cancelled before registration (2.666863ms) +2026-09-27T05:33:43.8993860Z ✔ late transcript acknowledgement after renderer teardown is a no-op (0.374492ms) +2026-09-27T05:33:43.9025833Z ✔ prompt suggestion IPC forwards only a validated Session and does not reconnect/retry paid effects (0.31069ms) +2026-09-27T05:33:43.9055354Z ▶ managed Runtime Host update reconciliation +2026-09-27T05:33:43.9115442Z ✔ parses the coordinator-supervised installed-update activator contract (8.338057ms) +2026-09-27T05:33:43.9135634Z ✔ parses the exact source-package retirement helper contract (0.408949ms) +2026-09-27T05:33:43.9165214Z ✔ parses update policy and reconciliation commands against an optional expected target (5.030259ms) +2026-09-27T05:33:43.9174027Z ✔ persists an automatic policy against the canonical managed target and removes manual state (103.421221ms) +2026-09-27T05:33:43.9175846Z ✔ fences policy reads and reports a drifted update scheduler (6.315718ms) +2026-09-27T05:33:43.9177301Z ✔ distinguishes an uncertain policy commit and makes an absent-policy retry durable (19.175044ms) +2026-09-27T05:33:43.9178661Z ✔ resolves one policy snapshot and delegates an admitted exact target to the update transaction (21.294893ms) +2026-09-27T05:33:43.9253017Z ✔ revokes a stale reconcile when automatic policy changes to manual (24.289119ms) +2026-09-27T05:33:43.9277400Z ✔ fails closed on corrupt policy and returns manual-action candidates without mutation (22.725247ms) +2026-09-27T05:33:43.9306331Z ✔ managed Runtime Host update reconciliation (218.586516ms) +2026-09-27T05:33:43.9364855Z ✔ expands home-relative move paths with platform separators (9.621105ms) +2026-09-27T05:33:43.9409374Z ▶ detectColorLevelFromEnv +2026-09-27T05:33:43.9447334Z ✔ uses the terminal capability when TERM is unset — native Windows shells (3.237838ms) +2026-09-27T05:33:43.9493725Z ✔ honours an explicit COLORTERM even when TERM is unset (0.225105ms) +2026-09-27T05:33:43.9509672Z ✔ NO_COLOR and TERM=dumb still win over any capability (0.279345ms) +2026-09-27T05:33:43.9554779Z ✔ maps the reported depth onto the three color levels (1.252617ms) +2026-09-27T05:33:43.9623885Z ✔ falls back to the TERM ladder when there is no terminal to ask (0.356379ms) +2026-09-27T05:33:43.9751198Z ✔ detectColorLevelFromEnv (14.647071ms) +2026-09-27T05:33:43.9853125Z ✔ an overlay hides the composer cursor and preserves its draft and border colors (34.36526ms) +2026-09-27T05:33:43.9881104Z ▶ fitAutocompleteLines +2026-09-27T05:33:43.9909368Z ✔ keeps the selected item visible and reports the full command count (5.264016ms) +2026-09-27T05:33:43.9998177Z ✔ moves the fitted window with a selection near the end (0.790856ms) +2026-09-27T05:33:44.0029797Z ✔ preserves an upstream picker position when fitting an already-windowed list (0.323854ms) +2026-09-27T05:33:44.0062136Z ✔ uses the selected row when only one autocomplete row fits (0.213797ms) +2026-09-27T05:33:44.0082531Z ✔ fitAutocompleteLines (7.509631ms) +2026-09-27T05:33:44.0122107Z ▶ fitPendingQueueLines +2026-09-27T05:33:44.0132316Z ✔ summarizes overflow after preserving the visible pending rows (0.868911ms) +2026-09-27T05:33:44.0133210Z ✔ uses the only available row as an overflow summary (0.297631ms) +2026-09-27T05:33:44.0133842Z ✔ fitPendingQueueLines (1.735335ms) +2026-09-27T05:33:44.0258452Z ▶ osc52ClipboardSequence +2026-09-27T05:33:44.0285356Z ✔ wraps base64-encoded UTF-8 in the OSC 52 clipboard sequence (4.053888ms) +2026-09-27T05:33:44.0315395Z ✔ encodes an empty string as an empty payload (8.388175ms) +2026-09-27T05:33:44.0388394Z ✔ emits a bare sequence with no tmux DCS passthrough wrapper (0.921704ms) +2026-09-27T05:33:44.0489640Z ✔ osc52ClipboardSequence (15.762938ms) +2026-09-27T05:33:44.0568577Z ▶ copyToClipboard +2026-09-27T05:33:44.0635675Z ✔ writes the OSC 52 sequence to the terminal and reports the byte count (1.541636ms) +2026-09-27T05:33:44.0775938Z ✔ accepts a payload exactly at the byte limit (0.32882ms) +2026-09-27T05:33:44.0886146Z ✔ refuses an oversized payload and writes nothing (2.813746ms) +2026-09-27T05:33:44.0963802Z ✔ measures the limit in UTF-8 bytes, not JS string length (0.344277ms) +2026-09-27T05:33:44.0978133Z ✔ copyToClipboard (9.407006ms) +2026-09-27T05:33:44.1025442Z ▶ isCtxRefreshRelevantEvent +2026-09-27T05:33:44.1085657Z ✔ matches the desktop inspector trace-relevant set (1.375965ms) +2026-09-27T05:33:44.1115421Z ✔ streaming deltas never schedule a query (0.248251ms) +2026-09-27T05:33:44.1116135Z ✔ isCtxRefreshRelevantEvent (3.206014ms) +2026-09-27T05:33:44.1175504Z ▶ createCtxRefresher +2026-09-27T05:33:44.1217737Z ✔ a relevant event runs one query after the debounce delay (3.981035ms) +2026-09-27T05:33:44.1316965Z ✔ a burst of events coalesces into one query, at the last event (0.340255ms) +2026-09-27T05:33:44.1378422Z ✔ only the latest issued query may apply (0.356656ms) +2026-09-27T05:33:44.1379649Z ✔ a newer relevant event retires an in-flight query before the replacement runs (11.514886ms) +2026-09-27T05:33:44.1429518Z ✔ a failed query leaves the last value standing and later events still refresh (0.497151ms) +2026-09-27T05:33:44.1491350Z ✔ cancel drops a scheduled query and retires an in-flight one (0.373595ms) +2026-09-27T05:33:44.1545536Z ✔ irrelevant events never schedule a query (1.55215ms) +2026-09-27T05:33:44.1559207Z ✔ the default timeout scheduler fires and cancels for real (30.186026ms) +2026-09-27T05:33:44.1605370Z ✔ createCtxRefresher (51.770914ms) +2026-09-27T05:33:44.1655398Z ▶ TUI copy resources +2026-09-27T05:33:44.1717940Z ✔ registers every domain without a locale-specific getter branch (2.104113ms) +2026-09-27T05:33:44.1755674Z ✔ keeps translated coverage, variables, and ICU formatting aligned with English (48.596237ms) +2026-09-27T05:33:44.1811540Z ✔ keeps model picker copy locale-specific (0.344675ms) +2026-09-27T05:33:44.1855799Z ✔ describes /setup as provider onboarding in every locale (0.482612ms) +2026-09-27T05:33:44.1897071Z ✔ formats the English MCP count with ICU plural rules (0.386426ms) +2026-09-27T05:33:44.1920404Z ✔ localizes rewind and skill notices in both locales (0.212041ms) +2026-09-27T05:33:44.1991616Z ✔ localizes current Todo indicator and overlay copy (3.264928ms) +2026-09-27T05:33:44.2045702Z ✔ localizes stable onboarding failure codes at the TUI boundary (0.333693ms) +2026-09-27T05:33:44.2105016Z ✔ TUI copy resources (58.288745ms) +2026-09-27T05:33:44.2135359Z ▶ lastAssistantText +2026-09-27T05:33:44.2180387Z ✔ returns the text of the most recent assistant entry (0.969585ms) +2026-09-27T05:33:44.2235319Z ✔ ignores trailing non-assistant entries (0.215642ms) +2026-09-27T05:33:44.2275622Z ✔ returns undefined when there is no assistant entry (0.151904ms) +2026-09-27T05:33:44.2345669Z ✔ skips an empty trailing assistant entry and returns the earlier reply (0.14909ms) +2026-09-27T05:33:44.2368012Z ✔ lastAssistantText (4.713289ms) +2026-09-27T05:33:44.2411645Z ▶ serializeTranscriptText +2026-09-27T05:33:44.2469337Z ✔ serializes user and assistant turns in order with role labels (0.423672ms) +2026-09-27T05:33:44.2539328Z ✔ collapses consecutive assistant steps under one label and drops empty ones (0.449176ms) +2026-09-27T05:33:44.2568655Z ✔ keeps two adjacent user turns in separate blocks (0.213063ms) +2026-09-27T05:33:44.2632508Z ✔ a text-less assistant entry between two user turns does not join them (0.190557ms) +2026-09-27T05:33:44.2675772Z ✔ labels goal_continuation and legacy_automation by provenance, not as the user (0.243629ms) +2026-09-27T05:33:44.2756578Z ✔ returns an empty string when there are no conversation turns (0.236513ms) +2026-09-27T05:33:44.2846552Z ✔ serializeTranscriptText (3.300221ms) +2026-09-27T05:33:44.2905249Z ▶ getTuiCopyCopy +2026-09-27T05:33:44.2925590Z ✔ resolves localized copy for each locale (0.317853ms) +2026-09-27T05:33:44.2967135Z ✔ getTuiCopyCopy (0.487748ms) +2026-09-27T05:33:44.4215632Z ✔ large streaming imports preserve deduplication and compaction boundaries (2482.529708ms) +2026-09-27T05:33:44.4498751Z ✔ a text query filters the source, before paging (23.285252ms) +2026-09-27T05:33:44.4636105Z ✔ reads only enough ordered transcript summaries to fill each catalog page (18.520284ms) +2026-09-27T05:33:44.4856835Z ✔ a rewritten transcript is re-read, a deleted one drops out (16.810938ms) +2026-09-27T05:33:44.4902636Z ✔ a project query tolerates a trailing separator (10.593991ms) +2026-09-27T05:33:44.5045033Z ✔ a project query matches the record cwd, not the mangled directory name (13.094906ms) +2026-09-27T05:33:44.5129875Z ✔ every emitted message survives the canonical decoder (11.228594ms) +2026-09-27T05:33:44.5276981Z ✔ a corrupt line does not fail an otherwise readable transcript (7.700009ms) +2026-09-27T05:33:44.5305657Z ✔ is registered by the internal default registry (0.640486ms) +2026-09-27T05:33:44.5356348Z ✔ ClaudeCodeSessionAdapter (9405.26685ms) +2026-09-27T05:33:44.5916879Z ▶ resolveTranscriptLineage +2026-09-27T05:33:44.6046166Z ✔ a withdrawn prompt and its answer are dropped, the edit kept (9.980401ms) +2026-09-27T05:33:44.6106352Z ✔ the whole withdrawn subtree goes, not just its head (0.480714ms) +2026-09-27T05:33:44.6162747Z ✔ three siblings leave only the last (0.314962ms) +2026-09-27T05:33:44.6245649Z ✔ an ordinary tool fork survives whole (9.393493ms) +2026-09-27T05:33:44.6281255Z ✔ two tool results under one parent are both kept (0.352441ms) +2026-09-27T05:33:44.6335509Z ✔ an assistant fork with no prompt in it is left alone (0.257845ms) +2026-09-27T05:33:44.6405632Z ✔ a tool result is not a prompt (0.20163ms) +2026-09-27T05:33:44.6455826Z ✔ both sides of a compaction boundary survive (1.724546ms) +2026-09-27T05:33:44.6536650Z ✔ a boundary's logicalParentUuid is not followed as a parent (2.740629ms) +2026-09-27T05:33:44.6635915Z ✔ a rewind before a compaction boundary does not disturb what follows (0.455062ms) +2026-09-27T05:33:44.6656567Z ✔ a repeated uuid is kept once (1.766659ms) +2026-09-27T05:33:44.6734284Z ✔ a record the graph cannot place is kept (0.219267ms) +2026-09-27T05:33:44.6834829Z ✔ a sidechain record is passed through untouched (4.339476ms) +2026-09-27T05:33:44.6867853Z ✔ a parent cycle terminates instead of hanging the import (0.195839ms) +2026-09-27T05:33:44.6975246Z ✔ an empty transcript resolves to nothing rather than throwing (0.190563ms) +2026-09-27T05:33:44.7040551Z ✔ resolveTranscriptLineage (58.961825ms) +2026-09-27T05:33:44.7137242Z ✔ persists Client Capability grants for one Session and purges them with it (535.643408ms) +2026-09-27T05:33:44.7203911Z ▶ CodexSessionAdapter +2026-09-27T05:33:44.7294380Z ✔ lists active and archived root Sessions from the newest Codex state database (91.939692ms) +2026-09-27T05:33:44.7460331Z ✔ orders mixed Codex second and millisecond timestamps before paging (25.421703ms) +2026-09-27T05:33:44.7529091Z ✔ lists every supported Codex thread source (#3693) (45.585377ms) +2026-09-27T05:33:44.7562410Z ✔ a Windows path spelling reaches the matcher instead of being lost in SQL (63.532823ms) +2026-09-27T05:33:44.7575996Z ✔ converts Codex presentation events and raw tool items without duplicates (71.2692ms) +2026-09-27T05:33:44.7619262Z ✔ converts Codex Desktop completed items without importing response mirrors (40.633012ms) +2026-09-27T05:33:44.7665741Z ✔ imports terminal errors as failed without failing turns on non-terminal errors (24.39412ms) +2026-09-27T05:33:44.7708564Z ✔ preserves a terminal row that closes an older interleaved turn (14.166751ms) +2026-09-27T05:33:44.7711090Z ✔ filesystem fallback excludes internal subagent rollouts (14.62604ms) +2026-09-27T05:33:44.7755701Z ✔ filesystem fallback pages globally by rollout mtime across active and archived roots (92.95565ms) +2026-09-27T05:33:44.7792209Z ✔ filesystem fallback fails with a typed limit instead of scanning an unbounded catalog (20.250857ms) +2026-09-27T05:33:44.7815878Z ✔ filesystem keyset paging never repeats a row moved ahead of the cursor (146.167976ms) +2026-09-27T05:33:44.7825686Z ✔ filesystem keyset paging uses one digest order across equal-mtime pages (29.256153ms) +2026-09-27T05:33:44.7855632Z ✔ filesystem cursor stays wire-bounded for deeply nested rollout paths (56.582895ms) +2026-09-27T05:33:44.7879827Z ✔ database keyset paging stays on the state generation that issued the cursor (65.553036ms) +2026-09-27T05:33:44.7886762Z ✔ database continuation surfaces source read failures without invalidating the cursor (54.880971ms) +2026-09-27T05:33:44.7910328Z ✔ an unreadable newest generation falls through to the rollout scan (38.77908ms) +2026-09-27T05:33:44.7959820Z ✔ an unreadable older generation leaves the newest one in charge (18.14436ms) +2026-09-27T05:33:44.7965629Z ✔ a text-shaped ordering value cannot strand the rest of the catalog (62.052206ms) +2026-09-27T05:33:44.7995690Z ✔ rejects corrupt interior records, tolerates a torn tail, and bounds scanned bytes (59.832311ms) +2026-09-27T05:33:44.8015935Z ✔ parses a UTF-8 JSONL record split across read buffers (50.072516ms) +2026-09-27T05:33:44.8035586Z ✔ rejects a short read before the fixed rollout snapshot is complete (79.133744ms) +2026-09-27T05:33:44.8046218Z ✔ does not follow records appended after the rollout snapshot is opened (19.03426ms) +2026-09-27T05:33:44.8101864Z ✔ rejects an oversized JSONL record without buffering the complete rollout (12.99279ms) +2026-09-27T05:33:44.8104260Z ✔ rejects converted histories that exceed message count or byte budgets (27.06685ms) +2026-09-27T05:33:44.8105493Z ✔ streams valid rollouts larger than the legacy 64 MiB whole-file limit (1243.454761ms) +2026-09-27T05:33:44.8108361Z ✔ never follows a state database rollout path outside CODEX_HOME (37.270305ms) +2026-09-27T05:33:44.8110185Z ✔ is registered by the internal default registry (4.08507ms) +2026-09-27T05:33:44.8110872Z ✔ CodexSessionAdapter (2514.025446ms) +2026-09-27T05:33:44.8111353Z ▶ config-transfer +2026-09-27T05:33:44.8111988Z ✔ records only the selected categories in includedData and round-trips (3.474834ms) +2026-09-27T05:33:44.8112904Z ✔ carries credentials only when the user opted into that category (0.388997ms) +2026-09-27T05:33:44.8114188Z ✔ drops a credentials payload that is not declared in includedData (0.364665ms) +2026-09-27T05:33:44.8115309Z ✔ fails closed on an unknown schema version (0.369275ms) +2026-09-27T05:33:44.8116025Z ✔ rejects non-JSON and malformed payloads (0.340954ms) +2026-09-27T05:33:44.8148375Z ✔ plans connection merges with skip vs overwrite conflict strategies (0.853916ms) +2026-09-27T05:33:44.8165546Z ✔ skips overwriting a custom connection whose default protocol differs (0.467657ms) +2026-09-27T05:33:44.8185497Z ✔ skips a connection whose provider type no longer exists (0.340654ms) +2026-09-27T05:33:44.8225421Z ✔ de-dupes repeated slugs within the imported set (2.943346ms) +2026-09-27T05:33:44.8257183Z ✔ config-transfer (12.555651ms) +2026-09-27T05:33:44.9106555Z ✔ TUI MCP startup stays backgrounded and publishes the discovered snapshot (21.339563ms) +2026-09-27T05:33:44.9238501Z ✔ TUI MCP serializes remote provider credential changes through its publication lane (6.109737ms) +2026-09-27T05:33:44.9326285Z ✔ TUI MCP publication coalesces a discovery change behind the in-flight revision (13.591084ms) +2026-09-27T05:33:44.9502030Z ✔ TUI MCP invalidates a lost generation and republishes on its replacement (20.53693ms) +2026-09-27T05:33:44.9671022Z ✔ TUI MCP unregisters the current generation when discovery removes every tool (13.057475ms) +2026-09-27T05:33:44.9712961Z ✔ TUI MCP fails closed when its saved config cannot be read (6.006927ms) +2026-09-27T05:33:44.9778025Z ✔ offline backup restores context refs and verified managed bytes into an empty root (1390.70096ms) +2026-09-27T05:33:44.9817872Z ✔ single-Session export contains only its refs and shared payload once, with no private free-page bytes (936.781765ms) +2026-09-27T05:33:44.9820194Z ✔ missing or corrupt context bytes never publish a successful backup (766.491529ms) +2026-09-27T05:33:44.9821357Z ✔ restore rejects tampering even if the manifest is recomputed (515.79829ms) +2026-09-27T05:33:44.9823469Z ✔ TUI MCP unregisters a publication that settles while close is waiting (8.711162ms) +2026-09-27T05:33:44.9916470Z ✔ TUI MCP add commits before manager synchronization and reports Host convergence (7.718556ms) +2026-09-27T05:33:45.0105332Z ✔ TUI MCP retires endpoint credentials before persistence and aborts on cleanup failure (14.984806ms) +2026-09-27T05:33:45.0153452Z ✔ TUI MCP rejects an invalid endpoint before retiring the previous credentials (7.426181ms) +2026-09-27T05:33:45.0218428Z ✔ TUI MCP edit rejects a stale revision without touching credentials or disk (7.375613ms) +2026-09-27T05:33:45.0666553Z ✔ TUI MCP import preserves unrelated external edits and rejects changed preview entries (42.836714ms) +2026-09-27T05:33:45.0836073Z ✔ TUI MCP follows a change Desktop makes to mcp.json and keeps an open import preview (18.71209ms) +2026-09-27T05:33:45.0883822Z ✔ TUI MCP follows a change Desktop makes while the TUI is still starting (7.349252ms) +2026-09-27T05:33:45.1121501Z ✔ TUI MCP recovers on the next mcp.json change after a failed start or sync (26.382455ms) +2026-09-27T05:33:45.1230701Z ✔ TUI MCP keeps a durable mutation visible when manager synchronization fails (7.828972ms) +2026-09-27T05:33:45.1886767Z ✔ TUI MCP reconciles an already-published write through execute: remove (58.213939ms) +2026-09-27T05:33:45.2200521Z ✔ TUI MCP reconciles an already-published write through execute: edit (36.203806ms) +2026-09-27T05:33:45.2696238Z ✔ TUI MCP reconciles an already-published write through execute: newer-config (47.660463ms) +2026-09-27T05:33:45.3093623Z ✔ TUI MCP reconciles an already-published write through execute: read-failure (42.67884ms) +2026-09-27T05:33:45.3448210Z ✔ TUI MCP reconciles an already-published write through execute: sync-failure (37.557766ms) +2026-09-27T05:33:45.3716342Z ✔ TUI MCP reconciles an already-published write through execute: publication-failure (24.112588ms) +2026-09-27T05:33:45.3806248Z ✔ TUI MCP does not reconcile or replay a write that fails before publication (7.606298ms) +2026-09-27T05:33:45.3926122Z ✔ TUI MCP close fences reconciliation while retaining the published write error (15.490831ms) +2026-09-27T05:33:45.3981835Z ✔ TUI MCP reports a committed action as pending while the Host is unavailable (7.11238ms) +2026-09-27T05:33:45.4130762Z ✔ TUI MCP close fences an admitted mutation before persistence (12.476181ms) +2026-09-27T05:33:45.4247966Z ✔ TUI MCP waits for manager synchronization before publishing an action snapshot (11.102609ms) +2026-09-27T05:33:45.4299063Z ✔ TUI MCP rebases an action over an unrelated concurrent config edit (7.126736ms) +2026-09-27T05:33:45.4721003Z ✔ independent TUI controllers preserve concurrent additions in one workspace (36.590618ms) +2026-09-27T05:33:45.5016406Z ✔ same-server credential retirement stays inside the shared config transaction (27.514126ms) +2026-09-27T05:33:45.5056186Z ✔ TUI MCP manages enabled state, tests, reconnects, and removes through one lane (5.44448ms) +2026-09-27T05:33:45.6826709Z ✔ a missing context database with a durable image reference fails closed (707.123913ms) +2026-09-27T05:33:45.9798466Z ✔ projects root lifecycle without fabricating content events (87.66762ms) +2026-09-27T05:33:45.9997449Z ✔ joins an active Turn without losing or replaying assistant text (21.723999ms) +2026-09-27T05:33:46.0326221Z [runtime-host-session-observer] recovering subscription { +2026-09-27T05:33:46.0402675Z sessionId: 'session-1', +2026-09-27T05:33:46.0497459Z turnId: 'turn-1', +2026-09-27T05:33:46.0497890Z runId: 'run-1', +2026-09-27T05:33:46.0547540Z reason: 'slow_consumer', +2026-09-27T05:33:46.0595524Z message: 'Runtime Host Session subscription closed for a slow consumer' +2026-09-27T05:33:46.0607638Z } +2026-09-27T05:33:46.0630846Z [runtime-host-session-observer] subscription recovered { +2026-09-27T05:33:46.0688558Z sessionId: 'session-1', +2026-09-27T05:33:46.0736238Z turnId: 'turn-1', +2026-09-27T05:33:46.0801516Z runId: 'run-1', +2026-09-27T05:33:46.0835000Z reason: 'slow_consumer', +2026-09-27T05:33:46.0857861Z message: 'Runtime Host Session subscription closed for a slow consumer' +2026-09-27T05:33:46.0895706Z } +2026-09-27T05:33:46.0926959Z ✔ restores renderer observation after the Host connection is replaced (33.684431ms) +2026-09-27T05:33:46.0965928Z ✔ rebinds a restored renderer observation to the current target scope (0.828081ms) +2026-09-27T05:33:46.1025528Z ✔ does not report an observation ready before its source has seeded (0.515561ms) +2026-09-27T05:33:46.1050510Z ✔ rejects a pending observation when its first seed fails (0.962667ms) +2026-09-27T05:33:46.1092402Z ✔ keeps an active observation across a failed Host replacement (2.584935ms) +2026-09-27T05:33:46.1135443Z ✔ restores transcript consumers across Host replacement (3.210244ms) +2026-09-27T05:33:46.1175298Z ✔ does not hold Host observation recovery on transcript replay (1.064839ms) +2026-09-27T05:33:46.1176542Z ✔ fences earlier transcript failures to the current registration and Host source (1.065517ms) +2026-09-27T05:33:46.1203380Z ✔ fences earlier transcript failures across same-source replica recovery (11.307186ms) +2026-09-27T05:33:46.1277588Z ✔ cancels a transcript consumer while its replica is still preparing (1.155108ms) +2026-09-27T05:33:46.1285634Z ✔ broadcasts durable admission and transcript changes from the same message (4.510529ms) +2026-09-27T05:33:46.1333975Z ✔ proves a removed follow-up is owned before successor content (2.393311ms) +2026-09-27T05:33:46.1357009Z ✔ proves a removed follow-up is cancelled before successor content (1.713372ms) +2026-09-27T05:33:46.1375733Z ✔ proves a removed follow-up is not_admitted before successor content (4.472617ms) +2026-09-27T05:33:46.1410081Z ✔ proves a removed follow-up is pending before successor content (3.787346ms) +2026-09-27T05:33:46.1421390Z ✔ proves a removed follow-up is unavailable before successor content (1.151963ms) +2026-09-27T05:33:46.1475715Z ✔ moves the read marker only as far as the Renderer window reports reaching (5.354135ms) +2026-09-27T05:33:46.1556862Z ✔ keeps a bounded transcript batch window in flight until the renderer acknowledges it (21.8297ms) +2026-09-27T05:33:46.1645485Z [runtime-host-session-observer] recovering subscription { +2026-09-27T05:33:46.1669030Z sessionId: 'session-1', +2026-09-27T05:33:46.1751159Z turnId: 'turn-1', +2026-09-27T05:33:46.1785513Z runId: 'run-1', +2026-09-27T05:33:46.1936685Z reason: 'slow_consumer', +2026-09-27T05:33:46.1985381Z message: 'Runtime Host Session subscription closed for a slow consumer' +2026-09-27T05:33:46.2015039Z } +2026-09-27T05:33:46.2099119Z [runtime-host-session-observer] subscription recovered { +2026-09-27T05:33:46.2121396Z sessionId: 'session-1', +2026-09-27T05:33:46.2215175Z turnId: 'turn-1', +2026-09-27T05:33:46.2245834Z runId: 'run-1', +2026-09-27T05:33:46.2326385Z reason: 'slow_consumer', +2026-09-27T05:33:46.2354063Z message: 'Runtime Host Session subscription closed for a slow consumer' +2026-09-27T05:33:46.2426875Z } +2026-09-27T05:33:46.2489178Z ✔ finishes transcript open on the replacement replica after recovery (33.070238ms) +2026-09-27T05:33:46.2608111Z [runtime-host-session-observer] recovering subscription { +2026-09-27T05:33:46.2665362Z sessionId: 'session-1', +2026-09-27T05:33:46.2692597Z turnId: 'turn-1', +2026-09-27T05:33:46.2765102Z runId: 'run-1', +2026-09-27T05:33:46.2799068Z reason: 'slow_consumer', +2026-09-27T05:33:46.2825637Z message: 'Runtime Host Session subscription closed for a slow consumer' +2026-09-27T05:33:46.2881052Z } +2026-09-27T05:33:46.2955400Z [runtime-host-session-observer] subscription recovered { +2026-09-27T05:33:46.3055166Z sessionId: 'session-1', +2026-09-27T05:33:46.3105504Z turnId: 'turn-1', +2026-09-27T05:33:46.3145184Z runId: 'run-1', +2026-09-27T05:33:46.3169749Z reason: 'slow_consumer', +2026-09-27T05:33:46.3189322Z message: 'Runtime Host Session subscription closed for a slow consumer' +2026-09-27T05:33:46.3219040Z } +2026-09-27T05:33:46.3246344Z ✔ coalesces transcript changes into one bounded delta while renderer delivery is backpressured (10.661155ms) +2026-09-27T05:33:46.3255832Z ✔ delivers history in whole Turns within the budget and continues exactly on load earlier (3.579062ms) +2026-09-27T05:33:46.3276408Z ✔ reads earlier history past its budget down to the requested Turn in one answer (6.649882ms) +2026-09-27T05:33:46.3303998Z ✔ keeps the history already delivered across a same-session recovery (9.273049ms) +2026-09-27T05:33:46.3335843Z ✔ keeps the history already delivered across a replacement of the Host connection (9.004984ms) +2026-09-27T05:33:46.3355491Z ✔ a tail transcript consumer still receives the replica snapshot (3.068242ms) +2026-09-27T05:33:46.3385567Z ✔ reads every row of one Turn through the Host Turn index (2.917279ms) +2026-09-27T05:33:46.3405822Z ✔ does not let one backpressured transcript consumer block another (7.701686ms) +2026-09-27T05:33:46.3415651Z ✔ keeps a transcript consumer available after a delivery fails (22.433777ms) +2026-09-27T05:33:46.3445888Z ✔ ignores a stale seed failure after its replacement succeeds (3.211288ms) +2026-09-27T05:33:46.3475884Z ✔ does not publish a terminal error while an owner-managed connection is replaced (3.043074ms) +2026-09-27T05:33:46.3495781Z ✔ keeps a native Turn watched without a renderer and releases it at terminal (1.232902ms) +2026-09-27T05:33:46.3505765Z ✔ does not let an older terminal projection finish a newer watched Turn (5.479998ms) +2026-09-27T05:33:46.3535982Z ✔ invalidates the transcript when another client starts a Turn (2.609715ms) +2026-09-27T05:33:46.3563430Z ✔ abandons a watched Turn when the initial Host subscription fails (0.62059ms) +2026-09-27T05:33:46.3582160Z [runtime-host-session-observer] recovering subscription { +2026-09-27T05:33:46.3605581Z sessionId: 'session-1', +2026-09-27T05:33:46.3635224Z turnId: 'turn-1', +2026-09-27T05:33:46.3700975Z runId: 'run-1', +2026-09-27T05:33:46.3756160Z reason: 'slow_consumer', +2026-09-27T05:33:46.3811898Z message: 'Runtime Host Session subscription closed for a slow consumer' +2026-09-27T05:33:46.3835092Z } +2026-09-27T05:33:46.3875436Z ✔ abandons a watched Turn and removes it from the catalog when Guest access ends (6.680152ms) +2026-09-27T05:33:46.3915423Z [runtime-host-session-observer] subscription recovered { +2026-09-27T05:33:46.3987295Z sessionId: 'session-1', +2026-09-27T05:33:46.4045611Z turnId: 'turn-1', +2026-09-27T05:33:46.4116988Z runId: 'run-1', +2026-09-27T05:33:46.4138814Z reason: 'slow_consumer', +2026-09-27T05:33:46.4175588Z message: 'Runtime Host Session subscription closed for a slow consumer' +2026-09-27T05:33:46.4227829Z } +2026-09-27T05:33:46.4275366Z [runtime-host-session-observer] recovering subscription { +2026-09-27T05:33:46.4301680Z sessionId: 'session-1', +2026-09-27T05:33:46.4325239Z turnId: 'turn-1', +2026-09-27T05:33:46.4355178Z runId: 'run-1', +2026-09-27T05:33:46.4355832Z reason: 'subscription_closed', +2026-09-27T05:33:46.4388198Z message: 'Session subscription was not found' +2026-09-27T05:33:46.4415088Z } +2026-09-27T05:33:46.4445519Z [runtime-host-session-observer] subscription recovered { +2026-09-27T05:33:46.4490812Z sessionId: 'session-1', +2026-09-27T05:33:46.4506209Z turnId: 'turn-1', +2026-09-27T05:33:46.4519764Z runId: 'run-1', +2026-09-27T05:33:46.4545466Z reason: 'subscription_closed', +2026-09-27T05:33:46.4565866Z message: 'Session subscription was not found' +2026-09-27T05:33:46.4566509Z } +2026-09-27T05:33:46.4567624Z ✔ reopens an evicted active subscription without a renderer resubscribe (5.653736ms) +2026-09-27T05:33:46.4568603Z [runtime-host-session-observer] recovering subscription { +2026-09-27T05:33:46.4584993Z sessionId: 'session-1', +2026-09-27T05:33:46.4615133Z turnId: 'turn-1', +2026-09-27T05:33:46.4645021Z runId: 'run-1', +2026-09-27T05:33:46.4645734Z reason: 'slow_consumer', +2026-09-27T05:33:46.4653157Z message: 'Runtime Host Session subscription closed for a slow consumer' +2026-09-27T05:33:46.4653934Z } +2026-09-27T05:33:46.4655144Z ✔ recovers when transcript paging loses the active subscription (6.727262ms) +2026-09-27T05:33:46.4656146Z [runtime-host-session-observer] recovering subscription { +2026-09-27T05:33:46.4656739Z sessionId: 'session-1', +2026-09-27T05:33:46.4657186Z turnId: 'turn-1', +2026-09-27T05:33:46.4657585Z runId: 'run-1', +2026-09-27T05:33:46.4658037Z reason: 'slow_consumer', +2026-09-27T05:33:46.4659051Z message: 'Runtime Host Session subscription closed for a slow consumer' +2026-09-27T05:33:46.4659874Z } +2026-09-27T05:33:46.4660439Z [runtime-host-session-observer] subscription recovered { +2026-09-27T05:33:46.4661059Z sessionId: 'session-1', +2026-09-27T05:33:46.4661501Z turnId: 'turn-1', +2026-09-27T05:33:46.4661922Z runId: 'run-1', +2026-09-27T05:33:46.4662357Z reason: 'slow_consumer', +2026-09-27T05:33:46.4663059Z message: 'Runtime Host Session subscription closed for a slow consumer' +2026-09-27T05:33:46.4663735Z } +2026-09-27T05:33:46.4664336Z [runtime-host-session-observer] subscription recovered { +2026-09-27T05:33:46.4665141Z sessionId: 'session-1', +2026-09-27T05:33:46.4665584Z turnId: 'turn-2', +2026-09-27T05:33:46.4665996Z runId: 'run-2', +2026-09-27T05:33:46.4666413Z reason: 'slow_consumer', +2026-09-27T05:33:46.4667095Z message: 'Runtime Host Session subscription closed for a slow consumer' +2026-09-27T05:33:46.4667867Z } +2026-09-27T05:33:46.4668873Z ✔ retries an initial subscription evicted before readiness and resyncs once (5.60397ms) +2026-09-27T05:33:46.4671438Z ✔ finishes a watched predecessor after initial catch-up recovery (4.452683ms) +2026-09-27T05:33:46.4672382Z [runtime-host-session-observer] recovering subscription { +2026-09-27T05:33:46.4672991Z sessionId: 'session-1', +2026-09-27T05:33:46.4673676Z turnId: 'turn-1', +2026-09-27T05:33:46.4674138Z runId: 'run-1', +2026-09-27T05:33:46.4674916Z reason: 'slow_consumer', +2026-09-27T05:33:46.4675577Z message: 'Runtime Host Session subscription closed for a slow consumer' +2026-09-27T05:33:46.4676143Z } +2026-09-27T05:33:46.4676918Z [runtime-host-session-observer] subscription recovered { +2026-09-27T05:33:46.4677511Z sessionId: 'session-1', +2026-09-27T05:33:46.4678098Z turnId: 'turn-1', +2026-09-27T05:33:46.4678554Z runId: 'run-1', +2026-09-27T05:33:46.4678967Z reason: 'slow_consumer', +2026-09-27T05:33:46.4679900Z message: 'Runtime Host Session subscription closed for a slow consumer' +2026-09-27T05:33:46.4680499Z } +2026-09-27T05:33:46.4681143Z [runtime-host-session-observer] recovering subscription { +2026-09-27T05:33:46.4681831Z sessionId: 'session-1', +2026-09-27T05:33:46.4682429Z turnId: 'turn-1', +2026-09-27T05:33:46.4682876Z runId: 'run-1', +2026-09-27T05:33:46.4683314Z reason: 'slow_consumer', +2026-09-27T05:33:46.4683965Z message: 'Runtime Host Session subscription closed for a slow consumer' +2026-09-27T05:33:46.4715106Z } +2026-09-27T05:33:46.4734115Z [runtime-host-session-observer] subscription recovered { +2026-09-27T05:33:46.4735147Z sessionId: 'session-1', +2026-09-27T05:33:46.4735630Z turnId: 'turn-1', +2026-09-27T05:33:46.4736078Z runId: 'run-1', +2026-09-27T05:33:46.4736507Z reason: 'slow_consumer', +2026-09-27T05:33:46.4737238Z message: 'Runtime Host Session subscription closed for a slow consumer' +2026-09-27T05:33:46.4737894Z } +2026-09-27T05:33:46.4738478Z [runtime-host-session-observer] recovering subscription { +2026-09-27T05:33:46.4739139Z sessionId: 'session-1', +2026-09-27T05:33:46.4739583Z turnId: 'turn-1', +2026-09-27T05:33:46.4739948Z runId: 'run-1', +2026-09-27T05:33:46.4740375Z reason: 'slow_consumer', +2026-09-27T05:33:46.4741001Z message: 'Runtime Host Session subscription closed for a slow consumer' +2026-09-27T05:33:46.4741596Z } +2026-09-27T05:33:46.4742098Z [runtime-host-session-observer] subscription recovered { +2026-09-27T05:33:46.4742667Z sessionId: 'session-1', +2026-09-27T05:33:46.4743041Z turnId: 'turn-2', +2026-09-27T05:33:46.4743543Z runId: 'run-2', +2026-09-27T05:33:46.4744066Z reason: 'slow_consumer', +2026-09-27T05:33:46.4745062Z message: 'Runtime Host Session subscription closed for a slow consumer' +2026-09-27T05:33:46.4748514Z } +2026-09-27T05:33:46.4749802Z ✔ seeds a joining observer from the attempt that survives repeated catch-up eviction (8.326591ms) +2026-09-27T05:33:46.4751596Z ✔ reconciles terminal, Goal, interaction, and sidecar state after subscription recovery (2.844976ms) +2026-09-27T05:33:46.4752723Z [runtime-host-session-observer] recovering subscription { +2026-09-27T05:33:46.4753803Z sessionId: 'session-1', +2026-09-27T05:33:46.4754678Z turnId: 'turn-1', +2026-09-27T05:33:46.4755108Z runId: 'run-1', +2026-09-27T05:33:46.4757873Z reason: 'slow_consumer', +2026-09-27T05:33:46.4758590Z message: 'Runtime Host Session subscription closed for a slow consumer' +2026-09-27T05:33:46.4759239Z } +2026-09-27T05:33:46.4759775Z [runtime-host-session-observer] subscription recovered { +2026-09-27T05:33:46.4760353Z sessionId: 'session-1', +2026-09-27T05:33:46.4760830Z turnId: 'turn-1', +2026-09-27T05:33:46.4761240Z runId: 'run-1', +2026-09-27T05:33:46.4761630Z reason: 'slow_consumer', +2026-09-27T05:33:46.4762306Z message: 'Runtime Host Session subscription closed for a slow consumer' +2026-09-27T05:33:46.4762933Z } +2026-09-27T05:33:46.4763449Z [runtime-host-session-observer] recovering subscription { +2026-09-27T05:33:46.4764073Z sessionId: 'session-1', +2026-09-27T05:33:46.4764793Z turnId: 'turn-1', +2026-09-27T05:33:46.4776768Z runId: 'run-1', +2026-09-27T05:33:46.4777261Z reason: 'slow_consumer', +2026-09-27T05:33:46.4777906Z message: 'Runtime Host Session subscription closed for a slow consumer' +2026-09-27T05:33:46.4778487Z } +2026-09-27T05:33:46.4779065Z [runtime-host-session-observer] subscription recovered { +2026-09-27T05:33:46.4779604Z sessionId: 'session-1', +2026-09-27T05:33:46.4780050Z turnId: 'turn-2', +2026-09-27T05:33:46.4780455Z runId: 'run-2', +2026-09-27T05:33:46.4780873Z reason: 'slow_consumer', +2026-09-27T05:33:46.4781532Z message: 'Runtime Host Session subscription closed for a slow consumer' +2026-09-27T05:33:46.4782150Z } +2026-09-27T05:33:46.4783069Z ✔ lands a reseeded completion whole on a live step a steering row followed (19.439627ms) +2026-09-27T05:33:46.4784249Z ✔ replays durable admission before a terminal successor on subscription recovery (4.368703ms) +2026-09-27T05:33:46.4785605Z ✔ shares one Host subscription and one delivery per renderer target (2.313062ms) +2026-09-27T05:33:46.4786733Z ✔ releases the renderer destroyed listener when its last observer leaves (0.743153ms) +2026-09-27T05:33:46.4790035Z ✔ closes a Host handle that arrives after the observer is closed (0.35444ms) +2026-09-27T05:33:46.4791567Z ✔ rehydrates pending interactions and publishes answer acknowledgements (6.065445ms) +2026-09-27T05:33:46.4794768Z ✔ publishes form answer acknowledgements for renderer queue retirement (0.703465ms) +2026-09-27T05:33:46.4832283Z ✔ projects Host queue revisions and places steering from the runtime event (7.915547ms) +2026-09-27T05:33:46.4906715Z [runtime-host-session-observer] recovering subscription { +2026-09-27T05:33:46.4942645Z sessionId: 'session-1', +2026-09-27T05:33:46.5015041Z turnId: 'turn-1', +2026-09-27T05:33:46.5015642Z runId: 'run-1', +2026-09-27T05:33:46.5067309Z reason: 'slow_consumer', +2026-09-27T05:33:46.5093988Z message: 'Runtime Host Session subscription closed for a slow consumer' +2026-09-27T05:33:46.5126297Z } +2026-09-27T05:33:46.5197074Z ✔ publishes Host sidecar and graph invalidations without inventing Session status changes (1.231893ms) +2026-09-27T05:33:46.5219794Z ✔ reseeds an evicted replica on the live subscription when a transcript opens (18.07971ms) +2026-09-27T05:33:46.5265322Z [runtime-host-session-observer] subscription recovery failed { +2026-09-27T05:33:46.5287732Z failure: { +2026-09-27T05:33:46.5318295Z sessionId: 'session-1', +2026-09-27T05:33:46.5344076Z turnId: 'turn-1', +2026-09-27T05:33:46.5384607Z runId: 'run-1', +2026-09-27T05:33:46.5488416Z reason: 'slow_consumer', +2026-09-27T05:33:46.5546340Z message: 'Runtime Host Session subscription closed for a slow consumer' +2026-09-27T05:33:46.5605008Z }, +2026-09-27T05:33:46.5668638Z recovery: { +2026-09-27T05:33:46.5765640Z sessionId: 'session-1', +2026-09-27T05:33:46.5795115Z turnId: 'turn-1', +2026-09-27T05:33:46.5846081Z runId: 'run-1', +2026-09-27T05:33:46.5895607Z reason: 'subscription_closed', +2026-09-27T05:33:46.5963467Z message: 'Runtime Host Session observer closed while opening' +2026-09-27T05:33:46.6009586Z } +2026-09-27T05:33:46.6028743Z } +2026-09-27T05:33:46.6055836Z ✔ trims around a replica that recovery already closed (10.142926ms) +2026-09-27T05:33:46.6103798Z ✔ feeds the surviving projector rows that went durable while the replica was evicted (7.241328ms) +2026-09-27T05:33:46.6135655Z ✔ keeps the subscription alive when a catch-up decode hits the cache capacity gate (8.95339ms) +2026-09-27T05:33:46.6178491Z ✔ does not cache a snapshot published before the replica is installed (1.513749ms) +2026-09-27T05:33:46.6245744Z ✔ a running Turn keeps its subscription after the last viewer leaves (7.537659ms) +2026-09-27T05:33:46.6255615Z ✔ the subscription is released once the running Turn ends with no viewer (11.244659ms) +2026-09-27T05:33:46.6313654Z ✔ a later observer in the same renderer receives the accumulated active stream (1.128396ms) +2026-09-27T05:33:46.6355346Z [runtime-host-session-observer] recovering subscription { +2026-09-27T05:33:46.6356171Z sessionId: 'session-1', +2026-09-27T05:33:46.6429014Z turnId: 'turn-1', +2026-09-27T05:33:46.6457987Z runId: 'run-1', +2026-09-27T05:33:46.6515176Z reason: 'subscription_closed', +2026-09-27T05:33:46.6520089Z message: 'subscription transcript context was lost' +2026-09-27T05:33:46.6545167Z } +2026-09-27T05:33:46.6595355Z [runtime-host-session-observer] subscription recovered { +2026-09-27T05:33:46.6635150Z sessionId: 'session-1', +2026-09-27T05:33:46.6673329Z turnId: 'turn-1', +2026-09-27T05:33:46.6674134Z runId: 'run-1', +2026-09-27T05:33:46.6725563Z reason: 'subscription_closed', +2026-09-27T05:33:46.6805210Z message: 'subscription transcript context was lost' +2026-09-27T05:33:46.6835412Z } +2026-09-27T05:33:46.6867950Z ✔ acknowledging the tail of a latched replica is a quiet no-op (12.069188ms) +2026-09-27T05:33:46.6925466Z [runtime-host-session-observer] recovering subscription { +2026-09-27T05:33:46.6957503Z sessionId: 'session-1', +2026-09-27T05:33:46.7011688Z turnId: 'turn-1', +2026-09-27T05:33:46.7049780Z runId: 'run-1', +2026-09-27T05:33:46.7052053Z reason: 'subscription_closed', +2026-09-27T05:33:46.7052780Z message: 'subscription transcript context was lost' +2026-09-27T05:33:46.7055354Z } +2026-09-27T05:33:46.7056329Z [runtime-host-session-observer] subscription recovered { +2026-09-27T05:33:46.7057359Z sessionId: 'session-1', +2026-09-27T05:33:46.7057830Z turnId: 'turn-1', +2026-09-27T05:33:46.7070450Z runId: 'run-1', +2026-09-27T05:33:46.7070999Z reason: 'subscription_closed', +2026-09-27T05:33:46.7072392Z message: 'subscription transcript context was lost' +2026-09-27T05:33:46.7072950Z } +2026-09-27T05:33:46.7073950Z ✔ a latched replica reseeds through recovery for the next reader (7.781783ms) +2026-09-27T05:33:46.7075319Z ✔ dispatches a frame failure before the subscription iterator finishes closing (23.397771ms) +2026-09-27T05:33:46.7076966Z ✔ a committed frame failure is terminal, not absorbed (4.833172ms) +2026-09-27T05:33:46.7078016Z ✔ reseeds an evicted replica on the same live subscription (6.768893ms) +2026-09-27T05:33:46.7079180Z ✔ a reseed superseded by subscription recovery does not displace the new replica (5.345196ms) +2026-09-27T05:33:46.7080294Z ✔ serializes concurrent reseeds into exactly one swap (1.575885ms) +2026-09-27T05:33:46.7081302Z ✔ a reseed committing inside recovery teardown loses the swap (29.999467ms) +2026-09-27T05:33:46.7082330Z ✔ a losing reseed propagates the recovery terminal failure (2.91188ms) +2026-09-27T05:33:46.7083438Z ✔ a reseed masked by the subscription close classifies by its recorded reason (9.016754ms) +2026-09-27T05:33:46.7084748Z ✔ a reseed masked by the subscription close preserves a terminal removal (0.785713ms) +2026-09-27T05:33:46.7085788Z ✔ closes the orphan replica when install throws (7.636208ms) +2026-09-27T05:33:46.7087195Z ✔ routes a post-commit catch-up failure through attempt recovery (5.145252ms) +2026-09-27T05:33:46.7088437Z ✔ retires only Host-owned controllers when a same-key Host enters a new generation (114.486859ms) +2026-09-27T05:33:46.7089966Z ✔ proxy test preserves enabled authentication when credentials are empty (7.252794ms) +2026-09-27T05:33:46.7091110Z ✔ proxy test preserves disabled authentication for a local proxy (0.379667ms) +2026-09-27T05:33:46.7092375Z ✔ runtime settings project credential status without a password value (1.094705ms) +2026-09-27T05:33:46.7093460Z ✔ external agent update does not retry past a changed executable (5.402671ms) +2026-09-27T05:33:46.7094742Z ✔ spread-back derived and legacy password fields never enter Runtime policy (0.956863ms) +2026-09-27T05:33:46.7095830Z ✔ proxy credential operations validate before any write (3.315512ms) +2026-09-27T05:33:46.7097620Z ✔ disabling the proxy keeps credentials while disabling authentication removes them (0.742019ms) +2026-09-27T05:33:46.7098911Z ✔ keep, replace, and explicit delete preserve the derived credential contract (4.848024ms) +2026-09-27T05:33:46.7100143Z ✔ config import skips a proxy password whose bound target no longer matches (0.75149ms) +2026-09-27T05:33:46.7101397Z ✔ a later authentication disable waits for an in-flight replacement and wins (22.456397ms) +2026-09-27T05:33:46.7102574Z ✔ proxy tests wait for the lane and a failed operation does not poison it (6.606006ms) +2026-09-27T05:33:46.7103767Z ✔ a failed credential replacement does not commit proxy policy fields (0.639431ms) +2026-09-27T05:33:46.7105000Z ✔ compound config operations share the lane without re-entering it (5.809658ms) +2026-09-27T05:33:46.7107031Z ✔ Jev settings write Host policy and vault, project only a mask, and never persist the key locally (0.973259ms) +2026-09-27T05:33:46.7108660Z ✔ development setup lazily caches CLI archives by peer target unless overridden (104.735229ms) +2026-09-27T05:33:46.7110812Z ✔ a packaged desktop resolves its own setup package without a development peer target (28.331714ms) +2026-09-27T05:33:46.7115127Z ✔ cancelling the last waiter closes its build before a new setup starts (25.410756ms) +2026-09-27T05:33:46.7119941Z ✔ local TUI discovers, publishes, invokes, republishes, and closes one MCP child (978.621601ms) +2026-09-27T05:33:46.7122159Z ✔ validates typed projection refs without interpreting opaque JSON as storage refs (862.405028ms) +2026-09-27T05:33:46.8485368Z ✔ offline snapshot authority blocks a new Host owner and releases after failure (298.364765ms) +2026-09-27T05:33:47.0778149Z ✔ projects an empty Skill surface until a remote Project is selected (3.675426ms) +2026-09-27T05:33:47.0782292Z ✔ binds new-session Skill discovery to its explicit Project (0.645896ms) +2026-09-27T05:33:47.0906138Z ✔ blocks Skill location opening for a remote Runtime Host (0.552667ms) +2026-09-27T05:33:47.0943097Z ✔ rejects a Skill location from the previously selected Project before creating a directory (20.498638ms) +2026-09-27T05:33:47.3786426Z ✔ context snapshot refuses a symlinked managed-value ancestor (527.087145ms) +2026-09-27T05:33:47.4098328Z ✔ can open existing independent Skill directories after the selected Project disappears (315.831409ms) +2026-09-27T05:33:47.4241550Z ✔ requires authentic Storage Root leases and writer facades (7.336423ms) +2026-09-27T05:33:47.4270151Z ✔ single-flights one limit-bound writer and snapshots admitted inputs (166.219ms) +2026-09-27T05:33:47.4311757Z ✔ close drains admitted work, revokes the facade, and permits a clean reopen (144.434347ms) +2026-09-27T05:33:47.4340682Z ✔ root-owner close revokes new context-offload operations (66.207207ms) +2026-09-27T05:33:47.4365534Z ✔ one root runs its context mutations one at a time (5.178717ms) +2026-09-27T05:33:47.4431800Z ✔ a failed mutation does not wedge the root (0.740751ms) +2026-09-27T05:33:47.4453423Z ✔ separate roots do not wait on each other (4.870658ms) +2026-09-27T05:33:47.4467452Z ▶ FileCredentialStore +2026-09-27T05:33:47.4514167Z ✔ round-trips secrets and returns null for missing ones (40.353145ms) +2026-09-27T05:33:47.4596149Z ✔ deleteSecret(slug) with no kind clears every kind for that slug only (31.701256ms) +2026-09-27T05:33:47.4680141Z ✔ writes a versioned, plaintext (file-first) file (9.833036ms) +2026-09-27T05:33:47.4731051Z ✔ reading an unknown / pre-migration schema fails closed (25.938764ms) +2026-09-27T05:33:47.4760073Z ✔ leaves no temp file behind after a write (17.633148ms) +2026-09-27T05:33:47.4761328Z ✔ creates the file 0600 on POSIX (12.779419ms) +2026-09-27T05:33:47.4865583Z ✔ re-chmods a pre-existing world-readable file to 0600 on write (24.176555ms) +2026-09-27T05:33:47.4910131Z ✔ hardens a pre-existing world-accessible workspace dir to 0700 on write (22.984691ms) +2026-09-27T05:33:47.4999097Z ✔ serializes concurrent writes across slugs without clobbering (232.737305ms) +2026-09-27T05:33:47.5087184Z ✔ two independent store instances writing concurrently both survive (cross-process lock) (52.121816ms) +2026-09-27T05:33:47.5179826Z ✔ a held lock is waited on, never stolen (no lost update) (42.686717ms) +2026-09-27T05:33:47.5219576Z ✔ a never-released lock fails loud with the lock path and recovery hint (96.632804ms) +2026-09-27T05:33:47.5272033Z ✔ FileCredentialStore (612.616586ms) +2026-09-27T05:33:47.5295796Z ▶ FileCredentialStore compareAndSetSecret +2026-09-27T05:33:47.5335737Z ✔ commits when the basis still matches, and the write persists (45.945675ms) +2026-09-27T05:33:47.5345743Z ✔ commits a write-if-absent (expected null) only while the entry is absent (20.103106ms) +2026-09-27T05:33:47.5354994Z ✔ two store instances racing on the same basis: loser sees the entry changed and adopts it (28.350851ms) +2026-09-27T05:33:47.5395639Z ✔ a basis whose entry was deleted (logout) is distinguishable from a changed one (14.411188ms) +2026-09-27T05:33:47.5405878Z ✔ concurrent CAS from the same basis: exactly one wins, the loser returns the winner value (44.567422ms) +2026-09-27T05:33:47.5407157Z ✔ FileCredentialStore compareAndSetSecret (154.118767ms) +2026-09-27T05:33:47.5408169Z ✔ Daily Review authority serializes config revisions and preserves archives (607.134163ms) +2026-09-27T05:33:47.5409300Z ✔ Daily Review authority rejects operations after its root lease closes (216.223664ms) +2026-09-27T05:33:47.5410411Z ✔ Daily Review authority publishes and prunes archives in one operation (563.61169ms) +2026-09-27T05:33:47.5411626Z ✔ Local: plugin executor routes survive configuration and catalog projection (648.001461ms) +2026-09-27T05:33:47.5452515Z ✔ Local: bounded prefix proofs match immutable history and reject exceeded budgets (397.654478ms) +2026-09-27T05:33:47.5474236Z ✔ Local: recovery message evidence has equivalent UTF-8 byte budgets (287.334682ms) +2026-09-27T05:33:47.5475956Z ✔ Local: transcript projection consumes bounded detached event iterators (264.660234ms) +2026-09-27T05:33:47.6266681Z ✔ can create and open missing independent Skill directories after the selected Project disappears (217.345058ms) +2026-09-27T05:33:47.6557217Z ✔ Skill location contexts reject another scope, a remounted root, and a replacement Host (31.466895ms) +2026-09-27T05:33:47.6665961Z ✔ reports open_failed when the native shell cannot open a Skill directory (9.624427ms) +2026-09-27T05:33:47.6789081Z ✔ reports create_failed without opening when a Skill directory parent is not writable (11.963037ms) +2026-09-27T05:33:47.7211920Z ✔ blocks leaf-symlink Skill directories at IPC even when their target is contained (42.343659ms) +2026-09-27T05:33:47.7924284Z ✔ maps supported SSH Node identities to peer targets (1.630739ms) +2026-09-27T05:33:47.7925948Z ✔ detects the peer target through the bounded SSH preflight (5.038359ms) +2026-09-27T05:33:47.7955998Z ✔ retries target detection through the POSIX login shell when Node is not on the default PATH (9.226524ms) +2026-09-27T05:33:47.7987508Z ✔ keeps a connecting SSH prompt observable across renderer presentation changes (2.023702ms) +2026-09-27T05:33:47.8066448Z ✔ dismisses a closed SSH prompt from the authoritative presentation (1.146106ms) +2026-09-27T05:33:47.8110804Z ✔ does not reopen a cancelled SSH prompt for late process output (2.586698ms) +2026-09-27T05:33:47.8166440Z ✔ keeps setup credentials out of the interactive terminal projection (21.287733ms) +2026-09-27T05:33:47.8196405Z ✔ runs Windows setup through one encoded PowerShell command (8.686958ms) +2026-09-27T05:33:47.8216164Z ✔ discards an oversized reserved setup line instead of projecting its tail (1.785716ms) +2026-09-27T05:33:47.8233805Z ✔ keeps a completed setup process owned until it exits (5.692717ms) +2026-09-27T05:33:47.8245657Z ✔ force-stops a cancelled setup when SSH ignores graceful termination (6.726262ms) +2026-09-27T05:33:47.8276063Z ✔ does not signal a reused process identity when cancellation races SSH exit (4.875344ms) +2026-09-27T05:33:47.8305967Z ✔ reads a framed service result without projecting it into the SSH terminal (25.97029ms) +2026-09-27T05:33:47.8335629Z ✔ applies the complete remote Project root policy through the managed operator (6.030671ms) +2026-09-27T05:33:47.8395557Z ✔ keeps a received management result when SSH teardown times out (10.541038ms) +2026-09-27T05:33:47.8423564Z ✔ runs an exact update package and reports progress before an active-work result (7.597307ms) +2026-09-27T05:33:47.8468968Z ✔ uses the managed operator for update policy and one-shot reconciliation (22.267133ms) +2026-09-27T05:33:47.8496204Z ✔ keeps a prepared access credential out of the SSH terminal projection (10.041168ms) +2026-09-27T05:33:47.8519214Z ✔ creates an owner connection code through the framed SSH operator channel (4.869648ms) +2026-09-27T05:33:47.8555311Z ✔ requests adaptive-connectivity status only on the peer-management frame (3.883273ms) +2026-09-27T05:33:47.8556658Z ✔ sends a Mesh invitation only after the authenticated remote operator requests it (3.088906ms) +2026-09-27T05:33:47.8592493Z ✔ rejects a framed service result for a different action (2.037635ms) +2026-09-27T05:33:47.8620064Z ✔ requires an absent operator deployment root to be absent (0.978839ms) +2026-09-27T05:33:47.8655601Z ✔ does not launch a management process after the terminal owner closes (0.360479ms) +2026-09-27T05:33:47.8695688Z ✔ runs interactive operator activation as one strict framed SSH command (6.207145ms) +2026-09-27T05:33:47.8697027Z ✔ uploads a development release archive before running the same remote setup (14.311024ms) +2026-09-27T05:33:47.8739029Z ✔ keeps available collaboration inboxes when another Owner Host rejects (45.881242ms) +2026-09-27T05:33:47.8767161Z ✔ retains the previous inbox projection when every Owner Host rejects (0.811899ms) +2026-09-27T05:33:47.8796211Z ✔ one screen call atomically supplies totals, complete groups, pricing, and only the first activity page (5.418454ms) +2026-09-27T05:33:47.8852671Z ✔ initial All load fixes its time bound before dispatch (2.581546ms) +2026-09-27T05:33:47.8891317Z ✔ capacity failure is surfaced without retry, fallback, or partial reads (0.3003ms) +2026-09-27T05:33:47.8892736Z ✔ continuation forwards query and revision and preserves typed stale or capacity failures (1.72812ms) +2026-09-27T05:33:47.8924747Z ✔ activity IPC rejects a complete-screen request before Host dispatch (2.936552ms) +2026-09-27T05:33:47.8964814Z ✔ independent summary response cannot masquerade as a complete screen (0.362304ms) +2026-09-27T05:33:47.8985618Z ✔ Local: transcript serves a running Turn up to the watermark (320.627125ms) +2026-09-27T05:33:48.2337091Z ✔ Local: a transcript Turn spans every visible invocation carrying its turnId (421.911975ms) +2026-09-27T05:33:48.5001328Z ✔ Local: steering reorder preserves unselected and followup queue slots (269.094511ms) +2026-09-27T05:33:48.5194586Z ✔ registers the WorkHub Session projection as a reconnectable read (1.441053ms) +2026-09-27T05:33:48.5244065Z ✔ stores new-work execution defaults separately from the coordination Session (3.761329ms) +2026-09-27T05:33:48.5292471Z ✔ returns a structured WorkHub attachment rejection across IPC (0.762852ms) +2026-09-27T05:33:48.5293686Z ✔ returns a structured model setup state across IPC (0.456156ms) +2026-09-27T05:33:48.5335992Z ✔ does not diagnose an ordinary WorkHub conflict as missing model setup (0.492244ms) +2026-09-27T05:33:48.5526016Z ✔ WSL management invokes the stable operator directly with the exact deployment target (79.997785ms) +2026-09-27T05:33:48.5553761Z ✔ WSL setup forwards the development archive and its exact evidence (20.787177ms) +2026-09-27T05:33:48.5593121Z ✔ released WSL onboarding cannot authorize replacement or interruption (6.062558ms) +2026-09-27T05:33:48.5596990Z ✔ WSL update cancellation closes retirement input without killing the transaction (4.182721ms) +2026-09-27T05:33:48.5598342Z ✔ released WSL discovery accepts an existing binding without a credential or package mutation (2.34017ms) +2026-09-27T05:33:48.7890548Z ✔ Local: catalog lists subagent Sessions unless a parent filter restricts them (286.664608ms) +2026-09-27T05:33:48.8086623Z ✔ newer WSL Host offers no downgrade and never resolves an update package (1.810997ms) +2026-09-27T05:33:48.8122317Z ✔ unbound WSL connection has no mutation authority (0.44537ms) +2026-09-27T05:33:48.8148966Z ✔ WSL handoff carries exact source identity and separately forwards interruption consent (2.491943ms) +2026-09-27T05:33:48.8166167Z ✔ legacy operator without a configuration fingerprint remains fenced by source version and Host identity (0.755376ms) +2026-09-27T05:33:48.8195721Z ✔ development handoff never presents package integrity as a version (0.450744ms) +2026-09-27T05:33:48.8288849Z ✔ captures collapse scroll motion (1.456261ms) +2026-09-27T05:33:48.8343112Z ✔ a preference for less motion collapses scrolling (0.299005ms) +2026-09-27T05:33:49.2787019Z ✔ Local: catalog paginates parents and subagent Sessions without omissions (486.476235ms) +2026-09-27T05:33:49.3983275Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:33:49.5566710Z ✔ Local: catalog hides preparing copies until publication without losing recovery state (279.03155ms) +2026-09-27T05:33:49.7749062Z ✔ Local: imported message projection finishes before commit starts (220.91364ms) +2026-09-27T05:33:50.0548331Z ✔ Local: external import lookup excludes staged Sessions (275.535106ms) +2026-09-27T05:33:50.4653877Z ✔ Local: catalog pagination visits mixed-case tied IDs exactly once in Local order (415.114225ms) +2026-09-27T05:33:50.6631249Z ✔ Local: catalog reads explicitly opt into the recoverable coordination role (195.851121ms) +2026-09-27T05:33:50.9263836Z ✔ Local: WorkHub binds delegated text and copied attachments to admission and replay (265.620104ms) +2026-09-27T05:33:51.2539403Z ✔ Local: closed children cannot escape the execution group authority (326.00764ms) +2026-09-27T05:33:51.3005971Z ▶ session bundle export tree +2026-09-27T05:33:51.3126153Z ✔ nests a subagent subtree and counts the whole thing (103.226227ms) +2026-09-27T05:33:51.3184062Z ✔ reads the link the catalog actually publishes (46.388897ms) +2026-09-27T05:33:51.3220784Z ✔ shows a task whose parent is not in the list (15.561356ms) +2026-09-27T05:33:51.3295868Z ✔ a Session that names itself as its parent still renders (6.73945ms) +2026-09-27T05:33:51.3337623Z ✔ leaves archived tasks out (5.547225ms) +2026-09-27T05:33:51.3414088Z ✔ offers every row, because a bundle can be rooted at any node (5.978962ms) +2026-09-27T05:33:51.3445940Z ✔ shows an active grandchild whose parent is archived (7.493414ms) +2026-09-27T05:33:51.3478758Z ✔ session bundle export tree (194.950101ms) +2026-09-27T05:33:51.3838064Z ▶ session retirement sweep +2026-09-27T05:33:51.3865816Z ✔ keeps the selected session when an unrelated row changes (20.320183ms) +2026-09-27T05:33:51.3889939Z ✔ keeps a selected session an unrelated row read cannot prove absent (6.938532ms) +2026-09-27T05:33:51.3945566Z ✔ retires the selected session when its row leaves the catalog (1.53914ms) +2026-09-27T05:33:51.3975482Z ✔ keeps the selected session when its row read fails (4.820836ms) +2026-09-27T05:33:51.4017896Z ✔ sweeps retired rows after a membership refresh (1.357047ms) +2026-09-27T05:33:51.4046739Z ✔ session retirement sweep (43.755902ms) +2026-09-27T05:33:51.4076715Z ▶ revision-draft row watch fence +2026-09-27T05:33:51.4105548Z ✔ fences retirement while a just-created owner is still unobserved (0.724657ms) +2026-09-27T05:33:51.4136536Z ✔ still retires a never-admitted row a targeted read reported gone (0.262342ms) +2026-09-27T05:33:51.4165523Z ✔ keeps a patch-admitted row when a list observed before admission lands (0.471023ms) +2026-09-27T05:33:51.4194084Z ✔ retires the draft owner once an authoritative list omits it (0.380128ms) +2026-09-27T05:33:51.4228899Z ✔ revision-draft row watch fence (2.35423ms) +2026-09-27T05:33:51.5375949Z ✔ Local: child bindings stay reserved while group close is pending (283.67109ms) +2026-09-27T05:33:51.7407772Z ✔ owns the dialog below the shell and keeps target changes and polling reader-local (302.283338ms) +2026-09-27T05:33:51.7528563Z ✔ Local: nested Code Mode tool progress stays outside the immutable ledger (215.581827ms) +2026-09-27T05:33:51.8414328Z ✔ does not publish an old target read or restart its poll after target replacement (99.86817ms) +2026-09-27T05:33:51.8845521Z ✔ cleans up in-flight polling on unmount under StrictMode (45.589127ms) +2026-09-27T05:33:51.9384019Z ✔ closes local sharing and opens the existing Settings destination when remote access is off (58.003838ms) +2026-09-27T05:33:51.9856623Z ✔ rechecks local remote access immediately before invitation creation (45.424436ms) +2026-09-27T05:33:52.0288896Z ✔ Local: conversation copy rebuilds Tool T1/T2 projections and exact retries (272.019034ms) +2026-09-27T05:33:52.0456404Z ✔ requires explicit insecure confirmation, then copies the injected invitation (62.929821ms) +2026-09-27T05:33:52.2516265Z ✔ keeps grant revocation and turn decisions bound to the dialog target (198.627125ms) +2026-09-27T05:33:52.2703254Z ✔ Local: completed conversation copy can replay T2 without a prior live T1 (237.106913ms) +2026-09-27T05:33:52.3896452Z ✔ discards the previous invitation immediately when the target changes (143.545496ms) +2026-09-27T05:33:52.4755734Z ✔ does not retry invitation creation when insecure confirmation is declined (76.82966ms) +2026-09-27T05:33:52.5580120Z ✔ Local: a lost copy acknowledgement retries without duplicating facts (295.332766ms) +2026-09-27T05:33:52.7946324Z ✔ Local: copy cannot steal another Session tool operation during projection rebuild (235.16168ms) +2026-09-27T05:33:52.9005152Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free +2026-09-27T05:33:53.0321623Z ✔ remote TUI publication keeps its owner association across reconnect and revocation (7170.030273ms) +2026-09-27T05:33:53.1059298Z ✔ Local: copied recovery bundles preserve parked state and reject incomplete evidence (313.700513ms) +2026-09-27T05:33:53.1943105Z ✔ remote TUI publication activates, rotates, and removes one profile-bound credential (39.085128ms) +2026-09-27T05:33:53.1990869Z ✔ remote TUI publication fails closed while the same provider lifetime is active (27.711011ms) +2026-09-27T05:33:53.2016021Z ✔ remote TUI publication cannot bypass a failed lifetime lease (1.739448ms) +2026-09-27T05:33:53.2018468Z ✔ remote TUI publication surfaces rejected credentials without a retry authority (5.987833ms) +2026-09-27T05:33:53.2019756Z ✔ remote TUI publication aborts an in-flight connection before closing (6.520045ms) +2026-09-27T05:33:53.2021127Z ✔ remote TUI publication revalidates its profile before publishing an initial connection (8.688918ms) +2026-09-27T05:33:53.2023468Z ✔ remote TUI publication revalidates every reconnect result (2.527667ms) +2026-09-27T05:33:53.2024850Z ✔ remote TUI publication reconnects through current direct-peer routes (9.850108ms) +2026-09-27T05:33:53.2026076Z ✔ remote TUI publication retires when another process removes its profile (9.99873ms) +2026-09-27T05:33:53.2027238Z ✔ remote TUI publication cannot write into a recreated profile incarnation (1.021474ms) +2026-09-27T05:33:53.2051498Z ✔ remote TUI publication cannot register capabilities after profile recreation (1.196139ms) +2026-09-27T05:33:53.2075921Z ✔ remote TUI publication retires across a coalesced same-target recreation (11.213391ms) +2026-09-27T05:33:53.2099542Z ✔ remote TUI publication close waits for concurrent profile retirement cleanup (1.618598ms) +2026-09-27T05:33:53.2127392Z ✔ remote TUI publication closes its direct peer after a permanent reconnect failure (11.785384ms) +2026-09-27T05:33:53.2155299Z ▶ TUI primary guidance catalog +2026-09-27T05:33:53.2195902Z ✔ both locales describe every TUI slash command (2.100651ms) +2026-09-27T05:33:53.2249187Z ✔ describes /todo as the current session Todo list in every primary locale (0.280612ms) +2026-09-27T05:33:53.2253723Z ✔ keeps keybinding tokens identical across locales (0.793079ms) +2026-09-27T05:33:53.2287859Z ✔ renders Option shortcut labels on macOS and Alt labels elsewhere (0.980082ms) +2026-09-27T05:33:53.2305331Z ✔ TUI primary guidance catalog (5.920038ms) +2026-09-27T05:33:53.2328685Z ▶ TUI Session status badge +2026-09-27T05:33:53.2399988Z ✔ only marks running when the Runtime Host reports a live Turn (1.07255ms) +2026-09-27T05:33:53.2472008Z ✔ distinguishes user questions from permission requests with localized copy (0.24095ms) +2026-09-27T05:33:53.2505461Z ✔ marks only actionable blocked reasons and keeps resting rows unmarked (2.39355ms) +2026-09-27T05:33:53.2506299Z ✔ TUI Session status badge (15.95692ms) +2026-09-27T05:33:53.2620306Z ▶ renderTuiShortcutCopy +2026-09-27T05:33:53.2665792Z ✔ renders Alt shortcut labels with the Option symbol on macOS (1.367008ms) +2026-09-27T05:33:53.2695398Z ✔ preserves Alt shortcut labels on non-macOS platforms (0.228891ms) +2026-09-27T05:33:53.2716141Z ✔ preserves unrelated text on every platform (0.29333ms) +2026-09-27T05:33:53.2740345Z ✔ renderTuiShortcutCopy (9.907334ms) +2026-09-27T05:33:53.2742283Z ℹ tests 1304 +2026-09-27T05:33:53.2743066Z ℹ suites 62 +2026-09-27T05:33:53.2745808Z ℹ pass 1301 +2026-09-27T05:33:53.2746261Z ℹ fail 0 +2026-09-27T05:33:53.2746702Z ℹ cancelled 0 +2026-09-27T05:33:53.2747175Z ℹ skipped 3 +2026-09-27T05:33:53.2747600Z ℹ todo 0 +2026-09-27T05:33:53.2748079Z ℹ duration_ms 166193.016465 +2026-09-27T05:33:53.2748662Z [cli] passed +2026-09-27T05:33:53.2748961Z +2026-09-27T05:33:53.2749306Z [core] start: npm run test:dist +2026-09-27T05:33:53.2904188Z ✔ Local: corrupt copy and conflicting run retries roll back the whole import (183.860035ms) +2026-09-27T05:33:53.5827711Z ✔ Local: model configuration and no-op updates preserve approved sandbox authority (290.112024ms) +2026-09-27T05:33:53.6226376Z ✔ keeps loading progress visible while an irreversible import settles (286.740263ms) +2026-09-27T05:33:53.6824950Z +2026-09-27T05:33:53.6851410Z > @maka/core@0.1.0 test:dist +2026-09-27T05:33:53.6857846Z > node --test "dist/**/*.test.js" +2026-09-27T05:33:53.6880742Z +2026-09-27T05:33:53.7162701Z ✔ closes as a retained background recovery instead of reporting a failed join (94.066112ms) +2026-09-27T05:33:53.8926279Z ✔ Local: temporary Explore and Bypass restore approved Auto authority (306.585472ms) +2026-09-27T05:33:53.9645530Z ✔ identifies a retained shared task and its selected peer transport (270.14367ms) +2026-09-27T05:33:53.9765772Z ▶ absolute path comparison +2026-09-27T05:33:53.9766696Z ✔ uses Windows case-insensitive rules while preserving POSIX case (1.286211ms) +2026-09-27T05:33:53.9767662Z ✔ absolute path comparison (6.576034ms) +2026-09-27T05:33:53.9800983Z ▶ trimTrailingPathSeparators +2026-09-27T05:33:53.9806728Z ✔ preserves filesystem roots and trims non-root paths (0.202454ms) +2026-09-27T05:33:53.9807569Z ✔ trimTrailingPathSeparators (1.580035ms) +2026-09-27T05:33:53.9847310Z ▶ canonicalWindowsPath +2026-09-27T05:33:53.9876192Z ✔ throws for a representative non-canonical path (0.727037ms) +2026-09-27T05:33:53.9891687Z ✔ canonicalWindowsPath (0.969754ms) +2026-09-27T05:33:54.0065536Z ▶ AdditionalPermissionProfile validation +2026-09-27T05:33:54.0085532Z ✔ accepts and canonicalizes a minimal filesystem permission (3.629934ms) +2026-09-27T05:33:54.0128058Z ✔ accepts one-command network enable (0.521596ms) +2026-09-27T05:33:54.0152132Z ✔ rejects empty, relative, malformed, and policy-shaped profiles (0.379495ms) +2026-09-27T05:33:54.0195435Z ✔ compacts covered and duplicate entries deterministically (12.209396ms) +2026-09-27T05:33:54.0221649Z ✔ canonical serialization is stable across input order (0.881106ms) +2026-09-27T05:33:54.0223825Z ✔ AdditionalPermissionProfile validation (19.834297ms) +2026-09-27T05:33:54.0252537Z ▶ agent graph intent claim protocol +2026-09-27T05:33:54.0253475Z ✔ rejects malformed identities, timestamps, and unknown fields (2.00278ms) +2026-09-27T05:33:54.0254209Z ✔ agent graph intent claim protocol (3.411164ms) +2026-09-27T05:33:54.0375876Z ▶ agent graph schedule contract +2026-09-27T05:33:54.0423717Z ✔ accepts explicit selected results from an earlier graph (1.750974ms) +2026-09-27T05:33:54.0455608Z ✔ accepts a plugin executor only on newly created graph targets (0.71505ms) +2026-09-27T05:33:54.0466669Z ✔ rejects ambiguous, duplicate, empty, and add-plus-finish updates (1.292766ms) +2026-09-27T05:33:54.0499131Z ✔ agent graph schedule contract (6.987075ms) +2026-09-27T05:33:54.0886523Z ✔ preserves sharing bridge arguments and adapts remote access and clipboard capabilities (2.786325ms) +2026-09-27T05:33:54.0968277Z ✔ one logical Session copy preserves its target and source boundary across renderer reload (7.912179ms) +2026-09-27T05:33:54.1058113Z ✔ independent Branch and Revision actions never share a copy identity (2.495701ms) +2026-09-27T05:33:54.1168049Z ✔ renderer reload can enumerate every orphaned Side Chat copy owner (18.601591ms) +2026-09-27T05:33:54.1257092Z ▶ provider capacity presentation +2026-09-27T05:33:54.1326555Z ✔ uses capacity-specific copy instead of the unknown error fallback (4.613974ms) +2026-09-27T05:33:54.1351995Z ✔ provider capacity presentation (6.014769ms) +2026-09-27T05:33:54.1374817Z ▶ renderer session event health projection +2026-09-27T05:33:54.1415566Z ✔ marks stale running sessions and asks for one throttled refresh (1.462314ms) +2026-09-27T05:33:54.1458392Z ✔ uses sessions:changed as a recovery signal when stream deltas are quiet (0.316466ms) +2026-09-27T05:33:54.1496802Z ✔ uses any direct session event as a recovery signal (1.530255ms) +2026-09-27T05:33:54.1502307Z ✔ closes the projection when no stream is expected (0.270424ms) +2026-09-27T05:33:54.1538498Z ✔ does not treat terminal live tools as ongoing event-stream activity (0.777514ms) +2026-09-27T05:33:54.1575859Z ✔ renderer session event health projection (11.485839ms) +2026-09-27T05:33:54.1749021Z ▶ agent graph topology provisions +2026-09-27T05:33:54.1806898Z ✔ strictly validates one monotonic operator addition (2.548511ms) +2026-09-27T05:33:54.1855586Z ✔ agent graph topology provisions (3.81013ms) +2026-09-27T05:33:54.2076848Z ✔ Local: configuration cannot clear an unrelated block or invalid timestamp (319.060757ms) +2026-09-27T05:33:54.2423188Z ✔ AgentRun reads an event type this build does not write (1.271493ms) +2026-09-27T05:33:54.2453042Z ✔ AgentRun still rejects a record whose envelope is damaged (10.24282ms) +2026-09-27T05:33:54.2465981Z ✔ AgentRun closes its write contract against a type this build does not emit (0.287944ms) +2026-09-27T05:33:54.2606819Z ▶ agent swarm result contract +2026-09-27T05:33:54.2610088Z ✔ rejects malformed or widened result rows (4.417485ms) +2026-09-27T05:33:54.2643406Z ✔ keeps partial batches settled and classifies failed and cancelled batches (0.431589ms) +2026-09-27T05:33:54.2665475Z ✔ agent swarm result contract (7.03333ms) +2026-09-27T05:33:54.2816878Z ▶ canonical Artifact entity identity +2026-09-27T05:33:54.2817707Z ✔ accepts the shared ASCII grammar through the 128-character boundary (1.123065ms) +2026-09-27T05:33:54.2818554Z ✔ rejects values outside the canonical grammar (0.245311ms) +2026-09-27T05:33:54.2819275Z ✔ canonical Artifact entity identity (3.950389ms) +2026-09-27T05:33:54.2819813Z ▶ Artifact turn key +2026-09-27T05:33:54.2820574Z ✔ accepts bounded opaque turn keys without coupling to synthetic namespaces (0.332859ms) +2026-09-27T05:33:54.2821537Z ✔ rejects empty, unbounded, and control-bearing turn keys (0.241089ms) +2026-09-27T05:33:54.2822274Z ✔ Artifact turn key (0.854309ms) +2026-09-27T05:33:54.2881675Z ▶ Artifact source policy +2026-09-27T05:33:54.2943250Z ✔ keeps workflow-owned evidence out of independent user deletion (0.685713ms) +2026-09-27T05:33:54.2989972Z ✔ includes produced outputs in child results without leaking internal artifacts (0.430674ms) +2026-09-27T05:33:54.3007212Z ✔ keeps projection artifacts internal, durable, and readable in shared sessions (0.278891ms) +2026-09-27T05:33:54.3035701Z ✔ exposes directly written HTML files while keeping other tool results internal (0.195077ms) +2026-09-27T05:33:54.3071210Z ✔ Artifact source policy (2.052078ms) +2026-09-27T05:33:54.4099917Z ▶ attachment resource refs +2026-09-27T05:33:54.4154672Z ✔ round-trips one canonical Session Artifact without embedding Session authority (5.12652ms) +2026-09-27T05:33:54.4195748Z ✔ rejects file paths and non-canonical resource spellings (0.271857ms) +2026-09-27T05:33:54.4235879Z ✔ attachment resource refs (7.092173ms) +2026-09-27T05:33:54.4288212Z ▶ attachment content sniffing +2026-09-27T05:33:54.4315561Z ✔ recognises supported image and PDF signatures (0.615246ms) +2026-09-27T05:33:54.4389794Z ✔ does not sniff BMP: unsupported downstream, and its 2-byte marker is too weak (0.227965ms) +2026-09-27T05:33:54.4406228Z ✔ finds a PDF header behind a preamble, but keeps image sniffing at offset 0 (4.793078ms) +2026-09-27T05:33:54.4430760Z ✔ attachment content sniffing (6.009542ms) +2026-09-27T05:33:54.4469578Z ▶ resolveAttachmentMimeType (content-first precedence) +2026-09-27T05:33:54.4500655Z ✔ sniffed content wins over a conflicting name or supplied MIME (0.413621ms) +2026-09-27T05:33:54.4521353Z ✔ downgrades an unverified image/PDF claim to octet-stream (0.310838ms) +2026-09-27T05:33:54.4538167Z ✔ keeps a non-image document claim so real document kinds still resolve (0.253612ms) +2026-09-27T05:33:54.4562299Z ✔ resolveAttachmentMimeType (content-first precedence) (1.373578ms) +2026-09-27T05:33:54.4625310Z ▶ bot chat settings owner +2026-09-27T05:33:54.4636260Z ✔ normalizes an explicitly patched allowlist without touching it on unrelated patches (3.497975ms) +2026-09-27T05:33:54.4687510Z ✔ parses textarea allowlists with trim, deduplication, and the defensive cap (0.441569ms) +2026-09-27T05:33:54.4695904Z ✔ bot chat settings owner (5.304622ms) +2026-09-27T05:33:54.4715184Z ▶ bot event contract +2026-09-27T05:33:54.4745516Z ✔ derives sanitized session text and stable keys (1.415685ms) +2026-09-27T05:33:54.4755527Z ✔ recognizes only exact plaintext commands in direct messages (1.972303ms) +2026-09-27T05:33:54.4785395Z ✔ bot event contract (8.505507ms) +2026-09-27T05:33:54.5386289Z ▶ browser address input normalization +2026-09-27T05:33:54.5420111Z ✔ returns stable rejection reasons for non-navigable input (2.079344ms) +2026-09-27T05:33:54.5440875Z ✔ browser address input normalization (3.776474ms) +2026-09-27T05:33:54.6034727Z ✔ Local: immutable Session fields, lifecycle no-op and mixed admission ordering (393.544924ms) +2026-09-27T05:33:54.6575962Z ✔ serializes nested objects and arrays in one deterministic order (2.261185ms) +2026-09-27T05:33:54.6596424Z ✔ rejects values that JSON would otherwise coerce or omit (0.681404ms) +2026-09-27T05:33:54.6972208Z ▶ canonical RuntimeEvent encoding +2026-09-27T05:33:54.6973239Z ✔ omits undefined optional fields from token-usage diagnostics (8.154716ms) +2026-09-27T05:33:54.7056107Z ✔ still rejects undefined nested in arbitrary JSON payloads (0.966043ms) +2026-09-27T05:33:54.7195859Z ✔ canonical RuntimeEvent encoding (15.31186ms) +2026-09-27T05:33:54.7280721Z ▶ permission and capability snapshot contracts +2026-09-27T05:33:54.7316329Z ✔ disabled feature is paused, not permission denied (2.771705ms) +2026-09-27T05:33:54.7376820Z ✔ missing configuration is not_configured before runtime health (0.217171ms) +2026-09-27T05:33:54.7421285Z ✔ required denied or unsupported OS permission blocks capability (0.241186ms) +2026-09-27T05:33:54.7435706Z ✔ optional denied OS permission does not block a partial shipped capability (0.479006ms) +2026-09-27T05:33:54.7479632Z ✔ required not_determined or unknown OS permission is not configured yet (0.282332ms) +2026-09-27T05:33:54.7538355Z ✔ degraded runtime probe is surfaced after feature and permission gates pass (0.204335ms) +2026-09-27T05:33:54.7566337Z ✔ bot credentials_valid is runtime not_run, not operational (0.503067ms) +2026-09-27T05:33:54.7575451Z ✔ permission and capability snapshot contracts (7.029393ms) +2026-09-27T05:33:54.7661458Z ✔ legacy connection recovery opens the existing model picker when choices exist (1.301379ms) +2026-09-27T05:33:54.7685606Z ✔ legacy connection recovery falls back to Models settings only when no choice exists (0.256381ms) +2026-09-27T05:33:54.7705757Z ✔ an unsettled connection snapshot offers a reload instead of an empty picker (0.201641ms) +2026-09-27T05:33:54.7718479Z ✔ a live turn disables connection selection until model switching is safe (0.191895ms) +2026-09-27T05:33:54.7745626Z ✔ credential repair remains owned by Models settings (0.280996ms) +2026-09-27T05:33:54.8237012Z ▶ capability audit facts +2026-09-27T05:33:54.8238316Z ✔ reports skill tools and scheduled-task statuses without permission-mode aliases (17.458979ms) +2026-09-27T05:33:54.8241422Z ✔ capability audit facts (18.805968ms) +2026-09-27T05:33:54.8694825Z ✔ MCP grants preserve exact Session/provider/contract/tool authority without changing Desktop grants (7.397755ms) +2026-09-27T05:33:54.8796079Z ✔ Local: active WorkHub linkage requires target evidence and enforces bounds (278.260231ms) +2026-09-27T05:33:54.9072963Z ▶ the call a model reads back as its own +2026-09-27T05:33:54.9091574Z ✔ keeps the arguments it sent, so the shape it learns is the shape that worked (7.800449ms) +2026-09-27T05:33:54.9115743Z ✔ says how much a value held without saying what it was (0.384688ms) +2026-09-27T05:33:54.9135965Z ✔ a semantic element id comes back whole, and a broken one degrades (3.184977ms) +2026-09-27T05:33:54.9162000Z ✔ a window move reads back the place it asked for, and the verb it used (1.192867ms) +2026-09-27T05:33:54.9192426Z ✔ a scrolled element reads back which way and how far (0.424917ms) +2026-09-27T05:33:54.9222042Z ✔ a wait reads back what it was waiting for (0.256891ms) +2026-09-27T05:33:54.9261638Z ✔ a sequence stays a list of steps, with each label withheld (3.848595ms) +2026-09-27T05:33:54.9288366Z ✔ keeps a value the model chose itself (3.650038ms) +2026-09-27T05:33:54.9298223Z ✔ never shows a host-only field as though the model had sent it (1.428793ms) +2026-09-27T05:33:54.9317447Z ✔ never shows the element identity the host resolved for itself (0.358038ms) +2026-09-27T05:33:54.9352326Z ✔ a withheld value is a description of one, not a string that can be resent (0.405984ms) +2026-09-27T05:33:54.9375538Z ✔ answers a camelCase key in the dialect the tool accepts (3.555533ms) +2026-09-27T05:33:54.9400816Z ✔ the call a model reads back as its own (41.609557ms) +2026-09-27T05:33:54.9607311Z ▶ Computer Use foundation contract +2026-09-27T05:33:54.9648374Z ✔ classifies read, screenshot, keyboard, and semantic approval (3.096534ms) +2026-09-27T05:33:54.9693413Z ✔ approval summaries never expose text or coordinates (1.982721ms) +2026-09-27T05:33:54.9698873Z ✔ unbound mutations cannot be remembered for the turn (0.559891ms) +2026-09-27T05:33:54.9785663Z ✔ targetless reads and screenshot downgrade attempts cannot be remembered (0.447718ms) +2026-09-27T05:33:54.9833544Z ✔ display redaction does not collapse exact authorization identity (0.879682ms) +2026-09-27T05:33:54.9884894Z ✔ approval display values redact secret-shaped app and observation identifiers (0.30952ms) +2026-09-27T05:33:54.9955255Z ✔ a secret-shaped element id is redacted on the same terms as an app name (0.795587ms) +2026-09-27T05:33:54.9956472Z ✔ a secret-shaped observation id is redacted, and a real one is not (0.340825ms) +2026-09-27T05:33:54.9957490Z ✔ approval scope separates read, screenshot, and mutation classes (0.928931ms) +2026-09-27T05:33:54.9958422Z ✔ approval scope uses collision-safe structural encoding (0.702242ms) +2026-09-27T05:33:54.9959413Z ✔ rejects accessor-backed approval identity without invoking the getter (0.44704ms) +2026-09-27T05:33:54.9960399Z ✔ unknown action names are not copied into permission events (0.150352ms) +2026-09-27T05:33:54.9961334Z ✔ raw UI text is not accepted as an observation identifier (0.111986ms) +2026-09-27T05:33:54.9962139Z ✔ Computer Use foundation contract (17.68091ms) +2026-09-27T05:33:54.9962765Z ▶ the call as the model reads it back +2026-09-27T05:33:54.9963537Z ✔ speaks the tool argument names, not the host approval dialect (0.603556ms) +2026-09-27T05:33:54.9964669Z ✔ host-only approval fields are never shown as though the model sent them (0.296515ms) +2026-09-27T05:33:54.9965557Z ✔ a key name is a closed-set choice the model made, so it reads it back (0.312658ms) +2026-09-27T05:33:54.9966440Z ✔ an element action name is a closed-set choice too (0.240942ms) +2026-09-27T05:33:54.9967390Z ✔ the same argument name stays withheld where it carries screen or typed text (0.705519ms) +2026-09-27T05:33:54.9968433Z ✔ an argument the model sent keeps its key even when its value is withheld (0.271088ms) +2026-09-27T05:33:54.9969449Z ✔ semantic window geometry is the model's own output, so it reads it back (0.616619ms) +2026-09-27T05:33:54.9970480Z ✔ a geometry argument that is not integers still degrades to a shape (0.379631ms) +2026-09-27T05:33:54.9971773Z ✔ an action the tool cannot accept is reported as the model sent it (0.186425ms) +2026-09-27T05:33:54.9972698Z ✔ a non-string action is the only thing left that reads as unknown (0.105031ms) +2026-09-27T05:33:54.9973494Z ✔ the call as the model reads it back (5.113267ms) +2026-09-27T05:33:55.1296491Z ✔ Local: operational purge removes tool and Goal facts without deleting the Session (251.400242ms) +2026-09-27T05:33:55.2738335Z ✔ Local: close drains entered backend calls and concurrent opens share one owner (140.381245ms) +2026-09-27T05:33:55.2835805Z ▶ isConnectionReady — model capability gate +2026-09-27T05:33:55.2871978Z ✔ rejects an explicitly image-only default model (10.93672ms) +2026-09-27T05:33:55.2887577Z ✔ rejects an explicitly image-only requested model even when the default is chat-capable (0.312511ms) +2026-09-27T05:33:55.2961273Z ✔ rejects a discovered model after the user disables it (0.251751ms) +2026-09-27T05:33:55.3013942Z ✔ keeps explicit chat models send-ready even when they also support image generation (0.245768ms) +2026-09-27T05:33:55.3048208Z ✔ does not block models with unknown capability metadata (0.264462ms) +2026-09-27T05:33:55.3075672Z ✔ keeps optional-key LocalAI ready when no credential is stored (0.206225ms) +2026-09-27T05:33:55.3106880Z ✔ keeps Vercel Gateway gated on its key (3.687387ms) +2026-09-27T05:33:55.3108329Z ✔ does not let a live list veto a model the user enabled (6.089737ms) +2026-09-27T05:33:55.3154855Z ✔ does not let a seed list veto a default model (0.296442ms) +2026-09-27T05:33:55.3195322Z ✔ admits an enabled model a snapshot provider never listed (0.368032ms) +2026-09-27T05:33:55.3228467Z ✔ still rejects a snapshot model the snapshot itself marks image-only (3.231977ms) +2026-09-27T05:33:55.3255946Z ✔ returns the normalized requested model id (0.215969ms) +2026-09-27T05:33:55.3283077Z ✔ isConnectionReady — model capability gate (39.124224ms) +2026-09-27T05:33:55.3330454Z ▶ isConnectionReady — retired provider gate +2026-09-27T05:33:55.3364103Z ✔ refuses to send on a retired provider (3.073049ms) +2026-09-27T05:33:55.3418440Z ✔ reports retirement rather than a repairable reason (0.17494ms) +2026-09-27T05:33:55.3455849Z ✔ isConnectionReady — retired provider gate (4.618311ms) +2026-09-27T05:33:55.5412898Z ✔ Local: uncertain open cannot retry or switch authority on the same lease (269.597086ms) +2026-09-27T05:33:55.7731019Z ✔ Local: failed close retains a revoked owner and forbids backend replacement (229.319757ms) +2026-09-27T05:33:55.9766101Z ✔ Local: owner revocation rejects calls in every selected domain (204.691145ms) +2026-09-27T05:33:56.1015888Z ▶ cron expression authority +2026-09-27T05:33:56.1075771Z ✔ compiles the canonical lists, ranges, and steps grammar (4.72906ms) +2026-09-27T05:33:56.1178442Z ✔ rejects aliases, coercion, irregular spacing, and malformed fields (0.391101ms) +2026-09-27T05:33:56.1245922Z ✔ reports bounded field errors before searching (0.347616ms) +2026-09-27T05:33:56.1345818Z ✔ normalizes Sunday and uses Vixie DOM/DOW OR semantics (24.306989ms) +2026-09-27T05:33:56.1376945Z ✔ finds sparse valid dates within the bounded search (915.05053ms) +2026-09-27T05:33:56.1465691Z ✔ enforces strictly-after and inclusive search bounds (0.50723ms) +2026-09-27T05:33:56.1525850Z ✔ moves forward by epoch minutes across local DST folds and gaps (135.391816ms) +2026-09-27T05:33:56.1555441Z ✔ cron expression authority (1087.906979ms) +2026-09-27T05:33:56.1595561Z ▶ Daily Review archive boundary +2026-09-27T05:33:56.1645787Z ✔ parses canonical identities without accepting impossible calendar dates (3.424637ms) +2026-09-27T05:33:56.1748655Z ✔ rejects structurally invalid canonical archives (1.194437ms) +2026-09-27T05:33:56.1835811Z ✔ Daily Review archive boundary (6.722746ms) +2026-09-27T05:33:56.1867503Z ✔ shouldShowLoserDialog defaults to showing; the launcher flag silences (1.128148ms) +2026-09-27T05:33:56.1868768Z ✔ the last launcher-owned result argument selects the private result file (5.374051ms) +2026-09-27T05:33:56.1955565Z ✔ a winner verdict carries no process identity (1.097673ms) +2026-09-27T05:33:56.1968259Z ✔ keeps a bounded redacted tail of diagnostic logs (11.157915ms) +2026-09-27T05:33:56.1997397Z ✔ collapses the home path belonging to the process that captured the logs (0.576259ms) +2026-09-27T05:33:56.2027017Z ✔ directory references require a Host and an absolute path with a closed shape (3.899637ms) +2026-09-27T05:33:56.2075647Z ✔ directory references are cloned and remain part of durable message identity (4.801434ms) +2026-09-27T05:33:56.2096826Z ✔ directory references survive queue aggregation, StoredMessage and RuntimeEvent decoding (2.876514ms) +2026-09-27T05:33:56.2149475Z ▶ display redactSecrets +2026-09-27T05:33:56.2169936Z ✔ masks URL userinfo credentials without swallowing host or path (13.929638ms) +2026-09-27T05:33:56.2195363Z ✔ display redactSecrets (17.070238ms) +2026-09-27T05:33:56.2230660Z ▶ display streaming suffix redactors +2026-09-27T05:33:56.2294825Z ✔ keeps a stable userinfo suffix compacted until the authority ends (4.587201ms) +2026-09-27T05:33:56.2374612Z ✔ does not treat a completed userinfo URL as a streaming suffix (0.466528ms) +2026-09-27T05:33:56.2445435Z ✔ still shortens a reversible provider token that reaches end-of-input (0.312199ms) +2026-09-27T05:33:56.2446382Z ✔ display streaming suffix redactors (5.750215ms) +2026-09-27T05:33:56.2845097Z ✔ recovery CTA opens the production Composer model picker (218.736458ms) +2026-09-27T05:33:56.2946035Z ✔ Local: mid-transaction WorkHub failure publishes none of the four coupled facts (319.14123ms) +2026-09-27T05:33:56.3145201Z ✔ unsettled recovery reloads the catalog without opening the picker (66.239416ms) +2026-09-27T05:33:56.3719925Z ▶ durable Tool Result projection +2026-09-27T05:33:56.3794258Z ✔ accepts only the closed current-version schema (4.157075ms) +2026-09-27T05:33:56.3828769Z ✔ rejects projections whose serialized JSON exceeds the durable byte bound (384.159946ms) +2026-09-27T05:33:56.3855740Z ✔ accepts only content-addressed references owned by the same Session protocol (2.958028ms) +2026-09-27T05:33:56.3883157Z ✔ empty recovery opens Models settings through the production route (30.547779ms) +2026-09-27T05:33:56.3923800Z ✔ admits only canonical safe image media types (0.806353ms) +2026-09-27T05:33:56.3975589Z ✔ applies the same bounded JSON budget to persisted projections (8.872708ms) +2026-09-27T05:33:56.4059749Z ✔ durable Tool Result projection (403.745615ms) +2026-09-27T05:33:56.4108213Z ✔ a live-turn lock disables the recovery CTA and keeps the picker closed (59.559879ms) +2026-09-27T05:33:56.4226370Z ✔ folds assistant deltas idempotently by source offset (4.974045ms) +2026-09-27T05:33:56.4265871Z ✔ aggregates inline references against the combined display text (1.278352ms) +2026-09-27T05:33:56.4295678Z ✔ preserves an explicit empty inline-reference marker while aggregating (0.336509ms) +2026-09-27T05:33:56.4356523Z ✔ round-trips Session snapshot provenance and rejects partial provenance (3.080175ms) +2026-09-27T05:33:56.4438054Z ✔ round-trips bounded tool step progress through the shared wire codec (0.56161ms) +2026-09-27T05:33:56.4525900Z ✔ rejects invalid tool step progress at both codec boundaries (0.241993ms) +2026-09-27T05:33:56.4555844Z ✔ structured capabilities survive wire normalization with immutable exact references (7.835945ms) +2026-09-27T05:33:56.4626006Z ✔ invalid variant capability is rejected: [{"modelId":"invented","level":"high"},{"modelId":"opaque-low","level":"low"}] (0.62097ms) +2026-09-27T05:33:56.4686024Z ✔ invalid variant capability is rejected: [{"modelId":"opaque-high","level":"high"},{"modelId":"opaque-low","level":"high"}] (0.209836ms) +2026-09-27T05:33:56.4804794Z ✔ invalid variant capability is rejected: [{"modelId":"opaque-high","level":"default"},{"modelId":"opaque-low","level":"low"}] (0.161673ms) +2026-09-27T05:33:56.4887492Z ✔ executor ids use one bounded canonical grammar (7.386052ms) +2026-09-27T05:33:56.4935745Z ▶ externalSessionMatchesQuery +2026-09-27T05:33:56.4958511Z ✔ an absent term selects everything (1.571519ms) +2026-09-27T05:33:56.4971757Z ✔ a term matches the title, case-insensitively (0.281758ms) +2026-09-27T05:33:56.5013598Z ✔ a term matches the project path (0.401501ms) +2026-09-27T05:33:56.5044316Z ✔ a term matches the source Session id (0.356666ms) +2026-09-27T05:33:56.5057166Z ✔ a term that matches neither excludes the row (0.291079ms) +2026-09-27T05:33:56.5075803Z ✔ a blank box is not a filter (0.202299ms) +2026-09-27T05:33:56.5105669Z ✔ an over-long term is truncated rather than refused (0.324172ms) +2026-09-27T05:33:56.5165952Z ✔ a term pasted from a Windows path finds a forward-slash summary (0.353595ms) +2026-09-27T05:33:56.5167105Z ✔ separator folding stays on the path pair and off the title (0.457642ms) +2026-09-27T05:33:56.5204917Z ✔ composed and decomposed Unicode name the same conversation (0.865846ms) +2026-09-27T05:33:56.5208936Z ✔ archived rows stay hidden unless asked for, term or no term (1.331846ms) +2026-09-27T05:33:56.5210022Z ✔ cwd and text both apply, not either (0.200443ms) +2026-09-27T05:33:56.5211003Z ✔ a term matching one field is enough (0.120426ms) +2026-09-27T05:33:56.5212507Z ✔ externalSessionMatchesQuery (10.642559ms) +2026-09-27T05:33:56.5213293Z ▶ sameExternalSessionPath +2026-09-27T05:33:56.5214132Z ✔ separators and a trailing slash do not change the project (0.433745ms) +2026-09-27T05:33:56.5215409Z ✔ a Windows drive letter is case-insensitive, a POSIX path is not (3.782669ms) +2026-09-27T05:33:56.5216437Z ✔ the POSIX root is not the same as an unknown cwd (0.176571ms) +2026-09-27T05:33:56.5217424Z ✔ a term with a trailing separator still names the project (0.203824ms) +2026-09-27T05:33:56.5218319Z ✔ different projects stay different (0.160309ms) +2026-09-27T05:33:56.5219124Z ✔ sameExternalSessionPath (5.084866ms) +2026-09-27T05:33:56.5220136Z ✔ Goal authority decoder rejects cross-authority execution state (3.738388ms) +2026-09-27T05:33:56.5221295Z ✔ Goal authority decoder normalizes pre-outbox records (0.357296ms) +2026-09-27T05:33:56.5384663Z ✔ parses Graph lifecycle controls without consuming ordinary one-shot tasks (4.80172ms) +2026-09-27T05:33:56.5621359Z ✔ Local: t1 mid-transaction failure rolls back the ledger and operation journal (269.129008ms) +2026-09-27T05:33:56.5964079Z ▶ HealthSignal contract +2026-09-27T05:33:56.5981723Z ✔ verified LLM connection is validation health, not runtime operational (1.597895ms) +2026-09-27T05:33:56.6015506Z ✔ separates connection test error classes from legacy diagnostics (1.135547ms) +2026-09-27T05:33:56.6053248Z ✔ a missing default model warns only when the workspace has no default target (0.542774ms) +2026-09-27T05:33:56.6081298Z ✔ a disabled default holder does not count as a workspace default (0.301567ms) +2026-09-27T05:33:56.6083753Z ✔ LLM runtime probe is separate from credential validation (0.382541ms) +2026-09-27T05:33:56.6084937Z ✔ disabled or unconfigured connections do not emit runtime probe health (0.181429ms) +2026-09-27T05:33:56.6092345Z ✔ summarizes independent connection and capability signals (0.819669ms) +2026-09-27T05:33:56.6093718Z ✔ capability denied and degraded remain distinct health states (0.282482ms) +2026-09-27T05:33:56.6095092Z ✔ partial-only capabilities are warnings, not app-wide error states (0.2667ms) +2026-09-27T05:33:56.6096035Z ✔ HealthSignal contract (8.011918ms) +2026-09-27T05:33:56.7127690Z ▶ workspace privacy context +2026-09-27T05:33:56.7187883Z ✔ accepts booleans and strips renderer-supplied authority fields (9.861314ms) +2026-09-27T05:33:56.7265186Z ✔ fails closed for non-objects and missing or non-boolean state (3.12732ms) +2026-09-27T05:33:56.7286984Z ✔ workspace privacy context (20.987361ms) +2026-09-27T05:33:56.7616174Z ✔ Local: t2 mid-transaction failure rolls back the ledger and operation journal (198.209816ms) +2026-09-27T05:33:56.8997870Z ▶ Interaction projection +2026-09-27T05:33:56.9026201Z ✔ projects tool permission without retaining raw args or secrets (3.763219ms) +2026-09-27T05:33:56.9059867Z ✔ redacts review secrets without changing execution args (1.449785ms) +2026-09-27T05:33:56.9106436Z ✔ redacts standard secret access keys in Bash and generic reviews (2.18504ms) +2026-09-27T05:33:56.9131912Z ✔ projects additional, sandbox, and all browser requests as exact closed reviews (13.585304ms) +2026-09-27T05:33:56.9170069Z ✔ projects generic registered tools as stable bounded redacted reviews (6.951396ms) +2026-09-27T05:33:56.9231807Z ✔ redacts multiline assignments in generic string fields without dropping later commands (0.522171ms) +2026-09-27T05:33:56.9242276Z ✔ redacts authorization in generic string fields without consuming the next line (0.357582ms) +2026-09-27T05:33:56.9244314Z ✔ preserves short generic tool fields and fails closed when they exceed the preview cap (41.488729ms) +2026-09-27T05:33:56.9246499Z ✔ fails closed for unrepresentable requests and malformed known optional fields (2.414523ms) +2026-09-27T05:33:56.9299102Z ✔ projects bounded questions with exact arity (0.935914ms) +2026-09-27T05:33:56.9334977Z ✔ projects secrets and unsafe review characters in question text (0.646975ms) +2026-09-27T05:33:56.9375511Z ✔ visibly escapes every omitted Bidi_Control code point in review labels (0.424503ms) +2026-09-27T05:33:56.9405466Z ✔ rejects labels that collide with a Bidi_Control visible escape (0.267645ms) +2026-09-27T05:33:56.9417839Z ✔ rejects option labels that collide after safe projection (0.537904ms) +2026-09-27T05:33:56.9436251Z ✔ Interaction projection (78.98055ms) +2026-09-27T05:33:56.9489839Z ▶ Interaction decoding and validity +2026-09-27T05:33:56.9518717Z ✔ accepts independently bounded sandbox fields without an invented combined cap (61.477152ms) +2026-09-27T05:33:56.9556722Z ✔ keeps sandbox boundary answers tied to exact boundary outcome semantics (1.096108ms) +2026-09-27T05:33:56.9589658Z ✔ keeps Client Capability approval tied to the exact Host grant target (4.535641ms) +2026-09-27T05:33:56.9650963Z ✔ strictly rejects widened shapes, sparse arrays, unsafe text, and serialized overflow (1.088817ms) +2026-09-27T05:33:56.9679199Z ✔ validates answer kind, arity, deny, and remember eligibility (0.45267ms) +2026-09-27T05:33:56.9733765Z ✔ validates canonical closures, equivalence, and safe integer commit times (3.529747ms) +2026-09-27T05:33:56.9751936Z ✔ decodes only bounded auto-review rationale (0.570684ms) +2026-09-27T05:33:56.9761700Z ✔ decodes the complete bounded primitive form contract (6.23279ms) +2026-09-27T05:33:56.9763057Z ✔ projects every human-facing form label through the safe review boundary (2.674051ms) +2026-09-27T05:33:56.9769175Z ✔ drops string defaults that cannot be represented without changing canonical semantics (0.921906ms) +2026-09-27T05:33:56.9785980Z ✔ rejects form option labels that collide after safe projection (0.950681ms) +2026-09-27T05:33:56.9793114Z ✔ reserves canonical outcome overhead before admitting an accepted form answer (1.781116ms) +2026-09-27T05:33:56.9795783Z ✔ validates date-time calendar and clock fields without Date.parse normalization (0.413457ms) +2026-09-27T05:33:56.9796840Z ✔ rejects malformed form schemas and invalid accepted values (1.075867ms) +2026-09-27T05:33:56.9815454Z ✔ rejects forms that cannot produce a bounded accepted answer (6.948727ms) +2026-09-27T05:33:56.9816331Z ✔ reserves the worst-case escaped answer envelope at admission (5.102643ms) +2026-09-27T05:33:56.9817190Z ✔ admits date and date-time strings without an explicit maxLength (0.975497ms) +2026-09-27T05:33:56.9818006Z ✔ compares canonical accepted form values structurally (0.402319ms) +2026-09-27T05:33:56.9818832Z ✔ decodes form responses as a closed renderer-to-runtime shape (0.399696ms) +2026-09-27T05:33:56.9819587Z ✔ Interaction decoding and validity (109.498244ms) +2026-09-27T05:33:56.9820608Z ✔ Local: handoff preserves distinct admission times and rejects wrong or absent proofs (217.353221ms) +2026-09-27T05:33:56.9825294Z ✔ slug validation returns stable issues and preserves format and length boundaries (4.600908ms) +2026-09-27T05:33:56.9868834Z ✔ connection base URLs allow HTTP(S) and reject unsafe or malformed inputs (0.391226ms) +2026-09-27T05:33:56.9906522Z ✔ base URL normalization preserves clear intent and rejects untrusted runtime types (8.118379ms) +2026-09-27T05:33:56.9922872Z ✔ unknown provider ids fail closed without breaking persisted connections (0.351248ms) +2026-09-27T05:33:56.9985533Z ✔ a fetch never deletes a choice the user made (0.56731ms) +2026-09-27T05:33:57.0037113Z ✔ an authoritative account catalog removes unavailable bootstrap and stale models (0.29297ms) +2026-09-27T05:33:57.0085731Z ✔ model reconciliation never invents a default the user cleared (0.262438ms) +2026-09-27T05:33:57.0095852Z ✔ a renamed id follows its model, and only for a caller that supplies the table (0.244395ms) +2026-09-27T05:33:57.0155742Z ✔ the alias table is selected by provider and names only renames (9.89696ms) +2026-09-27T05:33:57.0185750Z ✔ the model picker lists an enabled model a snapshot provider never listed (6.922808ms) +2026-09-27T05:33:57.0215825Z ✔ chat model choices project exact vision support for attachment composition (0.431808ms) +2026-09-27T05:33:57.0245937Z ✔ chat model choices keep provider metadata separate from user context declarations (12.103052ms) +2026-09-27T05:33:57.0247091Z ✔ provider recognition does not resolve inherited object members (1.440083ms) +2026-09-27T05:33:57.0284857Z ✔ stored OpenCode Free models cannot be selected (0.293367ms) +2026-09-27T05:33:57.0301752Z ▶ local MEMORY.md contract +2026-09-27T05:33:57.0340434Z ✔ defaults file enabled but agent read disabled (1.565035ms) +2026-09-27T05:33:57.0352394Z ✔ normalizes malformed settings fail-closed for agent reads (1.048601ms) +2026-09-27T05:33:57.0365765Z ✔ treats only the first metadata comment in a section as authoritative (1.432937ms) +2026-09-27T05:33:57.0375830Z ✔ builds prompt body from active entries only and omits metadata comments (3.339214ms) +2026-09-27T05:33:57.0479716Z ✔ projects session-scoped entries only into their owning session (1.344477ms) +2026-09-27T05:33:57.0505718Z ✔ excludes pending, rejected, and unknown statuses from prompt injection (0.60443ms) +2026-09-27T05:33:57.0551127Z ✔ does not split a Unicode scalar at the prompt budget boundary (5.029867ms) +2026-09-27T05:33:57.0682563Z ✔ creates pending proposals and keeps approval explicit (2.651631ms) +2026-09-27T05:33:57.0683554Z ✔ preserves the owning session when approving a session-scoped proposal (1.480635ms) +2026-09-27T05:33:57.0684843Z ✔ rejects new session-scoped entries without a canonical session identity (1.067731ms) +2026-09-27T05:33:57.0789176Z ✔ rejects pending proposals without creating active memory (1.651731ms) +2026-09-27T05:33:57.0803247Z ✔ rejects entry status updates for invalid or missing ids (0.415964ms) +2026-09-27T05:33:57.0837142Z ✔ rejects blank manual draft entries and oversized resulting drafts (0.724107ms) +2026-09-27T05:33:57.0862190Z ✔ pins persisted memory ids to the injected Node digest (0.893209ms) +2026-09-27T05:33:57.0879463Z ✔ returns safe mode instead of parsing oversized content (0.403137ms) +2026-09-27T05:33:57.0910818Z ✔ local MEMORY.md contract (26.456381ms) +2026-09-27T05:33:57.0915239Z ▶ long-term memory contract +2026-09-27T05:33:57.0935388Z ✔ fails closed over invalid temporal combinations (1.610858ms) +2026-09-27T05:33:57.0952409Z ✔ long-term memory contract (2.941526ms) +2026-09-27T05:33:57.1165850Z ▶ MCP credential retirement +2026-09-27T05:33:57.1196072Z ✔ retires credentials when an id is removed, repointed, or changes transport (11.064702ms) +2026-09-27T05:33:57.1258299Z ✔ keeps credentials when endpoint ownership does not change (0.248596ms) +2026-09-27T05:33:57.1306749Z ✔ retires credentials when a static OAuth registration changes (0.294015ms) +2026-09-27T05:33:57.1310201Z ✔ MCP credential retirement (16.420533ms) +2026-09-27T05:33:57.1818771Z ▶ MCP host classification +2026-09-27T05:33:57.1927289Z ✔ classifies IPv6 literals by parsed bytes, not spelling (13.725247ms) +2026-09-27T05:33:57.1986616Z ✔ covers the whole fe80::/10 link-local range, not just the fe8 spelling (0.359487ms) +2026-09-27T05:33:57.2006860Z ✔ classifies deprecated IPv4-compatible ::/96 embeddings by their bytes (0.325612ms) +2026-09-27T05:33:57.2088111Z ✔ classifies the remaining translation embeddings and the mapped unspecified address (7.665024ms) +2026-09-27T05:33:57.2120617Z ✔ treats exactly 0.0.0.0 as machine-local in the plain IPv4 branch too (0.251756ms) +2026-09-27T05:33:57.2179203Z ✔ rejects literals RFC 4291 does not permit instead of mis-parsing them (0.228504ms) +2026-09-27T05:33:57.2255647Z ✔ keeps global addresses reachable and fails closed on garbage (0.211024ms) +2026-09-27T05:33:57.2308280Z ✔ MCP host classification (30.733661ms) +2026-09-27T05:33:57.2345818Z ✔ Local: Graph schedule fence and Session provisioning share one authority (222.85776ms) +2026-09-27T05:33:57.2385372Z ▶ MCP secret inventory and scrubbing +2026-09-27T05:33:57.2465536Z ✔ substitutes longer secrets before their prefixes (1.17907ms) +2026-09-27T05:33:57.2495898Z ✔ bounded-substitutes short fragments of a longer credential instead of withholding (1.850521ms) +2026-09-27T05:33:57.2555548Z ✔ MCP secret inventory and scrubbing (4.684893ms) +2026-09-27T05:33:57.3195750Z ▶ ModelCallAttempt codec +2026-09-27T05:33:57.3231651Z ✔ accepts the folded prompt composition on the canonical attempt (12.147674ms) +2026-09-27T05:33:57.3256429Z ✔ rejects a composition that names one bucket twice (0.559323ms) +2026-09-27T05:33:57.3326722Z ✔ rejects a composition carrying more named tools than the fold can produce (0.347703ms) +2026-09-27T05:33:57.3328079Z ✔ still decodes the prepared-request observation recorded before the fold (0.665283ms) +2026-09-27T05:33:57.3336660Z ✔ rejects a prepared-request observation whose semantic segments are out of order (0.326877ms) +2026-09-27T05:33:57.3363170Z ✔ rejects a bounded remainder that claims exact comparison (0.400523ms) +2026-09-27T05:33:57.3419576Z ✔ accepts bounded provider failure diagnostics on history compaction calls (0.238287ms) +2026-09-27T05:33:57.3460633Z ✔ rejects invalid or unbounded provider failure diagnostics (5.846586ms) +2026-09-27T05:33:57.3535701Z ✔ rejects an unpriced attempt that carries a cost (1.15167ms) +2026-09-27T05:33:57.3536504Z ✔ rejects a priced attempt that carries no cost (0.40106ms) +2026-09-27T05:33:57.3570122Z ✔ rejects missing usage that still carries tokens (0.298516ms) +2026-09-27T05:33:57.3587673Z ✔ rejects completedAt before startedAt (0.196146ms) +2026-09-27T05:33:57.3641711Z ✔ rejects unknown fields, wrong schema version, and bad enums (0.284969ms) +2026-09-27T05:33:57.3667050Z ✔ rejects empty identity and non-integer ordinals (0.271326ms) +2026-09-27T05:33:57.3673317Z ✔ rejects empty attribution keys (7.539363ms) +2026-09-27T05:33:57.3717680Z ✔ rejects negative and non-finite amounts (0.476385ms) +2026-09-27T05:33:57.3752449Z ✔ validates optional pricing rates when present (2.680581ms) +2026-09-27T05:33:57.3753287Z ✔ ModelCallAttempt codec (46.931635ms) +2026-09-27T05:33:57.3775446Z ▶ ModelCallAttempt projections +2026-09-27T05:33:57.3805696Z ✔ groups retries under one logical call (0.402809ms) +2026-09-27T05:33:57.3885714Z ✔ a replayed attemptId is the same call, kept at its last value (0.182695ms) +2026-09-27T05:33:57.3959823Z ✔ ModelCallAttempt projections (1.881302ms) +2026-09-27T05:33:57.4016672Z ✔ maps each request-composition category to the same colour in the chart and legend (14.279934ms) +2026-09-27T05:33:57.4397335Z ✔ Local: stable create, detached snapshots, metadata CAS and message admission identity (237.174749ms) +2026-09-27T05:33:57.6365368Z ✔ Local: WorkHub assignment publishes target, pending message and coordination fact together (195.403358ms) +2026-09-27T05:33:57.8710450Z ✔ Local: lost WorkHub acknowledgement is recovered by an exact retry after reopen (231.838733ms) +2026-09-27T05:33:58.1906589Z ✔ Local: T1/T2 atomicity, replay, identity conflicts and terminal seal (309.052196ms) +2026-09-27T05:33:58.3349768Z ✔ formats context-window capacity with stable K/M units in every UI locale (1.229ms) +2026-09-27T05:33:58.3430604Z ✔ formats context-window capacity with at most one decimal and promotes rounded K values to M (3.333434ms) +2026-09-27T05:33:58.4577968Z ✔ Local: commitToolPrepared lost acknowledgement does not duplicate facts (279.291836ms) +2026-09-27T05:33:58.5805922Z ✔ Local: commitToolOutcome lost acknowledgement does not duplicate facts (119.038405ms) +2026-09-27T05:33:58.6696669Z ✔ Local: authentic grouped authority rejects backend mixing and retained calls after close (95.530703ms) +2026-09-27T05:33:58.9005650Z ✔ Local: Goal CAS and Session retirement use the same transaction domain (228.441554ms) +2026-09-27T05:33:58.9687497Z ✔ Memory: plugin executor routes survive configuration and catalog projection (69.79288ms) +2026-09-27T05:33:59.0319787Z ✔ Memory: bounded prefix proofs match immutable history and reject exceeded budgets (58.50275ms) +2026-09-27T05:33:59.0516293Z ✔ Memory: recovery message evidence has equivalent UTF-8 byte budgets (18.460974ms) +2026-09-27T05:33:59.0929860Z ✔ Memory: transcript projection consumes bounded detached event iterators (47.007966ms) +2026-09-27T05:33:59.1505556Z ✔ Memory: transcript serves a running Turn up to the watermark (50.328571ms) +2026-09-27T05:33:59.2526356Z ✔ Memory: a transcript Turn spans every visible invocation carrying its turnId (107.557596ms) +2026-09-27T05:33:59.3356265Z ✔ Memory: steering reorder preserves unselected and followup queue slots (80.561637ms) +2026-09-27T05:33:59.4109585Z ✔ Memory: catalog lists subagent Sessions unless a parent filter restricts them (78.494626ms) +2026-09-27T05:33:59.6651820Z ✔ Memory: catalog paginates parents and subagent Sessions without omissions (250.883544ms) +2026-09-27T05:33:59.7653486Z ✔ Memory: catalog hides preparing copies until publication without losing recovery state (105.105538ms) +2026-09-27T05:33:59.7993301Z ✔ Memory: imported message projection finishes before commit starts (34.082508ms) +2026-09-27T05:33:59.8580863Z ✔ Memory: external import lookup excludes staged Sessions (56.480906ms) +2026-09-27T05:34:00.0283934Z ✔ does not render legacy zero cost as a known free Session (10.550325ms) +2026-09-27T05:34:00.0396947Z ✔ reports incomplete provenance as unavailable regardless of recorded request count (1.24198ms) +2026-09-27T05:34:00.0449200Z ✔ Memory: catalog pagination visits mixed-case tied IDs exactly once in Local order (172.621547ms) +2026-09-27T05:34:00.0479163Z ✔ does not estimate a cache-hit ratio from partial usage (0.780822ms) +2026-09-27T05:34:00.0590089Z ✔ derives per-turn cost only from priced model-call step totals (2.149633ms) +2026-09-27T05:34:00.0653868Z ✔ shows one compact diagnostic line for a failed history-compaction call (0.454357ms) +2026-09-27T05:34:00.0689713Z ✔ reports runs omitted only by the bounded online view separately (1.279777ms) +2026-09-27T05:34:00.0788982Z ✔ Memory: catalog reads explicitly opt into the recoverable coordination role (47.180543ms) +2026-09-27T05:34:00.1181930Z ✔ Memory: WorkHub binds delegated text and copied attachments to admission and replay (40.59584ms) +2026-09-27T05:34:00.1816678Z ✔ Memory: closed children cannot escape the execution group authority (63.342971ms) +2026-09-27T05:34:00.2052160Z ✔ Memory: child bindings stay reserved while group close is pending (23.824432ms) +2026-09-27T05:34:00.2506756Z ✔ Memory: nested Code Mode tool progress stays outside the immutable ledger (44.503409ms) +2026-09-27T05:34:00.2936585Z ✔ Memory: conversation copy rebuilds Tool T1/T2 projections and exact retries (44.511644ms) +2026-09-27T05:34:00.3409446Z ✔ Memory: completed conversation copy can replay T2 without a prior live T1 (45.680553ms) +2026-09-27T05:34:00.4604987Z ✔ Memory: a lost copy acknowledgement retries without duplicating facts (121.245251ms) +2026-09-27T05:34:00.5376345Z ✔ Memory: copy cannot steal another Session tool operation during projection rebuild (74.764169ms) +2026-09-27T05:34:00.6056541Z ✔ Memory: copied recovery bundles preserve parked state and reject incomplete evidence (68.389396ms) +2026-09-27T05:34:00.6864062Z ✔ Memory: corrupt copy and conflicting run retries roll back the whole import (79.92999ms) +2026-09-27T05:34:00.7432691Z ✔ Memory: model configuration and no-op updates preserve approved sandbox authority (59.515544ms) +2026-09-27T05:34:00.8206236Z ✔ Memory: temporary Explore and Bypass restore approved Auto authority (74.977724ms) +2026-09-27T05:34:00.9169171Z ✔ Memory: configuration cannot clear an unrelated block or invalid timestamp (93.867366ms) +2026-09-27T05:34:01.0175765Z ✔ Memory: immutable Session fields, lifecycle no-op and mixed admission ordering (104.399495ms) +2026-09-27T05:34:01.1649036Z ✔ Memory: active WorkHub linkage requires target evidence and enforces bounds (145.952682ms) +2026-09-27T05:34:01.2387164Z ✔ Memory: operational purge removes tool and Goal facts without deleting the Session (70.365935ms) +2026-09-27T05:34:01.2758675Z ✔ Memory: close drains entered backend calls and concurrent opens share one owner (38.363219ms) +2026-09-27T05:34:01.3360170Z ▶ Session Inspector Pricing key +2026-09-27T05:34:01.3389171Z ✔ uses the canonical provider rather than the connection slug for an unpriced call (3.73945ms) +2026-09-27T05:34:01.3423602Z ✔ does not offer a Pricing key when the call was priced (0.28415ms) +2026-09-27T05:34:01.3495584Z ✔ Session Inspector Pricing key (5.4435ms) +2026-09-27T05:34:01.3567635Z ✔ Memory: uncertain open cannot retry or switch authority on the same lease (70.94121ms) +2026-09-27T05:34:01.3990755Z ✔ Memory: failed close retains a revoked owner and forbids backend replacement (54.708151ms) +2026-09-27T05:34:01.4319399Z ✔ Memory: owner revocation rejects calls in every selected domain (32.735494ms) +2026-09-27T05:34:01.4815764Z ✔ Memory: mid-transaction WorkHub failure publishes none of the four coupled facts (48.51907ms) +2026-09-27T05:34:01.5606197Z ✔ Memory: t1 mid-transaction failure rolls back the ledger and operation journal (75.345763ms) +2026-09-27T05:34:01.6176559Z ✔ Memory: t2 mid-transaction failure rolls back the ledger and operation journal (57.820918ms) +2026-09-27T05:34:01.6597036Z ✔ Memory: handoff preserves distinct admission times and rejects wrong or absent proofs (38.411347ms) +2026-09-27T05:34:01.7317842Z ✔ catalog transport preserves independent limits and their unmodified defaults (14.607669ms) +2026-09-27T05:34:01.7346281Z ✔ GPT-6 Sol and Luna use GPT labels and expose supported thinking levels (6.809102ms) +2026-09-27T05:34:01.7370619Z ✔ a live inventory annotates a model it omits and preserves higher-priority failures (2.997036ms) +2026-09-27T05:34:01.7426221Z ✔ chat-default validation blocks image-only models but accepts merged partial facts (0.432221ms) +2026-09-27T05:34:01.7481387Z ✔ a declared output modality without text rules a model out of chat (4.218174ms) +2026-09-27T05:34:01.7545633Z ✔ an empty output modality list is not evidence against chat (0.359921ms) +2026-09-27T05:34:01.7546652Z ✔ an explicit chat capability outranks the declared output modality (2.571308ms) +2026-09-27T05:34:01.7547703Z ✔ the catalog and the readiness gate agree that no catalog is a veto (0.780183ms) +2026-09-27T05:34:01.7605786Z ✔ failed or pending discovery keeps the static fallback catalog visible (5.25557ms) +2026-09-27T05:34:01.7656607Z ✔ an explicitly fetched empty inventory remains authoritative (2.422007ms) +2026-09-27T05:34:01.7705770Z ✔ a persisted empty discovery result preserves the connection fallback through the public catalog path (7.376607ms) +2026-09-27T05:34:01.7749255Z ✔ connection catalogs list every model the user saved without inventing availability (0.286298ms) +2026-09-27T05:34:01.7798005Z ✔ every picker sees a model the user enabled but no catalog describes (0.463486ms) +2026-09-27T05:34:01.7812978Z ✔ catalog provenance follows the projected model facts marker used in production (0.229046ms) +2026-09-27T05:34:01.7847681Z ✔ fallback provider catalogs include projected facts-backed models (0.248967ms) +2026-09-27T05:34:01.7877118Z ✔ fallback provider catalogs apply facts to known fallback models (6.096845ms) +2026-09-27T05:34:01.7893834Z ✔ unknown persisted provider ids return an empty catalog (0.192882ms) +2026-09-27T05:34:01.7916917Z ✔ Alibaba Token Plan catalogs the formal Qwen3.8 model instead of its retired preview alias (6.786689ms) +2026-09-27T05:34:01.8010083Z ✔ Alibaba (China) catalogs Qwen3.8 Max as the default model on the China endpoint (9.17454ms) +2026-09-27T05:34:01.8048372Z ✔ DeepSeek catalogs the V4 vision model display metadata from a bare provider id (0.290523ms) +2026-09-27T05:34:01.8107368Z ✔ no provider resolves past the wire bound at the storage maxima (4225.753968ms) +2026-09-27T05:34:01.8147833Z ✔ catalog preserves the image default through overrides and the wire (0.901752ms) +2026-09-27T05:34:01.8175150Z ✔ Memory: Graph schedule fence and Session provisioning share one authority (119.004835ms) +2026-09-27T05:34:01.8185606Z ✔ malformed and unknown model fact fields are rejected (2.454001ms) +2026-09-27T05:34:01.8231795Z ✔ model fact keys preserve colons in provider model ids (0.3099ms) +2026-09-27T05:34:01.8265615Z ▶ provider model-catalog completeness +2026-09-27T05:34:01.8276628Z ✔ treats only GitHub Copilot discovery as a complete account catalog (0.857124ms) +2026-09-27T05:34:01.8315776Z ✔ provider model-catalog completeness (2.16566ms) +2026-09-27T05:34:01.8316529Z ▶ OpenAI Codex OAuth metadata +2026-09-27T05:34:01.8345836Z ✔ does not inherit public API input limits across shipped, refreshed, and fallback metadata (1.512816ms) +2026-09-27T05:34:01.8375235Z ✔ OpenAI Codex OAuth metadata (2.40472ms) +2026-09-27T05:34:01.8393081Z ▶ model-metadata token limits +2026-09-27T05:34:01.8471385Z ✔ refuses to install a table whose limits the wire cannot carry (1.001104ms) +2026-09-27T05:34:01.8497018Z ✔ commits no limit outside the wire domain in any bundled or static layer (5.907087ms) +2026-09-27T05:34:01.8515445Z ✔ model-metadata token limits (7.21588ms) +2026-09-27T05:34:01.8545541Z ▶ model-metadata vision capability +2026-09-27T05:34:01.8567726Z ✔ treats a Claude newer than the generated snapshot as able to read images (2.180609ms) +2026-09-27T05:34:01.8629730Z ✔ still fails closed for the Claude generation that cannot read images (0.230737ms) +2026-09-27T05:34:01.8748420Z ✔ confines the default to the providers that serve Anthropic their own models (0.163679ms) +2026-09-27T05:34:01.8809220Z ✔ yields to what a connection reports, in both directions (0.190297ms) +2026-09-27T05:34:01.8867459Z ✔ lets a user declaration outrank every other signal, in both directions (0.159111ms) +2026-09-27T05:34:01.8918982Z ✔ model-metadata vision capability (3.734892ms) +2026-09-27T05:34:01.8974541Z ▶ openAiAdapterApiProtocol +2026-09-27T05:34:01.9025723Z ✔ routes normalized GPT-5 and GPT-6 families to the Responses wire (0.485261ms) +2026-09-27T05:34:01.9077072Z ✔ keeps an older OpenAI model on the Chat Completions wire (0.138838ms) +2026-09-27T05:34:01.9105522Z ✔ routes only xAI Grok 4.5 through Responses (0.14488ms) +2026-09-27T05:34:01.9126758Z ✔ routes official DeepSeek V4 models through the provider Responses wire (0.163494ms) +2026-09-27T05:34:01.9134911Z ✔ routes only OpenCode Go Muse Spark through its supported Responses wire (1.693122ms) +2026-09-27T05:34:01.9165784Z ✔ routes only Qwen3.8 Max through Alibaba Token Plan Responses (0.180991ms) +2026-09-27T05:34:01.9188514Z ✔ openAiAdapterApiProtocol (3.228324ms) +2026-09-27T05:34:01.9207293Z ▶ deepseek v4 flash vision exp metadata regression +2026-09-27T05:34:01.9245638Z ✔ resolves the bare model id with vision support (0.176614ms) +2026-09-27T05:34:01.9253425Z ✔ keeps the vision-capable baseline model in the deepseek shipped baseline (0.108742ms) +2026-09-27T05:34:01.9275499Z ✔ returns expected metadata from lookupModelMetadata (0.298361ms) +2026-09-27T05:34:01.9305639Z ✔ is recognized from a bare discovered id (0.121302ms) +2026-09-27T05:34:01.9323364Z ✔ deepseek v4 flash vision exp metadata regression (0.929623ms) +2026-09-27T05:34:01.9345330Z ▶ Volcengine Agent Plan official catalog mirror +2026-09-27T05:34:01.9365651Z ✔ offers glm-5.3-flash with the facts the plan page publishes (0.185056ms) +2026-09-27T05:34:01.9391060Z ✔ pins glm-5.3 to the plan page table literals (0.074256ms) +2026-09-27T05:34:01.9418617Z ✔ carries the official 1M context window for minimax-m3 (0.089341ms) +2026-09-27T05:34:01.9445792Z ✔ records the upstream retirement of glm-5.2, kimi-k2.6 and minimax-m2.7 (0.088081ms) +2026-09-27T05:34:01.9475459Z ✔ Volcengine Agent Plan official catalog mirror (0.622048ms) +2026-09-27T05:34:01.9505377Z ▶ Command Code static reasoning metadata +2026-09-27T05:34:01.9506601Z ✔ serves the effort table to the Command Code provider (0.30194ms) +2026-09-27T05:34:01.9535542Z ✔ keeps every declared effort a known ThinkingLevel (0.714962ms) +2026-09-27T05:34:01.9558786Z ✔ leaves a model without a declared level uncovered (0.125903ms) +2026-09-27T05:34:01.9586278Z ✔ Command Code static reasoning metadata (1.313115ms) +2026-09-27T05:34:01.9630445Z ▶ model projection transition schema +2026-09-27T05:34:01.9655617Z ✔ digests the same projection identically regardless of key order (3.168664ms) +2026-09-27T05:34:01.9665405Z ✔ binds the record to the projection it may replace (2.510127ms) +2026-09-27T05:34:01.9695503Z ✔ derives one id from content, so a duplicated concurrent append is idempotent (2.62299ms) +2026-09-27T05:34:01.9717098Z ✔ rejects a record that belongs to another Session (0.663895ms) +2026-09-27T05:34:01.9745035Z ✔ rejects an unknown field and an unrepresentable replacement (2.020447ms) +2026-09-27T05:34:01.9775698Z ✔ model projection transition schema (14.550243ms) +2026-09-27T05:34:01.9806442Z ▶ latestAssistantModelId +2026-09-27T05:34:01.9820941Z ✔ returns undefined until an assistant response exists (4.557124ms) +2026-09-27T05:34:01.9847458Z ✔ uses the latest assistant model as the actual baseline (0.263064ms) +2026-09-27T05:34:01.9867073Z ✔ latestAssistantModelId (6.452791ms) +2026-09-27T05:34:01.9893055Z ✔ declarable relay levels are every intensity tier but off (2.487143ms) +2026-09-27T05:34:01.9919759Z ✔ relay profiles preserve the fast service tier declaration (0.298797ms) +2026-09-27T05:34:01.9947641Z ✔ per-model thinking defaults resolve only when the model offers the level (2.526111ms) +2026-09-27T05:34:01.9956200Z ✔ Fast visibility mirrors the pinned OpenAI SDK priority-processing families (0.848424ms) +2026-09-27T05:34:01.9985168Z ✔ a model wire is its declaration, then discovery, then the connection default (0.261172ms) +2026-09-27T05:34:02.0018470Z ✔ modelOverride returns undefined without a usable declaration (0.323685ms) +2026-09-27T05:34:02.0045800Z ✔ modelOverride normalizes order, keeps explicit vision:false, and bounds context windows (0.398667ms) +2026-09-27T05:34:02.0060845Z ✔ modelOverride honours a declaration on any provider (0.287324ms) +2026-09-27T05:34:02.0074776Z ✔ normalizeModelOverrides sanitizes write-side tables (0.58967ms) +2026-09-27T05:34:02.0106810Z ✔ resolveThinkingLevel discards levels the model does not offer (1.737111ms) +2026-09-27T05:34:02.0139376Z ✔ Alibaba Token Plan exposes the formal Qwen3.8 effort and disable contract (0.654293ms) +2026-09-27T05:34:02.0166049Z ✔ normalizes per-model ApplyPatch without confusing false with automatic (0.234655ms) +2026-09-27T05:34:02.0185240Z ✔ ApplyPatch defaults are model-specific and explicit choices win (0.377415ms) +2026-09-27T05:34:02.0216428Z ▶ hosted web search capability +2026-09-27T05:34:02.0226741Z ✔ enables the implemented Responses path only for declared model families (6.384014ms) +2026-09-27T05:34:02.0255515Z ✔ reports provider support separately from Maka adapter readiness (0.453905ms) +2026-09-27T05:34:02.0279604Z ✔ lets explicit connection model metadata deny or grant provider-hosted search (3.39153ms) +2026-09-27T05:34:02.0306021Z ✔ follows a custom model wire and never infers support from the model name (0.283808ms) +2026-09-27T05:34:02.0335464Z ✔ keeps dual-wire providers on the configured connection protocol (0.217942ms) +2026-09-27T05:34:02.0357177Z ✔ publishes native search for both first-party DeepSeek V4 models (1.316132ms) +2026-09-27T05:34:02.0386673Z ✔ hosted web search capability (13.860057ms) +2026-09-27T05:34:02.0396565Z ✔ a refresh reports every committed path upstream stopped carrying (77.588828ms) +2026-09-27T05:34:02.0425490Z ✔ a refresh that removes nothing does not call back (3.303816ms) +2026-09-27T05:34:02.0456866Z ✔ a zero token limit projects as an absent limit (15.096732ms) +2026-09-27T05:34:02.0458882Z ✔ a token limit outside the wire domain refuses the whole refresh (2.004609ms) +2026-09-27T05:34:02.0497367Z ✔ a declared oversized body is refused instead of drained (2.704664ms) +2026-09-27T05:34:02.0518091Z ✔ a non-ok response never reaches the projection (0.628855ms) +2026-09-27T05:34:02.0535320Z ▶ OAuth subscription helpers +2026-09-27T05:34:02.0578770Z ✔ matches base64url encoding for empty and reserved bytes (4.988083ms) +2026-09-27T05:34:02.0607884Z ✔ OAuth subscription helpers (18.122341ms) +2026-09-27T05:34:02.0626440Z ▶ deriveOnboardingState +2026-09-27T05:34:02.0662096Z ✔ uses history presence without requiring a full Session list (5.462923ms) +2026-09-27T05:34:02.0675851Z ✔ routes the current default to the exact actionable fix (3.625433ms) +2026-09-27T05:34:02.0709632Z ✔ preserves readiness priority across broken and ready alternatives (0.428716ms) +2026-09-27T05:34:02.0718405Z ✔ accepts OAuth providers and ignores validation telemetry (4.291825ms) +2026-09-27T05:34:02.0746726Z ✔ deriveOnboardingState (15.651406ms) +2026-09-27T05:34:02.0766305Z ▶ onboarding milestone persistence +2026-09-27T05:34:02.0795450Z ✔ rejects malformed or privacy-leaking values (0.601487ms) +2026-09-27T05:34:02.0825651Z ✔ sanitizes invalid entries with last-valid-value and first-seen-order semantics (2.046047ms) +2026-09-27T05:34:02.0855628Z ✔ settles initial onboarding only on its completed or skipped terminal state (0.785374ms) +2026-09-27T05:34:02.0860397Z ✔ reports retirement rather than an unhealthy connection (0.49262ms) +2026-09-27T05:34:02.0881315Z ✔ onboarding milestone persistence (4.639248ms) +2026-09-27T05:34:02.0908803Z ▶ orchestration contract +2026-09-27T05:34:02.0941236Z ✔ a persisted swarm mode grants only the session-scoped swarm authorization (7.932552ms) +2026-09-27T05:34:02.0955852Z ✔ graph mode preserves the graph identity without granting swarm authority (7.342511ms) +2026-09-27T05:34:02.0991920Z ✔ a trusted turn override wins without changing the persisted session mode (0.2218ms) +2026-09-27T05:34:02.1015305Z ✔ orchestration contract (17.169481ms) +2026-09-27T05:34:02.1055161Z ▶ compilePermissionProfile +2026-09-27T05:34:02.1056073Z ✔ maps explore to a read-only profile and defaults workspaceRoots to cwd (1.983233ms) +2026-09-27T05:34:02.1076918Z ✔ maps ask to the workspace-write profile while preserving mode (0.350108ms) +2026-09-27T05:34:02.1188040Z ✔ maps bypass to danger-full-access (0.334187ms) +2026-09-27T05:34:02.1195298Z ✔ uses explicit workspaceRoots when provided (0.373938ms) +2026-09-27T05:34:02.1267785Z ✔ compilePermissionProfile (4.872078ms) +2026-09-27T05:34:02.1306074Z ▶ PermissionProfile factories +2026-09-27T05:34:02.1366388Z ✔ read-only profile allows workspace reads and blocks writes (7.208755ms) +2026-09-27T05:34:02.1405636Z ✔ workspace-write profile allows ordinary workspace writes and blocks outside writes (0.361027ms) +2026-09-27T05:34:02.1456032Z ✔ workspace-write profile allows tmp writes when tmp context is provided (0.334785ms) +2026-09-27T05:34:02.1495718Z ✔ workspace-write profile allows protected metadata writes inside the workspace (0.52638ms) +2026-09-27T05:34:02.1555666Z ✔ matches Windows drive roots and protected metadata by backslash-separated segment (0.540848ms) +2026-09-27T05:34:02.1585592Z ✔ danger-full-access profile is managed unrestricted access with network enabled (0.194139ms) +2026-09-27T05:34:02.1605189Z ✔ PermissionProfile factories (15.012859ms) +2026-09-27T05:34:02.1635230Z ▶ isReadOnlyPermissionProfile +2026-09-27T05:34:02.1677480Z ✔ separates the read-only profile from every profile that grants more (0.397974ms) +2026-09-27T05:34:02.1735439Z ✔ follows the policy rather than the profile name (10.321407ms) +2026-09-27T05:34:02.1778547Z ✔ isReadOnlyPermissionProfile (13.538103ms) +2026-09-27T05:34:02.1788844Z ▶ isCanonicalReadOnlyPermissionProfile +2026-09-27T05:34:02.1836753Z ✔ matches the canonical policy without relying on its display name (3.52568ms) +2026-09-27T05:34:02.1855495Z ✔ distinguishes extra read authority from the canonical Explore policy (0.30228ms) +2026-09-27T05:34:02.1905438Z ✔ does not certify other managed policies as canonical Explore (0.26006ms) +2026-09-27T05:34:02.1935405Z ✔ isCanonicalReadOnlyPermissionProfile (4.430451ms) +2026-09-27T05:34:02.1975229Z ▶ PermissionProfile matcher rules +2026-09-27T05:34:02.1985517Z ✔ deny entries take precedence over read and write entries (0.311583ms) +2026-09-27T05:34:02.2055492Z ✔ write access implies read access (0.184883ms) +2026-09-27T05:34:02.2085393Z ✔ path matching respects segment boundaries (0.195022ms) +2026-09-27T05:34:02.2143223Z ✔ special entries resolve through matcher context (0.194178ms) +2026-09-27T05:34:02.2201698Z ✔ PermissionProfile matcher rules (1.131483ms) +2026-09-27T05:34:02.2231724Z ✔ persisted values cross into domain types only through an explicit decoder (2.058485ms) +2026-09-27T05:34:02.2252791Z ✔ persisted values are invariant in their domain type (0.269891ms) +2026-09-27T05:34:02.2295371Z ▶ maka.pet/v1 manifest +2026-09-27T05:34:02.2366668Z ✔ requires the five task-semantic animations (2.972278ms) +2026-09-27T05:34:02.2403496Z ✔ rejects executable or unknown manifest fields (18.244614ms) +2026-09-27T05:34:02.2465687Z ✔ rejects traversal, absolute, Windows, and non-normalized asset paths (0.845392ms) +2026-09-27T05:34:02.2488593Z ✔ bounds sprite geometry, animation rate, and referenced frames (0.376348ms) +2026-09-27T05:34:02.2535519Z ✔ requires explicit animation fallback targets to exist (0.315647ms) +2026-09-27T05:34:02.2575507Z ✔ rejects a fallback on a looping animation (3.146124ms) +2026-09-27T05:34:02.2594912Z ✔ maka.pet/v1 manifest (27.85458ms) +2026-09-27T05:34:02.2605223Z ▶ ProviderAuth contract +2026-09-27T05:34:02.2635650Z ✔ model-key providers expose credential actions only after a secret exists (5.304393ms) +2026-09-27T05:34:02.2659981Z ✔ OAuth subscription providers expose validation actions after login (1.477236ms) +2026-09-27T05:34:02.2714118Z ✔ a discovery-capable OAuth provider keeps fetch_models available after login (0.229412ms) +2026-09-27T05:34:02.2725578Z ✔ OAuth subscription providers route missing login to the OAuth setup path (0.165227ms) +2026-09-27T05:34:02.2726661Z ✔ no-auth local providers can test and fetch without ever holding a secret (0.163779ms) +2026-09-27T05:34:02.2755666Z ✔ an optional-key provider admits testing and fetching before a key exists (0.389371ms) +2026-09-27T05:34:02.2788777Z ✔ ProviderAuth contract (12.83525ms) +2026-09-27T05:34:02.2819132Z ▶ provider connection slug derivation contract +2026-09-27T05:34:02.2837105Z ✔ continues through dense collisions until it finds an unused slug (3.897679ms) +2026-09-27T05:34:02.2855487Z ✔ provider connection slug derivation contract (6.73167ms) +2026-09-27T05:34:02.2856072Z ▶ Moonshot provider regions +2026-09-27T05:34:02.2856708Z ✔ offers the international API as its own provider (1.228012ms) +2026-09-27T05:34:02.2857643Z ✔ Moonshot provider regions (6.379818ms) +2026-09-27T05:34:02.2858394Z ▶ provider catalog contract — structural invariants over CATALOG_PROVIDER_TYPES +2026-09-27T05:34:02.2859281Z ✔ exposes an endpoint source that passes the production baseUrl gate (3.453184ms) +2026-09-27T05:34:02.2860061Z ✔ pins every declared Responses reasoning contract (5.773006ms) +2026-09-27T05:34:02.2860865Z ✔ keeps generated models.dev overrides on the declared contract or none (0.585417ms) +2026-09-27T05:34:02.2861872Z ✔ provider catalog contract — structural invariants over CATALOG_PROVIDER_TYPES (10.512973ms) +2026-09-27T05:34:02.2862599Z ▶ retired provider contract +2026-09-27T05:34:02.2863115Z ✔ pins the entries this catalog retires (0.333102ms) +2026-09-27T05:34:02.2863784Z ✔ keeps a retired provider registered but unwired (0.305073ms) +2026-09-27T05:34:02.2864991Z ✔ keeps a retired provider out of the add-connection catalog (0.237342ms) +2026-09-27T05:34:02.2865764Z ✔ offers no action on a retired connection (0.406685ms) +2026-09-27T05:34:02.2866586Z ✔ reports every model of a retired connection as removed and unselectable (7.787447ms) +2026-09-27T05:34:02.2867310Z ✔ retired provider contract (13.4102ms) +2026-09-27T05:34:02.2867875Z ▶ provider catalog contract — fallback lifecycle +2026-09-27T05:34:02.2868559Z ✔ keeps deprecated snapshot models out of fallback lists (0.790344ms) +2026-09-27T05:34:02.2869346Z ✔ provider catalog contract — fallback lifecycle (0.935812ms) +2026-09-27T05:34:02.2869966Z ▶ providerAcceptsOutputTokenLimit +2026-09-27T05:34:02.2870702Z ✔ refuses an output limit only where the backend rejects max_output_tokens (0.410124ms) +2026-09-27T05:34:02.2871500Z ✔ providerAcceptsOutputTokenLimit (0.555495ms) +2026-09-27T05:34:02.2872394Z ✔ providerRetryRemainingMs counts down from the granted length to a zero floor (2.764852ms) +2026-09-27T05:34:02.2873588Z ✔ providerRetryDisplaySeconds floors the humanized countdown at 1s (0.273046ms) +2026-09-27T05:34:02.2885400Z ✔ recall finds the same messages a full scan would (14.917275ms) +2026-09-27T05:34:02.2916577Z ✔ a candidate source changes speed, never the verified set (12.043689ms) +2026-09-27T05:34:02.2922441Z ✔ a candidate source changes speed, never the ranking (7.575836ms) +2026-09-27T05:34:02.2980664Z ✔ over-selected candidates are rejected by the predicate (5.409343ms) +2026-09-27T05:34:02.2987931Z ✔ a candidate source that declines falls back to a full scan (0.826525ms) +2026-09-27T05:34:02.3065655Z ✔ a candidate source without a corpus count is not used (3.588965ms) +2026-09-27T05:34:02.3119948Z ✔ a term the stored form escapes bypasses the candidate source (1.290277ms) +2026-09-27T05:34:02.3191067Z ✔ a dense tool result does not outrank the answer that explains it (1.806033ms) +2026-09-27T05:34:02.3227344Z ✔ the per-Session quota admits other Sessions without dropping results (2.018042ms) +2026-09-27T05:34:02.3240053Z ✔ the quota is a ceiling, not an allocation (0.891646ms) +2026-09-27T05:34:02.3247901Z ✔ passages come back in rank order after the quota fills gaps (2.615451ms) +2026-09-27T05:34:02.3249184Z ✔ several hits in one turn collapse into a single passage (0.554744ms) +2026-09-27T05:34:02.3250147Z ✔ a passage carries its exchange and marks the anchor (1.208607ms) +2026-09-27T05:34:02.3251062Z ✔ coordination records never enter a passage (0.715533ms) +2026-09-27T05:34:02.3251915Z ✔ a tool result joins a passage only as its anchor (0.71574ms) +2026-09-27T05:34:02.3252820Z ✔ matched terms come back as the caller wrote them (0.389835ms) +2026-09-27T05:34:02.3253829Z ✔ gaps never report a term that matched, whatever its case (0.635821ms) +2026-09-27T05:34:02.3255040Z ✔ a question is accepted, never matched, and never echoed (1.031876ms) +2026-09-27T05:34:02.3256096Z ✔ a credential-shaped term is refused before any corpus is read (0.247965ms) +2026-09-27T05:34:02.3257127Z ✔ recall is closed while incognito is active (0.188379ms) +2026-09-27T05:34:02.3258105Z ✔ an unverifiable privacy snapshot fails closed (1.00951ms) +2026-09-27T05:34:02.3259149Z ✔ matching runs on redacted text, so a secret is unreachable (3.682798ms) +2026-09-27T05:34:02.3260494Z ✔ a term found only in a redaction marker is not a hit (0.847375ms) +2026-09-27T05:34:02.3261393Z ✔ simulator transcripts stay out of recall (0.267154ms) +2026-09-27T05:34:02.3262275Z ✔ the active turn is excluded from its own recall (0.409814ms) +2026-09-27T05:34:02.3263205Z ✔ gaps name what was searched and what was missing (7.448015ms) +2026-09-27T05:34:02.3264149Z ✔ distilled facts are returned alongside passages (0.874559ms) +2026-09-27T05:34:02.3265318Z ✔ an unavailable fact store degrades recall instead of failing it (0.733704ms) +2026-09-27T05:34:02.3266415Z ✔ a fact carrying credential material is redacted on the way out (4.279353ms) +2026-09-27T05:34:02.3267382Z ✔ malformed requests are refused with a typed reason (0.408383ms) +2026-09-27T05:34:02.3268308Z ✔ time bounds exclude messages outside the window (0.679448ms) +2026-09-27T05:34:02.3269586Z ✔ expansion widens a passage around an anchor recall reported (1.34454ms) +2026-09-27T05:34:02.3270671Z ✔ a passage reports the anchor index within its own transcript (0.630446ms) +2026-09-27T05:34:02.3271646Z ✔ expansion refuses an anchor inside the active turn (0.3908ms) +2026-09-27T05:34:02.3272622Z ✔ expansion refuses an anchor that is not visible transcript (0.172091ms) +2026-09-27T05:34:02.3274313Z ✔ expansion refuses an anchor from another Session (0.131515ms) +2026-09-27T05:34:02.3303662Z ✔ expansion is closed while incognito is active (0.130188ms) +2026-09-27T05:34:02.3336320Z ✔ an aborted signal settles promptly (0.177075ms) +2026-09-27T05:34:02.3337486Z ✔ the passage budget keeps the nearest context and says when it cut the rest (5.054807ms) +2026-09-27T05:34:02.3365695Z ✔ a message is reachable by the name of the file it carried (2.468678ms) +2026-09-27T05:34:02.3398302Z ✔ a message whose whole content was a file is still a passage (2.311558ms) +2026-09-27T05:34:02.3448402Z ✔ a foreign ref inside a local passage is named by location, not address (1.255561ms) +2026-09-27T05:34:02.3483914Z ✔ a remote PDF is named without a location to ask for (0.557656ms) +2026-09-27T05:34:02.3494004Z ✔ a message carrying more files than the cap names the first of them (0.824775ms) +2026-09-27T05:34:02.3525604Z ✔ a material Read cannot decode is named without an address (0.547374ms) +2026-09-27T05:34:02.3554378Z ✔ a neighbour carries its own materials (3.659053ms) +2026-09-27T05:34:02.3594660Z ✔ malformed attachments do not consume the per-message cap (0.506552ms) +2026-09-27T05:34:02.3595794Z ✔ an attachment outside the declared shape is not projected (2.270015ms) +2026-09-27T05:34:02.3632713Z ✔ a material outside the asking Session is named without an address (1.222491ms) +2026-09-27T05:34:02.3660934Z ✔ a material whose ref has no readable address is named without one (0.47658ms) +2026-09-27T05:34:02.3689114Z ✔ a malformed attachment is skipped rather than named `undefined` (0.448976ms) +2026-09-27T05:34:02.3715600Z ✔ a credential-shaped file name is redacted on the way out (1.008564ms) +2026-09-27T05:34:02.3742146Z ✔ a material carries an address or a location, never both (0.705545ms) +2026-09-27T05:34:02.3745582Z ✔ a material with no durable locator is named without one (0.904827ms) +2026-09-27T05:34:02.3769383Z ✔ a material is fetched only from a Session recall can see (0.581245ms) +2026-09-27T05:34:02.3771243Z ✔ material retrieval is closed while incognito is active (0.216386ms) +2026-09-27T05:34:02.3772313Z ✔ a host that cannot fetch materials refuses rather than pretending (0.120117ms) +2026-09-27T05:34:02.3773355Z ✔ a malformed material request is refused with a typed reason (0.279514ms) +2026-09-27T05:34:02.3774687Z ✔ a Session the source names but recall did not ask about is not read (2.688396ms) +2026-09-27T05:34:02.3797911Z ✔ a tool result is matched on its output, not on the shape around it (0.197068ms) +2026-09-27T05:34:02.3825283Z ▶ redactSecrets +2026-09-27T05:34:02.3837261Z ✔ masks bearer tokens and provider key prefixes (5.764553ms) +2026-09-27T05:34:02.3872498Z ✔ applies bounded text patterns to top-level JSON number primitives (0.240845ms) +2026-09-27T05:34:02.3996751Z ✔ replaces bare provider tokens entirely, echoing no part of the match (0.650182ms) +2026-09-27T05:34:02.3997462Z ✔ masks only sensitive URL query values (7.460986ms) +2026-09-27T05:34:02.3998179Z ✔ masks URL userinfo credentials without swallowing host or path (3.7953ms) +2026-09-27T05:34:02.3999017Z ✔ masks quoted sensitive object keys in serialized JSON (8.892888ms) +2026-09-27T05:34:02.3999993Z ✔ redacts original string leaves without crossing serialized JSON boundaries (2.328149ms) +2026-09-27T05:34:02.4000843Z ✔ masks common compound credential keys (0.541187ms) +2026-09-27T05:34:02.4001743Z ✔ masks compound credential assignments without changing authorization schemes (0.352017ms) +2026-09-27T05:34:02.4002709Z ✔ does not consume a trailing command after a quoted review comment (0.316934ms) +2026-09-27T05:34:02.4003812Z ✔ preserves own __proto__ data properties while redacting serialized JSON (1.816487ms) +2026-09-27T05:34:02.4005125Z ✔ handles a large batch of malformed sensitive assignment indexes in bounded time (20.207531ms) +2026-09-27T05:34:02.4006102Z ✔ masks standard secret access key names without owning arbitrary access keys (1.09809ms) +2026-09-27T05:34:02.4006968Z ✔ masks space-separated AWS CLI secret access key values (0.650488ms) +2026-09-27T05:34:02.4007766Z ✔ masks AWS secrets across POSIX line continuations (2.117143ms) +2026-09-27T05:34:02.4008397Z ✔ does not mask similar non-secret AWS CLI tokens (0.987159ms) +2026-09-27T05:34:02.4009170Z ✔ masks escaped and non-string sensitive JSON values structurally (0.542418ms) +2026-09-27T05:34:02.4009818Z ✔ redactSecrets (64.34075ms) +2026-09-27T05:34:02.4010304Z ▶ generalizedErrorMessageForLocale +2026-09-27T05:34:02.4011103Z ✔ renders the same classification in each locale and the fallback when none matches (0.450645ms) +2026-09-27T05:34:02.4012048Z ✔ classifies Chromium network stack error codes as network errors (1.519067ms) +2026-09-27T05:34:02.4012819Z ✔ generalizedErrorMessageForLocale (2.196032ms) +2026-09-27T05:34:02.4013397Z ▶ generalizedErrorMessage +2026-09-27T05:34:02.4014108Z ✔ classifies provider failures without exposing secret-bearing input (0.556544ms) +2026-09-27T05:34:02.4015205Z ✔ does not mistake runtime authority errors for authentication failures (0.186675ms) +2026-09-27T05:34:02.4016128Z ✔ does not mistake builder update metadata 404s for authentication failures (0.25314ms) +2026-09-27T05:34:02.4016986Z ✔ recognizes provider authentication error spellings (0.265115ms) +2026-09-27T05:34:02.4017657Z ✔ generalizedErrorMessage (1.484855ms) +2026-09-27T05:34:02.4018214Z ▶ generalizedErrorMessageForLocale zh-CN +2026-09-27T05:34:02.4018997Z ✔ maps provider failures to Chinese categories without leaking secrets (8.894871ms) +2026-09-27T05:34:02.4019893Z ✔ uses a caller-supplied Chinese fallback for unknown errors (0.182752ms) +2026-09-27T05:34:02.4020799Z ✔ does not mistake runtime authority errors for authentication failures (0.161856ms) +2026-09-27T05:34:02.4021606Z ✔ generalizedErrorMessageForLocale zh-CN (9.422249ms) +2026-09-27T05:34:02.4022228Z ▶ localized generalized error messages +2026-09-27T05:34:02.4022963Z ✔ routes one shared classification through each locale catalog (0.227694ms) +2026-09-27T05:34:02.4023853Z ✔ uses Taiwan terminology for Traditional Chinese categories (0.308198ms) +2026-09-27T05:34:02.4153321Z ✔ routes each resolved locale without changing the supplied fallback (0.175132ms) +2026-09-27T05:34:02.4154334Z ✔ localized generalized error messages (0.877127ms) +2026-09-27T05:34:02.4155137Z ▶ createRefreshReadCoordinator +2026-09-27T05:34:02.4155867Z ✔ retires an in-flight read as soon as a newer authority event arrives (4.24376ms) +2026-09-27T05:34:02.4156763Z ✔ retires an in-flight read when an immediate refresh replaces it (3.888332ms) +2026-09-27T05:34:02.4157526Z ✔ createRefreshReadCoordinator (10.686314ms) +2026-09-27T05:34:02.4158330Z ▶ relative timestamp labels +2026-09-27T05:34:02.4159147Z ✔ holds a just-now label for the whole first minute, then switches to minutes (62.975103ms) +2026-09-27T05:34:02.4160151Z ✔ delays the ticker until the just-now window ends (0.288268ms) +2026-09-27T05:34:02.4160921Z ✔ uses scan-friendly units for sidebar timestamps (0.64546ms) +2026-09-27T05:34:02.4161706Z ✔ keeps the existing compact date fallback outside the sidebar (5.725349ms) +2026-09-27T05:34:02.4162562Z ✔ refreshes sidebar timestamps at the next visible bucket (2.928215ms) +2026-09-27T05:34:02.4163447Z ✔ treats a finite future timestamp as just now and schedules recovery (0.366399ms) +2026-09-27T05:34:02.4164305Z ✔ keeps timestamp refresh delays within the scheduler bound (1.71146ms) +2026-09-27T05:34:02.4165408Z ✔ reuses both formatters when relative and absolute readings alternate (2.001149ms) +2026-09-27T05:34:02.4166190Z ✔ relative timestamp labels (86.247879ms) +2026-09-27T05:34:02.4166738Z ▶ request customization validation +2026-09-27T05:34:02.4167414Z ✔ rejects protected and case-insensitively duplicated headers (9.878365ms) +2026-09-27T05:34:02.4168171Z ✔ accepts only safe top-level JSON objects (3.95422ms) +2026-09-27T05:34:02.4168791Z ✔ request customization validation (15.505381ms) +2026-09-27T05:34:02.4169642Z ✔ Run Composition snapshots retain the persisted v1 bootstrap shape (7.258202ms) +2026-09-27T05:34:02.4170701Z ✔ Request Composition snapshots canonicalize complete model-visible tool surfaces (4.131474ms) +2026-09-27T05:34:02.4171789Z ✔ Request Composition applies one fail-closed bound to names and schemas (6.078975ms) +2026-09-27T05:34:02.4172523Z ▶ immutable RuntimeEvent boundary +2026-09-27T05:34:02.4173352Z ✔ derives one prefix identity from canonical event bytes and physical sequence (12.131623ms) +2026-09-27T05:34:02.4174301Z ✔ folds the bounded endpoint proof to the exact released prefix digest (4.273752ms) +2026-09-27T05:34:02.4278220Z ✔ rejects gaps while streaming a bounded prefix proof (0.85016ms) +2026-09-27T05:34:02.4279238Z ✔ preserves the released Automation prefix identity after semantic decoding (2.312598ms) +2026-09-27T05:34:02.4280185Z ✔ rejects gaps in the immutable physical sequence (0.529178ms) +2026-09-27T05:34:02.4281006Z ✔ rejects mutable partial snapshots as durable boundary rows (0.442067ms) +2026-09-27T05:34:02.4281889Z ✔ binds manifest identity to ordered oldest-to-source segments (6.21065ms) +2026-09-27T05:34:02.4282807Z ✔ rejects a forged immutable prefix before reducing it to a segment (1.529511ms) +2026-09-27T05:34:02.4283699Z ✔ rejects a boundary whose segments cross session authority (5.905777ms) +2026-09-27T05:34:02.4284628Z ✔ rejects a boundary that reuses a source run identity (8.960167ms) +2026-09-27T05:34:02.4285457Z ✔ rejects a boundary that reuses a source invocation identity (0.869251ms) +2026-09-27T05:34:02.4286477Z ✔ versions consecutive same-turn physical attempts without weakening released cursors (2.596205ms) +2026-09-27T05:34:02.4287613Z ✔ permits same-turn claims only for explicit handoff to the original logical root (2.829304ms) +2026-09-27T05:34:02.4288595Z ✔ requires a continuation target to remain in the source session (1.608094ms) +2026-09-27T05:34:02.4289510Z ✔ rejects a continuation target that reuses any source run identity (8.472461ms) +2026-09-27T05:34:02.4290470Z ✔ rejects a continuation target that reuses any source invocation identity (8.420734ms) +2026-09-27T05:34:02.4291438Z ✔ rejects a continuation target that reuses any source turn identity (4.984459ms) +2026-09-27T05:34:02.4292378Z ✔ rejects a target opening that does not name the boundary the claim holds (9.422324ms) +2026-09-27T05:34:02.4293226Z ✔ recognises the invocation the claim authorises (3.997209ms) +2026-09-27T05:34:02.4293927Z ✔ immutable RuntimeEvent boundary (96.759578ms) +2026-09-27T05:34:02.4327983Z ✔ Stored assistant reasoning parts survive recovery decoding (7.684297ms) +2026-09-27T05:34:02.4329242Z ✔ decodes released Automation origins as read-only legacy provenance (2.668497ms) +2026-09-27T05:34:02.4330660Z ✔ decodes a released provider dropping note that nothing writes any more (2.192905ms) +2026-09-27T05:34:02.4331726Z ✔ shares one decoder across all TurnOrigin variants (2.381447ms) +2026-09-27T05:34:02.4332367Z ▶ continuation-start protocol +2026-09-27T05:34:02.4333188Z ✔ reads legacy and current replay projections but rejects unknown versions (1.138757ms) +2026-09-27T05:34:02.4334006Z ✔ continuation-start protocol (1.540485ms) +2026-09-27T05:34:02.4377545Z ▶ RuntimeEvent content variants +2026-09-27T05:34:02.4378461Z ✔ recognizes canonical durable Session context references (0.644694ms) +2026-09-27T05:34:02.4379371Z ✔ preserves sent inline references as message identity (0.784602ms) +2026-09-27T05:34:02.4380338Z ✔ rejects an empty sent inline-reference value before UI projection (0.273474ms) +2026-09-27T05:34:02.4381469Z ✔ rejects sent inline references outside their bounded kind grammar (0.644843ms) +2026-09-27T05:34:02.4435264Z ✔ preserves the exact occurrence selected as an inline reference (0.402752ms) +2026-09-27T05:34:02.4436474Z ✔ rejects missing, mismatched, or overlapping reference occurrences (0.358541ms) +2026-09-27T05:34:02.4437548Z ✔ preserves an explicit empty reference projection as message identity (9.304584ms) +2026-09-27T05:34:02.4439050Z ✔ owns canonical MessageContent decoding, copying, and equality (3.445479ms) +2026-09-27T05:34:02.4439920Z ✔ RuntimeEvent content variants (16.836773ms) +2026-09-27T05:34:02.4440892Z ✔ rejects a Tool Result projection that references another Session artifact (1.218532ms) +2026-09-27T05:34:02.4441667Z ▶ RuntimeEvent actions +2026-09-27T05:34:02.4442465Z ✔ binds the managed mutation digest to its canonical execution semantics (0.841633ms) +2026-09-27T05:34:02.4443457Z ✔ decodes only a platform-independent T1-frozen managed mutation identity (4.098921ms) +2026-09-27T05:34:02.4444680Z ✔ permission, question, and form interactions are first-class actions (7.032155ms) +2026-09-27T05:34:02.4445779Z ✔ permission closure acknowledgement has a narrow durable shape (0.617935ms) +2026-09-27T05:34:02.4446766Z ✔ permission decisions optionally retain a bounded tool name (0.377989ms) +2026-09-27T05:34:02.4447559Z ✔ RuntimeEvent actions (13.343389ms) +2026-09-27T05:34:02.4448082Z ▶ isTerminalRuntimeEvent +2026-09-27T05:34:02.4448802Z ✔ classifies terminal status and explicit invocation completion (0.986542ms) +2026-09-27T05:34:02.4449583Z ✔ isTerminalRuntimeEvent (1.217732ms) +2026-09-27T05:34:02.4450159Z ▶ runtimeEventHasModelVisibleContent +2026-09-27T05:34:02.4451056Z ✔ retains nested CodeMode identity while excluding its content from model replay (0.680962ms) +2026-09-27T05:34:02.4451911Z ✔ classifies model-visible content by semantic kind (0.280588ms) +2026-09-27T05:34:02.4452741Z ✔ counts structured user context as model-visible with empty inline text (#4804) (0.18035ms) +2026-09-27T05:34:02.4453757Z ✔ keeps whitespace-only persisted text model-visible, without trimming (#4815 review) (0.130037ms) +2026-09-27T05:34:02.4501102Z ✔ counts directory references as a content carrier (#4815 review) (0.160569ms) +2026-09-27T05:34:02.4502196Z ✔ runtimeEventHasModelVisibleContent (3.443109ms) +2026-09-27T05:34:02.4503250Z ✔ runtime errors reject malformed retry decisions at the durable boundary (0.435433ms) +2026-09-27T05:34:02.4504076Z ▶ RuntimeEvent reference validation +2026-09-27T05:34:02.4505014Z ✔ accepts only canonical source message digests (0.267497ms) +2026-09-27T05:34:02.4513931Z ✔ accepts a provider-request trace reference and rejects a non-string reference (0.172506ms) +2026-09-27T05:34:02.4515207Z ✔ RuntimeEvent reference validation (0.598484ms) +2026-09-27T05:34:02.4516193Z ✔ Coordination Runtime receipts survive decoding and reject unrecognized results (0.787591ms) +2026-09-27T05:34:02.4517363Z ✔ a handoff seals a physical invocation without ending its logical execution (6.436652ms) +2026-09-27T05:34:02.4518580Z ✔ a handoff seal cannot claim completion, carry work, or authorize itself as successor (4.093003ms) +2026-09-27T05:34:02.4536241Z ✔ regenerate root identity requires exactly its own turn lineage (10.762102ms) +2026-09-27T05:34:02.4555867Z ✔ context compact root identity rejects any lineage and any other root (1.327393ms) +2026-09-27T05:34:02.4556902Z ✔ each host authority root matches only its own kind and id (0.2547ms) +2026-09-27T05:34:02.4557906Z ✔ a supervisor wake root carries its graph prefix and graph orchestration (3.334225ms) +2026-09-27T05:34:02.4559057Z ✔ a safe boundary continuation root matches its claim and its own invocation (0.328122ms) +2026-09-27T05:34:02.4559878Z ▶ invocation_opened content contract +2026-09-27T05:34:02.4560454Z ✔ is a runtime event content kind (1.282338ms) +2026-09-27T05:34:02.4561202Z ✔ decodes as RuntimeEvent content and narrows back out (1.153741ms) +2026-09-27T05:34:02.4561884Z ✔ is never model visible (0.316189ms) +2026-09-27T05:34:02.4562684Z ✔ binds connection identity to where the route came from, both ways (0.508594ms) +2026-09-27T05:34:02.4563695Z ✔ binds a plugin executor route to its exact activation generation (0.755612ms) +2026-09-27T05:34:02.4659926Z ✔ accepts every root authority the runtime can open, and no mixture of them (0.495369ms) +2026-09-27T05:34:02.4661329Z ✔ carries a continuation source only with the boundary position it resumes from (0.270986ms) +2026-09-27T05:34:02.4662269Z ✔ rejects anything the closed shape does not name (0.582292ms) +2026-09-27T05:34:02.4663120Z ✔ a malformed opening fact fails the whole RuntimeEvent decode (0.904519ms) +2026-09-27T05:34:02.4663925Z ✔ invocation_opened content contract (9.121495ms) +2026-09-27T05:34:02.4665445Z ✔ normalizes policy input while canonical policy decode rejects producer drift (3.634439ms) +2026-09-27T05:34:02.4666407Z ✔ Code Mode is opt-in and survives policy decoding (0.695797ms) +2026-09-27T05:34:02.4667431Z ✔ preserves the legacy chat thinking field but rejects unknown levels (1.389754ms) +2026-09-27T05:34:02.4668397Z ✔ keeps user-approved subagent presets canonical in Runtime Policy (0.989693ms) +2026-09-27T05:34:02.4669550Z ✔ normalizes the explicit Git Bash preference and rejects arbitrary shell kinds (0.511422ms) +2026-09-27T05:34:02.4670582Z ✔ normalizes only the bounded agent settings patch surface (0.753685ms) +2026-09-27T05:34:02.4671597Z ✔ normalizes catalog inputs while canonical entries reject noncanonical endpoints (1.568513ms) +2026-09-27T05:34:02.4680008Z ✔ catalog decoding preserves the diagnostic: Slug is required (0.385392ms) +2026-09-27T05:34:02.4681164Z ✔ catalog decoding preserves the diagnostic: Slug must be lowercase letters, digits, and hyphens (0.314922ms) +2026-09-27T05:34:02.4682371Z ✔ catalog decoding preserves the diagnostic: Slug must be 64 characters or fewer (0.889649ms) +2026-09-27T05:34:02.4683414Z ✔ rejects new connections for the retired Gemini CLI account provider (0.392878ms) +2026-09-27T05:34:02.4684335Z ✔ relay model profiles round-trip canonical entries and drafts, strictly (4.167517ms) +2026-09-27T05:34:02.4685428Z ✔ normalizes exact bounded model discovery results (1.73175ms) +2026-09-27T05:34:02.4686345Z ✔ normalizes extended model facts used by the runtime host catalog (0.404026ms) +2026-09-27T05:34:02.4687264Z ✔ carries the video and pdf modalities models.dev declares (0.238667ms) +2026-09-27T05:34:02.4687882Z ✔ rejects sparse model modality arrays (0.57799ms) +2026-09-27T05:34:02.4688707Z ✔ credential domain validation requires material but leaves capacity to callers (0.498718ms) +2026-09-27T05:34:02.4689697Z ✔ per-model ApplyPatch overrides survive persistence and reject non-booleans (1.16474ms) +2026-09-27T05:34:02.4690682Z ✔ Jev is an optional strict policy field and has a dedicated credential scope (0.896341ms) +2026-09-27T05:34:02.4691747Z ✔ Memory: stable create, detached snapshots, metadata CAS and message admission identity (71.180414ms) +2026-09-27T05:34:02.4692507Z ▶ executionBoundaryDisplayMode +2026-09-27T05:34:02.4693245Z ✔ keeps the read-only/writable distinction the boundary carries (#1611) (14.745333ms) +2026-09-27T05:34:02.4828970Z ✔ an approved expansion that grants a write stops reading as read-only (0.61591ms) +2026-09-27T05:34:02.4830711Z ✔ under-states danger-full-access as Auto rather than naming a mode for it (0.238749ms) +2026-09-27T05:34:02.4834854Z ✔ an externally isolated boundary has no locally controllable mode (0.20667ms) +2026-09-27T05:34:02.4835699Z ✔ executionBoundaryDisplayMode (17.722767ms) +2026-09-27T05:34:02.4836272Z ▶ SandboxBoundaryExpansion +2026-09-27T05:34:02.4837087Z ✔ accepts and canonicalizes only additive filesystem and network authority (42.072736ms) +2026-09-27T05:34:02.4838491Z ✔ accepts normalized Windows drive paths and compares them case-insensitively (0.924153ms) +2026-09-27T05:34:02.4839527Z ✔ rejects non-normalized Windows boundary paths (0.326916ms) +2026-09-27T05:34:02.4840454Z ✔ rejects empty, relative, deny, policy-shaped, and legacy expansions (5.701661ms) +2026-09-27T05:34:02.4841379Z ✔ applies additive authority without weakening an explicit deny (0.629434ms) +2026-09-27T05:34:02.4842243Z ✔ enables network when filesystem access is already unrestricted (1.299835ms) +2026-09-27T05:34:02.4843192Z ✔ compacts cumulative explicit grants without changing special paths or denies (0.336616ms) +2026-09-27T05:34:02.4844309Z ✔ distinguishes a new expansion, an approved no-op, and an explicit-deny conflict (4.033024ms) +2026-09-27T05:34:02.4845504Z ✔ does not treat a child of an exact path grant as already approved (5.857376ms) +2026-09-27T05:34:02.4876132Z ✔ keeps explicit denies authoritative inside an otherwise unrestricted profile (1.439541ms) +2026-09-27T05:34:02.4877465Z ✔ keeps protected metadata deny-write authoritative over exact write expansions (0.447322ms) +2026-09-27T05:34:02.4878528Z ✔ uses the same default slash-tmp root as permission enforcement (0.126148ms) +2026-09-27T05:34:02.4879381Z ✔ SandboxBoundaryExpansion (64.832392ms) +2026-09-27T05:34:02.4879920Z ▶ ExecutionBoundary +2026-09-27T05:34:02.4880578Z ✔ decodes only a complete full boundary snapshot (1.317518ms) +2026-09-27T05:34:02.4881325Z ✔ round-trips managed protected-metadata policy (0.323573ms) +2026-09-27T05:34:02.4882203Z ✔ rejects a complete boundary snapshot above the shared capacity (49.054523ms) +2026-09-27T05:34:02.4883171Z ✔ compares complete boundary authority with one canonical containment contract (0.41151ms) +2026-09-27T05:34:02.4883944Z ✔ ExecutionBoundary (51.457898ms) +2026-09-27T05:34:02.4926624Z ✔ splits the session metered tokens the way a bill reads (3.002034ms) +2026-09-27T05:34:02.4927870Z ✔ derives uncached input as the prompt residual when a provider reports only its cache (0.320054ms) +2026-09-27T05:34:02.4929049Z ✔ keeps the ledger cacheMiss as a floor for records that reported no prompt total (0.264327ms) +2026-09-27T05:34:02.4930012Z ✔ a session with nothing metered has no token split to show (0.181223ms) +2026-09-27T05:34:02.4931026Z ✔ shows the token split even when usage coverage is partial, since the rows are what ran (0.201807ms) +2026-09-27T05:34:02.4932377Z ✔ splits recorded time between model calls and tool executions (0.213576ms) +2026-09-27T05:34:02.4933454Z ✔ keeps a cache-read share the provider reported without a prompt total (0.309867ms) +2026-09-27T05:34:02.4946669Z ✔ a host that measured zero model time keeps its row and its call count (0.568606ms) +2026-09-27T05:34:02.4955636Z ✔ a row with neither a clock nor a count is dropped (0.295768ms) +2026-09-27T05:34:02.4965229Z ✔ a tool row without a recorded duration still reports its count (0.40688ms) +2026-09-27T05:34:02.4966316Z ✔ model time without tool usage reads as a single-segment split (0.204538ms) +2026-09-27T05:34:02.4967347Z ✔ ring arcs keep reading order and clamp the last segment to the full turn (0.817925ms) +2026-09-27T05:34:02.4968452Z ✔ a segment owning the whole ring walks two half-turns instead of one arc (0.21371ms) +2026-09-27T05:34:02.4969555Z ✔ a ring with nothing measured draws no arcs and leaves the muted track (0.123495ms) +2026-09-27T05:34:02.4970597Z ✔ a nonzero sliver keeps a visible sweep even when its share rounds to zero (3.360032ms) +2026-09-27T05:34:02.5004638Z ✔ hovering a tiny segment expands it on the ring so the highlight lands somewhere (0.524517ms) +2026-09-27T05:34:02.5066920Z ✔ hovering the dominant segment leaves the layout untouched (0.722786ms) +2026-09-27T05:34:02.5068243Z ✔ Memory: WorkHub assignment publishes target, pending message and coordination fact together (98.145444ms) +2026-09-27T05:34:02.5069725Z ✔ Memory: lost WorkHub acknowledgement is recovered by an exact retry after reopen (60.188952ms) +2026-09-27T05:34:02.5070408Z ▶ scheduled-task catalog +2026-09-27T05:34:02.5070989Z ✔ advances once schedules to completed after fire (4.400224ms) +2026-09-27T05:34:02.5071668Z ✔ pause and resume preserve a pending occurrence (0.526627ms) +2026-09-27T05:34:02.5072409Z ✔ resume recomputes an occurrence that elapsed while paused (0.489976ms) +2026-09-27T05:34:02.5073180Z ✔ does not resume a task whose fire budget is already spent (3.911113ms) +2026-09-27T05:34:02.5073985Z ✔ rejects numeric-string coercion and non-canonical cron spacing (5.070255ms) +2026-09-27T05:34:02.5074964Z ✔ clamps monthly recurrence to the last calendar day (0.314859ms) +2026-09-27T05:34:02.5075717Z ✔ rejects tasks whose first fire is not before expiration (2.879059ms) +2026-09-27T05:34:02.5076387Z ✔ drops a backend key from Automation create input (0.799055ms) +2026-09-27T05:34:02.5077152Z ✔ requires an immutable Connection identity for new Agent tasks (4.362835ms) +2026-09-27T05:34:02.5078000Z ✔ rejects future recurrence anchors outside the scheduling horizon (0.430295ms) +2026-09-27T05:34:02.5078675Z ✔ scheduled-task catalog (25.708537ms) +2026-09-27T05:34:02.5079492Z ✔ Memory: T1/T2 atomicity, replay, identity conflicts and terminal seal (60.400845ms) +2026-09-27T05:34:02.5080316Z ▶ decodePersistedScheduledTask +2026-09-27T05:34:02.5080947Z ✔ folds a retired permission mode to its live equivalent (0.481438ms) +2026-09-27T05:34:02.5081660Z ✔ returns the same task when nothing needs folding (0.118834ms) +2026-09-27T05:34:02.5082328Z ✔ keeps legacy slug-only Agent tasks readable (0.154953ms) +2026-09-27T05:34:02.5083014Z ✔ leaves effects without an execution template alone (0.103914ms) +2026-09-27T05:34:02.5083827Z ✔ rejects unknown permission modes in persisted execution templates (0.55547ms) +2026-09-27T05:34:02.5084729Z ✔ rejects unknown effect kinds in persisted records (0.190503ms) +2026-09-27T05:34:02.5085365Z ✔ decodePersistedScheduledTask (1.956188ms) +2026-09-27T05:34:02.5085839Z ▶ search contract normalizers +2026-09-27T05:34:02.5086401Z ✔ normalizes a query and rejects malformed input (8.173305ms) +2026-09-27T05:34:02.5087081Z ✔ defaults, truncates, bounds, and validates limits (0.344646ms) +2026-09-27T05:34:02.5087875Z ✔ canonicalizes, deduplicates, validates, and suffix-matches domains (1.703215ms) +2026-09-27T05:34:02.5088741Z ✔ keeps safe URLs, strips trackers, and blocks active or local schemes (0.437227ms) +2026-09-27T05:34:02.5089562Z ✔ rewrites fresh queries without changing historical intent (1.052536ms) +2026-09-27T05:34:02.5090203Z ✔ search contract normalizers (25.121304ms) +2026-09-27T05:34:02.5090967Z ✔ counts the bounded JSON representation used at the tool boundary (1.574993ms) +2026-09-27T05:34:02.5091872Z ✔ agrees with JSON.stringify on the payloads validation bounds (8.257199ms) +2026-09-27T05:34:02.5092707Z ✔ pins the deliberate departure from JSON.stringify at the top level (0.235026ms) +2026-09-27T05:34:02.5093519Z ✔ reports values JSON cannot represent as unrepresentable (7.884834ms) +2026-09-27T05:34:02.5189807Z ✔ Memory: commitToolPrepared lost acknowledgement does not duplicate facts (64.648584ms) +2026-09-27T05:34:02.5191409Z ✔ Memory: commitToolOutcome lost acknowledgement does not duplicate facts (60.86986ms) +2026-09-27T05:34:02.5192802Z ✔ Memory: authentic grouped authority rejects backend mixing and retained calls after close (43.986642ms) +2026-09-27T05:34:02.5193769Z ▶ session event stream health contract +2026-09-27T05:34:02.5194900Z ✔ expects a stream for running sessions or live renderer activity only (3.230572ms) +2026-09-27T05:34:02.5207578Z ✔ uses the newest known observation as the staleness anchor (0.247709ms) +2026-09-27T05:34:02.5358861Z ✔ marks expected streams stale after the configured threshold (0.207365ms) +2026-09-27T05:34:02.5359829Z ✔ reports recovered for the first healthy check after a stale state (0.20733ms) +2026-09-27T05:34:02.5360631Z ✔ throttles stale recovery refresh requests (0.219019ms) +2026-09-27T05:34:02.5361334Z ✔ session event stream health contract (11.425757ms) +2026-09-27T05:34:02.5361868Z ▶ normalizeUserSessionName +2026-09-27T05:34:02.5362619Z ✔ strips the deprecated Cf bidi-adjacent controls U+206A-206F (#3823) (1.819861ms) +2026-09-27T05:34:02.5363384Z ✔ leaves ordinary names untouched (0.280064ms) +2026-09-27T05:34:02.5364025Z ✔ normalizeUserSessionName (15.903617ms) +2026-09-27T05:34:02.5365131Z ✔ Memory: Goal CAS and Session retirement use the same transaction domain (59.992818ms) +2026-09-27T05:34:02.5366249Z ✔ bounds long Session labels without splitting a Unicode character (7.169863ms) +2026-09-27T05:34:02.5367223Z ✔ bounds the provenance name to the QuoteRef UTF-16 limit (0.409348ms) +2026-09-27T05:34:02.5368259Z ✔ bounds a CJK snapshot by UTF-8 bytes before it reaches send admission (14.725002ms) +2026-09-27T05:34:02.5369352Z ✔ creates a recent, redacted snapshot and excludes non-conversation messages (1.424562ms) +2026-09-27T05:34:02.5370454Z ✔ redacts secrets from retained user and assistant messages before quoting them (0.970372ms) +2026-09-27T05:34:02.5371588Z ✔ redacts a credential-shaped title in both snapshot provenance and quote labels (0.409788ms) +2026-09-27T05:34:02.5372733Z ✔ bounds a snapshot from the newest content and preserves truncation provenance (0.448925ms) +2026-09-27T05:34:02.5373787Z ✔ accounts for the role prefix when truncating a single item (0.341099ms) +2026-09-27T05:34:02.5415123Z ✔ does not emit a partial role prefix when no content fits (0.993545ms) +2026-09-27T05:34:02.5416149Z ✔ does not split an emoji when truncating the first item (0.708799ms) +2026-09-27T05:34:02.5417126Z ✔ does not emit a partial role prefix when an emoji cannot fit (0.313365ms) +2026-09-27T05:34:02.6913521Z ✔ decodes turn states written before partialOutputRetained was retired (10.447578ms) +2026-09-27T05:34:02.6953024Z ✔ still rejects turn-state keys no released writer produced (0.410376ms) +2026-09-27T05:34:02.7166413Z ▶ session list view mode persistence +2026-09-27T05:34:02.7194846Z ✔ defaults to conversation when nothing is stored (1.167303ms) +2026-09-27T05:34:02.7195928Z ✔ round-trips a project grouping through the same key the shell hydrates (0.378519ms) +2026-09-27T05:34:02.7196790Z ✔ keeps conversation when that is what was written (0.268165ms) +2026-09-27T05:34:02.7197600Z ✔ fails open to conversation for garbage or empty stored values (0.326926ms) +2026-09-27T05:34:02.7198369Z ✔ session list view mode persistence (3.666475ms) +2026-09-27T05:34:02.7198955Z ▶ session rail width persistence +2026-09-27T05:34:02.7199559Z ✔ persists a width the user dragged to (1.270561ms) +2026-09-27T05:34:02.7200520Z ✔ ignores the collapse sentinel instead of storing it as the user's width (0.44904ms) +2026-09-27T05:34:02.7201252Z ✔ session rail width persistence (2.031569ms) +2026-09-27T05:34:02.7323360Z ▶ logical session revision projection +2026-09-27T05:34:02.7356205Z ✔ keeps one committed version and an ordinary branch as separate conversations (2.030814ms) +2026-09-27T05:34:02.7405711Z ✔ hides preparing versions unless they own the active draft (0.310784ms) +2026-09-27T05:34:02.7444902Z ✔ keeps a child nested under the selected representative of its physical parent revision (1.069716ms) +2026-09-27T05:34:02.7449935Z ✔ logical session revision projection (5.137465ms) +2026-09-27T05:34:02.7959992Z ▶ projectSessionSendOutcome — exact Connection identity +2026-09-27T05:34:02.8000630Z ✔ is ready only when id, slug, model, and credentials match (2.537524ms) +2026-09-27T05:34:02.8061072Z ✔ does not require a Maka model connection for a plugin executor Session (0.378155ms) +2026-09-27T05:34:02.8118455Z ✔ blocks a legacy Session until the user explicitly selects an account (0.246276ms) +2026-09-27T05:34:02.8179768Z ✔ does not adopt a replacement Connection that reuses a deleted slug (0.243253ms) +2026-09-27T05:34:02.8238256Z ✔ blocks an identity mismatch even when the id exists under another slug (0.237826ms) +2026-09-27T05:34:02.8298050Z ✔ never silently rebinds an unlocked Session to another ready account (0.360958ms) +2026-09-27T05:34:02.8360116Z ✔ preserves the exact connection readiness reason (0.302005ms) +2026-09-27T05:34:02.8415664Z ✔ validates the sticky Session model rather than the provider default (0.452721ms) +2026-09-27T05:34:02.8447877Z ✔ continues to refuse a retired fake backend (0.699434ms) +2026-09-27T05:34:02.8485806Z ✔ projectSessionSendOutcome — exact Connection identity (8.048293ms) +2026-09-27T05:34:02.8510286Z ✔ Local standalone child close/reopen remains compatible with later group composition (495.012158ms) +2026-09-27T05:34:02.8535351Z ▶ session status contract +2026-09-27T05:34:02.8564714Z ✔ accepts only the current ordered session status collection (1.667716ms) +2026-09-27T05:34:02.8606618Z ✔ session status contract (2.984588ms) +2026-09-27T05:34:02.9058871Z ▶ SessionTodo document +2026-09-27T05:34:02.9087825Z ✔ normalizes the complete ordered list and permits initialized-empty state (5.863496ms) +2026-09-27T05:34:02.9119435Z ✔ enforces the legacy-compatible item and content bounds (15.723427ms) +2026-09-27T05:34:02.9123845Z ✔ rejects invalid statuses and unknown fields (0.270145ms) +2026-09-27T05:34:02.9125135Z ✔ projects one shared display-safe value without changing stored normalization (4.217306ms) +2026-09-27T05:34:02.9126162Z ✔ SessionTodo document (29.26358ms) +2026-09-27T05:34:02.9275633Z ▶ ExternalSessionImporter +2026-09-27T05:34:02.9367720Z ✔ forwards the exact external Session origin to imported persistence (8.75356ms) +2026-09-27T05:34:02.9466223Z ✔ persists adapter output as native Maka StoredMessages (401.976583ms) +2026-09-27T05:34:02.9539311Z ✔ allows the Maka target to override imported name and cwd (120.465086ms) +2026-09-27T05:34:02.9582796Z ✔ preserves a target cwd containing decomposed Unicode after reopening storage (206.028236ms) +2026-09-27T05:34:02.9637637Z ✔ preserves a target cwd containing a zero-width joiner after reopening storage (188.336618ms) +2026-09-27T05:34:02.9671672Z ✔ canonicalizes adapter metadata before entering persistence (1.762192ms) +2026-09-27T05:34:02.9703498Z ✔ rejects invalid message timestamps before entering persistence (0.821768ms) +2026-09-27T05:34:02.9735605Z ✔ rejects rows that hold no conversation the Ledger would keep (7.822955ms) +2026-09-27T05:34:02.9736642Z ✔ rejects invalid adapter messages without exposing a partial Session (140.701144ms) +2026-09-27T05:34:02.9801963Z ✔ ExternalSessionImporter (1080.844425ms) +2026-09-27T05:34:02.9827087Z ✔ a file lifetime owner fails closed and recovers after owner death (184.168506ms) +2026-09-27T05:34:02.9859846Z ✔ persists a current Manifest head and first immutable object prefix across reopened adapters (110.57413ms) +2026-09-27T05:34:02.9940175Z ✔ serializes concurrent local CAS writers across adapter instances (105.213733ms) +2026-09-27T05:34:03.0006871Z ✔ recovers a repository writer killed before-rename without removing its lock (309.01648ms) +2026-09-27T05:34:03.0085885Z ✔ recovers a repository writer killed after-rename without removing its lock (295.263416ms) +2026-09-27T05:34:03.0142607Z ✔ persists Fork source binding and crash recovery across reopened adapters (125.939592ms) +2026-09-27T05:34:03.0154089Z ✔ fails closed when durable local control-plane state is corrupt (50.569673ms) +2026-09-27T05:34:03.0193429Z ✔ fails closed when persisted revision allocation contradicts its current head (75.205898ms) +2026-09-27T05:34:03.0262708Z ✔ fails closed when a persisted commit receipt contradicts the current head (46.008608ms) +2026-09-27T05:34:03.0298779Z ✔ uses Session and CAS preflight errors before checking an unrelated candidate object (93.388551ms) +2026-09-27T05:34:03.0329690Z ✔ streams immutable object publication and materialization across concurrent adapters (155.914762ms) +2026-09-27T05:34:03.0384949Z ✔ releases a file update lock when its process is killed (92.811014ms) +2026-09-27T05:34:03.0386184Z ✔ recovers a supervised legacy directory lock when its process is killed (95.54449ms) +2026-09-27T05:34:03.0414694Z ✔ keeps the authority lease held by an inherited package-switch descriptor (323.034015ms) +2026-09-27T05:34:03.0455975Z ✔ Git execution ignores ambient repository variables for text and byte output (67.951521ms) +2026-09-27T05:34:03.0506743Z ▶ Git worktree child executor +2026-09-27T05:34:03.0517008Z ✔ reports availability only when the source workspace is a Git project (114.476588ms) +2026-09-27T05:34:03.0537633Z ✔ provisions deterministic isolated worktrees for concurrent child leases (365.647924ms) +2026-09-27T05:34:03.0545925Z ✔ reuses the durable branch/path binding across executor restart and child edits (343.73254ms) +2026-09-27T05:34:03.0582339Z ✔ captures committed, tracked, and untracked changes as one base-relative patch (294.77123ms) +2026-09-27T05:34:03.0625551Z ✔ captures complete patches larger than the former 10 MiB process buffer (642.921809ms) +2026-09-27T05:34:03.0661951Z ✔ retires only the Host lease branch after a child switches branches (311.744636ms) +2026-09-27T05:34:03.0685475Z ✔ recovery preserves live bindings and retires orphaned worktrees (446.542609ms) +2026-09-27T05:34:03.0736286Z ✔ fails closed when a fresh lease would omit uncommitted parent work (142.656785ms) +2026-09-27T05:34:03.0766014Z ✔ rejects non-Git project roots (4.650027ms) +2026-09-27T05:34:03.0791572Z ✔ Git worktree child executor (2670.178815ms) +2026-09-27T05:34:03.0814849Z ✔ Goal authority commits one revisioned record and preserves its execution reference (373.155469ms) +2026-09-27T05:34:03.0887005Z ✔ Goal authority close lets an admitted commit finish before releasing storage (246.186946ms) +2026-09-27T05:34:03.0917295Z ✔ Session retirement atomically removes its Goal authority (184.273515ms) +2026-09-27T05:34:03.1020172Z ▶ invocation opening fact backfill +2026-09-27T05:34:03.1070052Z ✔ gives every header-only run the opening fact it never wrote (224.948869ms) +2026-09-27T05:34:03.1095511Z ✔ enumerates event openings and migrated ones as one inventory (191.780348ms) +2026-09-27T05:34:03.1115792Z ✔ purging a migrated Session takes its shelved openings with it (169.809919ms) +2026-09-27T05:34:03.1185464Z ✔ bounds, pages and addresses the same inventory (171.38747ms) +2026-09-27T05:34:03.1205774Z ✔ migrates a header exactly as the header era wrote it, composition included (235.338943ms) +2026-09-27T05:34:03.1227919Z ✔ refuses to migrate a header it cannot read, and drops nothing (165.879566ms) +2026-09-27T05:34:03.1265989Z ✔ invocation opening fact backfill (1161.584226ms) +2026-09-27T05:34:03.1295636Z ✔ converts released single-value steps without changing wildcard steps (2.07585ms) +2026-09-27T05:34:03.1345765Z ✔ rejects a source expression outside the released grammar (0.519714ms) +2026-09-27T05:34:03.1382353Z ▶ legacy Run header decoding +2026-09-27T05:34:03.1415329Z ✔ rejects a header with multiple hosted root authorities (1.731854ms) +2026-09-27T05:34:03.1449900Z ✔ folds every retired persisted value (0.366421ms) +2026-09-27T05:34:03.1472093Z ✔ accepts both bound and legacy connection identity (0.424659ms) +2026-09-27T05:34:03.1479928Z ✔ projects an unbound connection as an unauthenticated route (0.482469ms) +2026-09-27T05:34:03.1483054Z ✔ legacy Run header decoding (4.848305ms) +2026-09-27T05:34:03.1484608Z ▶ legacy continuation source decoding +2026-09-27T05:34:03.1515794Z ✔ rejects a V2 replay manifest that does not identify its boundary (0.599842ms) +2026-09-27T05:34:03.1528330Z ✔ projects a V2 source onto the opening fact (0.292362ms) +2026-09-27T05:34:03.1560998Z ✔ legacy continuation source decoding (1.189406ms) +2026-09-27T05:34:03.1578826Z ✔ contract errors retain instanceof identity through existing package seams (5.553676ms) +2026-09-27T05:34:03.1582412Z ✔ leased WorkHub contract persists copied attachments and rejects inconsistent content or replay (590.620977ms) +2026-09-27T05:34:03.1583905Z ✔ leased WorkHub transaction rolls back target, create claim, admission and linkage together (315.61951ms) +2026-09-27T05:34:03.1585450Z ✔ retained execution contract cannot read or assign after its root lease is closed (292.644423ms) +2026-09-27T05:34:03.1586817Z ✔ Session and Tool persistence contracts do not import concrete storage implementations (21.337897ms) +2026-09-27T05:34:03.1588242Z ✔ production Runtime and Host use persistence contracts, with writer construction owned by composition (516.248303ms) +2026-09-27T05:34:03.1589454Z ✔ rejects a second authority for the same storage root in another process (180.476596ms) +2026-09-27T05:34:03.1590417Z ✔ converges after process exit at during_environment_provision (322.404421ms) +2026-09-27T05:34:03.1591330Z ✔ converges after process exit at after_environment_tree_durable (439.078207ms) +2026-09-27T05:34:03.1615610Z ✔ converges after process exit at after_environment_receipt_durable (306.487436ms) +2026-09-27T05:34:03.1645465Z ✔ converges after process exit at after_environment_publish (315.244479ms) +2026-09-27T05:34:03.1669686Z ✔ computes one shared environment identity for equivalent dependency inputs (2.320911ms) +2026-09-27T05:34:03.1670802Z ✔ rejects a producer that does not declare the exact hermetic capability (29.074582ms) +2026-09-27T05:34:03.1671863Z ✔ rejects a second authority for the same storage root in one process (34.663004ms) +2026-09-27T05:34:03.1672958Z ✔ rejects a published environment whose dependency content was modified (59.598594ms) +2026-09-27T05:34:03.1674184Z ✔ keeps the receipt in a constrained authority outside the producer-owned artifact domain (64.785315ms) +2026-09-27T05:34:03.1675509Z ✔ rejects a coordinated artifact and co-located receipt rewrite (104.487522ms) +2026-09-27T05:34:03.1676587Z ✔ rejects an environment id that is not the digest of the requested identity (20.213811ms) +2026-09-27T05:34:03.1677736Z ﹣ rejects an NTFS alternate stream created inside a dependency artifact (0.203793ms) # SKIP +2026-09-27T05:34:03.1679058Z ﹣ rejects an NTFS alternate stream attached to the published dependency root (0.091416ms) # SKIP +2026-09-27T05:34:03.1680273Z ﹣ rejects an NTFS alternate stream attached to a published nested directory (0.158165ms) # SKIP +2026-09-27T05:34:03.1681439Z ✔ accepts a POSIX package bin symlink whose target remains inside the dependency root (79.655776ms) +2026-09-27T05:34:03.1682592Z ✔ publishes authority-owned file inodes instead of producer-owned inodes (46.872666ms) +2026-09-27T05:34:03.1683726Z ✔ seals the complete authority-owned tree before publishing its receipt (75.966982ms) +2026-09-27T05:34:03.1685197Z ﹣ publishes Windows read-only dependency files without changing their final mode (0.766697ms) # SKIP +2026-09-27T05:34:03.1686590Z ✔ isolates published POSIX content from a producer-retained writable handle (28.06463ms) +2026-09-27T05:34:03.1687951Z ✔ publishes one Maka-owned artifact for concurrent equivalent acquisitions (96.321978ms) +2026-09-27T05:34:03.1689161Z ✔ close drains an acquisition through lease installation before deciding its outcome (58.227003ms) +2026-09-27T05:34:03.1690612Z ✔ collects the least-recently-used unleased environment under the cache quota (144.00372ms) +2026-09-27T05:34:03.1691806Z ✔ does not collect a published environment while its acquisition is still pending (137.682929ms) +2026-09-27T05:34:03.1692607Z ▶ in-memory ManagedSecretStore +2026-09-27T05:34:03.1693472Z ✔ requires an explicit target-Session authorization for copied references (3.370034ms) +2026-09-27T05:34:03.1694845Z ✔ rotates behind a stable reference and rejects a stale CAS basis (1.522406ms) +2026-09-27T05:34:03.1695998Z ✔ revocation and grant removal affect later Activations without changing references (0.834066ms) +2026-09-27T05:34:03.1697059Z ✔ deletion removes material and target grants without retaining a tombstone (0.702737ms) +2026-09-27T05:34:03.1698967Z ✔ does not expose secret material through metadata or unauthorized principals (0.838905ms) +2026-09-27T05:34:03.1700090Z ✔ in-memory ManagedSecretStore (9.0564ms) +2026-09-27T05:34:03.1700717Z ▶ encrypted-file ManagedSecretStore +2026-09-27T05:34:03.1701555Z ✔ requires an explicit target-Session authorization for copied references (88.664653ms) +2026-09-27T05:34:03.1702541Z ✔ rotates behind a stable reference and rejects a stale CAS basis (27.633329ms) +2026-09-27T05:34:03.1703649Z ✔ revocation and grant removal affect later Activations without changing references (45.437484ms) +2026-09-27T05:34:03.1704931Z ✔ deletion removes material and target grants without retaining a tombstone (34.54407ms) +2026-09-27T05:34:03.1706040Z ✔ does not expose secret material through metadata or unauthorized principals (12.545441ms) +2026-09-27T05:34:03.1706924Z ✔ encrypted-file ManagedSecretStore (209.855837ms) +2026-09-27T05:34:03.1707604Z ▶ encrypted file ManagedSecretStore security boundary +2026-09-27T05:34:03.1708475Z ✔ keeps mutation timestamps monotonic when the wall clock moves backwards (61.146724ms) +2026-09-27T05:34:03.1709540Z ✔ physically removes deleted records and grants so capacity is reusable (31.284729ms) +2026-09-27T05:34:03.1710631Z ✔ persists only authenticated ciphertext in a private control-plane root (6.883718ms) +2026-09-27T05:34:03.1711644Z ✔ reopens with the external key and fails closed when the key is unavailable (18.956031ms) +2026-09-27T05:34:03.1712754Z ✔ uses the provider active key on rotation without changing the portable reference (31.037236ms) +2026-09-27T05:34:03.1713844Z ✔ binds ciphertext to identity, owner, and revision with AEAD authentication (41.986767ms) +2026-09-27T05:34:03.1715035Z ✔ serializes two store owners so concurrent creates do not lose records (33.690244ms) +2026-09-27T05:34:03.1715964Z ✔ fails closed on an unknown document schema (4.570189ms) +2026-09-27T05:34:03.1716810Z ✔ encrypted file ManagedSecretStore security boundary (230.579564ms) +2026-09-27T05:34:03.1717735Z ✔ keeps the open primitive captured at module initialization (41.796658ms) +2026-09-27T05:34:03.1718676Z ✔ create removes its temporary marker after a write failure (17.281428ms) +2026-09-27T05:34:03.1719595Z ✔ create removes its temporary marker after a sync failure (9.180435ms) +2026-09-27T05:34:03.1720517Z ✔ create removes its temporary marker after a close failure (13.540924ms) +2026-09-27T05:34:03.1721401Z ✔ replace removes its temporary marker after a write failure (4.410423ms) +2026-09-27T05:34:03.1722260Z ✔ replace removes its temporary marker after a sync failure (5.953191ms) +2026-09-27T05:34:03.1723121Z ✔ replace removes its temporary marker after a close failure (3.470061ms) +2026-09-27T05:34:03.1724167Z ✔ a subscriber hears when watching begins, then once per replacement until it unsubscribes (1208.55833ms) +2026-09-27T05:34:03.1725554Z ✔ creates and atomically updates a Claude-compatible mcp.json (57.209595ms) +2026-09-27T05:34:03.1726311Z ✔ leaves no temp file behind after writes (33.35182ms) +2026-09-27T05:34:03.1727163Z ✔ reads version 1 without rewriting and persists version 3 on the next mutation (34.168613ms) +2026-09-27T05:34:03.1728126Z ✔ reads a missing wrapper version as version 1 without rewriting it (14.885464ms) +2026-09-27T05:34:03.1729345Z ✔ reads version 2 remote pins without rewriting and projects them as version 3 (10.829258ms) +2026-09-27T05:34:03.1730241Z ✔ round-trips every version 3 protocol preference for remote and stdio (2.994932ms) +2026-09-27T05:34:03.1731156Z ✔ rejects protocol fields under missing or version 1 wrappers (0.385709ms) +2026-09-27T05:34:03.1731920Z ✔ rejects protocol on version 2 stdio servers (0.261484ms) +2026-09-27T05:34:03.1732669Z ✔ allows SSE only with an omitted or explicit legacy protocol (0.523783ms) +2026-09-27T05:34:03.1733559Z ✔ transform sees the latest committed config, not a caller snapshot (57.120086ms) +2026-09-27T05:34:03.1734714Z ✔ two independent stores preserve concurrent additions to one workspace (36.632048ms) +2026-09-27T05:34:03.1735729Z ✔ a new store commits after a killed MCP config writer releases its native lock (294.133984ms) +2026-09-27T05:34:03.1736883Z ✔ serializes concurrent updates without corrupting the file (222.5154ms) +2026-09-27T05:34:03.1737732Z ✔ rejects corrupt files and unsafe or invalid configs (5.7771ms) +2026-09-27T05:34:03.1738516Z ✔ leaves a higher-version file untouched when it is rejected (3.875582ms) +2026-09-27T05:34:03.1739491Z ✔ normalizes wrapped imports and direct maps without losing source-version rules (0.584585ms) +2026-09-27T05:34:03.1740453Z ✔ import rejects malformed wrappers and protocol fields from older eras (0.620088ms) +2026-09-27T05:34:03.1741425Z ✔ refuses cleartext http for non-loopback hosts at the write boundary (28.155645ms) +2026-09-27T05:34:03.1742531Z ✔ grandfathers a pre-existing cleartext server on read and keeps the file repairable (83.002134ms) +2026-09-27T05:34:03.1743403Z ✔ normalizes and bounds the remote oauth block (1.50449ms) +2026-09-27T05:34:03.1744250Z ✔ rejects a config that declares both an Authorization header and oauth (0.363628ms) +2026-09-27T05:34:03.1745134Z ▶ interactive Memory bundle storage authority +2026-09-27T05:34:03.1745888Z ✔ reader and writer recovery are non-mutating when no transaction exists (126.864821ms) +2026-09-27T05:34:03.1746717Z ✔ commits MEMORY.md and PENDING.md under one exact bundle CAS (70.717297ms) +2026-09-27T05:34:03.1747472Z ✔ detects direct external edits before publishing a mutation (16.997053ms) +2026-09-27T05:34:03.1748369Z ✔ restores a selected backup, preserves PENDING.md, and rotates restore undo history (386.500084ms) +2026-09-27T05:34:03.1749226Z ✔ can restore a bounded safe-mode backup for manual recovery (142.770186ms) +2026-09-27T05:34:03.1750111Z ✔ rejects a stale backup candidate even when the bundle revision is unchanged (92.348677ms) +2026-09-27T05:34:03.1751012Z ✔ rolls a durable two-document decision forward after partial materialization (125.983738ms) +2026-09-27T05:34:03.1751863Z ✔ preserves external edits made after a durable decision (57.432163ms) +2026-09-27T05:34:03.1752722Z ✔ does not replace an external save published after basis displacement (78.774011ms) +2026-09-27T05:34:03.1753534Z ✔ restores an external save captured while displacing the basis (62.717453ms) +2026-09-27T05:34:03.1754617Z ✔ keeps staged targets immutable after partial materialization (65.5468ms) +2026-09-27T05:34:03.1755514Z ✔ rejects a durable decision whose document state disagrees with staged bytes (65.135662ms) +2026-09-27T05:34:03.1756407Z ✔ discards an undecided transaction without touching user documents (26.546332ms) +2026-09-27T05:34:03.1757382Z ✔ read-only inspection fails closed until a writer recovers a transaction (44.312349ms) +2026-09-27T05:34:03.1758498Z ✔ rejects a symbolic-link Memory parent without reading or writing outside the root (53.785727ms) +2026-09-27T05:34:03.1759465Z ✔ root owner close drains mutations admitted before close (61.122018ms) +2026-09-27T05:34:03.1760322Z ✔ interactive Memory bundle storage authority (1482.228756ms) +2026-09-27T05:34:03.1760937Z ▶ canonical model call ledger +2026-09-27T05:34:03.1761673Z ✔ reads back what it recorded, bounded to the queried window (552.045541ms) +2026-09-27T05:34:03.1762971Z ✔ a failed call keeps its pricing basis and drops what pricing cannot use (331.083685ms) +2026-09-27T05:34:03.1764077Z ✔ migration deletes legacy repair intent without losing discoverable authority (331.834081ms) +2026-09-27T05:34:03.1765521Z ✔ a row converted in place keeps spend the authority can no longer replay (302.331457ms) +2026-09-27T05:34:03.1766508Z ✔ a late settlement replaces the provisional record under the same attempt id (268.955476ms) +2026-09-27T05:34:03.1767572Z ✔ reports an authority record that does not satisfy the canonical schema (229.212796ms) +2026-09-27T05:34:03.1768446Z ✔ one unreadable row is reported rather than failing the whole query (151.936579ms) +2026-09-27T05:34:03.1769342Z ✔ a Session-scoped read excludes another Session records and corruption (162.576469ms) +2026-09-27T05:34:03.1770653Z ✔ reads and catch-up after close report the lifecycle rather than corrupting state (114.467507ms) +2026-09-27T05:34:03.1771608Z ✔ canonical model call ledger (2447.390194ms) +2026-09-27T05:34:03.1772343Z ▶ catching the read model up from the AgentRun authority +2026-09-27T05:34:03.1773218Z ✔ consumes the high-water published by the real AgentRun append path (109.576674ms) +2026-09-27T05:34:03.1774206Z ✔ recovers an authority append even when no repair marker was written (119.070084ms) +2026-09-27T05:34:03.1775276Z ✔ a later authority append remains discoverable after an earlier catch-up (142.534549ms) +2026-09-27T05:34:03.1776148Z ✔ persists corrupt authority evidence without pinning later events (331.194538ms) +2026-09-27T05:34:03.1777058Z ✔ reports a run as pending until a bounded catch-up reaches its high-water mark (164.590898ms) +2026-09-27T05:34:03.1777903Z ✔ does not advance the checkpoint when projection storage fails (182.88553ms) +2026-09-27T05:34:03.1778695Z ✔ catching the read model up from the AgentRun authority (1050.885717ms) +2026-09-27T05:34:03.1779310Z ▶ Usage answers over the canonical ledger +2026-09-27T05:34:03.1779958Z ✔ a total never counts unpriced spend as zero, and says so in coverage (417.132805ms) +2026-09-27T05:34:03.1780881Z ✔ a genuinely free call is counted as priced, and reads apart from an unpriced one (252.871571ms) +2026-09-27T05:34:03.1781801Z ✔ usage-missing records are reported separately from unpriced ones (158.744904ms) +2026-09-27T05:34:03.1782624Z ✔ one malformed cache reading cannot inflate the cache total (278.472888ms) +2026-09-27T05:34:03.1783532Z ✔ provider cache-only evidence survives without inventing an input total (166.973337ms) +2026-09-27T05:34:03.1784573Z ✔ the summary sums recorded call time over the rows it counts (310.610542ms) +2026-09-27T05:34:03.1785402Z ✔ filters by Session, window, provider, model, and status (241.784069ms) +2026-09-27T05:34:03.1786168Z ✔ interrupted counts as aborted, not as an error (111.448065ms) +2026-09-27T05:34:03.1786982Z ✔ buckets group by provider and by model, excluding unpriced cost (165.33385ms) +2026-09-27T05:34:03.1787884Z ✔ time buckets are named by the same key both Usage sources derive (176.533973ms) +2026-09-27T05:34:03.1788785Z ✔ logs page newest first and carry coverage for the whole match (185.857496ms) +2026-09-27T05:34:03.1789571Z ✔ a replayed attemptId is one call, not two (179.132218ms) +2026-09-27T05:34:03.1790312Z ✔ Usage answers over the canonical ledger (2651.236158ms) +2026-09-27T05:34:03.1791292Z ✔ model facts persist and malformed documents fail closed with a bounded diagnostic (21.485087ms) +2026-09-27T05:34:03.1792388Z ✔ model facts temporary writes are removed by runtime policy recovery (12.456484ms) +2026-09-27T05:34:03.1793415Z ✔ future model facts schemas fail closed without rewriting the document (7.001181ms) +2026-09-27T05:34:03.1794775Z ✔ an onboarding intent round-trips its endpoint override through the journal (62.155055ms) +2026-09-27T05:34:03.1795872Z ✔ a journal written before the baseUrl field replays as no override (9.638732ms) +2026-09-27T05:34:03.1796815Z ✔ a journal naming a legacy custom type replays as a custom connection (16.522098ms) +2026-09-27T05:34:03.1828113Z ✔ a caller-chosen display name round-trips through the journal (5.477173ms) +2026-09-27T05:34:03.1829180Z ✔ a journal written before the name field replays with the provider default (4.347794ms) +2026-09-27T05:34:03.1830266Z ✔ a malformed requested display name fails input decode, never the journal (1.957221ms) +2026-09-27T05:34:03.1831359Z ✔ coverage merge distinguishes backend absence from a gap in only some pages (4.205841ms) +2026-09-27T05:34:03.1832233Z ✔ page merge orders and deduplicates turns (1.778896ms) +2026-09-27T05:34:03.1833056Z ✔ page merge has a stable order when run timestamps and identities tie (22.923818ms) +2026-09-27T05:34:03.1834015Z ✔ coverage merge keeps equal turn ids from distinct runs separate (0.319886ms) +2026-09-27T05:34:03.1835441Z ✔ defaults new sessions to bypass while preserving saved choices and rejecting invalid modes (8.241833ms) +2026-09-27T05:34:03.1836872Z ✔ normalizes user-approved subagent presets without widening the catalog (4.217277ms) +2026-09-27T05:34:03.1837645Z ▶ custom pet selection settings +2026-09-27T05:34:03.1838408Z ✔ fails closed for missing, unsafe, or malformed persisted selections (3.149522ms) +2026-09-27T05:34:03.1839166Z ✔ custom pet selection settings (3.644876ms) +2026-09-27T05:34:03.1839667Z ▶ UI locale preferences +2026-09-27T05:34:03.1840411Z ✔ preserves every supported preference and migrates the former generic zh value (0.693148ms) +2026-09-27T05:34:03.1841187Z ✔ UI locale preferences (1.442456ms) +2026-09-27T05:34:03.1842064Z ✔ shell settings default, normalize, and merge through their shared boundary (2.551343ms) +2026-09-27T05:34:03.1843037Z ✔ an unrecognized legacy chat thinking field drops to no preference (1.399096ms) +2026-09-27T05:34:03.1844031Z ✔ an app icon the build does not ship falls back without disturbing the theme (0.566896ms) +2026-09-27T05:34:03.1845323Z ✔ font-size appearance defaults, with wrong types failing closed and out-of-range clamped (0.663036ms) +2026-09-27T05:34:03.1846211Z ✔ imported app icons normalize by id shape, never by path (0.544792ms) +2026-09-27T05:34:03.1846797Z ▶ OpenCodeSessionAdapter +2026-09-27T05:34:03.1847302Z ✔ reports absent when no database exists (35.935432ms) +2026-09-27T05:34:03.1848061Z ✔ an unreadable database is reported, not answered as an empty catalog (15.633691ms) +2026-09-27T05:34:03.1849004Z ✔ a session whose transcript tables are missing fails instead of importing empty (77.427651ms) +2026-09-27T05:34:03.1849920Z ✔ a user message with no prompt does not produce a turn holding no messages (31.957907ms) +2026-09-27T05:34:03.1850747Z ✔ lists a captured session with its directory and title (202.000592ms) +2026-09-27T05:34:03.1851442Z ✔ a cwd query selects by the session directory (202.714619ms) +2026-09-27T05:34:03.1852194Z ✔ pages the filtered catalog before returning rows to the Host (333.86584ms) +2026-09-27T05:34:03.1853140Z ✔ an app icon that never passed normalization still coerces to the brand mark (0.360951ms) +2026-09-27T05:34:03.1854085Z ✔ WorkHub stays opt-in and malformed persisted values fail closed (7.108288ms) +2026-09-27T05:34:03.1888601Z ▶ app icon per appearance +2026-09-27T05:34:03.1890007Z ✔ one icon serves both appearances until a dark one is chosen (0.373304ms) +2026-09-27T05:34:03.1890768Z ✔ a dark choice applies only to dark (2.484962ms) +2026-09-27T05:34:03.1891603Z ✔ a settings file written before the dark slot existed keeps its icon in both (0.227549ms) +2026-09-27T05:34:03.1894216Z ✔ clearing the dark slot survives normalization as absent, not as a default (0.45032ms) +2026-09-27T05:34:03.1895857Z ✔ a present-but-invalid dark id falls back instead of reaching the main process (0.241236ms) +2026-09-27T05:34:03.1897139Z ✔ a fresh install uses one icon in both appearances (2.731758ms) +2026-09-27T05:34:03.1898170Z ✔ the shipped dark recommendation is a real icon that can be seeded (0.181174ms) +2026-09-27T05:34:03.1900339Z ✔ the startup icon matches what a fresh install resolves to (0.738046ms) +2026-09-27T05:34:03.1901568Z ✔ a malformed choice cannot survive as a path fragment (0.727809ms) +2026-09-27T05:34:03.1902423Z ✔ app icon per appearance (8.750537ms) +2026-09-27T05:34:03.1902867Z ▶ app icon on upgrade +2026-09-27T05:34:03.1903488Z ✔ a settings file that recorded a choice keeps it (3.965588ms) +2026-09-27T05:34:03.1904326Z ✔ a settings file that never recorded one takes the new default (0.23159ms) +2026-09-27T05:34:03.1905228Z ✔ app icon on upgrade (4.569345ms) +2026-09-27T05:34:03.1905949Z ✔ proxy credentials never enter persisted settings (1.684175ms) +2026-09-27T05:34:03.1906911Z ✔ Workbar toggle position defaults to edge and survives other appearance updates (3.690046ms) +2026-09-27T05:34:03.1908135Z ✔ local acceptance survives restart with attachment bytes and an immutable dispatch epoch (120.803498ms) +2026-09-27T05:34:03.1909211Z ✔ ordinary send presentation survives local outbox restart (46.513313ms) +2026-09-27T05:34:03.1910259Z ✔ local IDs bind content, retries are idempotent, and admission stays bounded (531.705329ms) +2026-09-27T05:34:03.2075491Z ▶ mergeShellRunState +2026-09-27T05:34:03.2076479Z ✔ orders state by revision and strips child operations (1.395686ms) +2026-09-27T05:34:03.2083365Z ✔ only enriches a same-revision compact handoff with output (0.309415ms) +2026-09-27T05:34:03.2084817Z ✔ rejects conflicting state at one revision and a different ref (4.878905ms) +2026-09-27T05:34:03.2085762Z ✔ mergeShellRunState (10.7592ms) +2026-09-27T05:34:03.2086299Z ▶ ShellRun view updates +2026-09-27T05:34:03.2087070Z ✔ fans an owner revision into the inherited view identity (0.504205ms) +2026-09-27T05:34:03.2088177Z ✔ applies ownership-only changes without letting stale revisions rewrite ownership (0.972832ms) +2026-09-27T05:34:03.2089459Z ✔ bounds hydration updates while retaining the latest revision of recently active refs (1.82468ms) +2026-09-27T05:34:03.2090353Z ✔ ShellRun view updates (4.731305ms) +2026-09-27T05:34:03.2091028Z ▶ decodeCanonicalShellToolResultContent +2026-09-27T05:34:03.2092016Z ✔ accepts canonical current terminal state and rejects contradictory exit status (2.36303ms) +2026-09-27T05:34:03.2093179Z ✔ rejects non-canonical nested output and contradictory current state (2.390685ms) +2026-09-27T05:34:03.2094226Z ✔ accepts queued PTY input and rejects the superseded applied field (0.70588ms) +2026-09-27T05:34:03.2095371Z ✔ decodeCanonicalShellToolResultContent (6.369636ms) +2026-09-27T05:34:03.2205927Z ✔ a credential or profile incarnation change cannot read the old local history (29.12202ms) +2026-09-27T05:34:03.2255753Z ▶ slash command catalog +2026-09-27T05:34:03.2275648Z ✔ /todo is a TUI-only read of the current session Todo projection (9.551147ms) +2026-09-27T05:34:03.2305295Z ✔ slash command catalog (10.967828ms) +2026-09-27T05:34:03.2395937Z ✔ cancelling an undispatched message removes its staged bytes as one database operation (23.850039ms) +2026-09-27T05:34:03.2585937Z ✔ normal application shutdown preserves intentions when the manager removes its in-memory targets (12.378567ms) +2026-09-27T05:34:03.2663622Z ✔ a catalog read begun before local creation cannot erase that Session or its intent (15.655449ms) +2026-09-27T05:34:03.2971577Z ✔ a locally-owned Session change signals a list refresh, not a targeted row read (27.680182ms) +2026-09-27T05:34:03.3453167Z ✔ an authorization failure quarantines the still-connected authority from cache and admission (48.060049ms) +2026-09-27T05:34:03.3568470Z ✔ child sessions are neither listed nor readable as conversations (212.997359ms) +2026-09-27T05:34:03.3776311Z ✔ offline intents are dispatched only after connectivity returns (30.773161ms) +2026-09-27T05:34:03.4430643Z ✔ a retained operation-error local message does not block later sends (64.544388ms) +2026-09-27T05:34:03.4922195Z ▶ subagent session parent relation +2026-09-27T05:34:03.4971930Z ✔ strictly decodes standalone and swarm relations (1.527241ms) +2026-09-27T05:34:03.5026009Z ✔ rejects malformed, unsupported, or extended persisted relations (0.244658ms) +2026-09-27T05:34:03.5091468Z ✔ strictly decodes the initial child-spawn identity (0.281309ms) +2026-09-27T05:34:03.5185672Z ✔ derives reverse children without conflating ordinary branches (1.413647ms) +2026-09-27T05:34:03.5250407Z ✔ projects linked children beneath parents while preserving branches and orphans (3.694948ms) +2026-09-27T05:34:03.5260024Z ✔ keeps cyclic linked relations visible as roots (0.268389ms) +2026-09-27T05:34:03.5305514Z ✔ subagent session parent relation (10.406618ms) +2026-09-27T05:34:03.5335323Z ✔ a retained blocked-skill local message does not block later sends (54.338621ms) +2026-09-27T05:34:03.5365267Z ▶ legacy child execution snapshots +2026-09-27T05:34:03.5395453Z ✔ accepts a snapshot carrying a retired key (1.060373ms) +2026-09-27T05:34:03.5432218Z ✔ accepts a current snapshot without the key (0.489989ms) +2026-09-27T05:34:03.5473525Z ✔ still rejects a key that was never part of the shape (2.157346ms) +2026-09-27T05:34:03.5492915Z ✔ legacy child execution snapshots (4.360762ms) +2026-09-27T05:34:03.5516138Z ▶ subagent workspace binding +2026-09-27T05:34:03.5550043Z ✔ rejects unknown fields, unsafe leases, and malformed commits (1.223907ms) +2026-09-27T05:34:03.5575537Z ✔ subagent workspace binding (2.665127ms) +2026-09-27T05:34:03.5576084Z ▶ task submission readiness +2026-09-27T05:34:03.5576882Z ✔ reuses connection readiness and routes an invalid model to its connection (2.861086ms) +2026-09-27T05:34:03.5577870Z ✔ does not turn unresolved credentials into a confirmed repair failure (0.300266ms) +2026-09-27T05:34:03.5578838Z ✔ distinguishes unavailable runtime and workspace from repairable setup (0.744385ms) +2026-09-27T05:34:03.5579780Z ✔ only requested capabilities participate in submission readiness (0.772452ms) +2026-09-27T05:34:03.5580643Z ✔ treats a missing requested capability observation as unknown (0.27715ms) +2026-09-27T05:34:03.5581330Z ✔ task submission readiness (7.607156ms) +2026-09-27T05:34:03.5582028Z ✔ encodes an ordered terminal prefix sequence atomically (1.407973ms) +2026-09-27T05:34:03.5582969Z ✔ encodes cursor keys from the terminal mode active at the input cut (0.319205ms) +2026-09-27T05:34:03.5583822Z ✔ encodes every named key and xterm modifier family (3.673483ms) +2026-09-27T05:34:03.5625173Z ✔ rejects character chords without a portable terminal encoding (2.320248ms) +2026-09-27T05:34:03.5626368Z ✔ encodes SGR cell mouse actions from live terminal state (0.820357ms) +2026-09-27T05:34:03.5627399Z ✔ rejects mouse input outside the application protocol and viewport (0.363768ms) +2026-09-27T05:34:03.5628726Z ✔ an unknown Host outcome blocks later local sends until the original message is reconciled (66.29629ms) +2026-09-27T05:34:03.6181067Z ✔ lost ACK recovery never changes epoch or ID and does not block another Session (58.565689ms) +2026-09-27T05:34:03.6303689Z ▶ dropped text file import preflight +2026-09-27T05:34:03.6398853Z ✔ rejects empty, too many, and oversize batches before renderer reads file text (7.356406ms) +2026-09-27T05:34:03.6425827Z ✔ routes obvious non-text drops before renderer reads the full file (0.583953ms) +2026-09-27T05:34:03.6517511Z ✔ rejects sampled binary content with an unknown file type (0.325325ms) +2026-09-27T05:34:03.6545520Z ✔ dropped text file import preflight (13.938718ms) +2026-09-27T05:34:03.6575778Z ✔ a root Session with no directory is both listed and importable (271.669127ms) +2026-09-27T05:34:03.6596286Z ✔ a Message dispatched in a released epoch is settled from the Host, never replayed (24.671165ms) +2026-09-27T05:34:03.6657491Z ▶ truncateUtf16Safe +2026-09-27T05:34:03.6669942Z ✔ returns text under the budget unchanged (5.025785ms) +2026-09-27T05:34:03.6772869Z ✔ cuts at the budget when the boundary is clean (0.308391ms) +2026-09-27T05:34:03.6796816Z ✔ drops a dangling high surrogate when the cut splits a pair (0.380809ms) +2026-09-27T05:34:03.6845614Z ✔ treats a zero or negative budget as empty (2.272319ms) +2026-09-27T05:34:03.6886276Z ✔ leaves a lone surrogate already inside the budget alone (0.218082ms) +2026-09-27T05:34:03.6929783Z ✔ truncateUtf16Safe (13.995304ms) +2026-09-27T05:34:03.7025467Z ✔ formats exact terminal input as inert, unambiguous escaped text (2.757869ms) +2026-09-27T05:34:03.7089225Z ✔ derives a bounded summary and a complete inert WriteStdin permission inspection (4.237167ms) +2026-09-27T05:34:03.7133197Z ✔ projects WriteStdin activity to a bounded human-readable input preview (1.913711ms) +2026-09-27T05:34:03.7146749Z ✔ never projects uncommitted todo_write arguments into activity history (1.884387ms) +2026-09-27T05:34:03.7148494Z ✔ projects ordered terminal actions without exposing encoded control bytes (1.612825ms) +2026-09-27T05:34:03.7149964Z ✔ names terminal controls, redacts secrets, escapes invisible input, and caps previews (0.708836ms) +2026-09-27T05:34:03.7151484Z ✔ rejects projected previews that bypass the display safety boundary (0.380725ms) +2026-09-27T05:34:03.7152632Z ✔ bounds a malformed WriteStdin ref at the human projection boundary (0.274906ms) +2026-09-27T05:34:03.7155221Z ✔ a stale-epoch Message the Host never admitted is retired so later sends proceed (36.701554ms) +2026-09-27T05:34:03.7156815Z ✔ a running Host that cannot yet resolve a stale Message leaves the copy unresolved (25.32495ms) +2026-09-27T05:34:03.7282724Z ✔ an omitted resolution leaves the stale copy unresolved rather than failed (20.858175ms) +2026-09-27T05:34:03.7769091Z ✔ a removed authority cannot be repopulated by an in-flight admission (40.039418ms) +2026-09-27T05:34:03.8101177Z ✔ cache restoration expires independently of the outbox (37.784823ms) +2026-09-27T05:34:03.8540430Z ✔ converts the captured session into canonical Maka messages (221.352977ms) +2026-09-27T05:34:03.8603311Z ▶ stripUndefinedDeep +2026-09-27T05:34:03.8666992Z ✔ removes a property the provider left undefined, so the value round-trips (6.747451ms) +2026-09-27T05:34:03.8696130Z ✔ writes an undefined array entry as the null JSON would have written (1.416616ms) +2026-09-27T05:34:03.8736889Z ▶ durable Host evidence retires delivery independently of cache admission and submit ACK order +2026-09-27T05:34:03.8765743Z ✔ ackFirst=false, cacheLoss=quota (57.564352ms) +2026-09-27T05:34:03.8789158Z ✔ writes an array hole as null too, and not only an explicit undefined (3.935956ms) +2026-09-27T05:34:03.8831601Z ✔ descends into a null-prototype object, which the encoder accepts (2.281878ms) +2026-09-27T05:34:03.8841779Z ✔ stripUndefinedDeep (19.66038ms) +2026-09-27T05:34:03.8878686Z ✔ ackFirst=false, cacheLoss=revision (20.752108ms) +2026-09-27T05:34:03.8906404Z ✔ excludes synthetic OpenCode user text before provenance is erased (38.919323ms) +2026-09-27T05:34:03.8925399Z ▶ tool quiet preview +2026-09-27T05:34:03.8953696Z ✔ redacts secrets in values and embedded keys (6.582672ms) +2026-09-27T05:34:03.8972884Z ✔ lists AskUserQuestion answers against the offered options (1.571055ms) +2026-09-27T05:34:03.9035687Z ✔ tool quiet preview (22.993813ms) +2026-09-27T05:34:03.9065435Z ▶ formatToolInvocationLine +2026-09-27T05:34:03.9066065Z ✔ names a Bash call by its command (0.588451ms) +2026-09-27T05:34:03.9066750Z ✔ names a GoalSet call by its condition (0.234656ms) +2026-09-27T05:34:03.9068645Z ✔ names an AskUserQuestion call by its first question with a count suffix (0.295565ms) +2026-09-27T05:34:03.9069837Z ✔ keeps the ScheduledTask title headline (0.218289ms) +2026-09-27T05:34:03.9070442Z ✔ formatToolInvocationLine (1.763977ms) +2026-09-27T05:34:03.9070963Z ▶ projectToolArgsPreview +2026-09-27T05:34:03.9071661Z ✔ keeps only the formatter-readable fields, shaped like the args (1.323252ms) +2026-09-27T05:34:03.9072442Z ✔ redacts secrets embedded in command strings (1.535195ms) +2026-09-27T05:34:03.9073058Z ✔ drops sensitive keys entirely (0.883673ms) +2026-09-27T05:34:03.9073750Z ✔ does not put generic input payloads on the live wire (0.282329ms) +2026-09-27T05:34:03.9074650Z ✔ bounds long values and whole-preview size (2.739617ms) +2026-09-27T05:34:03.9075449Z ✔ never previews an uncommitted Todo replacement as current state (0.163672ms) +2026-09-27T05:34:03.9095500Z ✔ does not accept forged question payloads from third-party tools (0.990396ms) +2026-09-27T05:34:03.9096836Z ✔ preserves the WriteStdin projected inputPreview shape (5.872936ms) +2026-09-27T05:34:03.9097647Z ✔ returns undefined when nothing displayable exists (0.158385ms) +2026-09-27T05:34:03.9098341Z ✔ projectToolArgsPreview (17.746074ms) +2026-09-27T05:34:03.9098966Z ✔ ackFirst=false, cacheLoss=coalescing (19.542705ms) +2026-09-27T05:34:03.9305526Z ✔ rejects row and UTF-8 byte overflow without publishing a partial transcript (41.516749ms) +2026-09-27T05:34:03.9656507Z ✔ ackFirst=true, cacheLoss=quota (61.613866ms) +2026-09-27T05:34:03.9748647Z ✔ rejects aggregate source bytes even when every individual row fits (44.241655ms) +2026-09-27T05:34:04.0035270Z ✔ ackFirst=true, cacheLoss=revision (37.712816ms) +2026-09-27T05:34:04.0126893Z ▶ recovery persistence authority +2026-09-27T05:34:04.0149025Z ✔ preserves the mainline T1 identity bytes for strict JSON tool arguments (5.651285ms) +2026-09-27T05:34:04.0175853Z ✔ matches frozen mainline v1 hashes for special and ordinary array fields (12.804532ms) +2026-09-27T05:34:04.0211403Z ✔ keeps strict event JSON lossless while freezing the mainline v1 __proto__ hash (0.55485ms) +2026-09-27T05:34:04.0247478Z ✔ rejects arrays that cannot be represented as exact strict JSON arrays (0.432831ms) +2026-09-27T05:34:04.0277487Z ✔ accepts null-prototype records as exact JSON objects (0.273222ms) +2026-09-27T05:34:04.0306924Z ✔ rejects RuntimeEvents that claim more than one tool-ledger semantic lane (3.114133ms) +2026-09-27T05:34:04.0308132Z ✔ reserves durable boundary and recovery facts from generic writers (1.095062ms) +2026-09-27T05:34:04.0336084Z ✔ decodes only the exact recovery fact version and payload shape (2.648561ms) +2026-09-27T05:34:04.0416233Z ✔ reports duplicate call identity, duplicate operation identity, and physical order (2.489711ms) +2026-09-27T05:34:04.0458089Z ✔ revalidates an earlier response when a later dispatch binds the operation (0.950934ms) +2026-09-27T05:34:04.0516230Z ✔ authenticates every dispatch hash against the canonical call arguments (0.376433ms) +2026-09-27T05:34:04.0522744Z ✔ rejects partial events that carry an authoritative tool fact (0.6589ms) +2026-09-27T05:34:04.0524325Z ✔ rejects branch-qualified tool authority until branch is part of durable identity (0.200301ms) +2026-09-27T05:34:04.0531108Z ✔ uses unambiguous tuple identity for provider call keys (0.602934ms) +2026-09-27T05:34:04.0565301Z ✔ rejects one invocation identity spanning multiple execution spines (0.911871ms) +2026-09-27T05:34:04.0616653Z ✔ checks parent tool dependencies after the whole batch, including identity and cycles (2.641985ms) +2026-09-27T05:34:04.0645713Z ✔ rejects prospective generic transitions that would corrupt a clean ledger (1.171326ms) +2026-09-27T05:34:04.0668197Z ✔ keeps whole, single-event, and batched incremental reductions equivalent (0.956666ms) +2026-09-27T05:34:04.0707177Z ✔ rolls prospective state back and distinguishes existing corruption (0.86066ms) +2026-09-27T05:34:04.0736068Z ✔ can roll back or commit an accepted candidate delta (1.024531ms) +2026-09-27T05:34:04.0793617Z ✔ rejects a recovery bundle whose T1 hash authenticates itself instead of the call args (0.633137ms) +2026-09-27T05:34:04.0820923Z ✔ accepts completed only with one matching outcome and canonical evidence order (0.596484ms) +2026-09-27T05:34:04.0826937Z ✔ gives Resolver and rebuild one recovery-bundle interpretation (0.946207ms) +2026-09-27T05:34:04.0831836Z ✔ recovery persistence authority (46.121046ms) +2026-09-27T05:34:04.0836324Z ▶ tool_result_preview open-facts +2026-09-27T05:34:04.0851539Z ✔ rejects missing childSessionId, bulk fields, and non-running status (6.367178ms) +2026-09-27T05:34:04.0859592Z ✔ ackFirst=true, cacheLoss=coalescing (46.649448ms) +2026-09-27T05:34:04.0861293Z ✔ durable Host evidence retires delivery independently of cache admission and submit ACK order (245.704424ms) +2026-09-27T05:34:04.0870258Z ✔ tool_result_preview open-facts (8.71464ms) +2026-09-27T05:34:04.0871991Z ▶ tool_result_preview permission modes +2026-09-27T05:34:04.0938828Z ✔ rejects a retired mode on the live wire (0.452225ms) +2026-09-27T05:34:04.0957620Z ✔ accepts every live mode (3.367307ms) +2026-09-27T05:34:04.0963748Z ✔ tool_result_preview permission modes (4.510845ms) +2026-09-27T05:34:04.0966384Z ✔ attachment retries across restart reuse committed uploads and release staged bytes after preparation (31.663481ms) +2026-09-27T05:34:04.0997653Z ▶ sandbox denial tool result metadata +2026-09-27T05:34:04.1145818Z ✔ accepts a canonical text result carrying a sandbox denial signal (2.571411ms) +2026-09-27T05:34:04.1179341Z ✔ rejects malformed or widened sandbox denial signals (0.804895ms) +2026-09-27T05:34:04.1197241Z ✔ sandbox denial tool result metadata (5.054849ms) +2026-09-27T05:34:04.1290744Z ▶ sandbox boundary failure tool result metadata +2026-09-27T05:34:04.1400976Z ✔ preserves the machine-readable reason and exact required expansion (1.118902ms) +2026-09-27T05:34:04.1427886Z ✔ preserves the client capability source for actionable bypass recovery (0.331791ms) +2026-09-27T05:34:04.1495599Z ✔ rejects malformed or widened boundary failure signals (0.400214ms) +2026-09-27T05:34:04.1527436Z ✔ sandbox boundary failure tool result metadata (2.633303ms) +2026-09-27T05:34:04.1595400Z ▶ uncertain tool outcome metadata +2026-09-27T05:34:04.1695557Z ✔ preserves a non-retryable outcome_unknown signal (0.477112ms) +2026-09-27T05:34:04.1755522Z ✔ rejects widened or retryable uncertain outcome signals (0.31877ms) +2026-09-27T05:34:04.1795730Z ✔ uncertain tool outcome metadata (1.109539ms) +2026-09-27T05:34:04.1866698Z ▶ retired permission modes in stored subagent results +2026-09-27T05:34:04.1935039Z ✔ folds a legacy mode to its live equivalent instead of returning it verbatim (2.224025ms) +2026-09-27T05:34:04.1965482Z ✔ folds through the stored-message decoder as well (0.722401ms) +2026-09-27T05:34:04.1992249Z ✔ rejects retired values at canonical tool-result and message boundaries (0.612845ms) +2026-09-27T05:34:04.2037643Z ✔ local creation preserves a plugin executor in the pending Session projection (20.746652ms) +2026-09-27T05:34:04.2092970Z ✔ leaves a live mode untouched (0.249081ms) +2026-09-27T05:34:04.2093773Z ✔ still rejects a mode that never existed (0.180848ms) +2026-09-27T05:34:04.2204673Z ✔ retired permission modes in stored subagent results (4.473887ms) +2026-09-27T05:34:04.2268333Z ▶ retired ExploreAgent results in stored transcripts +2026-09-27T05:34:04.2320315Z ✔ folds the legacy result to ordinary historical text at every persisted read boundary (1.17356ms) +2026-09-27T05:34:04.2324363Z ✔ accepts the earliest persisted shape before progress was added (0.329742ms) +2026-09-27T05:34:04.2365638Z ✔ uses a non-empty failure summary when the legacy report is empty (0.170613ms) +2026-09-27T05:34:04.2387006Z ✔ ignores retired structured detail after establishing legacy provenance (0.156187ms) +2026-09-27T05:34:04.2413434Z ✔ requires stable legacy provenance at persisted read boundaries (0.157319ms) +2026-09-27T05:34:04.2452328Z ✔ rejects the retired result kind at canonical live boundaries (0.203342ms) +2026-09-27T05:34:04.2479332Z ✔ retired ExploreAgent results in stored transcripts (2.508009ms) +2026-09-27T05:34:04.2559036Z ✔ rejects canonical output that exceeds the conversion budget (213.397333ms) +2026-09-27T05:34:04.3744883Z ✔ does not follow an opencode database symlink outside the configured home (181.605869ms) +2026-09-27T05:34:04.3778682Z ▶ UI locale +2026-09-27T05:34:04.3839451Z ✔ accepts only the supported resolved locales and preferences (5.913768ms) +2026-09-27T05:34:04.3842015Z ✔ normalizes the legacy persisted preference without widening the locale contract (0.261964ms) +2026-09-27T05:34:04.3889871Z ✔ resolves system languages zh-CN to zh-CN (0.425356ms) +2026-09-27T05:34:04.3892185Z ✔ resolves system languages zh-SG to zh-CN (6.876764ms) +2026-09-27T05:34:04.3893065Z ✔ resolves system languages zh-Hans to zh-CN (2.514043ms) +2026-09-27T05:34:04.3910235Z ✔ resolves system languages zh-TW to zh-TW (0.200496ms) +2026-09-27T05:34:04.3911982Z ✔ resolves system languages zh-Hant-TW to zh-TW (0.194676ms) +2026-09-27T05:34:04.3912698Z ✔ resolves system languages zh-HK to zh-TW (0.152361ms) +2026-09-27T05:34:04.3913374Z ✔ resolves system languages zh_MO to zh-TW (1.081386ms) +2026-09-27T05:34:04.3914075Z ✔ resolves system languages zh_TW.UTF-8 to zh-TW (0.274171ms) +2026-09-27T05:34:04.3914952Z ✔ resolves system languages fr-FR,en-US to en (3.961284ms) +2026-09-27T05:34:04.3931918Z ✔ resolves system languages to en (0.103083ms) +2026-09-27T05:34:04.3987530Z ✔ resolves explicit preferences and overrides before the system locale (0.127675ms) +2026-09-27T05:34:04.4021079Z ✔ keeps every locale guard and formatter in step with UI_LOCALES (0.312565ms) +2026-09-27T05:34:04.4028663Z ✔ UI locale (30.576631ms) +2026-09-27T05:34:04.4055523Z ▶ UI message catalogs +2026-09-27T05:34:04.4097114Z ✔ falls back to complete English copy for missing translations (9.39202ms) +2026-09-27T05:34:04.4151106Z ✔ uses locale-aware ICU plural rules (97.109295ms) +2026-09-27T05:34:04.4166484Z ✔ fails soft for missing or inherited interpolation values (3.796511ms) +2026-09-27T05:34:04.4187489Z ✔ UI message catalogs (112.635317ms) +2026-09-27T05:34:04.4389506Z ▶ parseUnifiedDiffRows +2026-09-27T05:34:04.4436416Z ✔ parses a standard single-hunk diff, omitting file headers (4.609263ms) +2026-09-27T05:34:04.4485005Z ✔ a deleted line whose content starts with `-- ` is a deletion, not a file header (0.887259ms) +2026-09-27T05:34:04.4532861Z ✔ an added line whose content starts with `++` is an addition (0.533527ms) +2026-09-27T05:34:04.4587474Z ✔ `\ No newline at end of file` markers carry no number and advance no counter (0.288417ms) +2026-09-27T05:34:04.4601462Z ✔ resumes numbering per hunk and treats post-hunk `---`/`+++` as the next file (0.263598ms) +2026-09-27T05:34:04.4640429Z ✔ keeps `diff --git` separators as meta rows and a new-file diff reads from /dev/null (0.284928ms) +2026-09-27T05:34:04.4713858Z ✔ a foreign diff without hunk headers degrades to unnumbered meta rows (0.243863ms) +2026-09-27T05:34:04.4756805Z ✔ preserves empty rows without creating a row for the terminating newline (0.888014ms) +2026-09-27T05:34:04.4767719Z ✔ retains carriage returns in CRLF input (0.250818ms) +2026-09-27T05:34:04.4768478Z ✔ parseUnifiedDiffRows (12.444558ms) +2026-09-27T05:34:04.4769033Z ▶ countDiffLineStats +2026-09-27T05:34:04.4773539Z ✔ counts every change line, including `--`/`++`-prefixed content (1.324107ms) +2026-09-27T05:34:04.4774660Z ✔ ignores file headers and hunk headers (0.287929ms) +2026-09-27T05:34:04.4776100Z ✔ counts without materializing display rows or splitting the full diff (0.612114ms) +2026-09-27T05:34:04.4777679Z ✔ counts actual hunk content, including truncated and zero-count hunks (0.538855ms) +2026-09-27T05:34:04.4778905Z ✔ matches independently generated rows and counts across 1,000 seeded multi-file diffs (206.488088ms) +2026-09-27T05:34:04.4783219Z ✔ countDiffLineStats (211.721486ms) +2026-09-27T05:34:04.4784554Z ▶ usage ledger merge +2026-09-27T05:34:04.4785389Z ✔ sums both sources and reports how much came from the frozen table (11.256134ms) +2026-09-27T05:34:04.4786474Z ✔ merges recorded call time from both ledgers (0.302807ms) +2026-09-27T05:34:04.4787389Z ✔ unpriced canonical spend stays out of the total and is reported instead (0.21916ms) +2026-09-27T05:34:04.4791638Z ✔ records that could not be decoded are reported, not silently dropped (3.830601ms) +2026-09-27T05:34:04.4793445Z ✔ buckets sharing a key combine, re-weighting the per-request means (1.266752ms) +2026-09-27T05:34:04.4797708Z ✔ buckets with no counterpart in the other source pass through intact (1.095248ms) +2026-09-27T05:34:04.4799372Z ✔ log pages interleave both sources newest first and page across the boundary (0.420862ms) +2026-09-27T05:34:04.4800714Z ✔ a page beyond both sources is empty rather than throwing (3.708215ms) +2026-09-27T05:34:04.4801534Z ✔ usage ledger merge (26.908458ms) +2026-09-27T05:34:04.4805727Z ▶ presenting usage provenance +2026-09-27T05:34:04.4807675Z ✔ estimatedUsageCost trusts the total once any attempt was priced (1.568491ms) +2026-09-27T05:34:04.4808945Z ✔ estimatedUsageCost treats a positive legacy total as an estimate but a zero as unknown (1.158847ms) +2026-09-27T05:34:04.4814578Z ✔ estimatedUsageCost is unknown when nothing was priced and there are no legacy records (0.25251ms) +2026-09-27T05:34:04.4815848Z ✔ hasUnavailableUsage flags unreadable or pending records only (0.161701ms) +2026-09-27T05:34:04.4820767Z ✔ presenting usage provenance (11.569597ms) +2026-09-27T05:34:04.5698052Z ✔ pairs every tool result with the call it answers (198.011835ms) +2026-09-27T05:34:04.6090977Z ✔ local submit preserves picked-file approvals until durable admission succeeds (498.155596ms) +2026-09-27T05:34:04.6386718Z ✔ entering or leaving Plan writes the collaboration field alone (4.362956ms) +2026-09-27T05:34:04.6420333Z ✔ the orchestration default writes its own field alone (0.403601ms) +2026-09-27T05:34:04.6446793Z ✔ model and thinking are committed through one configuration patch (0.554383ms) +2026-09-27T05:34:04.6475818Z ✔ compound model configuration requires an explicit thinking level (0.768421ms) +2026-09-27T05:34:04.6490422Z ✔ executor model and thinking are committed through one configuration patch (0.438704ms) +2026-09-27T05:34:04.6522068Z ✔ a Plan Session keeps the orchestration default it was carrying (0.488383ms) +2026-09-27T05:34:04.6545577Z ✔ an unknown mode is refused rather than persisted (0.43537ms) +2026-09-27T05:34:04.7022798Z ✔ a last-request anchor accepts the new usage shape and retired payload key (1.172714ms) +2026-09-27T05:34:04.7106037Z ✔ token-usage fields carry the anchor and reject a broken one (3.214075ms) +2026-09-27T05:34:04.7165677Z ✔ an invalid anchor fails the whole token_usage message decode (1.746053ms) +2026-09-27T05:34:04.7318122Z ✔ accepts retired context-budget keys only as inert historical data (2.527263ms) +2026-09-27T05:34:04.7363152Z ▶ web search settings +2026-09-27T05:34:04.7412485Z ✔ normalizes bounded queries and result limits (2.806326ms) +2026-09-27T05:34:04.7467141Z ✔ masks persisted tokens while preserving explicit replace and clear operations (0.313831ms) +2026-09-27T05:34:04.7497035Z ✔ preserves validation metadata for a masked round-trip and resets it for a new key (1.256191ms) +2026-09-27T05:34:04.7515110Z ✔ ignores stale credential results after the key version changes (0.312342ms) +2026-09-27T05:34:04.7548117Z ✔ normalizes malformed persisted credential metadata fail-closed (0.299919ms) +2026-09-27T05:34:04.7575823Z ✔ derives renderer-safe credential metadata from storage and test responses (0.226504ms) +2026-09-27T05:34:04.7605296Z ✔ web search settings (10.217121ms) +2026-09-27T05:34:04.7635608Z ✔ reasoning is carried as thinking rather than as reply text (160.271966ms) +2026-09-27T05:34:04.8573534Z ▶ Work Board contract +2026-09-27T05:34:04.8636062Z ✔ decodes a valid main-conversation item (4.531355ms) +2026-09-27T05:34:04.8659708Z ✔ decodes a side-conversation item only when parentSessionId is present (0.4808ms) +2026-09-27T05:34:04.8694843Z ✔ rejects parentSessionId on main-conversation provenance (0.277592ms) +2026-09-27T05:34:04.8755582Z ✔ enforces the archive invariant in both directions (2.042742ms) +2026-09-27T05:34:04.8816672Z ✔ enforces scope/projectId consistency (0.294499ms) +2026-09-27T05:34:04.8845699Z ✔ normalizes create input and rejects agent suggestions without confirmation (0.592924ms) +2026-09-27T05:34:04.8901067Z ✔ rejects linked Sessions from create input but accepts Host-scoped stored links (1.489226ms) +2026-09-27T05:34:04.8954782Z ✔ drops malformed stored link entries instead of hiding the whole item (1.098805ms) +2026-09-27T05:34:04.8971424Z ✔ rejects unknown fields at the contract boundary (3.393218ms) +2026-09-27T05:34:04.9108205Z ✔ keeps null notes exclusive to update patches (3.408145ms) +2026-09-27T05:34:04.9185089Z ✔ normalizes notes patch semantics for absent, undefined, null, empty, whitespace, and values (2.233997ms) +2026-09-27T05:34:04.9215921Z ✔ applies notes patch semantics without clearing on undefined (0.398338ms) +2026-09-27T05:34:04.9276564Z ✔ applies semantic patches and bumps the revision only on effective changes (0.123451ms) +2026-09-27T05:34:04.9335520Z ✔ allows todo -> done without passing through in_progress (1.95597ms) +2026-09-27T05:34:04.9436468Z ✔ archive and reopen are reversible and keep the item identity (0.236423ms) +2026-09-27T05:34:04.9485737Z ✔ bounds the list query page size and cursor (22.43409ms) +2026-09-27T05:34:04.9575617Z ✔ Work Board contract (51.836737ms) +2026-09-27T05:34:04.9595804Z ✔ an aborted final message closes its turn as aborted, not completed (185.325297ms) +2026-09-27T05:34:04.9690627Z ✔ a turn left waiting on a tool call is aborted rather than completed (51.187204ms) +2026-09-27T05:34:04.9795501Z ▶ WorkHub Coordination stored records +2026-09-27T05:34:04.9869992Z ✔ decodes one exact atomic delegation assignment (2.779744ms) +2026-09-27T05:34:04.9896338Z ✔ rejects malformed or widened coordination records (0.636963ms) +2026-09-27T05:34:04.9950705Z ✔ requires a complete create payload only for create_new assignments (0.517824ms) +2026-09-27T05:34:04.9958663Z ✔ decodes the durable replacement intent and linked supersession proof (0.52818ms) +2026-09-27T05:34:05.0004736Z ✔ decodes exact direct-stop request and observed resolution records (3.986392ms) +2026-09-27T05:34:05.0005745Z ✔ WorkHub Coordination stored records (10.793635ms) +2026-09-27T05:34:05.0046941Z ✔ model projections share the bounded production privacy contract (13.978911ms) +2026-09-27T05:34:05.0085713Z ✔ Intent stays target-free and only execute or continue invoke Recall (0.738296ms) +2026-09-27T05:34:05.0099441Z ✔ Recall accepts only bounded opaque candidate refs (0.418095ms) +2026-09-27T05:34:05.0127101Z ✔ Policy never converts failed Recall into implicit creation (0.548629ms) +2026-09-27T05:34:05.1667422Z ✔ an in-flight tool call is imported without a synthesised result (197.108454ms) +2026-09-27T05:34:05.1972695Z ▶ workspace version authority contract +2026-09-27T05:34:05.2011421Z ✔ decodes a causal tool-mutation successor fact on the authority lane (2.754917ms) +2026-09-27T05:34:05.2047680Z ✔ decodes only exact v1 baseline facts on the store-owned semantic lane (2.839888ms) +2026-09-27T05:34:05.2075754Z ✔ derives an isolated deterministic authority spine for each epoch (0.253898ms) +2026-09-27T05:34:05.2085838Z ✔ reconstructs only complete, causal baseline pairs (1.33225ms) +2026-09-27T05:34:05.2088507Z ✔ advances one canonical head through a causal successor fact (1.561781ms) +2026-09-27T05:34:05.2089539Z ✔ workspace version authority contract (10.917985ms) +2026-09-27T05:34:05.2090640Z ✔ a terminal tool failure is imported as an errored result, not a dangling call (37.043782ms) +2026-09-27T05:34:05.2141606Z ▶ applySensitivePatch +2026-09-27T05:34:05.2163791Z ✔ handles plaintext, placeholder, empty string, and undefined (0.726431ms) +2026-09-27T05:34:05.2240771Z ✔ applySensitivePatch (2.156673ms) +2026-09-27T05:34:05.2306555Z ▶ maskSensitive +2026-09-27T05:34:05.2345367Z ✔ masks only non-empty values (0.228942ms) +2026-09-27T05:34:05.2385818Z ✔ maskSensitive (0.427083ms) +2026-09-27T05:34:05.2402785Z ✔ pricing model key preserves the exact provider and model identifiers (1.155283ms) +2026-09-27T05:34:05.2423221Z ✔ pricing model keys use strict exact ordering (4.496073ms) +2026-09-27T05:34:05.2452447Z ✔ canonical pricing accepts only an already-normalized exact shape (2.49801ms) +2026-09-27T05:34:05.2454722Z ✔ pricing model-key normalization trims, bounds, and rejects runtime garbage (0.479249ms) +2026-09-27T05:34:05.2455814Z ✔ pricing normalization returns a minimal canonical value (0.269715ms) +2026-09-27T05:34:05.2456990Z ✔ pricing normalization rejects malformed shapes and invalid rates without throwing (0.399398ms) +2026-09-27T05:34:05.2457824Z ℹ tests 903 +2026-09-27T05:34:05.2458225Z ℹ suites 137 +2026-09-27T05:34:05.2458625Z ℹ pass 903 +2026-09-27T05:34:05.2459032Z ℹ fail 0 +2026-09-27T05:34:05.2459857Z ℹ cancelled 0 +2026-09-27T05:34:05.2460370Z ℹ skipped 0 +2026-09-27T05:34:05.2460952Z ℹ todo 0 +2026-09-27T05:34:05.2461424Z ℹ duration_ms 11468.563419 +2026-09-27T05:34:05.2462294Z ✔ a call still running when the session was written gets no result (25.07885ms) +2026-09-27T05:34:05.2508234Z ✔ parts keep the order the session recorded them in (25.812216ms) +2026-09-27T05:34:05.2615424Z [core] passed +2026-09-27T05:34:05.2767319Z ✔ an undecodable transcript row fails the import rather than truncating it (18.357501ms) +2026-09-27T05:34:05.2807007Z ✔ the registry exposes the adapter under its own id (0.668379ms) +2026-09-27T05:34:05.2835559Z ✔ OpenCodeSessionAdapter (3029.358818ms) +2026-09-27T05:34:05.2842603Z +2026-09-27T05:34:05.2843125Z [ui] start: npm run test:dist +2026-09-27T05:34:05.2944998Z ✔ backs up and restores runtime.sqlite plus artifact bytes (769.500155ms) +2026-09-27T05:34:05.2960129Z ✔ rejects a backup whose SQLite Artifact metadata has no matching payload (314.314324ms) +2026-09-27T05:34:05.2961588Z ✔ rejects a backup whose native Runtime version contradicts its registry (287.419463ms) +2026-09-27T05:34:05.2962884Z ✔ continues to validate and restore version 3 backups without context refs (420.476975ms) +2026-09-27T05:34:05.3786090Z ✔ shares one operational database and produces an online backup (383.480398ms) +2026-09-27T05:34:05.3846590Z ✔ atomically reapplies current owner schema without republishing its registry (361.406463ms) +2026-09-27T05:34:05.3898467Z ✔ a non-owner rejects an older schema without migrating it behind the Runtime Host (270.635453ms) +2026-09-27T05:34:05.3926432Z ✔ preserves live supported v1 Artifacts when opening existing Sessions (267.122798ms) +2026-09-27T05:34:05.3965995Z ✔ retires completed released migration metadata during schema convergence (237.567966ms) +2026-09-27T05:34:05.4015863Z ✔ preserves an interrupted released cutover journal and fails closed (246.167169ms) +2026-09-27T05:34:05.4075934Z ✔ preserves a cutover journal with an unfamiliar column shape and fails closed (223.889588ms) +2026-09-27T05:34:05.6546808Z ✔ preserves a cutover journal with an altered constraint and fails closed (277.539756ms) +2026-09-27T05:34:05.6737155Z +2026-09-27T05:34:05.6765347Z > @maka/ui@0.1.0 test:dist +2026-09-27T05:34:05.6789372Z > node --test "dist/**/*.test.js" +2026-09-27T05:34:05.6789954Z +2026-09-27T05:34:05.7725015Z ✔ a model selection resets thinking to the new model default (4.804744ms) +2026-09-27T05:34:05.7767974Z ✔ a thinking selection retains the pending cross-connection model target (0.265294ms) +2026-09-27T05:34:05.7786005Z ✔ configuration equality ignores which control produced the same Host payload (0.25027ms) +2026-09-27T05:34:05.8336681Z ✔ preserves a cutover journal carrying an extra trigger and fails closed (176.685424ms) +2026-09-27T05:34:05.8546073Z ▶ Session Navigation feature boundary +2026-09-27T05:34:05.8607356Z ✔ contains no Desktop global bridge or shell/process imports (14.51146ms) +2026-09-27T05:34:05.8694037Z ✔ is consumed outside the feature only through public entries (180.648275ms) +2026-09-27T05:34:05.8752580Z ✔ keeps fake services out of the production entry (1.127147ms) +2026-09-27T05:34:05.8831755Z ✔ keeps rail projection, persistence, and row mutation ownership out of AppShell (1.392704ms) +2026-09-27T05:34:05.8935918Z ✔ Session Navigation feature boundary (205.623987ms) +2026-09-27T05:34:06.0786402Z ✔ preserves a cutover journal naming an unknown store and fails closed (243.321349ms) +2026-09-27T05:34:06.1074124Z ✔ nested Astryx locale providers preserve ambient scoped overrides (24.824567ms) +2026-09-27T05:34:06.2556409Z ✔ preserves a completed row carrying an unfamiliar validation key and fails closed (179.666244ms) +2026-09-27T05:34:06.5116495Z ✔ preserves a completed row missing a released validation key and fails closed (252.496484ms) +2026-09-27T05:34:06.7799563Z ✔ preserves a malformed released import source and fails closed (272.257186ms) +2026-09-27T05:34:07.0966851Z ✔ preserves a session import source with a missing session and fails closed (313.958013ms) +2026-09-27T05:34:07.2806382Z ▶ useSessionNavigationController +2026-09-27T05:34:07.2836127Z ✔ keeps same-named Projects from each Runtime Host at the same level (54.998898ms) +2026-09-27T05:34:07.2999502Z ✔ builds row mutations once, so the rail below it is not rebuilt per render (11.865662ms) +2026-09-27T05:34:07.3075742Z ✔ useSessionNavigationController (71.749609ms) +2026-09-27T05:34:07.3266280Z ▶ useSessionNavigationReads +2026-09-27T05:34:07.3292031Z ✔ projects linked, archived, hidden, side-conversation, Project, and Runtime Host Sessions once (18.289212ms) +2026-09-27T05:34:07.3376302Z ✔ useSessionNavigationReads (18.635183ms) +2026-09-27T05:34:07.3425491Z ▶ createSessionOpenCommand +2026-09-27T05:34:07.3460567Z ✔ distinguishes successive jumps even when the clock does not advance (0.977759ms) +2026-09-27T05:34:07.3475662Z ✔ orders the jump and preserves turn-target clearing semantics (0.455408ms) +2026-09-27T05:34:07.3550024Z ✔ createSessionOpenCommand (10.93471ms) +2026-09-27T05:34:07.3715965Z ✔ rolls back every scope when migration publication fails (273.922548ms) +2026-09-27T05:34:07.6005996Z ▶ sessionMoveTargets +2026-09-27T05:34:07.6036048Z ✔ keeps membership and an exit for an active project (8.915556ms) +2026-09-27T05:34:07.6065699Z ✔ keeps membership and an exit for an alias project (0.371839ms) +2026-09-27T05:34:07.6155960Z ✔ keeps membership and an exit for an archived project (0.245103ms) +2026-09-27T05:34:07.6225655Z ✔ keeps membership and an exit for an archived alias project (6.365633ms) +2026-09-27T05:34:07.6275669Z ✔ keeps membership and an exit for an unavailable project (0.294458ms) +2026-09-27T05:34:07.6306552Z ✔ offers only destinations without known membership: undefined (0.251679ms) +2026-09-27T05:34:07.6407717Z ✔ offers only destinations without known membership: null (0.142354ms) +2026-09-27T05:34:07.6463471Z ✔ offers only destinations without known membership: missing (0.182711ms) +2026-09-27T05:34:07.6486329Z ✔ ignores membership and destinations on another Host: pR (0.308138ms) +2026-09-27T05:34:07.6529388Z ✔ ignores membership and destinations on another Host: remote (0.235018ms) +2026-09-27T05:34:07.6616458Z ✔ does not offer archived or unavailable projects as destinations (0.178223ms) +2026-09-27T05:34:07.6656697Z ✔ sessionMoveTargets (19.597476ms) +2026-09-27T05:34:07.7206338Z ✔ preserves retired research events through upgrade, reopen, and backup (350.22894ms) +2026-09-27T05:34:08.1398259Z ✔ migrates released Reminder state after Automation is retired (417.467132ms) +2026-09-27T05:34:08.4298217Z ✔ finishes a released cleanup backfill interrupted after adding its column (284.693986ms) +2026-09-27T05:34:08.4806392Z ✔ leaves released Automation unchanged when its configuration cannot be preserved (57.70743ms) +2026-09-27T05:34:08.5426497Z ✔ rejects legacy Automation tables without their registry authority (63.314734ms) +2026-09-27T05:34:08.6296423Z ✔ rejects a released Workflow registry whose reminder table is missing (84.543025ms) +2026-09-27T05:34:08.8366987Z ✔ rejects a released Reminder table after its Workflow authority removed it (205.598409ms) +2026-09-27T05:34:09.1586453Z ✔ rejects a current Runtime schema whose versioned authority table is missing (318.495735ms) +2026-09-27T05:34:09.4450874Z ✔ renders a user thumbnail admitted by the shared preview policy (180.396228ms) +2026-09-27T05:34:09.4568408Z ✔ rejects an oversized user thumbnail before reading it (20.408763ms) +2026-09-27T05:34:09.4665998Z ✔ renders a session attachment referenced by assistant Markdown (17.391957ms) +2026-09-27T05:34:09.4937985Z ✔ rejects a current authority index with an incompatible predicate (342.129969ms) +2026-09-27T05:34:09.4986115Z ✔ keeps unreadable assistant attachments as named placeholders (32.191679ms) +2026-09-27T05:34:09.5602792Z ✔ shares one attachment read across repeated Markdown image refs (56.874993ms) +2026-09-27T05:34:09.5963039Z ✔ retries an attachment image after a transient read failure (25.942858ms) +2026-09-27T05:34:09.6176647Z ✔ renders an attachment when a streaming Markdown image becomes complete (28.723758ms) +2026-09-27T05:34:09.6704356Z ▶ moveSessionToProject +2026-09-27T05:34:09.6727911Z ✔ re-files the task and reads the catalog back, staying silent on success (2.431948ms) +2026-09-27T05:34:09.6765623Z ✔ passes `null` through to detach the task from every project (0.305556ms) +2026-09-27T05:34:09.6777680Z ✔ names the Host reason for a refused move and does not read the catalog back (0.316677ms) +2026-09-27T05:34:09.6795301Z ✔ moveSessionToProject (4.666676ms) +2026-09-27T05:34:09.6932490Z ✔ places resident items with their turns and bounds an explicit orphan (3.344623ms) +2026-09-27T05:34:09.6945429Z ▶ shared chat input behavior +2026-09-27T05:34:09.6975595Z ✔ strips the token anchor from the wire text without touching real spaces (3.8404ms) +2026-09-27T05:34:09.6999853Z ✔ answers the sync/async probe without searching, and abandons a superseded search (15.181935ms) +2026-09-27T05:34:09.7035589Z ✔ recognizes composition and file transfers across browser event shapes (0.467384ms) +2026-09-27T05:34:09.7037139Z ✔ serializes async actions and releases only their owned pending state (0.746404ms) +2026-09-27T05:34:09.7065560Z ✔ offers commands only for a slash that opens the draft (6.740768ms) +2026-09-27T05:34:09.7085543Z ✔ ranks a name match above a description match (0.254728ms) +2026-09-27T05:34:09.7095661Z ✔ reads `/skill:` and a bare `/` as the same Skill search (0.176266ms) +2026-09-27T05:34:09.7125509Z ✔ does not let late completion clear state after reset (0.456578ms) +2026-09-27T05:34:09.7155679Z ✔ recognizes selected Skill ids independently of labels, case and chip anchors (0.632239ms) +2026-09-27T05:34:09.7185650Z ✔ excludes only the active explicit Skill query, not another occurrence of that Skill (0.35823ms) +2026-09-27T05:34:09.7187225Z ✔ derives selection from each draft without retaining deleted or previous-session Skills (0.207666ms) +2026-09-27T05:34:09.7215391Z ✔ shared chat input behavior (33.12332ms) +2026-09-27T05:34:09.7243782Z ✔ the prompt-cache notice is acknowledged per Session without closing the list (298.837493ms) +2026-09-27T05:34:09.7689561Z ✔ rejects a current authority check with a changed string literal (274.576458ms) +2026-09-27T05:34:10.0942403Z ✔ rejects a current authority table with an extra rejecting constraint (324.301979ms) +2026-09-27T05:34:10.1369893Z Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype. +2026-09-27T05:34:10.1426242Z ✔ message accessibility labels preserve literal ICU syntax (138.328871ms) +2026-09-27T05:34:10.2026165Z ✔ renders an aborted turn outcome in the turn status row (296.969685ms) +2026-09-27T05:34:10.2676240Z ✔ places the turn status row at the top of the assistant content (34.660043ms) +2026-09-27T05:34:10.3215323Z ✔ keeps the assistant answer element as a turn settles around it (78.13578ms) +2026-09-27T05:34:10.3349185Z ✔ rejects a current authority table with an extra destructive trigger (236.089607ms) +2026-09-27T05:34:10.3615972Z ▶ revision-family session row actions +2026-09-27T05:34:10.3717921Z ✔ applies conversation metadata/lifecycle to versions but not ordinary branches (11.971478ms) +2026-09-27T05:34:10.3799363Z ✔ revision-family session row actions (13.332826ms) +2026-09-27T05:34:10.3873165Z ▶ delete confirm warns off the Host preview, toast reports the Host count +2026-09-27T05:34:10.3985400Z ✔ warns when the Host preview reports subtasks, and the toast reports the executed count (0.966509ms) +2026-09-27T05:34:10.4070743Z ✔ shows no subtask note when the Host preview reports zero (0.489382ms) +2026-09-27T05:34:10.4146520Z ✔ warns with uncertainty and still deletes when the preview call fails (0.798946ms) +2026-09-27T05:34:10.4227129Z ✔ stays silent on the toast when a concurrent restore calls the delete off (0.392081ms) +2026-09-27T05:34:10.4352310Z ✔ delete confirm warns off the Host preview, toast reports the Host count (11.259899ms) +2026-09-27T05:34:10.4399538Z ✔ keeps reasoning expanded when its last neighboring tool is projected away (52.965423ms) +2026-09-27T05:34:10.4468076Z ✔ redacts secrets before rendering a settled collapsed reasoning preview (42.14107ms) +2026-09-27T05:34:10.4490916Z ✔ preserves currency in a settled collapsed reasoning preview (14.145401ms) +2026-09-27T05:34:10.4628220Z ✔ expanded truncated reasoning shows the current tail without replaying its marker (34.148866ms) +2026-09-27T05:34:10.5076250Z ✔ preserves a model-authored single newline in plain reasoning (33.832189ms) +2026-09-27T05:34:10.5606434Z ✔ rejects a current authority database with an unexpected view (229.844141ms) +2026-09-27T05:34:10.5796166Z ✔ gives each answer in a steered turn its own stable element (69.570003ms) +2026-09-27T05:34:10.6144861Z ✔ a turn identity header appears once, above the root prompt (56.550635ms) +2026-09-27T05:34:10.6476824Z ✔ uses human conversation context instead of raw ids in action names (30.674717ms) +2026-09-27T05:34:10.6786114Z ✔ does not edit and resend a message with folder references (34.393309ms) +2026-09-27T05:34:10.7346379Z ✔ renders a quote-only user message without an empty bubble but with metadata (39.568428ms) +2026-09-27T05:34:10.7908622Z ✔ a user message with text still renders its bubble (44.466297ms) +2026-09-27T05:34:10.8270409Z ✔ keeps Astryx auto formatting live for user-message timestamps (78.368385ms) +2026-09-27T05:34:10.8404620Z ✔ rotates working phrases on the elapsed clock without announcing each phrase (20.717275ms) +2026-09-27T05:34:10.8491091Z ✔ rejects a null operational scope without migrating (290.988481ms) +2026-09-27T05:34:10.8729293Z ✔ keeps elapsed time while system motion preference changes the working phrase (14.095386ms) +2026-09-27T05:34:10.9695777Z ✔ announces settlement when a persisted answer is promoted to a completed live one (52.196107ms) +2026-09-27T05:34:11.0186376Z ✔ footer copy preserves raw text, blocks overlapping writes and resets success after 1400ms (88.341204ms) +2026-09-27T05:34:11.0577531Z ✔ footer copy cancels the previous reset and restarts feedback after another copy (54.09756ms) +2026-09-27T05:34:11.0726361Z ✔ rejects a nonempty database with no operational registry (219.608797ms) +2026-09-27T05:34:11.1385824Z ▶ a plain click +2026-09-27T05:34:11.1505880Z ✔ makes the set exactly this row (5.006363ms) +2026-09-27T05:34:11.1596212Z ✔ leaves the anchor on the row that was clicked (0.260324ms) +2026-09-27T05:34:11.1716020Z ✔ a plain click (6.737819ms) +2026-09-27T05:34:11.1815473Z ▶ ⌘-click +2026-09-27T05:34:11.1904186Z ✔ adds a row without disturbing the rest (0.23108ms) +2026-09-27T05:34:11.1980187Z ✔ removes a row it finds already picked (0.144052ms) +2026-09-27T05:34:11.1995215Z ✔ moves the anchor, including when it unpicked the row (0.220341ms) +2026-09-27T05:34:11.2065457Z ✔ ⌘-click (0.889804ms) +2026-09-27T05:34:11.2147390Z ▶ Shift-click +2026-09-27T05:34:11.2225764Z ✔ picks the run between the anchor and the row, in either direction (0.249023ms) +2026-09-27T05:34:11.2280544Z ✔ keeps the anchor so the run can be re-dragged from the same origin (0.175361ms) +2026-09-27T05:34:11.2297927Z ✔ starts from the open task when no click has set an anchor (3.368665ms) +2026-09-27T05:34:11.2375551Z ✔ with nothing to reach from is just this row (0.208094ms) +2026-09-27T05:34:11.2405637Z ✔ reaching for a row the list is not showing picks only the row clicked (0.227624ms) +2026-09-27T05:34:11.2443198Z ✔ Shift-click (4.645587ms) +2026-09-27T05:34:11.2515267Z ▶ clearing +2026-09-27T05:34:11.2545638Z ✔ drops the picks and the anchor together (5.041979ms) +2026-09-27T05:34:11.2606762Z ✔ clearing (5.215407ms) +2026-09-27T05:34:11.2695415Z ▶ pruneSessionSelection +2026-09-27T05:34:11.2795641Z ✔ drops ids the catalog no longer lists (0.280102ms) +2026-09-27T05:34:11.2875578Z ✔ drops an anchor that went with them (0.123917ms) +2026-09-27T05:34:11.2945712Z ✔ returns the same value when nothing was dropped (0.144761ms) +2026-09-27T05:34:11.3035417Z ✔ pruneSessionSelection (0.727486ms) +2026-09-27T05:34:11.3109315Z ✔ footer copy cancels its active reset timer on unmount (70.039306ms) +2026-09-27T05:34:11.3136451Z ▶ createDesktopSessionNavigationServices +2026-09-27T05:34:11.3225708Z ✔ maps the narrow catalog mutation contract to the Desktop bridge (4.564132ms) +2026-09-27T05:34:11.3305648Z ✔ createDesktopSessionNavigationServices (5.823434ms) +2026-09-27T05:34:11.3329986Z ✔ footer copy reports clipboard failure and allows a successful retry (129.000623ms) +2026-09-27T05:34:11.3815681Z ✔ footer copy does not schedule feedback after it unmounts with a write pending (87.285024ms) +2026-09-27T05:34:11.3935912Z ✔ cleans the known removed Automation v2 scope (321.66834ms) +2026-09-27T05:34:11.4319898Z ✔ collapses the whole completed process and leaves the final answer outside (69.847032ms) +2026-09-27T05:34:11.5011754Z ✔ leaves an oversized released scheduling catalog unchanged (104.411978ms) +2026-09-27T05:34:11.5211204Z ✔ moves the live clock into the process and settles it to recorded duration without remounting the answer (78.511338ms) +2026-09-27T05:34:11.5452298Z ✔ does not classify a SQLite write failure as a migration blocker (48.939621ms) +2026-09-27T05:34:11.6251830Z ✔ rejects a contradictory legacy history fact before migration (75.112525ms) +2026-09-27T05:34:11.6433252Z ✔ copy uses the visible final reply after completion and disclosure toggles (133.368072ms) +2026-09-27T05:34:11.7036381Z ✔ keeps a released Reminder with an unrepresentable block reason unchanged (78.752736ms) +2026-09-27T05:34:11.7246297Z ✔ keeps running work expanded and allows manual disclosure after settlement (91.443113ms) +2026-09-27T05:34:11.7896483Z ✔ keeps failed-tool details folded with duration while turn recovery stays outside (54.33233ms) +2026-09-27T05:34:11.8196694Z ✔ states the outcome without a duration when none is recorded, and localizes it when there is one (44.473322ms) +2026-09-27T05:34:11.8296149Z ✔ WorkHub feedback is a system notice without a user message bubble (14.621601ms) +2026-09-27T05:34:11.9446276Z ✔ rejects a newer scope before migrating an older scope (242.021047ms) +2026-09-27T05:34:12.1717099Z ✔ rejects a newer runtime schema without changing the database (211.389652ms) +2026-09-27T05:34:12.4306330Z ✔ rejects newer session metadata before migrating older runtime state (274.640558ms) +2026-09-27T05:34:12.6236640Z ✔ rejects an unknown operational schema without changing the database (194.812445ms) +2026-09-27T05:34:12.7400186Z ✔ rejects an invalid registered schema version before migrating (113.40718ms) +2026-09-27T05:34:12.7770929Z ▶ PetPackStore +2026-09-27T05:34:12.7824137Z ✔ atomically installs, lists, reads, and removes a custom pet (67.932335ms) +2026-09-27T05:34:12.7886283Z ✔ rejects malformed manifests before publishing any directory (7.4674ms) +2026-09-27T05:34:12.7915750Z ✔ rejects mismatched dimensions, invalid headers, and oversized assets (14.161653ms) +2026-09-27T05:34:12.7956013Z ✔ never replaces an installed pet with the same id (34.163888ms) +2026-09-27T05:34:12.7996563Z ✔ snapshots caller-owned manifest and image bytes before waiting for publication (28.146562ms) +2026-09-27T05:34:12.8028440Z ✔ rejects non-canonical ids at every direct lookup boundary (3.937087ms) +2026-09-27T05:34:12.8055474Z ✔ detects sprite sheets redirected outside the installed pack (24.92815ms) +2026-09-27T05:34:12.8065521Z ✔ rejects a store root redirected outside the state root (4.586265ms) +2026-09-27T05:34:12.8090344Z ✔ PetPackStore (191.184378ms) +2026-09-27T05:34:12.8108251Z ✔ claims an owner only after its process exits (220.61192ms) +2026-09-27T05:34:12.8170391Z ✔ releases its owner reference on graceful close (23.629586ms) +2026-09-27T05:34:12.8189200Z ✔ retires an unreferenced owner file after an unclean process exit (185.533305ms) +2026-09-27T05:34:12.8215678Z ✔ rejects owner references outside its versioned namespace (5.42156ms) +2026-09-27T05:34:12.8235817Z ✔ prepares real Session state and a policy-filtered workspace, then packs and hydrates it (1428.987426ms) +2026-09-27T05:34:12.8285644Z ✔ fails closed for a known user-authored secret and removes private staging (836.723912ms) +2026-09-27T05:34:12.8304198Z ✔ binds the configured Maka Session and Cloud envelope despite untrusted call fields (892.886802ms) +2026-09-27T05:34:12.8333107Z ✔ rejects a production root nested under the workspace before copying (303.801296ms) +2026-09-27T05:34:12.8346318Z ✔ uses an authenticated confirmation authority for suspected secret directories (751.056978ms) +2026-09-27T05:34:12.8347483Z ✔ reserves state entries before admitting workspace entries (725.623609ms) +2026-09-27T05:34:12.8419607Z ✔ returns the written Bundle and reports recoverable staging cleanup failure (938.699506ms) +2026-09-27T05:34:12.8445225Z ✔ rejects a POSIX-only workspace name with a bounded portability diagnostic (631.322356ms) +2026-09-27T05:34:12.8520049Z ✔ Project Catalog writes require one live interactive root owner (353.858991ms) +2026-09-27T05:34:12.8556688Z ✔ a regular file is rejected as a project location (464.655728ms) +2026-09-27T05:34:12.8566705Z ✔ a plain folder resolves without requiring the Git executable (626.855146ms) +2026-09-27T05:34:12.8595669Z ✔ a Git probe failure cannot persistently downgrade a repository to a folder (1341.92867ms) +2026-09-27T05:34:12.8596861Z ✔ a repository and its linked worktree resolve to one project identity (173.604345ms) +2026-09-27T05:34:12.8598037Z ✔ registering a nested folder keeps that folder instead of the enclosing repository (290.016023ms) +2026-09-27T05:34:12.8599135Z ✔ registration validates the final canonical path against its boundary (197.498791ms) +2026-09-27T05:34:12.8600148Z ✔ relink and relinkWithSessions keep a nested repository directory (336.389574ms) +2026-09-27T05:34:12.8601297Z ✔ registering a repository and its linked worktree creates one project with two locations (294.504049ms) +2026-09-27T05:34:12.8602565Z ✔ registering without preference preserves the preferred location until it is touched (452.66524ms) +2026-09-27T05:34:12.8603655Z ✔ archiving a project preserves it with an archive timestamp (280.875259ms) +2026-09-27T05:34:12.8604843Z ✔ restoring an archived project makes the same project active again (146.822198ms) +2026-09-27T05:34:12.8606036Z ✔ renaming a project stores the trimmed display name without changing its identity (201.375157ms) +2026-09-27T05:34:12.8607144Z ✔ a missing project directory remains in the catalog as unavailable (159.330947ms) +2026-09-27T05:34:12.8608197Z ✔ two catalogs changing one project at the same time keep both changes (255.830156ms) +2026-09-27T05:34:12.8609329Z ✔ relinking an unavailable project preserves its id and adopts the new directory (252.940683ms) +2026-09-27T05:34:12.8610489Z ✔ Host relink rolls Project and Session membership back in one transaction (275.918834ms) +2026-09-27T05:34:12.8611716Z ✔ conflicting relink preserves every available worktree location from the merged project (411.657355ms) +2026-09-27T05:34:12.8612697Z ✔ projects are listed by most recent use (208.962028ms) +2026-09-27T05:34:12.9176063Z ✔ touching a project moves it to the front of the recent list (122.658537ms) +2026-09-27T05:34:13.0455800Z ▶ purgeSessions +2026-09-27T05:34:13.0536441Z ✔ deletes the whole set, clears each family, and does not read the catalog back (5.541323ms) +2026-09-27T05:34:13.0625339Z ✔ sums the linked subtasks the Host archived across the sweep (0.414298ms) +2026-09-27T05:34:13.0667657Z ✔ reports a task restored before the sweep reached it, rather than dropping it (2.944053ms) +2026-09-27T05:34:13.0786121Z ✔ reports a task restored while the sweep was already running (0.434933ms) +2026-09-27T05:34:13.0815834Z ✔ keeps everything the renderer holds for a task the delete left alone (3.384471ms) +2026-09-27T05:34:13.0862295Z ✔ sends every id to the delete instead of deciding against its own snapshot (0.360588ms) +2026-09-27T05:34:13.0923311Z ✔ skips an id whose row action is already in flight instead of racing it (0.540907ms) +2026-09-27T05:34:13.0995596Z ✔ counts a rejected delete that the catalog no longer lists as removed (0.608213ms) +2026-09-27T05:34:13.1075833Z ✔ retains the first failing Session even when the rejection value is undefined (3.220629ms) +2026-09-27T05:34:13.1225736Z ✔ claims nothing when the catalog cannot be read back (1.503456ms) +2026-09-27T05:34:13.1275604Z ✔ purgeSessions (22.028999ms) +2026-09-27T05:34:13.1354898Z ▶ deleteSession +2026-09-27T05:34:13.1394769Z ✔ carries the archived premise of the row the confirm named (0.942196ms) +2026-09-27T05:34:13.1411438Z ✔ keeps a task the Host reports as restored, and says so (2.75004ms) +2026-09-27T05:34:13.1429992Z ✔ deleteSession (3.943379ms) +2026-09-27T05:34:13.1489266Z ✔ releases a Session observation before and after its queued dispatch settles (10.589382ms) +2026-09-27T05:34:13.1627187Z ▶ project-grouped session hierarchy +2026-09-27T05:34:13.1797427Z ✔ shares the project row left edge with its sessions (1.457503ms) +2026-09-27T05:34:13.1829073Z ✔ project-grouped session hierarchy (8.912675ms) +2026-09-27T05:34:13.1876979Z ▶ renderer session read state +2026-09-27T05:34:13.1950828Z ✔ coalesces concurrent refreshes into one in-flight request and one trailing request (11.009859ms) +2026-09-27T05:34:13.2006124Z ✔ keeps the current list when the latest list refresh fails (0.729568ms) +2026-09-27T05:34:13.2037002Z ✔ does not lose a refresh admitted while the previous task is settling (1.264247ms) +2026-09-27T05:34:13.2095209Z ✔ renderer session read state (21.213507ms) +2026-09-27T05:34:13.2155604Z ✔ draws a Skill chip from the token when the row carries no references (237.088916ms) +2026-09-27T05:34:13.2196565Z ✔ touch reports a Project that disappears before path resolution as unavailable (230.859282ms) +2026-09-27T05:34:13.2229847Z ✔ draws the same chip when the row carries no reference field at all (24.083904ms) +2026-09-27T05:34:13.2305632Z ✔ prefers the frozen label when the Host composed one (23.079003ms) +2026-09-27T05:34:13.2365484Z ✔ keeps a file chip and a Skill chip side by side (23.851107ms) +2026-09-27T05:34:13.2407514Z ✔ leaves a reference the text no longer holds as text, and still chips the token (27.078846ms) +2026-09-27T05:34:13.2625639Z ✔ does not chip a token the grammar rejects at its position (28.838038ms) +2026-09-27T05:34:13.2928236Z ✔ does not chip a token that starts right after a reference span (25.622973ms) +2026-09-27T05:34:13.2976397Z ✔ chips prefix-related ids at their own positions (32.789908ms) +2026-09-27T05:34:13.3480540Z ✔ selecting a project returns its most recent available location and rejects inactive projects (192.170608ms) +2026-09-27T05:34:13.4617809Z ✔ registering a filesystem root writes a project that a fresh catalog can read (121.242912ms) +2026-09-27T05:34:13.6342412Z ✔ catalog validates generated state before publishing it (173.967081ms) +2026-09-27T05:34:13.9945245Z Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype. +2026-09-27T05:34:14.0033152Z ✔ renders a thinking-only interruption as a divider without an empty answer bubble (136.191981ms) +2026-09-27T05:34:14.0068336Z ✔ renders steering where it arrived in the assistant timeline (211.851256ms) +2026-09-27T05:34:14.2176551Z ✔ holds steering above the composer while old output continues, then renders its real reply boundary (446.766667ms) +2026-09-27T05:34:14.2276839Z ✔ keeps a step whole above a steering row that its later output arrives after (2.100909ms) +2026-09-27T05:34:14.2368074Z ✔ anchors a persisted steering row ahead of live work the stream seeded after it (0.679064ms) +2026-09-27T05:34:14.2434156Z ✔ keeps pre-steering content in place when its completion lands after the boundary (0.42947ms) +2026-09-27T05:34:14.2545784Z ✔ lands a completion after a steering row whole on its step (3.802222ms) +2026-09-27T05:34:14.2645781Z ✔ keeps consecutive steering rows in arrival order (3.731102ms) +2026-09-27T05:34:14.2660644Z ✔ renders a repeated steering event once (0.884504ms) +2026-09-27T05:34:14.2745795Z ✔ trails a settled steering that carries no ts behind live work (2.613896ms) +2026-09-27T05:34:14.3920649Z ✔ Session reference picker keeps same-Host sessions and send waits for the snapshot (137.35755ms) +2026-09-27T05:34:14.3939450Z ✔ send resolves the selected Session snapshot at the send boundary (12.958733ms) +2026-09-27T05:34:14.3973292Z ✔ ignores a snapshot that resolves after the Composer owner changes (6.012157ms) +2026-09-27T05:34:15.1676893Z ▶ session review base branch +2026-09-27T05:34:15.1758735Z ✔ shows the compared branch instead of an auto pseudo-entry (30.201182ms) +2026-09-27T05:34:15.1765669Z ✔ falls back to the plain label while nothing is pinned (3.024097ms) +2026-09-27T05:34:15.1779029Z ✔ session review base branch (35.124409ms) +2026-09-27T05:34:15.6505834Z ✔ the package publishes no barrel entrypoint (14.082963ms) +2026-09-27T05:34:15.6536011Z ✔ every published entrypoint target is emitted by the build (10.693884ms) +2026-09-27T05:34:15.6575586Z ✔ no source file imports the retired bare specifier (3133.988378ms) +2026-09-27T05:34:15.6605713Z ✔ published entrypoints and their consumers match exactly (1.521507ms) +2026-09-27T05:34:16.1716301Z ✔ renders the live compaction row in a session with no settled messages (252.181119ms) +2026-09-27T05:34:16.6266535Z ✔ retains tool and compaction evidence without activity after observation loss (578.415909ms) +2026-09-27T05:34:17.1126026Z Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype. +2026-09-27T05:34:17.1176267Z ✔ shows one waiting indicator before a named live Turn reaches the transcript (253.324503ms) +2026-09-27T05:34:17.1979816Z ✔ a new Host Turn owns its waiting footer while the previous answer remains buffered (364.606625ms) +2026-09-27T05:34:17.2418983Z ✔ renders the empty hero when an empty session has no live compaction row (8.842645ms) +2026-09-27T05:34:17.5384093Z ✔ the pending Turn waits without a clock until the Turn start time reaches the client (179.824392ms) +2026-09-27T05:34:17.5499126Z ✔ ChatSurfaceLayout preserves the public emptyState for absent children (92.937084ms) +2026-09-27T05:34:17.6636437Z ✔ turn identity stays on its exact durable anchor and is absent from ordinary transcripts (149.442702ms) +2026-09-27T05:34:17.7408947Z ✔ shared turn presentation only exposes lineage when the surface supports navigation (118.231919ms) +2026-09-27T05:34:17.8646513Z ✔ the load-earlier button exists only while earlier history does, and waits for its load (430.133752ms) +2026-09-27T05:34:17.8696192Z ✔ offers to load earlier history even with nothing to show (32.976905ms) +2026-09-27T05:34:17.8793957Z ✔ prepended Turns keep a released reader on their Turn without re-pinning (220.832235ms) +2026-09-27T05:34:17.8796019Z An update to ForwardRef inside a test was not wrapped in act(...). +2026-09-27T05:34:17.8826447Z +2026-09-27T05:34:17.8827406Z When testing, code that causes React state updates should be wrapped into act(...): +2026-09-27T05:34:17.8876529Z +2026-09-27T05:34:17.8931476Z act(() => { +2026-09-27T05:34:17.8936597Z /* fire events that update state */ +2026-09-27T05:34:17.8979810Z }); +2026-09-27T05:34:17.9005251Z /* assert on the output */ +2026-09-27T05:34:17.9025388Z +2026-09-27T05:34:17.9047618Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act +2026-09-27T05:34:17.9049139Z An update to ForwardRef inside a test was not wrapped in act(...). +2026-09-27T05:34:17.9049782Z +2026-09-27T05:34:17.9050344Z When testing, code that causes React state updates should be wrapped into act(...): +2026-09-27T05:34:17.9074832Z +2026-09-27T05:34:17.9105051Z act(() => { +2026-09-27T05:34:17.9105598Z /* fire events that update state */ +2026-09-27T05:34:17.9135105Z }); +2026-09-27T05:34:17.9165151Z /* assert on the output */ +2026-09-27T05:34:17.9195317Z +2026-09-27T05:34:17.9196332Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act +2026-09-27T05:34:17.9229497Z An update to ForwardRef inside a test was not wrapped in act(...). +2026-09-27T05:34:17.9264874Z +2026-09-27T05:34:17.9295501Z When testing, code that causes React state updates should be wrapped into act(...): +2026-09-27T05:34:17.9297474Z +2026-09-27T05:34:17.9312009Z act(() => { +2026-09-27T05:34:17.9312565Z /* fire events that update state */ +2026-09-27T05:34:17.9313159Z }); +2026-09-27T05:34:17.9313514Z /* assert on the output */ +2026-09-27T05:34:17.9313834Z +2026-09-27T05:34:17.9315166Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act +2026-09-27T05:34:17.9316594Z An update to ForwardRef inside a test was not wrapped in act(...). +2026-09-27T05:34:17.9317110Z +2026-09-27T05:34:17.9317693Z When testing, code that causes React state updates should be wrapped into act(...): +2026-09-27T05:34:17.9318276Z +2026-09-27T05:34:17.9318512Z act(() => { +2026-09-27T05:34:17.9319420Z /* fire events that update state */ +2026-09-27T05:34:17.9321686Z }); +2026-09-27T05:34:17.9322145Z /* assert on the output */ +2026-09-27T05:34:17.9322499Z +2026-09-27T05:34:17.9323338Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act +2026-09-27T05:34:17.9325150Z ✔ a selection from outside every Turn keeps every Turn it spans mounted (616.797893ms) +2026-09-27T05:34:17.9326220Z ✔ prepended Turns do not release a pinned transcript (301.642247ms) +2026-09-27T05:34:17.9327190Z ✔ return interrupts a pending pull without another producer event (3.100863ms) +2026-09-27T05:34:17.9328130Z ✔ abort rejects a pending pull and closes exactly once (2.60916ms) +2026-09-27T05:34:17.9329184Z ✔ abort during open returns promptly and closes the late remote handle (6.563139ms) +2026-09-27T05:34:17.9330302Z ✔ pre-aborted streams never open, and late transport errors are consumed (2.217512ms) +2026-09-27T05:34:17.9331407Z ✔ finite streams return their values and close on normal exhaustion (0.852108ms) +2026-09-27T05:34:17.9332595Z ✔ Client Runtime loads a factory and composes the typed root Slot (13.240926ms) +2026-09-27T05:34:17.9333720Z ✔ Client Runtime stage/swap keeps the previous UI when a candidate fails (3.653701ms) +2026-09-27T05:34:17.9335139Z ✔ Client Runtime retries the same snapshot revision after a transient apply failure (1.516965ms) +2026-09-27T05:34:17.9336464Z ✔ Client Runtime re-materializes consumers when a dependency generation changes (2.061559ms) +2026-09-27T05:34:17.9337714Z ✔ Client Runtime atomically keeps the previous typed Slots when a candidate fails (1.677937ms) +2026-09-27T05:34:17.9338904Z ✔ Client Runtime binds Remote identity and owns product-event subscriptions (3.682116ms) +2026-09-27T05:34:17.9340075Z ✔ Client Runtime retirement aborts streams opened after activation (2.013183ms) +2026-09-27T05:34:17.9341210Z ✔ failed Client Plugin apply aborts streams before the instance is staged (13.221639ms) +2026-09-27T05:34:17.9342408Z ✔ effects registered after activation start and dispose exactly once, including CSS and events (18.379693ms) +2026-09-27T05:34:17.9343806Z ✔ a throwing plugin root preserves the app and other roots and recovers on a new generation (275.138806ms) +2026-09-27T05:34:18.5055630Z ✔ a saved failing comparison keeps the picker available and can recover (481.687382ms) +2026-09-27T05:34:18.6698793Z ✔ a refresh clears stale branch options after not_git_repository (159.585725ms) +2026-09-27T05:34:18.8676934Z ✔ a refresh clears stale branch options after workspace_unavailable (201.530143ms) +2026-09-27T05:34:18.9686220Z ✔ a refresh clears stale branch options after git_failed (101.836477ms) +2026-09-27T05:34:19.0539322Z ✔ a disappeared saved branch clears the pin and retries with the dynamic default (83.299316ms) +2026-09-27T05:34:19.1671527Z ✔ a comparison switch spins the picker and dims the stale diff until it lands (127.728582ms) +2026-09-27T05:34:19.2393908Z ▶ edit-and-resend session revisions +2026-09-27T05:34:19.2403020Z ✔ folds durable versions into one sidebar slot after restart (5.318874ms) +2026-09-27T05:34:19.2438586Z ✔ restores the most recently continued version as the sidebar head (0.285415ms) +2026-09-27T05:34:19.2465693Z ✔ hides a crash-orphaned draft version after restart (0.443383ms) +2026-09-27T05:34:19.2495694Z ✔ keeps the selected old version in the same sidebar slot (0.271417ms) +2026-09-27T05:34:19.2512367Z ✔ keeps lifecycle actions scoped to versions, not ordinary branches (3.422775ms) +2026-09-27T05:34:19.2525674Z ✔ derives previous and next navigation across a revision chain (0.422143ms) +2026-09-27T05:34:19.2555508Z ✔ edit-and-resend session revisions (11.995248ms) +2026-09-27T05:34:20.8050301Z ✔ opening a task the set does not hold drops the picks (105.109571ms) +2026-09-27T05:34:20.8188519Z ✔ opening a task the set already holds leaves it alone (11.028489ms) +2026-09-27T05:34:20.8707813Z ▶ Maka Client Slot core +2026-09-27T05:34:20.8826477Z ✔ supports single/list/keyed shadowing and stable list order (19.492058ms) +2026-09-27T05:34:20.8856561Z ✔ removes a recursively declared subtree with its parent (0.732259ms) +2026-09-27T05:34:20.8913347Z ✔ Maka Client Slot core (28.72254ms) +2026-09-27T05:34:20.9037356Z ▶ Maka Client Slot outlets +2026-09-27T05:34:20.9159585Z ✔ renders typed keyed props only inside a strict Session scope (62.42049ms) +2026-09-27T05:34:20.9186145Z ✔ elects the first matching chain and keeps an overlay fallback mounted (12.51864ms) +2026-09-27T05:34:20.9285842Z ✔ Maka Client Slot outlets (75.296003ms) +2026-09-27T05:34:23.1970070Z ✔ the context usage action opens its host trace surface (239.0934ms) +2026-09-27T05:34:23.2749280Z ✔ the context usage share resolves declared, then metered, then metadata window (113.592935ms) +2026-09-27T05:34:23.2946263Z ✔ only the declared entrypoints load node:sqlite (7644.672839ms) +2026-09-27T05:34:23.3806906Z ✔ a draft restored while nothing holds focus places no selection (248.390557ms) +2026-09-27T05:34:23.3856167Z ✔ the owed caret lands at the end of the draft on the next focus (102.202826ms) +2026-09-27T05:34:23.3915909Z ✔ a pointer press into the composer drops the owed caret (80.061194ms) +2026-09-27T05:34:23.3979581Z ✔ a session swap leaves focus on the row that caused it (93.711768ms) +2026-09-27T05:34:23.4086099Z ✔ the composer passes no inlineCompletion props to ChatComposerInput (2.14604ms) +2026-09-27T05:34:23.4146152Z ✔ the history hook carries no prompt-completion source (0.42451ms) +2026-09-27T05:34:23.5977252Z ✔ prepares state and workspace under one quiescence boundary, then releases live writers (757.645454ms) +2026-09-27T05:34:23.6041700Z ✔ serializes concurrent preparations for the same Session through the authority contract (453.307948ms) +2026-09-27T05:34:23.6056060Z ✔ does not globally serialize preparations for different Sessions (502.864834ms) +2026-09-27T05:34:23.6086580Z ✔ removes partial staging and preserves a stable policy rejection (347.076884ms) +2026-09-27T05:34:23.6146410Z ✔ failure cleanup refuses a staging root replaced by an unrelated directory (397.705289ms) +2026-09-27T05:34:23.6205044Z ✔ cleans a published snapshot when the authority fails while releasing quiescence (601.870608ms) +2026-09-27T05:34:23.6229681Z ✔ cancellation and an expired deadline stop before staging begins (10.97895ms) +2026-09-27T05:34:23.6286091Z ✔ a deadline beyond the Node timer limit is rescheduled until the absolute time (38.495891ms) +2026-09-27T05:34:23.6336464Z ✔ cancellation while waiting for quiescence is propagated as snapshot_cancelled (6.791367ms) +2026-09-27T05:34:23.6466205Z ✔ cancellation while leaving quiescence cleans the published snapshot (533.629195ms) +2026-09-27T05:34:23.6495958Z ✔ an I/O failure racing cancellation remains an I/O failure (536.565832ms) +2026-09-27T05:34:23.6546919Z ✔ release refuses a replacement directory and remains retryable for its owned root (547.57253ms) +2026-09-27T05:34:23.6586472Z ✔ release resumes an interrupted partial cleanup using the external ownership record (565.743963ms) +2026-09-27T05:34:23.6635964Z ✔ a successor process recovers staging owned by a released process lifetime (619.564081ms) +2026-09-27T05:34:23.6685977Z ✔ recovery removes an exact preparing root left before its owner record was written (524.23355ms) +2026-09-27T05:34:23.6715830Z ✔ creation failure cleans only the inode it created and preserves a colliding owner file (513.183954ms) +2026-09-27T05:34:23.6768765Z ✔ rejects a caller-supplied workspace policy override instead of downgrading V1 safety (12.912469ms) +2026-09-27T05:34:23.6817747Z ✔ binds private-root verification to the exact canonical staging path (447.549107ms) +2026-09-27T05:34:23.6877178Z ✔ verifies and cleans each newly created snapshot directory when platform privacy fails (402.950997ms) +2026-09-27T05:34:23.6903401Z ﹣ requires a caller-provided Windows ACL verifier (0.426218ms) # SKIP +2026-09-27T05:34:23.6965799Z ✔ requires a private staging parent on POSIX (457.265603ms) +2026-09-27T05:34:23.7005987Z ✔ V1 workspace policy includes portable inputs, excludes rebuildable data, and rejects secrets (9.741663ms) +2026-09-27T05:34:23.7086094Z ✔ binds explicit control-plane confirmation to the Session, policy and subtree (430.39378ms) +2026-09-27T05:34:23.7146065Z ✔ rejects a malformed control-plane confirmation grant before quiescence (24.882216ms) +2026-09-27T05:34:23.7236139Z ✔ fails closed and cleans staging when a suspected path has no explicit confirmation (541.36582ms) +2026-09-27T05:34:23.7296193Z ✔ applies an explicit control-plane exclusion with bounded diagnostics (426.133456ms) +2026-09-27T05:34:23.7397390Z ✔ derives Read image storage only from an authentic context writer (3.740691ms) +2026-09-27T05:34:23.7456065Z ✔ snapshots one stable Read image identity and authorizes reads by Session (244.84217ms) +2026-09-27T05:34:23.7516182Z ✔ maps configured quota failures and rejects non-image owner references (55.635544ms) +2026-09-27T05:34:23.7576125Z ✔ enforces the Read image product cap before touching storage (33.725206ms) +2026-09-27T05:34:23.7617763Z ▶ recall candidate Sessions over the ledger +2026-09-27T05:34:23.7689292Z ✔ a Session is offered when one of its event payloads contains a folded term (437.749427ms) +2026-09-27T05:34:23.7765796Z ✔ a record SQLite cannot fold is offered whatever the term (333.371483ms) +2026-09-27T05:34:23.7886744Z ✔ a Session with an in-flight partial stream is offered unconditionally (233.967128ms) +2026-09-27T05:34:23.7938591Z ✔ the corpus count covers only kinds that project to searchable messages (189.093358ms) +2026-09-27T05:34:23.7996051Z ✔ recall candidate Sessions over the ledger (1196.577701ms) +2026-09-27T05:34:23.8175333Z ▶ recall candidate Sessions over pre-ledger transcripts +2026-09-27T05:34:23.8206622Z ✔ only Sessions the ledger does not own are scanned (272.119029ms) +2026-09-27T05:34:23.8356161Z ✔ a folded term reaches records in either storage form (254.543037ms) +2026-09-27T05:34:23.8506113Z ✔ a chunk set that does not reassemble declines the fast path (267.679704ms) +2026-09-27T05:34:23.8596019Z ✔ an empty request is answered without touching storage (369.115688ms) +2026-09-27T05:34:23.8672847Z ✔ recall candidate Sessions over pre-ledger transcripts (1164.472103ms) +2026-09-27T05:34:23.8775960Z ▶ bringing a recalled material into the asking Session +2026-09-27T05:34:23.8785770Z ✔ a copied material is readable from the asking Session and outlives its source (748.702093ms) +2026-09-27T05:34:23.8856144Z ✔ opening the same material again reuses the copy (398.752213ms) +2026-09-27T05:34:23.8946346Z ✔ a material already in the asking Session needs no copy (378.80031ms) +2026-09-27T05:34:23.9070835Z ✔ the store records the facts the fetch gate checks (385.109085ms) +2026-09-27T05:34:23.9088324Z ✔ bringing a recalled material into the asking Session (1913.430489ms) +2026-09-27T05:34:23.9135921Z ▶ SQLite recovery persistence authority +2026-09-27T05:34:23.9195973Z ✔ rebuilds a real schema 4 T1 dispatch written with the mainline args identity (202.720117ms) +2026-09-27T05:34:23.9255780Z ✔ upgrades and quarantines populated mainline schema 4 tool projections (104.504406ms) +2026-09-27T05:34:23.9315887Z ✔ rejects the old experimental capability marker instead of guessing compatibility (89.757916ms) +2026-09-27T05:34:23.9372483Z ✔ rejects reserved recovery facts through every generic append path (54.596482ms) +2026-09-27T05:34:23.9436475Z ✔ recomputes T1 identity from the persisted function-call arguments (82.436495ms) +2026-09-27T05:34:23.9455900Z ✔ derives projection-local journal identities instead of trusting callers (82.617595ms) +2026-09-27T05:34:23.9486774Z ✔ rejects duplicate call identities through the generic writer (68.193651ms) +2026-09-27T05:34:23.9579565Z ✔ rejects one invocation identity crossing run, turn, or session boundaries (96.071612ms) +2026-09-27T05:34:23.9640002Z ✔ rejects an unbound generic response after T1 (51.81691ms) +2026-09-27T05:34:23.9698260Z ✔ rejects a T1 dispatch after a pre-T1 synthetic response settled the call (70.643608ms) +2026-09-27T05:34:23.9745961Z ✔ rejects an out-of-order tool-bearing batch import atomically (35.65608ms) +2026-09-27T05:34:23.9807149Z ✔ rejects a T2 row that also claims another authoritative semantic lane (51.511343ms) +2026-09-27T05:34:23.9850684Z ✔ atomically settles completed recovery and rebuilds the same projection after reopen (68.811998ms) +2026-09-27T05:34:23.9936107Z ✔ rebuilds interleaved operations to the same projections and journal identities (63.552446ms) +2026-09-27T05:34:23.9945839Z ✔ rolls the whole recovery bundle back at every internal crash boundary (246.397751ms) +2026-09-27T05:34:24.0008054Z ✔ makes one parked bundle terminal and only permits its exact retry (94.7235ms) +2026-09-27T05:34:24.0048897Z ✔ fails immutable row/payload identity mismatches closed (110.817204ms) +2026-09-27T05:34:24.0108578Z ✔ persists the decoder canonical RuntimeEvent and makes raw retries idempotent (83.027843ms) +2026-09-27T05:34:24.0137839Z ✔ rejects RuntimeEvents that lose required fields during JSON serialization (94.386355ms) +2026-09-27T05:34:24.0216180Z ✔ rejects nested JSON loss in a function response before persistence (55.18019ms) +2026-09-27T05:34:24.0275864Z ✔ rejects provider metadata that rewrites itself through toJSON (54.740585ms) +2026-09-27T05:34:24.0306622Z ✔ rejects recovery evidence whose JSON bytes can rewrite validated event ids (76.134352ms) +2026-09-27T05:34:24.0365967Z ✔ rejects row/payload identity corruption through the online bundle writer (115.098335ms) +2026-09-27T05:34:24.0377399Z ✔ fails an exact T1 retry closed when the immutable ledger is already corrupt (98.838734ms) +2026-09-27T05:34:24.0427117Z ✔ fails an exact T2 retry closed when the immutable ledger is already corrupt (66.734727ms) +2026-09-27T05:34:24.0476044Z ✔ fails an exact recovery retry closed when the immutable ledger is already corrupt (154.813868ms) +2026-09-27T05:34:24.0546891Z ✔ does not fail-stop a new session tool boundary for unrelated ledger corruption (77.898782ms) +2026-09-27T05:34:24.0548024Z ✔ rejects duplicate call identity while rebuilding canonical projections (57.455183ms) +2026-09-27T05:34:24.0609260Z ✔ rejects dispatch-before-call physical order while rebuilding projections (64.205338ms) +2026-09-27T05:34:24.0672017Z ✔ skips a corrupt mutable partial snapshot without hiding immutable history (81.579394ms) +2026-09-27T05:34:24.0717832Z ✔ skips a mutable partial whose SQL identity disagrees with its payload (59.46234ms) +2026-09-27T05:34:24.0752937Z ✔ SQLite recovery persistence authority (2725.289318ms) +2026-09-27T05:34:24.0835946Z ✔ regenerate admission durably binds the immutable source Turn (369.916787ms) +2026-09-27T05:34:24.1056293Z ✔ an archive drops its rows by way of the catalog, keeping later picks (113.862308ms) +2026-09-27T05:34:24.1144015Z ✔ a pin sweep leaves the set exactly as it was (14.25546ms) +2026-09-27T05:34:24.1206166Z ✔ a second sweep is refused while the first is still out (10.440224ms) +2026-09-27T05:34:24.1266325Z ✔ a sweep over nothing asks nothing (5.773135ms) +2026-09-27T05:34:24.2230828Z ✔ new root admissions reject removed Automation authority (170.662946ms) +2026-09-27T05:34:24.3079373Z ✔ Runtime leaving Plan after approval supersedes the committed Plan overlay (101.13638ms) +2026-09-27T05:34:24.3226407Z ✔ rapid requests share the worker and settle only after the latest value commits (19.740487ms) +2026-09-27T05:34:24.3615984Z ▶ storage root authority +2026-09-27T05:34:24.3646020Z ✔ discovers only marked roots without creating or changing filesystem state (62.245872ms) +2026-09-27T05:34:24.3675997Z ✔ rejects unsupported root kinds without transient marker writes (12.737433ms) +2026-09-27T05:34:24.3746357Z ✔ canonicalizes aliases and gives them one ownership identity (12.678657ms) +2026-09-27T05:34:24.3785288Z ✔ derives Artifact writer bootstrap authority from stable filesystem identity (36.113076ms) +2026-09-27T05:34:24.3811982Z ✔ rejects a marker from another device even when its inode matches (27.480192ms) +2026-09-27T05:34:24.3865549Z ✔ explicitly repairs a stale root identity without changing its root id (40.734528ms) +2026-09-27T05:34:24.3885714Z ✔ repairs a remounted device but refuses a different directory inode (65.410246ms) +2026-09-27T05:34:24.3921299Z ✔ rejects a prepared repair when its marker changes before commit (21.165363ms) +2026-09-27T05:34:24.3945291Z ✔ serializes concurrent repairs across marker replacement (37.587544ms) +2026-09-27T05:34:24.4010149Z ✔ serializes identity repair behind the Artifact bootstrap writer lock (137.867395ms) +2026-09-27T05:34:24.4075839Z ✔ rejects a copied initialized root before it can share authority (53.033226ms) +2026-09-27T05:34:24.4175911Z ✔ adopts the host-local identity of an explicitly imported storage root (118.245196ms) +2026-09-27T05:34:24.4185832Z ✔ resolves only an existing expected root without initializing a replacement (19.180189ms) +2026-09-27T05:34:24.4306272Z ✔ rejects replacement before opening the temporary marker (288.205012ms) +2026-09-27T05:34:24.4315650Z ✔ rejects a regular file as a typed invalid root (17.773167ms) +2026-09-27T05:34:24.4360506Z ✔ rejects an unsupported root kind before creating filesystem state (7.150657ms) +2026-09-27T05:34:24.4409890Z ✔ normalizes root filesystem failures at the public authority boundary (14.836677ms) +2026-09-27T05:34:24.4435972Z ✔ preserves unexpected marker I/O failures at the public authority boundary (30.75076ms) +2026-09-27T05:34:24.4982481Z ✔ keeps one owner when a live root moves behind a new alias (70.505479ms) +2026-09-27T05:34:24.5177084Z ✔ concurrent initialization resolves one interactive root identity (15.381735ms) +2026-09-27T05:34:24.5426085Z ✔ rejects an unbounded root marker before parsing it (27.665198ms) +2026-09-27T05:34:25.0866251Z ✔ rejects FIFO marker paths without blocking root resolution (543.208263ms) +2026-09-27T05:34:25.1360089Z ✔ rejects forged capabilities and invalidates a lease when its OS lock closes (42.648265ms) +2026-09-27T05:34:25.1609590Z Download the React DevTools for a better development experience: https://react.dev/link/react-devtools +2026-09-27T05:34:25.1656511Z ✔ editing a queued entry reports the captured queue revision and closes on success (3504.161749ms) +2026-09-27T05:34:25.2247490Z ✔ keeps the owner lock until an admitted lease operation drains (95.350365ms) +2026-09-27T05:34:25.2307357Z ﹣ enforces exclusive/shared lock arbitration across processes (0.256412ms) # SKIP +2026-09-27T05:34:25.2608512Z ✔ rejects a lock path that aliases another filesystem object (37.276581ms) +2026-09-27T05:34:25.3011716Z ✔ rejects a directory at the owner lock path (38.858319ms) +2026-09-27T05:34:25.3207322Z ✔ does not create a missing control directory while resolving an existing Host (19.240053ms) +2026-09-27T05:34:25.3917176Z ✔ cache deletion cannot create a second State Root owner (69.075144ms) +2026-09-27T05:34:25.4081666Z ✔ validates an existing control directory without repairing its permissions (18.165437ms) +2026-09-27T05:34:25.4117407Z ﹣ kernel releases a process lock after normal, uncaught, abort, and forced exits (0.186364ms) # SKIP +2026-09-27T05:34:25.4175988Z ﹣ does not inherit the owner lock into a surviving descendant (0.050158ms) # SKIP +2026-09-27T05:34:25.4327036Z ✔ a rejected queue edit keeps the row in edit mode instead of reading as reordered (321.000836ms) +2026-09-27T05:34:25.4395948Z ✔ fails closed when a capability root is replaced (29.565267ms) +2026-09-27T05:34:25.4425644Z ✔ storage root authority (2017.591631ms) +2026-09-27T05:34:25.4640153Z ✔ root admission preserves an explicit empty inline-reference marker from its sources (6.497217ms) +2026-09-27T05:34:25.4665828Z ✔ root admission preserves and validates each source submission digest (0.86279ms) +2026-09-27T05:34:25.4709267Z ✔ root admission preserves and validates each source submitted placement (2.738538ms) +2026-09-27T05:34:25.4736656Z ✔ root admission preserves and validates each source Skill outcome (0.879267ms) +2026-09-27T05:34:25.4866114Z ✔ admits a quote-only root Turn input (#4804) (0.505329ms) +2026-09-27T05:34:25.4947810Z ✔ admits an attachment-only root Turn input (#4804) (0.483929ms) +2026-09-27T05:34:25.5006105Z ✔ still rejects a truly contentless root Turn input (6.602747ms) +2026-09-27T05:34:25.5046607Z ✔ one connection declaration survives discovery, disabling, clearing fields and restart (116.424721ms) +2026-09-27T05:34:25.5077162Z ✔ schema one converts both old declarations once and ignores the old file after atomic save (20.677792ms) +2026-09-27T05:34:25.5099547Z ✔ independent limits survive restart and conflicting saves leave the document untouched (76.527536ms) +2026-09-27T05:34:25.5155981Z ✔ only execution-affecting declarations invalidate connection test tickets (77.855993ms) +2026-09-27T05:34:25.5186570Z ✔ queue actions stay disabled until the entry is Host-admitted (30.064262ms) +2026-09-27T05:34:25.5225863Z ✔ rejects non-chat permission modes before confirmation or persistence (73.816684ms) +2026-09-27T05:34:25.5279792Z ✔ rejects non-chat permission modes before writing an existing Session (24.643289ms) +2026-09-27T05:34:25.5309685Z ▶ runtime policy stores +2026-09-27T05:34:25.5365623Z ✔ upgrades schema v2 with the automatic Host shell default (144.914216ms) +2026-09-27T05:34:25.5425944Z ✔ migrates v3 external agent defaults and persists configuration with revision checks (89.973777ms) +2026-09-27T05:34:25.5445812Z ✔ persists extra request bodies and resolves custom headers as secret execution material (140.54732ms) +2026-09-27T05:34:25.5487128Z ✔ carries, replaces, clears, and endpoint-retires the typed capability table (141.270151ms) +2026-09-27T05:34:25.5545739Z ✔ dragging reorders the Host-owned id list (102.582295ms) +2026-09-27T05:34:25.5602899Z ✔ persists a model selection as one compound configuration and saves its default (21.671837ms) +2026-09-27T05:34:25.5665946Z ✔ persists a thinking selection through the same compound configuration service (13.103631ms) +2026-09-27T05:34:25.5766230Z ✔ retains the Model overlay while a partial Host catalog still has the prior Session revision (25.841068ms) +2026-09-27T05:34:25.6017485Z ✔ retires Permission and Orchestration overlays by their committed Session revisions (18.733629ms) +2026-09-27T05:34:25.6078735Z ✔ rejects an Orchestration write whose returned summary has a different mode (14.567211ms) +2026-09-27T05:34:25.6880349Z ✔ disabled models retain editable profiles through reload and re-enable (160.643939ms) +2026-09-27T05:34:25.7856162Z ✔ a relay keeps its own ids opaque through a model refresh (100.906293ms) +2026-09-27T05:34:25.8850629Z ✔ the native model pair remains the model-selection slot fallback (131.57278ms) +2026-09-27T05:34:25.8876816Z ✔ a client model contribution remains inside the unified executor picker (19.146383ms) +2026-09-27T05:34:25.8915913Z ✔ model switch availability has one priority-ordered contract (1.197001ms) +2026-09-27T05:34:25.9683352Z ✔ a model refresh keeps the selection, and an explicit change prunes it (178.766482ms) +2026-09-27T05:34:26.1046635Z ✔ commits closed policy mutations, canonicalizes proxy hosts, and preserves connection identity (140.846705ms) +2026-09-27T05:34:26.1766620Z ✔ rejects a valid mutation whose combined policy document exceeds its byte limit (71.965064ms) +2026-09-27T05:34:26.4896358Z ✔ the recovery handle opens the existing exact account-and-model picker (715.541002ms) +2026-09-27T05:34:26.5318564Z ✔ the thinking picker survives levels arriving after mount (55.425918ms) +2026-09-27T05:34:27.6596608Z ✔ the mode controls alone open the menu on a row, not on a rule (284.573284ms) +2026-09-27T05:34:27.7780309Z ✔ an action row above the mode controls keeps the divider (87.781157ms) +2026-09-27T05:34:27.8097451Z ✔ entering Plan is refused when the Host reports an active execution (6.661757ms) +2026-09-27T05:34:27.8177766Z ✔ canceling the latest pending proposal confirmation makes no write (0.450061ms) +2026-09-27T05:34:27.8180662Z ✔ ordinary Plan transitions write only collaboration mode, preserving orchestration (0.939706ms) +2026-09-27T05:34:27.8283159Z ✔ Host read errors propagate to the intent error path without writing (1.239627ms) +2026-09-27T05:34:27.8816955Z ✔ inactive Session writes keep the shell and frame asleep; selection reads the right overlay immediately (86.149696ms) +2026-09-27T05:34:27.8836348Z ✔ executor selection uses stable commands across Session changes and disconnects on unmount (46.246596ms) +2026-09-27T05:34:27.8866061Z ✔ catalog observations retire only the acknowledged Session overlay without waking the shell (11.926398ms) +2026-09-27T05:34:27.8867831Z ✔ active optimistic state rolls back on failure through the same stable command port (7.65781ms) +2026-09-27T05:34:27.8880708Z ✔ a bypass confirmation cannot write after its captured selection owner changes (4.378038ms) +2026-09-27T05:34:27.8882241Z ✔ clear retires an in-flight intent, and StrictMode cleanup disconnects retained commands (13.816016ms) +2026-09-27T05:34:27.8905828Z ✔ Plan discard remains bound to the requested Session while the user switches away (8.458477ms) +2026-09-27T05:34:27.8928994Z ✔ maps session setting services to the existing compound Desktop bridge (3.330791ms) +2026-09-27T05:34:27.8930263Z ✔ unwraps a plan failure only after it reaches the renderer adapter (0.947271ms) +2026-09-27T05:34:27.8931540Z ✔ file and folder actions have distinct labels and folder references remain removable (179.473252ms) +2026-09-27T05:34:27.9057766Z ✔ each mode row is the control its field is, and none of them is on (34.665445ms) +2026-09-27T05:34:27.9476796Z ✔ a refreshing skill catalog is not "no skills": the row stays put (18.266482ms) +2026-09-27T05:34:28.0826650Z ✔ a settled empty skill catalog still says why the row is unavailable (147.586709ms) +2026-09-27T05:34:28.0993112Z ✔ a populated skill catalog renders the row enabled with no caveat (29.386678ms) +2026-09-27T05:34:28.1386595Z ✔ a loading catalog holds the row still and marks the held state (17.567954ms) +2026-09-27T05:34:28.2026582Z ✔ a settled catalog carries no busy announcement (64.702892ms) +2026-09-27T05:34:28.2759606Z ✔ a loading refresh from a settled-empty catalog holds the empty look (35.055772ms) +2026-09-27T05:34:28.2842361Z ✔ Plan and an orchestration mode are both on at once (70.387742ms) +2026-09-27T05:34:29.0187776Z ✔ rejects a valid create when the aggregate catalog exceeds its byte limit (2840.39129ms) +2026-09-27T05:34:29.4459229Z ▶ failed turn presentation +2026-09-27T05:34:29.4499729Z ✔ changes branch availability without losing the shared failure presentation (15.031503ms) +2026-09-27T05:34:29.4520774Z ✔ presents persisted provider server errors as provider failures (0.5337ms) +2026-09-27T05:34:29.4537789Z ✔ shows the failure cause alongside the recorded retry refusal (0.457538ms) +2026-09-27T05:34:29.4545188Z ✔ grades continuable outcomes below outcomes the user must act on (0.223023ms) +2026-09-27T05:34:29.4566079Z ✔ failed turn presentation (24.176292ms) +2026-09-27T05:34:29.4568065Z ▶ failed turn execution state +2026-09-27T05:34:29.4568983Z ✔ warns that a completed tool may already have taken effect (0.380894ms) +2026-09-27T05:34:29.4570633Z ✔ does not let execution state displace the error class (9.478707ms) +2026-09-27T05:34:29.4571578Z ✔ offers no execution guidance for a Turn that ran nothing (0.405264ms) +2026-09-27T05:34:29.4572524Z ✔ prefers the most specific state the turn reached (0.272052ms) +2026-09-27T05:34:29.4573391Z ✔ failed turn execution state (14.764007ms) +2026-09-27T05:34:29.4574769Z ✔ does not hide a terminal diagnostic behind a sandbox tool failure or promote a tool failure to a failed turn (0.605411ms) +2026-09-27T05:34:29.5329522Z ✔ only an attachment-capable running-turn host accepts a pasted image (409.053609ms) +2026-09-27T05:34:29.9175006Z ✔ an idle composer offers Send alone (113.088092ms) +2026-09-27T05:34:29.9219896Z ✔ a host-owned send gate disables Send without an inline notice (124.900398ms) +2026-09-27T05:34:29.9276315Z ✔ a turn in flight turns the same single control into Stop (13.819073ms) +2026-09-27T05:34:29.9390067Z ✔ a running composer keeps Send alone — no mode switch in the send slot (21.589262ms) +2026-09-27T05:34:29.9456417Z ✔ an opted-in host renders Send (not Stop) for an attachment-only draft (#5003) (98.501168ms) +2026-09-27T05:34:29.9549665Z ✔ a staged quote enables Send without any host opt-in (#4804) (38.482905ms) +2026-09-27T05:34:30.0837528Z ✔ the three send gates agree about a staged quote while streaming (#4804) (262.305771ms) +2026-09-27T05:34:30.2776540Z ✔ the actual submit waits for Session references and keeps the draft on refusal (124.745312ms) +2026-09-27T05:34:30.5671621Z ✔ keeps Host order visible until the reordered projection arrives (303.850632ms) +2026-09-27T05:34:30.5748559Z ✔ deduplicates pending steering against Host queue entries and keeps the plate through an empty queue snapshot (60.388448ms) +2026-09-27T05:34:30.5773143Z ✔ a locally saved follow-up keeps its delivery status and recovery actions in the pending list (37.12954ms) +2026-09-27T05:34:31.1626334Z ▶ Session Terminal animation frame lifecycle +2026-09-27T05:34:31.1851576Z ✔ cancels and suppresses a frame that arrives after cleanup (5.834089ms) +2026-09-27T05:34:31.1885897Z ✔ Session Terminal animation frame lifecycle (14.246473ms) +2026-09-27T05:34:31.5879089Z ✔ Session quote renders its label and capture provenance in en (21.238358ms) +2026-09-27T05:34:31.5935862Z ✔ Session quote renders its label and capture provenance in zh-CN (3.298237ms) +2026-09-27T05:34:31.5966193Z ✔ Session quote renders its label and capture provenance in zh-TW (2.545558ms) +2026-09-27T05:34:31.6046171Z ✔ quote provenance omits invalid dates and does not call complete content truncated (0.472008ms) +2026-09-27T05:34:31.6076241Z ✔ pending Session remove control names the type and capture state in en (78.56933ms) +2026-09-27T05:34:31.6126433Z ✔ pending Session remove control names the type and capture state in zh-CN (18.322232ms) +2026-09-27T05:34:31.6150920Z ✔ pending Session remove control names the type and capture state in zh-TW (68.937608ms) +2026-09-27T05:34:31.7926394Z ✔ slow xterm parsing has one in-flight write and bounded terminal-only recovery (6.751902ms) +2026-09-27T05:34:31.7976245Z ✔ a PTY gap requires a new snapshot rather than rendering incomplete escape sequences (0.627206ms) +2026-09-27T05:34:31.8051571Z ✔ snapshot preparation has bounded buffering and detects a replay gap (0.554254ms) +2026-09-27T05:34:31.8096224Z ✔ terminal hydration ignores an old snapshot and replays only post-resync PTY data (0.243471ms) +2026-09-27T05:34:31.9626119Z ✔ rejects a valid secret when the aggregate vault exceeds its byte limit (2941.14957ms) +2026-09-27T05:34:32.1228199Z ✔ owns endpoints and fails closed on unsafe or unreachable persisted connection state (151.116395ms) +2026-09-27T05:34:32.1838945Z ✔ migrates a persisted Gemini CLI default to the remaining supported catalog (74.604018ms) +2026-09-27T05:34:32.2238630Z ✔ upgrades v2 legacy custom connection types to custom and persists schema v3 on write (39.880615ms) +2026-09-27T05:34:32.3020528Z ✔ refuses to author or default to a retired provider (73.973268ms) +2026-09-27T05:34:32.3856778Z ✔ an OAuth refresh cannot rotate a retained retired credential (81.871299ms) +2026-09-27T05:34:32.4928437Z ✔ deleting a retained retired credential leaves its row byte-stable (110.827068ms) +2026-09-27T05:34:32.6715432Z ✔ a global proxy change leaves a retained retired row byte-stable (173.926513ms) +2026-09-27T05:34:32.7366463Z ✔ refuses every connection-owned write against a retained retired row (67.82877ms) +2026-09-27T05:34:32.8236339Z ✔ refuses to edit a retained retired connection back toward usable (85.354894ms) +2026-09-27T05:34:32.8764891Z ✔ releases a default target that points at a retained retired connection (55.723492ms) +2026-09-27T05:34:32.9097370Z ✔ recognizes pure and mixed OSC color queries (7.762763ms) +2026-09-27T05:34:32.9139714Z ✔ does not suppress OSC color setters or invalid query forms (0.271454ms) +2026-09-27T05:34:32.9185982Z ✔ recognizes device attribute and status reports by their first parameter (0.240474ms) +2026-09-27T05:34:32.9202089Z ✔ recognizes window reports without intercepting window commands (0.368781ms) +2026-09-27T05:34:32.9249897Z ✔ mixed OSC color queries are suppressed and their setters are replayed (1.586798ms) +2026-09-27T05:34:32.9271408Z ✔ registers and disposes every xterm response-generating query handler (0.474603ms) +2026-09-27T05:34:32.9337384Z ✔ rejects a retired Gemini CLI record that collides with a maintained connection identity (43.744203ms) +2026-09-27T05:34:32.9890573Z ✔ validates credential locators and redacts credential status (67.780596ms) +2026-09-27T05:34:33.1708531Z ✔ resolves execution connection material from one mutation cut (185.084592ms) +2026-09-27T05:34:33.2866490Z ✔ bound execution never follows a reused connection slug (112.014868ms) +2026-09-27T05:34:33.4067778Z ✔ MacIntel: primary Enter sends normally when idle (334.93799ms) +2026-09-27T05:34:33.4396574Z ✔ refreshes only the matching OAuth credential generation without invalidating verification (155.321927ms) +2026-09-27T05:34:33.4618415Z ✔ MacIntel: shiftKey+Enter inserts a line break while idle, including with the primary modifier (62.98141ms) +2026-09-27T05:34:33.5082228Z ✔ MacIntel: altKey+Enter inserts a line break while idle, including with the primary modifier (48.110165ms) +2026-09-27T05:34:33.5951935Z ✔ conditionally commits discovery and test facts from the latest admitted state with one-shot tickets (156.076743ms) +2026-09-27T05:34:33.7177502Z ✔ MacIntel: primary Enter steers once without changing later sends (212.112501ms) +2026-09-27T05:34:33.7472241Z ✔ replaces Copilot bootstrap ids with the account-authorized model catalog (152.889939ms) +2026-09-27T05:34:33.7636917Z ✔ MacIntel: shiftKey+Enter inserts a line break while running, including with the primary modifier (48.982006ms) +2026-09-27T05:34:33.7889161Z ✔ MacIntel: altKey+Enter inserts a line break while running, including with the primary modifier (32.761419ms) +2026-09-27T05:34:33.8406631Z ✔ clears a withdrawn Copilot default when authoritative discovery leaves no enabled models (90.644055ms) +2026-09-27T05:34:33.8716290Z ✔ keeps the canonical default target when discovery stops listing its model (31.674842ms) +2026-09-27T05:34:33.9070370Z ✔ releases the canonical default target when a selection change removes its model (34.295584ms) +2026-09-27T05:34:33.9271487Z ✔ MacIntel: the other platform modifier does not select steering (117.245799ms) +2026-09-27T05:34:33.9679157Z ✔ releases the canonical default target when its connection is disabled (61.841629ms) +2026-09-27T05:34:33.9836341Z ✔ MacIntel: composing and empty drafts never send through the steering shortcut (71.60086ms) +2026-09-27T05:34:34.0186639Z ✔ rejects a stated default target that names an unselected model (47.207734ms) +2026-09-27T05:34:34.0316201Z ✔ MacIntel: an open mention menu retains Enter before steering (45.901311ms) +2026-09-27T05:34:34.1346810Z ✔ Win32: primary Enter sends normally when idle (104.973188ms) +2026-09-27T05:34:34.1426997Z ✔ keeps an emptied model selection across the next canonical discovery (123.625757ms) +2026-09-27T05:34:34.1676495Z ✔ Win32: shiftKey+Enter inserts a line break while idle, including with the primary modifier (36.001895ms) +2026-09-27T05:34:34.1972518Z ✔ Win32: altKey+Enter inserts a line break while idle, including with the primary modifier (37.139389ms) +2026-09-27T05:34:34.2665275Z ✔ admits a test model the user selected or the provider listed, and nothing else (128.055521ms) +2026-09-27T05:34:34.3132829Z ✔ Win32: primary Enter steers once without changing later sends (112.000397ms) +2026-09-27T05:34:34.3453876Z ✔ preserves verified state for equivalent discovery and clears it on model protocol changes (72.140176ms) +2026-09-27T05:34:34.3586421Z ✔ Win32: shiftKey+Enter inserts a line break while running, including with the primary modifier (31.012747ms) +2026-09-27T05:34:34.3706158Z ✔ clears verified state when enabled model selection changes (27.312581ms) +2026-09-27T05:34:34.4016524Z ✔ Win32: altKey+Enter inserts a line break while running, including with the primary modifier (45.289076ms) +2026-09-27T05:34:34.4537230Z ✔ Win32: the other platform modifier does not select steering (55.034667ms) +2026-09-27T05:34:34.4686205Z ✔ clears verified state only for admitted connection credential mutations (101.321431ms) +2026-09-27T05:34:34.4964894Z ✔ Win32: composing and empty drafts never send through the steering shortcut (37.891778ms) +2026-09-27T05:34:34.5260565Z ✔ a bound connection credential write rejects revision, provider, and endpoint drift (57.633177ms) +2026-09-27T05:34:34.5341582Z ✔ Win32: an open mention menu retains Enter before steering (43.08746ms) +2026-09-27T05:34:34.5839573Z ✔ reports unknown outcome when credential persistence fails after clearing verified state (57.011196ms) +2026-09-27T05:34:34.6826317Z ✔ invalidates verified state only when the effective network proxy basis changes (97.314248ms) +2026-09-27T05:34:34.7364770Z ✔ Linux x86_64: primary Enter sends normally when idle (183.641263ms) +2026-09-27T05:34:34.7406928Z ✔ validates proxy policy mutations before clearing and reports failed follow-up commits as unknown (60.716784ms) +2026-09-27T05:34:34.7766809Z ✔ Linux x86_64: shiftKey+Enter inserts a line break while idle, including with the primary modifier (53.348966ms) +2026-09-27T05:34:34.8242935Z ✔ Linux x86_64: altKey+Enter inserts a line break while idle, including with the primary modifier (42.658333ms) +2026-09-27T05:34:34.9591502Z ✔ Linux x86_64: primary Enter steers once without changing later sends (146.447939ms) +2026-09-27T05:34:34.9883557Z ✔ invalidates verified state for active proxy password rotation and deletion (244.305042ms) +2026-09-27T05:34:34.9908627Z ✔ Linux x86_64: shiftKey+Enter inserts a line break while running, including with the primary modifier (30.539926ms) +2026-09-27T05:34:35.0199928Z ✔ Linux x86_64: altKey+Enter inserts a line break while running, including with the primary modifier (28.768481ms) +2026-09-27T05:34:35.0748932Z ✔ Linux x86_64: the other platform modifier does not select steering (49.242041ms) +2026-09-27T05:34:35.0928903Z ✔ reports unknown outcome when active proxy password persistence fails after clearing (105.178121ms) +2026-09-27T05:34:35.1097462Z ✔ Linux x86_64: composing and empty drafts never send through the steering shortcut (39.362382ms) +2026-09-27T05:34:35.1426452Z ✔ Linux x86_64: an open mention menu retains Enter before steering (33.829996ms) +2026-09-27T05:34:35.1895451Z ✔ steering retains a refused draft (45.674001ms) +2026-09-27T05:34:35.2210578Z ✔ commits effects when proxy representation or GET-irrelevant body settings change (130.826443ms) +2026-09-27T05:34:35.2502304Z ✔ a blocked composer cannot steer (30.468175ms) +2026-09-27T05:34:35.2673025Z ▶ session trace refresh policy +2026-09-27T05:34:35.2758069Z ✔ ignores streaming deltas and reacts to ledger-changing events (3.463799ms) +2026-09-27T05:34:35.2820722Z ✔ refreshes once for a burst of relevant events (0.545079ms) +2026-09-27T05:34:35.2887175Z ✔ schedules nothing for events that cannot change the trace (0.29319ms) +2026-09-27T05:34:35.2950994Z ✔ cancel drops a scheduled read so a closed panel never fires one (0.225296ms) +2026-09-27T05:34:35.3054255Z ✔ session trace refresh policy (6.338482ms) +2026-09-27T05:34:35.3189783Z ✔ steering supports staged context and coalesces repeated keys while admission is pending (79.121769ms) +2026-09-27T05:34:35.3256191Z ✔ en: queue help renders Cmd+Enter on MacIntel (12.890169ms) +2026-09-27T05:34:35.3266661Z ✔ en: queue help renders Ctrl+Enter on Win32 (0.426567ms) +2026-09-27T05:34:35.3267940Z ✔ zh-CN: queue help renders Cmd+Enter on MacIntel (3.284839ms) +2026-09-27T05:34:35.3340049Z ✔ zh-CN: queue help renders Ctrl+Enter on Win32 (0.282891ms) +2026-09-27T05:34:35.3350678Z ✔ zh-TW: queue help renders Cmd+Enter on MacIntel (9.877564ms) +2026-09-27T05:34:35.3386865Z ✔ zh-TW: queue help renders Ctrl+Enter on Win32 (0.523982ms) +2026-09-27T05:34:35.4618425Z ✔ labels the Chinese default thinking level as default (1.366307ms) +2026-09-27T05:34:35.4631293Z ✔ explains why folder-reference messages cannot be edited and resent (0.236202ms) +2026-09-27T05:34:35.4669697Z ✔ context usage explains missing data without exposing provider internals (0.173832ms) +2026-09-27T05:34:35.4713886Z ✔ context usage tooltip leads with the measured share (0.461287ms) +2026-09-27T05:34:35.4746042Z ✔ context usage tooltip keeps measured usage when the limit is unknown (0.432773ms) +2026-09-27T05:34:35.4747344Z ✔ providerRetryScheduled humanizes hour-scale delays in both locales (2.945868ms) +2026-09-27T05:34:35.4748525Z ✔ uses Taiwan wording for the Daily Review append action (1.22559ms) +2026-09-27T05:34:35.4817374Z ✔ supersedes effects on connection, credential, proxy, proxy credential, and slug ABA changes (261.795313ms) +2026-09-27T05:34:35.5403117Z ✔ keeps a newer Guest draft across remount when an old request settles later (318.331982ms) +2026-09-27T05:34:35.5582835Z ✔ preserves unknown commit semantics and consumes the completion ticket (74.239796ms) +2026-09-27T05:34:35.6175668Z ✔ resumes an in-flight Guest request across remount without submitting it twice (83.601221ms) +2026-09-27T05:34:35.6267988Z ✔ allows only Copilot OAuth tokens through the public credential setter (66.697598ms) +2026-09-27T05:34:35.6301231Z ✔ the picker shows a generic loading state until the executor catalog arrives (433.805784ms) +2026-09-27T05:34:35.6359426Z ✔ failed Antigravity discovery closes the picker before opening external-agent settings (111.205374ms) +2026-09-27T05:34:35.6406771Z ✔ the Composer native fallback commits Maka with native-model after browsing an external executor (475.763777ms) +2026-09-27T05:34:35.6938675Z ✔ resolves one atomic WebSearch policy, credential, and proxy execution snapshot (69.1743ms) +2026-09-27T05:34:35.7499243Z ✔ a stale client cannot recreate a proxy credential after another client disables authentication (49.958435ms) +2026-09-27T05:34:35.8201025Z ✔ a bound proxy credential import cannot replace the secret after the proxy target changes (74.463284ms) +2026-09-27T05:34:35.8487981Z ✔ proxy replacement failure before vault publication leaves both stores unchanged (31.770134ms) +2026-09-27T05:34:35.8930456Z ✔ proxy replacement never persists its secret outside the credential vault (43.438857ms) +2026-09-27T05:34:35.9534865Z ✔ authentication disable failure before policy publication leaves both stores unchanged (51.739164ms) +2026-09-27T05:34:35.9955859Z ✔ the Composer native fallback commits Maka with native-model-2 after browsing an external executor (434.38142ms) +2026-09-27T05:34:35.9991972Z ✔ disabling proxy authentication commits policy before deleting its credential (51.413302ms) +2026-09-27T05:34:36.0446810Z ✔ blocks WebFetch while privacy mode is active (41.070138ms) +2026-09-27T05:34:36.0709586Z ✔ keeps provider-native WebSearch outside the client search credential resolver (30.041252ms) +2026-09-27T05:34:36.2280717Z ✔ removes credentials only for a matching connection revision and converges on partial retries (158.107764ms) +2026-09-27T05:34:36.3077492Z ✔ executor choice shares the native searchable list and exposes every external model with exact identity (312.259344ms) +2026-09-27T05:34:36.3256996Z ✔ history-only state keeps the executor fixed and offers a new task (23.254683ms) +2026-09-27T05:34:36.3439701Z ✔ successor recovery removes credentials orphaned by an interrupted connection removal (117.86674ms) +2026-09-27T05:34:36.4230963Z ✔ unavailable executors can be inspected but never committed (46.573896ms) +2026-09-27T05:34:36.4522655Z ✔ drains every synchronously admitted ordered mutation before owner close completes (105.951717ms) +2026-09-27T05:34:36.5474140Z ✔ Turn-request inbox keeps only actionable requests and detects new arrivals (11.119173ms) +2026-09-27T05:34:36.6263335Z ✔ fails closed on final symlinks, FIFOs, and oversized documents without changing bytes (169.474719ms) +2026-09-27T05:34:36.7603499Z ✔ single-flights writer recovery and preserves credential material across owner reopen (138.825487ms) +2026-09-27T05:34:36.8882311Z ✔ clears a stale onboarding intent when its connection id conflicts with the catalog (130.416429ms) +2026-09-27T05:34:36.9656472Z ✔ native thinking stays beside the composer model trigger and follows executor selection (581.738578ms) +2026-09-27T05:34:37.0030549Z ✔ recovers a v1 onboarding intent by identity before deriving a canonical slug (112.792623ms) +2026-09-27T05:34:37.0437742Z ✔ a failed native choice keeps the shared list open for retry (60.129033ms) +2026-09-27T05:34:37.0516804Z ✔ highest external intensity uses supported levels and opaque IDs regardless of catalog order (0.676325ms) +2026-09-27T05:34:37.1256419Z ✔ recovers a v2 create intent with its preallocated dynamic identity (119.007099ms) +2026-09-27T05:34:37.2089426Z ✔ fails closed when a v2 onboarding intent rebinds an existing id to another slug (87.952441ms) +2026-09-27T05:34:37.4026566Z ✔ interactive OAuth create allocates distinct entities and keeps attempt identity durable (189.567732ms) +2026-09-27T05:34:37.5088635Z ✔ interactive OAuth create commits the requested Connection name and slug (109.24709ms) +2026-09-27T05:34:37.5386222Z ✔ interactive OAuth custom identity is limited to OpenAI Codex (28.751027ms) +2026-09-27T05:34:37.5918406Z ✔ grouped external models select the highest supported intensity from undefined (572.168825ms) +2026-09-27T05:34:37.6196296Z ✔ interactive OAuth create reports a slug collision that wins the commit race (79.592652ms) +2026-09-27T05:34:37.7242897Z ✔ interactive OAuth existing login re-enables only its frozen entity (105.750772ms) +2026-09-27T05:34:37.7896336Z ✔ OAuth enrollment fails closed when its exact entity or allocated slug drifts (62.314542ms) +2026-09-27T05:34:38.1757919Z ✔ grouped external models select the highest supported intensity from flash-high (561.975363ms) +2026-09-27T05:34:38.4118157Z ✔ OAuth enrollment recovery converges after every durable commit boundary (627.974916ms) +2026-09-27T05:34:38.5262497Z ✔ interactive OAuth login commits only against its frozen connection and credential basis (110.200268ms) +2026-09-27T05:34:38.5918757Z ✔ rejects forged leases, forged facades, and operations after interactive lease close (63.998784ms) +2026-09-27T05:34:38.5979173Z ✔ runtime policy stores (13587.30287ms) +2026-09-27T05:34:38.6207575Z ✔ grouped external models select the highest supported intensity from flash-mid (472.166801ms) +2026-09-27T05:34:38.6546573Z ✔ external thinking respects disabled locks (34.88273ms) +2026-09-27T05:34:38.6749418Z ✔ external thinking respects readOnly locks (12.43114ms) +2026-09-27T05:34:38.6836343Z ✔ Jev policy and credentials persist in Host stores without exposing the key in projections (93.784961ms) +2026-09-27T05:34:38.7032174Z ✔ external thinking respects fixed locks (23.967743ms) +2026-09-27T05:34:38.7086116Z ✔ external thinking respects lost locks (35.289537ms) +2026-09-27T05:34:38.8228520Z ✔ core execution migration preserves databases with historical continuation forks (9.256128ms) +2026-09-27T05:34:38.8336995Z ✔ safe-boundary continuation admission is indexed by its source execution (408.472727ms) +2026-09-27T05:34:38.8396169Z ✔ historical continuation forks resolve to the earliest durable admission (252.143629ms) +2026-09-27T05:34:38.8496007Z ▶ ScheduledTask point operations do not materialize or rewrite unrelated rows +2026-09-27T05:34:38.8585786Z ✔ 0 unrelated tasks and pending fires (775.781413ms) +2026-09-27T05:34:38.8656020Z ✔ 32 unrelated tasks and pending fires (315.345096ms) +2026-09-27T05:34:38.8725931Z ✔ 256 unrelated tasks and pending fires (2155.980055ms) +2026-09-27T05:34:38.8817162Z ✔ ScheduledTask point operations do not materialize or rewrite unrelated rows (3253.622775ms) +2026-09-27T05:34:38.8850508Z ✔ ScheduledTask polls without new due or expired tasks perform no DML (409.641219ms) +2026-09-27T05:34:38.8875780Z ✔ ScheduledTask expiry updates only newly expired tasks, including a pending task (410.539648ms) +2026-09-27T05:34:38.9016723Z ✔ ScheduledTask native delivery allows waiting cancellation but cannot undo admission (276.399067ms) +2026-09-27T05:34:38.9126287Z ✔ ScheduledTask execution binding is idempotent and does not retain caller-owned objects (186.21562ms) +2026-09-27T05:34:38.9214045Z ✔ ScheduledTask metadata updates keep schedule and expired-trigger semantics (207.138106ms) +2026-09-27T05:34:38.9221674Z ✔ ScheduledTask metadata updates preserve a future snoozed occurrence (346.372408ms) +2026-09-27T05:34:38.9306159Z ✔ ScheduledTask due discovery rejects a damaged task identity before changing another task (202.553247ms) +2026-09-27T05:34:38.9307461Z ✔ ScheduledTask settlement rolls back both rows and the queue accepts a retry (376.919541ms) +2026-09-27T05:34:38.9308840Z ✔ ScheduledTask execution identity survives closing and reacquiring the root owner (289.783594ms) +2026-09-27T05:34:38.9309916Z ✔ pins exact canonical tree-record bytes and SHA-256 digest (13.839178ms) +2026-09-27T05:34:38.9365904Z ✔ incrementally hashes the same stream without retaining file bytes (9.388196ms) +2026-09-27T05:34:38.9367144Z ✔ preserves raw UTF-8 path bytes without Unicode normalization (0.738186ms) +2026-09-27T05:34:38.9455900Z ✔ makes empty directories and executable semantics digest-significant (5.984188ms) +2026-09-27T05:34:38.9457216Z ✔ rejects traversal, host path syntax, invalid Unicode, and paths outside V1 roots (3.850466ms) +2026-09-27T05:34:38.9526209Z ✔ rejects duplicate, conflicting, orphaned, and incomplete payload trees (7.103169ms) +2026-09-27T05:34:38.9553679Z ✔ rejects non-normalized file metadata and an out-of-order streaming source (0.724593ms) +2026-09-27T05:34:38.9705976Z ✔ fails closed after aggregate payload size overflows (0.500262ms) +2026-09-27T05:34:38.9737698Z ✔ an import takes its turn in the target root context mutation queue (1243.354875ms) +2026-09-27T05:34:38.9798404Z ✔ exposes strict lowercase SHA-256 digest validation (4.381096ms) +2026-09-27T05:34:38.9833666Z ✔ validates Unicode strings safely at the runtime boundary (0.327262ms) +2026-09-27T05:34:38.9856251Z ✔ requires every explicit quota while permitting a fail-closed zero budget (7.459165ms) +2026-09-27T05:34:38.9885906Z ✔ copies opaque state identity bytes without interpreting or aliasing them (3.576289ms) +2026-09-27T05:34:38.9917862Z ✔ keeps stable bundle failures bounded and preserves their causes (0.404061ms) +2026-09-27T05:34:38.9937272Z ✔ packs deterministically, inspects completely, and atomically hydrates (326.781003ms) +2026-09-27T05:34:38.9970139Z ✔ an independent process verifies and hydrates the same archive contract (579.753209ms) +2026-09-27T05:34:38.9986491Z ✔ a process crash leaves owned staging that can be reclaimed without touching decoys (386.681099ms) +2026-09-27T05:34:39.0011460Z ✔ concurrent publications never overwrite an existing destination (336.408729ms) +2026-09-27T05:34:39.0035842Z ✔ binds pack publication and cleanup to the hashed temporary inode (850.635707ms) +2026-09-27T05:34:39.0087022Z ✔ cleans the inode actually linked when the pack pathname is swapped at link time (273.109181ms) +2026-09-27T05:34:39.0186079Z ✔ cleans a published pack when the temporary pathname disappears after link (320.825147ms) +2026-09-27T05:34:39.0225973Z ✔ does not clean an unrelated destination replacement after link (427.069611ms) +2026-09-27T05:34:39.0315855Z ✔ removes an ownership record when its initialization write fails (362.083646ms) +2026-09-27T05:34:39.0317080Z ✔ reports read-side source changes and filesystem failures at the operation boundary (323.097372ms) +2026-09-27T05:34:39.0337750Z ✔ rejects corrupted payloads and transport mismatches without publishing hydration (160.789275ms) +2026-09-27T05:34:39.0339181Z ✔ rejects corrupted manifest, descriptor, tree digest, and Zstandard stream (171.952557ms) +2026-09-27T05:34:39.0340379Z ✔ enforces every explicit streaming quota with bounded details (192.202906ms) +2026-09-27T05:34:39.0341547Z ✔ accepts exact file, entry, path-byte, and path-depth quota boundaries (99.368203ms) +2026-09-27T05:34:39.0342854Z ✔ rejects unsafe paths, links, bad checksums, truncation, and trailing TAR bytes (99.356227ms) +2026-09-27T05:34:39.0343926Z ✔ unsafe hydration paths cannot escape staging (112.953125ms) +2026-09-27T05:34:39.0345113Z ✔ pack enforces caller quotas and cleans unpublished output (42.12993ms) +2026-09-27T05:34:39.0355066Z ✔ rejects source links, identity mismatch, and existing destinations (75.1089ms) +2026-09-27T05:34:39.0356388Z ✔ pins canonical Manifest V1 UTF-8 bytes and round-trips them (9.865315ms) +2026-09-27T05:34:39.0357574Z ✔ omits optional Activation provenance instead of inventing authority (0.539449ms) +2026-09-27T05:34:39.0358655Z ✔ does not serialize inherited Activation provenance (4.080451ms) +2026-09-27T05:34:39.0359582Z ✔ rejects parseable but non-canonical manifest bytes (2.642164ms) +2026-09-27T05:34:39.0360571Z ✔ does not expose attacker-controlled parser diagnostics (0.445111ms) +2026-09-27T05:34:39.0361600Z ✔ rejects control-plane revision and fork authority fields (0.407867ms) +2026-09-27T05:34:39.0362792Z ✔ distinguishes unsupported schema and codec versions from malformed manifests (0.67135ms) +2026-09-27T05:34:39.0364047Z ✔ rejects unknown nested fields, invalid Unicode, and incomplete layouts (0.410911ms) +2026-09-27T05:34:39.0365225Z ✔ exports one Session as filtered SQLite (736.526248ms) +2026-09-27T05:34:39.0366185Z ✔ retains only the selected Session partial stream segments (486.67312ms) +2026-09-27T05:34:39.0367139Z ✔ pins the exact canonical USTAR V1 header (8.566436ms) +2026-09-27T05:34:39.0368028Z ✔ uses the rightmost representable USTAR prefix split (0.718701ms) +2026-09-27T05:34:39.0368959Z ✔ accepts exact USTAR field boundaries and non-BMP paths (9.218016ms) +2026-09-27T05:34:39.0369889Z ✔ rejects noncanonical metadata and unrepresentable paths (6.157031ms) +2026-09-27T05:34:39.0371429Z ✔ same-request recovery preserves drafts and renders accessible constraints (194.548168ms) +2026-09-27T05:34:39.0372675Z ✔ a delayed terminal event cannot retire the successor Turn question (2.931038ms) +2026-09-27T05:34:39.0373733Z ▶ composer interaction queue +2026-09-27T05:34:39.0374846Z ✔ boundary and question requests share one FIFO per session (7.261406ms) +2026-09-27T05:34:39.0393852Z ✔ Client Capability requests enter and leave the shared queue (0.260351ms) +2026-09-27T05:34:39.0395040Z ✔ deduplicates replays and isolates sessions (2.011216ms) +2026-09-27T05:34:39.0395953Z ✔ tool completion and terminal events drain stale interactions (0.396648ms) +2026-09-27T05:34:39.0396981Z ✔ rehydration keeps the shown order and drops what the runtime settled (4.37498ms) +2026-09-27T05:34:39.0397953Z ✔ rehydration adds a question the surface never saw live (0.20595ms) +2026-09-27T05:34:39.0398821Z ✔ form requests enter and leave the shared queue (0.731257ms) +2026-09-27T05:34:39.0399580Z ✔ composer interaction queue (18.030331ms) +2026-09-27T05:34:39.0400222Z ▶ toggleListedSelection +2026-09-27T05:34:39.0400792Z ✔ marks and unmarks one id (3.931374ms) +2026-09-27T05:34:39.0401573Z ✔ a toggle that changes nothing returns the same value (0.301926ms) +2026-09-27T05:34:39.0402321Z ✔ the input is never mutated (0.237274ms) +2026-09-27T05:34:39.0403018Z ✔ toggleListedSelection (15.163801ms) +2026-09-27T05:34:39.0403641Z ▶ setAllListedSelected +2026-09-27T05:34:39.0404291Z ✔ marks exactly what the surface listed (0.325367ms) +2026-09-27T05:34:39.0455534Z ✔ unticking settles on the shared empty value (0.181389ms) +2026-09-27T05:34:39.0459758Z ✔ setAllListedSelected (3.89529ms) +2026-09-27T05:34:39.0515436Z ▶ listedSelectionMasterState +2026-09-27T05:34:39.0516439Z ✔ reads unchecked, indeterminate, then checked (0.53367ms) +2026-09-27T05:34:39.0545706Z ✔ an empty list is unchecked, never checked (2.443322ms) +2026-09-27T05:34:39.0555573Z ✔ a mark outside the listed ids cannot make it checked (0.220103ms) +2026-09-27T05:34:39.0590918Z ✔ listedSelectionMasterState (4.201486ms) +2026-09-27T05:34:39.0605460Z ▶ pruneListedSelection +2026-09-27T05:34:39.0635537Z ✔ drops ids the surface no longer lists (1.65766ms) +2026-09-27T05:34:39.0665546Z ✔ returns the same value when nothing was dropped (0.247545ms) +2026-09-27T05:34:39.0698131Z ✔ an emptied result settles on the shared empty value (0.704494ms) +2026-09-27T05:34:39.0699698Z ✔ accepts a Set without rebuilding it (1.354201ms) +2026-09-27T05:34:39.0725864Z ✔ pruneListedSelection (4.301969ms) +2026-09-27T05:34:39.0755938Z ✔ a successor and a delayed predecessor seed retain separate text and settlement (8.088102ms) +2026-09-27T05:34:39.0776948Z ▶ the unconfirmed claim an arm carries +2026-09-27T05:34:39.0786882Z ✔ is dropped by the turn's own events, not just by an explicit answer (11.115067ms) +2026-09-27T05:34:39.0818862Z ✔ the unconfirmed claim an arm carries (15.091726ms) +2026-09-27T05:34:39.0853518Z ▶ the start a live Turn carries +2026-09-27T05:34:39.0885279Z ✔ stays at its first event while later tools arrive, before the transcript reaches the Turn (4.726529ms) +2026-09-27T05:34:39.0915613Z ✔ the start a live Turn carries (7.870034ms) +2026-09-27T05:34:39.0925455Z ▶ provider retry copy +2026-09-27T05:34:39.0950263Z ✔ describes capacity retries without collapsing them into generic unavailability (0.532395ms) +2026-09-27T05:34:39.0972971Z ✔ provider retry copy (0.865147ms) +2026-09-27T05:34:39.1006172Z ▶ applyLiveTurnEvent +2026-09-27T05:34:39.1019275Z ✔ keeps every streamed prefix oracle-equivalent and drops raw state on terminal events (12.227513ms) +2026-09-27T05:34:39.1061371Z ✔ folds replayed absolute deltas instead of appending a resubscription seed (0.652044ms) +2026-09-27T05:34:39.1062453Z ✔ tracks absolute thinking offsets independently from redacted display text (1.050295ms) +2026-09-27T05:34:39.1095605Z ✔ drops a delta past the consumed source so a later reseed lands whole (0.481825ms) +2026-09-27T05:34:39.1125786Z ✔ projects transient provider retry progress until the next model output (1.988577ms) +2026-09-27T05:34:39.1136121Z ✔ keeps provider capacity visible through retry projection (0.483415ms) +2026-09-27T05:34:39.1167168Z ✔ replaces the live reasoning with thinking_complete on the same step (0.505861ms) +2026-09-27T05:34:39.1195670Z ✔ retains live nested tool activity identity (0.579048ms) +2026-09-27T05:34:39.1215617Z ✔ retains nested identity when a tool result arrives before its start (0.310538ms) +2026-09-27T05:34:39.1239052Z ✔ maps cancelled terminal tool_result to interrupted, not errored (0.364633ms) +2026-09-27T05:34:39.1401841Z ✔ moves an output-first tool into its real step without duplicating or regressing it (0.574812ms) +2026-09-27T05:34:39.1516140Z ✔ projects bounded multi-step tool progress onto the running row (0.817692ms) +2026-09-27T05:34:39.1596099Z ✔ ignores invalid step progress without clearing the last valid value (0.3583ms) +2026-09-27T05:34:39.1766460Z ✔ preserves steering positions when an output-first tool receives its real step (0.693681ms) +2026-09-27T05:34:39.1808695Z ✔ appends late thinking without moving an already visible tool (0.388996ms) +2026-09-27T05:34:39.1836667Z ✔ drops a terminal projection only after its last live step settles (0.364634ms) +2026-09-27T05:34:39.1865687Z ✔ marks an aborted projection terminal with in-flight tools interrupted (0.258249ms) +2026-09-27T05:34:39.1866620Z ✔ applyLiveTurnEvent (24.237675ms) +2026-09-27T05:34:39.1895504Z ▶ settleLiveTurnStep +2026-09-27T05:34:39.1925660Z ✔ removes only the committed step and drops an empty projection (0.241497ms) +2026-09-27T05:34:39.1955877Z ✔ keeps co-located tool stream evidence when text handoff settles (0.228165ms) +2026-09-27T05:34:39.1985551Z ✔ still drops tools without live stream evidence on text settle (0.14034ms) +2026-09-27T05:34:39.1986559Z ✔ settleLiveTurnStep (0.837474ms) +2026-09-27T05:34:39.2015368Z ▶ reconcileTerminalLiveTurn +2026-09-27T05:34:39.2030608Z ✔ settles a tool-only terminal step once persisted history covers it (0.597789ms) +2026-09-27T05:34:39.2075847Z ✔ keeps a non-terminal projection armed once persisted history covers all steps (0.224361ms) +2026-09-27T05:34:39.2077112Z ✔ retains terminal evidence while persisted history does not cover it (0.465855ms) +2026-09-27T05:34:39.2105696Z ✔ keeps terminal live steering until the terminal transcript catches up (0.23057ms) +2026-09-27T05:34:39.2137060Z ✔ hands a running live steering row to the transcript once its user row is durable (0.219561ms) +2026-09-27T05:34:39.2145606Z ✔ keeps steering-only aborts visible for transcript handoff (0.157442ms) +2026-09-27T05:34:39.2166015Z ✔ retains interrupted live output until a persisted result covers it (0.140429ms) +2026-09-27T05:34:39.2195707Z ✔ keeps live stream evidence when persisted shell_run streams are still empty (0.298896ms) +2026-09-27T05:34:39.2225576Z ✔ leaves text steps to the streaming display handoff (2.28794ms) +2026-09-27T05:34:39.2235809Z ✔ terminalizes live text when persisted history proves a missed terminal event (0.357654ms) +2026-09-27T05:34:39.2275949Z ✔ settles a persisted thinking-only step whose text slot is empty (0.135558ms) +2026-09-27T05:34:39.2280625Z ✔ drops persisted stream evidence before the next tool batch settles (0.480533ms) +2026-09-27T05:34:39.2305526Z ✔ reconcileTerminalLiveTurn (6.153784ms) +2026-09-27T05:34:39.2345714Z ▶ tool_result_preview live projection +2026-09-27T05:34:39.2367250Z ✔ attaches live open-facts and replaces them with the durable result (0.283193ms) +2026-09-27T05:34:39.2405747Z ✔ keeps hydrated result content when Runtime Host omits it from the live event (0.126073ms) +2026-09-27T05:34:39.2406873Z ✔ lets a meaningful live empty result replace older durable content (1.699292ms) +2026-09-27T05:34:39.2436766Z ✔ tool_result_preview live projection (2.258907ms) +2026-09-27T05:34:39.2477850Z ▶ context-compaction live row +2026-09-27T05:34:39.2495649Z ✔ arms a rootExecutionKind projection from a context_compaction_started event (0.213028ms) +2026-09-27T05:34:39.2516289Z ✔ overlays exactly one localized "compacting" system row while running (1.077615ms) +2026-09-27T05:34:39.2545787Z ✔ merges the compacting note into an already-persisted running turn (0.284646ms) +2026-09-27T05:34:39.2575638Z ✔ localizes the compacting row per locale (0.203945ms) +2026-09-27T05:34:39.2605511Z ✔ drops the row when the compaction turn completes with no content (0.172055ms) +2026-09-27T05:34:39.2606708Z ✔ drops the running row when transcript reconciliation finds the compaction terminal (0.763302ms) +2026-09-27T05:34:39.2635434Z ✔ context-compaction live row (3.041106ms) +2026-09-27T05:34:39.2665578Z ▶ session copy cleanup authority +2026-09-27T05:34:39.2694170Z ✔ forgets a known rejected creation without trying to resume or remove it (742.321824ms) +2026-09-27T05:34:39.2701679Z ✔ releases a rejected creation lease so the same identity can retry (347.899852ms) +2026-09-27T05:34:39.2729495Z ✔ orders cancellation after an in-flight copy reaches a known outcome (338.866614ms) +2026-09-27T05:34:39.2794682Z ✔ resolves an unknown creating lease before removing it after restart (406.452941ms) +2026-09-27T05:34:39.2831567Z ✔ does not recover a live copy whose owning process is still active (254.43839ms) +2026-09-27T05:34:39.2918479Z ✔ claims one released process incarnation across all of its copies (441.694801ms) +2026-09-27T05:34:39.2930806Z ✔ holds the released owner claim while recovering a cleanup-phase copy (385.045702ms) +2026-09-27T05:34:39.2932164Z ✔ falls back to process liveness for an unsupported owner reference version (336.78298ms) +2026-09-27T05:34:39.2933493Z ✔ asks the process owner to retire released files with no database references (200.290331ms) +2026-09-27T05:34:39.2934771Z ✔ fails closed when process-incarnation ownership cannot be inspected (295.573566ms) +2026-09-27T05:34:39.2935880Z ✔ abandons every live copy owned by a renderer that exits (425.575223ms) +2026-09-27T05:34:39.2936688Z ▶ session workspace action identity +2026-09-27T05:34:39.2937550Z ✔ hands over identity and rows together and rejects superseded reads (130.810785ms) +2026-09-27T05:34:39.2938587Z ✔ keeps every action identity fixed across re-renders (9.678757ms) +2026-09-27T05:34:39.2939376Z ✔ session workspace action identity (147.870868ms) +2026-09-27T05:34:39.2943149Z [bots:telegram] bot_connection_failed: 401 Authorization: *** +2026-09-27T05:34:39.2945654Z ▶ settings IPC helpers +2026-09-27T05:34:39.2968454Z ✔ masks sensitive bot fields before returning settings to renderer (1.78782ms) +2026-09-27T05:34:39.2969791Z ✔ keeps empty sensitive fields empty instead of showing a placeholder (0.400803ms) +2026-09-27T05:34:39.2971057Z ✔ marks Tavily environment credentials as renderer-safe source without returning the key (0.28313ms) +2026-09-27T05:34:39.2972686Z ✔ reveals sensitive fields only when the current patch explicitly changes them (4.370467ms) +2026-09-27T05:34:39.2974815Z ✔ never reveals Tavily API key back to renderer, even on the save response (1.510658ms) +2026-09-27T05:34:39.2976413Z ✔ maps runtime bot test results as credential checks, not operational readiness (4.512196ms) +2026-09-27T05:34:39.2978859Z ✔ redacts bot test error diagnostics before returning SettingsTestResult (13.790966ms) +2026-09-27T05:34:39.2986614Z ✔ settings update result returns transient personalization warning enums without raw phrases (1.464073ms) +2026-09-27T05:34:39.2987771Z ✔ settings IPC helpers (37.563511ms) +2026-09-27T05:34:39.2988946Z ✔ renders Runtime Host memory rejection codes per locale (5.857608ms) +2026-09-27T05:34:39.2991035Z ✔ falls back for an unknown Runtime Host memory rejection code (0.29661ms) +2026-09-27T05:34:39.2992772Z ✔ renders complete memory counts and summaries in zh-CN (1.374989ms) +2026-09-27T05:34:39.2993925Z ✔ renders complete redaction, backup failure, and preview messages in zh-CN (0.3244ms) +2026-09-27T05:34:39.2995280Z ✔ renders complete memory action and restore descriptions in zh-CN (6.491022ms) +2026-09-27T05:34:39.2996296Z ✔ renders complete memory counts and summaries in zh-TW (0.361498ms) +2026-09-27T05:34:39.3023515Z ✔ renders complete redaction, backup failure, and preview messages in zh-TW (0.22678ms) +2026-09-27T05:34:39.3025450Z ✔ renders complete memory action and restore descriptions in zh-TW (0.249112ms) +2026-09-27T05:34:39.3026504Z ✔ renders complete memory counts and summaries in en (4.539195ms) +2026-09-27T05:34:39.3027473Z ✔ renders complete redaction, backup failure, and preview messages in en (2.87614ms) +2026-09-27T05:34:39.3028483Z ✔ renders complete memory action and restore descriptions in en (0.265886ms) +2026-09-27T05:34:39.3029434Z ✔ the generic settings channel cannot carry an app-icon choice (7.388527ms) +2026-09-27T05:34:39.3030359Z ✔ an appearance patch that is only an icon drops out entirely (0.286636ms) +2026-09-27T05:34:39.3031111Z ✔ the rest of appearance still travels (0.223123ms) +2026-09-27T05:34:39.3031931Z ✔ the dark slot cannot travel on the generic channel either (0.208712ms) +2026-09-27T05:34:39.3055254Z ✔ an appearance patch of only icon slots drops out entirely (2.840358ms) +2026-09-27T05:34:39.3056462Z ✔ language selector offers every preference with locale-appropriate labels (8.141698ms) +2026-09-27T05:34:39.3057473Z ✔ Traditional Chinese settings copy uses Taiwan terminology (0.363723ms) +2026-09-27T05:34:39.3058470Z ✔ Traditional Chinese provider cards use Taiwan connection terminology (0.355307ms) +2026-09-27T05:34:39.3059451Z ✔ Traditional Chinese bot settings use Taiwan integration terminology (0.283775ms) +2026-09-27T05:34:39.3060091Z ▶ Settings resource state +2026-09-27T05:34:39.3060679Z ✔ keeps a last-ready snapshot visible while it revalidates (6.366701ms) +2026-09-27T05:34:39.3061439Z ✔ retains the snapshot and records a failed refresh (3.427017ms) +2026-09-27T05:34:39.3062298Z ✔ keeps a previous-generation snapshot visible without keeping its authority (0.312679ms) +2026-09-27T05:34:39.3063254Z ✔ never exposes one Runtime Host snapshot through another Host key (0.188973ms) +2026-09-27T05:34:39.3064082Z ✔ seeds a cold load from a matching cached snapshot (0.232765ms) +2026-09-27T05:34:39.3065201Z ✔ keeps an initially cached snapshot read-only when validation fails (0.208929ms) +2026-09-27T05:34:39.3066107Z ✔ uses a fresh default over a cached bootstrap selection (0.818024ms) +2026-09-27T05:34:39.3066933Z ✔ preserves an explicit valid selection after hydration (0.85363ms) +2026-09-27T05:34:39.3083224Z ✔ Settings resource state (16.814171ms) +2026-09-27T05:34:39.3084003Z ▶ Settings snapshot cache +2026-09-27T05:34:39.3084943Z ✔ reuses masked read snapshots for the same renderer bridge identity only (4.153029ms) +2026-09-27T05:34:39.3085873Z ✔ isolates settings and connections by selected Runtime Host key (0.539341ms) +2026-09-27T05:34:39.3086744Z ✔ prunes snapshots when a profile reconnects with a new host id (0.389113ms) +2026-09-27T05:34:39.3087553Z ✔ stores settings and connection reads independently (0.211688ms) +2026-09-27T05:34:39.3088220Z ✔ Settings snapshot cache (10.269949ms) +2026-09-27T05:34:39.3088770Z ▶ Settings Runtime Host request authority +2026-09-27T05:34:39.3089533Z ✔ invalidates reads without discarding a same-Host mutation (0.958368ms) +2026-09-27T05:34:39.3090628Z ✔ rejects every in-flight operation synchronously when the selected Host changes (0.226666ms) +2026-09-27T05:34:39.3091736Z ✔ rejects every in-flight operation when the same Host key enters a new epoch (0.16318ms) +2026-09-27T05:34:39.3092751Z ✔ does not revoke tickets for a repeated observation of the same Host epoch (0.125137ms) +2026-09-27T05:34:39.3093704Z ✔ rejects an in-flight write while the same Host epoch reconnects (0.136559ms) +2026-09-27T05:34:39.3094627Z ✔ keeps only the latest mutation for one Host (0.119333ms) +2026-09-27T05:34:39.3095477Z ✔ refuses to start a delayed mutation for a no-longer-selected Host (0.16709ms) +2026-09-27T05:34:39.3096421Z ✔ does not let a delayed old-Host read invalidate the current Host reads (0.155151ms) +2026-09-27T05:34:39.3097280Z ✔ Settings Runtime Host request authority (2.506729ms) +2026-09-27T05:34:39.3097867Z [bots:slack] bot_connection_failed: Network error +2026-09-27T05:34:39.3098885Z [bots:slack] bot_connection_failed: 外部错误 token=[redacted] +2026-09-27T05:34:39.3099707Z [bots:slack] bot_connection_failed: Bad Request: chat not found +2026-09-27T05:34:39.3100315Z [bots:slack] bot_connection_failed: future-code +2026-09-27T05:34:39.3100857Z [bots:slack] bot_connection_failed: constructor +2026-09-27T05:34:39.3101387Z [bots:slack] bot_connection_failed: toString +2026-09-27T05:34:39.3101900Z [bots:slack] bot_connection_failed: __proto__ +2026-09-27T05:34:39.3102448Z [bots:slack] bot_connection_failed: Network error +2026-09-27T05:34:39.3103124Z [bots:slack] bot_connection_failed: 外部错误 token=[redacted] +2026-09-27T05:34:39.3103749Z [bots:slack] bot_connection_failed: Bad Request: chat not found +2026-09-27T05:34:39.3104341Z [bots:slack] bot_connection_failed: future-code +2026-09-27T05:34:39.3175646Z [bots:slack] bot_connection_failed: constructor +2026-09-27T05:34:39.3176286Z [bots:slack] bot_connection_failed: toString +2026-09-27T05:34:39.3176882Z [bots:slack] bot_connection_failed: __proto__ +2026-09-27T05:34:39.3177541Z [bots:slack] bot_connection_failed: Network error +2026-09-27T05:34:39.3178462Z [bots:slack] bot_connection_failed: 外部错误 token=[redacted] +2026-09-27T05:34:39.3179198Z [bots:slack] bot_connection_failed: Bad Request: chat not found +2026-09-27T05:34:39.3179863Z [bots:slack] bot_connection_failed: future-code +2026-09-27T05:34:39.3180442Z [bots:slack] bot_connection_failed: constructor +2026-09-27T05:34:39.3181010Z [bots:slack] bot_connection_failed: toString +2026-09-27T05:34:39.3181577Z [bots:slack] bot_connection_failed: __proto__ +2026-09-27T05:34:39.3182437Z ✔ missing proxy credentials have actionable bilingual copy (9.411052ms) +2026-09-27T05:34:39.3183434Z ✔ renders a bot-test error code per locale without content sniffing (0.442741ms) +2026-09-27T05:34:39.3184534Z ✔ WeChat failed probe survives start and localized status presentation (3.096761ms) +2026-09-27T05:34:39.3185688Z ✔ missing credentials retain provider-specific fields through the adapter in all locales (1.278532ms) +2026-09-27T05:34:39.3186936Z ✔ Telegram credential rejection is distinct from transient and malformed responses (60.170928ms) +2026-09-27T05:34:39.3188556Z ✔ settings IPC persists stable failure codes consumed by status presenters (3.125907ms) +2026-09-27T05:34:39.3199927Z ✔ unknown status and settings codes never render arbitrary diagnostics or inherited keys (3.297332ms) +2026-09-27T05:34:39.3201126Z ✔ zh-CN: producer error codes match between settings and status copy (0.537166ms) +2026-09-27T05:34:39.3202171Z ✔ zh-TW: producer error codes match between settings and status copy (0.590859ms) +2026-09-27T05:34:39.3203143Z ✔ en: producer error codes match between settings and status copy (0.519499ms) +2026-09-27T05:34:39.3203911Z [shell-env] resolved login-shell PATH (2 entries) +2026-09-27T05:34:39.3204612Z ▶ resolveShellEnv +2026-09-27T05:34:39.3205390Z ✔ imports the login PATH without importing application control variables (120.016473ms) +2026-09-27T05:34:39.3206424Z ✔ keeps the inherited PATH and does not log shell stderr when capture fails (16.186408ms) +2026-09-27T05:34:39.3255920Z ✔ kills login-shell descendants when capture times out (1022.030776ms) +2026-09-27T05:34:39.3256901Z ✔ does not execute the shell when MAKA_SKIP_SHELL_ENV is set (15.726757ms) +2026-09-27T05:34:39.3257857Z ✔ bounds shell output instead of buffering until the global timeout (34.156244ms) +2026-09-27T05:34:39.3258618Z ✔ resolveShellEnv (1210.701595ms) +2026-09-27T05:34:39.3259111Z ▶ selectLoginShell +2026-09-27T05:34:39.3259740Z ✔ prefers the inherited shell over the account shell (0.344378ms) +2026-09-27T05:34:39.3260550Z ✔ uses the OS account shell when GUI launch omitted SHELL (1.581639ms) +2026-09-27T05:34:39.3261505Z ✔ uses platform-appropriate defaults only when neither source has a shell (0.250603ms) +2026-09-27T05:34:39.3262272Z ✔ selectLoginShell (4.804153ms) +2026-09-27T05:34:39.3262722Z ▶ buildCaptureCommand +2026-09-27T05:34:39.3263196Z ▶ POSIX family (bash / zsh / fish / sh) +2026-09-27T05:34:39.3264297Z ✔ escapes the executable and produces a flush-marker payload (4.252317ms) +2026-09-27T05:34:39.3267340Z ✔ POSIX family (bash / zsh / fish / sh) (4.484238ms) +2026-09-27T05:34:39.3268088Z ▶ PowerShell +2026-09-27T05:34:39.3268731Z ✔ uses -Login -Command and doubles an embedded apostrophe (0.303284ms) +2026-09-27T05:34:39.3269779Z ✔ matches powershell-preview too and leaves an apostrophe-free path untouched (0.116747ms) +2026-09-27T05:34:39.3270539Z ✔ PowerShell (0.552842ms) +2026-09-27T05:34:39.3270930Z ▶ nu +2026-09-27T05:34:39.3271649Z ✔ uses a raw string and -i -l -c (embedded quotes are a documented edge case) (0.105624ms) +2026-09-27T05:34:39.3272344Z ✔ nu (0.178474ms) +2026-09-27T05:34:39.3272812Z ✔ buildCaptureCommand (6.198657ms) +2026-09-27T05:34:39.3273757Z ✔ ShellRun update state rejects a stale hydration result after a newer notification (4.513044ms) +2026-09-27T05:34:39.3305663Z ✔ ShellRun update state fans owner completion into an inherited session view (0.818364ms) +2026-09-27T05:34:39.3306859Z ✔ ShellRun update state applies ownership changes at the same revision (4.025831ms) +2026-09-27T05:34:39.3308048Z ✔ ShellRun hydration ignores an old read and replays updates after the resync boundary (0.552543ms) +2026-09-27T05:34:39.3309205Z ✔ lists every standard Skill location with availability and inventory counts (64.535997ms) +2026-09-27T05:34:39.3310257Z ✔ creates and resolves only an allowlisted missing Skill location (9.014882ms) +2026-09-27T05:34:39.3311276Z ✔ location counts include disabled, shadowed and rejected Skill copies (52.483116ms) +2026-09-27T05:34:39.3312408Z ✔ reports an unreadable Skill directory instead of an available empty location (13.724394ms) +2026-09-27T05:34:39.3313460Z ✔ refuses to create through a symlinked Skill location ancestor (14.229127ms) +2026-09-27T05:34:39.3335165Z ✔ accepts a Skill location whose ancestor symlink stays inside the containment root (14.400773ms) +2026-09-27T05:34:39.3336576Z ✔ derives stale rows from each Session Host readiness projection (8.559601ms) +2026-09-27T05:34:39.3337676Z ✔ a task bound to a retired provider is stale rather than quietly unusable (0.34157ms) +2026-09-27T05:34:39.3338701Z ✔ a row whose readiness has not arrived yet is not called stale (0.184975ms) +2026-09-27T05:34:39.3339334Z ▶ startup step +2026-09-27T05:34:39.3339865Z ✔ says nothing when the step comes back (13.96279ms) +2026-09-27T05:34:39.3340642Z ✔ names the step that has not come back, and keeps naming it (8.209011ms) +2026-09-27T05:34:39.3341552Z ✔ stops reporting once the step fails, and lets the failure through (12.453094ms) +2026-09-27T05:34:39.3342432Z ✔ names a dialog that never appears, exactly once (26.145513ms) +2026-09-27T05:34:39.3343187Z ✔ does not call a person reading a dialog a hang (15.737259ms) +2026-09-27T05:34:39.3343934Z ✔ still names a step that hangs before the person is asked (8.669239ms) +2026-09-27T05:34:39.3345438Z ✔ startup step (90.923316ms) +2026-09-27T05:34:39.5276353Z ✔ abandons only copies owned by the current process incarnation (434.177047ms) +2026-09-27T05:34:39.5946434Z ✔ keeps raw HTML inert instead of expanding the Markdown trust surface (45.613306ms) +2026-09-27T05:34:39.6024145Z ✔ renders Markdown emphasis and LaTeX without exposing their source delimiters (98.709481ms) +2026-09-27T05:34:39.6036829Z ✔ keeps URL, email, and Markdown markers atomic inside math (29.019411ms) +2026-09-27T05:34:39.6155868Z ✔ falls back to ordinary Markdown for an empty formula (6.268ms) +2026-09-27T05:34:39.6275973Z ✔ keeps literal math transport syntax as prose (13.082976ms) +2026-09-27T05:34:39.6366042Z ✔ leaves LaTeX delimiters untouched inside inline and fenced code (43.192261ms) +2026-09-27T05:34:39.6455980Z ✔ does not let an unmatched inline backtick hide later math (2.405896ms) +2026-09-27T05:34:39.6515905Z ✔ does not let an unmatched math delimiter hide a later formula (21.775906ms) +2026-09-27T05:34:39.6516957Z ✔ lets a formula own backticks that occur inside its delimiters (11.612587ms) +2026-09-27T05:34:39.6517967Z ✔ keeps scanning after a malformed math transport prefix (8.230326ms) +2026-09-27T05:34:39.6560367Z ✔ renders display math while leaving ordinary currency alone (10.027475ms) +2026-09-27T05:34:39.6635954Z ✔ does not treat shell variables, currency, or inline code as dollar-delimited math (8.707865ms) +2026-09-27T05:34:39.6651762Z ✔ renders multiline display math outside code for both supported delimiters (16.507169ms) +2026-09-27T05:34:39.6720490Z ✔ renders display math inside blockquotes and list items (19.217867ms) +2026-09-27T05:34:39.6775652Z ✔ promotes a mid-paragraph $$…$$ span to display math (8.191962ms) +2026-09-27T05:34:39.6866006Z ✔ keeps `$` inside link destinations literal while prose stays dollar-escaped (24.801541ms) +2026-09-27T05:34:39.6925942Z ✔ renders inline math glued to digits and formulas holding escaped dollars (13.622287ms) +2026-09-27T05:34:39.6995857Z ✔ leaves no zero-width separators around inline math with benign neighbors (12.526825ms) +2026-09-27T05:34:39.7009587Z ✔ keeps adjacent inline formulas parseable through a separator (10.141236ms) +2026-09-27T05:34:39.7071137Z ✔ keeps display math inside a table cell without splitting the row (23.291549ms) +2026-09-27T05:34:39.7092492Z ✔ keeps display math intact across Markdown-looking block boundaries (52.426592ms) +2026-09-27T05:34:39.7128812Z ✔ does not let multiline display math cross a fenced code block (11.119989ms) +2026-09-27T05:34:39.7167948Z ✔ keeps the copy control in a toolbar above a one-line code scroll viewport (7.488742ms) +2026-09-27T05:34:39.7188122Z ✔ does not force the single-line scrollbar layout on multiline code (19.226404ms) +2026-09-27T05:34:39.7239078Z ✔ gives collapsible plaintext code a localized accessible name (36.215802ms) +2026-09-27T05:34:39.7256640Z ✔ keeps standalone MarkdownBody compatible for collapsible plaintext code (15.674278ms) +2026-09-27T05:34:39.7285479Z ✔ keeps a lazy live stream behind the display cursor (14.430273ms) +2026-09-27T05:34:39.7345672Z ✔ redacts secrets before even the lazy Markdown fallback reaches the rendered tree (5.306982ms) +2026-09-27T05:34:39.7395728Z ✔ preserves allowlisted Maka navigation links through sanitization (6.600484ms) +2026-09-27T05:34:39.7455489Z ✔ keeps non-allowlisted external schemes inert (22.478265ms) +2026-09-27T05:34:39.7485715Z ✔ never loads non-allowlisted Markdown image sources (3.338687ms) +2026-09-27T05:34:39.7545920Z ✔ does not treat navigation and communication schemes as image resources (38.807341ms) +2026-09-27T05:34:39.7565901Z ✔ shows an attachment placeholder when no session reader is installed (8.606635ms) +2026-09-27T05:34:39.7625846Z ✔ defers Mermaid fences beyond the per-Markdown automatic diagram budget (44.970821ms) +2026-09-27T05:34:39.7655787Z ✔ enforces per-diagram and total automatic Mermaid source budgets (0.337907ms) +2026-09-27T05:34:39.7735944Z ✔ does not render Mermaid while the assistant turn is streaming (9.498167ms) +2026-09-27T05:34:39.7764693Z ✔ pins Mermaid security and complexity limits for untrusted assistant output (0.213399ms) +2026-09-27T05:34:39.7788452Z ✔ keeps a new stream behind the display cursor on its first render (1.209094ms) +2026-09-27T05:34:39.7881107Z ✔ shows only the restored prefix on its first streaming render (5.161694ms) +2026-09-27T05:34:39.7955865Z ✔ renders settled math while keeping the live tail behind the display cursor (5.813023ms) +2026-09-27T05:34:39.8015900Z ✔ settles only the verified prefix when restored content was rewritten (3.924611ms) +2026-09-27T05:34:39.8075916Z ✔ never settles half of a rewritten Unicode code point (4.626664ms) +2026-09-27T05:34:39.8125586Z ▶ markdown Han-script marker +2026-09-27T05:34:39.8163746Z ✔ reads the prose, not the code (1.839379ms) +2026-09-27T05:34:39.8283796Z ✔ marks the markdown root so the emphasis rule can key on the script of the text (26.965036ms) +2026-09-27T05:34:39.8320930Z ✔ markdown Han-script marker (31.921632ms) +2026-09-27T05:34:39.8466594Z ✔ acknowledges abandon after the intent is durable without waiting for removal (274.013812ms) +2026-09-27T05:34:40.2206683Z ✔ persists a failed removal and recovers it through a new authority instance (421.957045ms) +2026-09-27T05:34:40.5816527Z [storage-root] root-identity conflict; parking at repair dialog +2026-09-27T05:34:40.5822031Z ✔ clears the durable intent only after the complete removal succeeds (357.440168ms) +2026-09-27T05:34:40.5926579Z ✔ startup storage repair reaches the dialog and preserves the root (79.415909ms) +2026-09-27T05:34:40.6149770Z [storage-root] root-identity conflict; parking at repair dialog +2026-09-27T05:34:40.6498355Z ✔ startup storage repair reaches the dialog and adopts the root (53.141245ms) +2026-09-27T05:34:40.6843754Z ✔ asks before adopting a root whose device number moved on its own (58.384171ms) +2026-09-27T05:34:40.6875960Z ✔ repairs a stale desktop storage root after explicit confirmation (43.722156ms) +2026-09-27T05:34:40.6905974Z ✔ rejects repair when the storage root is replaced during confirmation (31.922688ms) +2026-09-27T05:34:40.9783979Z ✔ continues recovering other companions when one removal still fails (397.318109ms) +2026-09-27T05:34:41.4373528Z ✔ forgets a terminal retained Revision without reporting deletion (457.415204ms) +2026-09-27T05:34:41.4456556Z ✔ session copy cleanup authority (6528.682943ms) +2026-09-27T05:34:41.4790406Z ✔ memory: preserves structured commit identities across reads and reopen (70.946494ms) +2026-09-27T05:34:41.4849335Z ✔ memory: failed materialization preserves caller data (9.779484ms) +2026-09-27T05:34:41.4916654Z ✔ memory: failed materialization preserves previous materialization (11.164551ms) +2026-09-27T05:34:41.4946188Z ✔ memory: concurrent materialization preserves the exclusive winner (8.580073ms) +2026-09-27T05:34:41.4965846Z ✔ memory: reconciles identical Fork claim before rejecting an advanced source (12.165968ms) +2026-09-27T05:34:41.5017381Z ✔ memory: reconciles conflicting Fork claim before rejecting an advanced source (8.625105ms) +2026-09-27T05:34:41.5096475Z ✔ memory: reconciles absent Fork claim before rejecting an advanced source (19.807304ms) +2026-09-27T05:34:41.5170721Z ✔ file: preserves structured commit identities across reads and reopen (491.196165ms) +2026-09-27T05:34:41.5316389Z ✔ file: failed materialization preserves caller data (31.082406ms) +2026-09-27T05:34:41.5416643Z ✔ file: failed materialization preserves previous materialization (76.884017ms) +2026-09-27T05:34:41.5511308Z ✔ file: concurrent materialization preserves the exclusive winner (27.337594ms) +2026-09-27T05:34:41.5530378Z ✔ file: reconciles identical Fork claim before rejecting an advanced source (124.21425ms) +2026-09-27T05:34:41.5596479Z ✔ file: reconciles conflicting Fork claim before rejecting an advanced source (119.026243ms) +2026-09-27T05:34:41.5636231Z ✔ file: reconciles absent Fork claim before rejecting an advanced source (150.7618ms) +2026-09-27T05:34:41.5749112Z ✔ memory: cleans up a partial file only after owning its exclusive creation (11.720566ms) +2026-09-27T05:34:41.5807110Z ✔ file: still rejects a genuinely duplicated commit identity on reopen (71.856886ms) +2026-09-27T05:34:41.5818170Z ✔ publishes and verifies Bundle then Manifest before creating an exact head (43.441933ms) +2026-09-27T05:34:41.5819880Z ✔ retains only the current Manifest revision and never falls forward (12.3527ms) +2026-09-27T05:34:41.5821618Z ✔ a source-head race returns the requested Manifest and Bundle rather than a newer head (16.33866ms) +2026-09-27T05:34:41.5822892Z ✔ rejects stale concurrent writers without overwriting the winning head (10.981768ms) +2026-09-27T05:34:41.5824071Z ✔ reconciles concurrent and later retries of one commit identity (26.445684ms) +2026-09-27T05:34:41.5825303Z ✔ never makes a head visible for an unpublished Manifest (10.126136ms) +2026-09-27T05:34:41.5827581Z ✔ never makes a head visible when a Manifest names an unreadable Bundle (17.076444ms) +2026-09-27T05:34:41.5829300Z ✔ fails closed when Bundle bytes do not match their trusted archive digest (8.068749ms) +2026-09-27T05:34:41.5831752Z ✔ rejects a Manifest value that does not match its immutable reference (7.531128ms) +2026-09-27T05:34:41.5833182Z ✔ claims only a retained readable source and captures its Agent binding (17.195133ms) +2026-09-27T05:34:41.5834298Z ✔ does not claim a Fork from an unreadable source checkpoint (14.556559ms) +2026-09-27T05:34:41.5835557Z ✔ does not claim a Fork when its source head moves during verification (9.801451ms) +2026-09-27T05:34:41.5836802Z ✔ binds a Fork target to its verified source Agent and a distinct Session identity (16.957432ms) +2026-09-27T05:34:41.5838064Z ✔ claims Fork identity before target creation and resumes both crash windows (16.776281ms) +2026-09-27T05:34:41.5839185Z ✔ never adopts a target created by a different Fork operation (7.516915ms) +2026-09-27T05:34:41.5840235Z ✔ keeps a Fork pending until its target checkpoint is readable (6.321448ms) +2026-09-27T05:34:41.5841343Z ✔ uses independent CAS sequences for source and Fork target Sessions (15.811669ms) +2026-09-27T05:34:41.5842552Z ✔ fails closed when a published Manifest or Bundle disappears or changes (11.91085ms) +2026-09-27T05:34:41.5843585Z ▶ SQLite SessionStore +2026-09-27T05:34:41.5844466Z ✔ persists the creation-time tool mode across reloads (552.371115ms) +2026-09-27T05:34:41.5845572Z ✔ persists a plugin executor route across reloads and catalog projection (172.892833ms) +2026-09-27T05:34:41.5846643Z ✔ requires the reserved WorkHub Coordination identity and role together (94.461687ms) +2026-09-27T05:34:41.5848021Z ✔ keeps the WorkHub Coordination Session durable but outside ordinary catalogs and route candidates (189.327045ms) +2026-09-27T05:34:41.5849330Z ✔ quarantines the reserved Coordination identity when its role is missing (109.706681ms) +2026-09-27T05:34:41.5850550Z ✔ ordinary Sessions have no external origin and provenance metadata is immutable (173.401911ms) +2026-09-27T05:34:41.5851715Z ✔ folds retired Session and transcript values only on persisted reads (137.255302ms) +2026-09-27T05:34:41.5852874Z ✔ looks up complete published import counts with bounded newest Session ids (310.842226ms) +2026-09-27T05:34:41.5853971Z ✔ bounds external import lookup source and recent-id requests (234.854789ms) +2026-09-27T05:34:41.5855311Z ✔ fails closed when persisted external origin metadata is malformed (326.795905ms) +2026-09-27T05:34:41.5856427Z ✔ persists session metadata and messages in one SQLite authority (304.056222ms) +2026-09-27T05:34:41.5857533Z ✔ a replayed older message latches the connection without moving the preview back (234.935653ms) +2026-09-27T05:34:41.5882566Z ✔ keeps staging imports outside the catalog pagination domain (261.341825ms) +2026-09-27T05:34:41.5883791Z ✔ announces import commit only after validating the complete payload (89.982754ms) +2026-09-27T05:34:41.5885114Z ✔ a generated title fills an absence and never overwrites a rename (234.469234ms) +2026-09-27T05:34:41.5886304Z ✔ a Session freezes its route on the first user message, a subagent at birth (303.084305ms) +2026-09-27T05:34:41.5887448Z ✔ appending the first user message locks the session before any read (274.479742ms) +2026-09-27T05:34:41.5888474Z ✔ commits message and catalog projection atomically (270.862334ms) +2026-09-27T05:34:41.5893576Z ✔ bounds durable message lookups by a fixed transcript watermark (235.63902ms) +2026-09-27T05:34:41.7980591Z ▶ transcript markdown rhythm +2026-09-27T05:34:41.8076400Z ✔ emits the DOM hooks the rhythm table selects on (91.350282ms) +2026-09-27T05:34:41.8346437Z ✔ neutralizes the ListItem control padding the ladder inverted on (44.13647ms) +2026-09-27T05:34:41.8375894Z ✔ transcript markdown rhythm (139.613647ms) +2026-09-27T05:34:41.9616508Z ✔ keeps interrupted and replacement responses distinct live and after reload (11.689371ms) +2026-09-27T05:34:41.9719778Z ▶ steering timeline +2026-09-27T05:34:41.9749819Z ✔ ignores old display anchors and keeps Runtime consumption order (3.524374ms) +2026-09-27T05:34:41.9823788Z ✔ keeps a steering message at its conversational position (0.378226ms) +2026-09-27T05:34:41.9881031Z ✔ renders one live steering message while its persisted row catches up (3.777279ms) +2026-09-27T05:34:41.9902987Z ✔ keeps the current answer ahead of a durable steering event that arrives first (4.903741ms) +2026-09-27T05:34:41.9980424Z ✔ keeps a persisted tool before live steering during handoff (1.7858ms) +2026-09-27T05:34:42.0011848Z ✔ steering timeline (15.119645ms) +2026-09-27T05:34:42.0075439Z ▶ materializeTurns message metadata +2026-09-27T05:34:42.0126016Z ✔ hides a retired provider dropping note that an old session still carries (2.403172ms) +2026-09-27T05:34:42.0185565Z ✔ localizes visible system notes (3.156761ms) +2026-09-27T05:34:42.0190083Z ✔ preserves an explicit empty reference projection as the new-format marker (0.285931ms) +2026-09-27T05:34:42.0245551Z ✔ preserves Host provenance on a Goal continuation (0.353496ms) +2026-09-27T05:34:42.0315567Z ✔ materializeTurns message metadata (6.69772ms) +2026-09-27T05:34:42.0356281Z ✔ retains persisted nested tool activity identity (0.379173ms) +2026-09-27T05:34:42.0425867Z ▶ flat timeline under tool projection (#1307 P1 regression) +2026-09-27T05:34:42.0490765Z ✔ shell-run folding away a turn’s only tool leaves a flat thinking-only timeline (0.828296ms) +2026-09-27T05:34:42.0545792Z ✔ flat timeline under tool projection (#1307 P1 regression) (0.982937ms) +2026-09-27T05:34:42.0605518Z ▶ live content over persisted partial rows +2026-09-27T05:34:42.0665811Z ✔ does not create an empty renderer turn for a waiting send (0.203835ms) +2026-09-27T05:34:42.0756050Z ✔ replaces persisted thinking with its live projection instead of rendering it twice (0.49129ms) +2026-09-27T05:34:42.0780030Z ✔ live content over persisted partial rows (0.874647ms) +2026-09-27T05:34:42.0816177Z ▶ unfinished tools take their status from the turn +2026-09-27T05:34:42.0866879Z ✔ reads an unfinished call in a running turn as running (0.266944ms) +2026-09-27T05:34:42.0956788Z ✔ reads an unfinished call in a terminal turn as interrupted (4.707824ms) +2026-09-27T05:34:42.1007631Z ✔ unfinished tools take their status from the turn (5.181269ms) +2026-09-27T05:34:42.1046095Z ▶ live tool status over persisted +2026-09-27T05:34:42.1096576Z ✔ keeps a still-running tool running when persisted has no result yet (0.436974ms) +2026-09-27T05:34:42.1157650Z ✔ a stale live running loses to a terminal turn (0.344988ms) +2026-09-27T05:34:42.1205809Z ✔ keeps durable tool detail while a Runtime Host Turn is still live (1.772492ms) +2026-09-27T05:34:42.1227250Z ✔ an aborted turn interrupts its in-flight tool through the live chain (3.278459ms) +2026-09-27T05:34:42.1275707Z ✔ live tool status over persisted (6.11401ms) +2026-09-27T05:34:42.1335825Z ✔ reads both new chunked messages and legacy inline v22 records (467.673227ms) +2026-09-27T05:34:42.3396328Z ✔ rejects corrupt chunked messages on ordinary reads (330.835529ms) +2026-09-27T05:34:42.5586388Z ✔ bounds transcript identity reconciliation before message materialization (215.40563ms) +2026-09-27T05:34:42.7936591Z ✔ notifies transcript observers only after successful durable appends (233.631468ms) +2026-09-27T05:34:43.0886625Z ✔ reads back a legacy fake-backend session instead of migrating or rejecting it (293.063515ms) +2026-09-27T05:34:43.3314765Z ▶ single live-turn handoff +2026-09-27T05:34:43.3358236Z ✔ keeps activity in the top status row before the session or Turn arrives (275.908209ms) +2026-09-27T05:34:43.3496359Z ✔ persists an immutable Connection identity when supplied by Host admission (266.624831ms) +2026-09-27T05:34:43.4006642Z ✔ renders a transient user message without manufacturing a Turn (110.035823ms) +2026-09-27T05:34:43.5136293Z ✔ does not flash the empty-chat Maka hero before a first transient message (58.357111ms) +2026-09-27T05:34:43.5316329Z ✔ deletes metadata and messages through the same transaction boundary (181.236105ms) +2026-09-27T05:34:43.5892157Z ✔ shows a loading transient before its real live Turn answer (113.081663ms) +2026-09-27T05:34:43.7146571Z ✔ keeps an unresolved Message independent of a Turn without an admission binding (72.010675ms) +2026-09-27T05:34:43.7876935Z ✔ renders one ordered timeline: thinking before its tool and answer (118.960665ms) +2026-09-27T05:34:43.7986784Z ✔ normalizeSessionHeader accepts an empty side-conversation copy but rejects a fabricated branch turn (264.711995ms) +2026-09-27T05:34:43.8016312Z ✔ SQLite SessionStore (6770.95733ms) +2026-09-27T05:34:43.8349729Z ✔ keeps a completed live answer as the only visible owner until settle (76.684679ms) +2026-09-27T05:34:43.8396227Z ▶ interactive SessionTodo authority +2026-09-27T05:34:43.8397415Z ✔ single-flights opens and invalidates the facade when closed (370.273845ms) +2026-09-27T05:34:43.8398357Z ✔ rejects forged leases and facades (0.796323ms) +2026-09-27T05:34:43.8399184Z ✔ interactive SessionTodo authority (378.391849ms) +2026-09-27T05:34:43.8400202Z ✔ keeps an incomplete live answer as the only owner after early persistence (44.307772ms) +2026-09-27T05:34:43.8401061Z ▶ SQLite SessionTodo store +2026-09-27T05:34:43.8401872Z ✔ persists an initialized-empty document on the first read (476.136813ms) +2026-09-27T05:34:43.8403378Z ✔ serializes a first explicit replacement ahead of a following bootstrap read (319.600492ms) +2026-09-27T05:34:43.8404782Z ✔ persists replacement order across reopen and purge restores uninitialized state (140.402515ms) +2026-09-27T05:34:43.8406144Z ✔ fails closed on a corrupt current document but permits explicit replacement recovery (298.460249ms) +2026-09-27T05:34:43.8407655Z ✔ initializes latest copies atomically and accepts only an identical retry (199.629098ms) +2026-09-27T05:34:43.8408733Z ✔ fails closed when a copy source or target document is corrupt (215.475438ms) +2026-09-27T05:34:43.8409796Z ✔ writes an explicit empty copy marker when the copy skips current state (172.434946ms) +2026-09-27T05:34:43.8425886Z ✔ copies an uninitialized source as empty without initializing the source (229.061079ms) +2026-09-27T05:34:43.8446098Z ✔ linearizes concurrent whole-document replacements (398.430553ms) +2026-09-27T05:34:43.8465525Z ✔ SQLite SessionTodo store (2456.246552ms) +2026-09-27T05:34:43.8485646Z ▶ SettingsStore.upsertOnboardingMilestone (PR110b) +2026-09-27T05:34:43.8488557Z ✔ stamps a fresh Date.now() timestamp (renderer cannot tamper) (54.843305ms) +2026-09-27T05:34:43.8491052Z ✔ skipped status writes skippedAt (mutually exclusive with completedAt) (15.918097ms) +2026-09-27T05:34:43.8492149Z ✔ rejects invalid status (TypeScript-bypassing call) (3.369459ms) +2026-09-27T05:34:43.8493178Z ✔ rejects invalid milestone id (sanitizer drops, then store re-throws) (13.484171ms) +2026-09-27T05:34:43.8494327Z ✔ upserting the same id last-valid-entry wins (skipped overrides completed) (15.3918ms) +2026-09-27T05:34:43.8497175Z ✔ does not disturb other milestones when upserting one (47.036316ms) +2026-09-27T05:34:43.8498138Z ✔ settings.json on disk contains only sanitized milestones (46.502173ms) +2026-09-27T05:34:43.8499144Z ✔ reading settings.json with garbage milestones drops them via sanitizer (17.025639ms) +2026-09-27T05:34:43.8500244Z ✔ SettingsStore.upsertOnboardingMilestone (PR110b) (223.389808ms) +2026-09-27T05:34:43.8501105Z ▶ SettingsStore.clearOnboardingMilestone +2026-09-27T05:34:43.8502281Z ✔ removes one milestone and preserves the rest (37.893505ms) +2026-09-27T05:34:43.8503362Z ✔ rejects invalid milestone id (TypeScript-bypassing call) (14.198816ms) +2026-09-27T05:34:43.8504261Z ✔ SettingsStore.clearOnboardingMilestone (52.930537ms) +2026-09-27T05:34:43.8535501Z ▶ SettingsStore.updateIf +2026-09-27T05:34:43.8565826Z ✔ checks and writes atomically against the latest queued settings (22.589788ms) +2026-09-27T05:34:43.8596783Z ✔ SettingsStore.updateIf (23.165142ms) +2026-09-27T05:34:43.8617302Z ▶ SettingsStore.get file recovery +2026-09-27T05:34:43.8645904Z ✔ atomically removes legacy proxy credentials from settings.json on read (10.710546ms) +2026-09-27T05:34:43.8655612Z ✔ serializes concurrent first reads while creating default settings (23.022563ms) +2026-09-27T05:34:43.8685713Z ✔ creates defaults only when settings.json is missing (24.988623ms) +2026-09-27T05:34:43.8715740Z ✔ rejects corrupt settings.json without overwriting user settings bytes (7.862261ms) +2026-09-27T05:34:43.8740897Z ✔ preserves a restrictive umask-derived settings.json mode and leaves no temp file behind (15.231722ms) +2026-09-27T05:34:43.8785442Z ✔ SettingsStore.get file recovery (82.686334ms) +2026-09-27T05:34:43.8803314Z ▶ interactive ShellRun authority +2026-09-27T05:34:43.8816869Z ✔ single-flights one authentic writer and preserves durable lifecycle state (682.305187ms) +2026-09-27T05:34:43.8846669Z ✔ lists only Sessions whose ShellRun lifecycle still requires recovery (208.70366ms) +2026-09-27T05:34:43.8875618Z ✔ rejects reads and mutations after its owner lease is released (227.266419ms) +2026-09-27T05:34:44.0461710Z ✔ rejects forged leases and forged writer facades (182.120787ms) +2026-09-27T05:34:44.0556238Z ✔ interactive ShellRun authority (1303.988798ms) +2026-09-27T05:34:44.1296393Z ✔ hands terminal streamed text to committed history without waiting for a render callback (246.470815ms) +2026-09-27T05:34:44.1341345Z ✔ publishes visible deltas at most once per animation frame (7.353115ms) +2026-09-27T05:34:44.1440592Z ✔ bounds tool output queued for one animation frame (16.887813ms) +2026-09-27T05:34:44.1614004Z ✔ does not publish queued output after its session is cleared (3.306716ms) +2026-09-27T05:34:44.1650633Z ✔ applies catch-up deltas immediately until the returning session is seeded (0.604665ms) +2026-09-27T05:34:44.1760254Z ✔ shares pending display events across handler replacement (6.580302ms) +2026-09-27T05:34:44.1866568Z ✔ queues a sandbox boundary request without ending the live turn (0.359382ms) +2026-09-27T05:34:44.1936624Z ✔ queues and retires a form at the Host answer acknowledgement (0.828369ms) +2026-09-27T05:34:44.2025578Z [desktop] operation failed: Error: failed +2026-09-27T05:34:44.2106205Z at Module.sessionEventErrorMessage (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/model-connection-errors.js:49:39) +2026-09-27T05:34:44.2199866Z at Object.handleEvent (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-session-events.js:269:91) +2026-09-27T05:34:44.2235684Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/streaming-handoff.test.js:741:18) +2026-09-27T05:34:44.2283201Z at Test.runInAsyncScope (node:async_hooks:227:14) +2026-09-27T05:34:44.2404104Z at Test.run (node:internal/test_runner/test:1402:25) +2026-09-27T05:34:44.2526896Z at Suite.processPendingSubtests (node:internal/test_runner/test:974:18) +2026-09-27T05:34:44.2571999Z at Test.postRun (node:internal/test_runner/test:1542:19) +2026-09-27T05:34:44.2679080Z at Test.run (node:internal/test_runner/test:1467:12) +2026-09-27T05:34:44.2738111Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:34:44.2813138Z ✔ hands an aborted projection over only after persisted messages cover it (14.631869ms) +2026-09-27T05:34:44.2848127Z ✔ retains errored live evidence when persistence cannot be confirmed (20.894047ms) +2026-09-27T05:34:44.2950330Z ✔ reconciles persisted stream evidence while the next tool batch is running (0.466665ms) +2026-09-27T05:34:44.2970992Z ✔ settles a tool-only terminal projection after persisted history refreshes (14.340256ms) +2026-09-27T05:34:44.3057295Z ✔ retires a re-seeded compaction row when the refreshed transcript is terminal (0.594151ms) +2026-09-27T05:34:44.3095995Z ✔ single live-turn handoff (1206.345778ms) +2026-09-27T05:34:44.3135904Z ✔ a preset routed through a retained retired connection reads retired, not available (5.248062ms) +2026-09-27T05:34:44.3172726Z ✔ retirement outranks disabled: there is no switch that repairs it (0.304151ms) +2026-09-27T05:34:44.3186151Z ✔ the editor cannot route a preset through a retained retired connection (0.303832ms) +2026-09-27T05:34:44.3236247Z ✔ a live connection with the model enabled stays available (0.358028ms) +2026-09-27T05:34:44.3275376Z ▶ archivedTaskRows +2026-09-27T05:34:44.3318558Z ✔ lists archived tasks the way the rail counts them, in store order (5.985374ms) +2026-09-27T05:34:44.3365702Z ✔ does not let the open session decide which revision represents a task (2.669809ms) +2026-09-27T05:34:44.3400539Z ✔ archivedTaskRows (10.184852ms) +2026-09-27T05:34:44.3429733Z ▶ matchesArchivedTaskQuery +2026-09-27T05:34:44.3485708Z ✔ keeps every task while the box is empty or only whitespace (0.446407ms) +2026-09-27T05:34:44.3506532Z ✔ matches the task name regardless of case or surrounding spaces (0.233365ms) +2026-09-27T05:34:44.3519065Z ✔ matches the project name, because the row shows it too (0.199645ms) +2026-09-27T05:34:44.3546846Z ✔ never matches across the seam between the name and the project (0.239087ms) +2026-09-27T05:34:44.3585619Z ✔ falls back to the name when the project could not be resolved (0.263265ms) +2026-09-27T05:34:44.3611202Z ✔ matchesArchivedTaskQuery (4.023843ms) +2026-09-27T05:34:44.3639539Z ▶ isOrphanedSubagentTask +2026-09-27T05:34:44.3686702Z ✔ labels ordinary linked Sessions only when their parent is missing (0.361716ms) +2026-09-27T05:34:44.3727003Z ✔ isOrphanedSubagentTask (0.817594ms) +2026-09-27T05:34:44.3769344Z ▶ Task Entry feature boundary +2026-09-27T05:34:44.3816360Z ✔ contains no Desktop global bridge or shell/process imports (12.698602ms) +2026-09-27T05:34:44.3825786Z ✔ is consumed outside the feature only through public entries (180.3191ms) +2026-09-27T05:34:44.3826660Z ✔ keeps fake services out of the production entry (0.413424ms) +2026-09-27T05:34:44.3827628Z ✔ keeps Task Entry catalog, picker, and directory handoff ownership out of AppShell (6.798053ms) +2026-09-27T05:34:44.3828424Z ✔ Task Entry feature boundary (202.144916ms) +2026-09-27T05:34:44.3829360Z ✔ Artifact metadata changes only write changed rows (500.598536ms) +2026-09-27T05:34:44.3830211Z ✔ Artifact metadata recovery ignores records from unsupported sources (267.485842ms) +2026-09-27T05:34:44.3831269Z ✔ creates the dedicated WAL schema with incremental auto-vacuum (62.031294ms) +2026-09-27T05:34:44.3856751Z ✔ atomically persists one idempotent owner identity and verifies reads (152.824765ms) +2026-09-27T05:34:44.3915881Z ✔ stores managed binary values as durable file locators instead of SQLite payloads (89.80743ms) +2026-09-27T05:34:44.3917117Z ✔ repairs a missing managed blob when an inline owner retries identical bytes (83.659908ms) +2026-09-27T05:34:44.4046020Z ✔ removes managed publication state when quota admission fails (50.307559ms) +2026-09-27T05:34:44.4085770Z ✔ copies PNG from inline toolbar: none (2350.884317ms) +2026-09-27T05:34:44.5423367Z ✔ copies PNG from inline toolbar: decode (137.538398ms) +2026-09-27T05:34:44.6179783Z ✔ recovers a durable managed-file publication intent after process exit (257.112209ms) +2026-09-27T05:34:44.7026188Z ✔ copies PNG from inline toolbar: toBlob-null (152.52685ms) +2026-09-27T05:34:44.8420468Z ▶ useTaskEntryController +2026-09-27T05:34:44.8551969Z ✔ projects the target and keeps draft identity in sync with Workspace Picker selections (53.227622ms) +2026-09-27T05:34:44.8585975Z ✔ recovers deterministic managed-file staging after process exit (223.24961ms) +2026-09-27T05:34:44.8717453Z ✔ keeps same-id Projects scoped to their owning Runtime Host (18.292039ms) +2026-09-27T05:34:44.8793297Z ✔ drains a queued catalog refresh and releases its subscription (7.303601ms) +2026-09-27T05:34:44.8956348Z ✔ ignores an obsolete catalog read after the service lifecycle changes (7.43462ms) +2026-09-27T05:34:44.9456477Z ✔ deduplicates add requests and selects the returned Project before refreshing (62.474779ms) +2026-09-27T05:34:44.9489025Z ✔ deduplicates relink requests and selects the returned Project before refreshing (15.492991ms) +2026-09-27T05:34:44.9554297Z ✔ copies PNG from inline toolbar: toBlob-throw (259.330113ms) +2026-09-27T05:34:44.9601131Z ✔ fences remote directory registration by Host generation (8.933142ms) +2026-09-27T05:34:44.9728516Z ✔ closes a remote directory handoff when the Host generation changes (15.095474ms) +2026-09-27T05:34:44.9871806Z ✔ keeps a remote directory handoff across reconnecting and closes it when the profile disappears (11.399967ms) +2026-09-27T05:34:45.0036711Z ✔ opens a newly added remote Host from the committed catalog generation (8.981672ms) +2026-09-27T05:34:45.0096190Z ✔ awaits the winning refresh when an onboarding catalog read settles stale first (8.547613ms) +2026-09-27T05:34:45.0222420Z ✔ awaits the winning refresh when an onboarding catalog read rejects stale first (7.440828ms) +2026-09-27T05:34:45.0259618Z [desktop] operation failed: Error: queued catalog failed +2026-09-27T05:34:45.0346015Z at file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/task-entry-controller.test.js:561:45 +2026-09-27T05:34:45.0375799Z at process.env.NODE_ENV.exports.act (/home/runner/work/maka/maka/node_modules/react/cjs/react.development.js:890:22) +2026-09-27T05:34:45.0435959Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/task-entry-controller.test.js:561:15) +2026-09-27T05:34:45.0493651Z at async Test.run (node:internal/test_runner/test:1409:7) +2026-09-27T05:34:45.0545867Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:34:45.0608294Z ✔ falls back to a successful handoff catalog when the queued refresh fails (20.955573ms) +2026-09-27T05:34:45.0623544Z [desktop] operation failed: Error: catalog unavailable +2026-09-27T05:34:45.0674178Z at Object.getCatalog (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/task-entry-controller.test.js:580:27) +2026-09-27T05:34:45.0678202Z at file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/task-entry/controller/use-task-entry-controller.js:96:51 +2026-09-27T05:34:45.0679784Z at file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/task-entry/controller/use-task-entry-controller.js:117:11 +2026-09-27T05:34:45.0681542Z at Object.chooseProjectForProfile (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/task-entry/controller/use-task-entry-controller.js:285:26) +2026-09-27T05:34:45.0683172Z at file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/task-entry-controller.test.js:585:53 +2026-09-27T05:34:45.0693708Z at process.env.NODE_ENV.exports.act (/home/runner/work/maka/maka/node_modules/react/cjs/react.development.js:890:22) +2026-09-27T05:34:45.0695401Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/task-entry-controller.test.js:585:15) +2026-09-27T05:34:45.0696433Z at async Test.run (node:internal/test_runner/test:1409:7) +2026-09-27T05:34:45.0697340Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:34:45.0698707Z ✔ reports catalog unavailable once when every handoff refresh fails (8.044778ms) +2026-09-27T05:34:45.0699617Z [desktop] operation failed: Error: catalog refresh failed +2026-09-27T05:34:45.0700531Z at file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/task-entry-controller.test.js:614:48 +2026-09-27T05:34:45.0702174Z at process.env.NODE_ENV.exports.act (/home/runner/work/maka/maka/node_modules/react/cjs/react.development.js:890:22) +2026-09-27T05:34:45.0703784Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/task-entry-controller.test.js:614:15) +2026-09-27T05:34:45.0705077Z at async Test.run (node:internal/test_runner/test:1409:7) +2026-09-27T05:34:45.0705867Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:34:45.0707648Z ✔ reports project update failure when an added Project cannot refresh (8.717742ms) +2026-09-27T05:34:45.0708733Z ✔ explains that a running Session must settle before workspace recovery (5.430574ms) +2026-09-27T05:34:45.0709622Z ✔ useTaskEntryController (277.874856ms) +2026-09-27T05:34:45.1416639Z ✔ copies PNG from inline toolbar: write (171.596898ms) +2026-09-27T05:34:45.3725208Z ✔ copies PNG from inline toolbar: area cap (253.808895ms) +2026-09-27T05:34:45.4655456Z ✔ bounds pending managed-file deletion bytes and reports continuation (616.554676ms) +2026-09-27T05:34:45.5119572Z ✔ rejects a managed-value directory that resolves outside the Storage Root (46.715562ms) +2026-09-27T05:34:45.5242119Z ✔ copies PNG from inline toolbar: edge cap (137.298366ms) +2026-09-27T05:34:45.5448372Z ✔ reopens durable records and preserves owner idempotency (38.752634ms) +2026-09-27T05:34:45.5596802Z ✔ rejects a database schema newer than this authority understands (15.885558ms) +2026-09-27T05:34:45.5986414Z ✔ rejects a current schema missing a query-required index (36.329915ms) +2026-09-27T05:34:45.6424846Z ✔ deduplicates physical bytes while quotas count each Session reference logically (43.060202ms) +2026-09-27T05:34:45.6776252Z ✔ fails closed before returning bytes for Session mismatch and size limits (33.842216ms) +2026-09-27T05:34:45.7066403Z ✔ enforces configured owner hard caps before commit and return (31.05816ms) +2026-09-27T05:34:45.7326316Z ✔ detects payload corruption instead of returning unverified bytes (25.732949ms) +2026-09-27T05:34:45.7481996Z ✔ rolls back blob and reference together when publication fails (17.522412ms) +2026-09-27T05:34:45.7821518Z ✔ releases only the authorized Session reference without deleting shared bytes (34.267532ms) +2026-09-27T05:34:45.8323801Z ✔ copies PNG from fullscreen toolbar: none (295.397345ms) +2026-09-27T05:34:45.8454178Z ✔ copies references atomically without copying physical bytes (61.883448ms) +2026-09-27T05:34:45.9207512Z ✔ retires only one Session and collects shared blobs after the last reference (73.04126ms) +2026-09-27T05:34:45.9660201Z ✔ garbage collection obeys both batch limits and rolls back failed deletion (39.698991ms) +2026-09-27T05:34:46.0176109Z ✔ copies PNG from fullscreen toolbar: decode (213.239789ms) +2026-09-27T05:34:46.0266432Z ✔ migrates v1 orphan blobs into the indexed garbage candidate set (65.838176ms) +2026-09-27T05:34:46.2244809Z ✔ copies PNG from fullscreen toolbar: toBlob-null (203.463006ms) +2026-09-27T05:34:46.4997545Z ✔ copies PNG from fullscreen toolbar: toBlob-throw (272.74846ms) +2026-09-27T05:34:46.6922800Z ▶ Task Entry model +2026-09-27T05:34:46.6986474Z ✔ keeps an available profile then falls back through default and first available (1.245108ms) +2026-09-27T05:34:46.7046744Z ✔ rejects unavailable requests and preserves the Host project fallback order (0.515262ms) +2026-09-27T05:34:46.7102803Z ✔ uses Host generation and canonical Project identity in the draft key (0.250233ms) +2026-09-27T05:34:46.7145741Z ✔ Task Entry model (6.948246ms) +2026-09-27T05:34:46.7786479Z ✔ copies PNG from fullscreen toolbar: write (289.267157ms) +2026-09-27T05:34:46.9106111Z ✔ copies PNG from fullscreen toolbar: area cap (129.799415ms) +2026-09-27T05:34:47.1296201Z ✔ copies PNG from fullscreen toolbar: edge cap (226.956443ms) +2026-09-27T05:34:47.7336230Z ▶ TaskEntryRoot render scope +2026-09-27T05:34:47.7375755Z ✔ keeps a controller-only directory handoff below the shell frame (76.760223ms) +2026-09-27T05:34:47.7853078Z ✔ opens and closes the named-project dialog without rerendering the shell (65.857023ms) +2026-09-27T05:34:47.8020990Z ✔ retains the shell projection across an equivalent catalog refresh (13.704516ms) +2026-09-27T05:34:47.8441179Z ✔ scopes active-session recovery to available projects on that Host (21.005691ms) +2026-09-27T05:34:47.8681881Z ✔ adds a local Project before relocating the active Session (50.137258ms) +2026-09-27T05:34:47.8728479Z ✔ TaskEntryRoot render scope (233.997625ms) +2026-09-27T05:34:47.9666225Z ▶ createDesktopTaskEntryServices +2026-09-27T05:34:47.9756057Z ✔ maps Task Entry catalog and Host-scoped Project operations (3.414628ms) +2026-09-27T05:34:47.9779944Z ✔ createDesktopTaskEntryServices (10.452852ms) +2026-09-27T05:34:48.6344090Z ✔ bounds payload reads before collecting migrated v2 inline images (2600.577659ms) +2026-09-27T05:34:48.6386392Z ✔ an unlocked stale session keeps its stored target until explicit recovery (2.017398ms) +2026-09-27T05:34:48.6425898Z ✔ omits transient empty model target fields (0.23016ms) +2026-09-27T05:34:48.6456033Z ✔ confirmed repair and unavailable states block, while loading uncertainty does not (0.393551ms) +2026-09-27T05:34:48.6496299Z ✔ model blockers stay owned by existing connection recovery surfaces (0.239009ms) +2026-09-27T05:34:48.6606708Z ✔ Traditional Chinese readiness notices use Taiwan terminology (0.537118ms) +2026-09-27T05:34:48.6636907Z ✔ lifecycle queries use Session and garbage eligibility indexes (26.390651ms) +2026-09-27T05:34:48.6695938Z ✔ keeps credential lookup failure unknown instead of inventing a repair failure (6.943064ms) +2026-09-27T05:34:48.6755941Z ✔ reports a closed runtime when model catalog resolution is unavailable (1.348943ms) +2026-09-27T05:34:48.6779694Z ✔ passes an explicit slug to one model-target resolution without requiring a default read (0.449006ms) +2026-09-27T05:34:48.6825696Z ✔ rejects malformed renderer input before reading stores (3.473097ms) +2026-09-27T05:34:48.6896075Z ✔ maps a missing cwd to repairable workspace_missing (0.741852ms) +2026-09-27T05:34:48.6927991Z ✔ light-theme dim: black@50% scrim over a white titlebar (1.458865ms) +2026-09-27T05:34:48.6986400Z ✔ dark-theme dim: black@80% scrim over the dark titlebar (0.304434ms) +2026-09-27T05:34:48.7022043Z ✔ an opaque scrim wins outright (0.273074ms) +2026-09-27T05:34:48.7075854Z ✔ an unparseable background comes back unchanged so the caller degrades (4.732981ms) +2026-09-27T05:34:48.7105888Z ✔ parseCssRgbColor reads every rgb()/rgba() separator style (2.146138ms) +2026-09-27T05:34:48.7166150Z ✔ parseCssRgbColor refuses serializations it cannot trust (0.2353ms) +2026-09-27T05:34:48.8891708Z ▶ SQLite core execution stores +2026-09-27T05:34:48.8926328Z ✔ persists AgentRun events against the invocation that opened them (579.76192ms) +2026-09-27T05:34:48.8936102Z ✔ refuses to hang an event on a run no invocation ever opened (218.863763ms) +2026-09-27T05:34:48.8945301Z ✔ advances the model-call high-water index with the authority append (366.358409ms) +2026-09-27T05:34:48.8983280Z ✔ commits canonical authority without guessing a malformed projection order (437.646908ms) +2026-09-27T05:34:48.9015870Z ✔ does not repair a malformed projection from a stale ledger revision (581.814118ms) +2026-09-27T05:34:48.9045805Z ✔ rejects a projection repair without a canonical ledger revision (272.888371ms) +2026-09-27T05:34:48.9065742Z ✔ backfills the model-call high-water when upgrading existing AgentRun rows (646.682569ms) +2026-09-27T05:34:48.9125945Z ✔ drops obsolete Host-Epoch message receipt tables on upgrade (571.679629ms) +2026-09-27T05:34:48.9127188Z ✔ drops obsolete execution indexes on upgrade (310.756576ms) +2026-09-27T05:34:49.2010108Z ✔ preserves custom Mermaid attribute selectors after SVG ids are namespaced (2264.120512ms) +2026-09-27T05:34:49.2114307Z ✔ renders repeated real Mermaid diagrams across remounts and themes (1834.313287ms) +2026-09-27T05:34:49.2163545Z ✔ reuses a rendered Mermaid result across remounts and isolates themes (368.468266ms) +2026-09-27T05:34:49.2176343Z ✔ coalesces concurrent Mermaid renders and gives cached instances unique SVG ids (132.122357ms) +2026-09-27T05:34:49.2211912Z ✔ does not cancel a shared Mermaid render while another consumer remains mounted (101.601377ms) +2026-09-27T05:34:49.2221734Z ✔ bounds the Mermaid cache and evicts its least recently used result (2213.718916ms) +2026-09-27T05:34:49.2539984Z ✔ preserves provider failure diagnostics in the AgentRun authority after reopen (362.826662ms) +2026-09-27T05:34:49.3068671Z ▶ mermaidSvgToDataUrl +2026-09-27T05:34:49.3138558Z ✔ injects explicit pixel dimensions and strips responsive sizing from the root tag (12.312414ms) +2026-09-27T05:34:49.3140575Z ✔ does not touch width/height attributes inside the svg body (10.030535ms) +2026-09-27T05:34:49.3141644Z ✔ mermaidSvgToDataUrl (24.118661ms) +2026-09-27T05:34:49.3144037Z ▶ mermaidExportScale +2026-09-27T05:34:49.3145105Z ✔ keeps the full pixel ratio for diagrams that fit the budget (1.572587ms) +2026-09-27T05:34:49.3146211Z ✔ clamps the report case below the ratio that would exceed the canvas limits (3.095763ms) +2026-09-27T05:34:49.3147407Z ✔ clamps a near-square viewBox by area before the edge budget applies (0.26631ms) +2026-09-27T05:34:49.3148537Z ✔ scales below 1x for elongated diagrams rather than rejecting them (0.202104ms) +2026-09-27T05:34:49.3149398Z ✔ mermaidExportScale (5.655308ms) +2026-09-27T05:34:49.3150378Z ✔ Markdown code keeps its native selection and scrollbar pointer gesture (30.65497ms) +2026-09-27T05:34:49.3151618Z ✔ drag selection settles only after its owning pointer is released (11.400019ms) +2026-09-27T05:34:49.3152768Z ✔ pointer events cannot resurrect an unchanged or cancelled selection (0.387444ms) +2026-09-27T05:34:49.3153895Z ✔ a second primary pointer cannot replace the active gesture owner (0.233621ms) +2026-09-27T05:34:49.3155031Z ✔ capture loss cancels a changed gesture without showing a quote (5.662025ms) +2026-09-27T05:34:49.4199450Z ✔ ordinary rerenders keep the layer anchor attached (79.084712ms) +2026-09-27T05:34:49.4316312Z ✔ the wheel applies settled selection once and restores the saved model on failure (877.246716ms) +2026-09-27T05:34:49.6235095Z ✔ commits one immutable Run Composition snapshot (364.316629ms) +2026-09-27T05:34:50.0206820Z ✔ reads an AgentRun event type this build does not write (401.050758ms) +2026-09-27T05:34:50.3218832Z ✔ persists ShellRun records (305.714288ms) +2026-09-27T05:34:50.3536440Z ✔ a submit belongs to the dialog and never reaches the browser (213.271983ms) +2026-09-27T05:34:50.3624056Z ✔ an empty name submits nothing at all (38.859465ms) +2026-09-27T05:34:50.5466313Z ✔ reports a missing ShellRun with the ENOENT store contract (223.329418ms) +2026-09-27T05:34:50.8069690Z ✔ persists interaction request and outcome (255.410578ms) +2026-09-27T05:34:50.8085799Z ✔ SQLite core execution stores (5909.66237ms) +2026-09-27T05:34:50.8455441Z ▶ tool args redaction +2026-09-27T05:34:50.8512541Z ✔ redacts JSON-shaped args before they are rendered (1.470544ms) +2026-09-27T05:34:50.8576440Z ✔ redacts and caps model-authored tool intents (0.461206ms) +2026-09-27T05:34:50.8637926Z ✔ keeps secrets out of the collapsed-row invocation line and its wire preview (1.55859ms) +2026-09-27T05:34:50.8686016Z ✔ tool args redaction (8.065093ms) +2026-09-27T05:34:50.8726398Z ✔ retains one committed Item and its receipt when killed between COMMIT and return (287.073519ms) +2026-09-27T05:34:50.8773197Z ▶ SqliteMemoryItemStore +2026-09-27T05:34:50.8798449Z ✔ creates a private, versioned WAL database and reopens it idempotently (97.378036ms) +2026-09-27T05:34:50.8866387Z ✔ rolls back a failed migration and rejects a newer unknown schema without changing it (54.265452ms) +2026-09-27T05:34:50.8925961Z ✔ preserves a pending failure while migrating schema v3 to the current version (51.577909ms) +2026-09-27T05:34:50.8955293Z ✔ persists Compaction policy denial independently from Cursor and pending failure (37.332546ms) +2026-09-27T05:34:50.9026777Z ✔ rejects current-version databases with missing required tables or columns (31.950064ms) +2026-09-27T05:34:50.9056040Z ✔ rejects a current-version database with a missing query-required index (44.936995ms) +2026-09-27T05:34:50.9126317Z ✔ serializes truly concurrent first-open migrations (362.055672ms) +2026-09-27T05:34:50.9166630Z ✔ rejects database links and sidecar symlinks without changing their targets (66.164565ms) +2026-09-27T05:34:50.9235037Z ✔ normalizes keys and searches global plus the selected workspace (106.264038ms) +2026-09-27T05:34:50.9245851Z ✔ ranks multi-term matches, deduplicates terms, and enforces result limits (69.472862ms) +2026-09-27T05:34:50.9247186Z ✔ loads up to 100 ranked search results with a fixed number of reads (784.052078ms) +2026-09-27T05:34:50.9279592Z ✔ keeps search details in the snapshot selected before a concurrent update (69.585559ms) +2026-09-27T05:34:50.9345779Z ✔ loads each Item at its child limits without truncating later search results (121.965582ms) +2026-09-27T05:34:50.9377330Z ✔ rejects excessive keys without materializing the entire corrupt child set (79.439121ms) +2026-09-27T05:34:50.9426078Z ✔ rejects excessive sources without materializing the entire corrupt child set (79.812692ms) +2026-09-27T05:34:50.9459400Z ✔ preserves single-Item errors for search results with missing sources (46.919846ms) +2026-09-27T05:34:50.9516595Z ✔ preserves single-Item errors for search results with content hash mismatch (41.846282ms) +2026-09-27T05:34:50.9584375Z ✔ preserves single-Item errors for search results with invalid key normalization (27.871776ms) +2026-09-27T05:34:50.9596073Z ✔ preserves single-Item errors for search results with invalid source identifier (37.559766ms) +2026-09-27T05:34:50.9645881Z ✔ preserves single-Item errors for search results with binary key text (398.466273ms) +2026-09-27T05:34:50.9670631Z ✔ preserves single-Item errors for search results with binary source identifier (46.167999ms) +2026-09-27T05:34:50.9716013Z ✔ replays operation receipts while allowing independent duplicate assertions (37.990961ms) +2026-09-27T05:34:50.9745849Z ✔ uses CAS, replaces current keys and sources, and records no-op writes (48.523947ms) +2026-09-27T05:34:50.9786243Z ✔ allows an Item to be updated to match another active assertion (26.310765ms) +2026-09-27T05:34:50.9825849Z ✔ rejects a stale CAS from a second SQLite connection (428.547986ms) +2026-09-27T05:34:50.9855852Z ✔ allows only one truly concurrent CAS update across SQLite connections (317.071548ms) +2026-09-27T05:34:50.9926078Z ✔ allows archived assertions to change and restore even when another assertion matches (64.513794ms) +2026-09-27T05:34:50.9961637Z ✔ excludes archived Items by default and returns them after restore (35.73035ms) +2026-09-27T05:34:51.0003334Z ✔ reports invalid lifecycle transitions and missing Items (37.815494ms) +2026-09-27T05:34:51.0025659Z ✔ validates temporal writes and commit-time observations (26.026989ms) +2026-09-27T05:34:51.0055753Z ✔ rejects malformed mutation input before persistence (29.094641ms) +2026-09-27T05:34:51.0075526Z ✔ rolls back the full batch at every write boundary (111.542226ms) +2026-09-27T05:34:51.0102023Z ✔ rolls back an earlier completed mutation when a later mutation conflicts (21.310358ms) +2026-09-27T05:34:51.0175700Z ✔ stores duplicate assertions independently within one batch (22.315803ms) +2026-09-27T05:34:51.0185788Z ✔ keeps updated_at monotonic and replays after the injected clock moves backwards (22.215127ms) +2026-09-27T05:34:51.0247835Z ✔ keeps committed Items and operation receipts after checkpoint and reopen (24.210246ms) +2026-09-27T05:34:51.0275704Z ✔ fails closed over a structurally corrupt idempotency receipt (48.838858ms) +2026-09-27T05:34:51.0325667Z ✔ fails closed over corrupt Item child cardinality (105.329221ms) +2026-09-27T05:34:51.0365681Z ✔ rejects a corrupt idempotency receipt beyond the batch limit (53.735504ms) +2026-09-27T05:34:51.0415778Z ✔ rejects an oversized idempotency receipt before JSON parsing (49.361858ms) +2026-09-27T05:34:51.0456008Z ✔ atomically commits extracted Items and advances the Session Cursor (49.314286ms) +2026-09-27T05:34:51.0500281Z ✔ replays an extraction receipt without duplicating Items (33.243973ms) +2026-09-27T05:34:51.0555731Z ✔ rolls back Items, Cursor, and receipt when extraction commit fails (25.255189ms) +2026-09-27T05:34:51.0615872Z ✔ initializes an absent extraction Cursor once without leaping an existing Cursor (29.665729ms) +2026-09-27T05:34:51.0635552Z ✔ retries one failed range once, then atomically receipts its discard (36.43941ms) +2026-09-27T05:34:51.0694699Z ✔ clears an exact pending failed range in the successful extraction transaction (20.210716ms) +2026-09-27T05:34:51.0733340Z ✔ keeps a failed Compaction range bound to its checkpoint through retry (31.991408ms) +2026-09-27T05:34:51.0786647Z ✔ atomically policy-skips through a pending prefix without writing Items (27.966695ms) +2026-09-27T05:34:51.0825894Z ✔ policy skip never consumes an explicit remember pending failure (29.669596ms) +2026-09-27T05:34:51.0893781Z ✔ rolls back Cursor, pending failure, operation, and receipt when discard fails (27.946219ms) +2026-09-27T05:34:51.0945737Z ✔ SqliteMemoryItemStore (4485.39736ms) +2026-09-27T05:34:51.1025643Z ▶ long-term memory Storage Root authority +2026-09-27T05:34:51.1081123Z ✔ rejects a structurally forged writer facade (0.347319ms) +2026-09-27T05:34:51.1107662Z ✔ rejects a forged lease at the Interactive opener without creating a database (5.902223ms) +2026-09-27T05:34:51.1179932Z ✔ snapshots mutation input before crossing the authority boundary (80.108199ms) +2026-09-27T05:34:51.1256112Z ✔ rejects operations after the durable root identity changes (91.66719ms) +2026-09-27T05:34:51.1316423Z ✔ single-flights an Interactive writer and closes it explicitly (82.008545ms) +2026-09-27T05:34:51.1356044Z ✔ long-term memory Storage Root authority (260.727305ms) +2026-09-27T05:34:51.1459124Z ▶ applyToolOutputChunk — secondary redaction (defense in depth) +2026-09-27T05:34:51.1515316Z ✔ masks Authorization: *** in raw chunk before storing (1.618643ms) +2026-09-27T05:34:51.1575773Z ✔ masks bare API-key prefixes (sk-…) (0.368574ms) +2026-09-27T05:34:51.1632511Z ✔ applyToolOutputChunk — secondary redaction (defense in depth) (3.798298ms) +2026-09-27T05:34:51.1675752Z ▶ applyToolOutputChunk — per-chunk cap +2026-09-27T05:34:51.1705786Z ✔ truncates a single oversize chunk to maxChunkChars with a marker (0.622858ms) +2026-09-27T05:34:51.1745721Z ✔ applyToolOutputChunk — per-chunk cap (0.922586ms) +2026-09-27T05:34:51.1746590Z ▶ applyToolOutputChunk — per-tool caps (count + total chars) +2026-09-27T05:34:51.1806216Z ✔ drops oldest chunks when count cap is exceeded (8.28912ms) +2026-09-27T05:34:51.1807498Z ✔ drops oldest chunks when total-char cap is exceeded (0.674394ms) +2026-09-27T05:34:51.1815825Z ✔ applyToolOutputChunk — per-tool caps (count + total chars) (9.293014ms) +2026-09-27T05:34:51.1885650Z ▶ applyToolOutputChunk — dedup + sort +2026-09-27T05:34:51.1926081Z ✔ drops a chunk whose seq already exists (no-op return) (3.4485ms) +2026-09-27T05:34:51.1965987Z ✔ inserts out-of-order chunks in sorted seq order (1.220802ms) +2026-09-27T05:34:51.1967028Z ✔ applyToolOutputChunk — dedup + sort (5.084679ms) +2026-09-27T05:34:51.1985910Z ▶ applyToolOutputChunk — clean-path flags +2026-09-27T05:34:51.2025535Z ✔ combined: oversize + secret token → both flags fire (0.355347ms) +2026-09-27T05:34:51.2026574Z ✔ applyToolOutputChunk — clean-path flags (3.328665ms) +2026-09-27T05:34:51.2055654Z ▶ SQLite recovery authority multi-process races +2026-09-27T05:34:51.2058186Z ✔ makes an exact concurrent recovery bundle idempotent (1084.671023ms) +2026-09-27T05:34:51.2108664Z ✔ serializes conflicting completed and parked bundles to one terminal decision (885.490208ms) +2026-09-27T05:34:51.5196483Z ✔ a session without a mode keeps the control but names no mode and cannot use it (161.85663ms) +2026-09-27T05:34:51.6766658Z ✔ indexed Turns outside the loaded range precede it, and loaded Turns keep their own entries (4.756052ms) +2026-09-27T05:34:51.6809180Z ✔ a streaming reply delta hands back every other entry, and the list when nothing moved (0.71712ms) +2026-09-27T05:34:51.6875792Z ✔ a sampled rail projects the reading Turn onto the tick that stands for it (0.247748ms) +2026-09-27T05:34:51.6926072Z ✔ every Turn is its own tick while the rail is under its cap (0.147589ms) +2026-09-27T05:34:51.6951879Z ✔ a reading position the rail has no landmark for keeps the current tick (0.195194ms) +2026-09-27T05:34:51.7001120Z ✔ no reading position and no usable current tick leaves the rail unmarked (0.153821ms) +2026-09-27T05:34:51.7065985Z ✔ keeps the active tick visible when the rail viewport resizes (0.52983ms) +2026-09-27T05:34:51.7087542Z ✔ Traditional Chinese Peer Mesh copy does not use the Simplified Chinese branch (3.981099ms) +2026-09-27T05:34:51.7136287Z ✔ Traditional Chinese Peer Mesh route states use exact localized labels (5.526552ms) +2026-09-27T05:34:51.7163638Z ✔ Traditional Chinese connection copy uses 回傳, 回應, and 發送 (0.852919ms) +2026-09-27T05:34:52.1384998Z ✔ serializes projection rebuild against recovery commit (981.587879ms) +2026-09-27T05:34:52.9186185Z ✔ grants provider authority to exactly one process for one continuation boundary (791.903731ms) +2026-09-27T05:34:53.6559360Z ✔ never claims an active source while its terminal append races in another process (737.671165ms) +2026-09-27T05:34:54.3536414Z ✔ serializes a continuation claim against an ordinary first target event (695.789937ms) +2026-09-27T05:34:54.5357268Z ✔ keeps both Turns reachable when an oversized ledger Turn is followed by a new durable tail (1690.951327ms) +2026-09-27T05:34:55.0786309Z ✔ allows concurrent processes to keep the same initialized WAL database open (728.111335ms) +2026-09-27T05:34:55.2396876Z ✔ serves the running second Turn through durable pages at running-b (708.653849ms) +2026-09-27T05:34:55.3705954Z Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype. +2026-09-27T05:34:55.8337507Z ✔ the current tick follows the reading position the virtualizer maps (705.585074ms) +2026-09-27T05:34:55.9250546Z ✔ serves the running second Turn through durable pages at result-b (685.90241ms) +2026-09-27T05:34:56.0786366Z ✔ a tick releases the pin and scrolls its Turn to the top by index (342.288839ms) +2026-09-27T05:34:56.2415317Z ✔ a tick for an indexed Turn outside the loaded range asks for history down to it (342.96526ms) +2026-09-27T05:34:56.2926271Z ✔ portals landmarks into the layout host and keeps them actionable (33.014198ms) +2026-09-27T05:34:56.3434071Z ✔ reads a Turn through the rows of a nested one (418.655731ms) +2026-09-27T05:34:56.4216358Z ✔ allows concurrent operational owners to initialize the same fresh WAL database (1343.491369ms) +2026-09-27T05:34:56.5459265Z ✔ re-rendering a tick keeps its hover card bound to the same trigger (36.626778ms) +2026-09-27T05:34:56.6096759Z ✔ a streaming reply re-renders only its own tick when the caller passes a fresh highlight handler (273.437198ms) +2026-09-27T05:34:56.6716603Z ✔ a retained tick uses updated content, decoration, and navigation callbacks (88.348927ms) +2026-09-27T05:34:56.7868169Z ✔ only a witnessed completed response triggers a prediction; display and dismissal do not regenerate (94.603833ms) +2026-09-27T05:34:56.7926473Z ✔ typing before a late result invalidates it even after the draft is cleared (24.669779ms) +2026-09-27T05:34:56.7950348Z ✔ switching away and back, a new turn, disabling and blocked attachments all reject stale suggestions (33.419719ms) +2026-09-27T05:34:56.8048145Z ✔ disabled and nonempty composers never spend a prediction request (5.335791ms) +2026-09-27T05:34:56.8157197Z ✔ provider retry banner subtracts the time already waited since receipt (220.700015ms) +2026-09-27T05:34:56.8211892Z ✔ provider retry banner never shows a negative countdown (11.873556ms) +2026-09-27T05:34:56.8251766Z ✔ reduced motion keeps a correct static value at mount without ticking (20.576737ms) +2026-09-27T05:34:56.8314203Z ✔ provider retry banner counts down from remainingMs when the host provides it (17.235416ms) +2026-09-27T05:34:56.8356363Z ✔ a mounted provider retry banner actually ticks once per second (34.410867ms) +2026-09-27T05:34:56.8378927Z ✔ the ticking countdown stays hidden from the live region, which keeps a stable label (19.883005ms) +2026-09-27T05:34:56.8436357Z ✔ resolves English park copy for every known reason with no Chinese (#4489) (9.704382ms) +2026-09-27T05:34:56.8487071Z ✔ keeps the Chinese copy for zh-CN (0.28243ms) +2026-09-27T05:34:56.8565872Z ✔ resolves the missing-candidate special case per locale (8.196724ms) +2026-09-27T05:34:56.8626194Z ✔ falls back to the generic description for unknown reasons and dedupes repeats (0.291062ms) +2026-09-27T05:34:56.8657940Z ✔ preserves a snoozed daily anchor when schedule fields are unchanged (11.233501ms) +2026-09-27T05:34:56.8715982Z ✔ omits an unchanged interval schedule after snoozing (0.703938ms) +2026-09-27T05:34:56.8766209Z ✔ uses an explicitly edited time as the new daily anchor (8.865225ms) +2026-09-27T05:34:56.8785943Z ✔ uses an explicitly edited recurrence with the displayed next-run time (2.168959ms) +2026-09-27T05:34:57.0196410Z ✔ refuses a Turn read whose continuation never advances (675.36957ms) +2026-09-27T05:34:57.0983609Z ✔ initializes the tracked identity from the first accepted batch (2.384166ms) +2026-09-27T05:34:57.0984914Z ✔ keeps the current identity for a regular batch (0.301236ms) +2026-09-27T05:34:57.1028322Z ✔ adopts a reset batch identity so the next range request targets the replacement Host (0.20266ms) +2026-09-27T05:34:57.1030548Z ✔ does not mutate an identity already captured by a dispatched request (3.339397ms) +2026-09-27T05:34:57.1031821Z ✔ a healthy transcript open publishes only the live answer and never reads the cache (1033.336639ms) +2026-09-27T05:34:57.1033093Z ✔ a failed live open falls back to the cached transcript without earlier history (680.816592ms) +2026-09-27T05:34:57.1034650Z ✔ a bookmark older than the loaded history is read down to in one request located by the Turn index (10.688314ms) +2026-09-27T05:34:57.1036013Z ✔ a bookmark the Turn index does not know, or cannot be asked about, is unavailable without reading history (4.862138ms) +2026-09-27T05:34:57.1037484Z ✔ a cached transcript keeps a stored bookmark pending until the live answer replaces it (3.889416ms) +2026-09-27T05:34:57.1038830Z ✔ sending before transcript open completes cancels the queued bookmark without delaying admission (2.833116ms) +2026-09-27T05:34:57.1039949Z ✔ loading earlier history only reaches the current Session controller (68.961944ms) +2026-09-27T05:34:57.1041120Z ✔ captured reading anchors belong to the current Session and preparing a send clears them (5.03715ms) +2026-09-27T05:34:57.1096326Z ✔ a Turn index read that failed is read again when the transcript reopens (11.184145ms) +2026-09-27T05:34:57.1275742Z ✔ preparing a send follows the new prompt and streaming growth, then lets the reader leave again (102.79493ms) +2026-09-27T05:34:57.1278082Z ✔ reading a live Turn bookmarks its Turn identity (27.905372ms) +2026-09-27T05:34:57.1392707Z ✔ a send prepared for an old Session cannot move the new Session viewport (8.96211ms) +2026-09-27T05:34:57.1396695Z ✔ makes an exact concurrent workspace baseline open idempotent (712.811902ms) +2026-09-27T05:34:57.1762101Z ✔ a prepared send cancels an outstanding bookmark frame before it can scroll to history (9.300694ms) +2026-09-27T05:34:57.2075760Z ✔ the return-to-latest button consumes a pending bookmark frame and permits subsequent reader navigation (68.874656ms) +2026-09-27T05:34:57.8026321Z ✔ dismissed and superseded searches stop holding the palette busy (3071.0951ms) +2026-09-27T05:34:57.8821470Z ✔ a typed phrase becomes the distinct terms recall matches (2.526133ms) +2026-09-27T05:34:57.8885822Z ✔ an empty or whitespace query produces no terms (0.269854ms) +2026-09-27T05:34:57.8888214Z ✔ terms are capped so a pasted paragraph cannot become an unbounded query (0.338045ms) +2026-09-27T05:34:57.8902783Z ✔ a passage snippet is the anchor text, which is what recall matched on (0.378202ms) +2026-09-27T05:34:57.8936071Z ✔ a file-only anchor falls back to the first text the passage carries (0.257601ms) +2026-09-27T05:34:57.8965447Z ▶ normalizeQuoteText +2026-09-27T05:34:57.8966668Z ✔ rejects a selection that holds nothing but whitespace (2.64111ms) +2026-09-27T05:34:57.8995775Z ✔ normalizeQuoteText (6.709042ms) +2026-09-27T05:34:57.9025491Z ▶ findEnclosingTurnId +2026-09-27T05:34:57.9055579Z ✔ stops at the root rather than adopting a turn id above it (8.411155ms) +2026-09-27T05:34:57.9056495Z ✔ findEnclosingTurnId (8.698877ms) +2026-09-27T05:34:57.9085492Z ▶ resolveQuoteTarget +2026-09-27T05:34:57.9118370Z ✔ resolves text plus the owning turn (5.391119ms) +2026-09-27T05:34:57.9145511Z ✔ rejects a selection spanning two turns (0.251433ms) +2026-09-27T05:34:57.9146362Z ✔ resolveQuoteTarget (5.958134ms) +2026-09-27T05:34:57.9175954Z ✔ accepts only one of two conflicting concurrent workspace baselines (754.123807ms) +2026-09-27T05:34:58.7785547Z ✔ grants durable managed mutation ownership to exactly one process (889.576486ms) +2026-09-27T05:34:59.3166394Z ✔ a history page reaches an oversized earlier Turn without disturbing the tail (23.809642ms) +2026-09-27T05:34:59.3224167Z ✔ tail catch-up evicts only the oldest Turns and always keeps the newest complete (17.748437ms) +2026-09-27T05:34:59.3277599Z ✔ a completed loaded bookmark does not load earlier history after later notifications (22.215608ms) +2026-09-27T05:34:59.3296738Z ✔ repeated message notifications share one pending restore and cancellation preserves the newer bookmark (7.834641ms) +2026-09-27T05:34:59.3427455Z ✔ switching away and back creates a fresh restore while clearing search does not replay a bookmark (5.888562ms) +2026-09-27T05:34:59.3428812Z ✔ effect teardown followed by setup lets only the replacement restore settle its bookmark (7.322813ms) +2026-09-27T05:34:59.3696470Z ✔ a bookmark read down to across a reopen is looked up again rather than declared unavailable (0.95689ms) +2026-09-27T05:34:59.3756339Z ✔ a second Turn reached by advancing evicts the oversized first Turn (17.775781ms) +2026-09-27T05:34:59.5338933Z ✔ keeps a transient message through sparse transcript replacement (7.046499ms) +2026-09-27T05:34:59.5371826Z ✔ updates a transient message without treating its previous render as canonical (1.839567ms) +2026-09-27T05:34:59.5396748Z ✔ replaces a transient message by canonical message id exactly once (0.220041ms) +2026-09-27T05:34:59.5464236Z ✔ canonicalizing one send does not hide a later transient send (0.327814ms) +2026-09-27T05:34:59.5516649Z ✔ keeps transient messages ordered independently from a sparse durable tail (0.414923ms) +2026-09-27T05:34:59.5545892Z ✔ uses the Host queue snapshot order for already-present transient messages (2.403782ms) +2026-09-27T05:34:59.5591235Z ✔ derives one queue projection for main and Side Conversation consumers (4.171328ms) +2026-09-27T05:34:59.5646222Z ✔ keeps a Host-bound current Turn when a later IPC result has no Turn identity (0.291417ms) +2026-09-27T05:34:59.5680451Z ✔ keeps a transient message send time when a later update carries a new timestamp (0.395807ms) +2026-09-27T05:34:59.5755520Z ▶ UI locale settings update gate +2026-09-27T05:34:59.5785854Z ✔ delivers a successful locale save after the Settings surface closes (11.138143ms) +2026-09-27T05:34:59.5815966Z ✔ ignores unrelated settings writes and rejects stale locale responses (7.448886ms) +2026-09-27T05:34:59.5875855Z ✔ delivers the persisted auto preference without resolving it locally (0.260594ms) +2026-09-27T05:34:59.5912892Z ✔ rejects a stale hydration that started before a newer locale save (0.323725ms) +2026-09-27T05:34:59.5947194Z ✔ rejects hydration started while a locale save is pending (0.251678ms) +2026-09-27T05:34:59.5965653Z ✔ orders locale saves across Settings remounts with one AppShell gate (0.188896ms) +2026-09-27T05:34:59.6009119Z ✔ releases a failed save so an in-flight hydration can apply (0.295527ms) +2026-09-27T05:34:59.6045752Z ✔ applies the latest blocked hydration when an intervening locale save fails (2.793604ms) +2026-09-27T05:34:59.6056850Z ✔ accepts an older pending save after the newer save fails (0.545285ms) +2026-09-27T05:34:59.6087389Z ✔ restores an older successful save when the newer save fails later (4.554708ms) +2026-09-27T05:34:59.6135597Z ✔ UI locale settings update gate (30.028591ms) +2026-09-27T05:35:00.5416809Z ✔ a running goal reads as running and offers pause, with elapsed and tokens (91.81328ms) +2026-09-27T05:35:00.5496751Z ✔ a paused goal reads as paused and offers resume, not pause (50.168523ms) +2026-09-27T05:35:00.5526225Z ✔ a waiting goal reads as waiting without looking active or paused (33.222193ms) +2026-09-27T05:35:00.6621192Z ✔ hides the move submenu when the provider has no targets: undefined (264.862528ms) +2026-09-27T05:35:00.6716692Z ✔ hides the move submenu when the provider has no targets: missing (70.99094ms) +2026-09-27T05:35:00.6746273Z ✔ an orphan projectId can move to a destination without an exit (80.247505ms) +2026-09-27T05:35:00.6791800Z ✔ keeps a provider-approved exit: pA, sibling=false (73.181242ms) +2026-09-27T05:35:00.6866083Z ✔ keeps a provider-approved exit: pA, sibling=true (54.139911ms) +2026-09-27T05:35:00.7056242Z ✔ keeps a provider-approved exit: oldA, sibling=false (52.12547ms) +2026-09-27T05:35:00.7116099Z ✔ keeps a provider-approved exit: oldA, sibling=true (70.522477ms) +2026-09-27T05:35:00.8235951Z ✔ serializes concurrent operational runtime migration (2035.763806ms) +2026-09-27T05:35:01.5046626Z ✔ captures a fast worker initialization failure after releasing the barrier (687.96378ms) +2026-09-27T05:35:01.5054212Z ✔ SQLite recovery authority multi-process races (12339.622202ms) +2026-09-27T05:35:01.5345049Z ✔ a plain click opens the task and picks exactly it (289.704026ms) +2026-09-27T05:35:01.5430693Z ▶ SqliteRuntimeStore real-process crash boundaries +2026-09-27T05:35:01.5436125Z ✔ rolls back a process killed inside T1 (745.85699ms) +2026-09-27T05:35:01.5455935Z ✔ retains a prepared operation when killed after T1 and a possible side effect (702.982561ms) +2026-09-27T05:35:01.5485726Z ✔ rolls back a process killed inside T2 without losing T1 (808.850131ms) +2026-09-27T05:35:01.5515815Z ✔ retains the committed outcome when killed after T2 (706.398827ms) +2026-09-27T05:35:01.5517124Z ✔ rolls back the whole recovery bundle when killed at inside_recovery_reconcile (775.051694ms) +2026-09-27T05:35:01.5545950Z ✔ rolls back the whole recovery bundle when killed at inside_recovery_outcome (575.735913ms) +2026-09-27T05:35:01.5575834Z ✔ rolls back the whole recovery bundle when killed at inside_recovery_decision (643.848225ms) +2026-09-27T05:35:01.5605618Z ✔ retains the whole recovery bundle when killed after COMMIT (729.424716ms) +2026-09-27T05:35:01.5621894Z ✔ rolls back a workspace baseline when killed inside its authority transaction (554.529663ms) +2026-09-27T05:35:01.5645773Z ✔ retains the complete workspace baseline when killed after COMMIT (544.856953ms) +2026-09-27T05:35:01.5659955Z ✔ retains exclusive managed mutation ownership when killed after T1 (688.01713ms) +2026-09-27T05:35:01.5669209Z ✔ rolls back a workspace successor when killed inside its authority transaction (830.757468ms) +2026-09-27T05:35:01.5671359Z ✔ returns the accepted workspace successor after a process is killed post-commit (876.824565ms) +2026-09-27T05:35:01.5703605Z ✔ rolls back a no-effect terminal when killed inside its transaction (572.434638ms) +2026-09-27T05:35:01.5736440Z ✔ retains a no-effect terminal and released reservation after process exit (822.630608ms) +2026-09-27T05:35:01.5740438Z ✔ SqliteRuntimeStore real-process crash boundaries (10582.276401ms) +2026-09-27T05:35:01.5741993Z ▶ SQLite runtime schema migration +2026-09-27T05:35:01.5743105Z ✔ uses the locked current version after an optimistic stale read (6.388299ms) +2026-09-27T05:35:01.5806309Z ✔ re-reads user_version under the write lock before applying migrations (32.855446ms) +2026-09-27T05:35:01.5810950Z ✔ preserves v1 continuation claims while admitting the v2 replay projection (5.770181ms) +2026-09-27T05:35:01.5886157Z ✔ backfills the extent of every visible Turn already in the ledger (12.706414ms) +2026-09-27T05:35:01.5916142Z ✔ backfills extents over a ledger holding an undecodable opening (13.217958ms) +2026-09-27T05:35:01.5983749Z ✔ builds the terminal index over a ledger holding an undecodable payload (12.722148ms) +2026-09-27T05:35:01.6038465Z ✔ adds all recovery projections in schema 20 without rewriting authority rows (11.421341ms) +2026-09-27T05:35:01.6091169Z ✔ SQLite runtime schema migration (97.584953ms) +2026-09-27T05:35:01.6115427Z ▶ SqliteRuntimeStore +2026-09-27T05:35:01.6146099Z ✔ applies versioned migrations and reopens the same database without rewriting schema (134.833773ms) +2026-09-27T05:35:01.6207703Z ✔ refuses every post-terminal append as the typed sealed-run boundary (92.47012ms) +2026-09-27T05:35:01.6245869Z ✔ loads full recovery payloads only for unfinished and handoff invocations (239.186795ms) +2026-09-27T05:35:01.6285862Z ✔ bounds a transcript Turn by stored total and per-record bytes (61.534124ms) +2026-09-27T05:35:01.6326023Z ✔ projects transcript RuntimeEvents from a bounded row iterator (59.389034ms) +2026-09-27T05:35:01.6385989Z ✔ pages the transcript without reading rows the page does not contain (120.626232ms) +2026-09-27T05:35:01.6413660Z ✔ reads recovery message evidence by Turn and exact identity without scanning the Session (99.296236ms) +2026-09-27T05:35:01.6455776Z ✔ assigns stable Session ordinals in commit order across Runs (90.315042ms) +2026-09-27T05:35:01.6524907Z ✔ publishes RuntimeEvent commits once, after a committed transaction (40.06834ms) +2026-09-27T05:35:01.6669866Z ✔ publishes leased RuntimeEvent commits when the outermost transaction settles (509.205943ms) +2026-09-27T05:35:01.6726200Z ✔ makes a raw canonical-equivalent terminal durability retry idempotent (48.901225ms) +2026-09-27T05:35:01.6756146Z ✔ imports a conversation-copy tool ledger with its derived projections (54.605821ms) +2026-09-27T05:35:01.6792602Z ✔ invalidates a warmed tool-ledger cache after a same-connection conversation copy (61.793817ms) +2026-09-27T05:35:01.6926189Z ✔ rebuilds a legacy terminal-without-tool-result gap as interrupted_unknown (82.340498ms) +2026-09-27T05:35:01.7006689Z ✔ repairs a terminal unsettled tool without decoding opaque Session history (82.311661ms) +2026-09-27T05:35:01.7119754Z ✔ rejects an inadmissible candidate with ToolLedgerRejectionError, naming the code (61.980487ms) +2026-09-27T05:35:01.7148639Z ✔ isolates unrelated ledger damage while keeping the damaged invocation fail-closed (126.997731ms) +2026-09-27T05:35:01.7226098Z ✔ commits function_call, dispatch fact, and operation projection atomically in T1 (94.292125ms) +2026-09-27T05:35:01.7275840Z ✔ commits nested T1 events with parent operation linkage (112.489178ms) +2026-09-27T05:35:01.7336275Z ✔ invalidates scoped tool caches across sibling write-view commit and rollback (356.494967ms) +2026-09-27T05:35:01.7412032Z ✔ invalidates a lease-less reducer base loaded from a rolled-back transaction (41.952524ms) +2026-09-27T05:35:01.7472695Z ✔ bounds active tool reducer residency with least-recently-used eviction (69.838988ms) +2026-09-27T05:35:01.7496315Z ✔ records cache misses across streaming partial commits and hits only in quiet windows (70.404872ms) +2026-09-27T05:35:01.7545444Z ✔ evicts a cached tool reducer when its invocation is sealed (77.787076ms) +2026-09-27T05:35:01.7572777Z ✔ evicts a cached reducer after confirming a sibling terminal write (52.03848ms) +2026-09-27T05:35:01.7632626Z ✔ bounds aggregate tool reducer residency by estimated bytes (39.417358ms) +2026-09-27T05:35:01.7654727Z ✔ uses a transient reducer when one scope exceeds its byte admission budget (46.444393ms) +2026-09-27T05:35:01.7680131Z ✔ keeps a transaction-pinned reducer until settlement then enforces the byte budget (301.750767ms) +2026-09-27T05:35:01.7707409Z ✔ rejects a nested T1 whose referenced parent operation is missing (69.516218ms) +2026-09-27T05:35:01.7760626Z ✔ reports a referenced parent invocation corruption as existing damage (108.905373ms) +2026-09-27T05:35:01.7785648Z ✔ does not reuse a corrupt child cache scope for its clean parent (84.964735ms) +2026-09-27T05:35:01.7830269Z ✔ claims an exact function_call that was committed while permission was pending (43.045173ms) +2026-09-27T05:35:01.7832883Z ✔ rolls back every T1 row when failure occurs after the RuntimeEvent insert (48.773474ms) +2026-09-27T05:35:01.7854083Z ✔ commits function_response, outcome journal fact, and projection atomically in T2 (46.051136ms) +2026-09-27T05:35:01.7856386Z ✔ keeps projected T2 prepared when its atomic model projection is missing (90.772747ms) +2026-09-27T05:35:01.7887450Z ✔ rolls back T2 without hiding the previously committed prepared boundary (58.698843ms) +2026-09-27T05:35:01.7935938Z ✔ deduplicates exact T1/T2 retries and rejects operation identity drift (85.665468ms) +2026-09-27T05:35:01.7985961Z ✔ validates a tool transition after unrelated invocation history (63.753737ms) +2026-09-27T05:35:01.8040950Z ✔ rebuilds disposable tool projections from RuntimeEvent facts (82.54486ms) +2026-09-27T05:35:01.8085824Z ✔ coalesces stream chunks outside the immutable high-water ledger (64.034233ms) +2026-09-27T05:35:01.8116001Z ✔ rejects an oversized scan record before visiting its decoded body (45.032458ms) +2026-09-27T05:35:01.8176191Z ✔ rejects an immutable ledger that exceeds its cumulative scan budget before decoding it (46.604518ms) +2026-09-27T05:35:01.8235981Z ✔ streams fragmented legacy partial segments without retaining their row set (208.323305ms) +2026-09-27T05:35:01.8265818Z ✔ atomically claims a source with exactly one terminal RuntimeEvent at its tail (66.229504ms) +2026-09-27T05:35:01.8296063Z ✔ refuses a continuation target opening it cannot read, stored or submitted (71.193101ms) +2026-09-27T05:35:01.8356013Z ✔ authenticates repeated handoff under one fresh logical admission across reopen (306.802039ms) +2026-09-27T05:35:01.8386167Z ✔ authenticates repeated handoff under one continuation logical admission across reopen (276.334045ms) +2026-09-27T05:35:01.8415808Z ✔ rejects a continuation claim whose immediate source boundary is not durable (38.689162ms) +2026-09-27T05:35:01.8457011Z ✔ rejects a non-terminal continuation source without sealing the active Run (82.761019ms) +2026-09-27T05:35:01.8502949Z ✔ rejects a continuation source whose terminal RuntimeEvent has a corrupt suffix (44.971617ms) +2026-09-27T05:35:01.8515861Z ✔ rejects a stale claim after the source advances beyond its planned boundary (64.233681ms) +2026-09-27T05:35:01.8556587Z ✔ seals the claimed source against later immutable RuntimeEvents (65.072596ms) +2026-09-27T05:35:01.8615179Z ✔ rolls back a continuation claim when the process fails after its insert (76.683773ms) +2026-09-27T05:35:01.8616336Z ✔ rejects a second boundary that tries to reuse an acquired target identity (72.010487ms) +2026-09-27T05:35:01.8648002Z ✔ lets a started continuation target be purged instead of refusing the delete (75.665778ms) +2026-09-27T05:35:01.8666713Z ✔ fails closed when continuation claim columns disagree with canonical payload (72.3685ms) +2026-09-27T05:35:01.8686390Z ✔ requires a continuation claim target to have an empty RuntimeEvent ledger (86.325508ms) +2026-09-27T05:35:01.8706171Z ✔ reserves a claimed target first event for its dedicated continuation-start writer (82.957294ms) +2026-09-27T05:35:01.8735903Z ✔ commits continuation-start exactly once through its dedicated authority writer (66.101576ms) +2026-09-27T05:35:01.8751601Z ✔ lists only selected continuation claims whose target invocation is not terminal (119.872307ms) +2026-09-27T05:35:01.8753073Z ✔ stores continuation start provenance through separate admission and repair commands (73.509952ms) +2026-09-27T05:35:01.8754319Z ✔ binds the durable tool boundary marker to a live continuation start only (102.550559ms) +2026-09-27T05:35:01.8755834Z ✔ seals a continuation invocation after its terminal fact while allowing exact retry (66.317931ms) +2026-09-27T05:35:01.8757072Z ✔ does not bless an exact terminal retry when a corrupt suffix follows it (74.199734ms) +2026-09-27T05:35:01.8758524Z ✔ rejects a continuation-start whose provider replay identity differs from its claim (92.705619ms) +2026-09-27T05:35:01.8759740Z ✔ rolls back continuation-start when failure occurs after the event insert (68.706387ms) +2026-09-27T05:35:01.8760934Z ✔ pins a physical immutable prefix independently of mutable partial snapshots (55.492757ms) +2026-09-27T05:35:01.8762170Z ✔ stores a partial batch as one append-only segment and reconstructs the same text (52.128479ms) +2026-09-27T05:35:01.8763243Z ✔ coalesces partial text into fixed-size tail segments (87.487257ms) +2026-09-27T05:35:01.8764282Z ✔ rejects a partial batch that crosses presentation streams atomically (56.755617ms) +2026-09-27T05:35:01.8795688Z ✔ rejects a physical immutable prefix with an event-seq gap (78.174117ms) +2026-09-27T05:35:01.8825635Z ✔ replaces text and tool partial snapshots when their durable final arrives (66.424216ms) +2026-09-27T05:35:01.8826896Z ✔ uses the immutable SQLite event as the steering-message recovery proof (74.537008ms) +2026-09-27T05:35:01.8836983Z ✔ SqliteRuntimeStore (7007.969037ms) +2026-09-27T05:35:01.8837745Z ▶ SqliteSessionMetadataStore +2026-09-27T05:35:01.8838732Z ✔ migrates version 38 and resumes the body-free Coordination index idempotently (153.716177ms) +2026-09-27T05:35:01.8839818Z ✔ converges the admissions-only version-30 schema after the merge (80.777783ms) +2026-09-27T05:35:01.8840934Z ✔ converges the coordination-only version-30 schema after the merge (100.323905ms) +2026-09-27T05:35:01.8865636Z ✔ converges the complete version-30 schema after the merge (73.097378ms) +2026-09-27T05:35:01.8895721Z ✔ migrates a legacy subagent Session to a frozen model route (87.572049ms) +2026-09-27T05:35:01.8915705Z ✔ migrates v27 metadata to the current schema without backfilling external origin (139.969785ms) +2026-09-27T05:35:01.8955775Z ✔ identifies an incompatible persisted message without exposing its content (92.061158ms) +2026-09-27T05:35:01.8957160Z ✔ round-trips every SessionHeader field and reopens the same schema (77.297264ms) +2026-09-27T05:35:01.8985799Z ✔ retires an accepted steering draft when it is handed off (60.236774ms) +2026-09-27T05:35:01.9015676Z ✔ migrates v34 message admissions with an empty Skill invocation outcome (135.039172ms) +2026-09-27T05:35:01.9035542Z ✔ migrates a v36 cancellation tombstone without inventing a claim owner (89.076998ms) +2026-09-27T05:35:01.9045631Z ✔ rejects an admission handed off to a different Turn (93.436614ms) +2026-09-27T05:35:01.9075737Z ✔ retires an interrupted steering admission proven by its successor Root (87.431683ms) +2026-09-27T05:35:01.9095890Z ✔ rejects a successor Root proof whose content conflicts with the stale admission (96.153683ms) +2026-09-27T05:35:01.9125713Z ✔ rejects successor Root proof with matching content but different submit semantics (258.312851ms) +2026-09-27T05:35:01.9135827Z ✔ repeats a proven Root message handoff after its admission is gone (57.261597ms) +2026-09-27T05:35:01.9166305Z ✔ rejects an admission-less handoff without a proven Root message (66.150044ms) +2026-09-27T05:35:01.9182931Z ✔ rejects a proven Root handoff for a cancelled admission (54.612078ms) +2026-09-27T05:35:01.9195682Z ✔ rejects proven Root fallback content that drifts from an admission (66.040273ms) +2026-09-27T05:35:01.9197172Z ✔ validates proven Root fallback identities and timestamps before handoff (52.404554ms) +2026-09-27T05:35:01.9198297Z ✔ removes the accepted payload without writing a transcript row (70.660819ms) +2026-09-27T05:35:01.9199417Z ✔ accepts a proof-backed steering handoff from a later execution Turn (85.984286ms) +2026-09-27T05:35:01.9200410Z ✔ ⌘-click adds a row without opening it (141.046878ms) +2026-09-27T05:35:01.9201400Z ✔ retract replaces an accepted payload with a minimal identity tombstone (101.817186ms) +2026-09-27T05:35:01.9202594Z ✔ Ctrl-click is the same gesture, for the platforms that spell it that way (100.122216ms) +2026-09-27T05:35:01.9203699Z ✔ a WorkHub action identity owns one operation across store restarts (101.921832ms) +2026-09-27T05:35:01.9204952Z ✔ Shift-click asks for a range, and hands over the rendered order (93.186253ms) +2026-09-27T05:35:01.9205929Z ✔ a picked row says so on its ground (65.488384ms) +2026-09-27T05:35:01.9206853Z ✔ the open row says it is picked once the set is more than itself (70.359406ms) +2026-09-27T05:35:01.9425917Z ▶ Usage feature scope +2026-09-27T05:35:01.9516682Z ✔ re-displays the last snapshot immediately when returning to the section, then refreshes (442.089563ms) +2026-09-27T05:35:01.9576416Z ✔ cancellation tombstones retain the durable claim that created them (80.216036ms) +2026-09-27T05:35:01.9656236Z ✔ retires an accepted follow-up under its successor root (76.529038ms) +2026-09-27T05:35:01.9772298Z ✔ a rail with no selection wired up behaves exactly as before (5.913231ms) +2026-09-27T05:35:02.0311295Z ✔ Escape drops the picks (42.075385ms) +2026-09-27T05:35:02.0596485Z ✔ persists a steering reorder across SQLite restart (112.818006ms) +2026-09-27T05:35:02.1266241Z ✔ Escape with nothing picked is not this handler's business (74.085973ms) +2026-09-27T05:35:02.1456296Z ✔ persists a followup reorder across SQLite restart (89.06072ms) +2026-09-27T05:35:02.2216999Z ✔ retains the previous result with a concise notice when a new range fails (290.564692ms) +2026-09-27T05:35:02.2726435Z ✔ right-clicking a pickable row opens its menu (136.160763ms) +2026-09-27T05:35:02.2916426Z ✔ migrates v24 legacy session statuses to active exactly once (138.736324ms) +2026-09-27T05:35:02.3861172Z ✔ right-clicking a row outside the set replaces it (125.748237ms) +2026-09-27T05:35:02.4236458Z ✔ discards the previous Host generation snapshot when targetKey changes (213.131509ms) +2026-09-27T05:35:02.4515992Z ✔ migrates v26 archive signals onto one canonical archive field exactly once (167.711777ms) +2026-09-27T05:35:02.4592694Z ✔ right-clicking inside the set keeps it (116.290285ms) +2026-09-27T05:35:02.5231391Z ✔ clicking ⋯ on a row outside the set replaces it, and never opens the task (46.547302ms) +2026-09-27T05:35:02.5713439Z ✔ accepts a load that resolves while the view is unmounted, visible on return (166.822261ms) +2026-09-27T05:35:02.6708226Z ✔ the menu counts the set once more than one row is picked (142.141363ms) +2026-09-27T05:35:02.7116290Z ✔ fences a late load from a superseded Host generation (141.939367ms) +2026-09-27T05:35:02.7696323Z ✔ the menu is about the one row when only that row is picked (100.161689ms) +2026-09-27T05:35:02.8446361Z ✔ a set that is pinned throughout offers to unpin it (84.331454ms) +2026-09-27T05:35:02.9186789Z ✔ keeps the snapshot while the loading gate shows a skeleton (189.599863ms) +2026-09-27T05:35:02.9628530Z ✔ fences an in-flight load synchronously when the host changes before the re-render (97.483841ms) +2026-09-27T05:35:02.9676065Z ✔ Usage feature scope (1550.351944ms) +2026-09-27T05:35:02.9722807Z ✔ rejects a session metadata schema newer than the supported version (123.236502ms) +2026-09-27T05:35:02.9796497Z ✔ changes archive state without overwriting execution status (65.494163ms) +2026-09-27T05:35:02.9826736Z ✔ rejects Session lifecycle fields through generic metadata writes (92.979814ms) +2026-09-27T05:35:02.9855995Z ✔ atomically retires a revision family with CAS and tombstone retries (90.137574ms) +2026-09-27T05:35:02.9919648Z ✔ atomically archives linked Sessions while removing their parent (63.563488ms) +2026-09-27T05:35:02.9976106Z ✔ does not rewrite an already archived linked Session during parent removal (79.740784ms) +2026-09-27T05:35:03.0066466Z ✔ same-revision filters supersede both old screens and continuations and retain fixed time bounds (28.324161ms) +2026-09-27T05:35:03.0126597Z ✔ revision change retains the complete screen, blocks paging, and refresh installs a new screen (12.422258ms) +2026-09-27T05:35:03.0166104Z ✔ a mixed set pins, including the rows already pinned (73.674582ms) +2026-09-27T05:35:03.1386587Z ✔ capacity failure never retries and retains the original query until a complete replacement (15.559087ms) +2026-09-27T05:35:03.1407897Z ✔ a Shift range does not reach into a collapsed project (158.118639ms) +2026-09-27T05:35:03.2196273Z ✔ a menu sweeps only the picked rows still on screen (151.749705ms) +2026-09-27T05:35:03.2683591Z ✔ a shared row is not picked, and is still a plain navigation item (35.639786ms) +2026-09-27T05:35:03.3776575Z ✔ right-clicking a shared row leaves the press, and the set, alone (56.11064ms) +2026-09-27T05:35:03.3952903Z ✔ Escape inside a layer above the rail is not the rail's to take (97.200411ms) +2026-09-27T05:35:04.0546382Z ✔ dropping a task on a project row re-files it under that project (330.641002ms) +2026-09-27T05:35:04.1454101Z ✔ dropping a task on the row that leaves every project clears its project (87.745891ms) +2026-09-27T05:35:04.2343988Z ✔ a task can be dropped on a project that has no tasks yet (82.644042ms) +2026-09-27T05:35:04.3147993Z ✔ the row marks its own button as the drag source (68.952835ms) +2026-09-27T05:35:04.4406248Z ✔ a row the shell does not offer is not a drop target (132.079463ms) +2026-09-27T05:35:04.5146573Z ✔ a row that is not one of this task’s destinations refuses the drop (76.508427ms) +2026-09-27T05:35:04.5846137Z ✔ a drag that is not one of our tasks is refused (71.522632ms) +2026-09-27T05:35:04.5898003Z ✔ a task with nowhere to go is neither draggable nor offered a menu (65.896052ms) +2026-09-27T05:35:04.7255883Z ✔ renders session navigation and row actions as sibling controls (147.397978ms) +2026-09-27T05:35:04.7322635Z ✔ renders a scan-friendly compact timestamp in the session rail (49.088315ms) +2026-09-27T05:35:04.7436740Z ✔ shows a new branch's activity time without newer messages (undefined) (11.183122ms) +2026-09-27T05:35:04.7496289Z ✔ shows a new branch's activity time without newer messages (1784851200000) (17.576718ms) +2026-09-27T05:35:04.7541717Z ✔ sorts a newly created branch ahead of older conversations by catalog activity (17.180988ms) +2026-09-27T05:35:04.7620083Z ✔ identifies an external executor in the session rail (19.762138ms) +2026-09-27T05:35:04.7744781Z ✔ wires the session navigation control to its hover card description (27.322551ms) +2026-09-27T05:35:04.7776338Z ✔ a responding row spins where an unread row shows a dot (37.477562ms) +2026-09-27T05:35:04.7818843Z ✔ a row shows its state in place of the timestamp and still names it when covered (37.99439ms) +2026-09-27T05:35:04.7842799Z ✔ renders Runtime Host live runs without requiring renderer-local streaming (7.837932ms) +2026-09-27T05:35:04.7958583Z ✔ prioritizes waiting_for_user attention over a parked live run (9.994161ms) +2026-09-27T05:35:04.8082455Z ✔ prioritizes blocked attention over a parked live run (45.62593ms) +2026-09-27T05:35:04.8146890Z ✔ keeps known-empty idle unless renderer-local streaming is newer (14.787206ms) +2026-09-27T05:35:04.8148956Z ✔ renders collapsible project navigation and row actions as sibling controls (33.347306ms) +2026-09-27T05:35:04.8157289Z ✔ renders pinned tasks once above project groups (14.036827ms) +2026-09-27T05:35:04.8171426Z ✔ keeps archived-project pins visible once in both grouping modes (40.883035ms) +2026-09-27T05:35:04.8286684Z ✔ an active project whose only task is pinned describes itself as empty (6.43872ms) +2026-09-27T05:35:04.8288570Z ✔ an archived project whose only task is pinned describes itself as empty (9.891386ms) +2026-09-27T05:35:04.8307384Z ✔ keeps project running totals aligned with renderer-local task streaming (8.887521ms) +2026-09-27T05:35:04.9056677Z ✔ localizes task and project hover card summaries (1.133381ms) +2026-09-27T05:35:04.9066574Z ▶ ShellRun UI projection +2026-09-27T05:35:04.9126161Z ✔ reconciles WriteStdin into its Bash parent while retaining safe operation metadata (17.310261ms) +2026-09-27T05:35:04.9154728Z ✔ keeps a durable background update ahead of a stale live turn result (9.029199ms) +2026-09-27T05:35:04.9207471Z ✔ keeps a newer live PTY screen ahead of the persisted snapshot (0.630216ms) +2026-09-27T05:35:04.9254986Z ✔ applies a durable update that arrives before the live Bash result (5.545652ms) +2026-09-27T05:35:04.9271676Z ✔ marks a running ShellRun inherited from a source session as detached (0.636865ms) +2026-09-27T05:35:04.9346230Z ✔ does not pair stale ownership with a newer ShellRun revision (0.612357ms) +2026-09-27T05:35:04.9417169Z ✔ ShellRun UI projection (43.211831ms) +2026-09-27T05:35:04.9435721Z ✔ numbered pages are present initially and jumping to the last page keeps the same controls (1846.94763ms) +2026-09-27T05:35:05.5306618Z ✔ debounces search edits, refreshes immediately, and cancels pending queries on unmount (584.891152ms) +2026-09-27T05:35:07.0366187Z ✔ the settings row always renders (93.517267ms) +2026-09-27T05:35:07.0427906Z ✔ a downloaded update renders its action button (22.755177ms) +2026-09-27T05:35:07.0455863Z ✔ a failed update renders its action button (14.403297ms) +2026-09-27T05:35:07.1653911Z ✔ bundled skills render the product description for their id in every locale (4.493141ms) +2026-09-27T05:35:07.1686358Z ✔ a bundled skill the user edited keeps the edited description (0.244163ms) +2026-09-27T05:35:07.1726328Z ✔ skills the user authored keep their own description in every locale (0.387795ms) +2026-09-27T05:35:07.3782051Z ✔ keeps cached navigation after revision_changed (1862.616212ms) +2026-09-27T05:35:07.4871352Z ✔ an available bundled skill renders the install action (75.5211ms) +2026-09-27T05:35:07.4926428Z ✔ an installed bundled skill replaces the download action with a completion check (21.668025ms) +2026-09-27T05:35:08.1976378Z ✔ Skill locations close the menu before opening and create only a missing directory (516.242791ms) +2026-09-27T05:35:08.3026360Z ▶ applyStreamDelta — the two recovery directions +2026-09-27T05:35:08.3086430Z ✔ head-keeps the prefix and tail-keeps the most recent, from one input (9.951967ms) +2026-09-27T05:35:08.3146032Z ✔ drops the carried state only where head-keep cut the suffix it describes (6.746435ms) +2026-09-27T05:35:08.3199044Z ✔ freezes a full head-kept buffer and keeps a tail-kept window sliding (1.241859ms) +2026-09-27T05:35:08.3256049Z ✔ applyStreamDelta — the two recovery directions (19.653085ms) +2026-09-27T05:35:08.3315872Z ▶ applyStreamDelta — defensive guard +2026-09-27T05:35:08.3385085Z ✔ drops a non-string delta in both directions (0.299676ms) +2026-09-27T05:35:08.3416012Z ✔ passes the caller state straight back through the guard (6.454225ms) +2026-09-27T05:35:08.3445737Z ✔ applyStreamDelta — defensive guard (7.088328ms) +2026-09-27T05:35:08.3505529Z ▶ applyStreamComplete +2026-09-27T05:35:08.3565913Z ✔ applies the total cap in the direction it was given (0.566534ms) +2026-09-27T05:35:08.3619023Z ✔ redacts the final payload (0.303358ms) +2026-09-27T05:35:08.3675781Z ✔ returns empty for a non-string payload (0.220086ms) +2026-09-27T05:35:08.3723392Z ✔ applyStreamComplete (1.531773ms) +2026-09-27T05:35:08.9326018Z ▶ streaming display redaction +2026-09-27T05:35:08.9327099Z ✔ matches the whole-text oracle for every chunking of short inputs (726.126095ms) +2026-09-27T05:35:08.9328088Z ✔ covers separators, JWTs, opaque tokens, hashes, whitespace, and newlines (514.996872ms) +2026-09-27T05:35:08.9329540Z ✔ matches randomized prefixes under deterministic arbitrary chunking (36.41491ms) +2026-09-27T05:35:08.9330596Z ✔ settles completed lines while retaining only the mutable suffix (1.761146ms) +2026-09-27T05:35:08.9331756Z ✔ fails closed when a stateless bootstrap follows a redaction marker (0.420362ms) +2026-09-27T05:35:08.9332698Z ✔ redacts cross-delta secrets before total truncation (3.99835ms) +2026-09-27T05:35:08.9363303Z ✔ does not expose a secret continuation after a long contextual delta (0.368898ms) +2026-09-27T05:35:08.9426279Z ✔ keeps a large reseed delta whole and preserves its unfinished opener (7.263112ms) +2026-09-27T05:35:08.9448418Z ✔ keeps contextual redaction bounded without changing the visible total cap (0.596607ms) +2026-09-27T05:35:08.9496273Z ✔ settles prior redacted values so the complete retained raw suffix stays bounded (0.579272ms) +2026-09-27T05:35:08.9505754Z ✔ bounds reversible provider and opaque tokens, then recovers existing cap semantics (5.139019ms) +2026-09-27T05:35:08.9524762Z ✔ recovers reversible token invalidation after thinking tail truncation (0.444107ms) +2026-09-27T05:35:08.9539127Z ✔ keeps a Host-merged thinking slice whole below the total cap (3.667293ms) +2026-09-27T05:35:08.9545178Z ✔ continues tail-kept thinking after the total cap without leaking an active secret (0.439118ms) +2026-09-27T05:35:08.9546425Z ✔ recovers a contextual opener hidden by thinking tail truncation (0.792267ms) +2026-09-27T05:35:08.9547335Z ✔ streaming display redaction (1311.987173ms) +2026-09-27T05:35:09.8516217Z ✔ keeps cached navigation after screen_response_too_large (2452.657941ms) +2026-09-27T05:35:11.0226161Z ✔ settles an authoritative baseline delivered after mount (192.949686ms) +2026-09-27T05:35:11.0746067Z ✔ never reveals half of a Unicode code point (49.609191ms) +2026-09-27T05:35:11.1516279Z ✔ keeps settled math stable while the live Markdown tail grows and flushes (89.51863ms) +2026-09-27T05:35:11.1726305Z ✔ keeps inline math when a digit chunk lands after the committed closer (42.469028ms) +2026-09-27T05:35:11.1906452Z ✔ never exposes math transport syntax as a formula crosses the display cursor (14.636301ms) +2026-09-27T05:35:11.2240034Z ✔ keeps a restored prefix inside math visible and handles a formula rewrite (26.626276ms) +2026-09-27T05:35:11.4176325Z ✔ keeps split fenced-code openers literal through final flush (205.982637ms) +2026-09-27T05:35:11.5438691Z ✔ display and copy share reply identity across process, steering and interrupted boundaries (1.615194ms) +2026-09-27T05:35:11.5476138Z ✔ folds interleaved commentary and tools together without changing their order (1.0834ms) +2026-09-27T05:35:11.5647630Z ✔ keeps inserted user instructions and each segment reply outside disclosures (0.375992ms) +2026-09-27T05:35:11.5756297Z ✔ does not promote text followed by tools to the final answer (3.051265ms) +2026-09-27T05:35:11.5846240Z ✔ leaves plain replies alone and includes reasoning in the process (0.271937ms) +2026-09-27T05:35:11.5986286Z ✔ process identity survives tool projection and a new commentary step (0.164875ms) +2026-09-27T05:35:11.6120736Z ✔ keeps a reply visible when only reasoning follows it (0.186129ms) +2026-09-27T05:35:11.6186160Z ✔ reconciled entries keep identity only where the fold actually moved (0.404467ms) +2026-09-27T05:35:11.6226202Z ✔ both branches hand their rendered span to the truncation measurement (340.416588ms) +2026-09-27T05:35:11.6227502Z ✔ the Host untitled name reads as the localized placeholder (127.417691ms) +2026-09-27T05:35:11.6256074Z ✔ committing the untitled placeholder unchanged keeps the stored name (146.838303ms) +2026-09-27T05:35:11.6285907Z ✔ deduplicates identical active toast content within the same session (1.273393ms) +2026-09-27T05:35:11.6315881Z ✔ does not merge identical active toast content across sessions (0.284109ms) +2026-09-27T05:35:11.6317110Z ✔ does not merge different error content within the same session (0.193536ms) +2026-09-27T05:35:12.6685619Z ✔ keeps cached navigation after filter_error (2901.228495ms) +2026-09-27T05:35:12.7946139Z ▶ getOnboardingActivationCandidate +2026-09-27T05:35:12.7976793Z ✔ exposes the readiness-checked pair during an unsettled first activation (4.60759ms) +2026-09-27T05:35:12.8011899Z ✔ does not influence ordinary new tasks after workspace history exists (0.311572ms) +2026-09-27T05:35:12.8066098Z ✔ does not influence the composer after onboarding is settled (0.231169ms) +2026-09-27T05:35:12.8123664Z ✔ does not trust a stale ready-empty snapshot after local history appears (0.173698ms) +2026-09-27T05:35:12.8149192Z ✔ getOnboardingActivationCandidate (10.165388ms) +2026-09-27T05:35:12.8150289Z ▶ onboardingSnapshotProjectionEqual +2026-09-27T05:35:12.8151244Z ✔ ignores sessions churn — the catalog owns live session rows (0.396982ms) +2026-09-27T05:35:12.8152214Z ✔ detects changes in the render-relevant fields (1.725717ms) +2026-09-27T05:35:12.8153103Z ✔ onboardingSnapshotProjectionEqual (2.440598ms) +2026-09-27T05:35:12.8155166Z ✔ one outcome delta leaves unrelated outcomes and default state in place (0.46708ms) +2026-09-27T05:35:12.8156521Z ▶ createOnboardingSnapshotPoller +2026-09-27T05:35:12.8157425Z ✔ uses one targeted read for a named event after bootstrap (5.121319ms) +2026-09-27T05:35:12.8169923Z ✔ keeps the accepted snapshot on a targeted failure until a complete resync succeeds (15.412989ms) +2026-09-27T05:35:12.8174304Z ✔ coalesces a repeat while a targeted read is in flight (0.740217ms) +2026-09-27T05:35:12.8175545Z ✔ bounds distinct pending IDs and falls back to one complete resync (0.566639ms) +2026-09-27T05:35:12.8176594Z ✔ scrubs getSnapshot rejections before routing them to onError (1.092423ms) +2026-09-27T05:35:12.8177648Z ✔ a pull issued while another is in flight runs once after it settles (82.649308ms) +2026-09-27T05:35:12.8178681Z ✔ collapses repeated invalidations during one pull into a single follow-up (4.246244ms) +2026-09-27T05:35:12.8179789Z ✔ a response in flight across dispose cannot write after re-activation (9.181408ms) +2026-09-27T05:35:12.8180735Z ✔ dispose() prevents pending getSnapshot callbacks after unmount (0.340785ms) +2026-09-27T05:35:12.8181715Z ✔ dispose() prevents pending error callbacks after unmount (0.296585ms) +2026-09-27T05:35:12.8183542Z ✔ activate() restores callbacks after StrictMode cleanup replay (0.25912ms) +2026-09-27T05:35:12.8184662Z ✔ createOnboardingSnapshotPoller (121.127437ms) +2026-09-27T05:35:12.8185666Z ✔ discards a pending Project projection after the default Host changes (162.026543ms) +2026-09-27T05:35:12.8186402Z ▶ useSessionTrace +2026-09-27T05:35:12.8187232Z ✔ subscribes only while the panel is active, and unsubscribes when it hides (107.547562ms) +2026-09-27T05:35:12.8188275Z ✔ re-reads once for a burst of ledger-changing events (461.039397ms) +2026-09-27T05:35:12.8189290Z ✔ refreshes Session usage only from the Usage authority signal (1362.746606ms) +2026-09-27T05:35:12.8190189Z ✔ does not re-read for streaming deltas (468.728568ms) +2026-09-27T05:35:12.8191169Z ✔ never reads after the panel hides, even for an event already in flight (455.724131ms) +2026-09-27T05:35:12.8192528Z ✔ keeps the previous timeline across hide and re-activation (8.365557ms) +2026-09-27T05:35:12.8194210Z ✔ rebuilds the requested page depth from the newest runs after a refresh (467.466685ms) +2026-09-27T05:35:12.8195560Z ✔ collapses all loaded earlier pages after reaching the oldest page (16.84555ms) +2026-09-27T05:35:12.8196881Z ✔ rebuilds the loaded window when a run is inserted behind an unchanged head cursor (470.178527ms) +2026-09-27T05:35:12.8198079Z ✔ keeps the requested page depth when a head refresh supersedes load-earlier (459.793074ms) +2026-09-27T05:35:12.8199350Z ✔ settles loading when load-earlier supersedes an in-flight retry (12.066161ms) +2026-09-27T05:35:12.8200394Z ✔ stops presenting an old Session summary when its refresh fails (459.186647ms) +2026-09-27T05:35:12.8201192Z ✔ useSessionTrace (4755.997636ms) +2026-09-27T05:35:12.8201994Z ✔ keeps connection projections isolated and cached by owning Host (73.945549ms) +2026-09-27T05:35:12.8205080Z [desktop] operation failed: Error: session unavailable +2026-09-27T05:35:12.8209007Z at Object.getSnapshot (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/use-shell-connections.test.js:111:23) +2026-09-27T05:35:12.8210824Z at refreshConnections (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/use-shell-connections.js:90:54) +2026-09-27T05:35:12.8212203Z at file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/use-shell-connections.js:46:18 +2026-09-27T05:35:12.8213670Z at Object.react_stack_bottom_frame (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:28656:20) +2026-09-27T05:35:12.8215398Z at runWithFiberInDEV (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:1045:30) +2026-09-27T05:35:12.8216980Z at commitHookEffectListMount (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:13748:29) +2026-09-27T05:35:12.8218600Z at commitHookLayoutEffects (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:13712:11) +2026-09-27T05:35:12.8220206Z at commitLayoutEffectOnFiber (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:15041:13) +2026-09-27T05:35:12.8221873Z at recursivelyTraverseLayoutEffects (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:16482:11) +2026-09-27T05:35:12.8223648Z at commitLayoutEffectOnFiber (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:15121:11) +2026-09-27T05:35:12.8225301Z ✔ loads the default Host projection without waiting for the new-task catalog (29.835197ms) +2026-09-27T05:35:12.8226198Z [desktop] operation failed: Error: profile unavailable +2026-09-27T05:35:12.8227374Z at Object.getConnections (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/use-shell-connections.test.js:116:23) +2026-09-27T05:35:12.8228893Z at refreshConnections (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/use-shell-connections.js:94:51) +2026-09-27T05:35:12.8230194Z at file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/use-shell-connections.js:46:18 +2026-09-27T05:35:12.8231597Z at Object.react_stack_bottom_frame (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:28656:20) +2026-09-27T05:35:12.8236647Z at runWithFiberInDEV (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:1045:30) +2026-09-27T05:35:12.8239274Z at commitHookEffectListMount (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:13748:29) +2026-09-27T05:35:12.8241796Z at commitHookLayoutEffects (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:13712:11) +2026-09-27T05:35:12.8243612Z at commitLayoutEffectOnFiber (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:15041:13) +2026-09-27T05:35:12.8245907Z at recursivelyTraverseLayoutEffects (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:16482:11) +2026-09-27T05:35:12.8248446Z at commitLayoutEffectOnFiber (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:15121:11) +2026-09-27T05:35:12.8249622Z [desktop] operation failed: Error: session unavailable +2026-09-27T05:35:12.8250959Z at runOnDefaultRuntimeHost (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/platform/desktop/default-runtime-host-operation.js:34:15) +2026-09-27T05:35:12.8252601Z at async refreshConnections (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/use-shell-connections.js:105:32) +2026-09-27T05:35:12.8254094Z ✔ reports connection refresh failures against their owning Host (33.316807ms) +2026-09-27T05:35:12.8255457Z ✔ a default read that fails while the default Host is still connecting stays pending (9.347194ms) +2026-09-27T05:35:12.8256447Z [desktop] operation failed: Error: connection read failed +2026-09-27T05:35:12.8258015Z at runOnDefaultRuntimeHost (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/platform/desktop/default-runtime-host-operation.js:34:15) +2026-09-27T05:35:12.8259821Z at async refreshConnections (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/use-shell-connections.js:105:32) +2026-09-27T05:35:12.8261258Z ✔ a default read failure still toasts when the Host readiness cannot be read (8.638629ms) +2026-09-27T05:35:12.8262582Z ✔ a default failure superseded while its readiness check is in flight does not toast (10.668093ms) +2026-09-27T05:35:12.8263557Z [desktop] operation failed: Error: refresh failed +2026-09-27T05:35:12.8264723Z at file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/use-shell-connections.test.js:307:30 +2026-09-27T05:35:12.8282912Z at process.env.NODE_ENV.exports.act (/home/runner/work/maka/maka/node_modules/react/cjs/react.development.js:890:22) +2026-09-27T05:35:12.8286551Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/use-shell-connections.test.js:306:11) +2026-09-27T05:35:12.8288167Z at async Test.run (node:internal/test_runner/test:1409:7) +2026-09-27T05:35:12.8292524Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:35:12.8293914Z ✔ keeps serving the last ready snapshot while a refresh is in flight (#4611) (9.301ms) +2026-09-27T05:35:12.8295278Z ✔ a first load with no prior snapshot still reads empty until ready (#4611) (8.253483ms) +2026-09-27T05:35:12.8296360Z ✔ the startup seed fills an in-flight first refresh (#4611) (8.25151ms) +2026-09-27T05:35:12.8297451Z ✔ a refresh that resolves to a genuinely empty catalog shows empty (#4611) (5.199276ms) +2026-09-27T05:35:12.8298366Z [desktop] operation failed: Error: host b read failed +2026-09-27T05:35:12.8299670Z at runOnDefaultRuntimeHost (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/platform/desktop/default-runtime-host-operation.js:34:15) +2026-09-27T05:35:12.8301448Z at async Object.refreshConnections (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/use-shell-connections.js:105:32) +2026-09-27T05:35:12.8302905Z at async file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/use-shell-connections.test.js:471:9 +2026-09-27T05:35:12.8304943Z ✔ a default-Host identity change never serves the previous Host catalog (#4611 review) (18.197913ms) +2026-09-27T05:35:12.8313755Z ✔ an older failed refresh cannot erase a newer successful snapshot (7.828085ms) +2026-09-27T05:35:12.8315633Z ✔ a previous Host refresh failure cannot erase the current Host snapshot (7.939937ms) +2026-09-27T05:35:12.8320894Z ▶ useStableActions +2026-09-27T05:35:12.8321826Z ✔ fixes action identities while delegating to the latest committed closures (27.906949ms) +2026-09-27T05:35:12.8322757Z ✔ useStableActions (36.668583ms) +2026-09-27T05:35:12.8323298Z ▶ useWorkBoard +2026-09-27T05:35:12.8324217Z ✔ preserves the loaded window when a mutation change signal refreshes the board (59.572968ms) +2026-09-27T05:35:12.8325350Z ✔ useWorkBoard (61.340625ms) +2026-09-27T05:35:12.8325998Z ▶ web search credential source +2026-09-27T05:35:12.8326968Z ✔ reads Tavily keys from environment without exposing the value in source state (1.028184ms) +2026-09-27T05:35:12.8328050Z ✔ uses env before saved key and draft before both (1.071091ms) +2026-09-27T05:35:12.8328866Z ✔ falls back to saved key, then none (2.888045ms) +2026-09-27T05:35:12.8329640Z ✔ web search credential source (9.399829ms) +2026-09-27T05:35:12.8330474Z ▶ wechat-scan-login abort signal (PR1197 review P2-10) +2026-09-27T05:35:12.8331607Z ✔ fetchWeChatQrcode composes the caller signal so cancel aborts the in-flight request (3.526679ms) +2026-09-27T05:35:12.8332869Z ✔ pollWeChatQrcodeStatus composes the caller signal into the request (1.048903ms) +2026-09-27T05:35:12.8334028Z ✔ wechat-scan-login abort signal (PR1197 review P2-10) (6.592729ms) +2026-09-27T05:35:12.8334910Z ▶ resolveWindowRevealMode +2026-09-27T05:35:12.8335891Z ✔ leaves a product run active (1.078464ms) +2026-09-27T05:35:12.8336688Z ✔ hides an E2E run that did not ask for a window (0.223945ms) +2026-09-27T05:35:12.8337823Z ✔ gives an E2E run that asked for a window pixels, not focus (0.275813ms) +2026-09-27T05:35:12.8338845Z ✔ ignores a stray E2E flag in a packaged build (0.1693ms) +2026-09-27T05:35:12.8339631Z ✔ resolveWindowRevealMode (9.69345ms) +2026-09-27T05:35:12.8340254Z ▶ resolveDockPresentation +2026-09-27T05:35:12.8340854Z ✔ has no dock off macOS (0.264599ms) +2026-09-27T05:35:12.8341580Z ✔ shows the brand mark only for a product run (0.521953ms) +2026-09-27T05:35:12.8342560Z ✔ stays an accessory app for every E2E run, visible window included (0.200073ms) +2026-09-27T05:35:12.8343408Z ✔ resolveDockPresentation (1.560089ms) +2026-09-27T05:35:12.8344009Z ▶ showWindowOnceReady +2026-09-27T05:35:12.8344746Z ✔ reveals an active run with show() (5.716213ms) +2026-09-27T05:35:12.8346639Z ✔ reveals an inactive run without activating the app (0.475805ms) +2026-09-27T05:35:12.8347436Z ✔ never reveals a hidden run (0.481023ms) +2026-09-27T05:35:12.8348226Z ✔ ignores a destroyed or already visible window (0.199033ms) +2026-09-27T05:35:12.8348965Z ✔ showWindowOnceReady (8.540208ms) +2026-09-27T05:35:12.8349556Z ▶ createWindowRevealGate +2026-09-27T05:35:12.8350418Z ✔ flushes a deferred focus request as a real activation for a product run (0.430461ms) +2026-09-27T05:35:12.8351536Z ✔ answers a focus request on an inactive run with a reveal and nothing more (3.57943ms) +2026-09-27T05:35:12.8352673Z ✔ reveals inactively before maximizing, so the maximize cannot raise the app (0.254903ms) +2026-09-27T05:35:12.8353643Z ✔ keeps a hidden run hidden on every path (1.992678ms) +2026-09-27T05:35:12.8354379Z ✔ createWindowRevealGate (6.54294ms) +2026-09-27T05:35:12.8355686Z ✔ Windows tray reopens either surface and reserves quit for the explicit menu action (6.339906ms) +2026-09-27T05:35:12.8356683Z ✔ tray follows the current native UI locale (0.455908ms) +2026-09-27T05:35:12.8357654Z ✔ failed native setup never claims that a background entry exists (4.436974ms) +2026-09-27T05:35:12.8358585Z ✔ macOS and isolated runs do not create another tray entry (0.326123ms) +2026-09-27T05:35:12.8359272Z ▶ Windows maximize renderer sync +2026-09-27T05:35:12.8360097Z ✔ defers one root layout and repaint for a maximized Windows window (8.263794ms) +2026-09-27T05:35:12.8361012Z ✔ does nothing on non-Windows platforms (0.261942ms) +2026-09-27T05:35:12.8362027Z ✔ drops deferred work when the window leaves maximized state or is destroyed (0.407931ms) +2026-09-27T05:35:12.8362938Z ✔ does not touch a destroyed WebContents (0.405041ms) +2026-09-27T05:35:12.8363820Z ✔ reports a native layout failure without stranding future syncs (3.522964ms) +2026-09-27T05:35:12.8364776Z ✔ Windows maximize renderer sync (24.765026ms) +2026-09-27T05:35:12.8377322Z ▶ Work Board IPC +2026-09-27T05:35:12.8378873Z ✔ returns only corrupt_record and preserves diagnostic policy: Work Board item item-1 has invalid record_json (438.22959ms) +2026-09-27T05:35:12.8380552Z ✔ returns only corrupt_record and preserves diagnostic policy: Work Board item item-2 failed contract validation (232.307973ms) +2026-09-27T05:35:12.8382309Z ✔ returns only corrupt_record and preserves diagnostic policy: Work Board item item-3 has indexed columns that disagree with record_json (194.111089ms) +2026-09-27T05:35:12.8383794Z ✔ returns only unknown and preserves diagnostic policy: Database read failed (228.455205ms) +2026-09-27T05:35:12.8385271Z ✔ returns only invalid_input and preserves diagnostic policy: Work Board item id is invalid (110.353551ms) +2026-09-27T05:35:12.8386646Z ✔ returns only not_found and preserves diagnostic policy: Work Board item item-4 was not found (190.574784ms) +2026-09-27T05:35:12.8388072Z ✔ returns only operation_conflict and preserves diagnostic policy: Work Board item revision changed (187.431919ms) +2026-09-27T05:35:12.8390024Z ✔ returns only must_archive_first and preserves diagnostic policy: Only archived Work Board items can be deleted (200.364252ms) +2026-09-27T05:35:12.8391241Z ✔ creates and lists items and emits change signals (221.107149ms) +2026-09-27T05:35:12.8392338Z ✔ registers handlers before the schema-gated store resolves (174.797598ms) +2026-09-27T05:35:12.8393402Z ✔ applies lifecycle mutations and fails closed on invalid input (207.649917ms) +2026-09-27T05:35:12.8394559Z ✔ rejects a linked Session that the Host validator cannot prove (178.651931ms) +2026-09-27T05:35:12.8395660Z ✔ rejects linking a Session to an Inbox item even when the Host validates (225.798358ms) +2026-09-27T05:35:12.8396849Z ✔ passes the canonical board project to the Host validator for a project-scoped item (180.211773ms) +2026-09-27T05:35:12.8398131Z ✔ rejects a project-scoped link whose Session belongs to another project on the same Host (127.082156ms) +2026-09-27T05:35:12.8399346Z ✔ fails closed when the item changes during Host validation (revision CAS) (221.712582ms) +2026-09-27T05:35:12.8400199Z ✔ Work Board IPC (3324.562773ms) +2026-09-27T05:35:12.8401149Z ✔ prevents a second Work Board create while the first request is pending (162.674716ms) +2026-09-27T05:35:12.8402047Z ▶ Work Board Start task target resolution +2026-09-27T05:35:12.8402910Z ✔ resolves an available project alias to a canonical Host target (7.448217ms) +2026-09-27T05:35:12.8404578Z ✔ rejects Inbox and unavailable projects (0.259106ms) +2026-09-27T05:35:12.8406665Z ✔ rejects archived and ambiguous projects (1.729901ms) +2026-09-27T05:35:12.8407503Z ✔ Work Board Start task target resolution (11.05703ms) +2026-09-27T05:35:12.8408181Z ▶ Workbar feature boundary +2026-09-27T05:35:12.8408864Z ✔ contains no Desktop global bridge or shell/process imports (18.621984ms) +2026-09-27T05:35:12.8409798Z ✔ is consumed outside the feature only through public entries (150.900515ms) +2026-09-27T05:35:12.8410664Z ✔ keeps fake services out of the production entry (0.354214ms) +2026-09-27T05:35:12.8411583Z ✔ keeps Workbar topology and resource lifecycle out of AppShell (4.348133ms) +2026-09-27T05:35:12.8412657Z ✔ keeps Quote Companion catalog state and localized scroll copy at the seam (0.388684ms) +2026-09-27T05:35:12.8419448Z ✔ Workbar feature boundary (178.407356ms) +2026-09-27T05:35:13.6868575Z ▶ tool activity presentation +2026-09-27T05:35:13.6915537Z ✔ localizes client capability boundary failures and offers recovery (92.495938ms) +2026-09-27T05:35:13.7036047Z ✔ keeps generic requires-bypass failures verbatim (23.675602ms) +2026-09-27T05:35:13.7092517Z ✔ localizes file-write result summaries (14.772321ms) +2026-09-27T05:35:13.7206249Z ✔ shows AskUserQuestion answers against the offered options (13.644102ms) +2026-09-27T05:35:13.7255990Z ✔ describes Computer Use proxy calls by action instead of the generic tool name (15.248396ms) +2026-09-27T05:35:13.7366057Z ✔ inherits the confirmed target and exposes live sequence progress (24.457413ms) +2026-09-27T05:35:13.7439048Z ✔ renders a tool_search activation as a localized capability summary (6.964317ms) +2026-09-27T05:35:13.7496517Z ✔ keeps legacy Computer Use activations friendly without result metadata (12.009384ms) +2026-09-27T05:35:13.7555895Z ✔ uses supplied labels for third-party capability groups (7.667046ms) +2026-09-27T05:35:13.7584674Z ✔ uses one localized presentation model for every first-party capability group (43.629348ms) +2026-09-27T05:35:13.7635870Z ✔ contains a malformed persisted terminal result instead of crashing the renderer (6.141487ms) +2026-09-27T05:35:13.7706099Z ✔ redacts secrets in sensitive values and property names (39.948997ms) +2026-09-27T05:35:13.7735842Z ✔ keeps pre-handoff live output when shell_run lands with empty streams (2.777731ms) +2026-09-27T05:35:13.7775826Z ✔ keeps redacted/truncated meta when live chunks are empty bodies (11.372412ms) +2026-09-27T05:35:13.7832508Z ✔ keeps provider call ids out of output action names (8.835512ms) +2026-09-27T05:35:13.7855570Z ✔ disambiguates code copy actions by their tool call (18.811234ms) +2026-09-27T05:35:13.7909164Z ✔ renders each owned-panel family through one un-nested output surface (25.71016ms) +2026-09-27T05:35:13.7966434Z ✔ keeps plain JSON in the shared quiet panel (5.911047ms) +2026-09-27T05:35:13.8097024Z ✔ routes WriteStdin shell results to the PTY control presentation (4.964697ms) +2026-09-27T05:35:13.8283751Z ✔ renders shared descriptor results and args-only details without inventing panels (23.000257ms) +2026-09-27T05:35:13.8341996Z ✔ switches a shared call from live output to its settled result (17.385045ms) +2026-09-27T05:35:13.8426265Z ✔ hides permission-denied output but keeps cancelled output visible without a failure banner (9.596952ms) +2026-09-27T05:35:13.8495991Z ✔ lets sandbox-blocked output coexist with its banner (16.520926ms) +2026-09-27T05:35:13.8601259Z ✔ tool activity presentation (457.003136ms) +2026-09-27T05:35:13.8726029Z ▶ collapsed tool row target +2026-09-27T05:35:13.8766339Z ✔ shows the invocation line derived from args when no intent exists (1.80087ms) +2026-09-27T05:35:13.8816129Z ✔ prefers the runtime-authored intent over the args-derived line (4.383434ms) +2026-09-27T05:35:13.8855855Z ✔ names a live call from the wire args preview before full args arrive (7.839214ms) +2026-09-27T05:35:13.8875759Z ✔ caps a long command so the collapsed row stays single-line (1.912509ms) +2026-09-27T05:35:13.8935819Z ✔ redacts secrets in the collapsed target (9.119375ms) +2026-09-27T05:35:13.9045932Z ✔ collapsed tool row target (25.52778ms) +2026-09-27T05:35:13.9116308Z ✔ uses WorkHub status once in the collapsed row and retains arguments in details (25.62331ms) +2026-09-27T05:35:13.9266009Z ✔ custom load-tool groups use Traditional Chinese action copy (6.437474ms) +2026-09-27T05:35:13.9336281Z ✔ WorkHub control shows its user-language status in live and recorded tool rows (6.265057ms) +2026-09-27T05:35:13.9396134Z ✔ tool group defers rows and preserves opened detail (uncontrolled) (271.176681ms) +2026-09-27T05:35:13.9448496Z ✔ tool group defers rows and preserves opened detail (controlled) (103.269704ms) +2026-09-27T05:35:13.9535906Z ▶ incremental transcript projection +2026-09-27T05:35:13.9593252Z ✔ a durable append does not reread unchanged historical message contents (4.935246ms) +2026-09-27T05:35:13.9656050Z ✔ a durable append keeps unchanged timeline items inside the affected turn (1.104146ms) +2026-09-27T05:35:13.9715894Z ✔ durable appends preserve cross-turn tool ownership and storage order (15.393472ms) +2026-09-27T05:35:13.9786223Z ✔ appends after replacement, prepend, filtering and locale changes match full projection (8.763531ms) +2026-09-27T05:35:13.9890347Z ✔ a ShellRun child appended before its Bash is folded when the owner arrives (4.566594ms) +2026-09-27T05:35:13.9946216Z ✔ snapshot reordering keeps surviving Turn identities at their new positions (0.532789ms) +2026-09-27T05:35:14.0067319Z ✔ a locale change rematerializes localized system notes (0.347505ms) +2026-09-27T05:35:14.0128953Z ✔ a locale change updates the live context-compaction row text (0.976489ms) +2026-09-27T05:35:14.0196087Z ✔ a shell-run update whose semantics are unchanged affects nothing (5.403101ms) +2026-09-27T05:35:14.0256029Z ✔ a turn missing from the durable snapshot is dropped, leaving the rest identical (0.569313ms) +2026-09-27T05:35:14.0315968Z ✔ deleting an earlier turn keeps the surviving turns identical (0.487318ms) +2026-09-27T05:35:14.0375998Z ✔ an edited-and-resent prompt invalidates its own turn and nothing before it (3.674666ms) +2026-09-27T05:35:14.0413820Z ✔ a live step handed off to durable messages rebuilds only its own turn (2.079641ms) +2026-09-27T05:35:14.0491010Z ✔ an ownership flip at an unchanged revision invalidates the owning turn (0.66205ms) +2026-09-27T05:35:14.0555825Z ✔ a plain text delta never touches the message log at all (4.056857ms) +2026-09-27T05:35:14.0585641Z ✔ an update list mutated in place still advances the projection (0.371161ms) +2026-09-27T05:35:14.0615778Z ✔ a session switch shows the new session and retains nothing of the old (0.530976ms) +2026-09-27T05:35:14.0642246Z ✔ affects the ShellRun owner turn, not the turn the event names (0.524349ms) +2026-09-27T05:35:14.0675856Z ✔ folds a child that renders ahead of the Bash owning the run (6.313061ms) +2026-09-27T05:35:14.0735763Z ✔ applies an update whose only target is a live-only tool (0.453474ms) +2026-09-27T05:35:14.0795848Z ✔ a streaming delta moves only the timeline item it grew (2.785931ms) +2026-09-27T05:35:14.0900737Z ✔ incremental transcript projection (70.714142ms) +2026-09-27T05:35:14.0915605Z ▶ turn identity moves across structural change classes +2026-09-27T05:35:14.0945536Z ✔ a refresh that only changes `tools` moves the turn (2.519561ms) +2026-09-27T05:35:14.1005698Z ✔ a refresh that only changes `status` moves the turn (0.159372ms) +2026-09-27T05:35:14.1036145Z ✔ a refresh that only changes `failureMessage` moves the turn (0.284677ms) +2026-09-27T05:35:14.1107224Z ✔ a refresh that only changes `timeline` moves the turn (0.225788ms) +2026-09-27T05:35:14.1143132Z ✔ turn identity moves across structural change classes (3.474889ms) +2026-09-27T05:35:14.1235174Z ▶ valuesEqual +2026-09-27T05:35:14.1317560Z ✔ fails closed on anything that is not a plain object (0.223969ms) +2026-09-27T05:35:14.1371593Z ✔ valuesEqual (0.31799ms) +2026-09-27T05:35:14.1395383Z ✔ native scroll anchoring stays off while attached and is restored on detach (2.789986ms) +2026-09-27T05:35:14.1606135Z ✔ Ctrl and Meta wheel zoom preserve following (0.629932ms) +2026-09-27T05:35:14.1664078Z ✔ an upward gesture at an unmoving edge keeps following (0.443125ms) +2026-09-27T05:35:14.1722534Z ✔ a passive wheel delivered after its threaded scroll reached the top releases the tail (0.334515ms) +2026-09-27T05:35:14.1776107Z ✔ content that grows under a pinned transcript keeps the tail on screen (0.313192ms) +2026-09-27T05:35:14.1780271Z ✔ identical shrink/grow geometry follows only when no reader input intervened (0.468992ms) +2026-09-27T05:35:14.1789656Z ✔ history prepended above a pinned reader moves the offset without releasing the pin (0.325467ms) +2026-09-27T05:35:14.1851105Z ✔ content landing above a released reader does not re-pin them (0.324675ms) +2026-09-27T05:35:14.1895943Z ✔ scrollend cannot retire a continuing operation or a newer input (0.404546ms) +2026-09-27T05:35:14.1996047Z ✔ scrollbar defaults can land after pointerup, while an unmoved click retires (0.672151ms) +2026-09-27T05:35:14.2013095Z ✔ user input releases the tail before content can overwrite the scroll (0.322583ms) +2026-09-27T05:35:14.2167858Z ✔ returning to the tail re-pins, and following resumes (0.274865ms) +2026-09-27T05:35:14.2205850Z ✔ a detached authority writes nothing (0.274123ms) +2026-09-27T05:35:14.2299286Z ✔ a viewport that loses height takes the pinned reader back to the tail (0.219825ms) +2026-09-27T05:35:14.2396106Z ✔ a reader who scrolls up while the answer grows is still the reader (0.269019ms) +2026-09-27T05:35:14.2445971Z ✔ a slow reader is a reader, however small each step is (0.602238ms) +2026-09-27T05:35:14.2496020Z ✔ the reading position is the Turn the attached reader names under the offset (0.498466ms) +2026-09-27T05:35:14.2530487Z ✔ a change to the list other than growth at its tail keeps the reader on their Turn (0.579213ms) +2026-09-27T05:35:14.2579565Z ✔ reader input ends the positioning, and neither a pinned reader nor a removed Turn is positioned (0.287523ms) +2026-09-27T05:35:14.2618032Z ✔ a navigation waits for its Turn, and a later command supersedes it before it settles (1.338108ms) +2026-09-27T05:35:14.2674073Z ✔ a navigation whose arrival settles without its Turn ends (0.513692ms) +2026-09-27T05:35:14.2684598Z ✔ a transcript without a Turn reader has no reading position (0.212511ms) +2026-09-27T05:35:14.2724913Z ✔ a list is in place once it is measured and the reader is where the last command put them (0.53003ms) +2026-09-27T05:35:14.2795568Z ▶ turnRendersUserMessage +2026-09-27T05:35:14.2875851Z ✔ matches the Turn primary prompt id (1.020968ms) +2026-09-27T05:35:14.2925849Z ✔ matches an admitted user timeline item id (0.311413ms) +2026-09-27T05:35:14.2927225Z ✔ does not match a non-user timeline item that reuses the id (0.171027ms) +2026-09-27T05:35:14.2928096Z ✔ matches across every rendered Turn, not only the tail (0.143899ms) +2026-09-27T05:35:14.2928884Z ✔ without Turns nothing is already rendered (0.155901ms) +2026-09-27T05:35:14.2929553Z ✔ turnRendersUserMessage (9.980284ms) +2026-09-27T05:35:14.2930075Z ▶ selectTailTransientMessages +2026-09-27T05:35:14.2930793Z ✔ drops a duplicate the tail Turn already renders as its prompt (4.449241ms) +2026-09-27T05:35:14.2931676Z ✔ keeps a distinct admitted message queued behind the live prompt (3.209158ms) +2026-09-27T05:35:14.2932530Z ✔ keeps every transient while the Turn has no user row yet (1.75241ms) +2026-09-27T05:35:14.2933326Z ✔ excludes messages already routed into the inline slot (0.25529ms) +2026-09-27T05:35:14.2934037Z ✔ selectTailTransientMessages (10.195323ms) +2026-09-27T05:35:15.4521381Z ✔ coexists with the RuntimeEvent schema in one workspace database (221.55185ms) +2026-09-27T05:35:15.4558908Z ✔ persists an explicitly supplied external genesis boundary (81.235607ms) +2026-09-27T05:35:15.4588070Z ✔ persists one immutable normalized sandbox boundary request at the current revision (111.830496ms) +2026-09-27T05:35:15.4605833Z ✔ serializes stale approvals without lost authority and settles retries idempotently (115.09216ms) +2026-09-27T05:35:15.4618787Z ✔ rejects an expansion atomically before the complete boundary exceeds capacity (11890.866455ms) +2026-09-27T05:35:15.4655902Z ✔ settles an already-authorized temp path without inflating the boundary revision (59.33637ms) +2026-09-27T05:35:15.7105245Z ▶ useWorkbarController +2026-09-27T05:35:15.7152091Z ✔ preserves an expansion requested before the Host-backed Session arrives (107.601895ms) +2026-09-27T05:35:15.7504092Z ✔ toggles the visible tool, reveals a different one, and retains its placement (36.411518ms) +2026-09-27T05:35:15.7748308Z ✔ opens a Side Chat for the active Session instead of toggling a hidden one (22.12921ms) +2026-09-27T05:35:15.7817512Z ✔ keeps the process header spinner-free across tool settlement and grouping (132.459318ms) +2026-09-27T05:35:15.7818778Z ✔ keeps a working cue before any process content arrives (19.594747ms) +2026-09-27T05:35:15.7890345Z ✔ user input and provider retry suppress playful process activity (28.648071ms) +2026-09-27T05:35:15.7967768Z ✔ only the latest assistant segment owns live activity after a user instruction (94.18753ms) +2026-09-27T05:35:15.8027839Z ✔ a live turn keeps its footer empty even after a step lands (100.280661ms) +2026-09-27T05:35:15.8081544Z ✔ shows the outcome in the status row and actions then finish time in the footer for a reply without process entries (12.298372ms) +2026-09-27T05:35:15.8223343Z ✔ keeps right-panel visibility independent across Session navigation (18.37473ms) +2026-09-27T05:35:15.8331962Z ✔ keeps an open requested in the activation commit bound to the new Session (38.129013ms) +2026-09-27T05:35:15.8716375Z ✔ preserves visibility while hiding, rather than removing, another Session's Terminal (29.640782ms) +2026-09-27T05:35:15.8846818Z ✔ projects the canonical project and absorbed aliases into the host model (21.560185ms) +2026-09-27T05:35:15.8924128Z ✔ routes Client Capability decisions to the active Session (10.438607ms) +2026-09-27T05:35:15.9095373Z ✔ keeps the initial Session active after StrictMode replays mount effects (12.583039ms) +2026-09-27T05:35:15.9256808Z ✔ blocks task-specific tools and side-chat commands in WorkHub (21.813589ms) +2026-09-27T05:35:15.9387637Z ✔ opens registry singletons once and dynamic tools as separate instances (10.212204ms) +2026-09-27T05:35:15.9453011Z ✔ retains a Terminal whose start resolves after navigation without revealing it in the new Session (7.600674ms) +2026-09-27T05:35:15.9545814Z ✔ stops only explicitly closed Terminals and retains the same resource across navigation (12.028477ms) +2026-09-27T05:35:15.9699105Z [desktop] operation failed: Error: Host disconnected +2026-09-27T05:35:15.9726860Z at file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/workbar-controller.test.js:554:30 +2026-09-27T05:35:15.9756056Z at process.env.NODE_ENV.exports.act (/home/runner/work/maka/maka/node_modules/react/cjs/react.development.js:890:22) +2026-09-27T05:35:15.9786159Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/workbar-controller.test.js:553:15) +2026-09-27T05:35:15.9837902Z at async Test.run (node:internal/test_runner/test:1409:7) +2026-09-27T05:35:15.9838899Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:35:16.0068312Z ✔ the reading anchor is the Turn the virtualizer maps under the offset (124.451633ms) +2026-09-27T05:35:16.0075016Z ✔ the measurement cache moves with a prepend and starts over when the list is rearranged (19.250941ms) +2026-09-27T05:35:16.0112525Z ✔ a search target is revealed by index once per nonce, then focused and highlighted (17.547681ms) +2026-09-27T05:35:16.0146839Z ✔ a bookmark restores its Turn at the top edge, and an unavailable one falls back to the tail (10.674246ms) +2026-09-27T05:35:16.0170563Z ✔ following the latest cancels a bookmark that has not landed (8.211429ms) +2026-09-27T05:35:16.0197551Z ✔ a rail navigation releases the pin and scrolls its Turn to the top by index (5.601331ms) +2026-09-27T05:35:16.0222304Z ✔ returning to the tail during a prepend landing is not undone by it (8.198665ms) +2026-09-27T05:35:16.0326639Z ✔ a reader who moves while earlier history is on its way stays where they went (10.5491ms) +2026-09-27T05:35:16.0363332Z ✔ a conversation that opens with its list is held back until it is in place, one without a list is not (9.287276ms) +2026-09-27T05:35:16.0406870Z ✔ a pick shows immediately, before the write settles (75.001941ms) +2026-09-27T05:35:16.0455504Z ✔ the pick clears to authority once the write resolves and value catches up (20.861562ms) +2026-09-27T05:35:16.0481789Z ✔ a rejected write rolls back to the authoritative value (13.605141ms) +2026-09-27T05:35:16.0528185Z ✔ the pick holds across an unrelated authority change while the write is in flight (14.893693ms) +2026-09-27T05:35:16.0561738Z ✔ picking the displayed value again never fires a write (15.62284ms) +2026-09-27T05:35:16.0597360Z ✔ latest pick wins: a slower earlier write settling does not wipe a newer pick (15.381605ms) +2026-09-27T05:35:16.0620242Z ✔ detects Apple platforms from navigator.platform values (4.592699ms) +2026-09-27T05:35:16.0664762Z ✔ rejects non-Apple platforms and unknown input (#3876) (0.252094ms) +2026-09-27T05:35:16.0699669Z ✔ prefers userAgentData.platform and falls back only when it is blank (0.213808ms) +2026-09-27T05:35:16.0738207Z ✔ form drafts preserve defaults and distinguish omitted optional booleans from false (8.649404ms) +2026-09-27T05:35:16.0783303Z ✔ accepted response parses numbers and omits excluded optional fields (0.730446ms) +2026-09-27T05:35:16.0826731Z ✔ number fields preserve and accept finite fractional values (0.309045ms) +2026-09-27T05:35:16.0901299Z ✔ explicit optional false remains an accepted value (2.896268ms) +2026-09-27T05:35:16.0907959Z ✔ invalid integer, required value, and multi-select bounds block acceptance (4.301355ms) +2026-09-27T05:35:16.0946270Z ✔ protocol field names remain own data properties (0.272988ms) +2026-09-27T05:35:16.0986562Z ✔ channels keep independent workers and overlays for the same session (72.8346ms) +2026-09-27T05:35:16.1024233Z ✔ revision-aware channel types require a catalog Session revision reader (3.843304ms) +2026-09-27T05:35:16.1026444Z ✔ preserves the public Session setting write result union (0.353979ms) +2026-09-27T05:35:16.1063928Z ✔ revision-aware commits retire only after the target session observes that revision (21.82874ms) +2026-09-27T05:35:16.1106599Z ✔ rapid revision-aware requests retire only after the last committed revision (18.656557ms) +2026-09-27T05:35:16.1136433Z ✔ rapid requests drain to the latest requested value (8.715672ms) +2026-09-27T05:35:16.1155679Z ✔ a rejected catalog refresh does not roll back a committed value (5.756695ms) +2026-09-27T05:35:16.1182176Z ✔ a newer request still writes after the in-flight write fails (7.074699ms) +2026-09-27T05:35:16.1226432Z ✔ clearing a session drops its pending and queued requests (7.557161ms) +2026-09-27T05:35:16.1259503Z ℹ tests 669 +2026-09-27T05:35:16.1302119Z ℹ suites 41 +2026-09-27T05:35:16.1327175Z ℹ pass 669 +2026-09-27T05:35:16.1395553Z ℹ fail 0 +2026-09-27T05:35:16.1466608Z ℹ cancelled 0 +2026-09-27T05:35:16.1495741Z ℹ skipped 0 +2026-09-27T05:35:16.1516292Z ℹ todo 0 +2026-09-27T05:35:16.1567589Z ℹ duration_ms 70220.004359 +2026-09-27T05:35:16.1599477Z ✔ retains a failed Terminal close for visible retry and removes it only after Stop succeeds (45.853555ms) +2026-09-27T05:35:16.1630964Z ✔ releases a retired owner’s terminal topology without stopping Host resources (16.185176ms) +2026-09-27T05:35:16.1664377Z ✔ leaves a late Terminal start with its Host Session after view disposal (2.550379ms) +2026-09-27T05:35:16.1695596Z ✔ recovers a live Terminal after Stop rejects following controller unmount (5.968844ms) +2026-09-27T05:35:16.1730940Z ✔ delivers an old pending Close to the rebuilt view (4.922067ms) +2026-09-27T05:35:16.1756688Z ✔ retries a failed inventory without needing output, navigation or reconnect (3.856761ms) +2026-09-27T05:35:16.1803460Z ✔ restores on reconnect without stealing selection or resurrecting a closed tab from an older read (10.818497ms) +2026-09-27T05:35:16.1804259Z [ui] passed +2026-09-27T05:35:16.1805078Z ✔ completes same Session recovery when Stop is the only invalidator (9.576675ms) +2026-09-27T05:35:16.1805498Z +2026-09-27T05:35:16.1805705Z [mcp] start: npm run test:dist +2026-09-27T05:35:16.1806391Z ✔ completes another Session recovery when Stop is the only invalidator (5.26477ms) +2026-09-27T05:35:16.1807102Z [desktop] operation failed: Error: current failure +2026-09-27T05:35:16.1808070Z at file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/workbar-controller.test.js:792:51 +2026-09-27T05:35:16.1809296Z at process.env.NODE_ENV.exports.act (/home/runner/work/maka/maka/node_modules/react/cjs/react.development.js:890:22) +2026-09-27T05:35:16.1810645Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/workbar-controller.test.js:792:15) +2026-09-27T05:35:16.1811705Z at async Test.run (node:internal/test_runner/test:1409:7) +2026-09-27T05:35:16.1812478Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) +2026-09-27T05:35:16.1813554Z ✔ reports only a Terminal start failure that still belongs to the active Session (5.575035ms) +2026-09-27T05:35:16.1826766Z ✔ keeps Side Chat through collapse and source switches, but confirms explicit content close (8.952952ms) +2026-09-27T05:35:16.1828123Z ✔ retains a Side Chat through a catalog gap and archive, then retires it on source deletion (8.826819ms) +2026-09-27T05:35:16.1829279Z ✔ keeps a newly created companion hidden through panel changes and stale catalogs until cleanup (3.613327ms) +2026-09-27T05:35:16.1830217Z ✔ binds Browser ownership to the selected Session (5.38907ms) +2026-09-27T05:35:16.1831422Z ✔ opens Browser once when the active Session gains a live browser view (6.028598ms) +2026-09-27T05:35:16.1832419Z ✔ links a Session produced on the surface that owns the claim (3.197214ms) +2026-09-27T05:35:16.1833276Z ✔ does not let a New Task reopened on the same Host/project consume the claim (5.629205ms) +2026-09-27T05:35:16.1834194Z ✔ ignores an older surface callback without clearing a newer claim (2.351903ms) +2026-09-27T05:35:16.1885934Z ✔ does not link a first send from a different project surface (4.422627ms) +2026-09-27T05:35:16.1891936Z ✔ drops a claim when Task Entry changes project within the same surface (9.581127ms) +2026-09-27T05:35:16.1893059Z ✔ retries a failed link against the same Session instead of creating a duplicate (3.760015ms) +2026-09-27T05:35:16.1893989Z ✔ starts a new Session when an item target changes after link failure (3.580953ms) +2026-09-27T05:35:16.1895020Z ✔ opens a previously linked Session from a board item (5.02773ms) +2026-09-27T05:35:16.1895748Z ✔ useWorkbarController (541.644916ms) +2026-09-27T05:35:16.1896282Z ▶ Workbar topology +2026-09-27T05:35:16.1896895Z ✔ routes every topology change through the pure reducer (4.658005ms) +2026-09-27T05:35:16.1897763Z ✔ routes panel visibility and dimensions through the layout reducer (1.047837ms) +2026-09-27T05:35:16.1898608Z ✔ keeps static tabs and removes dynamic metadata from persistence (0.653817ms) +2026-09-27T05:35:16.1899363Z ✔ uses the tool registry as the persistence authority (0.472346ms) +2026-09-27T05:35:16.1900137Z ✔ ignores workbar storage from versions outside the support window (0.890039ms) +2026-09-27T05:35:16.1900863Z ✔ drops a retired tool kind left in v3 storage (0.658039ms) +2026-09-27T05:35:16.1901586Z ✔ round-trips v3 layout while filtering transient tab data (0.809144ms) +2026-09-27T05:35:16.1902466Z ✔ persists per-Session collapse and retires the ownerless global preference (4.276876ms) +2026-09-27T05:35:16.1904027Z ✔ distinguishes an unhydrated catalog from an authoritative empty snapshot (2.121628ms) +2026-09-27T05:35:16.1936595Z ✔ evicts deleted Sessions without dropping an active Session awaiting catalog hydration (0.612717ms) +2026-09-27T05:35:16.1937938Z ✔ ignores malformed collapse entries and treats prototype names as Session keys (0.419688ms) +2026-09-27T05:35:16.1939027Z ✔ falls back to an empty topology for corrupt v3 storage (0.239491ms) +2026-09-27T05:35:16.1939756Z ✔ Workbar topology (21.663192ms) +2026-09-27T05:35:16.1940331Z ▶ createDesktopWorkbarServices +2026-09-27T05:35:16.1941198Z ✔ recovers only live local desktop PTYs from the Host inventory and updates (9.296032ms) +2026-09-27T05:35:16.1942299Z ✔ waits for Host admission before accepting a Side Conversation follow-up (0.604923ms) +2026-09-27T05:35:16.1943243Z ✔ preserves the Side Conversation Stop identity kind (0.516303ms) +2026-09-27T05:35:16.1944227Z ✔ reports Side Conversation readiness again after an observation reseed (0.38505ms) +2026-09-27T05:35:16.1966512Z ✔ maps every Workbar capability to the existing Desktop bridge (4.668684ms) +2026-09-27T05:35:16.1967357Z ✔ createDesktopWorkbarServices (17.183911ms) +2026-09-27T05:35:16.4344618Z +2026-09-27T05:35:16.4375936Z > @maka/mcp@0.1.0 test:dist +2026-09-27T05:35:16.4393731Z > node --test "dist/**/*.test.js" +2026-09-27T05:35:16.4434905Z +2026-09-27T05:35:16.6023169Z ✔ moving the pointer does not take control; user clicks, scrolling and non-modifier keys do (62.584738ms) +2026-09-27T05:35:16.7336141Z ▶ McpCredentialCoordinator +2026-09-27T05:35:16.7371760Z ✔ an abort landing during the storage read blocks the commit (2.712183ms) +2026-09-27T05:35:16.7425979Z ✔ a stale flow cannot delete or overwrite another writer’s rotation (3.661001ms) +2026-09-27T05:35:16.7447751Z ✔ a logout landing during the storage read blocks the commit too (0.627804ms) +2026-09-27T05:35:16.7532294Z ✔ an abandoned erase cannot tombstone the record a newer login stored (2.797508ms) +2026-09-27T05:35:16.7565676Z ✔ McpCredentialCoordinator (18.963094ms) +2026-09-27T05:35:16.7616939Z ✔ control rejects ordinary Sessions, stale turns and switched Host epochs before observation (18.875909ms) +2026-09-27T05:35:16.7618549Z ✔ partial batches never replay input and the failure budget belongs to the real turn (31.804379ms) +2026-09-27T05:35:16.7776173Z ✔ fails closed before processing oversized input (3.310232ms) +2026-09-27T05:35:16.7815973Z ✔ redacts a secret that crosses the visible output boundary (3.029689ms) +2026-09-27T05:35:16.7845992Z ✔ sanitizes control and format characters across the diagnostic boundary (5.079799ms) +2026-09-27T05:35:16.7875838Z ✔ takeover cancels waiting and interrupts the exact owning turn (29.938209ms) +2026-09-27T05:35:16.7877406Z ✔ observations exclude browser, terminal, password and marked descendants and reject replaced or stale handles (14.570983ms) +2026-09-27T05:35:16.8445936Z ▶ MCP form elicitation adapter +2026-09-27T05:35:16.8476100Z ✔ preserves types, defaults, optional fields and validation constraints (18.2259ms) +2026-09-27T05:35:16.8506159Z ✔ applies a visible client limit to unbounded server strings (4.460495ms) +2026-09-27T05:35:16.8566116Z ✔ normalizes all protocol enum variants without changing choice values (7.276808ms) +2026-09-27T05:35:16.8626074Z ✔ returns bare decline and cancel responses and rejects attached answers (4.532216ms) +2026-09-27T05:35:16.8655953Z ✔ rejects unsupported constraints and impossible schemas before showing a form (4.469142ms) +2026-09-27T05:35:16.8685865Z ✔ rejects non-form requests and unsupported root constraints (0.423266ms) +2026-09-27T05:35:16.8715918Z ✔ uses canonical form bounds and strips display controls without changing protocol values (4.956156ms) +2026-09-27T05:35:16.8725755Z ✔ fails closed when canonical admission cannot represent a field identity (0.405191ms) +2026-09-27T05:35:16.8775626Z ✔ MCP form elicitation adapter (49.214123ms) +2026-09-27T05:35:16.9566562Z ✔ native input passes through only the assistant and restores hit testing after failure (176.518576ms) +2026-09-27T05:35:17.0150743Z ✔ serializes competing approvals from independent SQLite connections (917.308367ms) +2026-09-27T05:35:17.0210574Z ✔ records Auto and Bypass changes in the same revision log and restores managed authority (84.415227ms) +2026-09-27T05:35:17.0236253Z ✔ restores an unnamed managed profile after a temporary Bypass boundary (53.55027ms) +2026-09-27T05:35:17.0276067Z ✔ restores canonical Auto when an Explore-origin session has no Auto history (97.207343ms) +2026-09-27T05:35:17.0325899Z ✔ classifies the internal read-only profile by policy instead of its display name (123.984551ms) +2026-09-27T05:35:17.0385760Z ✔ restores accumulated Auto authority after a temporary Explore boundary (70.553822ms) +2026-09-27T05:35:17.0415793Z ✔ reads the header projection and execution boundary from one authority snapshot (66.387326ms) +2026-09-27T05:35:17.0445772Z ✔ rolls back a boundary kind and header projection as one transaction (51.845949ms) +2026-09-27T05:35:17.0495893Z ✔ rolls back request settlement and boundary application as one transaction (60.756765ms) +2026-09-27T05:35:17.0526044Z ✔ projects only explicit denials from exact trusted continuation identities (37.132574ms) +2026-09-27T05:35:17.5896964Z ✔ typed Settings navigation reveals clipped sidebar controls through native wheel input (589.613305ms) +2026-09-27T05:35:17.5926132Z ✔ window preparation cannot admit input after takeover or a Host switch (9.299406ms) +2026-09-27T05:35:17.5966095Z ✔ task coordination does not open or focus the controlled main window (6.013812ms) +2026-09-27T05:35:17.6037612Z ✔ takeover stops an action without exposing its internal abort reason as a conversation error (3.914926ms) +2026-09-27T05:35:17.6096066Z ✔ cancelling undo is a normal completion for the renderer (11.679056ms) +2026-09-27T05:35:17.6126462Z ✔ control requires a short status before preparing the window and publishes the same text (7.927837ms) +2026-09-27T05:35:17.6320322Z ✔ ambiguous legacy denial blocks only its trusted chain, even after an explicit denial (100.527453ms) +2026-09-27T05:35:17.6364197Z ✔ does not invent revisions for denial or an already-contained approval (57.753348ms) +2026-09-27T05:35:17.6386798Z ✔ records host restart when recovery denies an ownerless boundary request (53.538782ms) +2026-09-27T05:35:17.6437451Z ✔ lists only host-restart closures, never other settlements (61.462349ms) +2026-09-27T05:35:17.6496164Z ✔ keeps request provenance durable and rejects a reuse that changes it (58.878934ms) +2026-09-27T05:35:17.6526078Z ✔ lists only pending sandbox boundary requests for resume (79.551001ms) +2026-09-27T05:35:17.6580556Z ✔ lists sessions in recency order with readable flags, archive state, and labels (62.529407ms) +2026-09-27T05:35:17.6605807Z ✔ queries typed subagent relations through the dedicated parent index (41.051893ms) +2026-09-27T05:35:17.6635826Z ✔ atomically reuses one child per durable spawn identity and rejects request drift (39.036318ms) +2026-09-27T05:35:17.6695936Z ✔ updates metadata and labels with a compare-and-set version (58.986827ms) +2026-09-27T05:35:17.7656376Z ✔ keeps stable create claims across exact retries, removal, and reopen (120.763961ms) +2026-09-27T05:35:18.1748939Z ✔ real modern form round trip preserves original arguments, IDs, state and per-call capability (540.347096ms) +2026-09-27T05:35:18.3067087Z ✔ explicit decline is a protocol response, not global Stop (146.722289ms) +2026-09-27T05:35:18.3776382Z ✔ explicit cancel is a protocol response, not global Stop (68.013706ms) +2026-09-27T05:35:18.4605467Z ✔ handler-less call does not advertise elicitation and does not retry (81.877283ms) +2026-09-27T05:35:18.5506954Z ✔ multiple rounds replace old responses and preserve exact opaque state (97.05189ms) +2026-09-27T05:35:18.8248095Z ✔ reserves stable create identity before metadata commit and across reopen (95.195892ms) +2026-09-27T05:35:18.8340624Z ✔ commits configuration and sandbox boundary as one compare-and-set transaction (90.051327ms) +2026-09-27T05:35:18.8404142Z ✔ clears only the explicit connection-block lifecycle transition (84.475796ms) +2026-09-27T05:35:18.8467302Z ✔ rolls back row changes at every injected transaction failure (96.441904ms) +2026-09-27T05:35:18.8528004Z ✔ deletes metadata atomically (89.664789ms) +2026-09-27T05:35:18.8587404Z ✔ SqliteSessionMetadataStore (18716.272851ms) +2026-09-27T05:35:18.8617017Z ▶ SQLite agent graph operator provisions +2026-09-27T05:35:18.8663091Z ✔ atomically commits one child Session and monotonic topology row (113.647412ms) +2026-09-27T05:35:18.8720621Z ✔ retires a graph root with its operator and purges only that graph control state (109.701816ms) +2026-09-27T05:35:18.8787824Z ✔ rolls back child and topology together on a provision failure (55.552289ms) +2026-09-27T05:35:18.8856103Z ✔ SQLite agent graph operator provisions (279.289694ms) +2026-09-27T05:35:18.8915693Z ▶ SQLite agent graph client projections +2026-09-27T05:35:18.8956054Z ✔ atomically reads a graph with an independently versioned operator row (65.838836ms) +2026-09-27T05:35:18.8984035Z ✔ CAS-fences stale writers and deduplicates incremental durable records (88.890407ms) +2026-09-27T05:35:18.8987025Z ✔ materializes bounded current state and keyset-pages terminal activity (79.137704ms) +2026-09-27T05:35:18.8998678Z ✔ rejects a projection commit after its root retirement cleanup completes (91.61647ms) +2026-09-27T05:35:18.9000322Z ✔ SQLite agent graph client projections (328.977917ms) +2026-09-27T05:35:18.9310898Z ✔ usage migration backfills Session identity for existing ledger rows (19.880134ms) +2026-09-27T05:35:18.9347771Z ✔ the migration spreads a stored record into the columns a cost answer sums (11.774887ms) +2026-09-27T05:35:18.9383595Z ✔ a record the migration cannot read whole keeps its identity and loses the rest (12.868274ms) +2026-09-27T05:35:18.9408757Z ✔ the migration is a no-op once the ledger already holds columns (26.19406ms) +2026-09-27T05:35:18.9475953Z ✔ the migration converts every row, however many a workspace holds (758.776068ms) +2026-09-27T05:35:18.9477682Z ✔ the ledger refuses a row that would make a total dishonest (13.250695ms) +2026-09-27T05:35:18.9516483Z ✔ Usage title revision ignores unrelated metadata and covers every activity source (24.57645ms) +2026-09-27T05:35:18.9547071Z ▶ SQLite workflow stores +2026-09-27T05:35:18.9582952Z ✔ lists only Sessions whose latest Plan lifecycle is active (560.091506ms) +2026-09-27T05:35:18.9616918Z ✔ persists Plan exclusively through events (228.445817ms) +2026-09-27T05:35:18.9651592Z ✔ migrates released workflow schema 9 projections to the current workflow schema (286.041138ms) +2026-09-27T05:35:18.9654868Z ✔ restores SessionTodo storage and drops Task Ledger events from workflow schema 10 (314.671416ms) +2026-09-27T05:35:18.9691079Z ✔ preserves every released projection when one table has unfamiliar DDL (178.787711ms) +2026-09-27T05:35:18.9716959Z ✔ preserves every released projection when one table carries an extra trigger (209.34104ms) +2026-09-27T05:35:18.9754867Z ✔ preserves an unfamiliar projection whose table name differs only by case (249.561796ms) +2026-09-27T05:35:18.9787857Z ✔ preserves released projections with a sqliteX-prefixed trigger (169.429548ms) +2026-09-27T05:35:18.9818525Z ✔ preserves released projections with a sqliteX-prefixed dependent view (257.093047ms) +2026-09-27T05:35:18.9836360Z ✔ an older workflow reader rejects the newer schema without changing it (243.531531ms) +2026-09-27T05:35:18.9863060Z ✔ backs up and restores Plan and initialized SessionTodo state (501.889868ms) +2026-09-27T05:35:18.9905816Z ✔ reconciles exact Plan retries through durable operation identity (212.330391ms) +2026-09-27T05:35:18.9943933Z ✔ rejects Plan data that the Runtime Host projection cannot represent (179.454228ms) +2026-09-27T05:35:18.9955923Z ✔ reserves enough projection space for the complete Plan lifecycle (268.5533ms) +2026-09-27T05:35:18.9999821Z ✔ rejects proposals whose later lifecycle projection would overflow (209.093957ms) +2026-09-27T05:35:19.0038664Z ✔ purges Plan events for retired Sessions (208.85848ms) +2026-09-27T05:35:19.0062923Z ✔ persists Scheduled Tasks and admits each fire once (247.923259ms) +2026-09-27T05:35:19.0102362Z ✔ persists the exact ScheduledTask Agent execution identity before admission (262.010505ms) +2026-09-27T05:35:19.0140481Z ✔ folds retired permission modes in tasks and pending fire claims (355.734707ms) +2026-09-27T05:35:19.0175675Z ✔ does not lower maxFires below the task fire count (260.883688ms) +2026-09-27T05:35:19.0196167Z ✔ SQLite workflow stores (5413.459454ms) +2026-09-27T05:35:19.0237382Z ✔ reads one bounded regular-file snapshot and rejects in-place growth (36.000811ms) +2026-09-27T05:35:19.0283725Z ✔ rejects a symlink instead of following it (22.734514ms) +2026-09-27T05:35:19.0325182Z ✔ rejects a pathname replaced after opening the file (9.77197ms) +2026-09-27T05:35:19.0350696Z ✔ hardenDirectory creates a 0700 directory chain (25.917585ms) +2026-09-27T05:35:19.0372170Z ✔ hardenDirectory re-chmods a pre-existing world-accessible directory to 0700 (8.441708ms) +2026-09-27T05:35:19.0395794Z ✔ State Root composition binding is durable, idempotent, and exclusive (170.970415ms) +2026-09-27T05:35:19.0426780Z ✔ State Root composition binding rejects a corrupt existing authority record (23.295826ms) +2026-09-27T05:35:19.0463259Z ✔ accepts the complete safe storage identifier boundary (3.225902ms) +2026-09-27T05:35:19.0496466Z ✔ rejects unsafe storage identifier values (4.139761ms) +2026-09-27T05:35:19.0535691Z ✔ storage writer composition rejects reuse until close completes (599.933478ms) +2026-09-27T05:35:19.0545928Z ✔ opening a second storage writer composition creates a usable lifecycle (443.884532ms) +2026-09-27T05:35:19.0586115Z ✔ context-offload authority is optional and participates in composition close (379.825834ms) +2026-09-27T05:35:19.0613159Z ✔ an unavailable context-offload authority does not fail the storage composition (346.227005ms) +2026-09-27T05:35:19.0648780Z ✔ a failed close keeps the lease unavailable (363.718984ms) +2026-09-27T05:35:19.0667031Z ✔ a failed runtime-policy hook rolls back before reopening (363.395764ms) +2026-09-27T05:35:19.0692309Z ✔ target evidence ignores 12k unrelated records, survives reopen and checks Session scope (2338.06994ms) +2026-09-27T05:35:19.0694893Z ✔ checks byte and record budgets before fetching any ledger JSON (1515.808259ms) +2026-09-27T05:35:19.0698081Z ✔ unscoped malformed transitions prevent a false complete history (248.405124ms) +2026-09-27T05:35:19.0699284Z ✔ upgrades the target index without rewriting immutable transition records (379.55638ms) +2026-09-27T05:35:19.0700302Z ✔ reader close and root revocation never return evidence (280.509194ms) +2026-09-27T05:35:19.0701319Z ✔ database read failures are unavailable, not corrupt evidence (282.745868ms) +2026-09-27T05:35:19.0702281Z ✔ invalid event JSON and transition envelopes remain corrupt (278.176846ms) +2026-09-27T05:35:19.0703865Z ✔ state-only rounds are bounded and retain an empty state exactly (390.518313ms) +2026-09-27T05:35:19.0705516Z ✔ invalid sibling fails preflight without displaying the valid first form (36.833205ms) +2026-09-27T05:35:19.0708167Z ✔ invalid accepted answer never reaches server (64.521753ms) +2026-09-27T05:35:19.1442736Z ✔ stop aborts a pending callback even when it ignores cancellation (88.503162ms) +2026-09-27T05:35:19.2072095Z ✔ disconnect aborts a pending callback even when it ignores cancellation (67.315016ms) +2026-09-27T05:35:19.2147331Z ▶ InteractiveUsageStores +2026-09-27T05:35:19.2167265Z ✔ classifies facade failures without exposing concrete errors to callers (4.197281ms) +2026-09-27T05:35:19.2207086Z ✔ seeds an empty pricing authority for a fresh workspace (413.642053ms) +2026-09-27T05:35:19.2245220Z ✔ publishes the owning Session after each durable model-usage write (261.543324ms) +2026-09-27T05:35:19.2274594Z ✔ publishes the owning Session after a durable tool-usage write (207.820166ms) +2026-09-27T05:35:19.2296128Z ✔ does not republish idempotent model-usage mutations (134.228466ms) +2026-09-27T05:35:19.2335610Z ✔ classifies a renamed or replaced live root as a draining persistence failure (373.063107ms) +2026-09-27T05:35:19.2354362Z ✔ classifies poisoned live root markers as draining persistence failures (814.294502ms) +2026-09-27T05:35:19.2355542Z ✔ drain waits accepted writes and rejects new admission (357.552787ms) +2026-09-27T05:35:19.2385606Z ✔ close waits an admitted Usage screen read and rejects later reads (214.924822ms) +2026-09-27T05:35:19.2410326Z ✔ a failed admitted Usage read settles the barrier without poisoning close (194.059364ms) +2026-09-27T05:35:19.2424885Z ✔ lease-bound facade exposes separate LLM and filtered tool logs (273.925281ms) +2026-09-27T05:35:19.2448656Z ✔ legacy summary clamps each cache reading to its own input (264.483289ms) +2026-09-27T05:35:19.2485625Z ✔ legacy usage buckets clamp each cache reading to its own input (135.010765ms) +2026-09-27T05:35:19.2522036Z ✔ legacy summary reads only the requested Session (249.911451ms) +2026-09-27T05:35:19.2545682Z ✔ legacy summary sums recorded call time over the same rows as its tokens (213.849479ms) +2026-09-27T05:35:19.2575464Z ✔ tool summary scopes to the requested Session and range (283.704876ms) +2026-09-27T05:35:19.2605576Z ✔ tool summary applies the full summary query to the tool rows (186.105842ms) +2026-09-27T05:35:19.2623966Z ✔ tool buckets answer the full summary query, including Session and provider (262.352274ms) +2026-09-27T05:35:19.2642532Z ✔ every facade read observes lease revocation (205.309741ms) +2026-09-27T05:35:19.2697139Z ✔ reader close waits an admitted Usage screen read (269.194494ms) +2026-09-27T05:35:19.2735807Z ✔ reader close releases local resources after lease revocation (278.928688ms) +2026-09-27T05:35:19.2802064Z ✔ InteractiveUsageStores (5605.396503ms) +2026-09-27T05:35:19.2845514Z ▶ revision-consistent Usage screen +2026-09-27T05:35:19.2875929Z ✔ SQL totals and connection/model/tool groups preserve canonical and legacy accounting (379.015659ms) +2026-09-27T05:35:19.2956534Z ✔ keyset pages handle equal timestamps and duplicate display IDs across sources without loss (497.461912ms) +2026-09-27T05:35:19.2985882Z ✔ shares the protocol UTF-8 search boundary (153.00814ms) +2026-09-27T05:35:19.3022038Z ✔ continues after a fractional timestamp without duplicate or missing rows (375.006254ms) +2026-09-27T05:35:19.3047032Z ✔ accepts fractional query bounds from the shared timestamp domain (140.482067ms) +2026-09-27T05:35:19.3106240Z ✔ filters search the full range with Unicode and do not narrow headline totals or breakdowns (473.902425ms) +2026-09-27T05:35:19.3125006Z ✔ matching continuations bound search work even when every timestamp is equal (2516.090353ms) +2026-09-27T05:35:19.3179802Z ✔ an empty search result evaluates historical search fields only once (795.605589ms) +2026-09-27T05:35:19.3249513Z ✔ WorkHub resolves on open and when the default Host authority changes (6.72051ms) +2026-09-27T05:35:19.3276044Z ✔ WorkHub reports an unavailable default Host instead of holding the loading state (0.583583ms) +2026-09-27T05:35:19.3336137Z ✔ WorkHub exposes a retry and automatically retries when model availability changes (2.974991ms) +2026-09-27T05:35:19.3337406Z ✔ WorkHub ignores a stale Host resolution that settles after a newer Host (0.471797ms) +2026-09-27T05:35:19.3366166Z ✔ selecting an unready default Host revokes the old scope and invalidates its resolve (0.463916ms) +2026-09-27T05:35:19.3396010Z ✔ reconnect aborts a pending callback even when it ignores cancellation (90.57454ms) +2026-09-27T05:35:19.3693351Z ✔ close aborts a pending callback even when it ignores cancellation (73.499954ms) +2026-09-27T05:35:19.3886401Z ✔ resolves the Coordination Session through the currently active Runtime Host scope (2.65926ms) +2026-09-27T05:35:19.3911703Z ✔ keeps model setup as a structured WorkHub resolution state (0.291987ms) +2026-09-27T05:35:19.3961947Z ✔ creates against the Coordination Session Host instead of later UI focus (0.878794ms) +2026-09-27T05:35:19.4549733Z ✔ changed refresh aborts a pending callback even when it ignores cancellation (84.618641ms) +2026-09-27T05:35:19.5211903Z ✔ exhaust aborts a pending callback even when it ignores cancellation (59.302494ms) +2026-09-27T05:35:19.5636269Z ✔ unchanged refresh preserves the pending invocation (47.473436ms) +2026-09-27T05:35:19.5926384Z ✔ abort just after answer commitment prevents the next network leg (25.970918ms) +2026-09-27T05:35:19.8078060Z ✔ user wait does not consume the network timeout (217.548322ms) +2026-09-27T05:35:19.8896608Z ✔ separate invocations on one connection keep answers and states isolated (76.703314ms) +2026-09-27T05:35:19.9596449Z ✔ scrubs long state reflected in success (72.91186ms) +2026-09-27T05:35:20.0466197Z ✔ scrubs long state reflected in tool-error (84.292076ms) +2026-09-27T05:35:20.1066477Z ✔ scrubs long state reflected in protocol-error (60.388478ms) +2026-09-27T05:35:20.1458071Z ✔ mixed-source pages and counts match the full filtered history at every range boundary (930.332177ms) +2026-09-27T05:35:20.1576408Z ✔ scrubs short state reflected in success (51.737276ms) +2026-09-27T05:35:20.2037462Z ✔ scrubs short state reflected in tool-error (45.986161ms) +2026-09-27T05:35:20.2697002Z ✔ scrubs short state reflected in protocol-error (66.806708ms) +2026-09-27T05:35:20.3086634Z ✔ state "opaque-secret-state" echoed into a form message fails before projection (42.39731ms) +2026-09-27T05:35:20.3386404Z ✔ state "opaque-secret-state" echoed into a form property key fails before projection (25.142036ms) +2026-09-27T05:35:20.3626562Z ✔ state "opaque-secret-state" echoed into a form default fails before projection (30.116334ms) +2026-09-27T05:35:20.3986253Z ✔ state "opaque\nstate" echoed into a form message fails before projection (31.18966ms) +2026-09-27T05:35:20.4655053Z ✔ state "opaque\nstate" echoed into a form property key fails before projection (65.030735ms) +2026-09-27T05:35:20.4890233Z ✔ state "opaque\nstate" echoed into a form default fails before projection (29.309579ms) +2026-09-27T05:35:20.5219458Z ✔ state "[redacted]" echoed into a form message fails before projection (26.172094ms) +2026-09-27T05:35:20.5423719Z ✔ state "[redacted]" echoed into a form property key fails before projection (29.091662ms) +2026-09-27T05:35:20.5723517Z ✔ state "[redacted]" echoed into a form default fails before projection (24.383005ms) +2026-09-27T05:35:20.6297996Z ✔ a later call cannot project earlier connection state "opaque\nstate" (43.754291ms) +2026-09-27T05:35:20.6553574Z ✔ a later call cannot project earlier connection state "[redacted]" (41.511478ms) +2026-09-27T05:35:20.7246609Z ✔ retained state cannot escape through a later output-schema preparation error (60.705612ms) +2026-09-27T05:35:20.7863495Z ✔ retained state cannot escape through a later header-argument error (73.412532ms) +2026-09-27T05:35:21.0780143Z ✔ each durable writer, correction, deletion, and rollback fences continuation (935.339233ms) +2026-09-27T05:35:21.5038225Z ✔ a concurrent WAL commit between aggregate and activity reads cannot mix versions (426.375148ms) +2026-09-27T05:35:21.8075335Z ✔ retention exhaustion fences an already pending ordinary call (1010.279015ms) +2026-09-27T05:35:21.8399837Z ✔ WorkHub upload references round-trip through idle answers, both queue modes and attachment reads (1277.328742ms) +2026-09-27T05:35:22.1819800Z ✔ database reopen rejects old tokens even when durable incarnation and counter repeat (680.983972ms) +2026-09-27T05:35:22.1835991Z ✔ revision-consistent Usage screen (8305.289918ms) +2026-09-27T05:35:22.5806896Z ✔ retention exhaustion fences an already pending interactive call (778.534744ms) +2026-09-27T05:35:22.6189783Z ✔ rejects excessive state before displaying a form (41.706221ms) +2026-09-27T05:35:22.6409729Z ✔ rejects excessive count before displaying a form (22.617252ms) +2026-09-27T05:35:22.6549855Z ✔ WorkHub loads earlier history through the preload with a fragmented answer (815.979997ms) +2026-09-27T05:35:22.6723967Z ✔ WorkHub read reconnects through observation readiness: failure-before-ready (6.916188ms) +2026-09-27T05:35:22.6799319Z ✔ WorkHub read reconnects through observation readiness: failure-after-ready (3.822031ms) +2026-09-27T05:35:22.6834967Z ✔ WorkHub read reconnects through observation readiness: cached (4.012594ms) +2026-09-27T05:35:22.6950348Z ✔ rejects excessive bytes before displaying a form (41.053725ms) +2026-09-27T05:35:22.7084564Z ▶ Usage range statistics reuse +2026-09-27T05:35:22.7135754Z ✔ search and status changes reuse complete statistics for the same revision and range (522.384757ms) +2026-09-27T05:35:22.7586974Z ✔ cycles through six retained bands in order, then starts the next cycle (5.752566ms) +2026-09-27T05:35:22.7627562Z ✔ samples within each band instead of using six fixed hues (0.509745ms) +2026-09-27T05:35:22.7666147Z ✔ filtering, reordering and adding Works preserve colors and the band cursor (0.262927ms) +2026-09-27T05:35:22.7702367Z ✔ empty input is a no-op and fresh renders sample deterministically (0.367586ms) +2026-09-27T05:35:22.8338656Z ✔ the retry network leg still has its own timeout (145.450149ms) +2026-09-27T05:35:22.9016733Z ✔ old state is scrubbed even after a later round replaces it (66.499247ms) +2026-09-27T05:35:22.9567854Z ✔ a new round without state does not reuse previous state (57.562869ms) +2026-09-27T05:35:23.0834958Z ✔ interactive retry retains SEP-2243 headers and final output validation (95.72205ms) +2026-09-27T05:35:23.1676412Z ✔ a supplied form callback never advertises elicitation on a legacy connection (118.356053ms) +2026-09-27T05:35:23.2100065Z ✔ mutating or freezing a response cannot affect a later screen (501.477717ms) +2026-09-27T05:35:23.4353205Z ✔ failed transaction commits cannot publish statistics under a reusable revision (224.987032ms) +2026-09-27T05:35:23.7716514Z ✔ WorkHub uses the common answer footer and failure presentation without prompt status or branch actions (640.392104ms) +2026-09-27T05:35:23.7718109Z ✔ durable task results restore Host-scoped work links without treating failed or unrelated tools as delegations (8.053863ms) +2026-09-27T05:35:23.7914861Z ✔ a shared coordination turn divides its clickable identity rail equally between Works (142.324701ms) +2026-09-27T05:35:23.7956769Z ✔ WorkHub workspace display names handle Host paths independently of renderer platform (1.099834ms) +2026-09-27T05:35:23.8005803Z ✔ stop and resume keep their scoped Session identity through pending, success and failure (3.157585ms) +2026-09-27T05:35:23.8519592Z ✔ range boundaries, accounting writes, pricing and repair changes refresh statistics (420.643327ms) +2026-09-27T05:35:23.8850959Z ✔ hands safe WorkHub links to the OS while keeping the view local (91.413075ms) +2026-09-27T05:35:23.8936822Z ✔ moves a shared native container while keeping renderer and browser coordinates local (35.504713ms) +2026-09-27T05:35:23.9016481Z ✔ yields the docked native view to main-window overlays without replacing the conversation (43.031655ms) +2026-09-27T05:35:23.9038959Z ✔ yields and restores the conversation when its compositor frame is unavailable (44.399362ms) +2026-09-27T05:35:23.9040604Z ✔ opens an empty floating conversation at its composer height (28.322902ms) +2026-09-27T05:35:23.9041786Z ✔ reopening or docking a crashed conversation creates a ready-gated renderer (17.823309ms) +2026-09-27T05:35:23.9043036Z ✔ animates from the current height, keeps the bottom anchored and survives reversal (27.386708ms) +2026-09-27T05:35:23.9044300Z ✔ reparents one live conversation across docking, floating, hide and main-window close (43.147734ms) +2026-09-27T05:35:23.9045795Z ✔ rejects unowned/subframe IPC and buffers navigation until main subscribes (27.220567ms) +2026-09-27T05:35:23.9047179Z ✔ application broadcasts reach registered auxiliaries once and stop after release or destruction (32.086381ms) +2026-09-27T05:35:23.9048694Z ✔ control shows a passive card only after it is painted and preserves manual conversation geometry (28.175978ms) +2026-09-27T05:35:23.9050328Z ✔ interaction content upgrades native progress in either paint order without activation or reopening dismissal (58.946731ms) +2026-09-27T05:35:23.9051879Z ✔ control preparation refuses disabled presentation before opening and rechecks a pending open (14.342934ms) +2026-09-27T05:35:23.9053327Z ✔ all WorkHub entries obey the client enable setting and disabling retains the renderer (44.544782ms) +2026-09-27T05:35:23.9054740Z ✔ creates on first shortcut, then shows and hides synchronously (27.030519ms) +2026-09-27T05:35:23.9055922Z ✔ a second shortcut or disabling cancels a cold summon before ready (64.517093ms) +2026-09-27T05:35:23.9057139Z ✔ a pending backdrop capture and older hide cannot delay or undo the shortcut (41.46495ms) +2026-09-27T05:35:23.9058412Z ✔ the shortcut supersedes a pending dock without waiting for the main window (29.874393ms) +2026-09-27T05:35:23.9059758Z ✔ native resize callbacks do not submit duplicate view bounds and follow display cadence (38.770039ms) +2026-09-27T05:35:23.9061188Z ✔ hiding returns the live view to Desktop and preserves floating geometry for the next summon (37.970611ms) +2026-09-27T05:35:23.9062583Z ✔ hiding with Desktop closed keeps the conversation alive without reopening Desktop (38.989297ms) +2026-09-27T05:35:23.9063767Z ✔ a hidden Desktop defers native docking until it shows (48.19722ms) +2026-09-27T05:35:23.9065331Z ✔ control keeps a visible Desktop conversation docked and floats it when the host is hidden or occluded (53.143162ms) +2026-09-27T05:35:23.9068884Z ✔ closing progress suppresses the current turn and old paint acknowledgements cannot reopen it (26.95904ms) +2026-09-27T05:35:23.9070246Z ✔ the shortcut opens the normal composer from progress without waiting for its paint (35.499242ms) +2026-09-27T05:35:23.9071691Z ✔ editing progress grows at its existing bottom and opening interpolates both dimensions without stealing focus (34.972381ms) +2026-09-27T05:35:23.9073310Z ✔ late progress measurements and send acknowledgements cannot revive a dismissed card or invalidate the next card paint (19.799784ms) +2026-09-27T05:35:23.9074713Z ✔ summoning and docking honor the run reveal mode (73.018345ms) +2026-09-27T05:35:23.9076509Z ✔ the progress card stays hidden in a hidden run and inactive everywhere else (105.227833ms) +2026-09-27T05:35:23.9078812Z ✔ revealing an interaction cannot detach a docked WorkHub without a current progress request (45.478514ms) +2026-09-27T05:35:23.9080583Z ✔ expanding progress before its first paint reveals the conversation without taking focus (42.74988ms) +2026-09-27T05:35:23.9081792Z ✔ mirrors panel state to WorkHub and routes edge toggles back to Main (26.473592ms) +2026-09-27T05:35:23.9083001Z ✔ task delegation binds the tool action to the Host turn and trusted creation context (11.702092ms) +2026-09-27T05:35:23.9084241Z ✔ nested tool calls produce stable task identities accepted by both Host action paths (4.839748ms) +2026-09-27T05:35:23.9085477Z ✔ linked task operations remain operations at the Host protocol boundary (0.499751ms) +2026-09-27T05:35:23.9086692Z ✔ the task tool exposes correction as a linked operation, not a disposition (11.085543ms) +2026-09-27T05:35:23.9087837Z ✔ a Host switch while resolving the workspace prevents delegation (0.848056ms) +2026-09-27T05:35:23.9089829Z ✔ takeover stops the exact old turn and run even after selecting another Host (2.395408ms) +2026-09-27T05:35:23.9091607Z ✔ a changed turn identity cannot become the takeover target (0.317614ms) +2026-09-27T05:35:23.9092643Z ✔ delegation receipts explicitly distinguish admission from completion evidence (0.296922ms) +2026-09-27T05:35:23.9093757Z ✔ task status can be checked without dispatching another task (1.65107ms) +2026-09-27T05:35:23.9095321Z ✔ status reads exact turn facts without delegation and rejects stale Host or target identity (3.237141ms) +2026-09-27T05:35:23.9096554Z ✔ status does not treat waiting, cancelled or failed execution as completed (0.521433ms) +2026-09-27T05:35:23.9097652Z ✔ stop and resume receipts survive the client capability JSON boundary (4.350601ms) +2026-09-27T05:35:24.6025807Z ✔ a warm cache cannot bypass capacity failures or keep a failed range result (749.927206ms) +2026-09-27T05:35:25.2157729Z ✔ a cache hit and its activity stay in one snapshot during an external WAL commit (611.814334ms) +2026-09-27T05:35:25.2296753Z ✔ modern-only stdio auto negotiation completes a form and protects state reflected on stderr (1539.004119ms) +2026-09-27T05:35:25.2338564Z ✔ stdio before cannot expose continuation state before response or after settlement (1213.35493ms) +2026-09-27T05:35:25.2386398Z ✔ stdio partial cannot expose continuation state before response or after settlement (1361.298255ms) +2026-09-27T05:35:25.2416247Z ✔ stdio continued cannot expose continuation state before response or after settlement (1538.290528ms) +2026-09-27T05:35:25.2431150Z ✔ stdio control cannot expose continuation state before response or after settlement (2055.782988ms) +2026-09-27T05:35:25.6956288Z ✔ different roots with identical ranges retain independent statistics (479.512768ms) +2026-09-27T05:35:25.7026097Z ✔ Usage range statistics reuse (3511.771595ms) +2026-09-27T05:35:25.7426750Z ▶ Work Board store +2026-09-27T05:35:25.7456347Z ✔ persists items across reopen (417.36597ms) +2026-09-27T05:35:25.7486615Z ✔ applies semantic patches and enforces optimistic concurrency (226.5235ms) +2026-09-27T05:35:25.7516029Z ✔ persists an idempotent Host-scoped Session link without changing item state (257.567365ms) +2026-09-27T05:35:25.7517742Z ✔ keeps the single-link contract: a freshly started Session replaces the previous link (232.264871ms) +2026-09-27T05:35:25.7548038Z ✔ archive, reopen, and permanent delete follow the intended lifecycle (262.782252ms) +2026-09-27T05:35:25.7575866Z ✔ paginates with an opaque cursor and filters by scope and archive state (205.451229ms) +2026-09-27T05:35:25.7593717Z ✔ bounds default and scoped list work under archive-heavy data with active-row indexes (556.300406ms) +2026-09-27T05:35:25.7635774Z ✔ rejects a cursor reused with a different filter result set (144.749511ms) +2026-09-27T05:35:25.7665617Z ✔ round-trips pagination cursors with a maximum-length project id (153.102455ms) +2026-09-27T05:35:25.7666927Z ✔ paginates across an unbounded relinked project identity set (291.444119ms) +2026-09-27T05:35:25.7675060Z ✔ keeps mutation timestamps monotonic when now moves backwards (129.574625ms) +2026-09-27T05:35:25.7676293Z ✔ rejects unknown mutation option keys instead of disabling CAS (182.027834ms) +2026-09-27T05:35:25.7677272Z ✔ serializes concurrent mutations through the process-local write queue (243.065416ms) +2026-09-27T05:35:25.7678465Z ✔ CAS across separate worker connections produces exactly one winner and one conflict (1045.386628ms) +2026-09-27T05:35:25.7679847Z ✔ applies notes patch semantics at the store boundary (193.384064ms) +2026-09-27T05:35:25.7680908Z ✔ keeps revision monotonic when mutations share the same timestamp (203.437349ms) +2026-09-27T05:35:25.7681967Z ✔ rejects a row whose record_json is malformed JSON (256.587279ms) +2026-09-27T05:35:25.7683030Z ✔ SQLite rejects inbox rows with a project id and project rows without one (156.615121ms) +2026-09-27T05:35:25.7685922Z ✔ rejects indexed columns that disagree with record_json (185.916658ms) +2026-09-27T05:35:25.7687769Z ✔ migrates a real workflow schema 8 database through event-only version 10 (178.976729ms) +2026-09-27T05:35:25.7688858Z ✔ backs up and restores board items with the operational state (420.428737ms) +2026-09-27T05:35:25.7689707Z ✔ Work Board store (5947.710096ms) +2026-09-27T05:35:25.7690912Z ✔ WorkHub Coordination admission preserves its bounded content identity across restart (legacy) (576.399802ms) +2026-09-27T05:35:25.7692657Z ✔ WorkHub Coordination admission preserves its bounded content identity across restart (stable-action) (262.884718ms) +2026-09-27T05:35:25.7694225Z ✔ WorkHub queued source admission survives restart (1 messages) and cannot authorize an action root (180.576942ms) +2026-09-27T05:35:25.7726047Z ✔ WorkHub queued source admission survives restart (3 messages) and cannot authorize an action root (229.77631ms) +2026-09-27T05:35:25.7755950Z ✔ WorkHub feedback admission preserves its receipt and source across SQLite restart (232.990762ms) +2026-09-27T05:35:25.7787654Z ✔ atomically commits one WorkHub assignment and target admission (422.200752ms) +2026-09-27T05:35:25.7797641Z ✔ atomically binds delegated text and copied attachments while preserving source authority (208.771441ms) +2026-09-27T05:35:25.7799155Z ✔ scans every target Message lifecycle once and preserves Coordination order (364.347773ms) +2026-09-27T05:35:25.7800408Z ✔ keeps target assignments reachable when their Message lifecycle changes (463.44826ms) +2026-09-27T05:35:25.7801648Z ✔ ignores ordinary WorkHub-shaped Message ids without hiding a real linkage (290.91223ms) +2026-09-27T05:35:25.7803208Z ✔ retires a link on every terminal record and on no other outcome (344.06535ms) +2026-09-27T05:35:25.7804325Z ✔ rolls create_new Session back when assignment validation fails (126.881069ms) +2026-09-27T05:35:25.7805629Z ✔ rejects a stale display identity for a new delegation (118.75187ms) +2026-09-27T05:35:25.7806788Z ✔ atomically commits a replacement assignment with the old-link supersession (230.32533ms) +2026-09-27T05:35:25.7807970Z ✔ an aborted replacement cannot later commit a supersession (198.278274ms) +2026-09-27T05:35:25.7809165Z ✔ an unresolved stop claim blocks replacement while not_owned releases the link (213.269734ms) +2026-09-27T05:35:25.7810375Z ✔ a new workspace marker contains only its schema version and UUID (51.707501ms) +2026-09-27T05:35:25.7811432Z ✔ creating a workspace identity keeps a Git worktree clean (98.951183ms) +2026-09-27T05:35:25.7812622Z ✔ an existing workspace marker becomes locally ignored after Git initialization (106.487935ms) +2026-09-27T05:35:25.7813819Z ✔ a subdirectory workspace stays clean inside a linked Git worktree (153.070251ms) +2026-09-27T05:35:25.7815155Z ✔ repeated Git workspace resolution adds one local exclude rule (115.304599ms) +2026-09-27T05:35:25.7840571Z ✔ concurrent Git workspace resolution returns one clean identity (167.686828ms) +2026-09-27T05:35:25.7866033Z ✔ a full Git exclude does not grow when resolving workspace identity (140.059883ms) +2026-09-27T05:35:25.7896970Z ✔ a malformed enclosing Git repository prevents publishing a new marker (34.378072ms) +2026-09-27T05:35:25.7926688Z ✔ a non-Git workspace resolves when the Git executable is unavailable (207.913963ms) +2026-09-27T05:35:25.7928525Z ✔ a Git workspace does not publish a marker when the Git executable is unavailable (317.864818ms) +2026-09-27T05:35:25.7956037Z ✔ an unmarked read-only workspace fails without leaving marker state (17.548603ms) +2026-09-27T05:35:25.7986514Z ✔ a tar archive round-trip preserves workspace identity (71.440376ms) +2026-09-27T05:35:25.8016376Z ✔ importing an existing marker into a Git worktree keeps it clean (64.333827ms) +2026-09-27T05:35:25.8024207Z ▶ Maka workspace root resolver +2026-09-27T05:35:25.8025193Z ✔ resolves Client-owned data outside every Host State Root (6.343365ms) +2026-09-27T05:35:25.8026223Z ✔ resolves release and development profiles under each platform application-data root (0.838723ms) +2026-09-27T05:35:25.8027278Z ✔ derives all subordinate roots from an exact Client Data Root (4.277139ms) +2026-09-27T05:35:25.8028345Z ✔ honors Linux XDG_CONFIG_HOME and falls back from Windows APPDATA (0.589304ms) +2026-09-27T05:35:25.8029280Z ✔ rejects a profile name that can escape its application-data root (0.745881ms) +2026-09-27T05:35:25.8030038Z ✔ Maka workspace root resolver (15.540291ms) +2026-09-27T05:35:25.8358940Z ▶ workspace version persistence authority +2026-09-27T05:35:25.8388704Z ✔ does not expose the unverified baseline writer on the public SQLite store (13.148051ms) +2026-09-27T05:35:25.8390332Z ✔ cannot be purged through the ordinary conversation lifecycle (553.261145ms) +2026-09-27T05:35:25.8391436Z ✔ reads canonical facts and projections from one SQLite snapshot (87.900574ms) +2026-09-27T05:35:25.8392582Z ✔ atomically opens a baseline and makes only an exact retry idempotent (99.819401ms) +2026-09-27T05:35:25.8393679Z ✔ creates one durable managed mutation reservation with T1 (120.494903ms) +2026-09-27T05:35:25.8394992Z ✔ rejects a managed T1 whose authorized path differs from the durable tool call (78.987668ms) +2026-09-27T05:35:25.8396086Z ✔ refuses to settle a managed mutation through the generic T2 writer (86.963776ms) +2026-09-27T05:35:25.8397381Z ✔ atomically commits no_workspace_change without advancing the workspace head (111.590157ms) +2026-09-27T05:35:25.8398611Z ✔ atomically commits operation_failed_no_effect without advancing the workspace head (124.651729ms) +2026-09-27T05:35:25.8399830Z ✔ atomically commits one tool outcome with its successor workspace head (164.531545ms) +2026-09-27T05:35:25.8401003Z ✔ rejects a raw successor descriptor without an owner-issued candidate capability (70.039694ms) +2026-09-27T05:35:25.8402496Z ✔ rejects a successor whose immutable changed paths exceed its T1 authorization (79.432783ms) +2026-09-27T05:35:25.8403709Z ✔ rejects a failed Write outcome without advancing the workspace head (58.399749ms) +2026-09-27T05:35:25.8404936Z ✔ rolls back tool outcome, successor fact, projection, and head together (73.16369ms) +2026-09-27T05:35:25.8406062Z ✔ rejects a stale managed mutation before it can acquire T1 ownership (92.664568ms) +2026-09-27T05:35:25.8407408Z ✔ returns an earlier exact successor retry after the canonical head advances (159.039157ms) +2026-09-27T05:35:25.8408419Z ✔ rejects a failed outcome referenced by immutable successor authority (116.336831ms) +2026-09-27T05:35:25.8409477Z ✔ upgrades a populated schema 12 baseline before accepting its successor (105.912695ms) +2026-09-27T05:35:25.8410524Z ✔ refuses to silently claim unbound workspace authority facts for another root (60.292354ms) +2026-09-27T05:35:25.8411550Z ✔ refuses to silently claim an unbound database with ordinary runtime state (47.336901ms) +2026-09-27T05:35:25.8412627Z ✔ rolls the entire baseline back at after_workspace_epoch_event_insert (79.595526ms) +2026-09-27T05:35:25.8413709Z ✔ rolls the entire baseline back at after_workspace_version_event_insert (53.913959ms) +2026-09-27T05:35:25.8415056Z ✔ rolls the entire baseline back at after_workspace_epoch_projection_insert (60.571863ms) +2026-09-27T05:35:25.8420906Z ✔ rolls the entire baseline back at after_workspace_version_projection_insert (94.539156ms) +2026-09-27T05:35:25.8840273Z ✔ rolls the entire baseline back at after_workspace_head_projection_insert (46.443368ms) +2026-09-27T05:35:25.9786475Z ✔ rebuilds disposable projections from strict RuntimeEvents and detects corruption (93.139208ms) +2026-09-27T05:35:26.0809248Z ✔ rebuilds an active managed mutation reservation from its immutable T1 (99.590487ms) +2026-09-27T05:35:26.1263903Z ✔ rejects workspace facts through generic RuntimeEvent writers (51.698035ms) +2026-09-27T05:35:26.1832861Z ✔ rejects ordinary RuntimeEvents that try to occupy the authority stream (54.369724ms) +2026-09-27T05:35:26.2419845Z ✔ fails closed when the workspace authority capability is missing or unknown (58.785837ms) +2026-09-27T05:35:26.2478057Z ✔ workspace version persistence authority (3004.600952ms) +2026-09-27T05:35:26.2791777Z ▶ chainWrite +2026-09-27T05:35:26.2808340Z ✔ evicts queue entries once the chain drains (23.04245ms) +2026-09-27T05:35:26.2856086Z ✔ does not evict while a newer write is queued behind (8.046819ms) +2026-09-27T05:35:26.2885881Z ✔ does not evict when a successor is queued behind a failing write (3.806335ms) +2026-09-27T05:35:26.2886841Z ✔ serializes operations under the same key in call order (4.649776ms) +2026-09-27T05:35:26.2888129Z ✔ propagates rejection to the caller and keeps the chain alive (3.295894ms) +2026-09-27T05:35:26.2888812Z ✔ chainWrite (49.32508ms) +2026-09-27T05:35:26.2889661Z ✔ OAuth receipt retention has one explicit 256-attempt idempotency window (2493.356455ms) +2026-09-27T05:35:26.2890764Z ✔ a retained OAuth attempt cannot be rebound to another target or entity (25.863571ms) +2026-09-27T05:35:26.2891425Z ℹ tests 1464 +2026-09-27T05:35:26.2891776Z ℹ suites 64 +2026-09-27T05:35:26.2892100Z ℹ pass 1453 +2026-09-27T05:35:26.2892417Z ℹ fail 0 +2026-09-27T05:35:26.2892746Z ℹ cancelled 0 +2026-09-27T05:35:26.2893084Z ℹ skipped 11 +2026-09-27T05:35:26.2893418Z ℹ todo 0 +2026-09-27T05:35:26.2893839Z ℹ duration_ms 122201.388175 +2026-09-27T05:35:26.3433278Z ✔ WorkHub presents model setup instead of a retry-only resolution error (79.188683ms) +2026-09-27T05:35:26.3676825Z ✔ WorkHub offers pre-session models and saves the selected default (19.654608ms) +2026-09-27T05:35:26.3876421Z ✔ WorkHub model selection configures only newly created work (21.919723ms) +2026-09-27T05:35:26.3945426Z [storage] passed +2026-09-27T05:35:26.4065586Z ✔ WorkHub stops presenting execution on observation loss while retaining the Stop target (14.373393ms) +2026-09-27T05:35:26.4123967Z +2026-09-27T05:35:26.4195790Z [eval] start: npm run test:dist +2026-09-27T05:35:26.4736757Z ✔ WorkHub shows the submitted prompt before admission and keeps it until its durable user record arrives (64.568236ms) +2026-09-27T05:35:26.4826370Z ✔ WorkHub hands transcript and live content off together when publication commits (18.244028ms) +2026-09-27T05:35:26.4996393Z ✔ WorkHub marks a failed submission and preserves its retry identity (7.040925ms) +2026-09-27T05:35:26.5088231Z ✔ a lost admission response cannot erase confirmed WorkHub activity (7.656677ms) +2026-09-27T05:35:26.5195963Z An update to Probe inside a test was not wrapped in act(...). +2026-09-27T05:35:26.5335821Z +2026-09-27T05:35:26.5398424Z When testing, code that causes React state updates should be wrapped into act(...): +2026-09-27T05:35:26.5474008Z +2026-09-27T05:35:26.5541945Z act(() => { +2026-09-27T05:35:26.5585540Z /* fire events that update state */ +2026-09-27T05:35:26.5661229Z }); +2026-09-27T05:35:26.5753255Z /* assert on the output */ +2026-09-27T05:35:26.5797157Z +2026-09-27T05:35:26.5798751Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act +2026-09-27T05:35:26.5800017Z An update to Probe inside a test was not wrapped in act(...). +2026-09-27T05:35:26.5800488Z +2026-09-27T05:35:26.5801044Z When testing, code that causes React state updates should be wrapped into act(...): +2026-09-27T05:35:26.5802106Z +2026-09-27T05:35:26.5802352Z act(() => { +2026-09-27T05:35:26.5802821Z /* fire events that update state */ +2026-09-27T05:35:26.5803296Z }); +2026-09-27T05:35:26.5803705Z /* assert on the output */ +2026-09-27T05:35:26.5804038Z +2026-09-27T05:35:26.5805105Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act +2026-09-27T05:35:26.5806437Z An update to Probe inside a test was not wrapped in act(...). +2026-09-27T05:35:26.5807045Z +2026-09-27T05:35:26.5807647Z When testing, code that causes React state updates should be wrapped into act(...): +2026-09-27T05:35:26.5808233Z +2026-09-27T05:35:26.5808470Z act(() => { +2026-09-27T05:35:26.5808948Z /* fire events that update state */ +2026-09-27T05:35:26.5809448Z }); +2026-09-27T05:35:26.5809888Z /* assert on the output */ +2026-09-27T05:35:26.5810241Z +2026-09-27T05:35:26.5811191Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act +2026-09-27T05:35:26.5812411Z An update to Probe inside a test was not wrapped in act(...). +2026-09-27T05:35:26.5812946Z +2026-09-27T05:35:26.5813494Z When testing, code that causes React state updates should be wrapped into act(...): +2026-09-27T05:35:26.5814092Z +2026-09-27T05:35:26.5814339Z act(() => { +2026-09-27T05:35:26.5815012Z /* fire events that update state */ +2026-09-27T05:35:26.5815543Z }); +2026-09-27T05:35:26.5815964Z /* assert on the output */ +2026-09-27T05:35:26.5816262Z +2026-09-27T05:35:26.5817004Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act +2026-09-27T05:35:26.5818111Z An update to Probe inside a test was not wrapped in act(...). +2026-09-27T05:35:26.5845071Z +2026-09-27T05:35:26.5867937Z When testing, code that causes React state updates should be wrapped into act(...): +2026-09-27T05:35:26.5894972Z +2026-09-27T05:35:26.5925425Z act(() => { +2026-09-27T05:35:26.5956614Z /* fire events that update state */ +2026-09-27T05:35:26.5957402Z }); +2026-09-27T05:35:26.5985327Z /* assert on the output */ +2026-09-27T05:35:26.6009614Z +2026-09-27T05:35:26.6035903Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act +2026-09-27T05:35:26.6037323Z An update to Probe inside a test was not wrapped in act(...). +2026-09-27T05:35:26.6037778Z +2026-09-27T05:35:26.6038309Z When testing, code that causes React state updates should be wrapped into act(...): +2026-09-27T05:35:26.6038891Z +2026-09-27T05:35:26.6039131Z act(() => { +2026-09-27T05:35:26.6074046Z /* fire events that update state */ +2026-09-27T05:35:26.6105298Z }); +2026-09-27T05:35:26.6121192Z /* assert on the output */ +2026-09-27T05:35:26.6135049Z +2026-09-27T05:35:26.6166014Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act +2026-09-27T05:35:26.6195619Z An update to Probe inside a test was not wrapped in act(...). +2026-09-27T05:35:26.6214591Z +2026-09-27T05:35:26.6255583Z When testing, code that causes React state updates should be wrapped into act(...): +2026-09-27T05:35:26.6256345Z +2026-09-27T05:35:26.6285280Z act(() => { +2026-09-27T05:35:26.6315366Z /* fire events that update state */ +2026-09-27T05:35:26.6316092Z }); +2026-09-27T05:35:26.6350420Z /* assert on the output */ +2026-09-27T05:35:26.6371884Z +2026-09-27T05:35:26.6418580Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act +2026-09-27T05:35:26.6419892Z An update to Probe inside a test was not wrapped in act(...). +2026-09-27T05:35:26.6430910Z +2026-09-27T05:35:26.6431789Z When testing, code that causes React state updates should be wrapped into act(...): +2026-09-27T05:35:26.6432428Z +2026-09-27T05:35:26.6432686Z act(() => { +2026-09-27T05:35:26.6433176Z /* fire events that update state */ +2026-09-27T05:35:26.6433679Z }); +2026-09-27T05:35:26.6434685Z /* assert on the output */ +2026-09-27T05:35:26.6467408Z +2026-09-27T05:35:26.6468958Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act +2026-09-27T05:35:26.6470139Z An update to Probe inside a test was not wrapped in act(...). +2026-09-27T05:35:26.6470619Z +2026-09-27T05:35:26.6471137Z When testing, code that causes React state updates should be wrapped into act(...): +2026-09-27T05:35:26.6471692Z +2026-09-27T05:35:26.6471937Z act(() => { +2026-09-27T05:35:26.6472423Z /* fire events that update state */ +2026-09-27T05:35:26.6472947Z }); +2026-09-27T05:35:26.6473374Z /* assert on the output */ +2026-09-27T05:35:26.6473724Z +2026-09-27T05:35:26.6474808Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act +2026-09-27T05:35:26.6488118Z An update to Probe inside a test was not wrapped in act(...). +2026-09-27T05:35:26.6488720Z +2026-09-27T05:35:26.6489247Z When testing, code that causes React state updates should be wrapped into act(...): +2026-09-27T05:35:26.6489867Z +2026-09-27T05:35:26.6490106Z act(() => { +2026-09-27T05:35:26.6490601Z /* fire events that update state */ +2026-09-27T05:35:26.6491102Z }); +2026-09-27T05:35:26.6491550Z /* assert on the output */ +2026-09-27T05:35:26.6491897Z +2026-09-27T05:35:26.6492801Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act +2026-09-27T05:35:26.6493939Z An update to Probe inside a test was not wrapped in act(...). +2026-09-27T05:35:26.6494358Z +2026-09-27T05:35:26.6495102Z When testing, code that causes React state updates should be wrapped into act(...): +2026-09-27T05:35:26.6495683Z +2026-09-27T05:35:26.6495923Z act(() => { +2026-09-27T05:35:26.6496396Z /* fire events that update state */ +2026-09-27T05:35:26.6496893Z }); +2026-09-27T05:35:26.6497332Z /* assert on the output */ +2026-09-27T05:35:26.6497693Z +2026-09-27T05:35:26.6498611Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act +2026-09-27T05:35:26.6499783Z An update to Probe inside a test was not wrapped in act(...). +2026-09-27T05:35:26.6500240Z +2026-09-27T05:35:26.6500801Z When testing, code that causes React state updates should be wrapped into act(...): +2026-09-27T05:35:26.6501385Z +2026-09-27T05:35:26.6501608Z act(() => { +2026-09-27T05:35:26.6502057Z /* fire events that update state */ +2026-09-27T05:35:26.6502568Z }); +2026-09-27T05:35:26.6503014Z /* assert on the output */ +2026-09-27T05:35:26.6503338Z +2026-09-27T05:35:26.6504208Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act +2026-09-27T05:35:26.6506274Z An update to Probe inside a test was not wrapped in act(...). +2026-09-27T05:35:26.6506723Z +2026-09-27T05:35:26.6507264Z When testing, code that causes React state updates should be wrapped into act(...): +2026-09-27T05:35:26.6508234Z +2026-09-27T05:35:26.6508474Z act(() => { +2026-09-27T05:35:26.6508927Z /* fire events that update state */ +2026-09-27T05:35:26.6509376Z }); +2026-09-27T05:35:26.6509787Z /* assert on the output */ +2026-09-27T05:35:26.6510089Z +2026-09-27T05:35:26.6510772Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act +2026-09-27T05:35:26.6512486Z ✔ WorkHub carries Stop through deferred or uncertain admission for the original Turn (69.824376ms) +2026-09-27T05:35:26.6513352Z An update to Probe inside a test was not wrapped in act(...). +2026-09-27T05:35:26.6513771Z +2026-09-27T05:35:26.6514278Z When testing, code that causes React state updates should be wrapped into act(...): +2026-09-27T05:35:26.6515005Z +2026-09-27T05:35:26.6515235Z act(() => { +2026-09-27T05:35:26.6515659Z /* fire events that update state */ +2026-09-27T05:35:26.6516112Z }); +2026-09-27T05:35:26.6516773Z /* assert on the output */ +2026-09-27T05:35:26.6517089Z +2026-09-27T05:35:26.6517900Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act +2026-09-27T05:35:26.6518933Z An update to Probe inside a test was not wrapped in act(...). +2026-09-27T05:35:26.6519392Z +2026-09-27T05:35:26.6519900Z When testing, code that causes React state updates should be wrapped into act(...): +2026-09-27T05:35:26.6520463Z +2026-09-27T05:35:26.6520684Z act(() => { +2026-09-27T05:35:26.6521154Z /* fire events that update state */ +2026-09-27T05:35:26.6521640Z }); +2026-09-27T05:35:26.6522069Z /* assert on the output */ +2026-09-27T05:35:26.6522419Z +2026-09-27T05:35:26.6523287Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act +2026-09-27T05:35:26.6525152Z ✔ an unknown WorkHub submission converges through the original Host admission and payload (20.023529ms) +2026-09-27T05:35:26.6526749Z ✔ Retry reopens a failed initial WorkHub read after Session resolution (4.356724ms) +2026-09-27T05:35:26.6543551Z An update to Probe inside a test was not wrapped in act(...). +2026-09-27T05:35:26.6544230Z +2026-09-27T05:35:26.6544976Z When testing, code that causes React state updates should be wrapped into act(...): +2026-09-27T05:35:26.6545563Z +2026-09-27T05:35:26.6545787Z act(() => { +2026-09-27T05:35:26.6546265Z /* fire events that update state */ +2026-09-27T05:35:26.6546761Z }); +2026-09-27T05:35:26.6547185Z /* assert on the output */ +2026-09-27T05:35:26.6547488Z +2026-09-27T05:35:26.6548287Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act +2026-09-27T05:35:26.6550020Z ✔ WorkHub steering keeps the current Turn and Stop authority and reconciles only its own durable message (4.429932ms) +2026-09-27T05:35:26.6551558Z ✔ uncertain steering retains its identity across Turn completion and rejection preserves the active Turn (4.564437ms) +2026-09-27T05:35:26.6552980Z ✔ Host retraction resolves an uncertain WorkHub attempt before the next draft is sent (3.256312ms) +2026-09-27T05:35:26.6554357Z ✔ steering observed before its admission response renders once and outranks an uncertain receipt (3.193967ms) +2026-09-27T05:35:26.6555924Z ✔ WorkHub Host queue owns restored, consumed and retracted rows without transient mirrors (5.256043ms) +2026-09-27T05:35:26.6557273Z ✔ WorkHub sends queue edits, withdrawal and both queue orders to the Host and waits for its projection (3.206524ms) +2026-09-27T05:35:26.6558322Z An update to Probe inside a test was not wrapped in act(...). +2026-09-27T05:35:26.6558809Z +2026-09-27T05:35:26.6559381Z When testing, code that causes React state updates should be wrapped into act(...): +2026-09-27T05:35:26.6559952Z +2026-09-27T05:35:26.6560189Z act(() => { +2026-09-27T05:35:26.6560663Z /* fire events that update state */ +2026-09-27T05:35:26.6561152Z }); +2026-09-27T05:35:26.6561608Z /* assert on the output */ +2026-09-27T05:35:26.6561923Z +2026-09-27T05:35:26.6563194Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act +2026-09-27T05:35:26.6564920Z ✔ WorkHub defaults to follow-up and moves each message into its admitted successor Turn (4.701818ms) +2026-09-27T05:35:26.6566167Z ✔ restored follow-ups transfer edited Host content once, regardless of transcript arrival order (5.550278ms) +2026-09-27T05:35:26.6567375Z ✔ withdrawing a queued follow-up never transfers it into the conversation (2.578749ms) +2026-09-27T05:35:26.6568486Z ✔ an uncertain queued follow-up blocks the next one until its row is observed (3.140896ms) +2026-09-27T05:35:26.6569520Z ✔ loading earlier history reaches WorkHub’s transcript (2.048501ms) +2026-09-27T05:35:26.6570473Z ✔ follow-up admission before an uncertain response keeps its successor placement (4.346373ms) +2026-09-27T05:35:26.6571700Z An update to Probe inside a test was not wrapped in act(...). +2026-09-27T05:35:26.6572178Z +2026-09-27T05:35:26.6572717Z When testing, code that causes React state updates should be wrapped into act(...): +2026-09-27T05:35:26.6573264Z +2026-09-27T05:35:26.6573496Z act(() => { +2026-09-27T05:35:26.6573954Z /* fire events that update state */ +2026-09-27T05:35:26.6574809Z }); +2026-09-27T05:35:26.6575254Z /* assert on the output */ +2026-09-27T05:35:26.6575573Z +2026-09-27T05:35:26.6576410Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act +2026-09-27T05:35:26.6577390Z An update to Probe inside a test was not wrapped in act(...). +2026-09-27T05:35:26.6577801Z +2026-09-27T05:35:26.6578347Z When testing, code that causes React state updates should be wrapped into act(...): +2026-09-27T05:35:26.6578893Z +2026-09-27T05:35:26.6579106Z act(() => { +2026-09-27T05:35:26.6579541Z /* fire events that update state */ +2026-09-27T05:35:26.6579997Z }); +2026-09-27T05:35:26.6580401Z /* assert on the output */ +2026-09-27T05:35:26.6580718Z +2026-09-27T05:35:26.6581542Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act +2026-09-27T05:35:26.6583058Z ✔ Stop retires only Host-confirmed queued messages even without retraction events (6.723752ms) +2026-09-27T05:35:26.7216368Z ✔ keeps the WorkHub opt-in client-global across Runtime Hosts (9.432574ms) +2026-09-27T05:35:26.9201749Z +2026-09-27T05:35:26.9225524Z > @maka/eval@0.1.0 test:dist +2026-09-27T05:35:26.9256798Z > node --test "dist/**/*.test.js" && python3 -m unittest discover --start-directory harbor --pattern 'test_*.py' +2026-09-27T05:35:26.9257499Z +2026-09-27T05:35:27.5041632Z ✔ the main surface does not mount WorkHub or start its lifecycle (84.790676ms) +2026-09-27T05:35:27.5703867Z ✔ the WorkHub slot retains its providers and mount across locale updates (96.553972ms) +2026-09-27T05:35:27.5946464Z ✔ Main panels follow the resolved Host identity and retain Coordination in the catalog (32.620443ms) +2026-09-27T05:35:27.6881465Z ▶ searchWorkspaceFiles +2026-09-27T05:35:27.6906058Z ✔ reuses one workspace enumeration across consecutive queries (1042.340491ms) +2026-09-27T05:35:27.6962961Z ✔ shares an in-flight enumeration between concurrent queries (14.066238ms) +2026-09-27T05:35:27.7018638Z ✔ refreshes the workspace after the cache TTL expires (5.99186ms) +2026-09-27T05:35:27.7067868Z ✔ refreshes a non-git directory after the cache TTL expires (21.083412ms) +2026-09-27T05:35:27.7120499Z ✔ does not cache a fallback result after git enumeration fails (17.931885ms) +2026-09-27T05:35:27.7177246Z ✔ keeps cached file lists isolated by canonical project root (15.45543ms) +2026-09-27T05:35:27.7206096Z ✔ shares a cache entry for equivalent project-root paths (12.640476ms) +2026-09-27T05:35:27.7235859Z ✔ shares an in-flight canonical-root lookup (25.688361ms) +2026-09-27T05:35:27.7296170Z ✔ refreshes the canonical-root mapping after the cache TTL expires (10.891278ms) +2026-09-27T05:35:27.7346242Z ✔ keeps caches isolated between workspace searcher instances (6.27965ms) +2026-09-27T05:35:27.7395795Z ✔ evicts the least recently used ready workspace (23.512056ms) +2026-09-27T05:35:27.7450011Z ✔ evicts ready workspaces when the cached path-byte budget is exceeded (17.145852ms) +2026-09-27T05:35:27.7485865Z ✔ filters with AND-of-substring tokens, case-insensitively (11.902488ms) +2026-09-27T05:35:27.7525658Z ✔ ranks shorter paths first, then lexicographically (8.627698ms) +2026-09-27T05:35:27.7526832Z ✔ preserves Git filenames that require an unambiguous delimiter (4.976536ms) +2026-09-27T05:35:27.7555784Z ✔ caps the result count at the requested limit (10.876462ms) +2026-09-27T05:35:27.7557757Z ✔ falls back to a readdir walk when the tree is not a git repo (8.02841ms) +2026-09-27T05:35:27.7561979Z ✔ never returns paths outside the root and does not follow symlinked dirs (3.238593ms) +2026-09-27T05:35:27.7563045Z ✔ falls back to the walk when git ls-files errors (3.898494ms) +2026-09-27T05:35:27.7564373Z ✔ searchWorkspaceFiles (1268.9829ms) +2026-09-27T05:35:27.7565642Z ✔ dev replaces stale Host plugin entries with loadable PR2 implementations (601.56044ms) +2026-09-27T05:35:27.7566869Z ✔ a launcher signal cancels preparation before Electron can spawn (20.067401ms) +2026-09-27T05:35:27.7568042Z ✔ a launcher signal adopts and stops a delayed launch handle exactly once (1.873802ms) +2026-09-27T05:35:27.7569251Z ✔ cancelling during launch preparation prevents any later process spawn (3.221982ms) +2026-09-27T05:35:27.7570478Z ✔ cancelling while the plain launcher loads its lock contract prevents spawn (3.417449ms) +2026-09-27T05:35:27.7571539Z ✔ launcher and core agree on the loser contract (7.970114ms) +2026-09-27T05:35:27.7572506Z ✔ plainLoserExitCode matches only the contract value (3.890594ms) +2026-09-27T05:35:27.7573513Z ✔ loser contract import failure does not claim a loser (2.639947ms) +2026-09-27T05:35:27.7574621Z ✔ verdict wait reports only its own private loser result (0.457156ms) +2026-09-27T05:35:27.7575749Z ✔ the TCC launcher stops supervising after Electron wins the lock (0.431657ms) +2026-09-27T05:35:27.7576837Z ✔ verdict wait marks a loser that never starts as absorbed (7.390557ms) +2026-09-27T05:35:27.7577896Z ✔ verdict wait keeps an ordinary never-started launch distinct (47.013882ms) +2026-09-27T05:35:27.7578897Z ✔ verdict wait marks a stopped loser as absorbed (13.155426ms) +2026-09-27T05:35:27.7579874Z ✔ development-app liveness probes only the TCC bundle (0.457215ms) +2026-09-27T05:35:27.7581047Z ✔ a runtime rebuild refuses to replace a running TCC bundle instead of killing it (0.510459ms) +2026-09-27T05:35:27.7582204Z ✔ TCC launcher cleanup removes only its own launch artifacts (0.827705ms) +2026-09-27T05:35:27.7583283Z ✔ each TCC launch gets private and separate result and log files (14.166498ms) +2026-09-27T05:35:27.7584282Z ✔ other launch outcomes retain their exit codes (0.486864ms) +2026-09-27T05:35:27.7585642Z ✔ shared-profile launches warn about legacy TCC data before choosing plain or bundle mode (0.378155ms) +2026-09-27T05:35:27.7586969Z ✔ an explicit isolated profile does not warn about unrelated legacy TCC data (0.25384ms) +2026-09-27T05:35:27.7588249Z ✔ createMacosDevelopmentLaunch passes its private result file after --args (0.309065ms) +2026-09-27T05:35:27.7589648Z ✔ worktree profiles are stable across launches and distinct for identically named checkouts (12.20583ms) +2026-09-27T05:35:27.7590800Z ✔ a symlink to a worktree uses the same data directory (3.715194ms) +2026-09-27T05:35:27.7591985Z ✔ worktree profiles use the platform data location and ignore relative config roots (10.370104ms) +2026-09-27T05:35:27.7593430Z ✔ an explicit data directory overrides automatic selection and survives plain and TCC forwarding (6.486503ms) +2026-09-27T05:35:27.7594885Z ✔ invalid profile overrides cannot fall back to the shared profile (2.302624ms) +2026-09-27T05:35:27.7596191Z ✔ relative profile overrides resolve from the checkout rather than the caller directory (0.972136ms) +2026-09-27T05:35:28.0086593Z ✔ fails install preflight before starting an experiment attempt (67.676621ms) +2026-09-27T05:35:28.1286844Z ✔ present egress audit is inventoried with a sha256 prefix (14.368997ms) +2026-09-27T05:35:28.1317301Z ✔ an empty audit file is a clean trial, not a missing log (0.468573ms) +2026-09-27T05:35:28.1346418Z ✔ a missing expected audit is explicit evidence, not a clean pass (0.253528ms) +2026-09-27T05:35:28.1376091Z ✔ a truncated audit is recorded on the artifact, not judged as infra_failed (0.305925ms) +2026-09-27T05:35:28.1405726Z ✔ policy_error records are counted without changing attribution (0.505867ms) +2026-09-27T05:35:28.1407046Z ✔ a policy_error followed by a later hit still counts the policy error (2.520322ms) +2026-09-27T05:35:28.1436976Z ✔ truncation and an earlier policy_error are both recorded (0.436874ms) +2026-09-27T05:35:28.1465864Z ✔ two policy_error records increment the count rather than pinning it at one (0.277156ms) +2026-09-27T05:35:28.1496201Z ✔ unparseable and non-object lines are counted without changing attribution (3.201897ms) +2026-09-27T05:35:28.1518617Z ✔ invalid UTF-8 is counted as a malformed line, not judged (3.517884ms) +2026-09-27T05:35:28.1525755Z ✔ trials without an egress proxy do not invent a missing-audit artifact (0.307607ms) +2026-09-27T05:35:28.1557706Z ✔ a missing expected audit through runAttempt is infra_failed and excluded (280.914633ms) +2026-09-27T05:35:28.1585813Z ✔ a truncated audit through runAttempt stays scored (164.341035ms) +2026-09-27T05:35:28.1636001Z ✔ a policy_error audit through runAttempt stays scored (125.206597ms) +2026-09-27T05:35:28.1637241Z ✔ a policy_error then a later hit through runAttempt stays scored (132.764486ms) +2026-09-27T05:35:28.1666029Z ✔ subject timeout still scores when the audit log is truncated (142.137908ms) +2026-09-27T05:35:28.2882910Z ✔ a missing audit wins over a subject timeout (163.047252ms) +2026-09-27T05:35:28.4148417Z ✔ a missing audit wins over a missing reward (124.065306ms) +2026-09-27T05:35:28.5587565Z ✔ an empty landed audit through runAttempt stays completed (141.042836ms) +2026-09-27T05:35:28.6976559Z ✔ an unreadable expected audit is infra_failed with the artifact path (141.408966ms) +2026-09-27T05:35:28.8296587Z ✔ trials without an egress proxy still complete when the audit file is absent (132.634042ms) +2026-09-27T05:35:28.8656352Z ✔ writes canonical nested spec bytes and accepts equivalent key order (37.84248ms) +2026-09-27T05:35:28.8716272Z ✔ rejects non-finite spec values instead of silently writing null (9.189448ms) +2026-09-27T05:35:28.8775653Z ✔ recovers lower-bound metering when external settlement is interrupted (34.162242ms) +2026-09-27T05:35:28.8860856Z ✔ a checkpoint the proxy never settled is a lower bound however complete it looks (16.548419ms) +2026-09-27T05:35:28.8895730Z ✔ every token kind is billed at the rate the model config declares (0.445846ms) +2026-09-27T05:35:28.8925998Z ✔ refuses a metering checkpoint whose counts cannot describe one run (21.078711ms) +2026-09-27T05:35:28.9026175Z ✔ passes declared environment and credential bindings to one external command (2.000439ms) +2026-09-27T05:35:28.9119966Z ✔ classifies missing executor process scope as infrastructure failure (0.413115ms) +2026-09-27T05:35:28.9146072Z ✔ requires the bundled wrapper for the structured result contract (0.807596ms) +2026-09-27T05:35:28.9166425Z ✔ rejects credential bindings that the subject did not declare (0.251322ms) +2026-09-27T05:35:28.9207692Z ✔ rejects overlap between public environment and credential targets (0.350155ms) +2026-09-27T05:35:28.9228222Z ✔ rejects overlap with identity credential targets (0.441011ms) +2026-09-27T05:35:28.9255812Z ✔ the pinned fingerprint is the digest of the checksum manifest (38.715285ms) +2026-09-27T05:35:28.9265838Z ✔ refuses a mounted toolchain that is not the pinned tree (8.921272ms) +2026-09-27T05:35:28.9285780Z ✔ a verified toolchain reaches the subject and its later attempts (12.927219ms) +2026-09-27T05:35:29.5676309Z ✔ built Desktop public UI and Client Plugin entries share their Slot provider (2598.386417ms) +2026-09-27T05:35:29.6573624Z ✔ renderer loads a newly exported workspace module after its manifest changes (350.494607ms) +2026-09-27T05:35:29.6638808Z ✔ renderer-facing Runtime Host protocol does not load Node crypto (163.944145ms) +2026-09-27T05:35:29.6665715Z ℹ tests 2916 +2026-09-27T05:35:29.6683741Z ℹ suites 193 +2026-09-27T05:35:29.6715721Z ℹ pass 2916 +2026-09-27T05:35:29.6776123Z ℹ fail 0 +2026-09-27T05:35:29.6866534Z ℹ cancelled 0 +2026-09-27T05:35:29.6926621Z ℹ skipped 0 +2026-09-27T05:35:29.6955544Z ℹ todo 0 +2026-09-27T05:35:29.7007935Z ℹ duration_ms 262654.843882 +2026-09-27T05:35:29.7050545Z [desktop] passed +2026-09-27T05:35:29.7144975Z +2026-09-27T05:35:29.7195632Z [computer-use] start: npm run test:dist +2026-09-27T05:35:30.2410245Z +2026-09-27T05:35:30.2435777Z > @maka/computer-use@0.1.0 test:dist +2026-09-27T05:35:30.2459783Z > node --test "dist/**/*.test.js" +2026-09-27T05:35:30.2460336Z +2026-09-27T05:35:30.6302610Z ✔ stdio retention retains old states without eviction and fails closed until reconnect (5399.442175ms) +2026-09-27T05:35:30.9076628Z ▶ Computer Use cross-layer deterministic contract +2026-09-27T05:35:30.9106333Z ✔ bound target propagation, presentation order, fresh state, and duplicate rejection (53.541035ms) +2026-09-27T05:35:30.9166194Z ✔ typed target change and unknown outcome both cancel, while unknown requires re-observation (5.898867ms) +2026-09-27T05:35:30.9226177Z ✔ explicit session cleanup fences late work and persisted projection omits private UI content (4.857202ms) +2026-09-27T05:35:30.9285985Z ✔ Computer Use cross-layer deterministic contract (68.59049ms) +2026-09-27T05:35:30.9609903Z ✔ presentation starts from the Runtime-bound screen point (10.957511ms) +2026-09-27T05:35:30.9673811Z ✔ a window to order against replaces the level as what keeps the cursor visible (0.303659ms) +2026-09-27T05:35:30.9743145Z ✔ with no window to order against the cursor stays elevated (0.344353ms) +2026-09-27T05:35:30.9775904Z ✔ the landing carries the window the cursor has to come back down to (0.323389ms) +2026-09-27T05:35:30.9884251Z ✔ the Runtime-bound presentation point completes the cursor animation (1.293608ms) +2026-09-27T05:35:30.9885960Z ✔ a successful action with no point anywhere still cancels (2.323944ms) +2026-09-27T05:35:30.9917418Z ✔ failed semantic action cancels presentation (0.383456ms) +2026-09-27T05:35:30.9945608Z ✔ non-presented actions keep the session cursor without moving it (3.392863ms) +2026-09-27T05:35:30.9975415Z ✔ a semantic action reaches the sink with the point it is aimed at (60.667812ms) +2026-09-27T05:35:31.0002398Z ✔ an element whose observed frame is outside its window is not aimed at (8.399998ms) +2026-09-27T05:35:31.0016131Z ✔ an element the observation reported no frame for is not aimed at either (5.491052ms) +2026-09-27T05:35:31.0035057Z ▶ resolveCuaDisplaySnapshots +2026-09-27T05:35:31.0055418Z ✔ maps a 2x primary display to screenshot pixels (3.621936ms) +2026-09-27T05:35:31.0085349Z ✔ maps equal-scale displays with a negative origin into one source atlas (0.384846ms) +2026-09-27T05:35:31.0095308Z ✔ keeps only a proven primary screenshot when mixed-scale atlas mapping is unknown (1.972742ms) +2026-09-27T05:35:31.0123214Z ✔ fails closed when screenshot dimensions match neither atlas nor primary display (0.23996ms) +2026-09-27T05:35:31.0155453Z ✔ resolveCuaDisplaySnapshots (12.407135ms) +2026-09-27T05:35:31.3656210Z ▶ maka-cu backend +2026-09-27T05:35:31.3696256Z ✔ opens with host.hello and refuses to move the system cursor (190.56261ms) +2026-09-27T05:35:31.5176581Z ✔ keeps routine preflight quiet and exposes an explicit Accessibility prompt request (148.86048ms) +2026-09-27T05:35:31.7340668Z ✔ fails loudly on a protocol version mismatch and does not retry (224.268977ms) +2026-09-27T05:35:31.8703666Z ✔ carries the snapshot id and element tokens into the observation identity (134.465931ms) +2026-09-27T05:35:32.0050043Z ✔ uses stable ids while an explicit observation still renders the full tree (134.736611ms) +2026-09-27T05:35:32.1275502Z ✔ renders the declared difference only on the observation returned by an action (123.79144ms) +2026-09-27T05:35:32.2479436Z ✔ echoes the element digest and returns the frame that superseded the quoted one (123.239752ms) +2026-09-27T05:35:32.3721697Z ✔ refuses a dispatch against a spent snapshot as a duplicate action (124.205761ms) +2026-09-27T05:35:32.4997220Z ✔ reports an element whose reference died as target_missing and keeps the frame live (123.91019ms) +2026-09-27T05:35:32.6356304Z ✔ refuses an element token that was never in the quoted snapshot (140.475299ms) +2026-09-27T05:35:32.8233523Z ✔ rejects a tier/path pair outside the declared table instead of coercing it (169.955302ms) +2026-09-27T05:35:32.9751503Z ✔ lets an element action through while the user is physically active (167.891869ms) +2026-09-27T05:35:33.1356372Z ✔ still fences synthesized input while the user is physically active (160.895535ms) +2026-09-27T05:35:33.2722861Z ✔ launches an app in the background and reports the resolved id (136.299597ms) +2026-09-27T05:35:33.3896566Z ✔ reports a launch that took the foreground instead of hiding it (114.090234ms) +2026-09-27T05:35:33.8015707Z ✔ stdio byte-retention retains old states without eviction and fails closed until reconnect (3176.164622ms) +2026-09-27T05:35:34.8053975Z ✔ stdio non-ASCII state suppresses the generation even when UTF-8 stderr bytes split (1004.552185ms) +2026-09-27T05:35:35.6094579Z ✔ learning state clears already formatted or truncated stderr and notifies subscribers (812.141147ms) +2026-09-27T05:35:35.6516323Z ▶ McpClientManager Streamable HTTP fallback contract +2026-09-27T05:35:35.6577466Z ✔ falls back from a pre-handshake 404 or 405 to a real legacy SSE server (468.105667ms) +2026-09-27T05:35:35.6664960Z ✔ does not fall back for non-404/405 HTTP responses (125.775546ms) +2026-09-27T05:35:35.6675743Z ✔ does not fall back from an unexpected successful response body (7.175806ms) +2026-09-27T05:35:35.6696801Z ✔ does not fall back from a network failure (7.381112ms) +2026-09-27T05:35:35.6723844Z ✔ aborts a hanging auto or pinned probe without waiting for the server (24.582106ms) +2026-09-27T05:35:35.6764909Z ✔ does not start a remote probe after a connecting listener cancels synchronously (20.441746ms) +2026-09-27T05:35:35.6788055Z ✔ does not fall back after the Streamable HTTP probe times out (54.817564ms) +2026-09-27T05:35:35.6840384Z ✔ does not fall back after legacy initialize succeeded but initialized returned 404 or 405 (84.652111ms) +2026-09-27T05:35:35.6841620Z ✔ an exact modern pin never attempts legacy SSE (17.494362ms) +2026-09-27T05:35:35.6875681Z ✔ an explicit Streamable HTTP transport never attempts legacy SSE (7.523964ms) +2026-09-27T05:35:35.6904894Z ✔ preserves both failures behind one stable public error when SSE also fails (28.656523ms) +2026-09-27T05:35:35.6937411Z ✔ McpClientManager Streamable HTTP fallback contract (849.889729ms) +2026-09-27T05:35:35.6951399Z ▶ McpClientManager modern tool-list subscriptions +2026-09-27T05:35:35.6991171Z ✔ coalesces an honored notification burst into one bounded trailing refresh (744.015306ms) +2026-09-27T05:35:35.7026532Z ✔ coalesces a change received during initial discovery before publishing connected state (283.106274ms) +2026-09-27T05:35:35.7035804Z ✔ keeps the connection usable when the subscription acknowledgement is missing (307.736423ms) +2026-09-27T05:35:35.7037030Z ✔ keeps the connection usable when the subscription acknowledgement is unhonored (117.214066ms) +2026-09-27T05:35:35.7065775Z ✔ keeps the connection usable when the subscription acknowledgement is rejected (107.88497ms) +2026-09-27T05:35:35.7136009Z ✔ does not wait for an unhonored subscription cancellation response during setup (102.029803ms) +2026-09-27T05:35:35.7145763Z ✔ disconnect aborts an unanswered subscription cancellation request (67.250691ms) +2026-09-27T05:35:35.7178458Z ✔ close aborts an unanswered subscription cancellation request (67.107488ms) +2026-09-27T05:35:35.7196149Z ✔ does not attribute a normal tool transport failure to the subscription (168.86716ms) +2026-09-27T05:35:35.7219877Z ✔ keeps subscription and refresh diagnostics in separate lifecycle slots (273.282255ms) +2026-09-27T05:35:35.7244771Z ✔ McpClientManager modern tool-list subscriptions (2244.372587ms) +2026-09-27T05:35:35.7975635Z ✔ says the host deadline killed the executor, not that it exited on its own (2403.747359ms) +2026-09-27T05:35:35.9282183Z ✔ keeps executor diagnostics out of what the model reads (140.632537ms) +2026-09-27T05:35:35.9910057Z ✔ reports a refused launch with its mapped code, not a raw executor refusal (61.036929ms) +2026-09-27T05:35:36.0731264Z ✔ treats a launch result missing foregroundTaken as version skew (80.814234ms) +2026-09-27T05:35:36.1306757Z ✔ says an occluded target is what driving from behind looks like, and names the way out (60.683321ms) +2026-09-27T05:35:36.1998117Z ✔ says a refused accessibility action will not start working, so it is not retried (69.066901ms) +2026-09-27T05:35:36.2587419Z ✔ separates an application saying no from a route this executor may not take (58.662693ms) +2026-09-27T05:35:36.3145378Z ✔ carries a cut tree through as cut, instead of only into the trace (55.790284ms) +2026-09-27T05:35:36.3727341Z ✔ reads an element with no rectangle instead of refusing the whole window (58.077633ms) +2026-09-27T05:35:36.4387251Z ✔ carries the subrole, which is how a password field is knowable at all (66.009228ms) +2026-09-27T05:35:36.4953576Z ✔ names a parent in the id space the model reads, not the wire token (53.997933ms) +2026-09-27T05:35:36.5511613Z ✔ rejects a frame whose bytes do not match the declared digest (57.668388ms) +2026-09-27T05:35:36.6096340Z ✔ reports a delivered dispatch with no fresh frame as outcome_unknown (58.163366ms) +2026-09-27T05:35:36.6468259Z ▶ McpClientManager E2E +2026-09-27T05:35:36.6475396Z ▶ McpClientManager remote transport E2E +2026-09-27T05:35:36.6515811Z ✔ connects with Streamable HTTP and forwards configured headers (410.614149ms) +2026-09-27T05:35:36.6548953Z ✔ auto probes before negotiating a legacy Streamable HTTP server (78.674452ms) +2026-09-27T05:35:36.6555905Z ✔ does not downgrade an exact modern pin to a legacy Streamable HTTP server (27.618415ms) +2026-09-27T05:35:36.6575739Z ✔ strips configured headers when a redirect leaves the endpoint origin (24.295686ms) +2026-09-27T05:35:36.6599807Z ✔ refuses a redirect that downgrades to cleartext http off the machine (13.619426ms) +2026-09-27T05:35:36.6615628Z ✔ auto falls back to legacy SSE without replacing protocol headers (66.314106ms) +2026-09-27T05:35:36.6645858Z ✔ still sends low-level discovery when a legacy server omits tools capability (24.448608ms) +2026-09-27T05:35:36.6675119Z ✔ bounds and sanitizes connection errors before publishing status (23.520453ms) +2026-09-27T05:35:36.6695700Z ✔ does not expose hostile HTTP bodies through refresh or reconnect errors (39.825868ms) +2026-09-27T05:35:36.6705892Z ✔ keeps the previous callable snapshot after an invalid refresh (75.446834ms) +2026-09-27T05:35:36.6727164Z ✔ publishes one immutable callable snapshot after a real list-changed notification (56.54101ms) +2026-09-27T05:35:36.6755743Z ✔ refreshes for legacy list-changed notifications without an advertised flag (37.875474ms) +2026-09-27T05:35:36.6776095Z ✔ routes initial discovery through the refresh owner when list-changed precedes the first response (63.650252ms) +2026-09-27T05:35:36.6825663Z ✔ joins an explicit refresh to initial discovery without queuing another list (25.086983ms) +2026-09-27T05:35:36.6827142Z ✔ keeps the connection and latest initial snapshot when notifications exhaust the refresh budget (88.947677ms) +2026-09-27T05:35:36.6855626Z ✔ bounds raw Tool definitions without replacing the callable snapshot (121.225478ms) +2026-09-27T05:35:36.6885668Z ✔ retains a binding for the same canonical definition on one connection (37.327343ms) +2026-09-27T05:35:36.6887187Z ✔ rotates a binding for a raw-only definition change and stale-fails before the wire (104.215499ms) +2026-09-27T05:35:36.6916130Z ✔ revokes a removed tool binding before the wire (24.165537ms) +2026-09-27T05:35:36.6945945Z ✔ rotates bindings across a replacement connection (55.485709ms) +2026-09-27T05:35:36.6978713Z ✔ revokes bindings synchronously when disconnect begins (30.109345ms) +2026-09-27T05:35:36.7005575Z ✔ revokes bindings and refresh authority as soon as close begins (40.237722ms) +2026-09-27T05:35:36.7006741Z ✔ binds the same tool name independently for each server (56.75575ms) +2026-09-27T05:35:36.7036019Z ✔ keeps a stale candidate private when list-changed arrives before publication (54.533608ms) +2026-09-27T05:35:36.7055712Z ✔ starts a fresh list for a refresh queued during snapshot publication (69.524689ms) +2026-09-27T05:35:36.7095748Z ✔ rejects descriptors retired synchronously during snapshot publication (17.90528ms) +2026-09-27T05:35:36.7097158Z ✔ releases a failed refresh so the next one can publish a replacement (34.882853ms) +2026-09-27T05:35:36.7124271Z ✔ bounds response-followed-by-notification rediscovery during initial sync (104.833778ms) +2026-09-27T05:35:36.7125962Z ✔ bounds slow response-followed-by-notification rediscovery (62.238918ms) +2026-09-27T05:35:36.7127105Z ✔ publishes the latest valid snapshot before suppressing rediscovery (84.387815ms) +2026-09-27T05:35:36.7128274Z ✔ coalesces a burst of legitimate list-changed notifications (63.513606ms) +2026-09-27T05:35:36.7129421Z ✔ gives spaced list-changed notifications independent refresh budgets (47.88202ms) +2026-09-27T05:35:36.7130616Z ✔ lets configuration removal preempt active notification rediscovery (38.70896ms) +2026-09-27T05:35:36.7131799Z ✔ retries when a synchronous diagnostic listener requests another refresh (40.835433ms) +2026-09-27T05:35:36.7133100Z ✔ does not leave a connected status after a synchronous listener retires the generation (62.734711ms) +2026-09-27T05:35:36.7134331Z ✔ does not let an old client refresh overwrite a replacement connection (52.960773ms) +2026-09-27T05:35:36.7135600Z ✔ uses the validated Tool definition for output checks (48.845326ms) +2026-09-27T05:35:36.7136736Z ✔ classifies decoded deferred markers before output-schema validation (134.408288ms) +2026-09-27T05:35:36.7137821Z ✔ rejects a malformed output schema before invoking the Tool (36.908611ms) +2026-09-27T05:35:36.7138893Z ✔ requires structured output only for successful output-schema calls (82.031346ms) +2026-09-27T05:35:36.7139930Z ✔ accepts the content block limit and rejects the next block (130.255071ms) +2026-09-27T05:35:36.7140876Z ✔ accepts JSON depth 32 and rejects depth 33 (49.027948ms) +2026-09-27T05:35:36.7141741Z ✔ accepts 8192 JSON nodes and rejects node 8193 (68.35668ms) +2026-09-27T05:35:36.7142728Z ✔ counts exact serialized UTF-8 bytes and rejects the next byte (3190.116027ms) +2026-09-27T05:35:36.7143781Z ✔ applies the JSON budget to metadata on known content blocks (44.402462ms) +2026-09-27T05:35:36.7145150Z ✔ rechecks the budget after credential scrubbing expands a result (1365.279391ms) +2026-09-27T05:35:36.7146101Z ✔ checks the success budget before output-schema validation (878.876982ms) +2026-09-27T05:35:36.7146898Z ✔ rejects an invalid binding before the wire (12.423492ms) +2026-09-27T05:35:36.7147729Z ✔ a failed tool call rejects with a sanitized cause, never the raw chain (17.882315ms) +2026-09-27T05:35:36.7148547Z ✔ McpClientManager remote transport E2E (8331.975457ms) +2026-09-27T05:35:36.7149156Z ▶ McpClientManager stdio E2E +2026-09-27T05:35:36.7149927Z ✔ drops non-semantic JSON Schema annotations from discovered tools (342.25273ms) +2026-09-27T05:35:36.7150925Z ✔ discovers paginated tools and calls structured content (375.615583ms) +2026-09-27T05:35:36.7151787Z ✔ maps protocol isError to the Maka error path (647.106076ms) +2026-09-27T05:35:36.7152622Z ✔ a tool error echoing a configured env secret is scrubbed (607.742917ms) +2026-09-27T05:35:36.7153897Z ✔ a short sensitive env value is withheld wholesale from tool errors (412.863713ms) +2026-09-27T05:35:36.7154970Z ✔ propagates caller abort to an in-flight tool call (633.717957ms) +2026-09-27T05:35:36.7155907Z ✔ enforces the configured tool call timeout (2392.261286ms) +2026-09-27T05:35:36.7156788Z ✔ reports an effect the executor confirmed as done, even with no fresh frame (68.988066ms) +2026-09-27T05:35:36.7893667Z ✔ reports an action that closed its own target as done, not as unknown (110.837701ms) +2026-09-27T05:35:36.9326644Z ✔ ends cleared sessions without re-notifying them and invalidates known sessions on generation loss (141.603905ms) +2026-09-27T05:35:37.0126679Z ✔ maps apps.list onto CuAppSummary without a rendered catalogue (81.06355ms) +2026-09-27T05:35:37.0276751Z ✔ captures bounded stderr diagnostics when stdio startup fails (377.669215ms) +2026-09-27T05:35:37.1217332Z ✔ serves the {app, windowId} pair every fresh full observation asks for (109.060139ms) +2026-09-27T05:35:37.2156669Z ✔ refuses an {app, windowId} pair no window satisfies as target_missing (92.417414ms) +2026-09-27T05:35:37.3239201Z ✔ matches an app string against appId only, never against a display name (108.222965ms) +2026-09-27T05:35:37.3546658Z ✔ excludes credential keys case-insensitively from a real stdio child (330.085737ms) +2026-09-27T05:35:37.3599605Z ✔ cancels an in-flight installation connect without leaving tools visible (13.078391ms) +2026-09-27T05:35:37.3849184Z ✔ cancels installation after remote tool discovery starts (22.697295ms) +2026-09-27T05:35:37.4356574Z ✔ does not report a cancellable connect after connected status is published (34.523617ms) +2026-09-27T05:35:37.4486246Z ✔ converts every element frame into screen points once, by the window origin (118.76854ms) +2026-09-27T05:35:37.4536188Z ✔ close aborts an in-flight connection before it can publish tools (19.804119ms) +2026-09-27T05:35:37.5666433Z ✔ enables bound keyboard dispatch by default and acquires a named control (122.98406ms) +2026-09-27T05:35:37.6941367Z ✔ rejects an invalid executor path reported by dispatch.key (122.907158ms) +2026-09-27T05:35:37.8546425Z ✔ verifies rather than takes focus when the model named no control (161.967484ms) +2026-09-27T05:35:37.9634153Z ✔ captures and redacts a final stderr fragment without a newline (521.305215ms) +2026-09-27T05:35:37.9747025Z ✔ refuses keyboard dispatch when the observation has no verified focus owner (123.16744ms) +2026-09-27T05:35:38.0750291Z ✔ refuses a key aimed at a control outside the quoted frame (99.302052ms) +2026-09-27T05:35:38.1836703Z ✔ parses a key combination into the wire closed sets before sending it (109.98965ms) +2026-09-27T05:35:38.3675908Z ✔ redacts across stream chunks and discards oversized physical stderr lines (395.20627ms) +2026-09-27T05:35:38.5339054Z ✔ sends nothing for a key string it cannot parse (348.414252ms) +2026-09-27T05:35:38.5918028Z ✔ accepts a refusal that carries the four declared fields and keeps the executor (60.276977ms) +2026-09-27T05:35:38.6321907Z ✔ publishes a stderr chunk once instead of once per physical line (274.230799ms) +2026-09-27T05:35:38.6683712Z ✔ rejects a refusal that carries only an error object (76.580767ms) +2026-09-27T05:35:38.7318925Z ✔ rejects an ok result that declares a refusal (60.763863ms) +2026-09-27T05:35:38.7946467Z ✔ tells the model a dispatch was refused, and leaves the frame it quoted live (61.916738ms) +2026-09-27T05:35:38.8817354Z ✔ discards the frame when the echoed digest was not the recorded one (87.417246ms) +2026-09-27T05:35:38.9838595Z ✔ rejects a bare-hex image digest instead of comparing against it (103.275015ms) +2026-09-27T05:35:39.0016567Z ✔ reconciles disable and removal without leaving tools visible (375.560443ms) +2026-09-27T05:35:39.0051612Z ✔ McpClientManager stdio E2E (7780.910662ms) +2026-09-27T05:35:39.0055548Z ✔ McpClientManager E2E (16113.654278ms) +2026-09-27T05:35:39.0085658Z ✔ buildStdioEnvironment uses an allowlist and explicit values override it (0.308698ms) +2026-09-27T05:35:39.2040000Z ✔ refuses a snapshot missing a declared array rather than reading it as empty (221.019354ms) +2026-09-27T05:35:39.2648213Z ✔ refuses a window list entry with no zIndex rather than sorting it as 0 (59.331662ms) +2026-09-27T05:35:39.3398141Z ✔ refuses an apps.list entry with no windowCount rather than reporting zero (70.79442ms) +2026-09-27T05:35:39.4197805Z ✔ maps a refused session.begin instead of letting it escape as an exception (85.81726ms) +2026-09-27T05:35:39.4565988Z ▶ McpClientManager modern Streamable HTTP E2E +2026-09-27T05:35:39.4596009Z ✔ auto negotiates 2026-07-28 and clears live protocol status on disconnect (383.277041ms) +2026-09-27T05:35:39.4624285Z ✔ pins the exact 2026-07-28 revision (80.14034ms) +2026-09-27T05:35:39.4625786Z ✔ does not issue tools/list when a modern server omits the tools capability (18.995304ms) +2026-09-27T05:35:39.4626732Z ✔ preserves every modern structuredContent JSON shape (146.54073ms) +2026-09-27T05:35:39.4627702Z ✔ forwards numeric tools/call progress and leaves the result unchanged (72.589434ms) +2026-09-27T05:35:39.4628626Z ✔ forwards numeric tools/call progress from emitProgress (43.696003ms) +2026-09-27T05:35:39.4629511Z ✔ a throwing onProgress listener does not fail the tool call (33.606687ms) +2026-09-27T05:35:39.4630337Z ✔ omitting onProgress still returns the tool result (40.946607ms) +2026-09-27T05:35:39.4631177Z ✔ surfaces input_required without silently retrying the tool (61.057961ms) +2026-09-27T05:35:39.4632425Z MCP tool discovery excluded 1 Tool definition(s) with invalid x-mcp-header annotations: "invalid-header" [property_type_unsupported] +2026-09-27T05:35:39.4633671Z ✔ partitions SEP-2243 definitions and mirrors safe arguments on the wire (44.347757ms) +2026-09-27T05:35:39.4634721Z ✔ McpClientManager modern Streamable HTTP E2E (935.147325ms) +2026-09-27T05:35:39.4635449Z ▶ McpClientManager OAuth E2E +2026-09-27T05:35:39.4636425Z ✔ needs-auth → authorize → connected, with PKCE and Bearer-protected calls (540.863195ms) +2026-09-27T05:35:39.4637380Z ✔ reconnects silently once tokens are stored (73.053634ms) +2026-09-27T05:35:39.4639009Z [mcp-sdk] SEP-2352: stored OAuth credential has no 'issuer' stamp (pre-upgrade storage or provider not round-tripping the value). SEP-2352 isolation is inactive for this read; ensure your provider round-trips the issuer field. +2026-09-27T05:35:39.4641718Z [mcp-sdk] SEP-2352: stored OAuth credential has no 'issuer' stamp (pre-upgrade storage or provider not round-tripping the value). SEP-2352 isolation is inactive for this read; ensure your provider round-trips the issuer field. +2026-09-27T05:35:39.4675723Z ✔ a background connect refreshes a stale token silently, without a browser round (80.773342ms) +2026-09-27T05:35:39.4705760Z ✔ a revoked session surfaces needs-auth on the next tool call (62.974687ms) +2026-09-27T05:35:39.4736024Z ✔ a stored record issued for a different URL is dropped, never replayed (28.623425ms) +2026-09-27T05:35:39.4765702Z ✔ a token endpoint reflecting the client secret does not leak it through errors (54.697954ms) +2026-09-27T05:35:39.4795827Z ✔ a cross-origin redirect sheds the OAuth bearer token (20.642254ms) +2026-09-27T05:35:39.4825572Z ✔ reconnect failures reaching the caller are scrubbed of tokens and short secrets (22.686871ms) +2026-09-27T05:35:39.4885834Z ✔ the challenge scope is found even when only the initialize POST answers 401 (34.256274ms) +2026-09-27T05:35:39.4915624Z ✔ reflected id_token material is scrubbed from outbound errors (11.975375ms) +2026-09-27T05:35:39.4945657Z ✔ a message containing a short secret is withheld wholesale (11.031972ms) +2026-09-27T05:35:39.4956750Z [mcp-sdk] SEP-2352: stored OAuth credential has no 'issuer' stamp (pre-upgrade storage or provider not round-tripping the value). SEP-2352 isolation is inactive for this read; ensure your provider round-trips the issuer field. +2026-09-27T05:35:39.4990093Z [mcp-sdk] SEP-2352: stored OAuth credential has no 'issuer' stamp (pre-upgrade storage or provider not round-tripping the value). SEP-2352 isolation is inactive for this read; ensure your provider round-trips the issuer field. +2026-09-27T05:35:39.5121666Z ✔ a logout during a token refresh is terminal — the record is not resurrected (39.325819ms) +2026-09-27T05:35:39.5346373Z ✔ the probe speaks the current protocol version to strict POST-only servers (42.544758ms) +2026-09-27T05:35:39.5377421Z ✔ a bare 401 on GET does not stop the probe from asking via POST (38.03467ms) +2026-09-27T05:35:39.5426121Z ✔ success payloads and tool metadata are scrubbed of reflected credentials (63.185795ms) +2026-09-27T05:35:39.5441216Z ✔ a token endpoint reflecting the PKCE verifier does not leak it (49.88629ms) +2026-09-27T05:35:39.5486665Z [mcp-sdk] SEP-2352: stored OAuth credential has no 'issuer' stamp (pre-upgrade storage or provider not round-tripping the value). SEP-2352 isolation is inactive for this read; ensure your provider round-trips the issuer field. +2026-09-27T05:35:39.5494971Z [mcp-sdk] SEP-2352: stored OAuth credential has no 'issuer' stamp (pre-upgrade storage or provider not round-tripping the value). SEP-2352 isolation is inactive for this read; ensure your provider round-trips the issuer field. +2026-09-27T05:35:39.5497382Z ✔ a refresh landing after logout cannot resurrect the record, even mid-write (762.725736ms) +2026-09-27T05:35:39.5556297Z ✔ a raw 401 keeps its code through the scrubbed refreshTools rejection (84.753678ms) +2026-09-27T05:35:39.5615737Z ✔ a token endpoint reflecting the authorization code does not leak it (41.188165ms) +2026-09-27T05:35:39.5638837Z ✔ a stored OAuth session excludes a configured Authorization header (45.897891ms) +2026-09-27T05:35:39.5640167Z ✔ static client credentials cannot follow a resource to a different issuer (12.95069ms) +2026-09-27T05:35:39.5641391Z ✔ metadata-less OAuth callbacks stay bound to the discovered authorization server (20.133676ms) +2026-09-27T05:35:39.5642549Z ✔ the callback iss parameter reaches the SDK issuer validation (60.97243ms) +2026-09-27T05:35:39.5643633Z ✔ a forged callback iss is rejected before the code is redeemed (44.415734ms) +2026-09-27T05:35:39.5644891Z ✔ every credential transition stamps a monotonically increasing version (67.213332ms) +2026-09-27T05:35:39.5646166Z ✔ a CAS-capable backend surfaces external-writer conflicts instead of clobbering (42.643461ms) +2026-09-27T05:35:39.5647249Z ✔ a removed server or a changed URL forgets its stored authorization (95.041178ms) +2026-09-27T05:35:39.5648340Z ✔ following a URL change late keeps the login already made for the new URL (33.666312ms) +2026-09-27T05:35:39.5649458Z ✔ a failed credential erase blocks the server instead of releasing it (40.454192ms) +2026-09-27T05:35:39.5650542Z ✔ the interactive flow never sends a configured Authorization header (26.44478ms) +2026-09-27T05:35:39.5652439Z [mcp-sdk] SEP-2352: stored OAuth credential has no 'issuer' stamp (pre-upgrade storage or provider not round-tripping the value). SEP-2352 isolation is inactive for this read; ensure your provider round-trips the issuer field. +2026-09-27T05:35:39.5654997Z [mcp-sdk] SEP-2352: stored OAuth credential has no 'issuer' stamp (pre-upgrade storage or provider not round-tripping the value). SEP-2352 isolation is inactive for this read; ensure your provider round-trips the issuer field. +2026-09-27T05:35:39.5657564Z ✔ a logout in another process fences this process’s in-flight refresh (21.711294ms) +2026-09-27T05:35:39.5658848Z ✔ a credential record with no endpoint binding is revoked, not adopted (16.896076ms) +2026-09-27T05:35:39.5680473Z ✔ a superseded authorization round cannot finish with the older verifier (56.932348ms) +2026-09-27T05:35:39.5681836Z ✔ OAuth client metadata identifies the Apache project and the running client (5.58254ms) +2026-09-27T05:35:39.5683140Z ✔ static credentials survive restart only with the same configured registration (3.864878ms) +2026-09-27T05:35:39.5684611Z ✔ a discovery that moves to another authorization server drops the registered client (0.465871ms) +2026-09-27T05:35:39.5686156Z ✔ an atomic update cannot rebind another endpoint’s material to this one (0.424605ms) +2026-09-27T05:35:39.5687284Z ✔ a logout during the pre-write probe fences the whole flow (3.936066ms) +2026-09-27T05:35:39.5688481Z ✔ a callback that omits state cannot skip the round binding (26.465579ms) +2026-09-27T05:35:39.5689593Z ✔ a superseded abandon leaves the newer round’s verifier and state intact (2.906443ms) +2026-09-27T05:35:39.5690850Z ✔ removal erases a stale credential record even when the server became stdio (0.628708ms) +2026-09-27T05:35:39.5692068Z ✔ interactive authorization fails closed while credential cleanup is owed (32.87748ms) +2026-09-27T05:35:39.5693216Z ✔ an aborted round cannot exchange its code or write credentials (49.681455ms) +2026-09-27T05:35:39.5694136Z ✔ McpClientManager OAuth E2E (2781.073061ms) +2026-09-27T05:35:39.5695035Z ▶ SEP-2243 definition validation +2026-09-27T05:35:39.5695871Z ✔ collects nested string, integer, and boolean properties (2.6463ms) +2026-09-27T05:35:39.5696916Z ✔ rejects number even though the pinned SDK accepts it (0.345093ms) +2026-09-27T05:35:39.5698019Z ✔ uses stable codes for malformed annotation values and property types (0.310406ms) +2026-09-27T05:35:39.5699061Z ✔ requires an RFC 9110 token for the header name (0.323355ms) +2026-09-27T05:35:39.5700149Z ✔ requires case-insensitively unique header names across nesting levels (0.231404ms) +2026-09-27T05:35:39.5701288Z ✔ rejects annotations outside a properties-only static path (1.291935ms) +2026-09-27T05:35:39.5702215Z ✔ SEP-2243 definition validation (8.784609ms) +2026-09-27T05:35:39.5703256Z ✔ partitioning excludes only malformed Tools and preserves valid references (0.656051ms) +2026-09-27T05:35:39.5704141Z ▶ SEP-2243 exclusion warning +2026-09-27T05:35:39.5739735Z ✔ reports the total and a capped sample using stable reason codes (3.250086ms) +2026-09-27T05:35:39.5768752Z ✔ sanitizes control characters and always honors the rendered-length cap (1.85306ms) +2026-09-27T05:35:39.5795458Z ✔ redacts secret-shaped Tool names before logging them (0.424352ms) +2026-09-27T05:35:39.5816418Z ✔ returns undefined when no Tool was excluded (0.182997ms) +2026-09-27T05:35:39.5825322Z ✔ SEP-2243 exclusion warning (6.164928ms) +2026-09-27T05:35:39.5855822Z ▶ SEP-2243 call-time integer validation +2026-09-27T05:35:39.5886821Z ✔ accepts safe boundaries and leaves other schema validation to the caller (1.891311ms) +2026-09-27T05:35:39.5910451Z ✔ returns a stable local failure for unsafe integer arguments (0.797062ms) +2026-09-27T05:35:39.5925488Z ✔ SEP-2243 call-time integer validation (2.882989ms) +2026-09-27T05:35:39.5945415Z ▶ McpClientManager stdio protocol negotiation +2026-09-27T05:35:39.5978053Z ✔ omitted and explicit legacy preferences each start exactly one child (1421.886775ms) +2026-09-27T05:35:39.6005715Z ✔ auto probes a legacy server with a reaped sibling before the actual child (1563.942438ms) +2026-09-27T05:35:39.6028424Z ✔ auto connects to a modern-only server after an isolated matching probe (856.672449ms) +2026-09-27T05:35:39.6036009Z ✔ an exact modern pin connects to a modern-only server without downgrade (951.776705ms) +2026-09-27T05:35:39.6065624Z ✔ an exact modern pin leaves no actual child after a legacy-only rejection (420.063085ms) +2026-09-27T05:35:39.6096640Z ✔ a pre-aborted auto connect starts no child (3.850964ms) +2026-09-27T05:35:39.6125596Z ✔ aborting during a delayed probe reaps it and never starts the actual child (302.257164ms) +2026-09-27T05:35:39.6127612Z ✔ McpClientManager stdio protocol negotiation (5523.835683ms) +2026-09-27T05:35:39.6155331Z ▶ MCP Tool binding +2026-09-27T05:35:39.6185443Z ✔ round-trips only the canonical bounded encoding (2.694843ms) +2026-09-27T05:35:39.6205680Z ✔ rejects malformed, oversized, and invalid generation identities (0.660061ms) +2026-09-27T05:35:39.6229599Z ✔ keeps the opaque binding bounded without restricting server or Tool names (0.618048ms) +2026-09-27T05:35:39.6245557Z ✔ changes when any consistency identity input changes (0.558156ms) +2026-09-27T05:35:39.6275808Z ✔ MCP Tool binding (6.347527ms) +2026-09-27T05:35:39.6306141Z ✔ normalizes the SDK unsupported-result error to the stable Maka boundary (4.488516ms) +2026-09-27T05:35:39.6307661Z ✔ preserves the invalid-result classification for unrelated schema failures (0.397809ms) +2026-09-27T05:35:39.6335683Z ✔ wraps generic SDK and transport failures without exposing their message (1.158474ms) +2026-09-27T05:35:39.6365760Z ✔ keeps raw identity fields while rendering a bounded log-safe message (1.873864ms) +2026-09-27T05:35:39.6395461Z ▶ MCP Tool definition fingerprint +2026-09-27T05:35:39.6405426Z ✔ rejects oversized and excessively deep definitions (2.691824ms) +2026-09-27T05:35:39.6425600Z ✔ MCP Tool definition fingerprint (4.134378ms) +2026-09-27T05:35:39.6455292Z ▶ discoverMcpTools +2026-09-27T05:35:39.6466782Z ✔ treats an empty nextCursor as an opaque continuation (5.67756ms) +2026-09-27T05:35:39.6484241Z ✔ rejects a repeated cursor without fetching another page (1.277449ms) +2026-09-27T05:35:39.6485463Z ✔ rejects duplicate tool names across pages (2.344326ms) +2026-09-27T05:35:39.6486370Z ✔ bounds and redacts duplicate Tool names in diagnostics (2.030381ms) +2026-09-27T05:35:39.6487196Z ✔ stops within an oversized tool page (0.461481ms) +2026-09-27T05:35:39.6487912Z ✔ does not fetch beyond the page limit (0.501826ms) +2026-09-27T05:35:39.6488898Z ✔ rejects cumulative definition bytes across pages without fetching another page (0.531516ms) +2026-09-27T05:35:39.6490062Z ✔ preflights definition depth before cloning it into the snapshot candidate (0.571351ms) +2026-09-27T05:35:39.6490950Z ✔ discoverMcpTools (15.802575ms) +2026-09-27T05:35:39.6491591Z ▶ MCP Tool output validation preparation +2026-09-27T05:35:39.6492554Z ✔ strips only the SDK outputSchema view and validates from the owned definition (21.873902ms) +2026-09-27T05:35:39.6493521Z ✔ reports malformed schemas during pre-wire preparation (3.067606ms) +2026-09-27T05:35:39.6494710Z ✔ compiles each tool against its own schema when $ids collide (11.290548ms) +2026-09-27T05:35:39.6527051Z ✔ MCP Tool output validation preparation (41.04607ms) +2026-09-27T05:35:39.6546305Z ✔ maps integer MCP progress onto the Host current/total pair (2.185516ms) +2026-09-27T05:35:39.6555566Z ✔ drops incomplete, inverted, or non-integer MCP progress (0.39202ms) +2026-09-27T05:35:39.6581911Z ▶ transport security provenance +2026-09-27T05:35:39.6607599Z ✔ allows public https regardless of provenance (1.430289ms) +2026-09-27T05:35:39.6635598Z ✔ refuses remotely supplied https aimed back into the machine or network (1.008053ms) +2026-09-27T05:35:39.6645500Z ✔ refuses IPv6-mapped spellings of machine-local and private destinations (1.710736ms) +2026-09-27T05:35:39.6665483Z ✔ never allows cleartext http off the machine (0.239738ms) +2026-09-27T05:35:39.6697070Z ✔ refuses a remotely supplied loopback destination when the server is remote (0.270622ms) +2026-09-27T05:35:39.6726923Z ✔ allows loopback http when the user configured a loopback trust root (0.203675ms) +2026-09-27T05:35:39.6755598Z ✔ refuses non-HTTP schemes outright (0.196438ms) +2026-09-27T05:35:39.6765624Z ✔ transport security provenance (7.106859ms) +2026-09-27T05:35:39.6785619Z ℹ tests 261 +2026-09-27T05:35:39.6818437Z ℹ suites 18 +2026-09-27T05:35:39.6834294Z ℹ pass 261 +2026-09-27T05:35:39.6845304Z ℹ fail 0 +2026-09-27T05:35:39.6875362Z ℹ cancelled 0 +2026-09-27T05:35:39.6906964Z ℹ skipped 0 +2026-09-27T05:35:39.6925286Z ℹ todo 0 +2026-09-27T05:35:39.6935395Z ℹ duration_ms 22932.345721 +2026-09-27T05:35:39.6965168Z [mcp] passed +2026-09-27T05:35:39.6994929Z +2026-09-27T05:35:39.7015336Z [acp-executor-plugin] start: npm run test:dist +2026-09-27T05:35:39.7026225Z ✔ maps a refused window.list the same way (78.115417ms) +2026-09-27T05:35:39.7055540Z ✔ maka-cu backend (8376.861471ms) +2026-09-27T05:35:39.7061492Z ▶ maka-cu backend selection +2026-09-27T05:35:39.7085640Z ✔ is reached by being named, and refuses without a pinned digest (0.406376ms) +2026-09-27T05:35:39.7115493Z ✔ is what a caller that names nothing gets (0.358142ms) +2026-09-27T05:35:39.7151042Z ✔ maka-cu backend selection (1.064164ms) +2026-09-27T05:35:39.7157382Z ▶ maka-cu key chord parsing +2026-09-27T05:35:39.7185586Z ✔ cannot be spelled with an Object.prototype member (0.300147ms) +2026-09-27T05:35:39.7205742Z ✔ maka-cu key chord parsing (0.42931ms) +2026-09-27T05:35:39.7235913Z ▶ maka-cu key grammar (§6.4) +2026-09-27T05:35:39.7265623Z ✔ parses the combinations Maka callers actually hold (6.114662ms) +2026-09-27T05:35:39.7295509Z ✔ maps aliases case-insensitively onto the wire vocabulary (0.720242ms) +2026-09-27T05:35:39.7296706Z ✔ collapses a duplicated modifier and keeps first-seen order (0.262199ms) +2026-09-27T05:35:39.7326869Z ✔ refuses `delete` and `del`, which name two different destructive keys (0.295312ms) +2026-09-27T05:35:39.7355543Z ✔ refuses everything the grammar cannot express (0.236287ms) +2026-09-27T05:35:39.7385338Z ✔ maka-cu key grammar (§6.4) (17.144037ms) +2026-09-27T05:35:39.7386258Z ▶ maka-cu readers refuse rather than default +2026-09-27T05:35:39.7415714Z ✔ refuses a hash that is not written the one declared way (§1.3) (1.841416ms) +2026-09-27T05:35:39.7446486Z ✔ refuses a declared array that is absent or malformed (§5.2) (0.301926ms) +2026-09-27T05:35:39.7452706Z ✔ refuses a non-string token where the wire declares string-or-null (§5.2) (3.506864ms) +2026-09-27T05:35:39.7475637Z ✔ refuses an app string that is not on the wire (§5.1) (0.356864ms) +2026-09-27T05:35:39.7505578Z ✔ refuses a text field that is present but is not text (§5.2) (0.419748ms) +2026-09-27T05:35:39.7538541Z ✔ reads stable element ids and a declared observation difference (0.87601ms) +2026-09-27T05:35:39.7539666Z ✔ refuses malformed stable ids and difference fields (7.133968ms) +2026-09-27T05:35:39.7565713Z ✔ refuses inconsistent stable ids and changes that do not name the current element (0.664215ms) +2026-09-27T05:35:39.7595350Z ✔ refuses a window entry missing a field the host sorts on (§5.4) (1.327629ms) +2026-09-27T05:35:39.7625420Z ✔ maka-cu readers refuse rather than default (19.789967ms) +2026-09-27T05:35:39.7655463Z ▶ maka-cu dispatch results are held to their closed sets (§6.3/§6.5) +2026-09-27T05:35:39.7656402Z ✔ refuses a path that is not in the closed set (2.514885ms) +2026-09-27T05:35:39.7685579Z ✔ refuses a tier and an outcome outside their own closed sets (0.222211ms) +2026-09-27T05:35:39.7710601Z ✔ refuses a path its tier does not permit, and a global-pointer path that was not granted (0.161311ms) +2026-09-27T05:35:39.7717159Z ✔ maka-cu dispatch results are held to their closed sets (§6.3/§6.5) (3.134121ms) +2026-09-27T05:35:39.7745406Z ▶ maka-cu keeps executor text out of what the model reads +2026-09-27T05:35:39.7805091Z ✔ holds postObservationError.code to §7.1, so a message cannot ride in on an invented one (0.325919ms) +2026-09-27T05:35:39.7806388Z ✔ holds detail.wouldRequirePath to §6.3, because the host renders it as evidence (0.333112ms) +2026-09-27T05:35:39.7807631Z ✔ holds element.actions to §5 inbound, not only outbound (1.825048ms) +2026-09-27T05:35:39.7835734Z ✔ maka-cu keeps executor text out of what the model reads (2.691698ms) +2026-09-27T05:35:39.7865821Z ▶ maka-cu supervisor: what the child may put on stdout +2026-09-27T05:35:39.7887338Z ✔ survives a JSON value that is not a response, and does not answer for it (192.119931ms) +2026-09-27T05:35:39.7895753Z ✔ tears the child down after three lines that are not protocol messages (177.203654ms) +2026-09-27T05:35:39.7922649Z ✔ sizes the stdout budget from the negotiated maxResponseBytes (975.955533ms) +2026-09-27T05:35:39.7947837Z ✔ maka-cu supervisor: what the child may put on stdout (1373.317107ms) +2026-09-27T05:35:39.7975485Z ▶ maka-cu supervisor: the handshake is a closed contract (§2) +2026-09-27T05:35:39.8005725Z ✔ refuses snapshotsPerSession: 0 as a protocol violation, without respawning (61.989079ms) +2026-09-27T05:35:39.8007046Z ✔ refuses snapshotTtlMs: -1 as a protocol violation, without respawning (95.53483ms) +2026-09-27T05:35:39.8035747Z ✔ refuses shutdownGraceMs: 0 as a protocol violation, without respawning (98.383876ms) +2026-09-27T05:35:39.8068495Z ✔ refuses maxElements: 2.5 as a protocol violation, without respawning (131.675885ms) +2026-09-27T05:35:39.8095711Z ✔ refuses maxDepth: "64" as a protocol violation, without respawning (133.028575ms) +2026-09-27T05:35:39.8096818Z ✔ accepts a handshake whose limits are all whole and positive (127.756119ms) +2026-09-27T05:35:39.8125655Z ✔ maka-cu supervisor: the handshake is a closed contract (§2) (653.480617ms) +2026-09-27T05:35:39.8158172Z ▶ maka-cu supervisor: cancelling a delivered request (§7.2/§7.3) +2026-09-27T05:35:39.8185600Z ✔ settles an aborted delivered request in the cancel grace, not the deadline (2162.68675ms) +2026-09-27T05:35:39.8186768Z ✔ lets the executor answer a cancel, and reports the answer it gave (54.180719ms) +2026-09-27T05:35:39.8215733Z ✔ asks before killing on the deadline, so $/cancel is not written into a dying pipe (2398.173029ms) +2026-09-27T05:35:39.8245442Z ✔ clears one session without ending the others (89.316902ms) +2026-09-27T05:35:39.8276035Z ✔ maka-cu supervisor: cancelling a delivered request (§7.2/§7.3) (4705.128993ms) +2026-09-27T05:35:39.8277288Z ▶ maka-cu supervisor: saying what actually failed +2026-09-27T05:35:39.8305573Z ✔ reports an exec failure as one, with the errno (9.625248ms) +2026-09-27T05:35:39.8335645Z ✔ reports an absent binary as unavailable rather than a version skew (5.448824ms) +2026-09-27T05:35:39.8366893Z ✔ keeps saying why after the restart budget is spent (113.991094ms) +2026-09-27T05:35:39.8367990Z ✔ maka-cu supervisor: saying what actually failed (129.645625ms) +2026-09-27T05:35:39.8395748Z ▶ maka-cu supervisor: shutdown +2026-09-27T05:35:39.8425751Z ✔ leaves no image directory behind when disposed during startup (22.440831ms) +2026-09-27T05:35:39.8455376Z ✔ maka-cu supervisor: shutdown (22.854432ms) +2026-09-27T05:35:39.8456372Z ✔ service invalidation producer advances Runtime to reobserve (1.207233ms) +2026-09-27T05:35:39.8465310Z ✔ physical input policy is passed to the selected backend (0.28484ms) +2026-09-27T05:35:39.8466140Z ▶ stdio JSON-RPC framing +2026-09-27T05:35:39.8466912Z ✔ rejects an unparsed tail that exceeds the UTF-8 byte budget (5.624915ms) +2026-09-27T05:35:39.8467759Z ✔ accepts a multibyte tail exactly at the UTF-8 byte budget (0.273705ms) +2026-09-27T05:35:39.8468574Z ✔ preserves the existing ASCII boundary behavior (0.220277ms) +2026-09-27T05:35:39.8469258Z ✔ stdio JSON-RPC framing (7.8169ms) +2026-09-27T05:35:39.8470024Z ℹ tests 117 +2026-09-27T05:35:39.8470711Z ℹ suites 15 +2026-09-27T05:35:39.8471324Z ℹ pass 117 +2026-09-27T05:35:39.8471766Z ℹ fail 0 +2026-09-27T05:35:39.8472197Z ℹ cancelled 0 +2026-09-27T05:35:39.8472640Z ℹ skipped 0 +2026-09-27T05:35:39.8473066Z ℹ todo 0 +2026-09-27T05:35:39.8473540Z ℹ duration_ms 9295.320301 +2026-09-27T05:35:39.8474027Z [computer-use] passed +2026-09-27T05:35:39.8474528Z +2026-09-27T05:35:39.8475164Z [antigravity-acp-plugin] start: npm run test:dist +2026-09-27T05:35:39.8475857Z +2026-09-27T05:35:39.8476290Z > @maka/acp-executor-plugin@0.1.0 test:dist +2026-09-27T05:35:39.8476932Z > node --test "dist/**/*.test.js" +2026-09-27T05:35:39.8477808Z +2026-09-27T05:35:40.1744378Z +2026-09-27T05:35:40.1781876Z > @maka/antigravity-acp-plugin@0.1.0 test:dist +2026-09-27T05:35:40.1782746Z > node --test "dist/**/*.test.js" +2026-09-27T05:35:40.1816803Z +2026-09-27T05:35:40.2889900Z ✔ runtime retains one ACP process and Session across prompts (44.522712ms) +2026-09-27T05:35:40.2960915Z ✔ a terminal ACP tool update retains both output text and its file diff (9.621396ms) +2026-09-27T05:35:40.3055869Z ✔ a mixed terminal update emits only text not already streamed (4.729731ms) +2026-09-27T05:35:40.3107829Z ✔ runtime rejects a historical conversation after process continuity was lost (6.068709ms) +2026-09-27T05:35:40.3235972Z ✔ a continuity write failure cannot start an ACP Session and remains retryable (10.067005ms) +2026-09-27T05:35:40.3352845Z ✔ an uncertain session/new response remains history-only after restart (12.953452ms) +2026-09-27T05:35:40.3416212Z ✔ a failed first model change cannot replace an established ACP Session after restart (9.718871ms) +2026-09-27T05:35:40.3535890Z ✔ a pre-session request failure is cleaned up and can be retried (11.888229ms) +2026-09-27T05:35:40.3625884Z ✔ a pre-session crash failure is cleaned up and can be retried (7.407811ms) +2026-09-27T05:35:40.3715801Z ✔ a pre-session abort failure is cleaned up and can be retried (7.324548ms) +2026-09-27T05:35:40.3747260Z ✔ runtime drains cancellation and preserves cancelled (2.108972ms) +2026-09-27T05:35:40.3775609Z ✔ runtime drains cancellation and preserves end_turn (2.087989ms) +2026-09-27T05:35:40.3835621Z ✔ runtime drains cancellation and preserves max_tokens (1.796768ms) +2026-09-27T05:35:40.3895534Z ✔ runtime drains cancellation and preserves refusal (3.788831ms) +2026-09-27T05:35:40.3955603Z ✔ runtime drains cancellation and preserves request_error (3.001347ms) +2026-09-27T05:35:40.3985568Z ✔ runtime drains cancellation and preserves process_crash (5.458692ms) +2026-09-27T05:35:40.4105931Z ✔ runtime consumes or rejects the exact model selection {"model":"fast"} (9.350687ms) +2026-09-27T05:35:40.4496523Z ✔ runtime consumes or rejects the exact model selection {"configuration":{"model":"fast"}} (52.786798ms) +2026-09-27T05:35:40.4546434Z ✔ runtime consumes or rejects the exact model selection {"model":"fast","configuration":{"model":"fast"}} (1.95229ms) +2026-09-27T05:35:40.4576090Z ✔ runtime consumes or rejects the exact model selection {"model":"fixture-acp","configuration":{}} (3.158833ms) +2026-09-27T05:35:40.4605891Z ✔ runtime consumes or rejects the exact model selection {"model":"removed"} (2.836239ms) +2026-09-27T05:35:40.4668812Z ✔ runtime consumes or rejects the exact model selection {"model":"default","configuration":{"model":"fast"}} (1.679497ms) +2026-09-27T05:35:40.4725935Z ✔ discovery shares a disposable probe, does not mark a task, and first prompt applies the task model (11.493582ms) +2026-09-27T05:35:40.4773331Z ✔ an applied model change with response_lost prevents prompts using stale configuration (4.838002ms) +2026-09-27T05:35:40.5312618Z ✔ an applied model change with timeout prevents prompts using stale configuration (54.295327ms) +2026-09-27T05:35:40.5338300Z ✔ questions retain option identity and output updates retain arrival order (4.189441ms) +2026-09-27T05:35:40.5376590Z ✔ confirmed rollback preserves the previous model and permits retry after once (3.388664ms) +2026-09-27T05:35:40.5436209Z ✔ confirmed rollback preserves the previous model and permits retry after unconfirmed (5.101185ms) +2026-09-27T05:35:40.5464931Z ✔ idle Agent configuration notifications update the inspected model without another prompt (3.862535ms) +2026-09-27T05:35:40.6590056Z ✔ file read rejects invalid ranges and honors a zero limit (55.905453ms) +2026-09-27T05:35:40.6594151Z ✔ real stdio retains a conversation and returns original question option ids (205.467642ms) +2026-09-27T05:35:40.6595791Z ✔ real filesystem callbacks reject a symlink escape and permit workspace files (137.267246ms) +2026-09-27T05:35:40.7053381Z ✔ adapter registers through a parent ACP Runtime Entry (14.262324ms) +2026-09-27T05:35:40.7097128Z ✔ adapter owns Antigravity launch policy only (0.807346ms) +2026-09-27T05:35:40.7127431Z ✔ adapter validates configuration and preserves proxy bypass (0.739553ms) +2026-09-27T05:35:40.7175891Z ✔ official interaction requests are questions; ordinary tool permissions stay permissions (0.450712ms) +2026-09-27T05:35:40.7199637Z ✔ official variants group complete and partial families while preserving opaque IDs (1.120056ms) +2026-09-27T05:35:40.7201193Z ✔ ambiguous or non-switchable families keep their original rows: Gemini 3.8 Flash (High) (0.278496ms) +2026-09-27T05:35:40.7202777Z ✔ ambiguous or non-switchable families keep their original rows: Gemini 3.8 Flash (High), Gemini 3.8 Flash (High), Gemini 3.8 Flash (Low) (0.630299ms) +2026-09-27T05:35:40.7220268Z ✔ ambiguous or non-switchable families keep their original rows: Gemini 3.8 Flash (High), Gemini 3.8 Flash (Low), Gemini 3.8 Flash (Auto) (1.29427ms) +2026-09-27T05:35:40.7280115Z ✔ ambiguous or non-switchable families keep their original rows: Unrecognized (High), Unrecognized (Low) (0.619951ms) +2026-09-27T05:35:40.7460331Z ℹ tests 9 +2026-09-27T05:35:40.7460992Z ℹ suites 0 +2026-09-27T05:35:40.7461479Z ℹ pass 9 +2026-09-27T05:35:40.7461911Z ℹ fail 0 +2026-09-27T05:35:40.7462354Z ℹ cancelled 0 +2026-09-27T05:35:40.7462861Z ℹ skipped 0 +2026-09-27T05:35:40.7463281Z ℹ todo 0 +2026-09-27T05:35:40.7463782Z ℹ duration_ms 477.304017 +2026-09-27T05:35:40.7597707Z [antigravity-acp-plugin] passed +2026-09-27T05:35:40.7916377Z ✔ file writes reject existing and dangling links outside the workspace (131.669112ms) +2026-09-27T05:35:40.9077716Z ✔ file writes create and truncate regular files but reject links inside the workspace (116.060949ms) +2026-09-27T05:35:41.0266971Z ✔ real tool metadata is bounded without losing activity (400 characters) (118.844242ms) +2026-09-27T05:35:41.1342558Z ✔ real tool metadata is bounded without losing activity (11 characters) (109.020759ms) +2026-09-27T05:35:41.2539245Z ✔ real tool metadata is bounded without losing activity (3 characters) (118.673336ms) +2026-09-27T05:35:41.3776418Z ✔ real "\n" file diffs survive executor validation and backend projection (120.204646ms) +2026-09-27T05:35:41.4930657Z ✔ real "\r\n" file diffs survive executor validation and backend projection (118.588497ms) +2026-09-27T05:35:41.5576888Z ✔ real cancellation settles before follow-up; crash makes the task history-only (62.498202ms) +2026-09-27T05:35:41.6714706Z ✔ disposing a real retained process also terminates its helper (115.936739ms) +2026-09-27T05:35:56.7757788Z ✔ an unresponsive cancel is bounded, records timeout and loses the process (15104.674798ms) +2026-09-27T05:35:56.8766110Z ✔ retiring one conversation cleans its helper after the parent has crashed (100.457621ms) +2026-09-27T05:35:56.8880394Z ✔ ACP file diff represents newline-terminated files (9.223366ms) +2026-09-27T05:35:56.8881349Z ✔ ACP file diff represents files without a final newline (0.254202ms) +2026-09-27T05:35:56.8882233Z ✔ ACP file diff represents an empty old file (0.202296ms) +2026-09-27T05:35:56.8882868Z ℹ tests 46 +2026-09-27T05:35:56.8883607Z ℹ suites 0 +2026-09-27T05:35:56.8884048Z ℹ pass 46 +2026-09-27T05:35:56.8886259Z ℹ fail 0 +2026-09-27T05:35:56.8886815Z ℹ cancelled 0 +2026-09-27T05:35:56.8887356Z ℹ skipped 0 +2026-09-27T05:35:56.8888291Z ℹ todo 0 +2026-09-27T05:35:56.8888752Z ℹ duration_ms 16987.939426 +2026-09-27T05:35:56.9018465Z [acp-executor-plugin] passed +2026-09-27T05:36:21.6208555Z ✔ atomic claims obey global and per-worker group capacity; a straggler holds only its group (29.765396ms) +2026-09-27T05:36:21.6209832Z ✔ expired groups skip committed zeroes, fence late results, and retain duplicate execution cost (12.384071ms) +2026-09-27T05:36:21.6210922Z ✔ coordinator restart grants reconciliation grace before expiring old ownership (6.428505ms) +2026-09-27T05:36:21.6211836Z ✔ workers that never reconcile expire after the recovery grace (3.473869ms) +2026-09-27T05:36:21.6213596Z ✔ deterministic environment failures block dispatch until repair; admission includes verifier capacity (11.011903ms) +2026-09-27T05:36:21.6215130Z ✔ retry exhaustion is incomplete evaluation, not a synthetic zero (8.845617ms) +2026-09-27T05:36:21.6216242Z ✔ selection uses execution/verification/cleanup evidence independently of usage and coarse status (4.969133ms) +2026-09-27T05:36:21.6217259Z ✔ invalid evidence and foreign reports cannot change durable progress (5.353022ms) +2026-09-27T05:36:21.6218162Z ✔ lost claim and report acknowledgements recover through the real worker outbox (22.030815ms) +2026-09-27T05:36:21.6219237Z ✔ worker buffers completed cells during coordinator outage and resumes without reexecution (12.018784ms) +2026-09-27T05:36:21.6220517Z ✔ persistence failures before and after commit never expose uncommitted work or lose committed ownership (3.336932ms) +2026-09-27T05:36:21.6221817Z ✔ file storage reopens committed state/artifacts, enforces one writer and rejects corruption (88.161025ms) +2026-09-27T05:36:21.6222986Z ✔ closing a coordinator drains accepted commands and rejects old-owner writes (1.331532ms) +2026-09-27T05:36:21.6224040Z ✔ explicit coordinator pause freezes leases and dispatch until recovery (2.735564ms) +2026-09-27T05:36:21.6225342Z ✔ the same seed reproduces the entire fault trace and selected results byte for byte (13237.377361ms) +2026-09-27T05:36:21.6226540Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=0 (2792.9514ms) +2026-09-27T05:36:21.6227700Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=1 (2556.192712ms) +2026-09-27T05:36:21.6228887Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=2 (2578.847364ms) +2026-09-27T05:36:21.6230108Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=3 (2645.869612ms) +2026-09-27T05:36:21.6231123Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=4 (2490.620553ms) +2026-09-27T05:36:21.6232192Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=5 (2484.907733ms) +2026-09-27T05:36:21.6233474Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=6 (2379.715378ms) +2026-09-27T05:36:21.6234682Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=7 (2564.356513ms) +2026-09-27T05:36:21.6235833Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=8 (2356.799536ms) +2026-09-27T05:36:21.6237021Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=9 (2544.777697ms) +2026-09-27T05:36:21.6238352Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=10 (2571.840584ms) +2026-09-27T05:36:21.6252220Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=11 (2416.238282ms) +2026-09-27T05:36:21.6253591Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=12 (2363.11565ms) +2026-09-27T05:36:21.6254739Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=13 (2563.842747ms) +2026-09-27T05:36:21.6255586Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=14 (2470.207183ms) +2026-09-27T05:36:21.6256377Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=15 (2605.947175ms) +2026-09-27T05:36:21.6569154Z ✔ preflights the pinned Python framework and Docker before execution (25.029699ms) +2026-09-27T05:36:21.6570364Z ✔ reports a missing machine mount before invoking external prerequisites (4.74358ms) +2026-09-27T05:36:21.6571216Z ✔ rejects an unusable trials root before invoking external prerequisites (3.795308ms) +2026-09-27T05:36:21.6572223Z ✔ rejects a dangling trials root symlink before invoking external prerequisites (4.078715ms) +2026-09-27T05:36:21.6573163Z ✔ identifies a mismatched Python framework environment (3.874761ms) +2026-09-27T05:36:21.6584748Z ✔ rejects egress assets that escape their declared source root (10.252524ms) +2026-09-27T05:36:21.6586268Z ✔ rejects egress assets that escape through a symlink (4.733442ms) +2026-09-27T05:36:21.6587046Z ✔ propagates cancellation to an active prerequisite probe (3.194888ms) +2026-09-27T05:36:21.6588025Z ✔ cancellation while waiting for relay connection escalates and releases ownership (228.936532ms) +2026-09-27T05:36:21.6588884Z ✔ cancellation while waiting for ready line enters bounded cleanup (118.086493ms) +2026-09-27T05:36:21.6589539Z ✔ normal verification outlives the former Eval completion deadline (191.425754ms) +2026-09-27T05:36:21.6590275Z ✔ cancellation before verification settles remains replaceable after clean teardown (190.838115ms) +2026-09-27T05:36:21.6591021Z ✔ used trial abort terminates the supervisor without a second wire decision (104.26116ms) +2026-09-27T05:36:21.6591657Z ✔ SIGKILL of the supervisor does not confirm host cleanup (88.246886ms) +2026-09-27T05:36:21.6592353Z ✔ Maka framework termination is authoritative before stdout decoding (7.726452ms) +2026-09-27T05:36:21.6592994Z ✔ Maka forwards Host requirements and declared credential names (4.414629ms) +2026-09-27T05:36:21.6593579Z ✔ a custom Maka subject forwards its default request protocol (0.845886ms) +2026-09-27T05:36:21.6594164Z ✔ the Maka shim projects only a completed subject as a zero exit (1263.67475ms) +2026-09-27T05:36:21.6595008Z ✔ subject preflight settles before the attempt timer starts (13.55176ms) +2026-09-27T05:36:21.6595624Z ✔ resume replaces a terminal attempt whose subject identity is stale (21.864046ms) +2026-09-27T05:36:21.6596260Z ✔ eight-arm spec and wrappers freeze the working provider contracts (2980.24859ms) +2026-09-27T05:36:21.6596907Z ✔ eight-arm spec adds Pi with the same pinned DeepSeek execution contract (5.590502ms) +2026-09-27T05:36:21.6597513Z ✔ the DeepSeek Harness arm pins its own minimal composition (4.522193ms) +2026-09-27T05:36:21.6598203Z ✔ experiment specs do not declare an executor working-directory authority (4.095539ms) +2026-09-27T05:36:21.6598793Z ✔ pier cannot declare an egress proxy it never enforces (0.4273ms) +2026-09-27T05:36:21.6599393Z ✔ Pier rejects configured mounts that collide with framework log ownership (0.74994ms) +2026-09-27T05:36:21.6600044Z ✔ Pier preserves its log mounts without inheriting MAKA_EVAL_FRAMEWORK (105.390454ms) +2026-09-27T05:36:21.6600723Z ✔ runtime artifact capture includes committed WAL rows in a standalone database (100.48559ms) +2026-09-27T05:36:21.6601388Z ✔ startup artifacts survive a missing or unreadable runtime database (29.639721ms) +2026-09-27T05:36:21.6602063Z ✔ Maka reports the runtime and process artifacts for settled and timed-out executions (6.011525ms) +2026-09-27T05:36:21.6603045Z ✔ official Maka shim uses one Host for preflight and execution across retries and key rotation (12715.371472ms) +2026-09-27T05:36:21.6604083Z ✔ chmods the temporary checkpoint before rename so the published file is 0644 (16.48147ms) +2026-09-27T05:36:21.6605926Z ✔ refuses a metering checkpoint that is not a bounded regular file (21.842962ms) +2026-09-27T05:36:21.6607138Z ✔ uses taskkill for first-stage Windows termination so descendants cannot outlive the root (2.244721ms) +2026-09-27T05:36:21.6608405Z ✔ uses taskkill for forced Windows termination and preserves the process tree (0.293348ms) +2026-09-27T05:36:21.6609546Z ✔ falls back to the root process when Windows taskkill is unavailable (0.284618ms) +2026-09-27T05:36:21.6610419Z ✔ preserves POSIX signal semantics (4.345978ms) +2026-09-27T05:36:21.6611217Z ✔ does not signal a child that has already exited (0.232754ms) +2026-09-27T05:36:21.6612290Z ﹣ first-stage Windows termination removes a supervisor and its descendant (1.105959ms) # SKIP +2026-09-27T05:36:21.6613538Z ✔ provider metering checkpoint records admission before the request settles (462.188282ms) +2026-09-27T05:36:21.6614872Z ✔ provider failures remain infrastructure failures until inference admission (1351.65855ms) +2026-09-27T05:36:21.6616345Z ✔ large canonical Pi settlement remains completed when the CLI exits nonzero (510.369136ms) +2026-09-27T05:36:21.6617583Z ✔ oversized external records are attributed to bounded classification (3017.245516ms) +2026-09-27T05:36:21.6618754Z ✔ a request arriving while the proxy drains is refused, not counted (1260.076908ms) +2026-09-27T05:36:21.6619490Z ✔ recognizes confirmed provider inference events (1.17943ms) +2026-09-27T05:36:21.6620386Z ✔ does not treat provider and transport errors as model admission (0.241119ms) +2026-09-27T05:36:21.6621259Z ✔ Eval removes named and provider-native web tools from provider requests (2.394262ms) +2026-09-27T05:36:21.6622501Z ✔ Eval preserves non-JSON and requests without web tools byte-for-byte (0.355171ms) +2026-09-27T05:36:21.6623277Z ℹ tests 116 +2026-09-27T05:36:21.6623592Z ℹ suites 0 +2026-09-27T05:36:21.6623963Z ℹ pass 115 +2026-09-27T05:36:21.6624322Z ℹ fail 0 +2026-09-27T05:36:21.6624804Z ℹ cancelled 0 +2026-09-27T05:36:21.6625101Z ℹ skipped 1 +2026-09-27T05:36:21.6625380Z ℹ todo 0 +2026-09-27T05:36:21.6625748Z ℹ duration_ms 54632.148214 +2026-09-27T05:36:22.6878179Z ssss..................ssssss....................................................Executing result=None created at /usr/lib/python3.12/asyncio/runners.py:100> took 0.112 seconds +2026-09-27T05:36:23.7515736Z ....... +2026-09-27T05:36:23.7516575Z ---------------------------------------------------------------------- +2026-09-27T05:36:23.7517376Z Ran 87 tests in 1.832s +2026-09-27T05:36:23.7517693Z +2026-09-27T05:36:23.7517888Z OK (skipped=10) +2026-09-27T05:36:23.7794576Z [eval] passed +2026-09-27T05:36:23.7822077Z [runtime] failed with code 1 +2026-09-27T05:36:23.7877218Z ##[error]Process completed with exit code 1. +2026-09-27T05:36:23.7971037Z ##[group]Run actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a +2026-09-27T05:36:23.7971436Z with: +2026-09-27T05:36:23.7971658Z name: desktop-e2e-results +2026-09-27T05:36:23.7971949Z path: apps/desktop/e2e/test-results/ +2026-09-27T05:36:23.7972240Z if-no-files-found: ignore +2026-09-27T05:36:23.7972485Z retention-days: 7 +2026-09-27T05:36:23.7972716Z compression-level: 6 +2026-09-27T05:36:23.7972938Z overwrite: false +2026-09-27T05:36:23.7973164Z include-hidden-files: false +2026-09-27T05:36:23.7973414Z archive: true +2026-09-27T05:36:23.7973620Z ##[endgroup] +2026-09-27T05:36:23.9285747Z No files were found with the provided path: apps/desktop/e2e/test-results/. No artifacts will be uploaded. +2026-09-27T05:36:23.9486342Z Post job cleanup. +2026-09-27T05:36:24.0278059Z [command]/usr/bin/git version +2026-09-27T05:36:24.0321437Z git version 2.55.0 +2026-09-27T05:36:24.0361908Z Temporarily overriding HOME='/home/runner/work/_temp/3cc0a1e1-8da7-460b-967d-493014e686c7' before making global git config changes +2026-09-27T05:36:24.0363133Z Adding repository directory to the temporary git global config as a safe directory +2026-09-27T05:36:24.0368114Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/maka/maka +2026-09-27T05:36:24.0401353Z Removing SSH command configuration +2026-09-27T05:36:24.0408874Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand +2026-09-27T05:36:24.0446206Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :" +2026-09-27T05:36:24.0651044Z Removing HTTP extra header +2026-09-27T05:36:24.0656139Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader +2026-09-27T05:36:24.0687806Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :" +2026-09-27T05:36:24.0887241Z Removing includeIf entries pointing to credentials config files +2026-09-27T05:36:24.0897618Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: +2026-09-27T05:36:24.0934142Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url +2026-09-27T05:36:24.1366655Z Cleaning up orphan processes diff --git a/packages/runtime-host/src/__tests__/session-catalog-protocol.test.ts b/packages/runtime-host/src/__tests__/session-catalog-protocol.test.ts index 724e77c0cf..89ca900df0 100644 --- a/packages/runtime-host/src/__tests__/session-catalog-protocol.test.ts +++ b/packages/runtime-host/src/__tests__/session-catalog-protocol.test.ts @@ -91,6 +91,31 @@ describe('Session catalog protocol', () => { ); }); + test('decodes a Session attention payload on a catalog change', () => { + assert.deepEqual( + decodeHostFrame({ + kind: 'session.catalog.changed', + revision: 4, + sessionId: 'session-1', + attention: { + kind: 'errored', + eventId: 'terminal-1', + body: 'Provider request failed', + }, + }), + { + kind: 'session.catalog.changed', + revision: 4, + sessionId: 'session-1', + attention: { + kind: 'errored', + eventId: 'terminal-1', + body: 'Provider request failed', + }, + }, + ); + }); + test('accepts an optional run epoch in the live run state and rejects a bad one', () => { const withEpoch = { ...projection(), diff --git a/packages/runtime/src/runtime-kernel.ts b/packages/runtime/src/runtime-kernel.ts index b08d1d9d64..b296eace33 100644 --- a/packages/runtime/src/runtime-kernel.ts +++ b/packages/runtime/src/runtime-kernel.ts @@ -413,6 +413,11 @@ export class RuntimeKernel implements RuntimeKernelLike { if (deps.runStore && !deps.runtimeEventStore) { throw new Error('RuntimeEventStore is required when AgentRunStore is configured'); } + // The per-session run-epoch counters restart at zero with a fresh process, + // while Desktop's catalog rows survive Host restarts. Seeding every epoch + // with the construction clock keeps a restarted Host's epochs strictly + // greater than anything the previous process produced (#5713 review). + this.#sessionRunEpochBase = deps.now?.() ?? 0; this.historyCompactCoordinator = new HistoryCompactCheckpointCoordinator(deps); } @@ -2199,10 +2204,11 @@ export class RuntimeKernel implements RuntimeKernelLike { return [...new Set(this.activeRunsFor(sessionId).map((run) => run.turnId))]; } - #sessionRunEpochs = new Map(); + readonly #sessionRunEpochBase: number; + readonly #sessionRunEpochs = new Map(); sessionRunEpoch(sessionId: string): number { - return this.#sessionRunEpochs.get(sessionId) ?? 0; + return this.#sessionRunEpochBase + (this.#sessionRunEpochs.get(sessionId) ?? 0); } #bumpSessionRunEpoch(sessionId: string): void { From 305d15799a6eca9e9283de10c769de2b885c7d63 Mon Sep 17 00:00:00 2001 From: ggbdpq Date: Sun, 27 Sep 2026 17:26:01 +0800 Subject: [PATCH 4/9] chore: remove a stray CI runner log j1.txt was a GitHub Actions log saved while triaging a CI failure and was accidentally included in the previous commit. Generated-by: GLM-5.3-Flash (ZCode) --- j1.txt | 18160 ------------------------------------------------------- 1 file changed, 18160 deletions(-) delete mode 100644 j1.txt diff --git a/j1.txt b/j1.txt deleted file mode 100644 index 8ce3509558..0000000000 --- a/j1.txt +++ /dev/null @@ -1,18160 +0,0 @@ -2026-09-27T05:28:32.3669087Z Current runner version: '2.337.0' -2026-09-27T05:28:32.3692947Z ##[group]Runner Image Provisioner -2026-09-27T05:28:32.3693862Z Hosted Compute Agent -2026-09-27T05:28:32.3694610Z Version: 20260828.587 -2026-09-27T05:28:32.3695236Z Commit: abac92662cab4cc7352de4f9f9d2e2419aad9c29 -2026-09-27T05:28:32.3695959Z Build Date: 2026-08-28T16:44:25Z -2026-09-27T05:28:32.3696624Z Worker ID: {02737957-83a4-4abb-80aa-af794513c072} -2026-09-27T05:28:32.3697285Z Azure Region: northcentralus -2026-09-27T05:28:32.3697925Z ##[endgroup] -2026-09-27T05:28:32.3699303Z ##[group]Operating System -2026-09-27T05:28:32.3699970Z Ubuntu -2026-09-27T05:28:32.3700498Z 24.04.5 -2026-09-27T05:28:32.3700975Z LTS -2026-09-27T05:28:32.3701496Z ##[endgroup] -2026-09-27T05:28:32.3702021Z ##[group]Runner Image -2026-09-27T05:28:32.3702592Z Image: ubuntu-24.04 -2026-09-27T05:28:32.3703160Z Version: 20260920.314.1 -2026-09-27T05:28:32.3704363Z Included Software: https://github.com/actions/runner-images/blob/ubuntu24/20260920.314/images/ubuntu/Ubuntu2404-Readme.md -2026-09-27T05:28:32.3706122Z Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20260920.314 -2026-09-27T05:28:32.3707033Z ##[endgroup] -2026-09-27T05:28:32.3708121Z ##[group]GITHUB_TOKEN Permissions -2026-09-27T05:28:32.3710638Z Contents: read -2026-09-27T05:28:32.3711255Z Metadata: read -2026-09-27T05:28:32.3711766Z ##[endgroup] -2026-09-27T05:28:32.3713755Z Secret source: None -2026-09-27T05:28:32.3714907Z Cache mode: write -2026-09-27T05:28:32.3715841Z Prepare workflow directory -2026-09-27T05:28:32.4028484Z Prepare all required actions -2026-09-27T05:28:32.4077132Z Getting action download info -2026-09-27T05:28:32.7387842Z Download action repository 'actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1' (SHA:3d3c42e5aac5ba805825da76410c181273ba90b1) -2026-09-27T05:28:32.8511012Z Download action repository 'actions/setup-node@820762786026740c76f36085b0efc47a31fe5020' (SHA:820762786026740c76f36085b0efc47a31fe5020) -2026-09-27T05:28:32.9642109Z Download action repository 'actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9' (SHA:55cc8345863c7cc4c66a329aec7e433d2d1c52a9) -2026-09-27T05:28:33.1827377Z Download action repository 'actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a' (SHA:043fb46d1a93c77aae656e7c1c64a875d1fc6a0a) -2026-09-27T05:28:33.3066320Z Download action repository 'taiki-e/install-action@1ed6d7be6168f6c9046541087ff549b6bc581fdf' (SHA:1ed6d7be6168f6c9046541087ff549b6bc581fdf) -2026-09-27T05:28:33.8792894Z Complete job name: test -2026-09-27T05:28:34.0107538Z ##[group]Run actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 -2026-09-27T05:28:34.0109095Z with: -2026-09-27T05:28:34.0110021Z fetch-depth: 0 -2026-09-27T05:28:34.0110972Z persist-credentials: false -2026-09-27T05:28:34.0111986Z repository: apache/maka -2026-09-27T05:28:34.0118733Z token: *** -2026-09-27T05:28:34.0119605Z ssh-strict: true -2026-09-27T05:28:34.0120512Z ssh-user: git -2026-09-27T05:28:34.0121370Z clean: true -2026-09-27T05:28:34.0122275Z sparse-checkout-cone-mode: true -2026-09-27T05:28:34.0123412Z fetch-tags: false -2026-09-27T05:28:34.0124355Z show-progress: true -2026-09-27T05:28:34.0125402Z lfs: false -2026-09-27T05:28:34.0126295Z submodules: false -2026-09-27T05:28:34.0127251Z set-safe-directory: true -2026-09-27T05:28:34.0128443Z allow-unsafe-pr-checkout: false -2026-09-27T05:28:34.0129932Z ##[endgroup] -2026-09-27T05:28:34.1092069Z Syncing repository: apache/maka -2026-09-27T05:28:34.1094831Z ##[group]Getting Git version info -2026-09-27T05:28:34.1096309Z Working directory is '/home/runner/work/maka/maka' -2026-09-27T05:28:34.1098167Z [command]/usr/bin/git version -2026-09-27T05:28:34.1146680Z git version 2.55.0 -2026-09-27T05:28:34.1166270Z ##[endgroup] -2026-09-27T05:28:34.1174768Z Temporarily overriding HOME='/home/runner/work/_temp/e8021272-f433-4153-b3bf-10de7fe8d1a4' before making global git config changes -2026-09-27T05:28:34.1177281Z Adding repository directory to the temporary git global config as a safe directory -2026-09-27T05:28:34.1179559Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/maka/maka -2026-09-27T05:28:34.1223117Z Deleting the contents of '/home/runner/work/maka/maka' -2026-09-27T05:28:34.1226061Z ##[group]Determining repository object format -2026-09-27T05:28:34.1228244Z ##[endgroup] -2026-09-27T05:28:34.1229860Z ##[group]Initializing the repository -2026-09-27T05:28:34.1231718Z [command]/usr/bin/git init /home/runner/work/maka/maka -2026-09-27T05:28:34.1318657Z hint: Using 'master' as the name for the initial branch. This default branch name -2026-09-27T05:28:34.1320516Z hint: will change to "main" in Git 3.0. To configure the initial branch name -2026-09-27T05:28:34.1322226Z hint: to use in all of your new repositories, which will suppress this warning, -2026-09-27T05:28:34.1323489Z hint: call: -2026-09-27T05:28:34.1324351Z hint: -2026-09-27T05:28:34.1325842Z hint: git config --global init.defaultBranch -2026-09-27T05:28:34.1327438Z hint: -2026-09-27T05:28:34.1328944Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -2026-09-27T05:28:34.1330641Z hint: 'development'. The just-created branch can be renamed via this command: -2026-09-27T05:28:34.1332221Z hint: -2026-09-27T05:28:34.1333077Z hint: git branch -m -2026-09-27T05:28:34.1334226Z hint: -2026-09-27T05:28:34.1335859Z hint: Disable this message with "git config set advice.defaultBranchName false" -2026-09-27T05:28:34.1337532Z Initialized empty Git repository in /home/runner/work/maka/maka/.git/ -2026-09-27T05:28:34.1340676Z [command]/usr/bin/git remote add origin https://github.com/apache/maka -2026-09-27T05:28:34.1383013Z ##[endgroup] -2026-09-27T05:28:34.1385055Z ##[group]Disabling automatic garbage collection -2026-09-27T05:28:34.1386480Z [command]/usr/bin/git config --local gc.auto 0 -2026-09-27T05:28:34.1415743Z ##[endgroup] -2026-09-27T05:28:34.1417286Z ##[group]Setting up auth -2026-09-27T05:28:34.1418524Z Removing SSH command configuration -2026-09-27T05:28:34.1420137Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand -2026-09-27T05:28:34.1446920Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :" -2026-09-27T05:28:34.1742348Z Removing HTTP extra header -2026-09-27T05:28:34.1746611Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader -2026-09-27T05:28:34.1772508Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :" -2026-09-27T05:28:34.1947773Z Removing includeIf entries pointing to credentials config files -2026-09-27T05:28:34.1952987Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: -2026-09-27T05:28:34.1978982Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url -2026-09-27T05:28:34.2160502Z [command]/usr/bin/git config --file /home/runner/work/_temp/git-credentials-a745d6d8-6269-4e4a-a47f-690242882e2b.config http.https://github.com/.extraheader AUTHORIZATION: basic *** -2026-09-27T05:28:34.2192869Z [command]/usr/bin/git config --local includeIf.gitdir:/home/runner/work/maka/maka/.git.path /home/runner/work/_temp/git-credentials-a745d6d8-6269-4e4a-a47f-690242882e2b.config -2026-09-27T05:28:34.2222568Z [command]/usr/bin/git config --local includeIf.gitdir:/home/runner/work/maka/maka/.git/worktrees/*.path /home/runner/work/_temp/git-credentials-a745d6d8-6269-4e4a-a47f-690242882e2b.config -2026-09-27T05:28:34.2253770Z [command]/usr/bin/git config --local includeIf.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-a745d6d8-6269-4e4a-a47f-690242882e2b.config -2026-09-27T05:28:34.2283939Z [command]/usr/bin/git config --local includeIf.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-a745d6d8-6269-4e4a-a47f-690242882e2b.config -2026-09-27T05:28:34.2309504Z ##[endgroup] -2026-09-27T05:28:34.2310952Z ##[group]Fetching the repository -2026-09-27T05:28:34.2316236Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules origin +refs/heads/*:refs/remotes/origin/* +refs/tags/*:refs/tags/* +7bfadeae3cbf5c7e2ea368eb3dbdedcb34590feb:refs/remotes/pull/5741/merge -2026-09-27T05:28:45.3411395Z From https://github.com/apache/maka -2026-09-27T05:28:45.3412411Z * [new branch] agent/1341-claimed-intent-execution -> origin/agent/1341-claimed-intent-execution -2026-09-27T05:28:45.3413414Z * [new branch] agent/1341-desktop-graph-mode -> origin/agent/1341-desktop-graph-mode -2026-09-27T05:28:45.3414247Z * [new branch] agent/1341-dispatch-runnable-graph -> origin/agent/1341-dispatch-runnable-graph -2026-09-27T05:28:45.3415394Z * [new branch] agent/1341-durable-intent-claims -> origin/agent/1341-durable-intent-claims -2026-09-27T05:28:45.3416347Z * [new branch] agent/1341-dynamic-operator-bootstrap -> origin/agent/1341-dynamic-operator-bootstrap -2026-09-27T05:28:45.3417287Z * [new branch] agent/1341-graph-read-model -> origin/agent/1341-graph-read-model -2026-09-27T05:28:45.3418237Z * [new branch] agent/1341-graph-supervisor-tools -> origin/agent/1341-graph-supervisor-tools -2026-09-27T05:28:45.3419263Z * [new branch] agent/1341-host-graph-invocation -> origin/agent/1341-host-graph-invocation -2026-09-27T05:28:45.3420278Z * [new branch] agent/1341-operator-local-readiness -> origin/agent/1341-operator-local-readiness -2026-09-27T05:28:45.3421263Z * [new branch] agent/1341-reconcile-graph-schedule -> origin/agent/1341-reconcile-graph-schedule -2026-09-27T05:28:45.3422283Z * [new branch] agent/1341-trace-graph-topology -> origin/agent/1341-trace-graph-topology -2026-09-27T05:28:45.3423129Z * [new branch] agent/1529-graph-trace -> origin/agent/1529-graph-trace -2026-09-27T05:28:45.3423957Z * [new branch] agent/1593-bound-agent-output -> origin/agent/1593-bound-agent-output -2026-09-27T05:28:45.3425052Z * [new branch] agent/1593-committed-result -> origin/agent/1593-committed-result -2026-09-27T05:28:45.3426008Z * [new branch] agent/1593-large-output-regression -> origin/agent/1593-large-output-regression -2026-09-27T05:28:45.3427067Z * [new branch] agent/1593-supervisor-overflow-recovery -> origin/agent/1593-supervisor-overflow-recovery -2026-09-27T05:28:45.3428398Z * [new branch] agent/1604-graph-root-failure -> origin/agent/1604-graph-root-failure -2026-09-27T05:28:45.3429420Z * [new branch] agent/1606-graph-child-failure-recovery -> origin/agent/1606-graph-child-failure-recovery -2026-09-27T05:28:45.3430500Z * [new branch] agent/1623-graph-compacted-replay -> origin/agent/1623-graph-compacted-replay -2026-09-27T05:28:45.3431556Z * [new branch] agent/1626-cli-stream-connect-timeout -> origin/agent/1626-cli-stream-connect-timeout -2026-09-27T05:28:45.3432595Z * [new branch] agent/child-session-host-lifecycle -> origin/agent/child-session-host-lifecycle -2026-09-27T05:28:45.3433338Z * [new branch] agent/child-session-runtime-primitive -> origin/agent/child-session-runtime-primitive -2026-09-27T05:28:45.3434055Z * [new branch] agent/child-session-tool-migration -> origin/agent/child-session-tool-migration -2026-09-27T05:28:45.3435204Z * [new branch] agent/graph-architecture-docs -> origin/agent/graph-architecture-docs -2026-09-27T05:28:45.3435872Z * [new branch] agent/linked-child-session-relation -> origin/agent/linked-child-session-relation -2026-09-27T05:28:45.3436500Z * [new branch] agent/worktree-child-executor -> origin/agent/worktree-child-executor -2026-09-27T05:28:45.3437037Z * [new branch] asf-site -> origin/asf-site -2026-09-27T05:28:45.3437600Z * [new branch] audit/grok-assisted-contributions -> origin/audit/grok-assisted-contributions -2026-09-27T05:28:45.3438349Z * [new branch] chore/3360-repatch-astryx-0.4.3 -> origin/chore/3360-repatch-astryx-0.4.3 -2026-09-27T05:28:45.3439570Z * [new branch] chore/ai-sdk-drop-tool-call-patch -> origin/chore/ai-sdk-drop-tool-call-patch -2026-09-27T05:28:45.3440160Z * [new branch] chore/arch-round-3 -> origin/chore/arch-round-3 -2026-09-27T05:28:45.3440680Z * [new branch] chore/arch-round-4 -> origin/chore/arch-round-4 -2026-09-27T05:28:45.3441241Z * [new branch] chore/arch-round-5 -> origin/chore/arch-round-5 -2026-09-27T05:28:45.3441977Z * [new branch] chore/arch-round-6 -> origin/chore/arch-round-6 -2026-09-27T05:28:45.3442553Z * [new branch] chore/arch-round-7-final -> origin/chore/arch-round-7-final -2026-09-27T05:28:45.3443134Z * [new branch] chore/arch-ui-campaign-0719 -> origin/chore/arch-ui-campaign-0719 -2026-09-27T05:28:45.3443696Z * [new branch] chore/ci-wallclock-slim -> origin/chore/ci-wallclock-slim -2026-09-27T05:28:45.3444227Z * [new branch] chore/deps-astryx-0.2.0 -> origin/chore/deps-astryx-0.2.0 -2026-09-27T05:28:45.3445074Z * [new branch] chore/drop-astryx-dom-contracts -> origin/chore/drop-astryx-dom-contracts -2026-09-27T05:28:45.3445826Z * [new branch] chore/headless-raise-pair-concurrency-cap -> origin/chore/headless-raise-pair-concurrency-cap -2026-09-27T05:28:45.3446635Z * [new branch] chore/notifications-disable-commit-email -> origin/chore/notifications-disable-commit-email -2026-09-27T05:28:45.3447295Z * [new branch] chore/release-0-1-4 -> origin/chore/release-0-1-4 -2026-09-27T05:28:45.3447960Z * [new branch] chore/release-0.1.5-prep -> origin/chore/release-0.1.5-prep -2026-09-27T05:28:45.3448517Z * [new branch] chore/release-0.1.6 -> origin/chore/release-0.1.6 -2026-09-27T05:28:45.3449111Z * [new branch] chore/release-windows-workflow -> origin/chore/release-windows-workflow -2026-09-27T05:28:45.3449720Z * [new branch] chore/remove-voice-module -> origin/chore/remove-voice-module -2026-09-27T05:28:45.3450308Z * [new branch] chore/trim-low-value-tests -> origin/chore/trim-low-value-tests -2026-09-27T05:28:45.3450902Z * [new branch] chore/ui-quality-campaign -> origin/chore/ui-quality-campaign -2026-09-27T05:28:45.3451510Z * [new branch] ci/alignment-audit-own-lane -> origin/ci/alignment-audit-own-lane -2026-09-27T05:28:45.3452258Z * [new branch] ci/dedupe-asf-npm-policy-check -> origin/ci/dedupe-asf-npm-policy-check -2026-09-27T05:28:45.3452863Z * [new branch] claude/e2e-home-sandbox -> origin/claude/e2e-home-sandbox -2026-09-27T05:28:45.3453561Z * [new branch] claude/emptystate-border-and-knip -> origin/claude/emptystate-border-and-knip -2026-09-27T05:28:45.3454234Z * [new branch] claude/fix-settings-row-track -> origin/claude/fix-settings-row-track -2026-09-27T05:28:45.3455064Z * [new branch] claude/happy-hermann-4febe7 -> origin/claude/happy-hermann-4febe7 -2026-09-27T05:28:45.3455630Z * [new branch] claude/revert-1515 -> origin/claude/revert-1515 -2026-09-27T05:28:45.3456224Z * [new branch] claude/skill-delete-user-scope -> origin/claude/skill-delete-user-scope -2026-09-27T05:28:45.3456794Z * [new branch] codex/cli-graph -> origin/codex/cli-graph -2026-09-27T05:28:45.3457427Z * [new branch] codex/copilot-review-cost-efficiency -> origin/codex/copilot-review-cost-efficiency -2026-09-27T05:28:45.3458148Z * [new branch] codex/cu-webcontent-integration -> origin/codex/cu-webcontent-integration -2026-09-27T05:28:45.3458808Z * [new branch] codex/cu-window-transition-pin -> origin/codex/cu-window-transition-pin -2026-09-27T05:28:45.3459500Z * [new branch] codex/desktop-managed-files-delivery -> origin/codex/desktop-managed-files-delivery -2026-09-27T05:28:45.3460226Z * [new branch] codex/eval-eight-arm-concurrency-16 -> origin/codex/eval-eight-arm-concurrency-16 -2026-09-27T05:28:45.3461026Z * [new branch] codex/eval-maka-artifacts-current -> origin/codex/eval-maka-artifacts-current -2026-09-27T05:28:45.3461688Z * [new branch] codex/eval-maka-tool-profile -> origin/codex/eval-maka-tool-profile -2026-09-27T05:28:45.3462404Z * [new branch] codex/eval-pi-terminal-status -> origin/codex/eval-pi-terminal-status -2026-09-27T05:28:45.3463095Z * [new branch] codex/fix-embedded-model-proxy -> origin/codex/fix-embedded-model-proxy -2026-09-27T05:28:45.3463706Z * [new branch] codex/fix-pr-2152-review -> origin/codex/fix-pr-2152-review -2026-09-27T05:28:45.3464565Z * [new branch] codex/fix-release-filesystem-protocol -> origin/codex/fix-release-filesystem-protocol -2026-09-27T05:28:45.3465481Z * [new branch] codex/gitoxide-file-execution-delivery -> origin/codex/gitoxide-file-execution-delivery -2026-09-27T05:28:45.3466247Z * [new branch] codex/managed-files-recovery-delivery -> origin/codex/managed-files-recovery-delivery -2026-09-27T05:28:45.3467037Z * [new branch] codex/managed-mutation-authority-delivery -> origin/codex/managed-mutation-authority-delivery -2026-09-27T05:28:45.3467802Z * [new branch] codex/model-capability-resolution -> origin/codex/model-capability-resolution -2026-09-27T05:28:45.3468401Z * [new branch] codex/pr-assets -> origin/codex/pr-assets -2026-09-27T05:28:45.3469027Z * [new branch] codex/prune-test-suite-round-23 -> origin/codex/prune-test-suite-round-23 -2026-09-27T05:28:45.3469712Z * [new branch] codex/prune-test-suite-round-24 -> origin/codex/prune-test-suite-round-24 -2026-09-27T05:28:45.3470378Z * [new branch] codex/prune-test-suite-round-25 -> origin/codex/prune-test-suite-round-25 -2026-09-27T05:28:45.3470941Z * [new branch] codex/release-0.1.2 -> origin/codex/release-0.1.2 -2026-09-27T05:28:45.3471622Z * [new branch] codex/remove-duplicate-runtime-architecture -> origin/codex/remove-duplicate-runtime-architecture -2026-09-27T05:28:45.3472330Z * [new branch] codex/scheduled-task-global -> origin/codex/scheduled-task-global -2026-09-27T05:28:45.3472898Z * [new branch] codex/seo-geo-foundation -> origin/codex/seo-geo-foundation -2026-09-27T05:28:45.3473516Z * [new branch] codex/simplify-public-api-scripts -> origin/codex/simplify-public-api-scripts -2026-09-27T05:28:45.3474155Z * [new branch] codex/windows-computer-use -> origin/codex/windows-computer-use -2026-09-27T05:28:45.3475320Z * [new branch] dependabot/github_actions/taiki-e/install-action-2.87.17 -> origin/dependabot/github_actions/taiki-e/install-action-2.87.17 -2026-09-27T05:28:45.3476202Z * [new branch] dependabot/npm_and_yarn/babel/parser-8.0.4 -> origin/dependabot/npm_and_yarn/babel/parser-8.0.4 -2026-09-27T05:28:45.3476948Z * [new branch] dependabot/npm_and_yarn/electron-44.2.0 -> origin/dependabot/npm_and_yarn/electron-44.2.0 -2026-09-27T05:28:45.3477650Z * [new branch] dependabot/npm_and_yarn/electron-44.4.3 -> origin/dependabot/npm_and_yarn/electron-44.4.3 -2026-09-27T05:28:45.3478421Z * [new branch] dependabot/npm_and_yarn/intl-messageformat-12.1.2 -> origin/dependabot/npm_and_yarn/intl-messageformat-12.1.2 -2026-09-27T05:28:45.3479183Z * [new branch] dependabot/npm_and_yarn/mermaid-12.0.0 -> origin/dependabot/npm_and_yarn/mermaid-12.0.0 -2026-09-27T05:28:45.3479952Z * [new branch] dependabot/npm_and_yarn/minor-and-patch-cff605b596 -> origin/dependabot/npm_and_yarn/minor-and-patch-cff605b596 -2026-09-27T05:28:45.3481018Z * [new branch] dependabot/npm_and_yarn/packages/eval/harbor/deepseek-harness-toolchain/hono-4.13.7 -> origin/dependabot/npm_and_yarn/packages/eval/harbor/deepseek-harness-toolchain/hono-4.13.7 -2026-09-27T05:28:45.3482287Z * [new branch] dependabot/npm_and_yarn/packages/eval/harbor/deepseek-harness-toolchain/js-yaml-4.3.2 -> origin/dependabot/npm_and_yarn/packages/eval/harbor/deepseek-harness-toolchain/js-yaml-4.3.2 -2026-09-27T05:28:45.3483617Z * [new branch] dependabot/npm_and_yarn/packages/eval/harbor/deepseek-harness-toolchain/sharp-0.35.4 -> origin/dependabot/npm_and_yarn/packages/eval/harbor/deepseek-harness-toolchain/sharp-0.35.4 -2026-09-27T05:28:45.3484631Z * [new branch] devin/cleanup-scan-consolidated -> origin/devin/cleanup-scan-consolidated -2026-09-27T05:28:45.3485272Z * [new branch] docs/1680-deepseek-flash-report -> origin/docs/1680-deepseek-flash-report -2026-09-27T05:28:45.3485903Z * [new branch] docs/design-material-agent-book -> origin/docs/design-material-agent-book -2026-09-27T05:28:45.3486627Z * [new branch] docs/eval-4arm-tbench-2.1-deepseek-v4-flash -> origin/docs/eval-4arm-tbench-2.1-deepseek-v4-flash -2026-09-27T05:28:45.3487400Z * [new branch] docs/nightly-tag-workflows-rejection -> origin/docs/nightly-tag-workflows-rejection -2026-09-27T05:28:45.3488116Z * [new branch] docs/tb21-glm52-maka-opencode-report -> origin/docs/tb21-glm52-maka-opencode-report -2026-09-27T05:28:45.3488758Z * [new branch] eval/headless-reasonix-arm -> origin/eval/headless-reasonix-arm -2026-09-27T05:28:45.3489414Z * [new branch] experiment/visual-context-compression -> origin/experiment/visual-context-compression -2026-09-27T05:28:45.3490115Z * [new branch] feat/1341-committed-graph-projection -> origin/feat/1341-committed-graph-projection -2026-09-27T05:28:45.3490760Z * [new branch] feat/1970-three-arm-deepseek -> origin/feat/1970-three-arm-deepseek -2026-09-27T05:28:45.3491459Z * [new branch] feat/2357-operational-schema-compatibility -> origin/feat/2357-operational-schema-compatibility -2026-09-27T05:28:45.3492196Z * [new branch] feat/4299-semantic-prefix-continuity -> origin/feat/4299-semantic-prefix-continuity -2026-09-27T05:28:45.3492800Z * [new branch] feat/auto-review-mode -> origin/feat/auto-review-mode -2026-09-27T05:28:45.3493400Z * [new branch] feat/chat-turn-running-status-line -> origin/feat/chat-turn-running-status-line -2026-09-27T05:28:45.3494009Z * [new branch] feat/composer-mentions -> origin/feat/composer-mentions -2026-09-27T05:28:45.3494734Z * [new branch] feat/composer-toolbar-split -> origin/feat/composer-toolbar-split -2026-09-27T05:28:45.3495340Z * [new branch] feat/daily-review-redesign -> origin/feat/daily-review-redesign -2026-09-27T05:28:45.3495982Z * [new branch] feat/default-thinking-level -> origin/feat/default-thinking-level -2026-09-27T05:28:45.3496605Z * [new branch] feat/desktop-activity-card-sticky -> origin/feat/desktop-activity-card-sticky -2026-09-27T05:28:45.3497200Z * [new branch] feat/desktop-gpui-spike -> origin/feat/desktop-gpui-spike -2026-09-27T05:28:45.3497753Z * [new branch] feat/desktop-message-queue -> origin/feat/desktop-message-queue -2026-09-27T05:28:45.3498343Z * [new branch] feat/desktop-stop-safe-resume -> origin/feat/desktop-stop-safe-resume -2026-09-27T05:28:45.3498937Z * [new branch] feat/eval-edit-contract-arms -> origin/feat/eval-edit-contract-arms -2026-09-27T05:28:45.3499549Z * [new branch] feat/eval-eight-arm-comparison -> origin/feat/eval-eight-arm-comparison -2026-09-27T05:28:45.3500152Z * [new branch] feat/eval-fleet-coordinator -> origin/feat/eval-fleet-coordinator -2026-09-27T05:28:45.3500786Z * [new branch] feat/harness-contamination-detector -> origin/feat/harness-contamination-detector -2026-09-27T05:28:45.3501490Z * [new branch] feat/headless-deep-swe-full-profile -> origin/feat/headless-deep-swe-full-profile -2026-09-27T05:28:45.3502185Z * [new branch] feat/headless-deepseek-flash-runtime -> origin/feat/headless-deepseek-flash-runtime -2026-09-27T05:28:45.3502929Z * [new branch] feat/headless-maka-task-run-under-harbor -> origin/feat/headless-maka-task-run-under-harbor -2026-09-27T05:28:45.3503658Z * [new branch] feat/headless-managed-shell-sessions -> origin/feat/headless-managed-shell-sessions -2026-09-27T05:28:45.3504479Z * [new branch] feat/headless-opencode-config-path -> origin/feat/headless-opencode-config-path -2026-09-27T05:28:45.3505160Z * [new branch] feat/headless-opencode-pier-arm -> origin/feat/headless-opencode-pier-arm -2026-09-27T05:28:45.3505792Z * [new branch] feat/inspector-session-overview -> origin/feat/inspector-session-overview -2026-09-27T05:28:45.3506376Z * [new branch] feat/keep-system-awake -> origin/feat/keep-system-awake -2026-09-27T05:28:45.3506965Z * [new branch] feat/manual-safe-resume-default -> origin/feat/manual-safe-resume-default -2026-09-27T05:28:45.3507529Z * [new branch] feat/mcp-runtime-v1 -> origin/feat/mcp-runtime-v1 -2026-09-27T05:28:45.3508042Z * [new branch] feat/mcp-simple-icons -> origin/feat/mcp-simple-icons -2026-09-27T05:28:45.3508601Z * [new branch] feat/midflight-subagent-open -> origin/feat/midflight-subagent-open -2026-09-27T05:28:45.3509303Z * [new branch] feat/opencode-free-default-enabled-models -> origin/feat/opencode-free-default-enabled-models -2026-09-27T05:28:45.3510022Z * [new branch] feat/permission-drag-onboarding -> origin/feat/permission-drag-onboarding -2026-09-27T05:28:45.3510712Z * [new branch] feat/permission-surface-plain-language -> origin/feat/permission-surface-plain-language -2026-09-27T05:28:45.3511360Z * [new branch] feat/project-row-actions -> origin/feat/project-row-actions -2026-09-27T05:28:45.3511906Z * [new branch] feat/projects-list-rework -> origin/feat/projects-list-rework -2026-09-27T05:28:45.3512467Z * [new branch] feat/projects-settings-page -> origin/feat/projects-settings-page -2026-09-27T05:28:45.3513019Z * [new branch] feat/runtime-host-manager -> origin/feat/runtime-host-manager -2026-09-27T05:28:45.3513553Z * [new branch] feat/runtime-host-rust -> origin/feat/runtime-host-rust -2026-09-27T05:28:45.3514164Z * [new branch] feat/scheduled-task-unified-catalog -> origin/feat/scheduled-task-unified-catalog -2026-09-27T05:28:45.3515030Z * [new branch] feat/settings-unify-content-width -> origin/feat/settings-unify-content-width -2026-09-27T05:28:45.3515674Z * [new branch] feat/subagent-session-layout -> origin/feat/subagent-session-layout -2026-09-27T05:28:45.3516299Z * [new branch] feat/svg-governance-mcp-polish -> origin/feat/svg-governance-mcp-polish -2026-09-27T05:28:45.3516969Z * [new branch] feat/swarm-concurrency-32 -> origin/feat/swarm-concurrency-32 -2026-09-27T05:28:45.3517505Z * [new branch] feat/tool-result-diff -> origin/feat/tool-result-diff -2026-09-27T05:28:45.3518089Z * [new branch] feat/ts-manual-turn-after-unknown -> origin/feat/ts-manual-turn-after-unknown -2026-09-27T05:28:45.3518663Z * [new branch] feat/ui-quote-comments -> origin/feat/ui-quote-comments -2026-09-27T05:28:45.3519202Z * [new branch] feat/update-check-on-focus -> origin/feat/update-check-on-focus -2026-09-27T05:28:45.3519813Z * [new branch] fix/1584-model-catalog-authority -> origin/fix/1584-model-catalog-authority -2026-09-27T05:28:45.3520486Z * [new branch] fix/1976-streamed-tool-call-identity -> origin/fix/1976-streamed-tool-call-identity -2026-09-27T05:28:45.3521152Z * [new branch] fix/2072-user-question-rehydration -> origin/fix/2072-user-question-rehydration -2026-09-27T05:28:45.3521780Z * [new branch] fix/2574-chatlayout-draft-a11y -> origin/fix/2574-chatlayout-draft-a11y -2026-09-27T05:28:45.3522382Z * [new branch] fix/2995-model-switch-warning -> origin/fix/2995-model-switch-warning -2026-09-27T05:28:45.3523021Z * [new branch] fix/3211-fake-backend-out-of-release -> origin/fix/3211-fake-backend-out-of-release -2026-09-27T05:28:45.3523673Z * [new branch] fix/3521-live-tool-result-content -> origin/fix/3521-live-tool-result-content -2026-09-27T05:28:45.3524317Z * [new branch] fix/agent-graph-panel-collapse -> origin/fix/agent-graph-panel-collapse -2026-09-27T05:28:45.3525068Z * [new branch] fix/archive-ref-read-tool -> origin/fix/archive-ref-read-tool -2026-09-27T05:28:45.3525670Z * [new branch] fix/astryx-tooltip-ref-stability -> origin/fix/astryx-tooltip-ref-stability -2026-09-27T05:28:45.3526242Z * [new branch] fix/audit-dompurify -> origin/fix/audit-dompurify -2026-09-27T05:28:45.3526874Z * [new branch] fix/chat-empty-state-vertical-centering -> origin/fix/chat-empty-state-vertical-centering -2026-09-27T05:28:45.3527499Z * [new branch] fix/ci-flaky-tests -> origin/fix/ci-flaky-tests -2026-09-27T05:28:45.3528045Z * [new branch] fix/ci-sandbox-cli-closure -> origin/fix/ci-sandbox-cli-closure -2026-09-27T05:28:45.3528705Z * [new branch] fix/cli-signal-probe-cold-start-2293 -> origin/fix/cli-signal-probe-cold-start-2293 -2026-09-27T05:28:45.3529402Z * [new branch] fix/collapsed-rail-dark-top-seam -> origin/fix/collapsed-rail-dark-top-seam -2026-09-27T05:28:45.3530051Z * [new branch] fix/collapsed-rail-icon-rhythm -> origin/fix/collapsed-rail-icon-rhythm -2026-09-27T05:28:45.3530638Z * [new branch] fix/composer-band-seam -> origin/fix/composer-band-seam -2026-09-27T05:28:45.3531225Z * [new branch] fix/composer-mode-footer-state -> origin/fix/composer-mode-footer-state -2026-09-27T05:28:45.3531903Z * [new branch] fix/composer-model-thinking-toolbar -> origin/fix/composer-model-thinking-toolbar -2026-09-27T05:28:45.3532603Z * [new branch] fix/composer-skill-astryx-surface -> origin/fix/composer-skill-astryx-surface -2026-09-27T05:28:45.3533192Z * [new branch] fix/deep-review-round -> origin/fix/deep-review-round -2026-09-27T05:28:45.3533790Z * [new branch] fix/desktop-bot-session-fixture -> origin/fix/desktop-bot-session-fixture -2026-09-27T05:28:45.3534725Z * [new branch] fix/desktop-drop-deleted-permission-engine -> origin/fix/desktop-drop-deleted-permission-engine -2026-09-27T05:28:45.3535573Z * [new branch] fix/desktop-lightbox-close-drag-region -> origin/fix/desktop-lightbox-close-drag-region -2026-09-27T05:28:45.3536310Z * [new branch] fix/desktop-swarm-default-routing -> origin/fix/desktop-swarm-default-routing -2026-09-27T05:28:45.3536954Z * [new branch] fix/dev-build-runtime-host -> origin/fix/dev-build-runtime-host -2026-09-27T05:28:45.3537618Z * [new branch] fix/e2e-astryx-selectors -> origin/fix/e2e-astryx-selectors -2026-09-27T05:28:45.3538218Z * [new branch] fix/e2e-attachment-alignment -> origin/fix/e2e-attachment-alignment -2026-09-27T05:28:45.3538925Z * [new branch] fix/e2e-fixture-plan-reminder-created-at -> origin/fix/e2e-fixture-plan-reminder-created-at -2026-09-27T05:28:45.3539633Z * [new branch] fix/e2e-sidenav-resize-hit-area -> origin/fix/e2e-sidenav-resize-hit-area -2026-09-27T05:28:45.3540290Z * [new branch] fix/eval-deepseek-pricing-current -> origin/fix/eval-deepseek-pricing-current -2026-09-27T05:28:45.3541001Z * [new branch] fix/eval-subject-namespace-privilege -> origin/fix/eval-subject-namespace-privilege -2026-09-27T05:28:45.3541682Z * [new branch] fix/external-session-continuity -> origin/fix/external-session-continuity -2026-09-27T05:28:45.3542237Z * [new branch] fix/format-2406 -> origin/fix/format-2406 -2026-09-27T05:28:45.3542831Z * [new branch] fix/harness-maka-repo-mount-scope -> origin/fix/harness-maka-repo-mount-scope -2026-09-27T05:28:45.3543579Z * [new branch] fix/harness-maka-trajectory-envelope-drift -> origin/fix/harness-maka-trajectory-envelope-drift -2026-09-27T05:28:45.3544452Z * [new branch] fix/harness-resume-fingerprint-concurrency -> origin/fix/harness-resume-fingerprint-concurrency -2026-09-27T05:28:45.3545244Z * [new branch] fix/headless-archive-read-registration -> origin/fix/headless-archive-read-registration -2026-09-27T05:28:45.3545937Z * [new branch] fix/headless-bound-scope-teardown -> origin/fix/headless-bound-scope-teardown -2026-09-27T05:28:45.3546669Z * [new branch] fix/headless-bridge-command-timeout -> origin/fix/headless-bridge-command-timeout -2026-09-27T05:28:45.3547472Z * [new branch] fix/headless-budget-exhausted-authoritative-reward -> origin/fix/headless-budget-exhausted-authoritative-reward -2026-09-27T05:28:45.3548334Z * [new branch] fix/headless-infra-failed-misclassification -> origin/fix/headless-infra-failed-misclassification -2026-09-27T05:28:45.3549109Z * [new branch] fix/headless-opencode-deepseek-provider -> origin/fix/headless-opencode-deepseek-provider -2026-09-27T05:28:45.3549796Z * [new branch] fix/headless-pier-terminal-stream -> origin/fix/headless-pier-terminal-stream -2026-09-27T05:28:45.3550662Z * [new branch] fix/headless-proxy-usage-protocol-wire -> origin/fix/headless-proxy-usage-protocol-wire -2026-09-27T05:28:45.3551601Z * [new branch] fix/headless-published-run-semantics -> origin/fix/headless-published-run-semantics -2026-09-27T05:28:45.3552565Z * [new branch] fix/headless-restore-maka-settlement-window -> origin/fix/headless-restore-maka-settlement-window -2026-09-27T05:28:45.3553610Z * [new branch] fix/headless-scope-competitor-repo-mount -> origin/fix/headless-scope-competitor-repo-mount -2026-09-27T05:28:45.3554676Z * [new branch] fix/headless-scope-output-replay-orphan -> origin/fix/headless-scope-output-replay-orphan -2026-09-27T05:28:45.3555831Z * [new branch] fix/headless-settle-timeouts-by-evidence -> origin/fix/headless-settle-timeouts-by-evidence -2026-09-27T05:28:45.3557000Z * [new branch] fix/headless-smoke-settlement-window -> origin/fix/headless-smoke-settlement-window -2026-09-27T05:28:45.3557866Z * [new branch] fix/knip-orphaned-css-helpers -> origin/fix/knip-orphaned-css-helpers -2026-09-27T05:28:45.3558526Z * [new branch] fix/mcp-real-brand-logos -> origin/fix/mcp-real-brand-logos -2026-09-27T05:28:45.3559203Z * [new branch] fix/mcp-remaining-brand-marks -> origin/fix/mcp-remaining-brand-marks -2026-09-27T05:28:45.3559875Z * [new branch] fix/model-picker-group-logo -> origin/fix/model-picker-group-logo -2026-09-27T05:28:45.3560691Z * [new branch] fix/module-unbox-daily-review-restyle -> origin/fix/module-unbox-daily-review-restyle -2026-09-27T05:28:45.3561613Z * [new branch] fix/peer-mesh-cleanup -> origin/fix/peer-mesh-cleanup -2026-09-27T05:28:45.3562497Z * [new branch] fix/peer-reconnect-recovery -> origin/fix/peer-reconnect-recovery -2026-09-27T05:28:45.3563473Z * [new branch] fix/permission-surface-reload-e2e -> origin/fix/permission-surface-reload-e2e -2026-09-27T05:28:45.3564554Z * [new branch] fix/plan-form-deep-review -> origin/fix/plan-form-deep-review -2026-09-27T05:28:45.3565367Z * [new branch] fix/polish-wave-table-language -> origin/fix/polish-wave-table-language -2026-09-27T05:28:45.3566344Z * [new branch] fix/prompt-rail-fixture-readiness -> origin/fix/prompt-rail-fixture-readiness -2026-09-27T05:28:45.3567174Z * [new branch] fix/radius-calc-spacing -> origin/fix/radius-calc-spacing -2026-09-27T05:28:45.3567986Z * [new branch] fix/read-model-isolate-unclaimed-event -> origin/fix/read-model-isolate-unclaimed-event -2026-09-27T05:28:45.3568615Z * [new branch] fix/reading-column-polish -> origin/fix/reading-column-polish -2026-09-27T05:28:45.3569158Z * [new branch] fix/readme-badge-placement -> origin/fix/readme-badge-placement -2026-09-27T05:28:45.3569744Z * [new branch] fix/release-ip-address-advisory -> origin/fix/release-ip-address-advisory -2026-09-27T05:28:45.3570404Z * [new branch] fix/runtime-gateway-invocation-source -> origin/fix/runtime-gateway-invocation-source -2026-09-27T05:28:45.3571066Z * [new branch] fix/runtime-host-drain-handshake -> origin/fix/runtime-host-drain-handshake -2026-09-27T05:28:45.3571747Z * [new branch] fix/runtime-host-first-connection-grace -> origin/fix/runtime-host-first-connection-grace -2026-09-27T05:28:45.3572565Z * [new branch] fix/runtime-host-flaky-steering-test -> origin/fix/runtime-host-flaky-steering-test -2026-09-27T05:28:45.3573187Z * [new branch] fix/runtime-per-turn-scope -> origin/fix/runtime-per-turn-scope -2026-09-27T05:28:45.3573857Z * [new branch] fix/runtime-responses-encrypted-reasoning -> origin/fix/runtime-responses-encrypted-reasoning -2026-09-27T05:28:45.3574834Z * [new branch] fix/runtime-stopped-run-terminal-fact -> origin/fix/runtime-stopped-run-terminal-fact -2026-09-27T05:28:45.3575564Z * [new branch] fix/runtime-symlink-cwd-containment -> origin/fix/runtime-symlink-cwd-containment -2026-09-27T05:28:45.3576267Z * [new branch] fix/runtime-truncated-stream-end-turn -> origin/fix/runtime-truncated-stream-end-turn -2026-09-27T05:28:45.3576978Z * [new branch] fix/sandbox-boundary-pending-restart -> origin/fix/sandbox-boundary-pending-restart -2026-09-27T05:28:45.3577698Z * [new branch] fix/session-workhub-return-visibility -> origin/fix/session-workhub-return-visibility -2026-09-27T05:28:45.3578410Z * [new branch] fix/settings-bounds-contract-rows-kit -> origin/fix/settings-bounds-contract-rows-kit -2026-09-27T05:28:45.3579059Z * [new branch] fix/settings-titlebar-chrome -> origin/fix/settings-titlebar-chrome -2026-09-27T05:28:45.3579622Z * [new branch] fix/shell-run-flush-flake -> origin/fix/shell-run-flush-flake -2026-09-27T05:28:45.3580173Z * [new branch] fix/sidebar-e2e-project-seed -> origin/fix/sidebar-e2e-project-seed -2026-09-27T05:28:45.3580717Z * [new branch] fix/sidebar-rail-color -> origin/fix/sidebar-rail-color -2026-09-27T05:28:45.3581245Z * [new branch] fix/sidebar-sidenav-align -> origin/fix/sidebar-sidenav-align -2026-09-27T05:28:45.3581851Z * [new branch] fix/sidenav-collapse-regressions -> origin/fix/sidenav-collapse-regressions -2026-09-27T05:28:45.3582459Z * [new branch] fix/skills-examples-cleanup -> origin/fix/skills-examples-cleanup -2026-09-27T05:28:45.3583053Z * [new branch] fix/steering-durable-admission -> origin/fix/steering-durable-admission -2026-09-27T05:28:45.3583624Z * [new branch] fix/storage-root-e2e-linux -> origin/fix/storage-root-e2e-linux -2026-09-27T05:28:45.3584369Z * [new branch] fix/swarm-exclusive-ledger-finalization -> origin/fix/swarm-exclusive-ledger-finalization -2026-09-27T05:28:45.3585203Z * [new branch] fix/swarm-progress-1559 -> origin/fix/swarm-progress-1559 -2026-09-27T05:28:45.3585742Z * [new branch] fix/titlebar-column-chrome -> origin/fix/titlebar-column-chrome -2026-09-27T05:28:45.3586382Z * [new branch] fix/tool-activity-astryx-convergence -> origin/fix/tool-activity-astryx-convergence -2026-09-27T05:28:45.3587046Z * [new branch] fix/tool-activity-diff-rendering -> origin/fix/tool-activity-diff-rendering -2026-09-27T05:28:45.3587620Z * [new branch] fix/transcript-midturn -> origin/fix/transcript-midturn -2026-09-27T05:28:45.3588144Z * [new branch] fix/ui-build-astryx-0.5.0 -> origin/fix/ui-build-astryx-0.5.0 -2026-09-27T05:28:45.3588714Z * [new branch] fix/ui-queue-delivery-feedback -> origin/fix/ui-queue-delivery-feedback -2026-09-27T05:28:45.3589330Z * [new branch] fix/ui-reasoning-chevron-stroke -> origin/fix/ui-reasoning-chevron-stroke -2026-09-27T05:28:45.3589993Z * [new branch] fix/ui-tool-group-collapsed-default -> origin/fix/ui-tool-group-collapsed-default -2026-09-27T05:28:45.3590612Z * [new branch] fix/ui-zh-duration-spacing -> origin/fix/ui-zh-duration-spacing -2026-09-27T05:28:45.3591138Z * [new branch] fix/usage-stats-restyle -> origin/fix/usage-stats-restyle -2026-09-27T05:28:45.3591700Z * [new branch] fix/workhub-plain-conversation -> origin/fix/workhub-plain-conversation -2026-09-27T05:28:45.3592303Z * [new branch] kenji/pr-plan-reminder-mvp-0 -> origin/kenji/pr-plan-reminder-mvp-0 -2026-09-27T05:28:45.3592990Z * [new branch] kenji/pr-session-sticky-model-0 -> origin/kenji/pr-session-sticky-model-0 -2026-09-27T05:28:45.3593707Z * [new branch] lordlogres/runtime-adversarial-self-check-loop -> origin/lordlogres/runtime-adversarial-self-check-loop -2026-09-27T05:28:45.3594328Z * [new branch] main -> origin/main -2026-09-27T05:28:45.3595031Z * [new branch] perf/desktop-idle-event-health-polling -> origin/perf/desktop-idle-event-health-polling -2026-09-27T05:28:45.3595764Z * [new branch] perf/desktop-session-ui-subscription -> origin/perf/desktop-session-ui-subscription -2026-09-27T05:28:45.3596414Z * [new branch] perf/scroll-baseline-20260913 -> origin/perf/scroll-baseline-20260913 -2026-09-27T05:28:45.3597047Z * [new branch] perf/scroll-known-space-20260913 -> origin/perf/scroll-known-space-20260913 -2026-09-27T05:28:45.3597663Z * [new branch] perf/scroll-paired-20260913 -> origin/perf/scroll-paired-20260913 -2026-09-27T05:28:45.3598266Z * [new branch] perf/storage-wal-race-stress -> origin/perf/storage-wal-race-stress -2026-09-27T05:28:45.3598866Z * [new branch] perf/test-fast-and-changed -> origin/perf/test-fast-and-changed -2026-09-27T05:28:45.3599475Z * [new branch] polish/skills-empty-actions -> origin/polish/skills-empty-actions -2026-09-27T05:28:45.3600055Z * [new branch] pr-190-review-with-fixes -> origin/pr-190-review-with-fixes -2026-09-27T05:28:45.3600599Z * [new branch] pr-a11y-generic-name-4 -> origin/pr-a11y-generic-name-4 -2026-09-27T05:28:45.3601113Z * [new branch] pr-assets-4314 -> origin/pr-assets-4314 -2026-09-27T05:28:45.3601616Z * [new branch] pr-assets/3122-cf6780d -> origin/pr-assets/3122-cf6780d -2026-09-27T05:28:45.3602148Z * [new branch] pr-astryx-click-action-1 -> origin/pr-astryx-click-action-1 -2026-09-27T05:28:45.3602743Z * [new branch] pr-astryx-collapsible-group-3 -> origin/pr-astryx-collapsible-group-3 -2026-09-27T05:28:45.3603340Z * [new branch] pr-astryx-use-hotkeys-2 -> origin/pr-astryx-use-hotkeys-2 -2026-09-27T05:28:45.3603939Z * [new branch] pr-composer-workspace-chips-12 -> origin/pr-composer-workspace-chips-12 -2026-09-27T05:28:45.3604646Z * [new branch] pr-dedupe-expandable-row-13 -> origin/pr-dedupe-expandable-row-13 -2026-09-27T05:28:45.3605359Z * [new branch] pr-drop-more-menu-10 -> origin/pr-drop-more-menu-10 -2026-09-27T05:28:45.3605872Z * [new branch] pr-evidence-1927 -> origin/pr-evidence-1927 -2026-09-27T05:28:45.3606383Z * [new branch] pr-fix-row-hairline-5 -> origin/pr-fix-row-hairline-5 -2026-09-27T05:28:45.3606909Z * [new branch] pr-plan-regressions-14 -> origin/pr-plan-regressions-14 -2026-09-27T05:28:45.3607515Z * [new branch] pr-serialize-flaky-workspaces-11 -> origin/pr-serialize-flaky-workspaces-11 -2026-09-27T05:28:45.3608169Z * [new branch] pr-set-default-connection-20 -> origin/pr-set-default-connection-20 -2026-09-27T05:28:45.3608791Z * [new branch] pr-settings-expandable-row-9 -> origin/pr-settings-expandable-row-9 -2026-09-27T05:28:45.3609429Z * [new branch] pr-settings-status-semantics-17 -> origin/pr-settings-status-semantics-17 -2026-09-27T05:28:45.3610032Z * [new branch] pr-status-vocabulary-16 -> origin/pr-status-vocabulary-16 -2026-09-27T05:28:45.3610625Z * [new branch] pr-status-vocabulary-round2-18 -> origin/pr-status-vocabulary-round2-18 -2026-09-27T05:28:45.3611207Z * [new branch] pr-tidy-loose-ends-12 -> origin/pr-tidy-loose-ends-12 -2026-09-27T05:28:45.3611720Z * [new branch] pr-ux-about-data-6 -> origin/pr-ux-about-data-6 -2026-09-27T05:28:45.3612257Z * [new branch] pr-ux-health-memory-8 -> origin/pr-ux-health-memory-8 -2026-09-27T05:28:45.3612760Z * [new branch] pr-ux-voice-search-7 -> origin/pr-ux-voice-search-7 -2026-09-27T05:28:45.3613325Z * [new branch] pr/drop-cua-driver -> origin/pr/drop-cua-driver -2026-09-27T05:28:45.3613819Z * [new branch] pr/maka-cu-backend -> origin/pr/maka-cu-backend -2026-09-27T05:28:45.3614311Z * [new branch] pr/maka-cu-default -> origin/pr/maka-cu-default -2026-09-27T05:28:45.3615000Z * [new branch] redesign/plan-form-side-panel -> origin/redesign/plan-form-side-panel -2026-09-27T05:28:45.3615721Z * [new branch] redesign/plan-list-premium -> origin/redesign/plan-list-premium -2026-09-27T05:28:45.3616396Z * [new branch] redesign/plan-reminders-astryx -> origin/redesign/plan-reminders-astryx -2026-09-27T05:28:45.3616981Z * [new branch] redesign/skills-premium -> origin/redesign/skills-premium -2026-09-27T05:28:45.3617537Z * [new branch] redesign/skills-tsx-premium -> origin/redesign/skills-tsx-premium -2026-09-27T05:28:45.3618235Z * [new branch] redesign/subagent-settings-astryx-idiom -> origin/redesign/subagent-settings-astryx-idiom -2026-09-27T05:28:45.3618952Z * [new branch] refactor/2984-converge-archive-state -> origin/refactor/2984-converge-archive-state -2026-09-27T05:28:45.3619711Z * [new branch] refactor/automations-unify-module-page-shell -> origin/refactor/automations-unify-module-page-shell -2026-09-27T05:28:45.3620476Z * [new branch] refactor/benchmark-identity-out-of-dist -> origin/refactor/benchmark-identity-out-of-dist -2026-09-27T05:28:45.3621116Z * [new branch] refactor/bot-chat-astryx -> origin/refactor/bot-chat-astryx -2026-09-27T05:28:45.3621736Z * [new branch] refactor/chat-css-drop-dead-trow-rules -> origin/refactor/chat-css-drop-dead-trow-rules -2026-09-27T05:28:45.3622429Z * [new branch] refactor/claude-card-wechat-astryx -> origin/refactor/claude-card-wechat-astryx -2026-09-27T05:28:45.3623112Z * [new branch] refactor/composer-single-send-toggle -> origin/refactor/composer-single-send-toggle -2026-09-27T05:28:45.3623920Z * [new branch] refactor/composer-workspace-picker-ghost-menu -> origin/refactor/composer-workspace-picker-ghost-menu -2026-09-27T05:28:45.3624856Z * [new branch] refactor/desktop-drop-open-update-download -> origin/refactor/desktop-drop-open-update-download -2026-09-27T05:28:45.3625562Z * [new branch] refactor/eval-shared-execution -> origin/refactor/eval-shared-execution -2026-09-27T05:28:45.3626523Z * [new branch] refactor/incremental-transcript-projection -> origin/refactor/incremental-transcript-projection -2026-09-27T05:28:45.3627358Z * [new branch] refactor/session-workbar-astryx-redesign -> origin/refactor/session-workbar-astryx-redesign -2026-09-27T05:28:45.3628124Z * [new branch] refactor/settings-page-kit-container -> origin/refactor/settings-page-kit-container -2026-09-27T05:28:45.3628802Z * [new branch] refactor/sidebar-update-entry -> origin/refactor/sidebar-update-entry -2026-09-27T05:28:45.3629509Z * [new branch] refactor/slice11-astryx-shell-navigation -> origin/refactor/slice11-astryx-shell-navigation -2026-09-27T05:28:45.3630252Z * [new branch] refactor/typography-astryx-type-scale -> origin/refactor/typography-astryx-type-scale -2026-09-27T05:28:45.3630960Z * [new branch] refactor/ui-bubble-astryx-defaults -> origin/refactor/ui-bubble-astryx-defaults -2026-09-27T05:28:45.3631610Z * [new branch] refactor/ui-composer-chat-input -> origin/refactor/ui-composer-chat-input -2026-09-27T05:28:45.3632292Z * [new branch] refactor/ui-workbar-astryx-resizable -> origin/refactor/ui-workbar-astryx-resizable -2026-09-27T05:28:45.3632910Z * [new branch] release/prepare-0.1.7 -> origin/release/prepare-0.1.7 -2026-09-27T05:28:45.3633435Z * [new branch] release/prepare-0.1.8 -> origin/release/prepare-0.1.8 -2026-09-27T05:28:45.3633960Z * [new branch] release/prepare-0.1.9 -> origin/release/prepare-0.1.9 -2026-09-27T05:28:45.3634657Z * [new branch] research/runtime-host-webrtc-phase0 -> origin/research/runtime-host-webrtc-phase0 -2026-09-27T05:28:45.3635744Z * [new branch] revert-4378-fix/write-stdin-contract-conformance -> origin/revert-4378-fix/write-stdin-contract-conformance -2026-09-27T05:28:45.3636427Z * [new branch] settings/astryx-refactor -> origin/settings/astryx-refactor -2026-09-27T05:28:45.3637041Z * [new branch] site/v0-2-0-incubating-rc1-staging -> origin/site/v0-2-0-incubating-rc1-staging -2026-09-27T05:28:45.3637718Z * [new branch] site/v0-2-0-incubating-rc2-staging -> origin/site/v0-2-0-incubating-rc2-staging -2026-09-27T05:28:45.3638302Z * [new branch] spike/4613-two-sections -> origin/spike/4613-two-sections -2026-09-27T05:28:45.3638967Z * [new branch] stack/4956-session-experience-foundation -> origin/stack/4956-session-experience-foundation -2026-09-27T05:28:45.3639592Z * [new branch] stack/i18n-ko-core -> origin/stack/i18n-ko-core -2026-09-27T05:28:45.3640167Z * [new branch] test/2000-mermaid-toolbar-offset -> origin/test/2000-mermaid-toolbar-offset -2026-09-27T05:28:45.3640825Z * [new branch] test/core-envelope-value-domains -> origin/test/core-envelope-value-domains -2026-09-27T05:28:45.3641566Z * [new branch] test/headless-mount-declaration-authority -> origin/test/headless-mount-declaration-authority -2026-09-27T05:28:45.3642422Z * [new branch] test/transcript-scroll-io-diagnostic -> origin/test/transcript-scroll-io-diagnostic -2026-09-27T05:28:45.3643344Z * [new branch] test/trim-low-value-suites -> origin/test/trim-low-value-suites -2026-09-27T05:28:45.3644257Z * [new branch] test/ui-answer-identity-teeth -> origin/test/ui-answer-identity-teeth -2026-09-27T05:28:45.3645242Z * [new branch] test/windows-repro-probe -> origin/test/windows-repro-probe -2026-09-27T05:28:45.3646210Z * [new branch] worktree-fix-settings-row-wrapping -> origin/worktree-fix-settings-row-wrapping -2026-09-27T05:28:45.3646978Z * [new branch] worktree-permission-overlay-stage2 -> origin/worktree-permission-overlay-stage2 -2026-09-27T05:28:45.3647824Z * [new branch] worktree-permission-scope-key -> origin/worktree-permission-scope-key -2026-09-27T05:28:45.3648609Z * [new branch] worktree-readme-lang-badges -> origin/worktree-readme-lang-badges -2026-09-27T05:28:45.3649174Z * [new branch] yuejing/pr-build-hygiene-0 -> origin/yuejing/pr-build-hygiene-0 -2026-09-27T05:28:45.3649855Z * [new branch] yuejing/pr-daily-review-copy-0 -> origin/yuejing/pr-daily-review-copy-0 -2026-09-27T05:28:45.3650443Z * [new branch] yuejing/pr-security-policy-0 -> origin/yuejing/pr-security-policy-0 -2026-09-27T05:28:45.3650956Z * [new tag] cli-v0.1.0-beta.1 -> cli-v0.1.0-beta.1 -2026-09-27T05:28:45.3651820Z * [new tag] oracle-evidence-d0a2ba154b7907a5d15487d855c07ea2b526bbdcfcb99345fb139f7dfd587c07 -> oracle-evidence-d0a2ba154b7907a5d15487d855c07ea2b526bbdcfcb99345fb139f7dfd587c07 -2026-09-27T05:28:45.3652633Z * [new tag] v0.1.0 -> v0.1.0 -2026-09-27T05:28:45.3653016Z * [new tag] v0.1.1 -> v0.1.1 -2026-09-27T05:28:45.3653453Z * [new tag] v0.1.10 -> v0.1.10 -2026-09-27T05:28:45.3653846Z * [new tag] v0.1.11 -> v0.1.11 -2026-09-27T05:28:45.3654215Z * [new tag] v0.1.2 -> v0.1.2 -2026-09-27T05:28:45.3655108Z * [new tag] v0.1.3 -> v0.1.3 -2026-09-27T05:28:45.3655478Z * [new tag] v0.1.4 -> v0.1.4 -2026-09-27T05:28:45.3655845Z * [new tag] v0.1.5 -> v0.1.5 -2026-09-27T05:28:45.3656209Z * [new tag] v0.1.6 -> v0.1.6 -2026-09-27T05:28:45.3656569Z * [new tag] v0.1.7 -> v0.1.7 -2026-09-27T05:28:45.3656931Z * [new tag] v0.1.8 -> v0.1.8 -2026-09-27T05:28:45.3657292Z * [new tag] v0.1.9 -> v0.1.9 -2026-09-27T05:28:45.3657786Z * [new tag] v0.2.0-dev.10.20260831 -> v0.2.0-dev.10.20260831 -2026-09-27T05:28:45.3658221Z * [new tag] v0.2.0-dev.11.20260831 -> v0.2.0-dev.11.20260831 -2026-09-27T05:28:45.3658649Z * [new tag] v0.2.0-dev.12.20260901 -> v0.2.0-dev.12.20260901 -2026-09-27T05:28:45.3659073Z * [new tag] v0.2.0-dev.15.20260902 -> v0.2.0-dev.15.20260902 -2026-09-27T05:28:45.3659495Z * [new tag] v0.2.0-dev.16.20260903 -> v0.2.0-dev.16.20260903 -2026-09-27T05:28:45.3660018Z * [new tag] v0.2.0-dev.19.20260904 -> v0.2.0-dev.19.20260904 -2026-09-27T05:28:45.3660652Z * [new tag] v0.2.0-dev.20.20260904 -> v0.2.0-dev.20.20260904 -2026-09-27T05:28:45.3661091Z * [new tag] v0.2.0-dev.22.20260905 -> v0.2.0-dev.22.20260905 -2026-09-27T05:28:45.3661514Z * [new tag] v0.2.0-dev.23.20260906 -> v0.2.0-dev.23.20260906 -2026-09-27T05:28:45.3661926Z * [new tag] v0.2.0-dev.25.20260908 -> v0.2.0-dev.25.20260908 -2026-09-27T05:28:45.3662346Z * [new tag] v0.2.0-dev.26.20260909 -> v0.2.0-dev.26.20260909 -2026-09-27T05:28:45.3662753Z * [new tag] v0.2.0-dev.27.20260910 -> v0.2.0-dev.27.20260910 -2026-09-27T05:28:45.3663161Z * [new tag] v0.2.0-dev.28.20260911 -> v0.2.0-dev.28.20260911 -2026-09-27T05:28:45.3663572Z * [new tag] v0.2.0-dev.30.20260912 -> v0.2.0-dev.30.20260912 -2026-09-27T05:28:45.3663989Z * [new tag] v0.2.0-dev.31.20260913 -> v0.2.0-dev.31.20260913 -2026-09-27T05:28:45.3664548Z * [new tag] v0.2.0-dev.35.20260915 -> v0.2.0-dev.35.20260915 -2026-09-27T05:28:45.3665025Z * [new tag] v0.2.0-dev.36.20260915 -> v0.2.0-dev.36.20260915 -2026-09-27T05:28:45.3665448Z * [new tag] v0.2.0-dev.37.20260915 -> v0.2.0-dev.37.20260915 -2026-09-27T05:28:45.3665877Z * [new tag] v0.2.0-dev.38.20260916 -> v0.2.0-dev.38.20260916 -2026-09-27T05:28:45.3666308Z * [new tag] v0.2.0-dev.39.20260916 -> v0.2.0-dev.39.20260916 -2026-09-27T05:28:45.3666749Z * [new tag] v0.2.0-dev.40.20260917 -> v0.2.0-dev.40.20260917 -2026-09-27T05:28:45.3667175Z * [new tag] v0.2.0-dev.41.20260918 -> v0.2.0-dev.41.20260918 -2026-09-27T05:28:45.3667608Z * [new tag] v0.2.0-dev.42.20260918 -> v0.2.0-dev.42.20260918 -2026-09-27T05:28:45.3668042Z * [new tag] v0.2.0-dev.43.20260919 -> v0.2.0-dev.43.20260919 -2026-09-27T05:28:45.3668549Z * [new tag] v0.2.0-dev.44.20260920 -> v0.2.0-dev.44.20260920 -2026-09-27T05:28:45.3668963Z * [new tag] v0.2.0-dev.46.20260922 -> v0.2.0-dev.46.20260922 -2026-09-27T05:28:45.3669371Z * [new tag] v0.2.0-dev.47.20260922 -> v0.2.0-dev.47.20260922 -2026-09-27T05:28:45.3669782Z * [new tag] v0.2.0-dev.48.20260923 -> v0.2.0-dev.48.20260923 -2026-09-27T05:28:45.3670202Z * [new tag] v0.2.0-dev.49.20260924 -> v0.2.0-dev.49.20260924 -2026-09-27T05:28:45.3670612Z * [new tag] v0.2.0-dev.51.20260925 -> v0.2.0-dev.51.20260925 -2026-09-27T05:28:45.3671032Z * [new tag] v0.2.0-dev.52.20260926 -> v0.2.0-dev.52.20260926 -2026-09-27T05:28:45.3671462Z * [new tag] v0.2.0-dev.9.20260831 -> v0.2.0-dev.9.20260831 -2026-09-27T05:28:45.3671898Z * [new tag] v0.2.0-incubating-rc1 -> v0.2.0-incubating-rc1 -2026-09-27T05:28:45.3672341Z * [new tag] v0.2.0-incubating-rc2 -> v0.2.0-incubating-rc2 -2026-09-27T05:28:45.3672821Z * [new ref] 7bfadeae3cbf5c7e2ea368eb3dbdedcb34590feb -> pull/5741/merge -2026-09-27T05:28:45.3674299Z ##[endgroup] -2026-09-27T05:28:45.3674867Z ##[group]Determining the checkout info -2026-09-27T05:28:45.3675342Z ##[endgroup] -2026-09-27T05:28:45.3675643Z [command]/usr/bin/git sparse-checkout disable -2026-09-27T05:28:45.3676486Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig -2026-09-27T05:28:45.3685304Z ##[group]Checking out the ref -2026-09-27T05:28:45.3689193Z [command]/usr/bin/git checkout --progress --force refs/remotes/pull/5741/merge -2026-09-27T05:28:45.8596207Z Note: switching to 'refs/remotes/pull/5741/merge'. -2026-09-27T05:28:45.8596752Z -2026-09-27T05:28:45.8597019Z You are in 'detached HEAD' state. You can look around, make experimental -2026-09-27T05:28:45.8597503Z changes and commit them, and you can discard any commits you make in this -2026-09-27T05:28:45.8598060Z state without impacting any branches by switching back to a branch. -2026-09-27T05:28:45.8598349Z -2026-09-27T05:28:45.8598536Z If you want to create a new branch to retain commits you create, you may -2026-09-27T05:28:45.8599021Z do so (now or later) by using -c with the switch command. Example: -2026-09-27T05:28:45.8599305Z -2026-09-27T05:28:45.8599461Z git switch -c -2026-09-27T05:28:45.8599771Z -2026-09-27T05:28:45.8599956Z Or undo this operation with: -2026-09-27T05:28:45.8600172Z -2026-09-27T05:28:45.8600302Z git switch - -2026-09-27T05:28:45.8600488Z -2026-09-27T05:28:45.8600741Z Turn off this advice by setting config variable advice.detachedHead to false -2026-09-27T05:28:45.8601114Z -2026-09-27T05:28:45.8601536Z HEAD is now at 7bfadeae3 Merge 585a1e3754ed10bf2ed304736b5fbbd7d8780ea2 into d89ccce01ab631d63de2a8986fc76a1960af8dc2 -2026-09-27T05:28:45.8787824Z ##[endgroup] -2026-09-27T05:28:45.8828929Z [command]/usr/bin/git log -1 --format=%H -2026-09-27T05:28:45.8852718Z 7bfadeae3cbf5c7e2ea368eb3dbdedcb34590feb -2026-09-27T05:28:45.8867342Z ##[group]Removing auth -2026-09-27T05:28:45.8867779Z Removing SSH command configuration -2026-09-27T05:28:45.8868576Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand -2026-09-27T05:28:45.8894071Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :" -2026-09-27T05:28:45.9090072Z Removing HTTP extra header -2026-09-27T05:28:45.9094078Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader -2026-09-27T05:28:45.9120472Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :" -2026-09-27T05:28:45.9300950Z Removing includeIf entries pointing to credentials config files -2026-09-27T05:28:45.9304945Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: -2026-09-27T05:28:45.9327133Z includeif.gitdir:/home/runner/work/maka/maka/.git.path -2026-09-27T05:28:45.9327702Z includeif.gitdir:/home/runner/work/maka/maka/.git/worktrees/*.path -2026-09-27T05:28:45.9328077Z includeif.gitdir:/github/workspace/.git.path -2026-09-27T05:28:45.9328485Z includeif.gitdir:/github/workspace/.git/worktrees/*.path -2026-09-27T05:28:45.9334224Z [command]/usr/bin/git config --local --get-all includeif.gitdir:/home/runner/work/maka/maka/.git.path -2026-09-27T05:28:45.9352892Z /home/runner/work/_temp/git-credentials-a745d6d8-6269-4e4a-a47f-690242882e2b.config -2026-09-27T05:28:45.9363698Z [command]/usr/bin/git config --local --unset includeif.gitdir:/home/runner/work/maka/maka/.git.path \/home\/runner\/work\/_temp\/git\-credentials\-a745d6d8\-6269\-4e4a\-a47f\-690242882e2b\.config -2026-09-27T05:28:45.9402558Z [command]/usr/bin/git config --local --get-all includeif.gitdir:/home/runner/work/maka/maka/.git/worktrees/*.path -2026-09-27T05:28:45.9421129Z /home/runner/work/_temp/git-credentials-a745d6d8-6269-4e4a-a47f-690242882e2b.config -2026-09-27T05:28:45.9429060Z [command]/usr/bin/git config --local --unset includeif.gitdir:/home/runner/work/maka/maka/.git/worktrees/*.path \/home\/runner\/work\/_temp\/git\-credentials\-a745d6d8\-6269\-4e4a\-a47f\-690242882e2b\.config -2026-09-27T05:28:45.9458046Z [command]/usr/bin/git config --local --get-all includeif.gitdir:/github/workspace/.git.path -2026-09-27T05:28:45.9476897Z /github/runner_temp/git-credentials-a745d6d8-6269-4e4a-a47f-690242882e2b.config -2026-09-27T05:28:45.9484129Z [command]/usr/bin/git config --local --unset includeif.gitdir:/github/workspace/.git.path \/github\/runner_temp\/git\-credentials\-a745d6d8\-6269\-4e4a\-a47f\-690242882e2b\.config -2026-09-27T05:28:45.9513943Z [command]/usr/bin/git config --local --get-all includeif.gitdir:/github/workspace/.git/worktrees/*.path -2026-09-27T05:28:45.9535978Z /github/runner_temp/git-credentials-a745d6d8-6269-4e4a-a47f-690242882e2b.config -2026-09-27T05:28:45.9543462Z [command]/usr/bin/git config --local --unset includeif.gitdir:/github/workspace/.git/worktrees/*.path \/github\/runner_temp\/git\-credentials\-a745d6d8\-6269\-4e4a\-a47f\-690242882e2b\.config -2026-09-27T05:28:45.9574377Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url -2026-09-27T05:28:45.9751187Z Removing credentials config '/home/runner/work/_temp/git-credentials-a745d6d8-6269-4e4a-a47f-690242882e2b.config' -2026-09-27T05:28:45.9761240Z ##[endgroup] -2026-09-27T05:28:45.9947648Z ##[group]Run # Every diff-based gate must compare the same checked-out tree. -2026-09-27T05:28:45.9948265Z # Every diff-based gate must compare the same checked-out tree. -2026-09-27T05:28:45.9948720Z # PR event bases can predate the main parent of the actual merge. -2026-09-27T05:28:45.9949069Z BASE_SHA="" -2026-09-27T05:28:45.9949347Z HEAD_SHA="$(git rev-parse --verify HEAD)" -2026-09-27T05:28:45.9949694Z if [[ "$CI_EVENT_NAME" == "pull_request" ]]; then -2026-09-27T05:28:45.9950071Z  MERGED_HEAD_SHA="$(git rev-parse --verify 'HEAD^2')" -2026-09-27T05:28:45.9950475Z  if [[ -z "$PR_HEAD_SHA" || "$MERGED_HEAD_SHA" != "$PR_HEAD_SHA" ]]; then -2026-09-27T05:28:45.9950953Z  echo "CI comparison requires the merge of the requested PR head" >&2 -2026-09-27T05:28:45.9951320Z  exit 1 -2026-09-27T05:28:45.9951532Z  fi -2026-09-27T05:28:45.9951824Z  BASE_SHA="$(git rev-parse --verify 'HEAD^1')" -2026-09-27T05:28:45.9952208Z elif [[ "$CI_EVENT_NAME" == "push" && ! "$PUSH_BASE_SHA" =~ ^0+$ ]]; then -2026-09-27T05:28:45.9952578Z  BASE_SHA="$PUSH_BASE_SHA" -2026-09-27T05:28:45.9952821Z fi -2026-09-27T05:28:45.9953112Z printf 'base=%s\nhead=%s\n' "$BASE_SHA" "$HEAD_SHA" >> "$GITHUB_OUTPUT" -2026-09-27T05:28:46.0159415Z shell: /usr/bin/bash -e {0} -2026-09-27T05:28:46.0159711Z env: -2026-09-27T05:28:46.0159935Z CI_EVENT_NAME: pull_request -2026-09-27T05:28:46.0160259Z PUSH_BASE_SHA: fbe79bb310b1ec5c79b05d515dd19ad62106fd9e -2026-09-27T05:28:46.0160621Z PR_HEAD_SHA: 585a1e3754ed10bf2ed304736b5fbbd7d8780ea2 -2026-09-27T05:28:46.0160912Z ##[endgroup] -2026-09-27T05:28:46.0349215Z ##[group]Run # Dispatches, initial pushes and unavailable history select every surface. -2026-09-27T05:28:46.0349801Z # Dispatches, initial pushes and unavailable history select every surface. -2026-09-27T05:28:46.0350273Z if [[ -z "$BASE_SHA" ]] || ! git cat-file -e "${BASE_SHA}^{commit}"; then -2026-09-27T05:28:46.0350699Z  node scripts/ci-test-plan.mjs --full >> "$GITHUB_OUTPUT" -2026-09-27T05:28:46.0351012Z else -2026-09-27T05:28:46.0351378Z  node scripts/ci-test-plan.mjs --base "$BASE_SHA" --head "$HEAD_SHA" >> "$GITHUB_OUTPUT" -2026-09-27T05:28:46.0351764Z fi -2026-09-27T05:28:46.0387625Z shell: /usr/bin/bash -e {0} -2026-09-27T05:28:46.0387895Z env: -2026-09-27T05:28:46.0388162Z BASE_SHA: d89ccce01ab631d63de2a8986fc76a1960af8dc2 -2026-09-27T05:28:46.0388514Z HEAD_SHA: 7bfadeae3cbf5c7e2ea368eb3dbdedcb34590feb -2026-09-27T05:28:46.0388827Z ##[endgroup] -2026-09-27T05:28:46.2224120Z CI test plan: apps/desktop/src/main/__tests__/app-shell-session-ui-state.test.ts, apps/desktop/src/renderer/application/contracts/session-catalog/session-catalog-state.ts, packages/core/src/session.ts, packages/runtime-host/src/__tests__/authenticated-websocket.test.ts, packages/runtime-host/src/__tests__/session-catalog-coordinator.test.ts, packages/runtime-host/src/__tests__/session-catalog-protocol.test.ts, packages/runtime-host/src/__tests__/session-catalog-two-client-uds.test.ts, packages/runtime-host/src/client/session-catalog-summary.ts, packages/runtime-host/src/protocol/index.ts, packages/runtime-host/src/protocol/session-catalog.ts, packages/runtime-host/src/server/session-catalog-coordinator.ts, packages/runtime/src/__tests__/runtime-kernel-interaction.test.ts, packages/runtime/src/runtime-kernel.ts, packages/runtime/src/session-manager.ts -2026-09-27T05:28:46.2339988Z ##[group]Run node --test --test-concurrency=1 scripts/ci-test-plan.test.mjs scripts/ci-workflow-policy.test.mjs scripts/verify-windows-harness.test.mjs scripts/run-workspace-tests-parallel.test.mjs scripts/install-electron-with-retry.test.mjs -2026-09-27T05:28:46.2342371Z node --test --test-concurrency=1 scripts/ci-test-plan.test.mjs scripts/ci-workflow-policy.test.mjs scripts/verify-windows-harness.test.mjs scripts/run-workspace-tests-parallel.test.mjs scripts/install-electron-with-retry.test.mjs -2026-09-27T05:28:46.2400140Z shell: /usr/bin/bash -e {0} -2026-09-27T05:28:46.2400562Z ##[endgroup] -2026-09-27T05:28:46.3667450Z TAP version 13 -2026-09-27T05:28:46.4408487Z # Subtest: documentation-only changes select nothing at all -2026-09-27T05:28:46.4409182Z ok 1 - documentation-only changes select nothing at all -2026-09-27T05:28:46.4409621Z --- -2026-09-27T05:28:46.4409924Z duration_ms: 15.279594 -2026-09-27T05:28:46.4410254Z type: 'test' -2026-09-27T05:28:46.4410675Z ... -2026-09-27T05:28:46.4411094Z # Subtest: documentation inside workspaces selects nothing at all -2026-09-27T05:28:46.4411763Z ok 2 - documentation inside workspaces selects nothing at all -2026-09-27T05:28:46.4412235Z --- -2026-09-27T05:28:46.4412514Z duration_ms: 1.199266 -2026-09-27T05:28:46.4412846Z type: 'test' -2026-09-27T05:28:46.4413102Z ... -2026-09-27T05:28:46.4413534Z # Subtest: the READMEs run the website tests that check their opening sentence -2026-09-27T05:28:46.4414204Z ok 3 - the READMEs run the website tests that check their opening sentence -2026-09-27T05:28:46.4414919Z --- -2026-09-27T05:28:46.4415187Z duration_ms: 0.423004 -2026-09-27T05:28:46.4415475Z type: 'test' -2026-09-27T05:28:46.4415717Z ... -2026-09-27T05:28:46.4416106Z # Subtest: mixed documentation and code changes still select code validation -2026-09-27T05:28:46.4416832Z ok 4 - mixed documentation and code changes still select code validation -2026-09-27T05:28:46.4417339Z --- -2026-09-27T05:28:46.4417627Z duration_ms: 0.306877 -2026-09-27T05:28:46.4417923Z type: 'test' -2026-09-27T05:28:46.4418204Z ... -2026-09-27T05:28:46.4418668Z # Subtest: documentation with a dedicated contract still selects that contract -2026-09-27T05:28:46.4419432Z ok 5 - documentation with a dedicated contract still selects that contract -2026-09-27T05:28:46.4419961Z --- -2026-09-27T05:28:46.4420234Z duration_ms: 0.31314 -2026-09-27T05:28:46.4420566Z type: 'test' -2026-09-27T05:28:46.4420845Z ... -2026-09-27T05:28:46.4421334Z # Subtest: DeepSeek Harness toolchain inputs rebuild its pinned fingerprint -2026-09-27T05:28:46.4424634Z ok 6 - DeepSeek Harness toolchain inputs rebuild its pinned fingerprint -2026-09-27T05:28:46.4425213Z --- -2026-09-27T05:28:46.4425490Z duration_ms: 0.197845 -2026-09-27T05:28:46.4425805Z type: 'test' -2026-09-27T05:28:46.4426079Z ... -2026-09-27T05:28:46.4426965Z # Subtest: changed files are derived from the PR merge base -2026-09-27T05:28:46.4427535Z ok 7 - changed files are derived from the PR merge base -2026-09-27T05:28:46.4427932Z --- -2026-09-27T05:28:46.4428192Z duration_ms: 0.315135 -2026-09-27T05:28:46.4428452Z type: 'test' -2026-09-27T05:28:46.4429435Z ... -2026-09-27T05:28:46.4429795Z # Subtest: type changes remain in the PR-owned delta -2026-09-27T05:28:46.4430283Z ok 8 - type changes remain in the PR-owned delta -2026-09-27T05:28:46.4430682Z --- -2026-09-27T05:28:46.4430941Z duration_ms: 0.218254 -2026-09-27T05:28:46.4431253Z type: 'test' -2026-09-27T05:28:46.4431529Z ... -2026-09-27T05:28:46.4433066Z # Subtest: the Astryx inventory can run without selecting the code suite -2026-09-27T05:28:46.4434138Z ok 9 - the Astryx inventory can run without selecting the code suite -2026-09-27T05:28:46.4434662Z --- -2026-09-27T05:28:46.4434941Z duration_ms: 0.316605 -2026-09-27T05:28:46.4435333Z type: 'test' -2026-09-27T05:28:46.4435718Z ... -2026-09-27T05:28:46.4436087Z # Subtest: desktop renderer changes retain Electron and Storybook coverage -2026-09-27T05:28:46.4436912Z ok 10 - desktop renderer changes retain Electron and Storybook coverage -2026-09-27T05:28:46.4437249Z --- -2026-09-27T05:28:46.4437448Z duration_ms: 0.449066 -2026-09-27T05:28:46.4437659Z type: 'test' -2026-09-27T05:28:46.4437858Z ... -2026-09-27T05:28:46.4438176Z # Subtest: Storybook catalog changes avoid real-window E2E and workspace tests -2026-09-27T05:28:46.4438725Z ok 11 - Storybook catalog changes avoid real-window E2E and workspace tests -2026-09-27T05:28:46.4439281Z --- -2026-09-27T05:28:46.4439539Z duration_ms: 0.162497 -2026-09-27T05:28:46.4439802Z type: 'test' -2026-09-27T05:28:46.4439990Z ... -2026-09-27T05:28:46.4440293Z # Subtest: AX audit contract test edits avoid the Storybook browser pipeline -2026-09-27T05:28:46.4440717Z ok 12 - AX audit contract test edits avoid the Storybook browser pipeline -2026-09-27T05:28:46.4441087Z --- -2026-09-27T05:28:46.4441347Z duration_ms: 0.120949 -2026-09-27T05:28:46.4441614Z type: 'test' -2026-09-27T05:28:46.4441876Z ... -2026-09-27T05:28:46.4442147Z # Subtest: runtime changes retain the dedicated Runtime Host lane -2026-09-27T05:28:46.4442537Z ok 13 - runtime changes retain the dedicated Runtime Host lane -2026-09-27T05:28:46.4442831Z --- -2026-09-27T05:28:46.4443015Z duration_ms: 0.081565 -2026-09-27T05:28:46.4443327Z type: 'test' -2026-09-27T05:28:46.4443579Z ... -2026-09-27T05:28:46.4444015Z # Subtest: CLI release inputs select installed-package validation -2026-09-27T05:28:46.4444578Z ok 14 - CLI release inputs select installed-package validation -2026-09-27T05:28:46.4445070Z --- -2026-09-27T05:28:46.4445361Z duration_ms: 0.056555 -2026-09-27T05:28:46.4445651Z type: 'test' -2026-09-27T05:28:46.4445896Z ... -2026-09-27T05:28:46.4459094Z # Subtest: release metadata selects only the gate that consumes it -2026-09-27T05:28:46.4459715Z ok 15 - release metadata selects only the gate that consumes it -2026-09-27T05:28:46.4460136Z --- -2026-09-27T05:28:46.4460323Z duration_ms: 0.078324 -2026-09-27T05:28:46.4460623Z type: 'test' -2026-09-27T05:28:46.4460881Z ... -2026-09-27T05:28:46.4461211Z # Subtest: source legal authority and generated provenance select the ASF source gate -2026-09-27T05:28:46.4461947Z ok 16 - source legal authority and generated provenance select the ASF source gate -2026-09-27T05:28:46.4464796Z --- -2026-09-27T05:28:46.4465223Z duration_ms: 0.124386 -2026-09-27T05:28:46.4465569Z type: 'test' -2026-09-27T05:28:46.4465839Z ... -2026-09-27T05:28:46.4466267Z # Subtest: release authority changes select their dedicated contract gate -2026-09-27T05:28:46.4466957Z ok 17 - release authority changes select their dedicated contract gate -2026-09-27T05:28:46.4467448Z --- -2026-09-27T05:28:46.4467711Z duration_ms: 0.303424 -2026-09-27T05:28:46.4468000Z type: 'test' -2026-09-27T05:28:46.4468273Z ... -2026-09-27T05:28:46.4468689Z # Subtest: every test a gate script runs reaches a lane that runs that gate -2026-09-27T05:28:46.4473297Z ok 18 - every test a gate script runs reaches a lane that runs that gate -2026-09-27T05:28:46.4473937Z --- -2026-09-27T05:28:46.4474357Z duration_ms: 0.752525 -2026-09-27T05:28:46.4474950Z type: 'test' -2026-09-27T05:28:46.4475353Z ... -2026-09-27T05:28:46.4475854Z # Subtest: the planner names no path that no longer exists -2026-09-27T05:28:46.4476553Z ok 19 - the planner names no path that no longer exists -2026-09-27T05:28:46.4477203Z --- -2026-09-27T05:28:46.4477600Z duration_ms: 6.613191 -2026-09-27T05:28:46.4478043Z type: 'test' -2026-09-27T05:28:46.4478516Z ... -2026-09-27T05:28:46.4480048Z # Subtest: Product Nightly authority changes select the release contract gate -2026-09-27T05:28:46.4481261Z ok 20 - Product Nightly authority changes select the release contract gate -2026-09-27T05:28:46.4495577Z --- -2026-09-27T05:28:46.4496013Z duration_ms: 0.241108 -2026-09-27T05:28:46.4496486Z type: 'test' -2026-09-27T05:28:46.4496898Z ... -2026-09-27T05:28:46.4497446Z # Subtest: both committed third-party notices reach the release gate -2026-09-27T05:28:46.4498263Z ok 21 - both committed third-party notices reach the release gate -2026-09-27T05:28:46.4499100Z --- -2026-09-27T05:28:46.4499500Z duration_ms: 0.146726 -2026-09-27T05:28:46.4500106Z type: 'test' -2026-09-27T05:28:46.4500544Z ... -2026-09-27T05:28:46.4501110Z # Subtest: the notice regression test selects the release gate alone -2026-09-27T05:28:46.4501917Z ok 22 - the notice regression test selects the release gate alone -2026-09-27T05:28:46.4502522Z --- -2026-09-27T05:28:46.4502884Z duration_ms: 0.080242 -2026-09-27T05:28:46.4503290Z type: 'test' -2026-09-27T05:28:46.4503745Z ... -2026-09-27T05:28:46.4504309Z # Subtest: ASF source authority changes select their dedicated gate -2026-09-27T05:28:46.4505368Z ok 23 - ASF source authority changes select their dedicated gate -2026-09-27T05:28:46.4506021Z --- -2026-09-27T05:28:46.4506442Z duration_ms: 0.170857 -2026-09-27T05:28:46.4506886Z type: 'test' -2026-09-27T05:28:46.4507294Z ... -2026-09-27T05:28:46.4507836Z # Subtest: every script that drives the Electron tier selects it -2026-09-27T05:28:46.4508606Z ok 24 - every script that drives the Electron tier selects it -2026-09-27T05:28:46.4509225Z --- -2026-09-27T05:28:46.4509640Z duration_ms: 0.192547 -2026-09-27T05:28:46.4510094Z type: 'test' -2026-09-27T05:28:46.4510505Z ... -2026-09-27T05:28:46.4511113Z # Subtest: shared CLI validation changes select installed-package validation -2026-09-27T05:28:46.4512018Z ok 25 - shared CLI validation changes select installed-package validation -2026-09-27T05:28:46.4512686Z --- -2026-09-27T05:28:46.4513083Z duration_ms: 0.089495 -2026-09-27T05:28:46.4513534Z type: 'test' -2026-09-27T05:28:46.4513960Z ... -2026-09-27T05:28:46.4514667Z # Subtest: desktop-only changes skip installed-package validation -2026-09-27T05:28:46.4515367Z ok 26 - desktop-only changes skip installed-package validation -2026-09-27T05:28:46.4515739Z --- -2026-09-27T05:28:46.4515994Z duration_ms: 0.061353 -2026-09-27T05:28:46.4516277Z type: 'test' -2026-09-27T05:28:46.4516535Z ... -2026-09-27T05:28:46.4516864Z # Subtest: full selection covers every live surface -2026-09-27T05:28:46.4517263Z ok 27 - full selection covers every live surface -2026-09-27T05:28:46.4517594Z --- -2026-09-27T05:28:46.4517852Z duration_ms: 0.091968 -2026-09-27T05:28:46.4518136Z type: 'test' -2026-09-27T05:28:46.4519026Z ... -2026-09-27T05:28:46.4519516Z # Subtest: unknown top-level code fails safe to full selection -2026-09-27T05:28:46.4520171Z ok 28 - unknown top-level code fails safe to full selection -2026-09-27T05:28:46.4520992Z --- -2026-09-27T05:28:46.4521332Z duration_ms: 0.071014 -2026-09-27T05:28:46.4521647Z type: 'test' -2026-09-27T05:28:46.4521931Z ... -2026-09-27T05:28:46.4522373Z # Subtest: a Rust crate with its own admission lane selects no JavaScript surface -2026-09-27T05:28:46.4522996Z ok 29 - a Rust crate with its own admission lane selects no JavaScript surface -2026-09-27T05:28:46.4523523Z --- -2026-09-27T05:28:46.4523776Z duration_ms: 0.099717 -2026-09-27T05:28:46.4524067Z type: 'test' -2026-09-27T05:28:46.4524322Z ... -2026-09-27T05:28:46.4524951Z # Subtest: the direct-peer crate and its lint policy select CLI packaging alone -2026-09-27T05:28:46.4525623Z ok 30 - the direct-peer crate and its lint policy select CLI packaging alone -2026-09-27T05:28:46.4526100Z --- -2026-09-27T05:28:46.4526352Z duration_ms: 0.131738 -2026-09-27T05:28:46.4526640Z type: 'test' -2026-09-27T05:28:46.4526913Z ... -2026-09-27T05:28:46.4527332Z # Subtest: a native root without an admission lane still fails safe to full -2026-09-27T05:28:46.4528006Z ok 31 - a native root without an admission lane still fails safe to full -2026-09-27T05:28:46.4528801Z --- -2026-09-27T05:28:46.4529083Z duration_ms: 0.08454 -2026-09-27T05:28:46.4529404Z type: 'test' -2026-09-27T05:28:46.4529693Z ... -2026-09-27T05:28:46.4530090Z # Subtest: branch protection reaches the suite that parses it -2026-09-27T05:28:46.4530711Z ok 32 - branch protection reaches the suite that parses it -2026-09-27T05:28:46.4531189Z --- -2026-09-27T05:28:46.4531472Z duration_ms: 0.094198 -2026-09-27T05:28:46.4531802Z type: 'test' -2026-09-27T05:28:46.4532187Z ... -2026-09-27T05:28:46.4532677Z # Subtest: a dependency patch keeps the full suite until a consumer map exists -2026-09-27T05:28:46.4533463Z ok 33 - a dependency patch keeps the full suite until a consumer map exists -2026-09-27T05:28:46.4534018Z --- -2026-09-27T05:28:46.4534306Z duration_ms: 0.075012 -2026-09-27T05:28:46.4534819Z type: 'test' -2026-09-27T05:28:46.4535119Z ... -2026-09-27T05:28:46.4535519Z # Subtest: full-suite authority files select every surface -2026-09-27T05:28:46.4536120Z ok 34 - full-suite authority files select every surface -2026-09-27T05:28:46.4536590Z --- -2026-09-27T05:28:46.4536871Z duration_ms: 0.118551 -2026-09-27T05:28:46.4537210Z type: 'test' -2026-09-27T05:28:46.4537507Z ... -2026-09-27T05:28:46.4538072Z # Subtest: a full suite still selects the icon and toolchain gates only from their own inputs -2026-09-27T05:28:46.4538915Z ok 35 - a full suite still selects the icon and toolchain gates only from their own inputs -2026-09-27T05:28:46.4539503Z --- -2026-09-27T05:28:46.4539763Z duration_ms: 0.153223 -2026-09-27T05:28:46.4540083Z type: 'test' -2026-09-27T05:28:46.4540375Z ... -2026-09-27T05:28:46.4540786Z # Subtest: retiring an operation selects the released forward roll -2026-09-27T05:28:46.4541416Z ok 36 - retiring an operation selects the released forward roll -2026-09-27T05:28:46.4541845Z --- -2026-09-27T05:28:46.4542114Z duration_ms: 0.107637 -2026-09-27T05:28:46.4542471Z type: 'test' -2026-09-27T05:28:46.4542764Z ... -2026-09-27T05:28:46.4543164Z # Subtest: a durable-state decoder selects the released forward roll -2026-09-27T05:28:46.4543873Z ok 37 - a durable-state decoder selects the released forward roll -2026-09-27T05:28:46.4544310Z --- -2026-09-27T05:28:46.4544732Z duration_ms: 0.092778 -2026-09-27T05:28:46.4545026Z type: 'test' -2026-09-27T05:28:46.4545265Z ... -2026-09-27T05:28:46.4545646Z # Subtest: a core durable-state decoder selects the released forward roll -2026-09-27T05:28:46.4546316Z ok 38 - a core durable-state decoder selects the released forward roll -2026-09-27T05:28:46.4546685Z --- -2026-09-27T05:28:46.4546881Z duration_ms: 0.070305 -2026-09-27T05:28:46.4547435Z type: 'test' -2026-09-27T05:28:46.4547705Z ... -2026-09-27T05:28:46.4548088Z # Subtest: ordinary changes do not pay for the released forward roll -2026-09-27T05:28:46.4548532Z ok 39 - ordinary changes do not pay for the released forward roll -2026-09-27T05:28:46.4548854Z --- -2026-09-27T05:28:46.4549096Z duration_ms: 0.063218 -2026-09-27T05:28:46.4549389Z type: 'test' -2026-09-27T05:28:46.4549670Z ... -2026-09-27T05:28:46.4550058Z # Subtest: ordinary product code does not pay for app icon drift -2026-09-27T05:28:46.4550658Z ok 40 - ordinary product code does not pay for app icon drift -2026-09-27T05:28:46.4550964Z --- -2026-09-27T05:28:46.4551153Z duration_ms: 0.181713 -2026-09-27T05:28:46.4551400Z type: 'test' -2026-09-27T05:28:46.4551665Z ... -2026-09-27T05:28:46.8875819Z # Subtest: GitHub output matches the selections consumed by CI -2026-09-27T05:28:46.8905696Z ok 41 - GitHub output matches the selections consumed by CI -2026-09-27T05:28:46.8915272Z --- -2026-09-27T05:28:46.8921191Z duration_ms: 3.232358 -2026-09-27T05:28:46.8945095Z type: 'test' -2026-09-27T05:28:46.8957153Z ... -2026-09-27T05:28:46.8957822Z # Subtest: one unconditional job carries the required context on every pull request -2026-09-27T05:28:46.8958686Z ok 42 - one unconditional job carries the required context on every pull request -2026-09-27T05:28:46.8959289Z --- -2026-09-27T05:28:46.8959640Z duration_ms: 0.755173 -2026-09-27T05:28:46.8960430Z type: 'test' -2026-09-27T05:28:46.8960766Z ... -2026-09-27T05:28:46.8961321Z # Subtest: comparison precedes planning and every later gate uses plan outputs -2026-09-27T05:28:46.8962064Z ok 43 - comparison precedes planning and every later gate uses plan outputs -2026-09-27T05:28:46.8962657Z --- -2026-09-27T05:28:46.8962988Z duration_ms: 0.358025 -2026-09-27T05:28:46.8963372Z type: 'test' -2026-09-27T05:28:46.8963718Z ... -2026-09-27T05:28:46.8964689Z # Subtest: core CI validates pull requests and the resulting main branch state -2026-09-27T05:28:46.8965531Z ok 44 - core CI validates pull requests and the resulting main branch state -2026-09-27T05:28:46.8966128Z --- -2026-09-27T05:28:46.8966475Z duration_ms: 0.208298 -2026-09-27T05:28:46.8966863Z type: 'test' -2026-09-27T05:28:46.8967209Z ... -2026-09-27T05:28:46.8967738Z # Subtest: the Desktop e2e tier reaches its servers through the tested runner -2026-09-27T05:28:46.8968502Z ok 45 - the Desktop e2e tier reaches its servers through the tested runner -2026-09-27T05:28:46.8969082Z --- -2026-09-27T05:28:46.8969411Z duration_ms: 0.216704 -2026-09-27T05:28:46.8969775Z type: 'test' -2026-09-27T05:28:46.8970102Z ... -2026-09-27T05:28:46.8970559Z # Subtest: every main commit keeps a concurrency group of its own -2026-09-27T05:28:46.8971209Z ok 46 - every main commit keeps a concurrency group of its own -2026-09-27T05:28:46.8971712Z --- -2026-09-27T05:28:46.8972069Z duration_ms: 0.258656 -2026-09-27T05:28:46.8972461Z type: 'test' -2026-09-27T05:28:46.8972811Z ... -2026-09-27T05:28:46.8973406Z # Subtest: every core diff gate consumes the shared comparison without resolving another base -2026-09-27T05:28:46.8974343Z ok 47 - every core diff gate consumes the shared comparison without resolving another base -2026-09-27T05:28:46.8975266Z --- -2026-09-27T05:28:46.8975593Z duration_ms: 1.034264 -2026-09-27T05:28:46.9005012Z type: 'test' -2026-09-27T05:28:46.9011250Z ... -2026-09-27T05:28:46.9011855Z # Subtest: core CI uses the Windows inventory package-script authority -2026-09-27T05:28:46.9012621Z ok 48 - core CI uses the Windows inventory package-script authority -2026-09-27T05:28:46.9013219Z --- -2026-09-27T05:28:46.9013601Z duration_ms: 0.184325 -2026-09-27T05:28:46.9014019Z type: 'test' -2026-09-27T05:28:46.9014564Z ... -2026-09-27T05:28:46.9015253Z # Subtest: shared comparison drives every diff gate on refreshed merges, pushes and dispatches -2026-09-27T05:28:46.9016304Z ok 49 - shared comparison drives every diff gate on refreshed merges, pushes and dispatches -2026-09-27T05:28:46.9017016Z --- -2026-09-27T05:28:46.9017371Z duration_ms: 153.041875 -2026-09-27T05:28:46.9017753Z type: 'test' -2026-09-27T05:28:46.9018055Z ... -2026-09-27T05:28:46.9018505Z # Subtest: contract checks run before dependency setup and can fail the job -2026-09-27T05:28:46.9019230Z ok 50 - contract checks run before dependency setup and can fail the job -2026-09-27T05:28:46.9019840Z --- -2026-09-27T05:28:46.9020170Z duration_ms: 0.657889 -2026-09-27T05:28:46.9020573Z type: 'test' -2026-09-27T05:28:46.9020875Z ... -2026-09-27T05:28:46.9021447Z # Subtest: every selection that gates a step needing dependencies selects the install -2026-09-27T05:28:46.9022345Z ok 51 - every selection that gates a step needing dependencies selects the install -2026-09-27T05:28:46.9022987Z --- -2026-09-27T05:28:46.9023330Z duration_ms: 163.56618 -2026-09-27T05:28:46.9023693Z type: 'test' -2026-09-27T05:28:46.9024015Z ... -2026-09-27T05:28:46.9024638Z # Subtest: the app icon gate selects every file its own tests open -2026-09-27T05:28:46.9025360Z ok 52 - the app icon gate selects every file its own tests open -2026-09-27T05:28:46.9025866Z --- -2026-09-27T05:28:46.9026196Z duration_ms: 4.727165 -2026-09-27T05:28:46.9026549Z type: 'test' -2026-09-27T05:28:46.9026879Z ... -2026-09-27T05:28:46.9027309Z # Subtest: core CI gates app icon drift on the artwork surface -2026-09-27T05:28:46.9027960Z ok 53 - core CI gates app icon drift on the artwork surface -2026-09-27T05:28:46.9028470Z --- -2026-09-27T05:28:46.9029139Z duration_ms: 0.220935 -2026-09-27T05:28:46.9029510Z type: 'test' -2026-09-27T05:28:46.9029825Z ... -2026-09-27T05:28:46.9030273Z # Subtest: core CI checks the Astryx inventory for every code change before building -2026-09-27T05:28:46.9030900Z ok 54 - core CI checks the Astryx inventory for every code change before building -2026-09-27T05:28:46.9031348Z --- -2026-09-27T05:28:46.9031659Z duration_ms: 0.193312 -2026-09-27T05:28:46.9032014Z type: 'test' -2026-09-27T05:28:46.9032442Z ... -2026-09-27T05:28:46.9032894Z # Subtest: CI installs dependencies whenever the Astryx surface inventory runs -2026-09-27T05:28:46.9033623Z ok 55 - CI installs dependencies whenever the Astryx surface inventory runs -2026-09-27T05:28:46.9034207Z --- -2026-09-27T05:28:46.9034697Z duration_ms: 0.122759 -2026-09-27T05:28:46.9035008Z type: 'test' -2026-09-27T05:28:46.9035315Z ... -2026-09-27T05:28:46.9035758Z # Subtest: core CI validates affected installed CLI packages on the heavy runner -2026-09-27T05:28:46.9036560Z ok 56 - core CI validates affected installed CLI packages on the heavy runner -2026-09-27T05:28:46.9037169Z --- -2026-09-27T05:28:46.9037522Z duration_ms: 0.106853 -2026-09-27T05:28:46.9037916Z type: 'test' -2026-09-27T05:28:46.9038252Z ... -2026-09-27T05:28:46.9038730Z # Subtest: Rust build caches publish immutable source generations only from the default branch -2026-09-27T05:28:46.9039345Z ok 57 - Rust build caches publish immutable source generations only from the default branch -2026-09-27T05:28:46.9039776Z --- -2026-09-27T05:28:46.9040019Z duration_ms: 2.193135 -2026-09-27T05:28:46.9040281Z type: 'test' -2026-09-27T05:28:46.9040527Z ... -2026-09-27T05:28:46.9040815Z # Subtest: release contracts run against built CLI outputs -2026-09-27T05:28:46.9041206Z ok 58 - release contracts run against built CLI outputs -2026-09-27T05:28:46.9041528Z --- -2026-09-27T05:28:46.9041762Z duration_ms: 0.174638 -2026-09-27T05:28:46.9042016Z type: 'test' -2026-09-27T05:28:46.9042252Z ... -2026-09-27T05:28:46.9042557Z # Subtest: pull request triggers stay on an explicit allowlist -2026-09-27T05:28:46.9042988Z ok 59 - pull request triggers stay on an explicit allowlist -2026-09-27T05:28:46.9043331Z --- -2026-09-27T05:28:46.9043570Z duration_ms: 1.74283 -2026-09-27T05:28:46.9043837Z type: 'test' -2026-09-27T05:28:46.9044089Z ... -2026-09-27T05:28:46.9044734Z # Subtest: every pull request lane holds a scarce runner for the same bounded time -2026-09-27T05:28:46.9045556Z ok 60 - every pull request lane holds a scarce runner for the same bounded time -2026-09-27T05:28:46.9046037Z --- -2026-09-27T05:28:46.9046395Z duration_ms: 3.392535 -2026-09-27T05:28:46.9046772Z type: 'test' -2026-09-27T05:28:46.9047113Z ... -2026-09-27T05:28:46.9048293Z # Subtest: the recovery lane pairs its path filter with a nightly run and a main push -2026-09-27T05:28:46.9049405Z ok 61 - the recovery lane pairs its path filter with a nightly run and a main push -2026-09-27T05:28:46.9049874Z --- -2026-09-27T05:28:46.9050119Z duration_ms: 1.075977 -2026-09-27T05:28:46.9050426Z type: 'test' -2026-09-27T05:28:46.9050709Z ... -2026-09-27T05:28:46.9051021Z # Subtest: no lane asks for the one runner label that queues -2026-09-27T05:28:46.9051696Z ok 62 - no lane asks for the one runner label that queues -2026-09-27T05:28:46.9052055Z --- -2026-09-27T05:28:46.9052312Z duration_ms: 1.439876 -2026-09-27T05:28:46.9052577Z type: 'test' -2026-09-27T05:28:46.9052827Z ... -2026-09-27T05:28:46.9053197Z # Subtest: a lane that filters both triggers filters them on the same paths -2026-09-27T05:28:46.9053680Z ok 63 - a lane that filters both triggers filters them on the same paths -2026-09-27T05:28:46.9054072Z --- -2026-09-27T05:28:46.9054323Z duration_ms: 3.139305 -2026-09-27T05:28:46.9054834Z type: 'test' -2026-09-27T05:28:46.9055096Z ... -2026-09-27T05:28:46.9055563Z # Subtest: installed-package validation discards superseded pull request runs -2026-09-27T05:28:46.9056096Z ok 64 - installed-package validation discards superseded pull request runs -2026-09-27T05:28:46.9056756Z --- -2026-09-27T05:28:46.9056999Z duration_ms: 0.24456 -2026-09-27T05:28:46.9057270Z type: 'test' -2026-09-27T05:28:46.9057519Z ... -2026-09-27T05:28:46.9057917Z # Subtest: the recovery lane keeps every run kind out of one shared concurrency group -2026-09-27T05:28:46.9058475Z ok 65 - the recovery lane keeps every run kind out of one shared concurrency group -2026-09-27T05:28:46.9058885Z --- -2026-09-27T05:28:46.9059136Z duration_ms: 0.18508 -2026-09-27T05:28:46.9059525Z type: 'test' -2026-09-27T05:28:46.9059773Z ... -2026-09-27T05:28:46.9060137Z # Subtest: the recovery lane leaves the suites it executes to the required test lane -2026-09-27T05:28:46.9060676Z ok 66 - the recovery lane leaves the suites it executes to the required test lane -2026-09-27T05:28:46.9061090Z --- -2026-09-27T05:28:46.9061332Z duration_ms: 1.088708 -2026-09-27T05:28:46.9061608Z type: 'test' -2026-09-27T05:28:46.9061858Z ... -2026-09-27T05:28:46.9062195Z # Subtest: the recovery lane filter follows the postinstall launcher chain -2026-09-27T05:28:46.9062688Z ok 67 - the recovery lane filter follows the postinstall launcher chain -2026-09-27T05:28:46.9063064Z --- -2026-09-27T05:28:46.9063307Z duration_ms: 0.536624 -2026-09-27T05:28:46.9063588Z type: 'test' -2026-09-27T05:28:46.9063830Z ... -2026-09-27T05:28:46.9064182Z # Subtest: the recovery lane filters pull requests by what only Windows can prove -2026-09-27T05:28:46.9065009Z ok 68 - the recovery lane filters pull requests by what only Windows can prove -2026-09-27T05:28:46.9065535Z --- -2026-09-27T05:28:46.9065804Z duration_ms: 0.274574 -2026-09-27T05:28:46.9066095Z type: 'test' -2026-09-27T05:28:46.9066364Z ... -2026-09-27T05:28:46.9066791Z # Subtest: a filtered pull-request lane can still run when its filter misses -2026-09-27T05:28:46.9067254Z ok 69 - a filtered pull-request lane can still run when its filter misses -2026-09-27T05:28:46.9067589Z --- -2026-09-27T05:28:46.9067778Z duration_ms: 2.341432 -2026-09-27T05:28:46.9067994Z type: 'test' -2026-09-27T05:28:46.9068194Z ... -2026-09-27T05:28:46.9068494Z # Subtest: the packaged Windows gate triggers on release orchestration changes -2026-09-27T05:28:46.9068956Z ok 70 - the packaged Windows gate triggers on release orchestration changes -2026-09-27T05:28:46.9069304Z --- -2026-09-27T05:28:46.9069532Z duration_ms: 0.146137 -2026-09-27T05:28:46.9069747Z type: 'test' -2026-09-27T05:28:46.9069941Z ... -2026-09-27T05:28:46.9070228Z # Subtest: the packaged Windows gate never spells the installer it built -2026-09-27T05:28:46.9070657Z ok 71 - the packaged Windows gate never spells the installer it built -2026-09-27T05:28:46.9070980Z --- -2026-09-27T05:28:46.9071172Z duration_ms: 0.122839 -2026-09-27T05:28:46.9071400Z type: 'test' -2026-09-27T05:28:46.9071599Z ... -2026-09-27T05:28:46.9071909Z # Subtest: the packaged Windows gate workflow is itself a release-contract input -2026-09-27T05:28:46.9072394Z ok 72 - the packaged Windows gate workflow is itself a release-contract input -2026-09-27T05:28:46.9072744Z --- -2026-09-27T05:28:46.9072934Z duration_ms: 0.512336 -2026-09-27T05:28:46.9073151Z type: 'test' -2026-09-27T05:28:46.9073344Z ... -2026-09-27T05:28:46.9073662Z # Subtest: the packaged Windows gate triggers on the worker copy step it cannot import -2026-09-27T05:28:46.9074175Z ok 73 - the packaged Windows gate triggers on the worker copy step it cannot import -2026-09-27T05:28:46.9074623Z --- -2026-09-27T05:28:46.9074810Z duration_ms: 0.118371 -2026-09-27T05:28:46.9075073Z type: 'test' -2026-09-27T05:28:46.9075272Z ... -2026-09-27T05:28:46.9075537Z # Subtest: the packaged Linux gate verifies under a virtual display -2026-09-27T05:28:46.9075934Z ok 74 - the packaged Linux gate verifies under a virtual display -2026-09-27T05:28:46.9076239Z --- -2026-09-27T05:28:46.9076427Z duration_ms: 0.245299 -2026-09-27T05:28:46.9076637Z type: 'test' -2026-09-27T05:28:46.9076828Z ... -2026-09-27T05:28:46.9077140Z # Subtest: pull-request and release lanes share the packaged sandbox lifecycle verifier -2026-09-27T05:28:46.9077772Z ok 75 - pull-request and release lanes share the packaged sandbox lifecycle verifier -2026-09-27T05:28:46.9078125Z --- -2026-09-27T05:28:46.9078315Z duration_ms: 0.312005 -2026-09-27T05:28:46.9078531Z type: 'test' -2026-09-27T05:28:46.9078719Z ... -2026-09-27T05:28:46.9078975Z # Subtest: the Gitoxide gate owns repository admission changes -2026-09-27T05:28:46.9079347Z ok 76 - the Gitoxide gate owns repository admission changes -2026-09-27T05:28:46.9079639Z --- -2026-09-27T05:28:46.9079891Z duration_ms: 0.099708 -2026-09-27T05:28:46.9080096Z type: 'test' -2026-09-27T05:28:46.9080283Z ... -2026-09-27T05:28:46.9080582Z # Subtest: specialized platform workflows stay reachable without pull requests -2026-09-27T05:28:46.9081092Z ok 77 - specialized platform workflows stay reachable without pull requests -2026-09-27T05:28:46.9081437Z --- -2026-09-27T05:28:46.9081628Z duration_ms: 0.235431 -2026-09-27T05:28:46.9081837Z type: 'test' -2026-09-27T05:28:46.9082026Z ... -2026-09-27T05:28:46.9082332Z # Subtest: Windows recovery executes the exact managed dependency ADS regressions -2026-09-27T05:28:46.9082810Z ok 78 - Windows recovery executes the exact managed dependency ADS regressions -2026-09-27T05:28:46.9083155Z --- -2026-09-27T05:28:46.9083338Z duration_ms: 0.147157 -2026-09-27T05:28:46.9083548Z type: 'test' -2026-09-27T05:28:46.9083737Z ... -2026-09-27T05:28:46.9084025Z # Subtest: Windows recovery executes the root initialization replacement race -2026-09-27T05:28:46.9084573Z ok 79 - Windows recovery executes the root initialization replacement race -2026-09-27T05:28:46.9084921Z --- -2026-09-27T05:28:46.9085105Z duration_ms: 0.143169 -2026-09-27T05:28:46.9085315Z type: 'test' -2026-09-27T05:28:46.9085506Z ... -2026-09-27T05:28:46.9085777Z # Subtest: Windows recovery executes the complete Skill catalog suite -2026-09-27T05:28:46.9086179Z ok 80 - Windows recovery executes the complete Skill catalog suite -2026-09-27T05:28:46.9086540Z --- -2026-09-27T05:28:46.9086748Z duration_ms: 0.14931 -2026-09-27T05:28:46.9086966Z type: 'test' -2026-09-27T05:28:46.9087156Z ... -2026-09-27T05:28:46.9087441Z # Subtest: workflows never persist the job credential into the checkout -2026-09-27T05:28:46.9087867Z ok 81 - workflows never persist the job credential into the checkout -2026-09-27T05:28:46.9088190Z --- -2026-09-27T05:28:46.9088373Z duration_ms: 2.029141 -2026-09-27T05:28:46.9088585Z type: 'test' -2026-09-27T05:28:46.9088774Z ... -2026-09-27T05:28:46.9089067Z # Subtest: a pull_request_target checkout is pinned to the trusted base commit -2026-09-27T05:28:46.9089508Z ok 82 - a pull_request_target checkout is pinned to the trusted base commit -2026-09-27T05:28:46.9089837Z --- -2026-09-27T05:28:46.9090021Z duration_ms: 1.69275 -2026-09-27T05:28:46.9090229Z type: 'test' -2026-09-27T05:28:46.9090425Z ... -2026-09-27T05:28:46.9090699Z # Subtest: core CI runs the live Eval proxy lifecycle when Eval is selected -2026-09-27T05:28:46.9091114Z ok 83 - core CI runs the live Eval proxy lifecycle when Eval is selected -2026-09-27T05:28:46.9091434Z --- -2026-09-27T05:28:46.9091626Z duration_ms: 0.265262 -2026-09-27T05:28:46.9091835Z type: 'test' -2026-09-27T05:28:46.9092117Z ... -2026-09-27T05:28:46.9092437Z # Subtest: core CI rebuilds the DeepSeek Harness tree before accepting a new fingerprint -2026-09-27T05:28:46.9092948Z ok 84 - core CI rebuilds the DeepSeek Harness tree before accepting a new fingerprint -2026-09-27T05:28:46.9093319Z --- -2026-09-27T05:28:46.9093510Z duration_ms: 0.159649 -2026-09-27T05:28:46.9093723Z type: 'test' -2026-09-27T05:28:46.9093907Z ... -2026-09-27T05:28:46.9094201Z # Subtest: everything that runs before dependency setup imports only node builtins -2026-09-27T05:28:46.9094751Z ok 85 - everything that runs before dependency setup imports only node builtins -2026-09-27T05:28:46.9095090Z --- -2026-09-27T05:28:46.9095271Z duration_ms: 3.234721 -2026-09-27T05:28:46.9095478Z type: 'test' -2026-09-27T05:28:46.9095663Z ... -2026-09-27T05:28:46.9096000Z # Subtest: every CI run validates the real committed source archive without dependency installation -2026-09-27T05:28:46.9096677Z ok 86 - every CI run validates the real committed source archive without dependency installation -2026-09-27T05:28:46.9097073Z --- -2026-09-27T05:28:46.9097254Z duration_ms: 0.201544 -2026-09-27T05:28:46.9097461Z type: 'test' -2026-09-27T05:28:46.9097647Z ... -2026-09-27T05:28:46.9578312Z # Subtest: waits through a sustained transient Electron download outage -2026-09-27T05:28:46.9598246Z ok 87 - waits through a sustained transient Electron download outage -2026-09-27T05:28:46.9611633Z --- -2026-09-27T05:28:46.9612231Z duration_ms: 1.498983 -2026-09-27T05:28:46.9612659Z type: 'test' -2026-09-27T05:28:46.9613094Z ... -2026-09-27T05:28:47.0125046Z # Subtest: the heaviest workspace is scheduled first -2026-09-27T05:28:47.0126145Z ok 88 - the heaviest workspace is scheduled first -2026-09-27T05:28:47.0126879Z --- -2026-09-27T05:28:47.0127707Z duration_ms: 1.312756 -2026-09-27T05:28:47.0128177Z type: 'test' -2026-09-27T05:28:47.0128557Z ... -2026-09-27T05:28:47.0138177Z # Subtest: a single workspace is never weighed -2026-09-27T05:28:47.0139113Z ok 89 - a single workspace is never weighed -2026-09-27T05:28:47.0139731Z --- -2026-09-27T05:28:47.0140161Z duration_ms: 0.16281 -2026-09-27T05:28:47.0140607Z type: 'test' -2026-09-27T05:28:47.0140994Z ... -2026-09-27T05:28:47.0144341Z # Subtest: equally weighted workspaces keep their declared order -2026-09-27T05:28:47.0145437Z ok 90 - equally weighted workspaces keep their declared order -2026-09-27T05:28:47.0145950Z --- -2026-09-27T05:28:47.0153758Z duration_ms: 0.10782 -2026-09-27T05:28:47.0154559Z type: 'test' -2026-09-27T05:28:47.0155001Z ... -2026-09-27T05:28:47.0155632Z # Subtest: build output and dependencies do not count toward a workspace weight -2026-09-27T05:28:47.0156469Z ok 91 - build output and dependencies do not count toward a workspace weight -2026-09-27T05:28:47.0157326Z --- -2026-09-27T05:28:47.0157740Z duration_ms: 1.940004 -2026-09-27T05:28:47.0158165Z type: 'test' -2026-09-27T05:28:47.0158572Z ... -2026-09-27T05:28:47.0159129Z # Subtest: an unreadable workspace weighs nothing instead of failing the run -2026-09-27T05:28:47.0159913Z ok 92 - an unreadable workspace weighs nothing instead of failing the run -2026-09-27T05:28:47.0160517Z --- -2026-09-27T05:28:47.0160893Z duration_ms: 0.174105 -2026-09-27T05:28:47.0161335Z type: 'test' -2026-09-27T05:28:47.0161729Z ... -2026-09-27T05:28:47.0162128Z # [ws-heavy] start: npm run test:dist -2026-09-27T05:28:47.0162687Z # [ws-heavy] passed -2026-09-27T05:28:47.0175689Z # [ws-light] start: npm run test:dist -2026-09-27T05:28:47.0179337Z # [ws-light] passed -2026-09-27T05:28:47.0190488Z # Subtest: the run queues the heaviest workspace ahead of the lighter one -2026-09-27T05:28:47.0191373Z ok 93 - the run queues the heaviest workspace ahead of the lighter one -2026-09-27T05:28:47.0191992Z --- -2026-09-27T05:28:47.0192370Z duration_ms: 10.234986 -2026-09-27T05:28:47.0192791Z type: 'test' -2026-09-27T05:28:47.0193168Z ... -2026-09-27T05:28:47.2348912Z # Subtest: pins every Phase 4 adversarial category to executable evidence -2026-09-27T05:28:47.2350105Z ok 94 - pins every Phase 4 adversarial category to executable evidence -2026-09-27T05:28:47.2350785Z --- -2026-09-27T05:28:47.2351571Z duration_ms: 28.592802 -2026-09-27T05:28:47.2352049Z type: 'test' -2026-09-27T05:28:47.2352399Z ... -2026-09-27T05:28:47.2353011Z # Subtest: scopes rollback registration reads and deletion to the fixture uninstaller -2026-09-27T05:28:47.2353961Z ok 95 - scopes rollback registration reads and deletion to the fixture uninstaller -2026-09-27T05:28:47.2354749Z --- -2026-09-27T05:28:47.2355065Z duration_ms: 0.498978 -2026-09-27T05:28:47.2355429Z type: 'test' -2026-09-27T05:28:47.2355733Z ... -2026-09-27T05:28:47.2356109Z # Subtest: rendererLayoutMatchesViewport -2026-09-27T05:28:47.2356749Z # Subtest: accepts a renderer tree that covers the maximized viewport -2026-09-27T05:28:47.2357465Z ok 1 - accepts a renderer tree that covers the maximized viewport -2026-09-27T05:28:47.2358304Z --- -2026-09-27T05:28:47.2358601Z duration_ms: 0.278235 -2026-09-27T05:28:47.2358940Z type: 'test' -2026-09-27T05:28:47.2359228Z ... -2026-09-27T05:28:47.2359675Z # Subtest: rejects the stale-height band from the maximize regression -2026-09-27T05:28:47.2360357Z ok 2 - rejects the stale-height band from the maximize regression -2026-09-27T05:28:47.2360830Z --- -2026-09-27T05:28:47.2361102Z duration_ms: 0.130526 -2026-09-27T05:28:47.2361571Z type: 'test' -2026-09-27T05:28:47.2361859Z ... -2026-09-27T05:28:47.2362382Z # Subtest: matches the renderer viewport to native client pixels at the reported scale -2026-09-27T05:28:47.2363218Z ok 3 - matches the renderer viewport to native client pixels at the reported scale -2026-09-27T05:28:47.2363813Z --- -2026-09-27T05:28:47.2364102Z duration_ms: 0.158112 -2026-09-27T05:28:47.2364561Z type: 'test' -2026-09-27T05:28:47.2364862Z ... -2026-09-27T05:28:47.2365317Z # Subtest: accepts proportional native dimensions independently of reported DPR -2026-09-27T05:28:47.2365964Z ok 4 - accepts proportional native dimensions independently of reported DPR -2026-09-27T05:28:47.2366483Z --- -2026-09-27T05:28:47.2366746Z duration_ms: 0.105146 -2026-09-27T05:28:47.2367024Z type: 'test' -2026-09-27T05:28:47.2367284Z ... -2026-09-27T05:28:47.2367696Z # Subtest: rejects a renderer viewport that is stale against the native client -2026-09-27T05:28:47.2368359Z ok 5 - rejects a renderer viewport that is stale against the native client -2026-09-27T05:28:47.2368859Z --- -2026-09-27T05:28:47.2369126Z duration_ms: 0.150787 -2026-09-27T05:28:47.2369455Z type: 'test' -2026-09-27T05:28:47.2369722Z ... -2026-09-27T05:28:47.2369969Z 1..5 -2026-09-27T05:28:47.2370260Z ok 96 - rendererLayoutMatchesViewport -2026-09-27T05:28:47.2370615Z --- -2026-09-27T05:28:47.2370879Z duration_ms: 1.298248 -2026-09-27T05:28:47.2371183Z type: 'suite' -2026-09-27T05:28:47.2371468Z ... -2026-09-27T05:28:47.2371932Z # Subtest: runs packaged sandbox lifecycle evidence against the exact shipped broker -2026-09-27T05:28:47.2372654Z ok 97 - runs packaged sandbox lifecycle evidence against the exact shipped broker -2026-09-27T05:28:47.2373162Z --- -2026-09-27T05:28:47.2373441Z duration_ms: 0.511887 -2026-09-27T05:28:47.2373747Z type: 'test' -2026-09-27T05:28:47.2374012Z ... -2026-09-27T05:28:47.2405619Z # Subtest: uses the product SemVer contract throughout Windows release verification -2026-09-27T05:28:47.2406471Z ok 98 - uses the product SemVer contract throughout Windows release verification -2026-09-27T05:28:47.2407044Z --- -2026-09-27T05:28:47.2407331Z duration_ms: 1.013768 -2026-09-27T05:28:47.2407663Z type: 'test' -2026-09-27T05:28:47.2407947Z ... -2026-09-27T05:28:47.2408452Z # Subtest: reuses the packaged renderer smoke without widening rollback verification -2026-09-27T05:28:47.2409274Z ok 99 - reuses the packaged renderer smoke without widening rollback verification -2026-09-27T05:28:47.2409844Z --- -2026-09-27T05:28:47.2410124Z duration_ms: 6.315393 -2026-09-27T05:28:47.2410416Z type: 'test' -2026-09-27T05:28:47.2410675Z ... -2026-09-27T05:28:47.2620215Z # Subtest: directoryTreeManifest -2026-09-27T05:28:47.2620979Z # Subtest: returns sorted POSIX-relative paths with sha256 content hashes -2026-09-27T05:28:47.2621741Z ok 1 - returns sorted POSIX-relative paths with sha256 content hashes -2026-09-27T05:28:47.2622418Z --- -2026-09-27T05:28:47.2622907Z duration_ms: 21.237835 -2026-09-27T05:28:47.2623319Z type: 'test' -2026-09-27T05:28:47.2623728Z ... -2026-09-27T05:28:47.2636078Z # Subtest: records empty directories so their loss is visible -2026-09-27T05:28:47.2636713Z ok 2 - records empty directories so their loss is visible -2026-09-27T05:28:47.2637067Z --- -2026-09-27T05:28:47.2637311Z duration_ms: 1.812112 -2026-09-27T05:28:47.2637624Z type: 'test' -2026-09-27T05:28:47.2637848Z ... -2026-09-27T05:28:47.2662684Z # Subtest: hashes content, not names: same names different bytes differ -2026-09-27T05:28:47.2663342Z ok 3 - hashes content, not names: same names different bytes differ -2026-09-27T05:28:47.2663767Z --- -2026-09-27T05:28:47.2664066Z duration_ms: 2.702033 -2026-09-27T05:28:47.2664305Z type: 'test' -2026-09-27T05:28:47.2664736Z ... -2026-09-27T05:28:47.2687894Z # Subtest: throws on non-regular entries instead of skipping them -2026-09-27T05:28:47.2688973Z ok 4 - throws on non-regular entries instead of skipping them -2026-09-27T05:28:47.2689666Z --- -2026-09-27T05:28:47.2690140Z duration_ms: 1.373296 -2026-09-27T05:28:47.2690605Z type: 'test' -2026-09-27T05:28:47.2691024Z ... -2026-09-27T05:28:47.2691407Z 1..4 -2026-09-27T05:28:47.2691811Z ok 100 - directoryTreeManifest -2026-09-27T05:28:47.2692275Z --- -2026-09-27T05:28:47.2692749Z duration_ms: 27.453996 -2026-09-27T05:28:47.2693163Z type: 'suite' -2026-09-27T05:28:47.2693451Z ... -2026-09-27T05:28:47.2721814Z # Subtest: diffTreeManifests -2026-09-27T05:28:47.2722257Z # Subtest: identical manifests diff empty -2026-09-27T05:28:47.2722680Z ok 1 - identical manifests diff empty -2026-09-27T05:28:47.2723036Z --- -2026-09-27T05:28:47.2723344Z duration_ms: 0.276567 -2026-09-27T05:28:47.2723571Z type: 'test' -2026-09-27T05:28:47.2723770Z ... -2026-09-27T05:28:47.2745500Z # Subtest: a lost file is missing -2026-09-27T05:28:47.2746242Z ok 2 - a lost file is missing -2026-09-27T05:28:47.2746568Z --- -2026-09-27T05:28:47.2746820Z duration_ms: 0.107394 -2026-09-27T05:28:47.2747093Z type: 'test' -2026-09-27T05:28:47.2747307Z ... -2026-09-27T05:28:47.2747506Z # Subtest: a new file is extra -2026-09-27T05:28:47.2747754Z ok 3 - a new file is extra -2026-09-27T05:28:47.2747973Z --- -2026-09-27T05:28:47.2748162Z duration_ms: 0.09368 -2026-09-27T05:28:47.2748376Z type: 'test' -2026-09-27T05:28:47.2748573Z ... -2026-09-27T05:28:47.2748822Z # Subtest: different bytes at the same path are changed -2026-09-27T05:28:47.2749169Z ok 4 - different bytes at the same path are changed -2026-09-27T05:28:47.2749441Z --- -2026-09-27T05:28:47.2749629Z duration_ms: 0.079992 -2026-09-27T05:28:47.2749903Z type: 'test' -2026-09-27T05:28:47.2750093Z ... -2026-09-27T05:28:47.2750306Z # Subtest: a lost empty directory is missing -2026-09-27T05:28:47.2750598Z ok 5 - a lost empty directory is missing -2026-09-27T05:28:47.2750857Z --- -2026-09-27T05:28:47.2751049Z duration_ms: 0.066005 -2026-09-27T05:28:47.2751275Z type: 'test' -2026-09-27T05:28:47.2751465Z ... -2026-09-27T05:28:47.2751637Z 1..5 -2026-09-27T05:28:47.2751830Z ok 101 - diffTreeManifests -2026-09-27T05:28:47.2752044Z --- -2026-09-27T05:28:47.2752231Z duration_ms: 0.783097 -2026-09-27T05:28:47.2752440Z type: 'suite' -2026-09-27T05:28:47.2752628Z ... -2026-09-27T05:28:48.1823264Z # Subtest: runCommand -2026-09-27T05:28:48.1823854Z # Subtest: kills the child and rejects when timeoutMs elapses -2026-09-27T05:28:48.1824578Z ok 1 - kills the child and rejects when timeoutMs elapses -2026-09-27T05:28:48.1825068Z --- -2026-09-27T05:28:48.1825535Z duration_ms: 911.445721 -2026-09-27T05:28:48.1825947Z type: 'test' -2026-09-27T05:28:48.1826420Z ... -2026-09-27T05:28:48.2527913Z # Subtest: resolves stdout for a completing command without a timeout -2026-09-27T05:28:48.2545903Z ok 2 - resolves stdout for a completing command without a timeout -2026-09-27T05:28:48.2555201Z --- -2026-09-27T05:28:48.2565669Z duration_ms: 27.073274 -2026-09-27T05:28:48.2566599Z type: 'test' -2026-09-27T05:28:48.2567021Z ... -2026-09-27T05:28:48.2567342Z 1..2 -2026-09-27T05:28:48.2567649Z ok 102 - runCommand -2026-09-27T05:28:48.2567993Z --- -2026-09-27T05:28:48.2568308Z duration_ms: 938.746703 -2026-09-27T05:28:48.2568665Z type: 'suite' -2026-09-27T05:28:48.2568990Z ... -2026-09-27T05:28:48.2569345Z # Subtest: waitForDevToolsPort -2026-09-27T05:28:48.2570226Z # Subtest: resolves the announced port -2026-09-27T05:28:48.2570724Z ok 1 - resolves the announced port -2026-09-27T05:28:48.2571149Z --- -2026-09-27T05:28:48.2571462Z duration_ms: 0.77577 -2026-09-27T05:28:48.2571843Z type: 'test' -2026-09-27T05:28:48.2572185Z ... -2026-09-27T05:28:48.2572618Z # Subtest: rejects when the child exits before announcing -2026-09-27T05:28:48.2573362Z ok 2 - rejects when the child exits before announcing -2026-09-27T05:28:48.2573852Z --- -2026-09-27T05:28:48.2574174Z duration_ms: 0.248597 -2026-09-27T05:28:48.2574674Z type: 'test' -2026-09-27T05:28:48.2574984Z ... -2026-09-27T05:28:48.2575268Z 1..2 -2026-09-27T05:28:48.2575658Z ok 103 - waitForDevToolsPort -2026-09-27T05:28:48.2576027Z --- -2026-09-27T05:28:48.2576330Z duration_ms: 1.170809 -2026-09-27T05:28:48.2576669Z type: 'suite' -2026-09-27T05:28:48.2576980Z ... -2026-09-27T05:28:48.7352082Z # Subtest: findRendererTarget -2026-09-27T05:28:48.7353256Z # Subtest: waits past startup, blank and dialog targets for the packaged main entry -2026-09-27T05:28:48.7354346Z ok 1 - waits past startup, blank and dialog targets for the packaged main entry -2026-09-27T05:28:48.7355304Z --- -2026-09-27T05:28:48.7355757Z duration_ms: 523.758462 -2026-09-27T05:28:48.7356218Z type: 'test' -2026-09-27T05:28:48.7356642Z ... -2026-09-27T05:28:48.7357070Z 1..1 -2026-09-27T05:28:48.7385613Z ok 104 - findRendererTarget -2026-09-27T05:28:48.7405319Z --- -2026-09-27T05:28:48.7405664Z duration_ms: 523.895269 -2026-09-27T05:28:48.7406004Z type: 'suite' -2026-09-27T05:28:48.7406263Z ... -2026-09-27T05:28:48.7406476Z # Subtest: waitForUsableRenderer -2026-09-27T05:28:48.7406798Z # Subtest: fails fast when the child is already dead -2026-09-27T05:28:48.7407134Z ok 1 - fails fast when the child is already dead -2026-09-27T05:28:48.7407407Z --- -2026-09-27T05:28:48.7407603Z duration_ms: 1.758227 -2026-09-27T05:28:48.7407852Z type: 'test' -2026-09-27T05:28:48.7408050Z ... -2026-09-27T05:28:49.4895640Z # Subtest: retries failed probes and fails only at the deadline -2026-09-27T05:28:49.4896297Z ok 2 - retries failed probes and fails only at the deadline -2026-09-27T05:28:49.4897090Z --- -2026-09-27T05:28:49.4897774Z duration_ms: 752.800186 -2026-09-27T05:28:49.4898084Z type: 'test' -2026-09-27T05:28:49.4898309Z ... -2026-09-27T05:28:49.6918386Z # Subtest: caps a half-open WebSocket probe to the remaining deadline budget -2026-09-27T05:28:49.6923669Z ok 3 - caps a half-open WebSocket probe to the remaining deadline budget -2026-09-27T05:28:49.6924650Z --- -2026-09-27T05:28:49.6925079Z duration_ms: 203.797349 -2026-09-27T05:28:49.6925543Z type: 'test' -2026-09-27T05:28:49.6925936Z ... -2026-09-27T05:28:49.6926302Z 1..3 -2026-09-27T05:28:49.6926701Z ok 105 - waitForUsableRenderer -2026-09-27T05:28:49.6927157Z --- -2026-09-27T05:28:49.6927554Z duration_ms: 958.682832 -2026-09-27T05:28:49.6928005Z type: 'suite' -2026-09-27T05:28:49.6928378Z ... -2026-09-27T05:28:49.7026043Z # Subtest: waitForInstalledProcessesToExit -2026-09-27T05:28:49.7026595Z # Subtest: returns once an enumeration reports no processes -2026-09-27T05:28:49.7026983Z ok 1 - returns once an enumeration reports no processes -2026-09-27T05:28:49.7027281Z --- -2026-09-27T05:28:49.7027487Z duration_ms: 10.828845 -2026-09-27T05:28:49.7027725Z type: 'test' -2026-09-27T05:28:49.7027949Z ... -2026-09-27T05:28:49.9086146Z # Subtest: never treats a failed enumeration as empty: rejects at the deadline -2026-09-27T05:28:49.9087066Z ok 2 - never treats a failed enumeration as empty: rejects at the deadline -2026-09-27T05:28:49.9087691Z --- -2026-09-27T05:28:49.9088007Z duration_ms: 205.099131 -2026-09-27T05:28:49.9088392Z type: 'test' -2026-09-27T05:28:49.9088711Z ... -2026-09-27T05:28:49.9088999Z 1..2 -2026-09-27T05:28:49.9089341Z ok 106 - waitForInstalledProcessesToExit -2026-09-27T05:28:49.9090283Z --- -2026-09-27T05:28:49.9090611Z duration_ms: 216.196481 -2026-09-27T05:28:49.9090980Z type: 'suite' -2026-09-27T05:28:49.9091285Z ... -2026-09-27T05:28:49.9091588Z # Subtest: listInstalledProcesses -2026-09-27T05:28:49.9092037Z # Subtest: bounds a WMI round to ten seconds so polling can retry -2026-09-27T05:28:49.9092464Z ok 1 - bounds a WMI round to ten seconds so polling can retry -2026-09-27T05:28:49.9092932Z --- -2026-09-27T05:28:49.9093380Z duration_ms: 0.328337 -2026-09-27T05:28:49.9093763Z type: 'test' -2026-09-27T05:28:49.9094287Z ... -2026-09-27T05:28:49.9095045Z 1..1 -2026-09-27T05:28:49.9095608Z ok 107 - listInstalledProcesses -2026-09-27T05:28:49.9095941Z --- -2026-09-27T05:28:49.9096199Z duration_ms: 0.396001 -2026-09-27T05:28:49.9096488Z type: 'suite' -2026-09-27T05:28:49.9096748Z ... -2026-09-27T05:28:49.9193814Z # Subtest: waitForInstalledProcessAppearance -2026-09-27T05:28:49.9205381Z # Subtest: survives a failed probe and returns the later successful match -2026-09-27T05:28:49.9206256Z ok 1 - survives a failed probe and returns the later successful match -2026-09-27T05:28:49.9206807Z --- -2026-09-27T05:28:49.9207123Z duration_ms: 10.72112 -2026-09-27T05:28:49.9207486Z type: 'test' -2026-09-27T05:28:49.9207832Z ... -2026-09-27T05:28:49.9208311Z # Subtest: matches by executable basename, case-insensitively -2026-09-27T05:28:49.9208972Z ok 2 - matches by executable basename, case-insensitively -2026-09-27T05:28:49.9209460Z --- -2026-09-27T05:28:49.9209757Z duration_ms: 0.247786 -2026-09-27T05:28:49.9210098Z type: 'test' -2026-09-27T05:28:49.9210402Z ... -2026-09-27T05:28:50.0736415Z # Subtest: reports the last probe error only when no later enumeration succeeds -2026-09-27T05:28:50.0737287Z ok 3 - reports the last probe error only when no later enumeration succeeds -2026-09-27T05:28:50.0737789Z --- -2026-09-27T05:28:50.0738011Z duration_ms: 153.56986 -2026-09-27T05:28:50.0738286Z type: 'test' -2026-09-27T05:28:50.0738514Z ... -2026-09-27T05:28:50.0738713Z 1..3 -2026-09-27T05:28:50.0738948Z ok 108 - waitForInstalledProcessAppearance -2026-09-27T05:28:50.0739249Z --- -2026-09-27T05:28:50.0739465Z duration_ms: 164.816784 -2026-09-27T05:28:50.0739706Z type: 'suite' -2026-09-27T05:28:50.0739918Z ... -2026-09-27T05:28:50.0760761Z # Subtest: waitForInstalledProductVersion -2026-09-27T05:28:50.0761518Z # Subtest: retries a stalled PowerShell read within the outer deadline -2026-09-27T05:28:50.0762260Z ok 1 - retries a stalled PowerShell read within the outer deadline -2026-09-27T05:28:50.0762818Z --- -2026-09-27T05:28:50.0763143Z duration_ms: 2.14626 -2026-09-27T05:28:50.0763498Z type: 'test' -2026-09-27T05:28:50.0763815Z ... -2026-09-27T05:28:50.0764100Z 1..1 -2026-09-27T05:28:50.0764552Z ok 109 - waitForInstalledProductVersion -2026-09-27T05:28:50.0764950Z --- -2026-09-27T05:28:50.0765257Z duration_ms: 2.280276 -2026-09-27T05:28:50.0765616Z type: 'suite' -2026-09-27T05:28:50.0765911Z ... -2026-09-27T05:28:50.0780551Z # Subtest: terminateInstalledProcesses -2026-09-27T05:28:50.0781753Z # Subtest: tolerates exit 128 and an overrun kill, then proves exit -2026-09-27T05:28:50.0782510Z ok 1 - tolerates exit 128 and an overrun kill, then proves exit -2026-09-27T05:28:50.0783113Z --- -2026-09-27T05:28:50.0783832Z duration_ms: 0.39196 -2026-09-27T05:28:50.0784236Z type: 'test' -2026-09-27T05:28:50.0784796Z ... -2026-09-27T05:28:50.0785315Z # Subtest: lets the exit proof decide after any taskkill mechanism failure -2026-09-27T05:28:50.0786084Z ok 2 - lets the exit proof decide after any taskkill mechanism failure -2026-09-27T05:28:50.0786645Z --- -2026-09-27T05:28:50.0786915Z duration_ms: 0.115547 -2026-09-27T05:28:50.0787224Z type: 'test' -2026-09-27T05:28:50.0787507Z ... -2026-09-27T05:28:50.0787991Z # Subtest: reports the exit proof and taskkill failures together when residue remains -2026-09-27T05:28:50.0789158Z ok 3 - reports the exit proof and taskkill failures together when residue remains -2026-09-27T05:28:50.0789731Z --- -2026-09-27T05:28:50.0790014Z duration_ms: 0.225322 -2026-09-27T05:28:50.0790342Z type: 'test' -2026-09-27T05:28:50.0790633Z ... -2026-09-27T05:28:50.0805508Z # Subtest: retries a transient enumeration failure before killing and proving exit -2026-09-27T05:28:50.0806677Z ok 4 - retries a transient enumeration failure before killing and proving exit -2026-09-27T05:28:50.0807321Z --- -2026-09-27T05:28:50.0807683Z duration_ms: 3.728693 -2026-09-27T05:28:50.0808093Z type: 'test' -2026-09-27T05:28:50.0808443Z ... -2026-09-27T05:28:50.0808770Z 1..4 -2026-09-27T05:28:50.0809156Z ok 110 - terminateInstalledProcesses -2026-09-27T05:28:50.0809611Z --- -2026-09-27T05:28:50.0809949Z duration_ms: 4.665567 -2026-09-27T05:28:50.0810315Z type: 'suite' -2026-09-27T05:28:50.0810647Z ... -2026-09-27T05:28:50.0811061Z # Subtest: completeInstalledApplicationUninstall -2026-09-27T05:28:50.0811773Z # Subtest: runs the uninstaller and waits for both cleanup barriers in order -2026-09-27T05:28:50.0812547Z ok 1 - runs the uninstaller and waits for both cleanup barriers in order -2026-09-27T05:28:50.0813131Z --- -2026-09-27T05:28:50.0813481Z duration_ms: 0.264342 -2026-09-27T05:28:50.0814051Z type: 'test' -2026-09-27T05:28:50.0814324Z ... -2026-09-27T05:28:50.0815036Z # Subtest: still proves both barriers when a detached uninstaller is already gone -2026-09-27T05:28:50.0815539Z ok 2 - still proves both barriers when a detached uninstaller is already gone -2026-09-27T05:28:50.0815893Z --- -2026-09-27T05:28:50.0816097Z duration_ms: 0.125815 -2026-09-27T05:28:50.0816325Z type: 'test' -2026-09-27T05:28:50.0816524Z ... -2026-09-27T05:28:50.0816706Z 1..2 -2026-09-27T05:28:50.0816940Z ok 111 - completeInstalledApplicationUninstall -2026-09-27T05:28:50.0817217Z --- -2026-09-27T05:28:50.0817428Z duration_ms: 0.454013 -2026-09-27T05:28:50.0817643Z type: 'suite' -2026-09-27T05:28:50.0817832Z ... -2026-09-27T05:28:50.0915105Z # Subtest: waitForUninstallRegistrationToClear -2026-09-27T05:28:50.0915686Z # Subtest: returns once the registration reads empty -2026-09-27T05:28:50.0916176Z ok 1 - returns once the registration reads empty -2026-09-27T05:28:50.0916479Z --- -2026-09-27T05:28:50.0916704Z duration_ms: 10.685054 -2026-09-27T05:28:50.0916959Z type: 'test' -2026-09-27T05:28:50.0917203Z ... -2026-09-27T05:28:50.2446051Z # Subtest: reports the lingering registration at the deadline -2026-09-27T05:28:50.2446687Z ok 2 - reports the lingering registration at the deadline -2026-09-27T05:28:50.2446987Z --- -2026-09-27T05:28:50.2447191Z duration_ms: 152.956091 -2026-09-27T05:28:50.2447421Z type: 'test' -2026-09-27T05:28:50.2447627Z ... -2026-09-27T05:28:50.3970888Z # Subtest: tolerates probe failures but rejects with them at the deadline -2026-09-27T05:28:50.3971640Z ok 3 - tolerates probe failures but rejects with them at the deadline -2026-09-27T05:28:50.3972099Z --- -2026-09-27T05:28:50.3972558Z duration_ms: 152.279049 -2026-09-27T05:28:50.3973036Z type: 'test' -2026-09-27T05:28:50.3973421Z ... -2026-09-27T05:28:50.3973836Z 1..3 -2026-09-27T05:28:50.3978534Z ok 112 - waitForUninstallRegistrationToClear -2026-09-27T05:28:50.3978939Z --- -2026-09-27T05:28:50.3979420Z duration_ms: 316.21223 -2026-09-27T05:28:50.3979831Z type: 'suite' -2026-09-27T05:28:50.3980262Z ... -2026-09-27T05:28:50.4099463Z 1..112 -2026-09-27T05:28:50.4099784Z # tests 136 -2026-09-27T05:28:50.4100020Z # suites 14 -2026-09-27T05:28:50.4100251Z # pass 136 -2026-09-27T05:28:50.4100441Z # fail 0 -2026-09-27T05:28:50.4100624Z # cancelled 0 -2026-09-27T05:28:50.4100821Z # skipped 0 -2026-09-27T05:28:50.4100998Z # todo 0 -2026-09-27T05:28:50.4101192Z # duration_ms 4076.007169 -2026-09-27T05:28:50.4181684Z ##[group]Run node --test --test-concurrency=1 scripts/pr-effort.test.mjs -2026-09-27T05:28:50.4182278Z node --test --test-concurrency=1 scripts/pr-effort.test.mjs -2026-09-27T05:28:50.4221722Z shell: /usr/bin/bash -e {0} -2026-09-27T05:28:50.4221995Z ##[endgroup] -2026-09-27T05:28:50.4663036Z TAP version 13 -2026-09-27T05:28:50.5064648Z # Subtest: tier boundaries -2026-09-27T05:28:50.5065240Z # Subtest: places each tier on its inclusive upper bound -2026-09-27T05:28:50.5075481Z ok 1 - places each tier on its inclusive upper bound -2026-09-27T05:28:50.5095493Z --- -2026-09-27T05:28:50.5095891Z duration_ms: 2.099471 -2026-09-27T05:28:50.5096321Z type: 'test' -2026-09-27T05:28:50.5096658Z ... -2026-09-27T05:28:50.5097045Z # Subtest: counts additions and deletions together -2026-09-27T05:28:50.5097583Z ok 2 - counts additions and deletions together -2026-09-27T05:28:50.5098035Z --- -2026-09-27T05:28:50.5098345Z duration_ms: 0.137296 -2026-09-27T05:28:50.5098810Z type: 'test' -2026-09-27T05:28:50.5099115Z ... -2026-09-27T05:28:50.5099548Z # Subtest: treats an empty pull request as the smallest tier -2026-09-27T05:28:50.5100186Z ok 3 - treats an empty pull request as the smallest tier -2026-09-27T05:28:50.5100643Z --- -2026-09-27T05:28:50.5100955Z duration_ms: 0.15438 -2026-09-27T05:28:50.5101311Z type: 'test' -2026-09-27T05:28:50.5101633Z ... -2026-09-27T05:28:50.5101872Z 1..3 -2026-09-27T05:28:50.5102155Z ok 1 - tier boundaries -2026-09-27T05:28:50.5102428Z --- -2026-09-27T05:28:50.5102680Z duration_ms: 3.20394 -2026-09-27T05:28:50.5102985Z type: 'suite' -2026-09-27T05:28:50.5103240Z ... -2026-09-27T05:28:50.5103533Z # Subtest: unread paths -2026-09-27T05:28:50.5103941Z # Subtest: excludes every lockfile format in the tree -2026-09-27T05:28:50.5104633Z ok 1 - excludes every lockfile format in the tree -2026-09-27T05:28:50.5105125Z --- -2026-09-27T05:28:50.5105464Z duration_ms: 0.275521 -2026-09-27T05:28:50.5105825Z type: 'test' -2026-09-27T05:28:50.5106125Z ... -2026-09-27T05:28:50.5106509Z # Subtest: excludes both spellings the notice generator emits -2026-09-27T05:28:50.5107041Z ok 2 - excludes both spellings the notice generator emits -2026-09-27T05:28:50.5107436Z --- -2026-09-27T05:28:50.5107712Z duration_ms: 0.109549 -2026-09-27T05:28:50.5108027Z type: 'test' -2026-09-27T05:28:50.5108291Z ... -2026-09-27T05:28:50.5108667Z # Subtest: excludes generated sources, snapshots and binaries -2026-09-27T05:28:50.5109221Z ok 3 - excludes generated sources, snapshots and binaries -2026-09-27T05:28:50.5109693Z --- -2026-09-27T05:28:50.5109965Z duration_ms: 0.101892 -2026-09-27T05:28:50.5110295Z type: 'test' -2026-09-27T05:28:50.5110566Z ... -2026-09-27T05:28:50.5110865Z # Subtest: normalizes Windows separators -2026-09-27T05:28:50.5111285Z ok 4 - normalizes Windows separators -2026-09-27T05:28:50.5111655Z --- -2026-09-27T05:28:50.5111936Z duration_ms: 0.169246 -2026-09-27T05:28:50.5112254Z type: 'test' -2026-09-27T05:28:50.5112535Z ... -2026-09-27T05:28:50.5112952Z # Subtest: keeps hand-authored sources, including tests and locale copy -2026-09-27T05:28:50.5113631Z ok 5 - keeps hand-authored sources, including tests and locale copy -2026-09-27T05:28:50.5114123Z --- -2026-09-27T05:28:50.5114567Z duration_ms: 0.219521 -2026-09-27T05:28:50.5114919Z type: 'test' -2026-09-27T05:28:50.5115187Z ... -2026-09-27T05:28:50.5115592Z # Subtest: keeps a dependency bump at the tier its readable diff earns -2026-09-27T05:28:50.5116189Z ok 6 - keeps a dependency bump at the tier its readable diff earns -2026-09-27T05:28:50.5116644Z --- -2026-09-27T05:28:50.5116892Z duration_ms: 0.184529 -2026-09-27T05:28:50.5117292Z type: 'test' -2026-09-27T05:28:50.5117568Z ... -2026-09-27T05:28:50.5117837Z 1..6 -2026-09-27T05:28:50.5118106Z ok 2 - unread paths -2026-09-27T05:28:50.5118856Z --- -2026-09-27T05:28:50.5119151Z duration_ms: 1.520451 -2026-09-27T05:28:50.5119468Z type: 'suite' -2026-09-27T05:28:50.5119873Z ... -2026-09-27T05:28:50.5120206Z # Subtest: label planning -2026-09-27T05:28:50.5135714Z # Subtest: adds the tier and leaves unrelated labels alone -2026-09-27T05:28:50.5136549Z ok 1 - adds the tier and leaves unrelated labels alone -2026-09-27T05:28:50.5137112Z --- -2026-09-27T05:28:50.5137792Z duration_ms: 0.714996 -2026-09-27T05:28:50.5138234Z type: 'test' -2026-09-27T05:28:50.5138569Z ... -2026-09-27T05:28:50.5138957Z # Subtest: replaces a tier the pull request has outgrown -2026-09-27T05:28:50.5139477Z ok 2 - replaces a tier the pull request has outgrown -2026-09-27T05:28:50.5139869Z --- -2026-09-27T05:28:50.5140170Z duration_ms: 0.104286 -2026-09-27T05:28:50.5140486Z type: 'test' -2026-09-27T05:28:50.5140781Z ... -2026-09-27T05:28:50.5141115Z # Subtest: collapses duplicate tiers left by an earlier run -2026-09-27T05:28:50.5141686Z ok 3 - collapses duplicate tiers left by an earlier run -2026-09-27T05:28:50.5142107Z --- -2026-09-27T05:28:50.5142395Z duration_ms: 0.073563 -2026-09-27T05:28:50.5142710Z type: 'test' -2026-09-27T05:28:50.5143012Z ... -2026-09-27T05:28:50.5143410Z # Subtest: is idempotent once the tier already matches -2026-09-27T05:28:50.5143926Z ok 4 - is idempotent once the tier already matches -2026-09-27T05:28:50.5144244Z --- -2026-09-27T05:28:50.5144653Z duration_ms: 0.063018 -2026-09-27T05:28:50.5144902Z type: 'test' -2026-09-27T05:28:50.5145167Z ... -2026-09-27T05:28:50.5145360Z 1..4 -2026-09-27T05:28:50.5145584Z ok 3 - label planning -2026-09-27T05:28:50.5145804Z --- -2026-09-27T05:28:50.5145996Z duration_ms: 1.08698 -2026-09-27T05:28:50.5146285Z type: 'suite' -2026-09-27T05:28:50.5146538Z ... -2026-09-27T05:28:50.5189213Z 1..3 -2026-09-27T05:28:50.5189529Z # tests 13 -2026-09-27T05:28:50.5189813Z # suites 3 -2026-09-27T05:28:50.5190082Z # pass 13 -2026-09-27T05:28:50.5190412Z # fail 0 -2026-09-27T05:28:50.5190687Z # cancelled 0 -2026-09-27T05:28:50.5191025Z # skipped 0 -2026-09-27T05:28:50.5191462Z # todo 0 -2026-09-27T05:28:50.5191908Z # duration_ms 62.868999 -2026-09-27T05:28:50.5261208Z ##[group]Run node --test --test-concurrency=1 scripts/issue-pr-lifecycle.test.mjs -2026-09-27T05:28:50.5261749Z node --test --test-concurrency=1 scripts/issue-pr-lifecycle.test.mjs -2026-09-27T05:28:50.5300834Z shell: /usr/bin/bash -e {0} -2026-09-27T05:28:50.5301101Z ##[endgroup] -2026-09-27T05:28:50.5719681Z TAP version 13 -2026-09-27T05:28:50.6128036Z # Subtest: issue lifecycle -2026-09-27T05:28:50.6128674Z # Subtest: warns at the 30-day inactivity boundary -2026-09-27T05:28:50.6141229Z ok 1 - warns at the 30-day inactivity boundary -2026-09-27T05:28:50.6142373Z --- -2026-09-27T05:28:50.6143209Z duration_ms: 1.849663 -2026-09-27T05:28:50.6143903Z type: 'test' -2026-09-27T05:28:50.6144317Z ... -2026-09-27T05:28:50.6144938Z # Subtest: uses the latest human comment as activity -2026-09-27T05:28:50.6145707Z ok 2 - uses the latest human comment as activity -2026-09-27T05:28:50.6146348Z --- -2026-09-27T05:28:50.6146925Z duration_ms: 0.733059 -2026-09-27T05:28:50.6147435Z type: 'test' -2026-09-27T05:28:50.6147872Z ... -2026-09-27T05:28:50.6148365Z # Subtest: ignores bot comments when measuring activity -2026-09-27T05:28:50.6149071Z ok 3 - ignores bot comments when measuring activity -2026-09-27T05:28:50.6149703Z --- -2026-09-27T05:28:50.6150096Z duration_ms: 0.159991 -2026-09-27T05:28:50.6150527Z type: 'test' -2026-09-27T05:28:50.6150919Z ... -2026-09-27T05:28:50.6151513Z # Subtest: treats a lifecycle reopen marker as a fresh activity timestamp -2026-09-27T05:28:50.6152449Z ok 4 - treats a lifecycle reopen marker as a fresh activity timestamp -2026-09-27T05:28:50.6153086Z --- -2026-09-27T05:28:50.6153464Z duration_ms: 0.139456 -2026-09-27T05:28:50.6153877Z type: 'test' -2026-09-27T05:28:50.6154266Z ... -2026-09-27T05:28:50.6154925Z # Subtest: closes only after the full 30-day grace period -2026-09-27T05:28:50.6155926Z ok 5 - closes only after the full 30-day grace period -2026-09-27T05:28:50.6156464Z --- -2026-09-27T05:28:50.6156819Z duration_ms: 0.188321 -2026-09-27T05:28:50.6157263Z type: 'test' -2026-09-27T05:28:50.6157664Z ... -2026-09-27T05:28:50.6158151Z # Subtest: removes stale after a human response to the warning -2026-09-27T05:28:50.6158797Z ok 6 - removes stale after a human response to the warning -2026-09-27T05:28:50.6159332Z --- -2026-09-27T05:28:50.6159715Z duration_ms: 0.13495 -2026-09-27T05:28:50.6160132Z type: 'test' -2026-09-27T05:28:50.6160508Z ... -2026-09-27T05:28:50.6161021Z # Subtest: exempts assigned issues and removes an existing stale label -2026-09-27T05:28:50.6161783Z ok 7 - exempts assigned issues and removes an existing stale label -2026-09-27T05:28:50.6162321Z --- -2026-09-27T05:28:50.6162740Z duration_ms: 0.18361 -2026-09-27T05:28:50.6163174Z type: 'test' -2026-09-27T05:28:50.6163575Z ... -2026-09-27T05:28:50.6164008Z 1..7 -2026-09-27T05:28:50.6164551Z ok 1 - issue lifecycle -2026-09-27T05:28:50.6164990Z --- -2026-09-27T05:28:50.6165396Z duration_ms: 4.3454 -2026-09-27T05:28:50.6165852Z type: 'suite' -2026-09-27T05:28:50.6166325Z ... -2026-09-27T05:28:50.6179564Z # Subtest: pull request lifecycle -2026-09-27T05:28:50.6180634Z # Subtest: warns based on the latest commit instead of creation or comments -2026-09-27T05:28:50.6181901Z ok 1 - warns based on the latest commit instead of creation or comments -2026-09-27T05:28:50.6206605Z --- -2026-09-27T05:28:50.6207581Z duration_ms: 0.307958 -2026-09-27T05:28:50.6208318Z type: 'test' -2026-09-27T05:28:50.6208989Z ... -2026-09-27T05:28:50.6209834Z # Subtest: closes after seven days without a new commit -2026-09-27T05:28:50.6210856Z ok 2 - closes after seven days without a new commit -2026-09-27T05:28:50.6211687Z --- -2026-09-27T05:28:50.6212432Z duration_ms: 0.21148 -2026-09-27T05:28:50.6213328Z type: 'test' -2026-09-27T05:28:50.6213911Z ... -2026-09-27T05:28:50.6215080Z # Subtest: removes stale after a commit newer than the warning -2026-09-27T05:28:50.6215897Z ok 3 - removes stale after a commit newer than the warning -2026-09-27T05:28:50.6216625Z --- -2026-09-27T05:28:50.6217446Z duration_ms: 0.255483 -2026-09-27T05:28:50.6217934Z type: 'test' -2026-09-27T05:28:50.6218281Z ... -2026-09-27T05:28:50.6219131Z # Subtest: ignores a lifecycle reopen marker for PR activity timing -2026-09-27T05:28:50.6219748Z ok 4 - ignores a lifecycle reopen marker for PR activity timing -2026-09-27T05:28:50.6220142Z --- -2026-09-27T05:28:50.6220423Z duration_ms: 0.108936 -2026-09-27T05:28:50.6220722Z type: 'test' -2026-09-27T05:28:50.6221011Z ... -2026-09-27T05:28:50.6221454Z # Subtest: still finds human activity when more than 100 comments are present -2026-09-27T05:28:50.6221979Z ok 5 - still finds human activity when more than 100 comments are present -2026-09-27T05:28:50.6222401Z --- -2026-09-27T05:28:50.6222679Z duration_ms: 0.36815 -2026-09-27T05:28:50.6223006Z type: 'test' -2026-09-27T05:28:50.6223265Z ... -2026-09-27T05:28:50.6223501Z 1..5 -2026-09-27T05:28:50.6223804Z ok 2 - pull request lifecycle -2026-09-27T05:28:50.6224128Z --- -2026-09-27T05:28:50.6224691Z duration_ms: 1.55667 -2026-09-27T05:28:50.6225150Z type: 'suite' -2026-09-27T05:28:50.6225400Z ... -2026-09-27T05:28:50.6225714Z # Subtest: state repair and exemptions -2026-09-27T05:28:50.6226132Z # Subtest: starts a fresh grace period when stale has no workflow warning -2026-09-27T05:28:50.6226617Z ok 1 - starts a fresh grace period when stale has no workflow warning -2026-09-27T05:28:50.6227033Z --- -2026-09-27T05:28:50.6227293Z duration_ms: 0.197176 -2026-09-27T05:28:50.6227603Z type: 'test' -2026-09-27T05:28:50.6227893Z ... -2026-09-27T05:28:50.6228236Z # Subtest: does not trust a human-authored warning marker -2026-09-27T05:28:50.6228834Z ok 2 - does not trust a human-authored warning marker -2026-09-27T05:28:50.6229234Z --- -2026-09-27T05:28:50.6229524Z duration_ms: 0.080541 -2026-09-27T05:28:50.6229807Z type: 'test' -2026-09-27T05:28:50.6230084Z ... -2026-09-27T05:28:50.6230412Z # Subtest: exempts pinned issues and pull requests -2026-09-27T05:28:50.6230798Z ok 3 - exempts pinned issues and pull requests -2026-09-27T05:28:50.6231233Z --- -2026-09-27T05:28:50.6231501Z duration_ms: 0.985012 -2026-09-27T05:28:50.6231803Z type: 'test' -2026-09-27T05:28:50.6232091Z ... -2026-09-27T05:28:50.6232387Z 1..3 -2026-09-27T05:28:50.6232715Z ok 3 - state repair and exemptions -2026-09-27T05:28:50.6233088Z --- -2026-09-27T05:28:50.6233520Z duration_ms: 1.367076 -2026-09-27T05:28:50.6233822Z type: 'suite' -2026-09-27T05:28:50.6234082Z ... -2026-09-27T05:28:50.6259470Z 1..3 -2026-09-27T05:28:50.6265196Z # tests 15 -2026-09-27T05:28:50.6265567Z # suites 3 -2026-09-27T05:28:50.6279999Z # pass 15 -2026-09-27T05:28:50.6280517Z # fail 0 -2026-09-27T05:28:50.6280888Z # cancelled 0 -2026-09-27T05:28:50.6281250Z # skipped 0 -2026-09-27T05:28:50.6281528Z # todo 0 -2026-09-27T05:28:50.6281853Z # duration_ms 64.320989 -2026-09-27T05:28:50.6334376Z ##[group]Run npm run windows:inventory -2026-09-27T05:28:50.6335003Z npm run windows:inventory -2026-09-27T05:28:50.6375879Z shell: /usr/bin/bash -e {0} -2026-09-27T05:28:50.6376228Z ##[endgroup] -2026-09-27T05:28:51.2707984Z -2026-09-27T05:28:51.2708820Z > maka@0.2.0 windows:inventory -2026-09-27T05:28:51.2709607Z > node --test scripts/windows-test-inventory.test.mjs && node scripts/windows-test-inventory.mjs --check -2026-09-27T05:28:51.2710082Z -2026-09-27T05:28:51.3258007Z TAP version 13 -2026-09-27T05:28:51.3633474Z # Subtest: exempts a complete Windows-false ternary from the skip inventory -2026-09-27T05:28:51.3638775Z ok 1 - exempts a complete Windows-false ternary from the skip inventory -2026-09-27T05:28:51.3639815Z --- -2026-09-27T05:28:51.3640399Z duration_ms: 1.067693 -2026-09-27T05:28:51.3641077Z type: 'test' -2026-09-27T05:28:51.3641650Z ... -2026-09-27T05:28:51.3645549Z # Subtest: keeps a composite expression that can still skip on Windows -2026-09-27T05:28:51.3647520Z ok 2 - keeps a composite expression that can still skip on Windows -2026-09-27T05:28:51.3648608Z --- -2026-09-27T05:28:51.3649303Z duration_ms: 0.264474 -2026-09-27T05:28:51.3649821Z type: 'test' -2026-09-27T05:28:51.3650326Z ... -2026-09-27T05:28:51.3650997Z # Subtest: keeps a direct Windows exclusion in the skip inventory -2026-09-27T05:28:51.3651856Z ok 3 - keeps a direct Windows exclusion in the skip inventory -2026-09-27T05:28:51.3652550Z --- -2026-09-27T05:28:51.3653012Z duration_ms: 0.179871 -2026-09-27T05:28:51.3653712Z type: 'test' -2026-09-27T05:28:51.3654213Z ... -2026-09-27T05:28:51.3717979Z 1..3 -2026-09-27T05:28:51.3718445Z # tests 3 -2026-09-27T05:28:51.3719033Z # suites 0 -2026-09-27T05:28:51.3719463Z # pass 3 -2026-09-27T05:28:51.3719858Z # fail 0 -2026-09-27T05:28:51.3720332Z # cancelled 0 -2026-09-27T05:28:51.3720780Z # skipped 0 -2026-09-27T05:28:51.3721181Z # todo 0 -2026-09-27T05:28:51.3721641Z # duration_ms 56.397304 -2026-09-27T05:28:52.1110865Z Windows test skip inventory is current (105 declarations) -2026-09-27T05:28:52.1253102Z ##[group]Run npm run check:e2e-budget -2026-09-27T05:28:52.1253550Z npm run check:e2e-budget -2026-09-27T05:28:52.1293237Z shell: /usr/bin/bash -e {0} -2026-09-27T05:28:52.1293652Z ##[endgroup] -2026-09-27T05:28:52.2212276Z -2026-09-27T05:28:52.2213202Z > maka@0.2.0 check:e2e-budget -2026-09-27T05:28:52.2214104Z > npm --workspace @maka/desktop run check:e2e-budget -2026-09-27T05:28:52.2214858Z -2026-09-27T05:28:52.4833655Z -2026-09-27T05:28:52.4834818Z > @maka/desktop@0.2.0 check:e2e-budget -2026-09-27T05:28:52.4835447Z > node --test scripts/check-e2e-budget.test.mjs && node scripts/check-e2e-budget.mjs -2026-09-27T05:28:52.4835952Z -2026-09-27T05:28:52.5241561Z TAP version 13 -2026-09-27T05:28:52.5696094Z # Subtest: counts the top-level tests and nothing configuring them -2026-09-27T05:28:52.5700057Z ok 1 - counts the top-level tests and nothing configuring them -2026-09-27T05:28:52.5701138Z --- -2026-09-27T05:28:52.5701742Z duration_ms: 0.87769 -2026-09-27T05:28:52.5702620Z type: 'test' -2026-09-27T05:28:52.5703207Z ... -2026-09-27T05:28:52.5708410Z # Subtest: refuses a top-level form whose test count it cannot read -2026-09-27T05:28:52.5709669Z ok 2 - refuses a top-level form whose test count it cannot read -2026-09-27T05:28:52.5710724Z --- -2026-09-27T05:28:52.5711446Z duration_ms: 0.410948 -2026-09-27T05:28:52.5712161Z type: 'test' -2026-09-27T05:28:52.5713151Z ... -2026-09-27T05:28:52.5713735Z # Subtest: refuses a `test(` it cannot attribute to a line of its own -2026-09-27T05:28:52.5714828Z ok 3 - refuses a `test(` it cannot attribute to a line of its own -2026-09-27T05:28:52.5715612Z --- -2026-09-27T05:28:52.5716169Z duration_ms: 0.125407 -2026-09-27T05:28:52.5716807Z type: 'test' -2026-09-27T05:28:52.5717301Z ... -2026-09-27T05:28:52.5718019Z # Subtest: finds every file Playwright would run, not just top-level .spec.ts -2026-09-27T05:28:52.5719003Z ok 4 - finds every file Playwright would run, not just top-level .spec.ts -2026-09-27T05:28:52.5719745Z --- -2026-09-27T05:28:52.5720246Z duration_ms: 8.863365 -2026-09-27T05:28:52.5720783Z type: 'test' -2026-09-27T05:28:52.5721340Z ... -2026-09-27T05:28:52.5721947Z # Subtest: reports every way the tier and the budget can disagree -2026-09-27T05:28:52.5722777Z ok 5 - reports every way the tier and the budget can disagree -2026-09-27T05:28:52.5723478Z --- -2026-09-27T05:28:52.5723956Z duration_ms: 0.235004 -2026-09-27T05:28:52.5724616Z type: 'test' -2026-09-27T05:28:52.5725113Z ... -2026-09-27T05:28:52.5786118Z 1..5 -2026-09-27T05:28:52.5786637Z # tests 5 -2026-09-27T05:28:52.5787014Z # suites 0 -2026-09-27T05:28:52.5787375Z # pass 5 -2026-09-27T05:28:52.5787717Z # fail 0 -2026-09-27T05:28:52.5788045Z # cancelled 0 -2026-09-27T05:28:52.5788377Z # skipped 0 -2026-09-27T05:28:52.5788690Z # todo 0 -2026-09-27T05:28:52.5789023Z # duration_ms 64.881937 -2026-09-27T05:28:52.6199172Z E2E budget holds: 34 tests in 20 files. -2026-09-27T05:28:52.6376316Z ##[group]Run node scripts/protocol-epoch-check.mjs --base "$BASE_SHA" -2026-09-27T05:28:52.6376863Z node scripts/protocol-epoch-check.mjs --base "$BASE_SHA" -2026-09-27T05:28:52.6416232Z shell: /usr/bin/bash -e {0} -2026-09-27T05:28:52.6416699Z env: -2026-09-27T05:28:52.6417041Z BASE_SHA: d89ccce01ab631d63de2a8986fc76a1960af8dc2 -2026-09-27T05:28:52.6417419Z ##[endgroup] -2026-09-27T05:28:52.7032530Z Protocol epoch guard: Protocol changed and the epoch moved: 191 -> 192. -2026-09-27T05:28:52.7092769Z ##[group]Run node --test --test-concurrency=1 scripts/protocol-epoch-check.test.mjs -2026-09-27T05:28:52.7093443Z node --test --test-concurrency=1 scripts/protocol-epoch-check.test.mjs -2026-09-27T05:28:52.7135086Z shell: /usr/bin/bash -e {0} -2026-09-27T05:28:52.7135454Z ##[endgroup] -2026-09-27T05:28:52.7559333Z TAP version 13 -2026-09-27T05:28:53.0681441Z # fatal: path 'packages/runtime-host/src/protocol/added.ts' exists on disk, but not in 'HEAD^' -2026-09-27T05:28:53.0700764Z # fatal: path 'packages/runtime-host/src/protocol/after-rename.ts' exists on disk, but not in 'HEAD^' -2026-09-27T05:28:53.0744937Z # fatal: path 'packages/runtime-host/src/protocol/before-rename.ts' does not exist in 'HEAD' -2026-09-27T05:28:53.0788717Z # fatal: path 'packages/runtime-host/src/protocol/removed.ts' does not exist in 'HEAD' -2026-09-27T05:28:53.0859036Z # fatal: path 'packages/runtime-host/src/protocol/added.ts' exists on disk, but not in 'HEAD^' -2026-09-27T05:28:53.0883882Z # fatal: path 'packages/runtime-host/src/protocol/after-rename.ts' exists on disk, but not in 'HEAD^' -2026-09-27T05:28:53.0932232Z # fatal: path 'packages/runtime-host/src/protocol/before-rename.ts' does not exist in 'HEAD' -2026-09-27T05:28:53.0980144Z # fatal: path 'packages/runtime-host/src/protocol/removed.ts' does not exist in 'HEAD' -2026-09-27T05:28:53.2353747Z # Subtest: extracts the epoch from the declaration line -2026-09-27T05:28:53.2361654Z ok 1 - extracts the epoch from the declaration line -2026-09-27T05:28:53.2362243Z --- -2026-09-27T05:28:53.2362696Z duration_ms: 1.016834 -2026-09-27T05:28:53.2363373Z type: 'test' -2026-09-27T05:28:53.2363899Z ... -2026-09-27T05:28:53.2364607Z # Subtest: refuses a source with no epoch declaration or more than one -2026-09-27T05:28:53.2369263Z ok 2 - refuses a source with no epoch declaration or more than one -2026-09-27T05:28:53.2369862Z --- -2026-09-27T05:28:53.2375292Z duration_ms: 0.49022 -2026-09-27T05:28:53.2375729Z type: 'test' -2026-09-27T05:28:53.2376193Z ... -2026-09-27T05:28:53.2376774Z # Subtest: parses the real protocol index, so the pattern cannot silently rot -2026-09-27T05:28:53.2377553Z ok 3 - parses the real protocol index, so the pattern cannot silently rot -2026-09-27T05:28:53.2378248Z --- -2026-09-27T05:28:53.2378624Z duration_ms: 0.476436 -2026-09-27T05:28:53.2379050Z type: 'test' -2026-09-27T05:28:53.2379408Z ... -2026-09-27T05:28:53.2379899Z # Subtest: fails a protocol change whose epoch equals the current base parent -2026-09-27T05:28:53.2380447Z ok 4 - fails a protocol change whose epoch equals the current base parent -2026-09-27T05:28:53.2380882Z --- -2026-09-27T05:28:53.2381153Z duration_ms: 0.297685 -2026-09-27T05:28:53.2381455Z type: 'test' -2026-09-27T05:28:53.2381723Z ... -2026-09-27T05:28:53.2382162Z # Subtest: allows only files covered by a newly added compatible-change declaration -2026-09-27T05:28:53.2389270Z ok 5 - allows only files covered by a newly added compatible-change declaration -2026-09-27T05:28:53.2395179Z --- -2026-09-27T05:28:53.2396522Z duration_ms: 1.114517 -2026-09-27T05:28:53.2397009Z type: 'test' -2026-09-27T05:28:53.2397542Z ... -2026-09-27T05:28:53.2398201Z # Subtest: reads newly added compatible-change declarations from the compared revision -2026-09-27T05:28:53.2399237Z ok 6 - reads newly added compatible-change declarations from the compared revision -2026-09-27T05:28:53.2400007Z --- -2026-09-27T05:28:53.2415767Z duration_ms: 38.256187 -2026-09-27T05:28:53.2416573Z type: 'test' -2026-09-27T05:28:53.2417068Z ... -2026-09-27T05:28:53.2417877Z # Subtest: catches sibling same-number bumps against the synthetic merge first parent -2026-09-27T05:28:53.2418947Z ok 7 - catches sibling same-number bumps against the synthetic merge first parent -2026-09-27T05:28:53.2421588Z --- -2026-09-27T05:28:53.2422060Z duration_ms: 70.093863 -2026-09-27T05:28:53.2422509Z type: 'test' -2026-09-27T05:28:53.2422981Z ... -2026-09-27T05:28:53.2423643Z # Subtest: fails any epoch decrease, protocol change or not -2026-09-27T05:28:53.2424815Z ok 8 - fails any epoch decrease, protocol change or not -2026-09-27T05:28:53.2425844Z --- -2026-09-27T05:28:53.2426285Z duration_ms: 0.201904 -2026-09-27T05:28:53.2426734Z type: 'test' -2026-09-27T05:28:53.2427142Z ... -2026-09-27T05:28:53.2427642Z # Subtest: passes a protocol change that moves the epoch forward -2026-09-27T05:28:53.2428468Z ok 9 - passes a protocol change that moves the epoch forward -2026-09-27T05:28:53.2429142Z --- -2026-09-27T05:28:53.2429546Z duration_ms: 0.387683 -2026-09-27T05:28:53.2429976Z type: 'test' -2026-09-27T05:28:53.2430360Z ... -2026-09-27T05:28:53.2430892Z # Subtest: passes when nothing under the protocol directory changed -2026-09-27T05:28:53.2431578Z ok 10 - passes when nothing under the protocol directory changed -2026-09-27T05:28:53.2432064Z --- -2026-09-27T05:28:53.2432432Z duration_ms: 0.380306 -2026-09-27T05:28:53.2432826Z type: 'test' -2026-09-27T05:28:53.2433301Z ... -2026-09-27T05:28:53.2433904Z # Subtest: checks staged protocol changes against the current HEAD epoch -2026-09-27T05:28:53.2434914Z ok 11 - checks staged protocol changes against the current HEAD epoch -2026-09-27T05:28:53.2435597Z --- -2026-09-27T05:28:53.2436012Z duration_ms: 82.232325 -2026-09-27T05:28:53.2436457Z type: 'test' -2026-09-27T05:28:53.2436885Z ... -2026-09-27T05:28:53.2437459Z # Subtest: exempts a protocol file that only gained the ASF license header -2026-09-27T05:28:53.2438618Z ok 12 - exempts a protocol file that only gained the ASF license header -2026-09-27T05:28:53.2439311Z --- -2026-09-27T05:28:53.2439785Z duration_ms: 50.369562 -2026-09-27T05:28:53.2440341Z type: 'test' -2026-09-27T05:28:53.2440788Z ... -2026-09-27T05:28:53.2441389Z # Subtest: treats added, deleted, and renamed protocol files as real changes -2026-09-27T05:28:53.2442269Z ok 13 - treats added, deleted, and renamed protocol files as real changes -2026-09-27T05:28:53.2442922Z --- -2026-09-27T05:28:53.2443451Z duration_ms: 69.567245 -2026-09-27T05:28:53.2443927Z type: 'test' -2026-09-27T05:28:53.2444368Z ... -2026-09-27T05:28:53.2445231Z # Subtest: accepts a declaration amended by a later commit on the same branch -2026-09-27T05:28:53.2446057Z ok 14 - accepts a declaration amended by a later commit on the same branch -2026-09-27T05:28:53.2446780Z --- -2026-09-27T05:28:53.2447135Z duration_ms: 75.978936 -2026-09-27T05:28:53.2447530Z type: 'test' -2026-09-27T05:28:53.2447888Z ... -2026-09-27T05:28:53.2448490Z # Subtest: refuses a landed declaration edited to cover a new protocol file -2026-09-27T05:28:53.2449142Z ok 15 - refuses a landed declaration edited to cover a new protocol file -2026-09-27T05:28:53.2449660Z --- -2026-09-27T05:28:53.2450191Z duration_ms: 47.985914 -2026-09-27T05:28:53.2450707Z type: 'test' -2026-09-27T05:28:53.2451120Z ... -2026-09-27T05:28:53.2451681Z # Subtest: names what makes a declaration invalid, and tells a stale one to re-pin -2026-09-27T05:28:53.2452440Z ok 16 - names what makes a declaration invalid, and tells a stale one to re-pin -2026-09-27T05:28:53.2452991Z --- -2026-09-27T05:28:53.2453393Z duration_ms: 0.451016 -2026-09-27T05:28:53.2453786Z type: 'test' -2026-09-27T05:28:53.2454174Z ... -2026-09-27T05:28:53.2454894Z # Subtest: offers a paste-ready declaration when a protocol change has no epoch to show for it -2026-09-27T05:28:53.2455831Z ok 17 - offers a paste-ready declaration when a protocol change has no epoch to show for it -2026-09-27T05:28:53.2456493Z --- -2026-09-27T05:28:53.2456821Z duration_ms: 0.161797 -2026-09-27T05:28:53.2457228Z type: 'test' -2026-09-27T05:28:53.2457566Z ... -2026-09-27T05:28:53.2494894Z 1..17 -2026-09-27T05:28:53.2495408Z # tests 17 -2026-09-27T05:28:53.2495810Z # suites 0 -2026-09-27T05:28:53.2496236Z # pass 17 -2026-09-27T05:28:53.2496721Z # fail 0 -2026-09-27T05:28:53.2497172Z # cancelled 0 -2026-09-27T05:28:53.2497690Z # skipped 0 -2026-09-27T05:28:53.2498063Z # todo 0 -2026-09-27T05:28:53.2498454Z # duration_ms 503.886519 -2026-09-27T05:28:53.2571516Z ##[group]Run node --test scripts/ax-tree-audit.test.mjs scripts/storybook-visual-smoke.test.mjs -2026-09-27T05:28:53.2572285Z node --test scripts/ax-tree-audit.test.mjs scripts/storybook-visual-smoke.test.mjs -2026-09-27T05:28:53.2613920Z shell: /usr/bin/bash -e {0} -2026-09-27T05:28:53.2614307Z ##[endgroup] -2026-09-27T05:28:53.3085448Z TAP version 13 -2026-09-27T05:28:53.3526119Z # Subtest: rejects trees whose only source records are ignored -2026-09-27T05:28:53.3565738Z ok 1 - rejects trees whose only source records are ignored -2026-09-27T05:28:53.3575624Z --- -2026-09-27T05:28:53.3605476Z duration_ms: 1.234118 -2026-09-27T05:28:53.3606016Z type: 'test' -2026-09-27T05:28:53.3606537Z ... -2026-09-27T05:28:53.3607265Z # Subtest: rejects a document shell whose application subtree is fully ignored -2026-09-27T05:28:53.3608241Z ok 2 - rejects a document shell whose application subtree is fully ignored -2026-09-27T05:28:53.3608851Z --- -2026-09-27T05:28:53.3609425Z duration_ms: 1.145613 -2026-09-27T05:28:53.3609829Z type: 'test' -2026-09-27T05:28:53.3610269Z ... -2026-09-27T05:28:53.3610806Z # Subtest: rejects duplicate actions in the same named scope -2026-09-27T05:28:53.3611471Z ok 3 - rejects duplicate actions in the same named scope -2026-09-27T05:28:53.3612050Z --- -2026-09-27T05:28:53.3612433Z duration_ms: 0.842327 -2026-09-27T05:28:53.3612872Z type: 'test' -2026-09-27T05:28:53.3613257Z ... -2026-09-27T05:28:53.3613796Z # Subtest: allows the same action name in distinct named dialogs -2026-09-27T05:28:53.3614957Z ok 4 - allows the same action name in distinct named dialogs -2026-09-27T05:28:53.3615470Z --- -2026-09-27T05:28:53.3615837Z duration_ms: 0.179393 -2026-09-27T05:28:53.3616296Z type: 'test' -2026-09-27T05:28:53.3616632Z ... -2026-09-27T05:28:53.3617109Z # Subtest: uses visible status content to distinguish repeated dismiss actions -2026-09-27T05:28:53.3617860Z ok 5 - uses visible status content to distinguish repeated dismiss actions -2026-09-27T05:28:53.3618447Z --- -2026-09-27T05:28:53.3618835Z duration_ms: 0.429018 -2026-09-27T05:28:53.3619208Z type: 'test' -2026-09-27T05:28:53.3619523Z ... -2026-09-27T05:28:53.3620036Z # Subtest: does not merge long scope names that differ after the diagnostic limit -2026-09-27T05:28:53.3620862Z ok 6 - does not merge long scope names that differ after the diagnostic limit -2026-09-27T05:28:53.3621489Z --- -2026-09-27T05:28:53.3621828Z duration_ms: 0.227293 -2026-09-27T05:28:53.3622203Z type: 'test' -2026-09-27T05:28:53.3622570Z ... -2026-09-27T05:28:53.3623102Z # Subtest: audits large trees without rescanning non-scope ancestor subtrees -2026-09-27T05:28:53.3623897Z ok 7 - audits large trees without rescanning non-scope ancestor subtrees -2026-09-27T05:28:53.3624584Z --- -2026-09-27T05:28:53.3625000Z duration_ms: 4.079027 -2026-09-27T05:28:53.3625419Z type: 'test' -2026-09-27T05:28:53.3625813Z ... -2026-09-27T05:28:53.3626207Z # Subtest: requires state on state-bearing controls -2026-09-27T05:28:53.3626860Z ok 8 - requires state on state-bearing controls -2026-09-27T05:28:53.3627435Z --- -2026-09-27T05:28:53.3627829Z duration_ms: 0.404738 -2026-09-27T05:28:53.3628300Z type: 'test' -2026-09-27T05:28:53.3628707Z ... -2026-09-27T05:28:53.3629305Z # Subtest: requires expanded state on controls that own a disclosure target -2026-09-27T05:28:53.3630166Z ok 9 - requires expanded state on controls that own a disclosure target -2026-09-27T05:28:53.3630804Z --- -2026-09-27T05:28:53.3631244Z duration_ms: 0.502628 -2026-09-27T05:28:53.3631695Z type: 'test' -2026-09-27T05:28:53.3632128Z ... -2026-09-27T05:28:53.3632610Z # Subtest: does not treat a tab panel relationship as a disclosure -2026-09-27T05:28:53.3633297Z ok 10 - does not treat a tab panel relationship as a disclosure -2026-09-27T05:28:53.3633973Z --- -2026-09-27T05:28:53.3634364Z duration_ms: 0.401267 -2026-09-27T05:28:53.3635118Z type: 'test' -2026-09-27T05:28:53.3635446Z ... -2026-09-27T05:28:53.3635784Z # Subtest: requires names on dialogs -2026-09-27T05:28:53.3636692Z ok 11 - requires names on dialogs -2026-09-27T05:28:53.3637163Z --- -2026-09-27T05:28:53.3637555Z duration_ms: 0.183911 -2026-09-27T05:28:53.3637983Z type: 'test' -2026-09-27T05:28:53.3638360Z ... -2026-09-27T05:28:53.3830314Z # Subtest: ordinary catalog stories render the default palette in light mode -2026-09-27T05:28:53.3831730Z ok 12 - ordinary catalog stories render the default palette in light mode -2026-09-27T05:28:53.3832748Z --- -2026-09-27T05:28:53.3833426Z duration_ms: 2.384456 -2026-09-27T05:28:53.3834257Z type: 'test' -2026-09-27T05:28:53.3835005Z ... -2026-09-27T05:28:53.3835983Z # Subtest: dark theme sentinel stories render the default palette in both colour schemes -2026-09-27T05:28:53.3837276Z ok 13 - dark theme sentinel stories render the default palette in both colour schemes -2026-09-27T05:28:53.3838217Z --- -2026-09-27T05:28:53.3838904Z duration_ms: 0.324376 -2026-09-27T05:28:53.3839565Z type: 'test' -2026-09-27T05:28:53.3840223Z ... -2026-09-27T05:28:53.3841026Z # Subtest: long system notes cover both locales at standard and narrow widths -2026-09-27T05:28:53.3842181Z ok 14 - long system notes cover both locales at standard and narrow widths -2026-09-27T05:28:53.3851914Z --- -2026-09-27T05:28:53.3852537Z duration_ms: 0.998824 -2026-09-27T05:28:53.3853264Z type: 'test' -2026-09-27T05:28:53.3853846Z ... -2026-09-27T05:28:53.3854864Z # Subtest: forced-colors stories render under the forced palette -2026-09-27T05:28:53.3855982Z ok 15 - forced-colors stories render under the forced palette -2026-09-27T05:28:53.3857067Z --- -2026-09-27T05:28:53.3857728Z duration_ms: 0.235005 -2026-09-27T05:28:53.3858392Z type: 'test' -2026-09-27T05:28:53.3858887Z ... -2026-09-27T05:28:53.3859708Z # Subtest: the reference story renders every palette in both colour schemes -2026-09-27T05:28:53.3860786Z ok 16 - the reference story renders every palette in both colour schemes -2026-09-27T05:28:53.3861633Z --- -2026-09-27T05:28:53.3862193Z duration_ms: 0.406374 -2026-09-27T05:28:53.3862764Z type: 'test' -2026-09-27T05:28:53.3863334Z ... -2026-09-27T05:28:53.3864025Z # Subtest: a mixed catalog adds only the full palette story theme matrix -2026-09-27T05:28:53.3865155Z ok 17 - a mixed catalog adds only the full palette story theme matrix -2026-09-27T05:28:53.3866015Z --- -2026-09-27T05:28:53.3866495Z duration_ms: 0.3558 -2026-09-27T05:28:53.3867116Z type: 'test' -2026-09-27T05:28:53.3867644Z ... -2026-09-27T05:28:53.3868297Z # Subtest: duplicate palette ids do not duplicate render jobs -2026-09-27T05:28:53.3869245Z ok 18 - duplicate palette ids do not duplicate render jobs -2026-09-27T05:28:53.3869960Z --- -2026-09-27T05:28:53.3870546Z duration_ms: 0.31059 -2026-09-27T05:28:53.3871116Z type: 'test' -2026-09-27T05:28:53.3871744Z ... -2026-09-27T05:28:53.3872571Z # Subtest: catalog jobs require a non-empty palette inventory containing default -2026-09-27T05:28:53.3877472Z ok 19 - catalog jobs require a non-empty palette inventory containing default -2026-09-27T05:28:53.3878479Z --- -2026-09-27T05:28:53.3879019Z duration_ms: 0.64354 -2026-09-27T05:28:53.3879600Z type: 'test' -2026-09-27T05:28:53.3879970Z ... -2026-09-27T05:28:53.3880406Z # Subtest: story URLs encode the selected colour scheme and palette -2026-09-27T05:28:53.3881002Z ok 20 - story URLs encode the selected colour scheme and palette -2026-09-27T05:28:53.3881471Z --- -2026-09-27T05:28:53.3881805Z duration_ms: 0.696334 -2026-09-27T05:28:53.3882218Z type: 'test' -2026-09-27T05:28:53.3882572Z ... -2026-09-27T05:28:53.3883106Z # Subtest: allows the intentional settings read failure only in its error story -2026-09-27T05:28:53.3883732Z ok 21 - allows the intentional settings read failure only in its error story -2026-09-27T05:28:53.3884218Z --- -2026-09-27T05:28:53.3884857Z duration_ms: 0.652796 -2026-09-27T05:28:53.3885334Z type: 'test' -2026-09-27T05:28:53.3885924Z ... -2026-09-27T05:28:53.3886503Z # Subtest: keeps unexpected settings errors fatal, including errors in the error story -2026-09-27T05:28:53.3887341Z ok 22 - keeps unexpected settings errors fatal, including errors in the error story -2026-09-27T05:28:53.3887794Z --- -2026-09-27T05:28:53.3888072Z duration_ms: 0.327292 -2026-09-27T05:28:53.3888430Z type: 'test' -2026-09-27T05:28:53.3888702Z ... -2026-09-27T05:28:53.3889081Z # Subtest: a rescued render is recorded with its story id and reason -2026-09-27T05:28:53.3889562Z ok 23 - a rescued render is recorded with its story id and reason -2026-09-27T05:28:53.3889940Z --- -2026-09-27T05:28:53.3890245Z duration_ms: 0.373616 -2026-09-27T05:28:53.3890542Z type: 'test' -2026-09-27T05:28:53.3890793Z ... -2026-09-27T05:28:53.3891239Z # Subtest: a run with no rescued renders records nothing -2026-09-27T05:28:53.3891653Z ok 24 - a run with no rescued renders records nothing -2026-09-27T05:28:53.3892034Z --- -2026-09-27T05:28:53.3892352Z duration_ms: 0.104691 -2026-09-27T05:28:53.3892695Z type: 'test' -2026-09-27T05:28:53.3893055Z ... -2026-09-27T05:28:53.3893583Z # Subtest: a play assertion exception fails the render even if Storybook emits a finished event -2026-09-27T05:28:53.3894238Z ok 25 - a play assertion exception fails the render even if Storybook emits a finished event -2026-09-27T05:28:53.3894891Z --- -2026-09-27T05:28:53.3895166Z duration_ms: 1.65222 -2026-09-27T05:28:53.3895478Z type: 'test' -2026-09-27T05:28:53.3895747Z ... -2026-09-27T05:28:53.3896178Z # Subtest: WorkHub suggestion geometry runs at both widths in both themes -2026-09-27T05:28:53.3896683Z ok 26 - WorkHub suggestion geometry runs at both widths in both themes -2026-09-27T05:28:53.3897178Z --- -2026-09-27T05:28:53.3897456Z duration_ms: 0.259912 -2026-09-27T05:28:53.3897844Z type: 'test' -2026-09-27T05:28:53.3898127Z ... -2026-09-27T05:28:53.3985208Z 1..26 -2026-09-27T05:28:53.3985603Z # tests 26 -2026-09-27T05:28:53.3986005Z # suites 0 -2026-09-27T05:28:53.3986328Z # pass 26 -2026-09-27T05:28:53.3995188Z # fail 0 -2026-09-27T05:28:53.4006675Z # cancelled 0 -2026-09-27T05:28:53.4007118Z # skipped 0 -2026-09-27T05:28:53.4007461Z # todo 0 -2026-09-27T05:28:53.4007850Z # duration_ms 105.116172 -2026-09-27T05:28:53.4072964Z ##[group]Run node --test scripts/computer-use/lab-root.test.mjs -2026-09-27T05:28:53.4073770Z node --test scripts/computer-use/lab-root.test.mjs -2026-09-27T05:28:53.4121896Z shell: /usr/bin/bash -e {0} -2026-09-27T05:28:53.4122276Z ##[endgroup] -2026-09-27T05:28:53.4553115Z TAP version 13 -2026-09-27T05:28:53.5280562Z # Subtest: Computer Use CLI advertises only the supported evidence commands -2026-09-27T05:28:53.5286510Z ok 1 - Computer Use CLI advertises only the supported evidence commands -2026-09-27T05:28:53.5287600Z --- -2026-09-27T05:28:53.5290781Z duration_ms: 34.705739 -2026-09-27T05:28:53.5291274Z type: 'test' -2026-09-27T05:28:53.5291651Z ... -2026-09-27T05:28:53.5330429Z # Subtest: rejects missing and invalid Computer Use Lab roots -2026-09-27T05:28:53.5332368Z ok 2 - rejects missing and invalid Computer Use Lab roots -2026-09-27T05:28:53.5333616Z --- -2026-09-27T05:28:53.5334009Z duration_ms: 7.722229 -2026-09-27T05:28:53.5334348Z type: 'test' -2026-09-27T05:28:53.5335185Z ... -2026-09-27T05:28:53.5360483Z # Subtest: canonicalizes a valid Computer Use Lab root -2026-09-27T05:28:53.5363543Z ok 3 - canonicalizes a valid Computer Use Lab root -2026-09-27T05:28:53.5364543Z --- -2026-09-27T05:28:53.5364978Z duration_ms: 2.839122 -2026-09-27T05:28:53.5365457Z type: 'test' -2026-09-27T05:28:53.5366017Z ... -2026-09-27T05:28:53.5381589Z # Subtest: Lab-backed entry points require the configured root -2026-09-27T05:28:53.5382481Z ok 4 - Lab-backed entry points require the configured root -2026-09-27T05:28:53.5383259Z --- -2026-09-27T05:28:53.5383734Z duration_ms: 2.267509 -2026-09-27T05:28:53.5384565Z type: 'test' -2026-09-27T05:28:53.5385059Z ... -2026-09-27T05:28:53.5387674Z # Subtest: real AX harness supplies every explicit runtime permission authority -2026-09-27T05:28:53.5389309Z ok 5 - real AX harness supplies every explicit runtime permission authority -2026-09-27T05:28:53.5390171Z --- -2026-09-27T05:28:53.5390705Z duration_ms: 0.836229 -2026-09-27T05:28:53.5391190Z type: 'test' -2026-09-27T05:28:53.5391599Z ... -2026-09-27T05:28:53.5472196Z 1..5 -2026-09-27T05:28:53.5472606Z # tests 5 -2026-09-27T05:28:53.5473156Z # suites 0 -2026-09-27T05:28:53.5473501Z # pass 5 -2026-09-27T05:28:53.5473838Z # fail 0 -2026-09-27T05:28:53.5474209Z # cancelled 0 -2026-09-27T05:28:53.5474679Z # skipped 0 -2026-09-27T05:28:53.5475099Z # todo 0 -2026-09-27T05:28:53.5475463Z # duration_ms 102.249232 -2026-09-27T05:28:53.5552332Z ##[group]Run node --test scripts/script-entrypoints.test.mjs -2026-09-27T05:28:53.5553100Z node --test scripts/script-entrypoints.test.mjs -2026-09-27T05:28:53.5598418Z shell: /usr/bin/bash -e {0} -2026-09-27T05:28:53.5598854Z ##[endgroup] -2026-09-27T05:28:53.6089210Z TAP version 13 -2026-09-27T05:28:53.6479363Z # Subtest: direct script guards encode entrypoint paths with spaces -2026-09-27T05:28:53.6486775Z ok 1 - direct script guards encode entrypoint paths with spaces -2026-09-27T05:28:53.6487419Z --- -2026-09-27T05:28:53.6487781Z duration_ms: 4.738473 -2026-09-27T05:28:53.6488376Z type: 'test' -2026-09-27T05:28:53.6488756Z ... -2026-09-27T05:28:53.6552173Z 1..1 -2026-09-27T05:28:53.6553281Z # tests 1 -2026-09-27T05:28:53.6554200Z # suites 0 -2026-09-27T05:28:53.6554967Z # pass 1 -2026-09-27T05:28:53.6555615Z # fail 0 -2026-09-27T05:28:53.6556335Z # cancelled 0 -2026-09-27T05:28:53.6556941Z # skipped 0 -2026-09-27T05:28:53.6557924Z # todo 0 -2026-09-27T05:28:53.6558702Z # duration_ms 56.630887 -2026-09-27T05:28:53.6627077Z ##[group]Run node --test scripts/plugins/codex-app-server-executor/test/plugin.test.mjs -2026-09-27T05:28:53.6627914Z node --test scripts/plugins/codex-app-server-executor/test/plugin.test.mjs -2026-09-27T05:28:53.6669335Z shell: /usr/bin/bash -e {0} -2026-09-27T05:28:53.6669717Z ##[endgroup] -2026-09-27T05:28:53.7114885Z TAP version 13 -2026-09-27T05:28:53.7511426Z # Subtest: package registers the main-compatible executor and lifecycle order -2026-09-27T05:28:53.7529104Z ok 1 - package registers the main-compatible executor and lifecycle order -2026-09-27T05:28:53.7530052Z --- -2026-09-27T05:28:53.7530533Z duration_ms: 4.325583 -2026-09-27T05:28:53.7531229Z type: 'test' -2026-09-27T05:28:53.7531634Z ... -2026-09-27T05:28:53.7600423Z # Subtest: client bundle merges Codex and native models in the Composer model selector -2026-09-27T05:28:53.7601504Z ok 2 - client bundle merges Codex and native models in the Composer model selector -2026-09-27T05:28:53.7602280Z --- -2026-09-27T05:28:53.7602887Z duration_ms: 4.753318 -2026-09-27T05:28:53.7603370Z type: 'test' -2026-09-27T05:28:53.7603783Z ... -2026-09-27T05:28:53.7607001Z # Subtest: configuration validates safe unattended defaults -2026-09-27T05:28:53.7607677Z ok 3 - configuration validates safe unattended defaults -2026-09-27T05:28:53.7608141Z --- -2026-09-27T05:28:53.7608478Z duration_ms: 0.499873 -2026-09-27T05:28:53.7608801Z type: 'test' -2026-09-27T05:28:53.7609147Z ... -2026-09-27T05:28:53.7949293Z # Subtest: client lists Codex models and their supported reasoning efforts -2026-09-27T05:28:53.7950387Z ok 4 - client lists Codex models and their supported reasoning efforts -2026-09-27T05:28:53.7952836Z --- -2026-09-27T05:28:53.7953543Z duration_ms: 36.19477 -2026-09-27T05:28:53.7954177Z type: 'test' -2026-09-27T05:28:53.7954969Z ... -2026-09-27T05:28:53.7955810Z # Subtest: client bounds model paging even when every App Server page is malformed -2026-09-27T05:28:53.7961843Z ok 5 - client bounds model paging even when every App Server page is malformed -2026-09-27T05:28:53.7962731Z --- -2026-09-27T05:28:53.7963208Z duration_ms: 0.487186 -2026-09-27T05:28:53.7963635Z type: 'test' -2026-09-27T05:28:53.7964045Z ... -2026-09-27T05:28:53.8285482Z # Subtest: client reuses a thread and projects rich events while declining approvals -2026-09-27T05:28:53.8287691Z ok 6 - client reuses a thread and projects rich events while declining approvals -2026-09-27T05:28:53.8288317Z --- -2026-09-27T05:28:53.8288695Z duration_ms: 33.738837 -2026-09-27T05:28:53.8289124Z type: 'test' -2026-09-27T05:28:53.8289633Z ... -2026-09-27T05:28:53.8635952Z # Subtest: Session model overrides the plugin fallback and every turn refreshes model and effort -2026-09-27T05:28:53.8637487Z ok 7 - Session model overrides the plugin fallback and every turn refreshes model and effort -2026-09-27T05:28:53.8638479Z --- -2026-09-27T05:28:53.8639156Z duration_ms: 34.579364 -2026-09-27T05:28:53.8639809Z type: 'test' -2026-09-27T05:28:53.8640513Z ... -2026-09-27T05:28:53.8962517Z # Subtest: plugin model remains the new-thread fallback when the Session has no model -2026-09-27T05:28:53.8964045Z ok 8 - plugin model remains the new-thread fallback when the Session has no model -2026-09-27T05:28:53.8965376Z --- -2026-09-27T05:28:53.8966095Z duration_ms: 32.259972 -2026-09-27T05:28:53.8966857Z type: 'test' -2026-09-27T05:28:53.8967506Z ... -2026-09-27T05:28:53.9497235Z # Subtest: client interrupts an active Codex turn on Maka cancellation -2026-09-27T05:28:53.9498540Z ok 9 - client interrupts an active Codex turn on Maka cancellation -2026-09-27T05:28:53.9499213Z --- -2026-09-27T05:28:53.9499635Z duration_ms: 54.023665 -2026-09-27T05:28:53.9500215Z type: 'test' -2026-09-27T05:28:53.9500791Z ... -2026-09-27T05:28:55.0543580Z # Subtest: client settles cancellation when App Server omits turn/completed -2026-09-27T05:28:55.0545029Z ok 10 - client settles cancellation when App Server omits turn/completed -2026-09-27T05:28:55.0545831Z --- -2026-09-27T05:28:55.0546878Z duration_ms: 1105.068779 -2026-09-27T05:28:55.0547466Z type: 'test' -2026-09-27T05:28:55.0548083Z ... -2026-09-27T05:28:55.0548796Z # Subtest: malformed messages and closed response transports never throw into the Host -2026-09-27T05:28:55.0549734Z ok 11 - malformed messages and closed response transports never throw into the Host -2026-09-27T05:28:55.0550391Z --- -2026-09-27T05:28:55.0550760Z duration_ms: 0.600682 -2026-09-27T05:28:55.0551190Z type: 'test' -2026-09-27T05:28:55.0551554Z ... -2026-09-27T05:28:55.0552103Z # Subtest: attachments are rejected instead of being silently dropped -2026-09-27T05:28:55.0552962Z ok 12 - attachments are rejected instead of being silently dropped -2026-09-27T05:28:55.0553391Z --- -2026-09-27T05:28:55.0553673Z duration_ms: 0.231236 -2026-09-27T05:28:55.0553977Z type: 'test' -2026-09-27T05:28:55.0554256Z ... -2026-09-27T05:28:55.0625544Z 1..12 -2026-09-27T05:28:55.0625899Z # tests 12 -2026-09-27T05:28:55.0626189Z # suites 0 -2026-09-27T05:28:55.0626465Z # pass 12 -2026-09-27T05:28:55.0626788Z # fail 0 -2026-09-27T05:28:55.0627056Z # cancelled 0 -2026-09-27T05:28:55.0645751Z # skipped 0 -2026-09-27T05:28:55.0646026Z # todo 0 -2026-09-27T05:28:55.0646368Z # duration_ms 1362.927545 -2026-09-27T05:28:55.0694076Z ##[group]Run node --test --test-concurrency=1 scripts/update-test-feed-wiring.test.mjs -2026-09-27T05:28:55.0694894Z node --test --test-concurrency=1 scripts/update-test-feed-wiring.test.mjs -2026-09-27T05:28:55.0735249Z shell: /usr/bin/bash -e {0} -2026-09-27T05:28:55.0735573Z ##[endgroup] -2026-09-27T05:28:55.1189588Z TAP version 13 -2026-09-27T05:28:55.1593486Z # Subtest: the packaged boot path hands the harness feed to the update service -2026-09-27T05:28:55.1600396Z ok 1 - the packaged boot path hands the harness feed to the update service -2026-09-27T05:28:55.1601227Z --- -2026-09-27T05:28:55.1601789Z duration_ms: 1.389768 -2026-09-27T05:28:55.1602315Z type: 'test' -2026-09-27T05:28:55.1602771Z ... -2026-09-27T05:28:55.1615401Z # Subtest: the harness feed still redirects packaged user data away from the real root -2026-09-27T05:28:55.1621662Z ok 2 - the harness feed still redirects packaged user data away from the real root -2026-09-27T05:28:55.1622446Z --- -2026-09-27T05:28:55.1622983Z duration_ms: 0.341459 -2026-09-27T05:28:55.1623475Z type: 'test' -2026-09-27T05:28:55.1623910Z ... -2026-09-27T05:28:55.1624591Z # Subtest: the Windows autoupdate verifier is what supplies the feed -2026-09-27T05:28:55.1625399Z ok 3 - the Windows autoupdate verifier is what supplies the feed -2026-09-27T05:28:55.1625978Z --- -2026-09-27T05:28:55.1626404Z duration_ms: 1.110678 -2026-09-27T05:28:55.1627297Z type: 'test' -2026-09-27T05:28:55.1627898Z ... -2026-09-27T05:28:55.1680022Z 1..3 -2026-09-27T05:28:55.1680348Z # tests 3 -2026-09-27T05:28:55.1680658Z # suites 0 -2026-09-27T05:28:55.1681113Z # pass 3 -2026-09-27T05:28:55.1681592Z # fail 0 -2026-09-27T05:28:55.1681970Z # cancelled 0 -2026-09-27T05:28:55.1682494Z # skipped 0 -2026-09-27T05:28:55.1683072Z # todo 0 -2026-09-27T05:28:55.1683371Z # duration_ms 59.85192 -2026-09-27T05:28:55.1752700Z ##[group]Run npm run check:app-shell-hooks -2026-09-27T05:28:55.1753053Z npm run check:app-shell-hooks -2026-09-27T05:28:55.1793715Z shell: /usr/bin/bash -e {0} -2026-09-27T05:28:55.1794005Z ##[endgroup] -2026-09-27T05:28:55.2662867Z -2026-09-27T05:28:55.2663850Z > maka@0.2.0 check:app-shell-hooks -2026-09-27T05:28:55.2664327Z > node scripts/check-app-shell-hooks.mjs -2026-09-27T05:28:55.2664842Z -2026-09-27T05:28:55.3169379Z app-shell hook scope: ok (35 hooks, 57 call sites across AppShell + AppShellContent) -2026-09-27T05:28:55.3276657Z ##[group]Run node --test --test-concurrency=1 scripts/check-app-shell-hooks.test.mjs -2026-09-27T05:28:55.3277274Z node --test --test-concurrency=1 scripts/check-app-shell-hooks.test.mjs -2026-09-27T05:28:55.3316925Z shell: /usr/bin/bash -e {0} -2026-09-27T05:28:55.3317209Z ##[endgroup] -2026-09-27T05:28:55.3785498Z TAP version 13 -2026-09-27T05:28:55.4261204Z # Subtest: each shell component is delimited by its own braces -2026-09-27T05:28:55.4266945Z ok 1 - each shell component is delimited by its own braces -2026-09-27T05:28:55.4268121Z --- -2026-09-27T05:28:55.4268919Z duration_ms: 2.543411 -2026-09-27T05:28:55.4269394Z type: 'test' -2026-09-27T05:28:55.4269761Z ... -2026-09-27T05:28:55.4272252Z # Subtest: a destructured parameter is not mistaken for the body -2026-09-27T05:28:55.4273572Z ok 2 - a destructured parameter is not mistaken for the body -2026-09-27T05:28:55.4274131Z --- -2026-09-27T05:28:55.4274686Z duration_ms: 0.417253 -2026-09-27T05:28:55.4275188Z type: 'test' -2026-09-27T05:28:55.4275623Z ... -2026-09-27T05:28:55.4276165Z # Subtest: an unknown component is reported rather than guessed at -2026-09-27T05:28:55.4277543Z ok 3 - an unknown component is reported rather than guessed at -2026-09-27T05:28:55.4278069Z --- -2026-09-27T05:28:55.4278439Z duration_ms: 0.387697 -2026-09-27T05:28:55.4278865Z type: 'test' -2026-09-27T05:28:55.4279239Z ... -2026-09-27T05:28:55.4279804Z # Subtest: an arrow component is found too, so a refactor cannot silence the gate -2026-09-27T05:28:55.4280588Z ok 4 - an arrow component is found too, so a refactor cannot silence the gate -2026-09-27T05:28:55.4281155Z --- -2026-09-27T05:28:55.4285378Z duration_ms: 0.241347 -2026-09-27T05:28:55.4285721Z type: 'test' -2026-09-27T05:28:55.4286115Z ... -2026-09-27T05:28:55.4286493Z # Subtest: an exported declaration is found -2026-09-27T05:28:55.4286969Z ok 5 - an exported declaration is found -2026-09-27T05:28:55.4287354Z --- -2026-09-27T05:28:55.4287631Z duration_ms: 0.201848 -2026-09-27T05:28:55.4287959Z type: 'test' -2026-09-27T05:28:55.4288314Z ... -2026-09-27T05:28:55.4289190Z # Subtest: a brace in column zero does not end the body early -2026-09-27T05:28:55.4289949Z ok 6 - a brace in column zero does not end the body early -2026-09-27T05:28:55.4290614Z --- -2026-09-27T05:28:55.4297686Z duration_ms: 1.007475 -2026-09-27T05:28:55.4298235Z type: 'test' -2026-09-27T05:28:55.4298628Z ... -2026-09-27T05:28:55.4299149Z # Subtest: an explicit type argument is still a call site -2026-09-27T05:28:55.4304641Z ok 7 - an explicit type argument is still a call site -2026-09-27T05:28:55.4305268Z --- -2026-09-27T05:28:55.4305690Z duration_ms: 0.275021 -2026-09-27T05:28:55.4306145Z type: 'test' -2026-09-27T05:28:55.4306553Z ... -2026-09-27T05:28:55.4307118Z # Subtest: a member call on something other than React is not a hook -2026-09-27T05:28:55.4307912Z ok 8 - a member call on something other than React is not a hook -2026-09-27T05:28:55.4308510Z --- -2026-09-27T05:28:55.4308933Z duration_ms: 0.118829 -2026-09-27T05:28:55.4309383Z type: 'test' -2026-09-27T05:28:55.4309793Z ... -2026-09-27T05:28:55.4310368Z # Subtest: the React namespace form is the same call site as the bare name -2026-09-27T05:28:55.4311204Z ok 9 - the React namespace form is the same call site as the bare name -2026-09-27T05:28:55.4311835Z --- -2026-09-27T05:28:55.4312294Z duration_ms: 0.324921 -2026-09-27T05:28:55.4312747Z type: 'test' -2026-09-27T05:28:55.4322017Z ... -2026-09-27T05:28:55.4322789Z # Subtest: React 19's bare `use` is a hook, and identifiers merely starting with `use` are not -2026-09-27T05:28:55.4323783Z ok 10 - React 19's bare `use` is a hook, and identifiers merely starting with `use` are not -2026-09-27T05:28:55.4324635Z --- -2026-09-27T05:28:55.4325021Z duration_ms: 0.334798 -2026-09-27T05:28:55.4325511Z type: 'test' -2026-09-27T05:28:55.4325909Z ... -2026-09-27T05:28:55.4326459Z # Subtest: a namespace import of React is refused rather than under-counted -2026-09-27T05:28:55.4327600Z ok 11 - a namespace import of React is refused rather than under-counted -2026-09-27T05:28:55.4328131Z --- -2026-09-27T05:28:55.4328484Z duration_ms: 0.403287 -2026-09-27T05:28:55.4328816Z type: 'test' -2026-09-27T05:28:55.4329085Z ... -2026-09-27T05:28:55.4329517Z # Subtest: a type position is not a call site -2026-09-27T05:28:55.4330057Z ok 12 - a type position is not a call site -2026-09-27T05:28:55.4330521Z --- -2026-09-27T05:28:55.4330871Z duration_ms: 0.109108 -2026-09-27T05:28:55.4331260Z type: 'test' -2026-09-27T05:28:55.4331743Z ... -2026-09-27T05:28:55.4332184Z # Subtest: a call split across lines is still a call site -2026-09-27T05:28:55.4332790Z ok 13 - a call split across lines is still a call site -2026-09-27T05:28:55.4333282Z --- -2026-09-27T05:28:55.4333633Z duration_ms: 0.072844 -2026-09-27T05:28:55.4334002Z type: 'test' -2026-09-27T05:28:55.4334359Z ... -2026-09-27T05:28:55.4334921Z # Subtest: prose naming a hook is not a call site -2026-09-27T05:28:55.4335476Z ok 14 - prose naming a hook is not a call site -2026-09-27T05:28:55.4335897Z --- -2026-09-27T05:28:55.4336177Z duration_ms: 0.098945 -2026-09-27T05:28:55.4336469Z type: 'test' -2026-09-27T05:28:55.4336729Z ... -2026-09-27T05:28:55.4337088Z # Subtest: an apostrophe in JSX text does not swallow the rest of the body -2026-09-27T05:28:55.4337591Z ok 15 - an apostrophe in JSX text does not swallow the rest of the body -2026-09-27T05:28:55.4338018Z --- -2026-09-27T05:28:55.4338277Z duration_ms: 0.06123 -2026-09-27T05:28:55.4338555Z type: 'test' -2026-09-27T05:28:55.4338820Z ... -2026-09-27T05:28:55.4339197Z # Subtest: a regex literal containing a quote does not swallow the rest of the body -2026-09-27T05:28:55.4339742Z ok 16 - a regex literal containing a quote does not swallow the rest of the body -2026-09-27T05:28:55.4340160Z --- -2026-09-27T05:28:55.4340418Z duration_ms: 0.056508 -2026-09-27T05:28:55.4340699Z type: 'test' -2026-09-27T05:28:55.4340958Z ... -2026-09-27T05:28:55.4341280Z # Subtest: a JSX closing tag is not the start of a regex literal -2026-09-27T05:28:55.4341719Z ok 17 - a JSX closing tag is not the start of a regex literal -2026-09-27T05:28:55.4342071Z --- -2026-09-27T05:28:55.4342326Z duration_ms: 0.054366 -2026-09-27T05:28:55.4342695Z type: 'test' -2026-09-27T05:28:55.4343036Z ... -2026-09-27T05:28:55.4343450Z # Subtest: an escaped quote does not swallow the rest of the body -2026-09-27T05:28:55.4344056Z ok 18 - an escaped quote does not swallow the rest of the body -2026-09-27T05:28:55.4344567Z --- -2026-09-27T05:28:55.4344911Z duration_ms: 0.056013 -2026-09-27T05:28:55.4345369Z type: 'test' -2026-09-27T05:28:55.4345621Z ... -2026-09-27T05:28:55.4345906Z # Subtest: a URL is not mistaken for a line comment -2026-09-27T05:28:55.4346292Z ok 19 - a URL is not mistaken for a line comment -2026-09-27T05:28:55.4346551Z --- -2026-09-27T05:28:55.4346734Z duration_ms: 0.054661 -2026-09-27T05:28:55.4346935Z type: 'test' -2026-09-27T05:28:55.4347116Z ... -2026-09-27T05:28:55.4347383Z # Subtest: blanking preserves offsets, so a body keeps its shape -2026-09-27T05:28:55.4347761Z ok 20 - blanking preserves offsets, so a body keeps its shape -2026-09-27T05:28:55.4348054Z --- -2026-09-27T05:28:55.4348243Z duration_ms: 0.093085 -2026-09-27T05:28:55.4348447Z type: 'test' -2026-09-27T05:28:55.4348632Z ... -2026-09-27T05:28:55.4348915Z # Subtest: purely derived hooks do not widen a scope, so they are not counted -2026-09-27T05:28:55.4349345Z ok 21 - purely derived hooks do not widen a scope, so they are not counted -2026-09-27T05:28:55.4349688Z --- -2026-09-27T05:28:55.4349884Z duration_ms: 0.075262 -2026-09-27T05:28:55.4350100Z type: 'test' -2026-09-27T05:28:55.4350295Z ... -2026-09-27T05:28:55.4350547Z # Subtest: a new hook in the render body fails the gate -2026-09-27T05:28:55.4350903Z ok 22 - a new hook in the render body fails the gate -2026-09-27T05:28:55.4351174Z --- -2026-09-27T05:28:55.4351360Z duration_ms: 0.146444 -2026-09-27T05:28:55.4351571Z type: 'test' -2026-09-27T05:28:55.4351762Z ... -2026-09-27T05:28:55.4352260Z # Subtest: a second call site of an inventoried hook fails the gate -2026-09-27T05:28:55.4352659Z ok 23 - a second call site of an inventoried hook fails the gate -2026-09-27T05:28:55.4352965Z --- -2026-09-27T05:28:55.4353182Z duration_ms: 0.068529 -2026-09-27T05:28:55.4353399Z type: 'test' -2026-09-27T05:28:55.4353609Z ... -2026-09-27T05:28:55.4353928Z # Subtest: a migrated hook fails until its entry is deleted, so the gate converges -2026-09-27T05:28:55.4354576Z ok 24 - a migrated hook fails until its entry is deleted, so the gate converges -2026-09-27T05:28:55.4355096Z --- -2026-09-27T05:28:55.4355290Z duration_ms: 0.05658 -2026-09-27T05:28:55.4355506Z type: 'test' -2026-09-27T05:28:55.4355701Z ... -2026-09-27T05:28:55.4558420Z # Subtest: the committed inventory matches the shell as it stands -2026-09-27T05:28:55.4559123Z ok 25 - the committed inventory matches the shell as it stands -2026-09-27T05:28:55.4559463Z --- -2026-09-27T05:28:55.4559672Z duration_ms: 34.061882 -2026-09-27T05:28:55.4559912Z type: 'test' -2026-09-27T05:28:55.4560149Z ... -2026-09-27T05:28:55.4649653Z # Subtest: the shell body is delimited to something plausible, not to the whole file -2026-09-27T05:28:55.4650586Z ok 26 - the shell body is delimited to something plausible, not to the whole file -2026-09-27T05:28:55.4651188Z --- -2026-09-27T05:28:55.4651546Z duration_ms: 9.166195 -2026-09-27T05:28:55.4651923Z type: 'test' -2026-09-27T05:28:55.4652277Z ... -2026-09-27T05:28:55.4741644Z 1..26 -2026-09-27T05:28:55.4741958Z # tests 26 -2026-09-27T05:28:55.4742240Z # suites 0 -2026-09-27T05:28:55.4742479Z # pass 26 -2026-09-27T05:28:55.4742713Z # fail 0 -2026-09-27T05:28:55.4742952Z # cancelled 0 -2026-09-27T05:28:55.4743227Z # skipped 0 -2026-09-27T05:28:55.4743460Z # todo 0 -2026-09-27T05:28:55.4743824Z # duration_ms 106.749076 -2026-09-27T05:28:55.4811357Z ##[group]Run npm run check:asf-npm -2026-09-27T05:28:55.4811663Z npm run check:asf-npm -2026-09-27T05:28:55.4852744Z shell: /usr/bin/bash -e {0} -2026-09-27T05:28:55.4853047Z ##[endgroup] -2026-09-27T05:28:55.5764122Z -2026-09-27T05:28:55.5764821Z > maka@0.2.0 check:asf-npm -2026-09-27T05:28:55.5765387Z > node --test scripts/asf-npm-workflow-policy.test.mjs -2026-09-27T05:28:55.5765624Z -2026-09-27T05:28:55.6161330Z TAP version 13 -2026-09-27T05:28:55.6499914Z # Subtest: ASF npm preflight validates the source RC package without publishing -2026-09-27T05:28:55.6508919Z ok 1 - ASF npm preflight validates the source RC package without publishing -2026-09-27T05:28:55.6509514Z --- -2026-09-27T05:28:55.6509748Z duration_ms: 0.840287 -2026-09-27T05:28:55.6509977Z type: 'test' -2026-09-27T05:28:55.6510170Z ... -2026-09-27T05:28:55.6581587Z 1..1 -2026-09-27T05:28:55.6582546Z # tests 1 -2026-09-27T05:28:55.6583395Z # suites 0 -2026-09-27T05:28:55.6583769Z # pass 1 -2026-09-27T05:28:55.6585362Z # fail 0 -2026-09-27T05:28:55.6585712Z # cancelled 0 -2026-09-27T05:28:55.6586041Z # skipped 0 -2026-09-27T05:28:55.6586864Z # todo 0 -2026-09-27T05:28:55.6587305Z # duration_ms 52.366808 -2026-09-27T05:28:55.6695618Z ##[group]Run npm run check:asf-headers -2026-09-27T05:28:55.6695949Z npm run check:asf-headers -2026-09-27T05:28:55.6736251Z shell: /usr/bin/bash -e {0} -2026-09-27T05:28:55.6736541Z ##[endgroup] -2026-09-27T05:28:55.7625682Z -2026-09-27T05:28:55.7626186Z > maka@0.2.0 check:asf-headers -2026-09-27T05:28:55.7626700Z > node scripts/asf-license-headers.mjs check -2026-09-27T05:28:55.7627023Z -2026-09-27T05:28:56.6956048Z Audited 4068 covered and 251 excluded file(s) in checkout mode at /home/runner/work/maka/maka -2026-09-27T05:28:56.6958019Z Every source file carries the ASF header or a reviewed exclusion. -2026-09-27T05:28:56.7125402Z ##[group]Run node scripts/asf-source-release.mjs create --revision HEAD --version "$(node -p 'require("./package.json").version')" -2026-09-27T05:28:56.7126199Z node scripts/asf-source-release.mjs create --revision HEAD --version "$(node -p 'require("./package.json").version')" -2026-09-27T05:28:56.7166728Z shell: /usr/bin/bash -e {0} -2026-09-27T05:28:56.7167056Z ##[endgroup] -2026-09-27T05:29:03.5653319Z Created /home/runner/work/maka/maka/release/asf/apache-maka-0.2.0-incubating-src.tar.gz -2026-09-27T05:29:03.5654045Z Commit 7bfadeae3cbf5c7e2ea368eb3dbdedcb34590feb -2026-09-27T05:29:03.5746527Z ##[group]Run node --test scripts/check-locale-hygiene.test.mjs -2026-09-27T05:29:03.5746994Z node --test scripts/check-locale-hygiene.test.mjs -2026-09-27T05:29:03.5747334Z if [[ -n "$BASE_SHA" ]]; then -2026-09-27T05:29:03.5747666Z  npm run check:locale-hygiene -- --base "$BASE_SHA" -2026-09-27T05:29:03.5748096Z else -2026-09-27T05:29:03.5748322Z  npm run check:locale-hygiene -2026-09-27T05:29:03.5748583Z fi -2026-09-27T05:29:03.5787832Z shell: /usr/bin/bash -e {0} -2026-09-27T05:29:03.5788117Z env: -2026-09-27T05:29:03.5788379Z BASE_SHA: d89ccce01ab631d63de2a8986fc76a1960af8dc2 -2026-09-27T05:29:03.5788688Z ##[endgroup] -2026-09-27T05:29:03.6228286Z TAP version 13 -2026-09-27T05:29:03.6630375Z # Subtest: flags locale literal comparisons in either quote style -2026-09-27T05:29:03.6635237Z ok 1 - flags locale literal comparisons in either quote style -2026-09-27T05:29:03.6637545Z --- -2026-09-27T05:29:03.6638178Z duration_ms: 3.02444 -2026-09-27T05:29:03.6638787Z type: 'test' -2026-09-27T05:29:03.6639584Z ... -2026-09-27T05:29:03.6640101Z # Subtest: counts every match on a line, not the line -2026-09-27T05:29:03.6640693Z ok 2 - counts every match on a line, not the line -2026-09-27T05:29:03.6641157Z --- -2026-09-27T05:29:03.6641466Z duration_ms: 0.454491 -2026-09-27T05:29:03.6641844Z type: 'test' -2026-09-27T05:29:03.6642155Z ... -2026-09-27T05:29:03.6642588Z # Subtest: flags silent locale defaults and payload sniffing -2026-09-27T05:29:03.6647637Z ok 3 - flags silent locale defaults and payload sniffing -2026-09-27T05:29:03.6655711Z --- -2026-09-27T05:29:03.6656507Z duration_ms: 0.332222 -2026-09-27T05:29:03.6657249Z type: 'test' -2026-09-27T05:29:03.6657605Z ... -2026-09-27T05:29:03.6657926Z # Subtest: ignores catalog indexing -2026-09-27T05:29:03.6658382Z ok 4 - ignores catalog indexing -2026-09-27T05:29:03.6658739Z --- -2026-09-27T05:29:03.6659042Z duration_ms: 0.131685 -2026-09-27T05:29:03.6659385Z type: 'test' -2026-09-27T05:29:03.6659649Z ... -2026-09-27T05:29:03.6659962Z # Subtest: compare fails only on growth per rule -2026-09-27T05:29:03.6660456Z ok 5 - compare fails only on growth per rule -2026-09-27T05:29:03.6660838Z --- -2026-09-27T05:29:03.6661118Z duration_ms: 0.387119 -2026-09-27T05:29:03.6661417Z type: 'test' -2026-09-27T05:29:03.6661703Z ... -2026-09-27T05:29:03.6662057Z # Subtest: flags a Han fallback handed to the en-only helper -2026-09-27T05:29:03.6662604Z ok 6 - flags a Han fallback handed to the en-only helper -2026-09-27T05:29:03.6663057Z --- -2026-09-27T05:29:03.6663343Z duration_ms: 0.122997 -2026-09-27T05:29:03.6663659Z type: 'test' -2026-09-27T05:29:03.6663932Z ... -2026-09-27T05:29:03.6664314Z # Subtest: flags a literal title in a native dialog call -2026-09-27T05:29:03.6665015Z ok 7 - flags a literal title in a native dialog call -2026-09-27T05:29:03.6665452Z --- -2026-09-27T05:29:03.6665730Z duration_ms: 0.211296 -2026-09-27T05:29:03.6666035Z type: 'test' -2026-09-27T05:29:03.6666334Z ... -2026-09-27T05:29:03.6721900Z 1..7 -2026-09-27T05:29:03.6722217Z # tests 7 -2026-09-27T05:29:03.6722477Z # suites 0 -2026-09-27T05:29:03.6722720Z # pass 7 -2026-09-27T05:29:03.6722946Z # fail 0 -2026-09-27T05:29:03.6723178Z # cancelled 0 -2026-09-27T05:29:03.6723435Z # skipped 0 -2026-09-27T05:29:03.6723970Z # todo 0 -2026-09-27T05:29:03.6724321Z # duration_ms 60.194653 -2026-09-27T05:29:03.7587966Z -2026-09-27T05:29:03.7589081Z > maka@0.2.0 check:locale-hygiene -2026-09-27T05:29:03.7590203Z > node scripts/check-locale-hygiene.mjs --base d89ccce01ab631d63de2a8986fc76a1960af8dc2 -2026-09-27T05:29:03.7590984Z -2026-09-27T05:29:05.0812745Z Locale hygiene check passed. -2026-09-27T05:29:05.0970332Z ##[group]Run actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 -2026-09-27T05:29:05.0970702Z with: -2026-09-27T05:29:05.0970909Z node-version: 24 -2026-09-27T05:29:05.0971118Z cache: npm -2026-09-27T05:29:05.0971323Z check-latest: false -2026-09-27T05:29:05.0973487Z token: *** -2026-09-27T05:29:05.0973706Z package-manager-cache: true -2026-09-27T05:29:05.0973952Z ##[endgroup] -2026-09-27T05:29:05.2207744Z Found in cache @ /opt/hostedtoolcache/node/24.21.0/x64 -2026-09-27T05:29:05.2209920Z ##[group]Environment details -2026-09-27T05:29:05.5901682Z node: v24.21.0 -2026-09-27T05:29:05.5902051Z npm: 11.19.0 -2026-09-27T05:29:05.5902654Z yarn: 1.22.22 -2026-09-27T05:29:05.5903174Z ##[endgroup] -2026-09-27T05:29:05.5918320Z [command]/opt/hostedtoolcache/node/24.21.0/x64/bin/npm config get cache -2026-09-27T05:29:05.6983990Z /home/runner/.npm -2026-09-27T05:29:05.8238763Z Cache hit for: node-cache-Linux-x64-npm-7c16d5ef1a6cdb54d21ed5ef38633e29c6d2cae966c135b32f943cea66cd25a0 -2026-09-27T05:29:06.9436789Z Received 134217728 of 236212523 (56.8%), 127.9 MBs/sec -2026-09-27T05:29:07.3028071Z Received 236212523 of 236212523 (100.0%), 165.5 MBs/sec -2026-09-27T05:29:07.3038157Z Cache Size: ~225 MB (236212523 B) -2026-09-27T05:29:07.3139333Z [command]/usr/bin/tar -xf /home/runner/work/_temp/9fd01933-829c-40b3-bb62-31c28c86d0c4/cache.tzst -P -C /home/runner/work/maka/maka --use-compress-program unzstd -2026-09-27T05:29:07.5998150Z Cache restored successfully -2026-09-27T05:29:07.6092382Z Cache restored from key: node-cache-Linux-x64-npm-7c16d5ef1a6cdb54d21ed5ef38633e29c6d2cae966c135b32f943cea66cd25a0 -2026-09-27T05:29:07.6230336Z ##[group]Run npm install --global --no-audit --no-fund "$(node -p 'require("./package.json").packageManager')" -2026-09-27T05:29:07.6231031Z npm install --global --no-audit --no-fund "$(node -p 'require("./package.json").packageManager')" -2026-09-27T05:29:07.6278535Z shell: /usr/bin/bash -e {0} -2026-09-27T05:29:07.6278840Z ##[endgroup] -2026-09-27T05:29:11.1862503Z -2026-09-27T05:29:11.1870029Z changed 10 packages in 3s -2026-09-27T05:29:11.2708446Z ##[group]Run actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 -2026-09-27T05:29:11.2708805Z with: -2026-09-27T05:29:11.2709035Z path: ~/.cache/electron -2026-09-27T05:29:11.2709452Z key: electron-Linux-7c16d5ef1a6cdb54d21ed5ef38633e29c6d2cae966c135b32f943cea66cd25a0 -2026-09-27T05:29:11.2709905Z restore-keys: electron-Linux- -2026-09-27T05:29:11.2710179Z enableCrossOsArchive: false -2026-09-27T05:29:11.2710448Z fail-on-cache-miss: false -2026-09-27T05:29:11.2710692Z lookup-only: false -2026-09-27T05:29:11.2710917Z save-always: false -2026-09-27T05:29:11.2711140Z ##[endgroup] -2026-09-27T05:29:11.5005801Z Cache hit for: electron-Linux-7c16d5ef1a6cdb54d21ed5ef38633e29c6d2cae966c135b32f943cea66cd25a0 -2026-09-27T05:29:12.6116432Z Received 146800640 of 249901822 (58.7%), 139.7 MBs/sec -2026-09-27T05:29:12.9761441Z Received 249901822 of 249901822 (100.0%), 174.1 MBs/sec -2026-09-27T05:29:12.9762664Z Cache Size: ~238 MB (249901822 B) -2026-09-27T05:29:12.9829935Z [command]/usr/bin/tar -xf /home/runner/work/_temp/b346f799-27c0-4a64-b44c-21963efc577a/cache.tzst -P -C /home/runner/work/maka/maka --use-compress-program unzstd -2026-09-27T05:29:13.2042157Z Cache restored successfully -2026-09-27T05:29:13.2204222Z Cache restored from key: electron-Linux-7c16d5ef1a6cdb54d21ed5ef38633e29c6d2cae966c135b32f943cea66cd25a0 -2026-09-27T05:29:13.2301090Z ##[group]Run sudo apt-get update && sudo apt-get install -y ripgrep bubblewrap -2026-09-27T05:29:13.2301609Z sudo apt-get update && sudo apt-get install -y ripgrep bubblewrap -2026-09-27T05:29:13.2340670Z shell: /usr/bin/bash -e {0} -2026-09-27T05:29:13.2340982Z ##[endgroup] -2026-09-27T05:29:13.3004531Z Get:1 file:/etc/apt/apt-mirrors.txt Mirrorlist [144 B] -2026-09-27T05:29:13.3398548Z Get:6 https://packages.microsoft.com/ubuntu/24.04/prod noble InRelease [3600 B] -2026-09-27T05:29:13.3638598Z Hit:2 http://azure.archive.ubuntu.com/ubuntu noble InRelease -2026-09-27T05:29:13.3662461Z Get:3 http://azure.archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB] -2026-09-27T05:29:13.3717434Z Get:4 http://azure.archive.ubuntu.com/ubuntu noble-backports InRelease [126 kB] -2026-09-27T05:29:13.3729571Z Get:5 http://azure.archive.ubuntu.com/ubuntu noble-security InRelease [126 kB] -2026-09-27T05:29:13.4174055Z Get:7 https://packages.microsoft.com/ubuntu/24.04/prod noble/main arm64 Packages [446 kB] -2026-09-27T05:29:13.4336475Z Get:8 https://packages.microsoft.com/ubuntu/24.04/prod noble/main amd64 Packages [498 kB] -2026-09-27T05:29:13.5034192Z Get:9 http://azure.archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages [1319 kB] -2026-09-27T05:29:13.5099336Z Get:10 http://azure.archive.ubuntu.com/ubuntu noble-updates/main Translation-en [299 kB] -2026-09-27T05:29:13.5118764Z Get:11 http://azure.archive.ubuntu.com/ubuntu noble-updates/main amd64 Components [181 kB] -2026-09-27T05:29:13.5133416Z Get:12 http://azure.archive.ubuntu.com/ubuntu noble-updates/universe amd64 Packages [1697 kB] -2026-09-27T05:29:13.5217158Z Get:13 http://azure.archive.ubuntu.com/ubuntu noble-updates/universe Translation-en [340 kB] -2026-09-27T05:29:13.5235657Z Get:14 http://azure.archive.ubuntu.com/ubuntu noble-updates/universe amd64 Components [388 kB] -2026-09-27T05:29:13.5259012Z Get:15 http://azure.archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Packages [1654 kB] -2026-09-27T05:29:13.5351301Z Get:16 http://azure.archive.ubuntu.com/ubuntu noble-updates/restricted Translation-en [377 kB] -2026-09-27T05:29:13.5374552Z Get:17 http://azure.archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Components [940 B] -2026-09-27T05:29:13.5535645Z Get:18 http://azure.archive.ubuntu.com/ubuntu noble-backports/main amd64 Packages [40.6 kB] -2026-09-27T05:29:13.5983021Z Get:19 http://azure.archive.ubuntu.com/ubuntu noble-backports/main amd64 Components [5760 B] -2026-09-27T05:29:13.6015811Z Get:20 http://azure.archive.ubuntu.com/ubuntu noble-backports/universe amd64 Packages [31.0 kB] -2026-09-27T05:29:13.6024959Z Get:21 http://azure.archive.ubuntu.com/ubuntu noble-backports/universe Translation-en [18.6 kB] -2026-09-27T05:29:13.6026566Z Get:22 http://azure.archive.ubuntu.com/ubuntu noble-backports/universe amd64 Components [12.6 kB] -2026-09-27T05:29:13.6027962Z Get:23 http://azure.archive.ubuntu.com/ubuntu noble-security/main amd64 Packages [1053 kB] -2026-09-27T05:29:13.6080408Z Get:24 http://azure.archive.ubuntu.com/ubuntu noble-security/main Translation-en [219 kB] -2026-09-27T05:29:13.6098242Z Get:25 http://azure.archive.ubuntu.com/ubuntu noble-security/main amd64 Components [46.5 kB] -2026-09-27T05:29:13.6108528Z Get:26 http://azure.archive.ubuntu.com/ubuntu noble-security/universe amd64 Packages [1220 kB] -2026-09-27T05:29:13.6167795Z Get:27 http://azure.archive.ubuntu.com/ubuntu noble-security/universe Translation-en [245 kB] -2026-09-27T05:29:13.6196017Z Get:28 http://azure.archive.ubuntu.com/ubuntu noble-security/universe amd64 Components [76.3 kB] -2026-09-27T05:29:13.6206918Z Get:29 http://azure.archive.ubuntu.com/ubuntu noble-security/restricted amd64 Packages [1535 kB] -2026-09-27T05:29:13.6280842Z Get:30 http://azure.archive.ubuntu.com/ubuntu noble-security/restricted Translation-en [353 kB] -2026-09-27T05:29:18.0756004Z Fetched 12.4 MB in 1s (8796 kB/s) -2026-09-27T05:29:18.9409390Z Reading package lists... -2026-09-27T05:29:18.9744862Z Reading package lists... -2026-09-27T05:29:19.1675436Z Building dependency tree... -2026-09-27T05:29:19.1681104Z Reading state information... -2026-09-27T05:29:19.3467529Z The following NEW packages will be installed: -2026-09-27T05:29:19.3475502Z bubblewrap ripgrep -2026-09-27T05:29:19.3638433Z 0 upgraded, 2 newly installed, 0 to remove and 32 not upgraded. -2026-09-27T05:29:19.3639206Z Need to get 1602 kB of archives. -2026-09-27T05:29:19.3639935Z After this operation, 5468 kB of additional disk space will be used. -2026-09-27T05:29:19.3640557Z Get:1 file:/etc/apt/apt-mirrors.txt Mirrorlist [144 B] -2026-09-27T05:29:19.4098044Z Get:2 http://azure.archive.ubuntu.com/ubuntu noble-updates/main amd64 bubblewrap amd64 0.9.0-1ubuntu0.3 [50.4 kB] -2026-09-27T05:29:19.4354729Z Get:3 http://azure.archive.ubuntu.com/ubuntu noble/universe amd64 ripgrep amd64 14.1.0-1 [1551 kB] -2026-09-27T05:29:19.7961059Z Fetched 1602 kB in 0s (8452 kB/s) -2026-09-27T05:29:19.8239155Z Selecting previously unselected package bubblewrap. -2026-09-27T05:29:19.8425143Z (Reading database ... -2026-09-27T05:29:19.8425807Z (Reading database ... 5% -2026-09-27T05:29:19.8426141Z (Reading database ... 10% -2026-09-27T05:29:19.8427332Z (Reading database ... 15% -2026-09-27T05:29:19.8427819Z (Reading database ... 20% -2026-09-27T05:29:19.8428186Z (Reading database ... 25% -2026-09-27T05:29:19.8428534Z (Reading database ... 30% -2026-09-27T05:29:19.8429341Z (Reading database ... 35% -2026-09-27T05:29:19.8429678Z (Reading database ... 40% -2026-09-27T05:29:19.8430044Z (Reading database ... 45% -2026-09-27T05:29:19.8430377Z (Reading database ... 50% -2026-09-27T05:29:19.8488999Z (Reading database ... 55% -2026-09-27T05:29:19.9766309Z (Reading database ... 60% -2026-09-27T05:29:20.1246543Z (Reading database ... 65% -2026-09-27T05:29:20.3714211Z (Reading database ... 70% -2026-09-27T05:29:20.5366406Z (Reading database ... 75% -2026-09-27T05:29:20.6780165Z (Reading database ... 80% -2026-09-27T05:29:20.8861230Z (Reading database ... 85% -2026-09-27T05:29:21.0758664Z (Reading database ... 90% -2026-09-27T05:29:21.2399441Z (Reading database ... 95% -2026-09-27T05:29:21.2400049Z (Reading database ... 100% -2026-09-27T05:29:21.2400756Z (Reading database ... 202190 files and directories currently installed.) -2026-09-27T05:29:21.2445738Z Preparing to unpack .../bubblewrap_0.9.0-1ubuntu0.3_amd64.deb ... -2026-09-27T05:29:21.2523176Z Unpacking bubblewrap (0.9.0-1ubuntu0.3) ... -2026-09-27T05:29:21.2759740Z Selecting previously unselected package ripgrep. -2026-09-27T05:29:21.2882568Z Preparing to unpack .../ripgrep_14.1.0-1_amd64.deb ... -2026-09-27T05:29:21.2892340Z Unpacking ripgrep (14.1.0-1) ... -2026-09-27T05:29:21.3824892Z Setting up bubblewrap (0.9.0-1ubuntu0.3) ... -2026-09-27T05:29:21.3873444Z Setting up ripgrep (14.1.0-1) ... -2026-09-27T05:29:21.3897140Z Processing triggers for man-db (2.12.0-4build2) ... -2026-09-27T05:29:21.3917635Z Not building database; man-db/auto-update is not 'true'. -2026-09-27T05:29:21.9468414Z -2026-09-27T05:29:21.9469678Z Running kernel seems to be up-to-date. -2026-09-27T05:29:21.9470081Z -2026-09-27T05:29:21.9470287Z No services need to be restarted. -2026-09-27T05:29:21.9470576Z -2026-09-27T05:29:21.9470779Z No containers need to be restarted. -2026-09-27T05:29:21.9471048Z -2026-09-27T05:29:21.9471315Z No user sessions are running outdated binaries. -2026-09-27T05:29:21.9471616Z -2026-09-27T05:29:21.9471997Z No VM guests are running outdated hypervisor (qemu) binaries on this host. -2026-09-27T05:29:22.8513456Z ##[group]Run if [[ -e /proc/sys/kernel/apparmor_restrict_unprivileged_userns ]]; then -2026-09-27T05:29:22.8514054Z if [[ -e /proc/sys/kernel/apparmor_restrict_unprivileged_userns ]]; then -2026-09-27T05:29:22.8514773Z  sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 -2026-09-27T05:29:22.8515140Z fi -2026-09-27T05:29:22.8515443Z if [[ -e /proc/sys/kernel/unprivileged_userns_clone ]]; then -2026-09-27T05:29:22.8515851Z  sudo sysctl -w kernel.unprivileged_userns_clone=1 -2026-09-27T05:29:22.8516183Z fi -2026-09-27T05:29:22.8556476Z shell: /usr/bin/bash -e {0} -2026-09-27T05:29:22.8556787Z ##[endgroup] -2026-09-27T05:29:22.8669871Z kernel.apparmor_restrict_unprivileged_userns = 0 -2026-09-27T05:29:22.8729857Z kernel.unprivileged_userns_clone = 1 -2026-09-27T05:29:22.8770361Z ##[group]Run npm ci -2026-09-27T05:29:22.8770606Z npm ci -2026-09-27T05:29:22.8806591Z shell: /usr/bin/bash -e {0} -2026-09-27T05:29:22.8806876Z ##[endgroup] -2026-09-27T05:29:28.6098339Z npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. -2026-09-27T05:29:28.6719465Z npm warn deprecated rimraf@2.6.3: Rimraf versions prior to v4 are no longer supported -2026-09-27T05:29:28.6996576Z npm warn deprecated lodash.isequal@4.5.0: This package is deprecated. Use require('node:util').isDeepStrictEqual instead. -2026-09-27T05:29:28.7984518Z npm warn deprecated glob@7.2.3: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me -2026-09-27T05:29:28.8001986Z npm warn deprecated glob@7.2.3: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me -2026-09-27T05:29:28.8020410Z npm warn deprecated glob@7.2.3: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me -2026-09-27T05:29:28.8031615Z npm warn deprecated glob@7.2.3: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me -2026-09-27T05:29:29.2404311Z npm warn deprecated boolean@3.2.0: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. -2026-09-27T05:29:30.4597168Z npm warn deprecated @modelcontextprotocol/server-legacy@2.0.0: This package is a frozen copy of v1's SSE transport and OAuth Authorization Server helpers for migration purposes only. Use StreamableHTTP from @modelcontextprotocol/server and a dedicated OAuth server in production. Will not receive new features. -2026-09-27T05:29:38.4724534Z -2026-09-27T05:29:38.4725131Z > maka@0.2.0 postinstall -2026-09-27T05:29:38.4725760Z > node scripts/apply-dependency-patches.mjs && node scripts/install-electron-with-retry.mjs -2026-09-27T05:29:38.4726120Z -2026-09-27T05:29:38.6295659Z patch-package 8.0.1 -2026-09-27T05:29:38.6296944Z Applying patches... -2026-09-27T05:29:38.6361310Z @ai-sdk/provider-utils@5.0.40 ✔ -2026-09-27T05:29:38.8625868Z @astryxdesign/core@0.6.2 ✔ -2026-09-27T05:29:38.8675894Z @earendil-works/pi-tui@0.85.1 ✔ -2026-09-27T05:29:38.8841488Z @maka/runtime/@ai-sdk/code-mode@1.0.56 ✔ -2026-09-27T05:29:38.9031975Z @modelcontextprotocol/client@2.0.0 ✔ -2026-09-27T05:29:38.9255041Z @sigstore/core@4.0.1 ✔ -2026-09-27T05:29:38.9262304Z @tufjs/models@5.0.0 ✔ -2026-09-27T05:29:38.9597649Z @xterm/xterm@6.0.0 ✔ -2026-09-27T05:29:38.9612288Z app-builder-lib@26.15.3 ✔ -2026-09-27T05:29:38.9741017Z electron-updater@6.8.9 ✔ -2026-09-27T05:29:38.9751101Z node-pty@1.2.0-beta.15 ✔ -2026-09-27T05:29:39.1153089Z run@2.1.4 ✔ -2026-09-27T05:29:39.1423659Z virtua@0.52.7 ✔ -2026-09-27T05:29:39.1437159Z zod@4.6.5 ✔ -2026-09-27T05:29:40.3310319Z -2026-09-27T05:29:40.3310929Z > maka@0.2.0 prepare -2026-09-27T05:29:40.3311588Z > npm run sync:model-metadata && node scripts/install-husky.mjs -2026-09-27T05:29:40.3311934Z -2026-09-27T05:29:40.4356483Z -2026-09-27T05:29:40.4357146Z > maka@0.2.0 sync:model-metadata -2026-09-27T05:29:40.4357680Z > node scripts/sync-model-metadata.mjs -2026-09-27T05:29:40.4357884Z -2026-09-27T05:29:40.5147033Z (node:3823) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time -2026-09-27T05:29:40.5148223Z (Use `node --trace-warnings ...` to show where the warning was created) -2026-09-27T05:29:41.0714835Z -2026-09-27T05:29:41.0715939Z added 1076 packages, and audited 1090 packages in 18s -2026-09-27T05:29:41.0716387Z -2026-09-27T05:29:41.0716799Z 213 packages are looking for funding -2026-09-27T05:29:41.0717162Z run `npm fund` for details -2026-09-27T05:29:41.0728611Z -2026-09-27T05:29:41.0728947Z found 0 vulnerabilities -2026-09-27T05:29:41.0741874Z npm warn install-scripts 7 packages have install scripts not yet covered by allowScripts: -2026-09-27T05:29:41.0742657Z npm warn install-scripts @astryxdesign/cli@0.6.2 (postinstall: node scripts/postinstall.mjs) -2026-09-27T05:29:41.0743350Z npm warn install-scripts @astryxdesign/core@0.6.2 (postinstall: node scripts/postinstall.mjs) -2026-09-27T05:29:41.0744173Z npm warn install-scripts @jackwener/opencli@1.8.7 (postinstall: node scripts/postinstall.js || true; node scripts/fetch-adapters.js || true) -2026-09-27T05:29:41.0745385Z npm warn install-scripts electron-winstaller@5.4.0 (install: node ./script/select-7z-arch.js) -2026-09-27T05:29:41.0745993Z npm warn install-scripts esbuild@0.28.2 (postinstall: node install.js) -2026-09-27T05:29:41.0746800Z npm warn install-scripts protobufjs@7.6.5 (postinstall: node scripts/postinstall) -2026-09-27T05:29:41.0747399Z npm warn install-scripts tree-sitter-javascript@0.25.0 (install: node-gyp-build) -2026-09-27T05:29:41.0747812Z npm warn install-scripts -2026-09-27T05:29:41.0748368Z npm warn install-scripts Run `npm install-scripts ls` to review, or `npm install-scripts approve ` to allow. -2026-09-27T05:29:41.1380684Z ##[group]Run npm run check:tui-copy -2026-09-27T05:29:41.1381025Z npm run check:tui-copy -2026-09-27T05:29:41.1381361Z node --test scripts/check-tui-copy.test.mjs -2026-09-27T05:29:41.1420711Z shell: /usr/bin/bash -e {0} -2026-09-27T05:29:41.1421006Z ##[endgroup] -2026-09-27T05:29:41.2355472Z -2026-09-27T05:29:41.2356271Z > maka@0.2.0 check:tui-copy -2026-09-27T05:29:41.2356842Z > node scripts/check-tui-copy.mjs -2026-09-27T05:29:41.2357130Z -2026-09-27T05:29:41.5412501Z TUI copy boundaries: ok (18 files) -2026-09-27T05:29:41.6636846Z ✔ rejects CJK in string and template literals (8.998875ms) -2026-09-27T05:29:41.6638073Z ✔ ignores CJK in comments and runtime data (0.581315ms) -2026-09-27T05:29:41.6638816Z ✔ rejects locale comparisons that select copy (3.510478ms) -2026-09-27T05:29:41.6639528Z ✔ rejects literals at user-visible presentation sinks (2.387515ms) -2026-09-27T05:29:41.6640214Z ✔ does not classify protocol fields or dynamic labels as copy literals (0.625339ms) -2026-09-27T05:29:41.6640794Z ✔ the legacy inventory is exact in both directions (0.338487ms) -2026-09-27T05:29:41.6641358Z ✔ classifies every TUI source file as covered or infrastructure (4.780136ms) -2026-09-27T05:29:41.6716385Z ℹ tests 7 -2026-09-27T05:29:41.6716749Z ℹ suites 0 -2026-09-27T05:29:41.6717043Z ℹ pass 7 -2026-09-27T05:29:41.6718271Z ℹ fail 0 -2026-09-27T05:29:41.6718683Z ℹ cancelled 0 -2026-09-27T05:29:41.6719067Z ℹ skipped 0 -2026-09-27T05:29:41.6719381Z ℹ todo 0 -2026-09-27T05:29:41.6719764Z ℹ duration_ms 90.394923 -2026-09-27T05:29:41.6805829Z ##[group]Run node --test scripts/biome-staged-check.test.mjs -2026-09-27T05:29:41.6806477Z node --test scripts/biome-staged-check.test.mjs -2026-09-27T05:29:41.6862947Z shell: /usr/bin/bash -e {0} -2026-09-27T05:29:41.6863370Z ##[endgroup] -2026-09-27T05:29:41.8286677Z example.js: staged content is not formatted by Biome -2026-09-27T05:29:41.9197605Z valid.js: staged content is not formatted by Biome -2026-09-27T05:29:42.0142329Z large.js: staged content is not formatted by Biome -2026-09-27T05:29:42.0295738Z huge.js: staged text is 2082 bytes, over the 1024 this check reads -2026-09-27T05:29:42.1774052Z ✔ checks staged bytes when the working tree was formatted afterward (61.510457ms) -2026-09-27T05:29:42.1779070Z ✔ skips a staged binary larger than the default child-process buffer (31.982992ms) -2026-09-27T05:29:42.1783353Z ✔ checks a staged source file that holds a NUL byte (58.468619ms) -2026-09-27T05:29:42.1784765Z ✔ checks a staged source file larger than the default child-process buffer (94.428439ms) -2026-09-27T05:29:42.1786983Z ✔ refuses a staged source file over the ceiling instead of skipping it (14.937615ms) -2026-09-27T05:29:42.1787948Z ✔ skips a staged binary over the ceiling (13.547099ms) -2026-09-27T05:29:42.1788763Z ✔ skips a small staged binary Biome cannot decode (13.927201ms) -2026-09-27T05:29:42.1789638Z ✔ passes a language Biome parses but does not format (54.863514ms) -2026-09-27T05:29:42.1790620Z ✔ ignores unstaged formatting drift when staged bytes are formatted (57.62623ms) -2026-09-27T05:29:42.1873910Z ℹ tests 9 -2026-09-27T05:29:42.1874270Z ℹ suites 0 -2026-09-27T05:29:42.1874722Z ℹ pass 9 -2026-09-27T05:29:42.1874969Z ℹ fail 0 -2026-09-27T05:29:42.1875220Z ℹ cancelled 0 -2026-09-27T05:29:42.1875506Z ℹ skipped 0 -2026-09-27T05:29:42.1875772Z ℹ todo 0 -2026-09-27T05:29:42.1876068Z ℹ duration_ms 462.802633 -2026-09-27T05:29:42.1954642Z ##[group]Run npm run lint -2026-09-27T05:29:42.1954966Z npm run lint -2026-09-27T05:29:42.1995219Z shell: /usr/bin/bash -e {0} -2026-09-27T05:29:42.1995672Z ##[endgroup] -2026-09-27T05:29:42.2893112Z -2026-09-27T05:29:42.2893715Z > maka@0.2.0 lint -2026-09-27T05:29:42.2894035Z > biome lint . -2026-09-27T05:29:42.2894178Z -2026-09-27T05:29:44.9790835Z Checked 3857 files in 2s. No fixes applied. -2026-09-27T05:29:45.3341302Z ##[group]Run npm run format:check -2026-09-27T05:29:45.3341618Z npm run format:check -2026-09-27T05:29:45.3382411Z shell: /usr/bin/bash -e {0} -2026-09-27T05:29:45.3382748Z ##[endgroup] -2026-09-27T05:29:45.4338126Z -2026-09-27T05:29:45.4338914Z > maka@0.2.0 format:check -2026-09-27T05:29:45.4339467Z > biome format . -2026-09-27T05:29:45.4339752Z -2026-09-27T05:29:47.7843187Z Checked 2246 files in 2s. No fixes applied. -2026-09-27T05:29:47.9959854Z ##[group]Run if [[ -n "$BASE_SHA" ]]; then -2026-09-27T05:29:47.9960198Z if [[ -n "$BASE_SHA" ]]; then -2026-09-27T05:29:47.9960615Z  npm run check:renderer-architecture -- --base "$BASE_SHA" --strict-base -2026-09-27T05:29:47.9961007Z else -2026-09-27T05:29:47.9961292Z  npm run check:renderer-architecture -2026-09-27T05:29:47.9961580Z fi -2026-09-27T05:29:48.0003193Z shell: /usr/bin/bash -e {0} -2026-09-27T05:29:48.0003500Z env: -2026-09-27T05:29:48.0003785Z BASE_SHA: d89ccce01ab631d63de2a8986fc76a1960af8dc2 -2026-09-27T05:29:48.0004128Z ##[endgroup] -2026-09-27T05:29:48.0941754Z -2026-09-27T05:29:48.0942539Z > maka@0.2.0 check:renderer-architecture -2026-09-27T05:29:48.0943592Z > npm --workspace @maka/desktop run check:architecture -- --base d89ccce01ab631d63de2a8986fc76a1960af8dc2 --strict-base -2026-09-27T05:29:48.0944030Z -2026-09-27T05:29:48.2115376Z -2026-09-27T05:29:48.2116295Z > @maka/desktop@0.2.0 check:architecture -2026-09-27T05:29:48.2117468Z > node --test scripts/check-renderer-architecture.test.mjs && node scripts/check-renderer-architecture.mjs --base d89ccce01ab631d63de2a8986fc76a1960af8dc2 --strict-base -2026-09-27T05:29:48.2118050Z -2026-09-27T05:29:48.3944603Z ▶ renderer architecture checker fixtures -2026-09-27T05:29:48.3945563Z ✔ accepts the legal inward dependency graph and testing entry boundary (50.976744ms) -2026-09-27T05:29:48.4004005Z ✔ resolves @maka/desktop self-imports before enforcing zone boundaries (6.836094ms) -2026-09-27T05:29:48.4115208Z ✔ rejects direct browser environment access in shell and composition files (7.902064ms) -2026-09-27T05:29:48.4116268Z ✔ resolves browser-global shadowing lexically instead of masking the whole file (1.59706ms) -2026-09-27T05:29:48.4118446Z ✔ counts environment globals only in value-reference positions (1.46913ms) -2026-09-27T05:29:48.4161128Z ✔ rejects computed and optional access to the Desktop bridge in strict zones (4.523158ms) -2026-09-27T05:29:48.4208881Z ✔ rejects cross-feature, deep feature, and production testing imports (4.611308ms) -2026-09-27T05:29:48.4242676Z ✔ rejects a feature production module importing its own testing entry (3.279648ms) -2026-09-27T05:29:48.4275716Z ✔ keeps feature stories entries test-only (3.274122ms) -2026-09-27T05:29:48.4318565Z ✔ rejects an application contract re-exporting application implementation (4.182639ms) -2026-09-27T05:29:48.4357345Z ✔ rejects composition and Desktop adapters importing deep application implementation (3.694811ms) -2026-09-27T05:29:48.4396450Z ✔ rejects Electron and node built-in imports from strict feature code (4.023883ms) -2026-09-27T05:29:48.4464174Z ✔ keeps Desktop platform adapters free of UI lifecycle and runtime module loading (6.689369ms) -2026-09-27T05:29:48.4488308Z ✔ rejects new AppShell-family helper files outside the debt ledger (2.478967ms) -2026-09-27T05:29:48.4528484Z ✔ generates the transitive legacy closure owned directly by AppShell (3.912247ms) -2026-09-27T05:29:48.4633299Z ✔ prefers runtime source over a same-stem declaration in the AppShell closure (10.322511ms) -2026-09-27T05:29:48.4732781Z ✔ ratchets legacy helpers reachable through a feature public ownership boundary (9.98128ms) -2026-09-27T05:29:48.4795797Z ✔ ratchets legacy helpers reachable through a shared Desktop boundary (6.199964ms) -2026-09-27T05:29:48.4859867Z ✔ ratchets capability debt owned directly by a shared Desktop intermediary (6.294257ms) -2026-09-27T05:29:48.5003728Z ✔ allows support debt to leave the AppShell closure but rejects the reverse ownership regression (14.28227ms) -2026-09-27T05:29:48.5053634Z ✔ rejects stateful hook growth inside a transitive legacy AppShell helper (4.944366ms) -2026-09-27T05:29:48.5136687Z ✔ rejects a feature controller Hook returning to AppShell after provider migration (8.247059ms) -2026-09-27T05:29:48.5182425Z ✔ rejects bridge and environment capability growth inside a transitive legacy AppShell helper (4.503354ms) -2026-09-27T05:29:48.5236334Z ✔ rejects dependency growth inside a transitive legacy AppShell helper (5.352746ms) -2026-09-27T05:29:48.5316876Z ✔ allows replacing a legacy dependency with a platform adapter without growing imports (7.881795ms) -2026-09-27T05:29:48.5372493Z ✔ rejects a stale AppShell closure ledger when another legacy file becomes reachable (5.631274ms) -2026-09-27T05:29:48.5404940Z ✔ rejects non-static dependency escape hatches inside the AppShell legacy closure (3.260516ms) -2026-09-27T05:29:48.5515142Z ✔ rejects stateful shell hooks and imports from legacy implementation (10.860118ms) -2026-09-27T05:29:48.5545548Z ✔ rejects bridge debt that grows relative to the base ledger (2.900525ms) -2026-09-27T05:29:48.5643737Z ✔ accepts the single pinned renderer module entry (9.884699ms) -2026-09-27T05:29:48.5884620Z ✔ allows a WorkHub query on the pinned document, but rejects another surface or document (23.892656ms) -2026-09-27T05:29:48.5955236Z ✔ rejects replacing the pinned renderer module entry with an alternate source (7.040774ms) -2026-09-27T05:29:48.6032104Z ✔ rejects adding another renderer module entry beside the pinned source (7.637736ms) -2026-09-27T05:29:48.6096492Z ✔ rejects changing the packaged main-window loader to an alternate renderer document (6.470357ms) -2026-09-27T05:29:48.6165686Z ✔ rejects shadowing the pinned renderer path helpers behind local bindings (6.747295ms) -2026-09-27T05:29:48.6242305Z ✔ rejects reassigning the resolved renderer entry before loading it (7.682058ms) -2026-09-27T05:29:48.6306624Z ✔ rejects mutating the frozen renderer entry before loading it (6.434787ms) -2026-09-27T05:29:48.6377370Z ✔ rejects aliasing the main window navigation API around the dedicated loader (6.90463ms) -2026-09-27T05:29:48.6472397Z ✔ rejects a computed second navigation inside the dedicated loader branch (9.521139ms) -2026-09-27T05:29:48.6536570Z ✔ rejects remapping the Vite renderer root to an alternate source tree (6.410572ms) -2026-09-27T05:29:48.6605881Z ✔ rejects shadowing the pinned Vite config factory behind a local binding (6.83733ms) -2026-09-27T05:29:48.6711509Z ✔ rejects pointing the Vite entry guard at a different renderer root (8.206744ms) -2026-09-27T05:29:48.6712754Z ✔ attests the canonical main source in the final Vite entry graph (0.577697ms) -2026-09-27T05:29:48.6718014Z ✔ does not apply the renderer entry contract to Storybook builds (0.121284ms) -2026-09-27T05:29:48.6722933Z ✔ rejects a Vite HTML transform that swaps the final entry graph (0.133065ms) -2026-09-27T05:29:48.6724824Z ✔ rejects executable HTML injected around the canonical module entry (1.439582ms) -2026-09-27T05:29:48.6752282Z ✔ rejects a newly allowlisted root debt file relative to the base ledger (3.830775ms) -2026-09-27T05:29:48.6775565Z ✔ rejects deleting root debt while the existing root entry is still dirty (2.328062ms) -2026-09-27T05:29:48.6808652Z ✔ rejects removing the permanent root guard while a clean thin entry still exists (3.080883ms) -2026-09-27T05:29:48.6844234Z ✔ rejects bridge debt returning to a retained clean root entry (3.820932ms) -2026-09-27T05:29:48.6864027Z ✔ allows removing the permanent root guard after its source is deleted (1.967703ms) -2026-09-27T05:29:48.6892816Z ✔ rejects retiring root debt by moving state and storage ownership into bootstrap (2.79059ms) -2026-09-27T05:29:48.6911833Z ✔ allows new legacy files inside an explicitly approved growth directory (1.921375ms) -2026-09-27T05:29:48.6932221Z ✔ rejects arbitrary new unclassified renderer source names relative to the base ledger (1.678789ms) -2026-09-27T05:29:48.6968299Z ✔ rejects unbudgeted legacy imports from every strict ownership zone (3.853483ms) -2026-09-27T05:29:48.7057188Z ✔ detects bridge aliases, TypeScript wrappers, and aliased React hooks (3.847251ms) -2026-09-27T05:29:48.7058144Z ✔ retains full bridge method paths after the Desktop bridge is aliased (0.525665ms) -2026-09-27T05:29:48.7059424Z ✔ retains stateful hook ownership through local aliases (1.212395ms) -2026-09-27T05:29:48.7112034Z ✔ recognizes React 19 use and namespace-destructured custom Hooks (8.457012ms) -2026-09-27T05:29:48.7168165Z ✔ parses TypeScript and static-template dependencies and fails closed on dynamic paths (5.552337ms) -2026-09-27T05:29:48.7199609Z ✔ forbids exposing a feature testing entry through its public index (2.697666ms) -2026-09-27T05:29:48.7249249Z ✔ allows legacy AppShell dependency replacement with feature public APIs and application contracts (5.307899ms) -2026-09-27T05:29:48.7290882Z ✔ exempts AppShell import specifiers from src/renderer/application/contracts/fixture-diagnostics.ts (4.227517ms) -2026-09-27T05:29:48.7344248Z ✔ prices AppShell import specifiers from src/renderer/application/sessions/fixture-service.ts (4.974567ms) -2026-09-27T05:29:48.7379553Z ✔ rejects replacing legacy AppShell debt with a feature private import (3.733016ms) -2026-09-27T05:29:48.7434648Z ✔ enforces a unique feature owner for registered controllers (5.493701ms) -2026-09-27T05:29:48.7472766Z ✔ keeps the registered owner as a JSX-only component inside its own file (3.783574ms) -2026-09-27T05:29:48.7513672Z ✔ binds controller calls to the registered import instead of a same-name hook (3.927732ms) -2026-09-27T05:29:48.7575755Z ✔ requires consumers to mount the registered owner through JSX (6.060164ms) -2026-09-27T05:29:48.7648857Z ✔ rejects controller imports, runtime loading, and public re-exports outside the owner (7.341206ms) -2026-09-27T05:29:48.7678356Z ✔ requires the registered owner to import and call its controller exactly once (3.006189ms) -2026-09-27T05:29:48.7720215Z ✔ ratchets controller owner contracts against their base configuration (4.105671ms) -2026-09-27T05:29:48.7751854Z ✔ allows a registered controller to retire without allowing it to return (3.20069ms) -2026-09-27T05:29:48.9289335Z ✔ preserves hand-authored controller owner policy when regenerating debt (3.023855ms) -2026-09-27T05:29:48.9290757Z ✔ fails closed when the CLI base argument is missing or invalid (149.972956ms) -2026-09-27T05:29:48.9291938Z ✔ renderer architecture checker fixtures (587.035045ms) -2026-09-27T05:29:48.9405393Z ▶ validated copy catalog dependencies -2026-09-27T05:29:48.9406535Z ✔ admits a validated copy catalog as a new legacy dependency and closure entry (11.662742ms) -2026-09-27T05:29:48.9491471Z ✔ does not price a catalog's own bare package runtime import (8.593474ms) -2026-09-27T05:29:48.9564097Z ✔ keeps the ratchet for a catalog with a hook call (7.356333ms) -2026-09-27T05:29:48.9641037Z ✔ keeps the ratchet for a catalog with a relative implementation import (7.660309ms) -2026-09-27T05:29:48.9712275Z ✔ keeps the ratchet for a catalog with a @maka/desktop self-import (6.770375ms) -2026-09-27T05:29:48.9768557Z ✔ keeps the ratchet for a catalog with no UiCatalog marker (5.751849ms) -2026-09-27T05:29:48.9836841Z ✔ keeps admission for copy keys named after browser globals and type-only relative imports (6.770692ms) -2026-09-27T05:29:48.9928046Z ✔ exempts a validated catalog's own type-only contract imports from dependency debt (6.77752ms) -2026-09-27T05:29:48.9929395Z ✔ prices only the runtime part of `import type { A } from './x.js'` (0.326724ms) -2026-09-27T05:29:48.9930636Z ✔ prices only the runtime part of `import { type A } from './x.js'` (0.330909ms) -2026-09-27T05:29:48.9931721Z ✔ prices only the runtime part of `export type { A } from './x.js'` (0.171794ms) -2026-09-27T05:29:48.9932969Z ✔ prices only the runtime part of `export type * from './x.js'` (0.133627ms) -2026-09-27T05:29:48.9935890Z ✔ prices only the runtime part of `export type B = import('./x.js').A` (0.181313ms) -2026-09-27T05:29:48.9936929Z ✔ prices only the runtime part of `import { a, type A } from './x.js'` (0.581633ms) -2026-09-27T05:29:48.9937872Z ✔ prices only the runtime part of `import './x.js'` (0.203374ms) -2026-09-27T05:29:48.9938758Z ✔ prices only the runtime part of `export * from './x.js'` (0.131031ms) -2026-09-27T05:29:49.0001556Z ✔ records no dependency debt for a new type-only import anywhere in the closure (7.263915ms) -2026-09-27T05:29:49.0038519Z ✔ starts counting the moment a type-only edge turns into a runtime import (3.56619ms) -2026-09-27T05:29:49.0095662Z ✔ exempts a new legacy edge to src/renderer/application/contracts/fixture-diagnostics.ts (5.74747ms) -2026-09-27T05:29:49.0136420Z ✔ exempts a new legacy edge to src/renderer/shell/fixture-shell.ts (4.090808ms) -2026-09-27T05:29:49.0182418Z ✔ exempts a new legacy edge to src/renderer/features/alpha/index.ts (4.578422ms) -2026-09-27T05:29:49.0230178Z ✔ prices a new legacy edge to src/renderer/application/sessions/fixture-service.ts (4.720572ms) -2026-09-27T05:29:49.0279584Z ✔ prices a new legacy edge to src/renderer/features/alpha/fixture-internal.ts (4.776929ms) -2026-09-27T05:29:49.0325498Z ✔ rejects a legacy type-only edge into an application implementation as a hard violation (4.473372ms) -2026-09-27T05:29:49.0387321Z ✔ keeps pricing every non-catalog edge for a root entry (5.835613ms) -2026-09-27T05:29:49.0416850Z ✔ fails closed upstream when a reachable catalog uses a dynamic import (3.289375ms) -2026-09-27T05:29:49.0495413Z ✔ still rejects an unrelated dependency added beside a validated catalog (7.809134ms) -2026-09-27T05:29:49.0534363Z ✔ lets feature code import a validated catalog without a legacy budget edge (3.516807ms) -2026-09-27T05:29:49.0535723Z ✔ validated copy catalog dependencies (124.672617ms) -2026-09-27T05:29:49.5175062Z ▶ renderer architecture base-tree derivation (git fixtures) -2026-09-27T05:29:49.5175790Z ✔ passes when the head commit holds equal or lower debt than the derived base tree (463.756535ms) -2026-09-27T05:29:49.8545539Z ✔ rejects a new unclassified legacy renderer file relative to the derived base tree (337.007571ms) -2026-09-27T05:29:50.2851344Z ✔ does not wedge on a base ledger that under-reports its own tree (#4250) (430.253975ms) -2026-09-27T05:29:50.5981907Z ✔ fails loudly under --strict-base when the base tree cannot be materialized (313.164513ms) -2026-09-27T05:29:50.9486821Z ✔ rejects weakened classification with ledger version 1 under --strict-base (350.470931ms) -2026-09-27T05:29:51.4022379Z ✔ rejects weakened classification with ledger version 2 under --strict-base (453.449836ms) -2026-09-27T05:29:51.7354927Z ✔ requires the base generator export only under --strict-base (333.102727ms) -2026-09-27T05:29:52.0637116Z ✔ handles read-only POSIX permissions on the checker directory according to --strict-base (328.094852ms) -2026-09-27T05:29:52.3239382Z ✔ treats a base checker that cannot be imported as a failure only under --strict-base (260.269449ms) -2026-09-27T05:29:52.3240805Z ✔ renderer architecture base-tree derivation (git fixtures) (3270.569935ms) -2026-09-27T05:29:52.3357949Z ℹ tests 112 -2026-09-27T05:29:52.3358362Z ℹ suites 3 -2026-09-27T05:29:52.3358676Z ℹ pass 112 -2026-09-27T05:29:52.3358982Z ℹ fail 0 -2026-09-27T05:29:52.3359305Z ℹ cancelled 0 -2026-09-27T05:29:52.3359644Z ℹ skipped 0 -2026-09-27T05:29:52.3359951Z ℹ todo 0 -2026-09-27T05:29:52.3360307Z ℹ duration_ms 4090.934554 -2026-09-27T05:30:07.5508948Z Renderer architecture check passed against d89ccce01ab631d63de2a8986fc76a1960af8dc2. -2026-09-27T05:30:07.5937964Z ##[group]Run npm run astryx:surface-inventory -2026-09-27T05:30:07.5938381Z npm run astryx:surface-inventory -2026-09-27T05:30:07.5938714Z npm run astryx:surface-inventory:test -2026-09-27T05:30:07.5979636Z shell: /usr/bin/bash -e {0} -2026-09-27T05:30:07.5980164Z ##[endgroup] -2026-09-27T05:30:07.6920178Z -2026-09-27T05:30:07.6921081Z > maka@0.2.0 astryx:surface-inventory -2026-09-27T05:30:07.6921572Z > node scripts/check-astryx-surface-inventory.mjs -2026-09-27T05:30:07.6921808Z -2026-09-27T05:30:07.7954602Z astryx surface inventory coverage: ok (300 files, 2 exclusions) -2026-09-27T05:30:07.8912728Z -2026-09-27T05:30:07.8913345Z > maka@0.2.0 astryx:surface-inventory:test -2026-09-27T05:30:07.8913916Z > node --test scripts/generate-astryx-surface-inventory.test.mjs -2026-09-27T05:30:07.8914191Z -2026-09-27T05:30:08.0071661Z ▶ Astryx component set derivation (#3868) -2026-09-27T05:30:08.0072553Z ✔ is derived from @astryxdesign/core with the resolved version (0.726004ms) -2026-09-27T05:30:08.0073343Z ✔ Astryx component set derivation (#3868) (1.63465ms) -2026-09-27T05:30:08.0074841Z ▶ Astryx declaration parsing is fail-closed (#3868) -2026-09-27T05:30:08.0075585Z ✔ traverses a genuine multi-level `export *` barrel graph (0.730178ms) -2026-09-27T05:30:08.0076616Z ✔ resolves a flat `Dir.d.ts` barrel target alongside directory barrels (0.334766ms) -2026-09-27T05:30:08.0077696Z ✔ is cycle-safe when barrels re-export each other (0.474446ms) -2026-09-27T05:30:08.0079318Z ✔ throws on an unresolved barrel target (0.682326ms) -2026-09-27T05:30:08.0080359Z ✔ throws on an unresolved target nested below the first barrel layer (0.467296ms) -2026-09-27T05:30:08.0083703Z ✔ rejects a partial parse (too few components / missing a key component) (0.341433ms) -2026-09-27T05:30:08.0084975Z ✔ Astryx declaration parsing is fail-closed (#3868) (3.579143ms) -2026-09-27T05:30:08.0087380Z ▶ @maka/ui barrel resolution (#3868) -2026-09-27T05:30:08.0088175Z ✔ derives the Astryx re-export map from the real barrel (11.604795ms) -2026-09-27T05:30:08.0090508Z ✔ resolves nested export graphs and flags only local public shadows (0.543201ms) -2026-09-27T05:30:08.0098717Z ✔ fails closed on an unresolved relative barrel target (0.584452ms) -2026-09-27T05:30:08.0099890Z ✔ @maka/ui barrel resolution (#3868) (13.102914ms) -2026-09-27T05:30:08.0107108Z ▶ analyzeTsx severity (#3868) -2026-09-27T05:30:08.0107853Z ✔ counts a rendered Astryx component in the "Astryx used" column (0.985152ms) -2026-09-27T05:30:08.0108891Z ✔ counts an Astryx component imported via the @maka/ui re-export map (0.336517ms) -2026-09-27T05:30:08.0109868Z ✔ flags a public export that shadows an Astryx component (0.145282ms) -2026-09-27T05:30:08.0115878Z ✔ does not flag a private local component that merely shares a name (0.168823ms) -2026-09-27T05:30:08.0116881Z ✔ still flags a raw interactive control as a blocker (0.099791ms) -2026-09-27T05:30:08.0118054Z ✔ blocks hand-written span and div actions with an actionable Astryx diagnostic (0.15717ms) -2026-09-27T05:30:08.0152090Z ✔ allows non-interactive spans and divs used for layout or text (0.601738ms) -2026-09-27T05:30:08.0153314Z ✔ fails the CI gate even after a blocker inventory is regenerated (0.561607ms) -2026-09-27T05:30:08.0154668Z ✔ permits only exact legacy blocker fingerprints, never new debt at the same path (0.192524ms) -2026-09-27T05:30:08.0155812Z ✔ analyzeTsx severity (#3868) (3.610308ms) -2026-09-27T05:30:08.0245658Z ℹ tests 19 -2026-09-27T05:30:08.0246021Z ℹ suites 4 -2026-09-27T05:30:08.0246265Z ℹ pass 19 -2026-09-27T05:30:08.0246484Z ℹ fail 0 -2026-09-27T05:30:08.0246713Z ℹ cancelled 0 -2026-09-27T05:30:08.0246963Z ℹ skipped 0 -2026-09-27T05:30:08.0247182Z ℹ todo 0 -2026-09-27T05:30:08.0247448Z ℹ duration_ms 99.287493 -2026-09-27T05:30:08.0389839Z ##[group]Run npm run build -2026-09-27T05:30:08.0390239Z npm run build -2026-09-27T05:30:08.0446655Z shell: /usr/bin/bash -e {0} -2026-09-27T05:30:08.0447081Z ##[endgroup] -2026-09-27T05:30:08.1368669Z -2026-09-27T05:30:08.1369309Z > maka@0.2.0 build -2026-09-27T05:30:08.1371437Z > npm --workspace @maka/core run build && npm --workspace @maka/storage run build && npm --workspace @maka/mcp run build && npm --workspace @maka/runtime run build && npm --workspace @maka/acp-executor-plugin run build && npm --workspace @maka/antigravity-acp-plugin run build && npm --workspace @maka/runtime-host run build && npm --workspace @maka/computer-use run build && npm --workspace @maka/eval run build && npm --workspace maka-agent run build && npm --workspace @maka/ui run build && npm --workspace @maka/desktop run build -2026-09-27T05:30:08.1373204Z -2026-09-27T05:30:08.2511846Z -2026-09-27T05:30:08.2512489Z > @maka/core@0.1.0 prebuild -2026-09-27T05:30:08.2513186Z > npm --prefix ../.. run sync:model-metadata -2026-09-27T05:30:08.2513512Z -2026-09-27T05:30:08.3404019Z -2026-09-27T05:30:08.3405265Z > maka@0.2.0 sync:model-metadata -2026-09-27T05:30:08.3405700Z > node scripts/sync-model-metadata.mjs -2026-09-27T05:30:08.3405916Z -2026-09-27T05:30:08.4198347Z (node:4654) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time -2026-09-27T05:30:08.4199375Z (Use `node --trace-warnings ...` to show where the warning was created) -2026-09-27T05:30:08.4605622Z -2026-09-27T05:30:08.4605850Z > @maka/core@0.1.0 build -2026-09-27T05:30:08.4606235Z > tsc -p tsconfig.json -2026-09-27T05:30:08.4606399Z -2026-09-27T05:30:09.4480895Z -2026-09-27T05:30:09.4481513Z > @maka/storage@0.1.0 build -2026-09-27T05:30:09.4482019Z > tsc -p tsconfig.json -2026-09-27T05:30:09.4482256Z -2026-09-27T05:30:10.6923882Z -2026-09-27T05:30:10.6924546Z > @maka/mcp@0.1.0 build -2026-09-27T05:30:10.6924922Z > tsc -p tsconfig.json -2026-09-27T05:30:10.6925087Z -2026-09-27T05:30:11.4507881Z -2026-09-27T05:30:11.4508594Z > @maka/runtime@0.1.0 prebuild -2026-09-27T05:30:11.4509229Z > npm --prefix ../.. run sync:model-metadata -2026-09-27T05:30:11.4509547Z -2026-09-27T05:30:11.5405383Z -2026-09-27T05:30:11.5406131Z > maka@0.2.0 sync:model-metadata -2026-09-27T05:30:11.5406892Z > node scripts/sync-model-metadata.mjs -2026-09-27T05:30:11.5407320Z -2026-09-27T05:30:11.6174126Z (node:4760) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time -2026-09-27T05:30:11.6175362Z (Use `node --trace-warnings ...` to show where the warning was created) -2026-09-27T05:30:11.6582907Z -2026-09-27T05:30:11.6583519Z > @maka/runtime@0.1.0 build -2026-09-27T05:30:11.6584273Z > tsc -p tsconfig.json && node scripts/build-filesystem-worker.mjs -2026-09-27T05:30:11.6585026Z -2026-09-27T05:30:14.9889959Z -2026-09-27T05:30:14.9890649Z > @maka/acp-executor-plugin@0.1.0 build -2026-09-27T05:30:14.9891845Z > tsc -p tsconfig.json && esbuild src/index.ts --bundle --platform=node --format=esm --target=node22 --outfile=dist/plugin.mjs -2026-09-27T05:30:14.9892426Z -2026-09-27T05:30:15.2105954Z -2026-09-27T05:30:15.2108198Z dist/plugin.mjs 897.0kb -2026-09-27T05:30:15.2108519Z -2026-09-27T05:30:15.2108938Z ⚡ Done in 35ms -2026-09-27T05:30:15.3270864Z -2026-09-27T05:30:15.3271754Z > @maka/antigravity-acp-plugin@0.1.0 build -2026-09-27T05:30:15.3272920Z > tsc -p tsconfig.json && esbuild src/index.ts --bundle --platform=node --format=esm --target=node22 --outfile=dist/plugin.mjs -2026-09-27T05:30:15.3273988Z -2026-09-27T05:30:15.5149891Z -2026-09-27T05:30:15.5154992Z dist/plugin.mjs 4.2kb -2026-09-27T05:30:15.5155289Z -2026-09-27T05:30:15.5155746Z ⚡ Done in 33ms -2026-09-27T05:30:15.6310973Z -2026-09-27T05:30:15.6311603Z > @maka/runtime-host@0.1.0 build -2026-09-27T05:30:15.6312100Z > tsc -p tsconfig.json -2026-09-27T05:30:15.6312278Z -2026-09-27T05:30:21.1445137Z -2026-09-27T05:30:21.1446134Z > @maka/computer-use@0.1.0 build -2026-09-27T05:30:21.1446593Z > tsc -p tsconfig.json -2026-09-27T05:30:21.1446789Z -2026-09-27T05:30:21.4974614Z -2026-09-27T05:30:21.4975255Z > @maka/eval@0.1.0 build -2026-09-27T05:30:21.4975791Z > tsc -p tsconfig.json -2026-09-27T05:30:21.4976024Z -2026-09-27T05:30:21.9558186Z -2026-09-27T05:30:21.9558857Z > maka-agent@0.2.0 build -2026-09-27T05:30:21.9559469Z > tsc -p tsconfig.json && node scripts/chmod-bin.mjs -2026-09-27T05:30:21.9559714Z -2026-09-27T05:30:23.6582261Z -2026-09-27T05:30:23.6582846Z > @maka/ui@0.1.0 build -2026-09-27T05:30:23.6583282Z > tsc -p tsconfig.json -2026-09-27T05:30:23.6583433Z -2026-09-27T05:30:25.2492346Z -2026-09-27T05:30:25.2493412Z > @maka/desktop@0.2.0 build -2026-09-27T05:30:25.2494705Z > npm run build:resources && npm run build:main && npm run build:preload && npm run build:overlay && npm run build:renderer -2026-09-27T05:30:25.2495369Z -2026-09-27T05:30:25.3727493Z -2026-09-27T05:30:25.3728170Z > @maka/desktop@0.2.0 build:resources -2026-09-27T05:30:25.3728859Z > node scripts/copy-runtime-filesystem-worker.mjs -2026-09-27T05:30:25.3729221Z -2026-09-27T05:30:25.5323766Z -2026-09-27T05:30:25.5324633Z > @maka/desktop@0.2.0 build:main -2026-09-27T05:30:25.5325258Z > tsc -p tsconfig.main.json -2026-09-27T05:30:25.5325532Z -2026-09-27T05:30:29.1487265Z -2026-09-27T05:30:29.1488080Z > @maka/desktop@0.2.0 build:preload -2026-09-27T05:30:29.1488853Z > esbuild src/preload/preload.ts --bundle --platform=node --format=cjs --outfile=dist/preload/preload.cjs --external:electron -2026-09-27T05:30:29.1489273Z -2026-09-27T05:30:29.2491217Z -2026-09-27T05:30:29.2492446Z dist/preload/preload.cjs 2.7mb ⚠️ -2026-09-27T05:30:29.2492814Z -2026-09-27T05:30:29.2493058Z ⚡ Done in 93ms -2026-09-27T05:30:29.3724734Z -2026-09-27T05:30:29.3725396Z > @maka/desktop@0.2.0 build:overlay -2026-09-27T05:30:29.3726049Z > node ../../scripts/build-cursor-overlay.mjs -2026-09-27T05:30:29.3726385Z -2026-09-27T05:30:29.4280470Z -2026-09-27T05:30:29.4281227Z dist/overlay/cursor-overlay.js 27.7kb -2026-09-27T05:30:29.4281611Z -2026-09-27T05:30:29.4282035Z ⚡ Done in 7ms -2026-09-27T05:30:29.4321033Z -2026-09-27T05:30:29.4321769Z dist/overlay/cursor-overlay-preload.cjs 1.1kb -2026-09-27T05:30:29.4322066Z -2026-09-27T05:30:29.4322467Z ⚡ Done in 3ms -2026-09-27T05:30:29.4355255Z -2026-09-27T05:30:29.4355989Z dist/overlay/permission-overlay.js 2.5kb -2026-09-27T05:30:29.4356365Z -2026-09-27T05:30:29.4356680Z ⚡ Done in 2ms -2026-09-27T05:30:29.4371222Z -2026-09-27T05:30:29.4371716Z dist/overlay/permission-overlay-preload.cjs 866b -2026-09-27T05:30:29.4371982Z -2026-09-27T05:30:29.4372274Z ⚡ Done in 1ms -2026-09-27T05:30:29.4405410Z -2026-09-27T05:30:29.4405742Z dist/overlay/pip.js 3.9kb -2026-09-27T05:30:29.4406001Z -2026-09-27T05:30:29.4406231Z ⚡ Done in 2ms -2026-09-27T05:30:29.4421953Z -2026-09-27T05:30:29.4422554Z dist/overlay/pip-preload.cjs 1000b -2026-09-27T05:30:29.4422926Z -2026-09-27T05:30:29.4423204Z ⚡ Done in 1ms -2026-09-27T05:30:29.4431571Z overlays built → /home/runner/work/maka/maka/apps/desktop/dist/overlay -2026-09-27T05:30:29.5750413Z -2026-09-27T05:30:29.5751031Z > @maka/desktop@0.2.0 build:renderer -2026-09-27T05:30:29.5751792Z > vite build && node scripts/check-renderer-entry-output.mjs && node ../../scripts/check-third-party-notices.mjs -2026-09-27T05:30:29.5752210Z -2026-09-27T05:30:29.7921858Z vite v8.3.0 building client environment for production... -2026-09-27T05:30:29.8016808Z transforming... -2026-09-27T05:30:29.9305080Z [plugin rolldown:vite-resolve] Module "node:crypto" has been externalized for browser compatibility, imported by "/home/runner/work/maka/maka/packages/core/dist/events.js". See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details. -2026-09-27T05:30:30.7941956Z ✓ 5448 modules transformed. -2026-09-27T05:30:31.1569835Z rendering chunks... -2026-09-27T05:30:31.6505719Z computing gzip size... -2026-09-27T05:30:31.6932874Z dist-renderer/renderer-entry-attestation.json 0.11 kB │ gzip: 0.11 kB -2026-09-27T05:30:31.6934121Z dist-renderer/bundled-npm-packages.json 1.33 kB │ gzip: 0.53 kB -2026-09-27T05:30:31.6934995Z dist-renderer/assets/KaTeX_Size3-Regular-CTq5MqoE.woff 4.42 kB -2026-09-27T05:30:31.6935615Z dist-renderer/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 4.92 kB -2026-09-27T05:30:31.6936218Z dist-renderer/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 5.20 kB -2026-09-27T05:30:31.6936812Z dist-renderer/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 5.46 kB -2026-09-27T05:30:31.6937440Z dist-renderer/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2 5.81 kB -2026-09-27T05:30:31.6938209Z dist-renderer/assets/KaTeX_Size4-Regular-BF-4gkZK.woff 5.98 kB -2026-09-27T05:30:31.6938804Z dist-renderer/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2 6.17 kB -2026-09-27T05:30:31.6939382Z dist-renderer/assets/KaTeX_Size2-Regular-oD1tc_U0.woff 6.18 kB -2026-09-27T05:30:31.6939954Z dist-renderer/assets/KaTeX_Size1-Regular-C195tn64.woff 6.49 kB -2026-09-27T05:30:31.6940521Z dist-renderer/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 6.90 kB -2026-09-27T05:30:31.6941102Z dist-renderer/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 6.91 kB -2026-09-27T05:30:31.6942020Z dist-renderer/index.html 7.26 kB │ gzip: 2.89 kB -2026-09-27T05:30:31.6942776Z dist-renderer/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 7.42 kB -2026-09-27T05:30:31.6943641Z dist-renderer/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf 7.58 kB -2026-09-27T05:30:31.6944818Z dist-renderer/assets/antigravity-DgAQAdn3.svg 7.63 kB │ gzip: 1.74 kB -2026-09-27T05:30:31.6945816Z dist-renderer/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff 7.65 kB -2026-09-27T05:30:31.6946745Z dist-renderer/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2 7.69 kB -2026-09-27T05:30:31.6947732Z dist-renderer/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff 7.71 kB -2026-09-27T05:30:31.6948579Z dist-renderer/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 8.00 kB -2026-09-27T05:30:31.6949428Z dist-renderer/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 9.64 kB -2026-09-27T05:30:31.6950366Z dist-renderer/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 10.34 kB -2026-09-27T05:30:31.6951162Z dist-renderer/assets/KaTeX_Size4-Regular-DWFBv043.ttf 10.36 kB -2026-09-27T05:30:31.6952011Z dist-renderer/assets/KaTeX_Script-Regular-D5yQViql.woff 10.58 kB -2026-09-27T05:30:31.6953023Z dist-renderer/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 11.31 kB -2026-09-27T05:30:31.6953826Z dist-renderer/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 11.34 kB -2026-09-27T05:30:31.6954625Z dist-renderer/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf 11.50 kB -2026-09-27T05:30:31.6955236Z dist-renderer/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 12.02 kB -2026-09-27T05:30:31.6955818Z dist-renderer/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 12.21 kB -2026-09-27T05:30:31.6956389Z dist-renderer/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf 12.22 kB -2026-09-27T05:30:31.6956977Z dist-renderer/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff 12.31 kB -2026-09-27T05:30:31.6957565Z dist-renderer/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf 12.34 kB -2026-09-27T05:30:31.6958148Z dist-renderer/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf 12.36 kB -2026-09-27T05:30:31.6958765Z dist-renderer/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2 12.94 kB -2026-09-27T05:30:31.6959401Z dist-renderer/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff 13.20 kB -2026-09-27T05:30:31.6960211Z dist-renderer/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff 13.29 kB -2026-09-27T05:30:31.6961321Z dist-renderer/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 13.56 kB -2026-09-27T05:30:31.6961977Z dist-renderer/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff 14.11 kB -2026-09-27T05:30:31.6962835Z dist-renderer/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff 14.40 kB -2026-09-27T05:30:31.6963771Z dist-renderer/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2 14.69 kB -2026-09-27T05:30:31.6964681Z dist-renderer/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 15.08 kB -2026-09-27T05:30:31.6965299Z dist-renderer/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff 16.02 kB -2026-09-27T05:30:31.6966180Z dist-renderer/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 16.40 kB -2026-09-27T05:30:31.6966752Z dist-renderer/assets/KaTeX_Math-Italic-t53AETM-.woff2 16.44 kB -2026-09-27T05:30:31.6967479Z dist-renderer/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 16.51 kB -2026-09-27T05:30:31.6968304Z dist-renderer/assets/KaTeX_Script-Regular-C5JkGWo-.ttf 16.64 kB -2026-09-27T05:30:31.6968986Z dist-renderer/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 16.78 kB -2026-09-27T05:30:31.6969551Z dist-renderer/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 16.98 kB -2026-09-27T05:30:31.6970128Z dist-renderer/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff 18.66 kB -2026-09-27T05:30:31.6970697Z dist-renderer/assets/KaTeX_Math-Italic-DA0__PXp.woff 18.74 kB -2026-09-27T05:30:31.6971272Z dist-renderer/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff 19.41 kB -2026-09-27T05:30:31.6971847Z dist-renderer/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf 19.43 kB -2026-09-27T05:30:31.6972698Z dist-renderer/assets/KaTeX_Fraktur-Regular-CB_wures.ttf 19.57 kB -2026-09-27T05:30:31.6973486Z dist-renderer/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf 19.58 kB -2026-09-27T05:30:31.6974203Z dist-renderer/assets/KaTeX_Main-Italic-BMLOBm91.woff 19.67 kB -2026-09-27T05:30:31.6975068Z dist-renderer/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf 22.36 kB -2026-09-27T05:30:31.6975891Z dist-renderer/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2 23.12 kB -2026-09-27T05:30:31.6976626Z dist-renderer/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf 24.50 kB -2026-09-27T05:30:31.6977330Z dist-renderer/assets/KaTeX_Main-Bold-Cx986IdX.woff2 25.32 kB -2026-09-27T05:30:31.6978024Z dist-renderer/assets/KaTeX_Main-Regular-B22Nviop.woff2 26.27 kB -2026-09-27T05:30:31.6978771Z dist-renderer/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf 27.55 kB -2026-09-27T05:30:31.6979522Z dist-renderer/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 28.07 kB -2026-09-27T05:30:31.6980238Z dist-renderer/assets/geist-latin-wght-normal-BgDaEnEv.woff2 29.40 kB -2026-09-27T05:30:31.6980955Z dist-renderer/assets/KaTeX_Main-Bold-Jm3AIy58.woff 29.91 kB -2026-09-27T05:30:31.6981705Z dist-renderer/assets/KaTeX_Main-Regular-Dr94JaBh.woff 30.77 kB -2026-09-27T05:30:31.6982469Z dist-renderer/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf 31.19 kB -2026-09-27T05:30:31.6983197Z dist-renderer/assets/KaTeX_Math-Italic-flOr_0UB.ttf 31.30 kB -2026-09-27T05:30:31.6983929Z dist-renderer/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf 32.96 kB -2026-09-27T05:30:31.6984853Z dist-renderer/assets/KaTeX_AMS-Regular-DMm9YOAa.woff 33.51 kB -2026-09-27T05:30:31.6985620Z dist-renderer/assets/KaTeX_Main-Italic-3WenGoN9.ttf 33.58 kB -2026-09-27T05:30:31.6986346Z dist-renderer/assets/KaTeX_Main-Bold-waoOVXN0.ttf 51.33 kB -2026-09-27T05:30:31.6987089Z dist-renderer/assets/KaTeX_Main-Regular-ypZvNtVU.ttf 53.58 kB -2026-09-27T05:30:31.6988071Z dist-renderer/assets/KaTeX_AMS-Regular-DRggAlZN.ttf 63.63 kB -2026-09-27T05:30:31.6989119Z dist-renderer/assets/localai-COsYrfyd.svg 111.02 kB │ gzip: 49.20 kB -2026-09-27T05:30:31.6990017Z dist-renderer/assets/index-LqsFOiqI.css 420.16 kB │ gzip: 75.97 kB -2026-09-27T05:30:31.6990895Z dist-renderer/assets/array-BifhSqXX.js 0.10 kB │ gzip: 0.11 kB -2026-09-27T05:30:31.6991884Z dist-renderer/assets/channel-h6FRTVSu.js 0.11 kB │ gzip: 0.12 kB -2026-09-27T05:30:31.6992871Z dist-renderer/assets/pie-WAS4IAKB-ClCsbfz2.js 0.12 kB │ gzip: 0.12 kB -2026-09-27T05:30:31.6993768Z dist-renderer/assets/info-A6RAGUB7-BhHg484o.js 0.12 kB │ gzip: 0.12 kB -2026-09-27T05:30:31.6994817Z dist-renderer/assets/radar-RG4KPBEZ-DE5u3ufN.js 0.12 kB │ gzip: 0.12 kB -2026-09-27T05:30:31.6995884Z dist-renderer/assets/packet-AYTQ26CC-CxamwiJ3.js 0.12 kB │ gzip: 0.12 kB -2026-09-27T05:30:31.6996641Z dist-renderer/assets/cynefin-OW5HDTMX-Cr_gDexs.js 0.12 kB │ gzip: 0.13 kB -2026-09-27T05:30:31.6997393Z dist-renderer/assets/treemap-WGGIJYW6-DM7lNLvm.js 0.12 kB │ gzip: 0.13 kB -2026-09-27T05:30:31.6998160Z dist-renderer/assets/wardley-WFR3VGLG-Bp755zxQ.js 0.12 kB │ gzip: 0.13 kB -2026-09-27T05:30:31.6998925Z dist-renderer/assets/gitGraph-4MIJSDKK-DuxCDLZW.js 0.12 kB │ gzip: 0.13 kB -2026-09-27T05:30:31.6999707Z dist-renderer/assets/railroad-74A4TZTK-BIivpsmJ.js 0.12 kB │ gzip: 0.13 kB -2026-09-27T05:30:31.7000498Z dist-renderer/assets/treeView-Q6P3EWNA-D2Oo97Jt.js 0.12 kB │ gzip: 0.13 kB -2026-09-27T05:30:31.7001303Z dist-renderer/assets/railroad-peg-WCYAUIDC-R4abyWSX.js 0.13 kB │ gzip: 0.13 kB -2026-09-27T05:30:31.7002091Z dist-renderer/assets/architecture-7GRP2DOG-B4JcBcz0.js 0.13 kB │ gzip: 0.13 kB -2026-09-27T05:30:31.7002898Z dist-renderer/assets/railroad-abnf-HS5TGJTU-BVnQSDWD.js 0.13 kB │ gzip: 0.13 kB -2026-09-27T05:30:31.7003682Z dist-renderer/assets/railroad-ebnf-LZEXJU2U-BMwVDUs6.js 0.13 kB │ gzip: 0.13 kB -2026-09-27T05:30:31.7004685Z dist-renderer/assets/eventmodeling-NTZA5JFV-r2q0_QZP.js 0.13 kB │ gzip: 0.13 kB -2026-09-27T05:30:31.7005983Z dist-renderer/assets/init-C-OQMol4.js 0.14 kB │ gzip: 0.12 kB -2026-09-27T05:30:31.7006881Z dist-renderer/assets/chunk-Y2CYZVJY-DsF7k-Jl.js 0.15 kB │ gzip: 0.14 kB -2026-09-27T05:30:31.7007606Z dist-renderer/assets/check-D3kDHasx.js 0.16 kB │ gzip: 0.16 kB -2026-09-27T05:30:31.7008345Z dist-renderer/assets/chevron-left-D0pNOHJj.js 0.16 kB │ gzip: 0.16 kB -2026-09-27T05:30:31.7009090Z dist-renderer/assets/chunk-2Q5K7J3B-C1jixKkw.js 0.19 kB │ gzip: 0.16 kB -2026-09-27T05:30:31.7009845Z dist-renderer/assets/chunk-JWPE2WC7-DVXcaiue.js 0.22 kB │ gzip: 0.17 kB -2026-09-27T05:30:31.7010587Z dist-renderer/assets/chunk-XXDRQBXY-DqAYeljN.js 0.26 kB │ gzip: 0.22 kB -2026-09-27T05:30:31.7011314Z dist-renderer/assets/activity-CWW9hrpF.js 0.27 kB │ gzip: 0.22 kB -2026-09-27T05:30:31.7012043Z dist-renderer/assets/IconButton-BSIv0jWj.js 0.27 kB │ gzip: 0.22 kB -2026-09-27T05:30:31.7012779Z dist-renderer/assets/chunk-5VM5RSS4-ZNzvKenW.js 0.36 kB │ gzip: 0.27 kB -2026-09-27T05:30:31.7013515Z dist-renderer/assets/feature-services-D3FkabmQ.js 0.40 kB │ gzip: 0.28 kB -2026-09-27T05:30:31.7014360Z dist-renderer/assets/ui-locale-D5k4fSg3.js 0.41 kB │ gzip: 0.25 kB -2026-09-27T05:30:31.7015382Z dist-renderer/assets/MenuBottomSheet-CG61RUX6.js 0.55 kB │ gzip: 0.33 kB -2026-09-27T05:30:31.7016141Z dist-renderer/assets/chunk-POPQ4Y6H-Cz3rr8UE.js 0.57 kB │ gzip: 0.40 kB -2026-09-27T05:30:31.7016907Z dist-renderer/assets/flowDiagram-HODETNUW-Dqu-OJUv.js 0.57 kB │ gzip: 0.31 kB -2026-09-27T05:30:31.7017685Z dist-renderer/assets/useClipboard-PBCx2hnq.js 0.59 kB │ gzip: 0.39 kB -2026-09-27T05:30:31.7018532Z dist-renderer/assets/infoDiagram-27XIBGKW-D3Pgsev5.js 0.65 kB │ gzip: 0.42 kB -2026-09-27T05:30:31.7019300Z dist-renderer/assets/useCollapsible-C62ZBKox.js 0.67 kB │ gzip: 0.40 kB -2026-09-27T05:30:31.7020084Z dist-renderer/assets/rolldown-runtime-hePW80VL.js 0.71 kB │ gzip: 0.42 kB -2026-09-27T05:30:31.7020864Z dist-renderer/assets/bot-events-BFx6WTvs.js 0.76 kB │ gzip: 0.47 kB -2026-09-27T05:30:31.7021613Z dist-renderer/assets/classDiagram-ZZMXUADV-hOCKBrWE.js 0.77 kB │ gzip: 0.45 kB -2026-09-27T05:30:31.7022382Z dist-renderer/assets/classDiagram-v2-VYDZK3BY-hOCKBrWE.js 0.77 kB │ gzip: 0.45 kB -2026-09-27T05:30:31.7023275Z dist-renderer/assets/stateDiagram-v2-MP3YSRHH-B6kBamAG.js 0.78 kB │ gzip: 0.45 kB -2026-09-27T05:30:31.7024053Z dist-renderer/assets/swimlanesDiagram-VR7AAH4N-DllnE7wU.js 0.83 kB │ gzip: 0.48 kB -2026-09-27T05:30:31.7024980Z dist-renderer/assets/sizeCapture-INFHLROL-B0uUizjq.js 0.87 kB │ gzip: 0.51 kB -2026-09-27T05:30:31.7025701Z dist-renderer/assets/line-DGgZyvbt.js 0.94 kB │ gzip: 0.47 kB -2026-09-27T05:30:31.7026417Z dist-renderer/assets/bot-chat-settings-C65BQCBc.js 1.08 kB │ gzip: 0.60 kB -2026-09-27T05:30:31.7027142Z dist-renderer/assets/useMediaQuery-B8iEjdpv.js 1.16 kB │ gzip: 0.57 kB -2026-09-27T05:30:31.7027888Z dist-renderer/assets/CollapsibleGroup-CF0hfIvl.js 1.16 kB │ gzip: 0.70 kB -2026-09-27T05:30:31.7028600Z dist-renderer/assets/ordinal-BDEzSJ7C.js 1.17 kB │ gzip: 0.56 kB -2026-09-27T05:30:31.7029324Z dist-renderer/assets/preload-helper-uBIymjUX.js 1.23 kB │ gzip: 0.68 kB -2026-09-27T05:30:31.7030048Z dist-renderer/assets/chunk-GVQU2GXP-BjXB_lem.js 1.41 kB │ gzip: 0.79 kB -2026-09-27T05:30:31.7030770Z dist-renderer/assets/useScrollLock-DstsSNMY.js 1.51 kB │ gzip: 0.72 kB -2026-09-27T05:30:31.7031518Z dist-renderer/assets/railroadDiagram-O6MQD6OU-C4U00EQF.js 1.65 kB │ gzip: 0.77 kB -2026-09-27T05:30:31.7032298Z dist-renderer/assets/abnfDiagram-VCTEODGH-BhM3v199.js 1.84 kB │ gzip: 0.89 kB -2026-09-27T05:30:31.7033033Z dist-renderer/assets/chunk-P2QGCYS3-B84eFU3H.js 1.94 kB │ gzip: 0.95 kB -2026-09-27T05:30:31.7033756Z dist-renderer/assets/Tooltip-CSiWVQEU.js 1.96 kB │ gzip: 0.88 kB -2026-09-27T05:30:31.7034606Z dist-renderer/assets/chunk-F27PBJKO-rySoRfJA.js 1.97 kB │ gzip: 0.88 kB -2026-09-27T05:30:31.7035400Z dist-renderer/assets/pegDiagram-XKGWAZYB-CU5RYQX5.js 2.01 kB │ gzip: 0.94 kB -2026-09-27T05:30:31.7036185Z dist-renderer/assets/TimestampHoverCard-D909TXqM.js 2.01 kB │ gzip: 1.00 kB -2026-09-27T05:30:31.7036972Z dist-renderer/assets/ebnfDiagram-PWID7BFC-Buew_nmU.js 2.05 kB │ gzip: 0.89 kB -2026-09-27T05:30:31.7037803Z dist-renderer/assets/dist-v5Q1xZ2K.js 2.17 kB │ gzip: 0.98 kB -2026-09-27T05:30:31.7038613Z dist-renderer/assets/path-fybaL0A-.js 2.27 kB │ gzip: 0.98 kB -2026-09-27T05:30:31.7039343Z dist-renderer/assets/arc-Pry-7G1_.js 3.47 kB │ gzip: 1.46 kB -2026-09-27T05:30:31.7040082Z dist-renderer/assets/markdown-DhuSZKZa.js 4.16 kB │ gzip: 1.86 kB -2026-09-27T05:30:31.7040855Z dist-renderer/assets/diagram-Z3DM3KII-Db-Ip6QJ.js 4.28 kB │ gzip: 1.84 kB -2026-09-27T05:30:31.7041637Z dist-renderer/assets/redaction-B5oeWETO.js 4.32 kB │ gzip: 2.06 kB -2026-09-27T05:30:31.7042470Z dist-renderer/assets/defaultLocale-BFoDCU3G.js 4.63 kB │ gzip: 2.12 kB -2026-09-27T05:30:31.7043243Z dist-renderer/assets/relative-time-wMJ4OVCt.js 4.68 kB │ gzip: 2.15 kB -2026-09-27T05:30:31.7043962Z dist-renderer/assets/Banner-CXPyMAdv.js 4.68 kB │ gzip: 2.19 kB -2026-09-27T05:30:31.7044883Z dist-renderer/assets/browser-panel-Bry99I_8.js 5.29 kB │ gzip: 2.15 kB -2026-09-27T05:30:31.7045615Z dist-renderer/assets/linear-SzVmGSw4.js 5.51 kB │ gzip: 2.25 kB -2026-09-27T05:30:31.7046350Z dist-renderer/assets/chunk-PWAF6VOD-6HqImjm9.js 5.83 kB │ gzip: 2.68 kB -2026-09-27T05:30:31.7047101Z dist-renderer/assets/diagram-UQ7AKVKN-CNjgGo60.js 6.07 kB │ gzip: 2.56 kB -2026-09-27T05:30:31.7047872Z dist-renderer/assets/pieDiagram-E7YTZNPT-Bdxy50lW.js 6.22 kB │ gzip: 2.59 kB -2026-09-27T05:30:31.7048630Z dist-renderer/assets/HoverCard-4f8GRptU.js 6.67 kB │ gzip: 2.54 kB -2026-09-27T05:30:31.7049397Z dist-renderer/assets/session-terminal-panel-rmcjYXzF.js 7.05 kB │ gzip: 2.88 kB -2026-09-27T05:30:31.7050199Z dist-renderer/assets/session-review-panel-CYAajBVZ.js 7.13 kB │ gzip: 2.62 kB -2026-09-27T05:30:31.7050981Z dist-renderer/assets/diagram-S7CK7UJ4-DVj4foF-.js 8.19 kB │ gzip: 3.65 kB -2026-09-27T05:30:31.7051748Z dist-renderer/assets/daily-review-panel-D3GSN5vz.js 9.17 kB │ gzip: 3.24 kB -2026-09-27T05:30:31.7052553Z dist-renderer/assets/chunk-L3NEJ4N5-fTBmkF34.js 9.68 kB │ gzip: 2.93 kB -2026-09-27T05:30:31.7053348Z dist-renderer/assets/cynefinDiagram-5FMLGOSQ-CFXyERO4.js 9.94 kB │ gzip: 3.51 kB -2026-09-27T05:30:31.7054150Z dist-renderer/assets/stateDiagram-D77RDMKH-j4Ku2G1g.js 10.64 kB │ gzip: 3.74 kB -2026-09-27T05:30:31.7055106Z dist-renderer/assets/diagram-VSXAHHWV-BZmcTnGY.js 10.65 kB │ gzip: 4.11 kB -2026-09-27T05:30:31.7055868Z dist-renderer/assets/dagre-GXQ25YYZ--iNAGvLm.js 10.97 kB │ gzip: 4.16 kB -2026-09-27T05:30:31.7056610Z dist-renderer/assets/Section-BkYlIi06.js 12.79 kB │ gzip: 3.06 kB -2026-09-27T05:30:31.7057348Z dist-renderer/assets/chunk-SVP7TREG-CSFk4dhj.js 15.64 kB │ gzip: 4.35 kB -2026-09-27T05:30:31.7058093Z dist-renderer/assets/diagram-VX7I27RA-83qSEk-s.js 15.75 kB │ gzip: 5.52 kB -2026-09-27T05:30:31.7058891Z dist-renderer/assets/mermaid-parser.core-CwUzznet.js 16.75 kB │ gzip: 3.93 kB -2026-09-27T05:30:31.7059675Z dist-renderer/assets/ishikawaDiagram-5VMMS53U-CaGbK4s8.js 17.31 kB │ gzip: 6.53 kB -2026-09-27T05:30:31.7060470Z dist-renderer/assets/skills-copy-BmT8g1J_.js 17.72 kB │ gzip: 6.09 kB -2026-09-27T05:30:31.7061178Z dist-renderer/assets/skills-panel-Bh0rQaWH.js 18.12 kB │ gzip: 5.46 kB -2026-09-27T05:30:31.7061935Z dist-renderer/assets/useIsomorphicLayoutEffect-B4ti8Ugb.js 19.77 kB │ gzip: 7.16 kB -2026-09-27T05:30:31.7062787Z dist-renderer/assets/kanban-definition-UXKFOSKX-ClPWH7nF.js 20.26 kB │ gzip: 7.15 kB -2026-09-27T05:30:31.7063547Z dist-renderer/assets/artifact-pane-DW_52tIy.js 21.71 kB │ gzip: 6.24 kB -2026-09-27T05:30:31.7064291Z dist-renderer/assets/session-inspector-panel-BCy7OXFn.js 22.14 kB │ gzip: 6.55 kB -2026-09-27T05:30:31.7065188Z dist-renderer/assets/sankeyDiagram-P5KCCOFB-BzyklTFD.js 22.79 kB │ gzip: 8.25 kB -2026-09-27T05:30:31.7065956Z dist-renderer/assets/journeyDiagram-3NMN7TZE-B2qzULmd.js 23.15 kB │ gzip: 8.16 kB -2026-09-27T05:30:31.7066812Z dist-renderer/assets/mindmap-definition-YA3MSWOX-DU6-3Zjy.js 23.44 kB │ gzip: 8.02 kB -2026-09-27T05:30:31.7067546Z dist-renderer/assets/graphlib-DS17s2tU.js 23.90 kB │ gzip: 8.31 kB -2026-09-27T05:30:31.7068268Z dist-renderer/assets/bot-brand-logo-BE2Qqcgv.js 24.39 kB │ gzip: 10.82 kB -2026-09-27T05:30:31.7069032Z dist-renderer/assets/MenuBottomSheetActionList-DBFsebDb.js 25.00 kB │ gzip: 8.87 kB -2026-09-27T05:30:31.7069817Z dist-renderer/assets/wardleyDiagram-VM6X3IG4-Pu8vDOOA.js 25.20 kB │ gzip: 6.55 kB -2026-09-27T05:30:31.7070541Z dist-renderer/assets/rough.esm-Dy-Kn_BL.js 27.10 kB │ gzip: 8.85 kB -2026-09-27T05:30:31.7071281Z dist-renderer/assets/gitGraphDiagram-WWUBYQGX-uBXyAthp.js 29.00 kB │ gzip: 8.55 kB -2026-09-27T05:30:31.7072026Z dist-renderer/assets/BottomSheet-DSWLMMx4.js 30.33 kB │ gzip: 10.03 kB -2026-09-27T05:30:31.7072788Z dist-renderer/assets/timeline-definition-24CTP7MA-B3EQ9Ior.js 30.36 kB │ gzip: 9.97 kB -2026-09-27T05:30:31.7073546Z dist-renderer/assets/erDiagram-RLTQ6QDP-BK8S5oWU.js 30.69 kB │ gzip: 10.57 kB -2026-09-27T05:30:31.7074277Z dist-renderer/assets/chunk-75Z2AOVW-BVtjSzMZ.js 30.75 kB │ gzip: 8.50 kB -2026-09-27T05:30:31.7075160Z dist-renderer/assets/requirementDiagram-BXWQKSXE-ScXCmvvM.js 31.00 kB │ gzip: 9.78 kB -2026-09-27T05:30:31.7075948Z dist-renderer/assets/quadrantDiagram-AXDQQJYC-DmIT0njo.js 33.51 kB │ gzip: 9.74 kB -2026-09-27T05:30:31.7076698Z dist-renderer/assets/padding.stylex-Dj5NvG1q.js 34.26 kB │ gzip: 8.91 kB -2026-09-27T05:30:31.7077411Z dist-renderer/assets/chunk-OSK3NFVY-BOE_HYX4.js 36.46 kB │ gzip: 7.96 kB -2026-09-27T05:30:31.7078109Z dist-renderer/assets/dagre-C-rnJpZF.js 36.85 kB │ gzip: 13.23 kB -2026-09-27T05:30:31.7078820Z dist-renderer/assets/chunk-IMKFNOWR-D9SlpeZR.js 37.64 kB │ gzip: 12.27 kB -2026-09-27T05:30:31.7079562Z dist-renderer/assets/vennDiagram-4TSXK5OY-BGwS-4uq.js 41.15 kB │ gzip: 15.11 kB -2026-09-27T05:30:31.7080316Z dist-renderer/assets/blockDiagram-I7D4REHJ-BhP4h9SG.js 41.44 kB │ gzip: 13.36 kB -2026-09-27T05:30:31.7081066Z dist-renderer/assets/use-mounted-ref-7vKDrfZN.js 42.21 kB │ gzip: 15.80 kB -2026-09-27T05:30:31.7081819Z dist-renderer/assets/xychartDiagram-S5SC5T6Z-ChgaS25y.js 44.14 kB │ gzip: 12.22 kB -2026-09-27T05:30:31.7082550Z dist-renderer/assets/src-B6xuSHsQ.js 45.68 kB │ gzip: 16.00 kB -2026-09-27T05:30:31.7083252Z dist-renderer/assets/chunk-TICWLB2K-CdK6dh1C.js 48.78 kB │ gzip: 15.75 kB -2026-09-27T05:30:31.7083993Z dist-renderer/assets/workbar-surface-PysnnKou.js 49.18 kB │ gzip: 15.39 kB -2026-09-27T05:30:31.7084905Z dist-renderer/assets/use-roving-row-focus-ANZwv-NA.js 50.75 kB │ gzip: 17.23 kB -2026-09-27T05:30:31.7085658Z dist-renderer/assets/chunk-GMAD6QVW-DPQy_FmO.js 51.84 kB │ gzip: 16.68 kB -2026-09-27T05:30:31.7086440Z dist-renderer/assets/chunk-SHT3W25Y-3dp-aDPp.js 61.20 kB │ gzip: 19.82 kB -2026-09-27T05:30:31.7087182Z dist-renderer/assets/c4Diagram-7LVT6UL2-bhlYxVfW.js 64.74 kB │ gzip: 18.53 kB -2026-09-27T05:30:31.7087931Z dist-renderer/assets/ganttDiagram-EL5Y4UJY-C5kztyp3.js 69.35 kB │ gzip: 22.74 kB -2026-09-27T05:30:31.7088670Z dist-renderer/assets/shell-copy-Dm1EIDyH.js 77.43 kB │ gzip: 20.10 kB -2026-09-27T05:30:31.7089391Z dist-renderer/assets/cose-bilkent-JH36ORCC-Cm2_ZA6x.js 81.25 kB │ gzip: 21.54 kB -2026-09-27T05:30:31.7090230Z dist-renderer/assets/mermaid.core-BlQ_i7UX.js 94.58 kB │ gzip: 32.56 kB -2026-09-27T05:30:31.7118432Z dist-renderer/assets/chunk-4HAMMTFA-BIGFSsFT.js 104.85 kB │ gzip: 25.63 kB -2026-09-27T05:30:31.7119850Z dist-renderer/assets/swimlanes-42K2YHIH-SygHq0Jw.js 111.11 kB │ gzip: 38.01 kB -2026-09-27T05:30:31.7120966Z dist-renderer/assets/sequenceDiagram-WJ2MYXX4-CiMoeJ_q.js 115.74 kB │ gzip: 30.58 kB -2026-09-27T05:30:31.7121966Z dist-renderer/assets/scheduled-task-panel-8GkaRfV5.js 118.32 kB │ gzip: 36.49 kB -2026-09-27T05:30:31.7123069Z dist-renderer/assets/architectureDiagram-5GKGNRK7-K-IEH4zb.js 148.90 kB │ gzip: 41.12 kB -2026-09-27T05:30:31.7123892Z dist-renderer/assets/useAnnounce-Bx3-OTLE.js 185.58 kB │ gzip: 53.35 kB -2026-09-27T05:30:31.7125010Z dist-renderer/assets/chunk-DU6HZSFF-D9bIM-h8.js 235.84 kB │ gzip: 38.11 kB -2026-09-27T05:30:31.7125821Z dist-renderer/assets/module-page-Drh8xnr8.js 249.18 kB │ gzip: 78.90 kB -2026-09-27T05:30:31.7126545Z dist-renderer/assets/katex-ZlcWpGUi.js 258.68 kB │ gzip: 77.43 kB -2026-09-27T05:30:31.7127258Z dist-renderer/assets/markdown-body-BsjEJPoJ.js 401.47 kB │ gzip: 125.77 kB -2026-09-27T05:30:31.7128006Z dist-renderer/assets/cytoscape.esm-EK2DW5Qr.js 434.69 kB │ gzip: 137.74 kB -2026-09-27T05:30:31.7128744Z dist-renderer/assets/settings-modal-C5X10Rdm.js 483.46 kB │ gzip: 143.39 kB -2026-09-27T05:30:31.7129481Z dist-renderer/assets/chunk-FOHPRMQF-DzxwRta7.js 662.10 kB │ gzip: 143.16 kB -2026-09-27T05:30:31.7130185Z dist-renderer/assets/src-D5TvPmxj.js 1,538.72 kB │ gzip: 281.73 kB -2026-09-27T05:30:31.7130872Z dist-renderer/assets/index-CcdO884q.js 1,831.67 kB │ gzip: 506.89 kB -2026-09-27T05:30:31.7131195Z -2026-09-27T05:30:31.7131476Z ✓ built in 1.90s -2026-09-27T05:30:31.7131882Z [plugin builtin:vite-reporter] -2026-09-27T05:30:31.7132308Z (!) Some chunks are larger than 500 kB after minification. Consider: -2026-09-27T05:30:31.7132778Z - Using dynamic import() to code-split the application -2026-09-27T05:30:31.7133525Z - Use build.rolldownOptions.output.codeSplitting to improve chunking: https://rolldown.rs/reference/OutputOptions.codeSplitting -2026-09-27T05:30:31.7134328Z - Adjust chunk size limit for this warning via build.chunkSizeWarningLimit. -2026-09-27T05:30:31.7971956Z Renderer entry output check passed. -2026-09-27T05:30:31.8280556Z [third-party-notices] OK — renderer artifact contains the byte-identical public notice. -2026-09-27T05:30:31.8529141Z ##[group]Run npm run check:release -2026-09-27T05:30:31.8529485Z npm run check:release -2026-09-27T05:30:31.8568759Z shell: /usr/bin/bash -e {0} -2026-09-27T05:30:31.8569071Z ##[endgroup] -2026-09-27T05:30:31.9501003Z -2026-09-27T05:30:31.9501411Z > maka@0.2.0 check:release -2026-09-27T05:30:31.9506873Z > npm run check:stale && npm run check:third-party-notices && npm run check:cli-third-party-notices && npm run check:model-metadata && npm run check:product-release-identity && npm run check:asf-npm && node --test scripts/product-nightly.test.mjs scripts/desktop-release-targets.test.mjs scripts/verify-linux-harness.test.mjs scripts/desktop-nightly.test.mjs scripts/desktop-nightly-stage.test.mjs scripts/desktop-nightly-release.test.mjs scripts/desktop-nightly-workflow-policy.test.mjs scripts/audit-shipped-dependencies.test.mjs scripts/product-release.test.mjs scripts/product-release-authority.test.mjs scripts/release-cli-file-policy.test.mjs scripts/release-cli-artifact-policy.test.mjs scripts/release-cli-eval-support.test.mjs scripts/release-cli-publication.test.mjs scripts/release-cli-runtime-host-diagnostics.test.mjs scripts/qualify-released-cli-state-root.test.mjs scripts/release-cli-workflow-policy.test.mjs scripts/verify-packaged-app.test.mjs scripts/third-party-closure.test.mjs scripts/generate-third-party-notices.test.mjs scripts/source-legal-inventory.test.mjs scripts/sync-model-metadata.test.mjs scripts/prepare-windows-upgrade-baseline.test.mjs scripts/windows-package-source-closure.test.mjs -2026-09-27T05:30:31.9511438Z -2026-09-27T05:30:32.0416038Z -2026-09-27T05:30:32.0416556Z > maka@0.2.0 check:stale -2026-09-27T05:30:32.0417144Z > node scripts/check-stale-dist.mjs -2026-09-27T05:30:32.0417455Z -2026-09-27T05:30:32.0959180Z dist is fresh. -2026-09-27T05:30:32.1867873Z -2026-09-27T05:30:32.1868479Z > maka@0.2.0 check:third-party-notices -2026-09-27T05:30:32.1869114Z > node scripts/generate-third-party-notices.mjs --check -2026-09-27T05:30:32.1869373Z -2026-09-27T05:30:34.5083460Z [third-party-notices] OK — production dependency inventory is current. -2026-09-27T05:30:34.6083436Z -2026-09-27T05:30:34.6084142Z > maka@0.2.0 check:cli-third-party-notices -2026-09-27T05:30:34.6085162Z > node scripts/generate-third-party-notices.mjs --target cli --check -2026-09-27T05:30:34.6085610Z -2026-09-27T05:30:35.4087387Z [third-party-notices] OK — production dependency inventory is current. -2026-09-27T05:30:35.5047419Z -2026-09-27T05:30:35.5048182Z > maka@0.2.0 check:model-metadata -2026-09-27T05:30:35.5048642Z > node scripts/sync-model-metadata.mjs --check -2026-09-27T05:30:35.5048865Z -2026-09-27T05:30:35.5839250Z (node:5313) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time -2026-09-27T05:30:35.5840850Z (Use `node --trace-warnings ...` to show where the warning was created) -2026-09-27T05:30:35.8272832Z -2026-09-27T05:30:35.8274137Z > maka@0.2.0 check:product-release-identity -2026-09-27T05:30:35.8275316Z > node scripts/product-release-identity.mjs -2026-09-27T05:30:35.8275913Z -2026-09-27T05:30:35.8860334Z Product release v0.2.0 from 7bfadeae3cbf5c7e2ea368eb3dbdedcb34590feb -2026-09-27T05:30:35.9796773Z -2026-09-27T05:30:35.9797475Z > maka@0.2.0 check:asf-npm -2026-09-27T05:30:35.9798038Z > node --test scripts/asf-npm-workflow-policy.test.mjs -2026-09-27T05:30:35.9798335Z -2026-09-27T05:30:36.0596481Z ✔ ASF npm preflight validates the source RC package without publishing (0.927834ms) -2026-09-27T05:30:36.0686790Z ℹ tests 1 -2026-09-27T05:30:36.0687157Z ℹ suites 0 -2026-09-27T05:30:36.0687511Z ℹ pass 1 -2026-09-27T05:30:36.0687748Z ℹ fail 0 -2026-09-27T05:30:36.0687989Z ℹ cancelled 0 -2026-09-27T05:30:36.0688254Z ℹ skipped 0 -2026-09-27T05:30:36.0688485Z ℹ todo 0 -2026-09-27T05:30:36.0688761Z ℹ duration_ms 55.747683 -2026-09-27T05:30:36.1801360Z ✔ blocks a valid report that reaches a shipped dependency (2.054195ms) -2026-09-27T05:30:36.1846142Z ✔ classifies an audit service error as unavailable (0.30828ms) -2026-09-27T05:30:36.3091174Z ✔ Nightly publication verifies the exact draft before one Prerelease/non-Latest mutation (74.905179ms) -2026-09-27T05:30:36.3447128Z ✔ a missing Nightly release is created only as a draft prerelease with Latest disabled (36.605362ms) -2026-09-27T05:30:36.3583293Z ✔ staging creates only the exact GitHub Release assets (80.069135ms) -2026-09-27T05:30:36.3616698Z ✔ one attestation bundle is staged only as a GitHub Release asset (3.594709ms) -2026-09-27T05:30:36.3674947Z ✔ npm publication owns both npm channels and no Desktop authority (42.779963ms) -2026-09-27T05:30:36.3705739Z ✔ Desktop Nightly starts only from a successful published npm identity (15.770865ms) -2026-09-27T05:30:36.3897375Z ✔ a failed Desktop Nightly is retried through a fresh npm Nightly (24.097495ms) -2026-09-27T05:30:36.4006358Z ✔ Desktop Nightly packages the GitHub dev feeds and grants write only to its publisher (11.649311ms) -2026-09-27T05:30:36.4106008Z ✔ every packaged Desktop target ships from a runner of its own architecture (8.527181ms) -2026-09-27T05:30:36.4170957Z ✔ the publisher verifies exact GitHub identity and assets before publishing last (7.695403ms) -2026-09-27T05:30:36.4252887Z ✔ the Nightly Linux verification runs under a virtual display (8.654894ms) -2026-09-27T05:30:36.4353568Z ✔ Desktop Nightly has no Apache Nightlies transport or compatibility state (9.276425ms) -2026-09-27T05:30:36.5057404Z ✔ a nightly package embeds only the Apache GitHub dev update authority (2.733928ms) -2026-09-27T05:30:36.5098446Z ✔ the macOS Nightly wrapper accepts dev update metadata (8.297406ms) -2026-09-27T05:30:36.5118086Z ✔ the Windows Nightly wrapper accepts dev update metadata (3.015747ms) -2026-09-27T05:30:36.5735758Z ✔ the Linux Nightly wrapper builds the AppImage before the deb and merges one feed (1.703377ms) -2026-09-27T05:30:36.5737423Z ✔ a packaged Nightly accepts the pinned GitHub dev update channel (38.483269ms) -2026-09-27T05:30:36.5738801Z ✔ the GitHub dev provider resolves each platform payload to its absolute Release asset URL (0.872253ms) -2026-09-27T05:30:36.5740503Z ✔ the GitHub dev provider skips a withdrawn Nightly still present in the Atom feed (10.175132ms) -2026-09-27T05:30:36.5741814Z ✔ the GitHub dev provider fails after every eligible Nightly is missing metadata (1.593798ms) -2026-09-27T05:30:36.5743271Z ✔ the GitHub dev provider does not hide non-404 metadata failures behind an older Nightly (0.973874ms) -2026-09-27T05:30:36.5776334Z ✔ GitHub differential updates derive the previous blockmap from the previous versioned tag (0.663984ms) -2026-09-27T05:30:36.7821599Z ✔ formal release checks ignore the ambient Nightly packaging environment (214.997346ms) -2026-09-27T05:30:36.7826726Z ✔ packaging observes a valid nightly version without changing product manifests (0.295678ms) -2026-09-27T05:30:36.8817965Z ✔ the packaging scripts produce exactly the payloads the target descriptor names (12.61612ms) -2026-09-27T05:30:36.8848873Z ✔ no packaging script builds an architecture other than its own (3.122229ms) -2026-09-27T05:30:36.8868747Z • electron-builder version=26.15.3 os=6.17.0-1022-azure -2026-09-27T05:30:37.7779904Z • electron-builder version=26.15.3 os=6.17.0-1022-azure -2026-09-27T05:30:37.7867792Z • electron-builder version=26.15.3 os=6.17.0-1022-azure -2026-09-27T05:30:37.7952253Z • electron-builder version=26.15.3 os=6.17.0-1022-azure -2026-09-27T05:30:37.8015328Z ✔ electron-builder accepts the configuration for every Linux target (915.655973ms) -2026-09-27T05:30:37.8022431Z ✔ every payload a runner uploads is advertised or accounted for by one feed (1.016717ms) -2026-09-27T05:30:43.6204635Z ✔ keeps a version-pinned Apache override scoped to the Apache license (3345.969817ms) -2026-09-27T05:30:43.6215758Z ✔ preserves exact README MIT notices for packages without license files (3771.287884ms) -2026-09-27T05:30:43.6286009Z ✔ a cached installer matching the pinned digest is used without downloading (5.223919ms) -2026-09-27T05:30:43.6287417Z ✔ an absent installer is downloaded and verified (3.82412ms) -2026-09-27T05:30:43.6289098Z ✔ a cached installer with the wrong digest is replaced rather than trusted (2.370405ms) -2026-09-27T05:30:43.6290367Z ✔ an unreadable cache entry falls back to the network instead of failing (2.573087ms) -2026-09-27T05:30:43.6291612Z ✔ a fresh download that does not match the pinned digest fails the run (2.039547ms) -2026-09-27T05:30:43.6292869Z ✔ a nightly identity is a dev build of the checked-in product version (2.543705ms) -2026-09-27T05:30:43.6294101Z ✔ the version handoff contains only the exact npm Nightly version (0.721775ms) -2026-09-27T05:30:43.6295409Z ✔ the version handoff CLI passes only the exact version to Desktop (88.980111ms) -2026-09-27T05:30:43.6296691Z ✔ run number is the single monotonic Nightly authority across dates and product versions (0.938206ms) -2026-09-27T05:30:43.6298057Z ✔ the npm channel CLI advances across the checked-in product version boundary (49.84139ms) -2026-09-27T05:30:43.6299369Z ✔ the identity entrypoint runs before repository dependencies are installed (64.198232ms) -2026-09-27T05:30:43.6300734Z ✔ publication verifies live asset digests before one Stable/Latest mutation (98.905365ms) -2026-09-27T05:30:43.6301942Z ✔ one root version defines every product artifact from one source commit (4.213306ms) -2026-09-27T05:30:43.6303301Z ✔ the manifest operators compare the Draft against is the published set (97.688229ms) -2026-09-27T05:30:43.6304686Z ✔ publication merges the per-architecture macOS feeds into the one clients read (32.794815ms) -2026-09-27T05:30:43.6305807Z ✔ the release Linux verification runs under a virtual display (33.251269ms) -2026-09-27T05:30:43.6306924Z ✔ the publish chain turns every staged group into the exact release assets (22.040469ms) -2026-09-27T05:30:43.6308080Z ✔ the standalone launcher identifies its installed Eval bundle root (12.359515ms) -2026-09-27T05:30:43.6309072Z ✔ formal product identity rejects every prerelease channel (0.994316ms) -2026-09-27T05:30:43.6310143Z ✔ Desktop packaging derives the Runtime Host setup package from product manifests (1.177749ms) -2026-09-27T05:30:43.6311288Z ✔ Desktop stages release manifests before electron-builder builds the archive (7.060688ms) -2026-09-27T05:30:43.6312412Z ✔ Desktop packaging does not distribute the retired bundled Git runtime (0.451952ms) -2026-09-27T05:30:43.6313443Z ✔ packaged third-party license sources are resolved, not assumed hoisted (0.291301ms) -2026-09-27T05:30:43.6314135Z ✔ macOS DMG ships correctly sized background assets (1.885732ms) -2026-09-27T05:30:43.6315628Z ✔ a successful Windows upgrade invalidates stale backup authority before best-effort cleanup (0.652118ms) -2026-09-27T05:30:43.6316835Z ✔ platform package verifiers keep Git checks out of every artifact (3.970288ms) -2026-09-27T05:30:43.6317824Z ✔ the packaged-app probe rejects a mismatched Runtime Host setup package (95.835687ms) -2026-09-27T05:30:43.6318831Z ✔ product releases accept only an exact same-version ASF source reference (0.775777ms) -2026-09-27T05:30:43.6319689Z ✔ the product identity CLI uses the checked-out commit outside GitHub Actions (176.901437ms) -2026-09-27T05:30:43.6320383Z ✔ product release identity rejects a non-canonical version at its boundary (0.392094ms) -2026-09-27T05:30:43.6321338Z ✔ product tag creation is exact and idempotent but rejects a conflicting commit (88.097183ms) -2026-09-27T05:30:43.6322155Z ✔ standalone verification recognizes the current TUI status line through ANSI output (0.371076ms) -2026-09-27T05:30:43.6322838Z ✔ standalone verification assesses the downloaded quarantine state (0.196202ms) -2026-09-27T05:30:43.6323507Z ✔ standalone packaging keeps or thins arm64 Mach-O files instead of deleting them (0.340868ms) -2026-09-27T05:30:43.6324203Z ✔ CLI signing accepts one base64 PKCS12 and one isolated Developer ID identity (1.043581ms) -2026-09-27T05:30:43.6325109Z ✔ CLI signing removes temporary credentials when keychain deletion fails (5.518693ms) -2026-09-27T05:30:43.6325746Z ✔ CLI signing command failures do not disclose credential arguments (33.102968ms) -2026-09-27T05:30:43.6326640Z ✔ CLI signing removes development-only access from the official Node entitlements (1.041591ms) -2026-09-27T05:30:43.6327297Z ✔ the Eval workspace owns the complete runtime asset declaration (3.174242ms) -2026-09-27T05:30:43.6328215Z ✔ standalone packaging applies the shared CLI file policy to dependencies (4.248165ms) -2026-09-27T05:30:43.6329226Z ✔ standalone workspace staging keeps manifests consistent with copied files (23.867651ms) -2026-09-27T05:30:43.6330123Z ✔ standalone dependency installation removes host script policy and unrelated workspaces (0.353861ms) -2026-09-27T05:30:43.6330857Z ✔ standalone dependency installation ignores caller-specific npm script policy (0.27109ms) -2026-09-27T05:30:43.6331525Z ✔ one product workflow gates one draft release on every required artifact (21.502708ms) -2026-09-27T05:30:43.6332163Z ✔ repository control plane admits only each release phase owner ref (5.450931ms) -2026-09-27T05:30:43.6332719Z ✔ parses two exact artifacts and an epoch relation (1.699891ms) -2026-09-27T05:30:43.6333271Z ✔ rejects ambiguous artifact identity and unknown arguments (0.478615ms) -2026-09-27T05:30:43.6333908Z ✔ uses privilege only for mount setup and drops every privilege before Node (0.357936ms) -2026-09-27T05:30:43.6335175Z ✔ creates a private Host IPC temp root before mounting a scope that may live below it (0.208642ms) -2026-09-27T05:30:43.6335812Z ✔ classifies and fences the expected epoch relationship (0.189398ms) -2026-09-27T05:30:43.6336290Z ✔ computes the exact artifact SHA-256 (0.8687ms) -2026-09-27T05:30:43.6336836Z ✔ durable state covers the control namespace, not only the State Root (0.474687ms) -2026-09-27T05:30:43.6337536Z ✔ a workspace target replaces tarball identity instead of weakening it (0.340102ms) -2026-09-27T05:30:43.6338155Z ✔ starts the liveness window after a delayed Runtime Host Ready (247.629975ms) -2026-09-27T05:30:43.6338761Z ✔ starts the liveness window after the real Runtime Host is ready (2545.103106ms) -2026-09-27T05:30:43.6339327Z ✔ rejects a Runtime Host that exits cleanly after Ready (57.883383ms) -2026-09-27T05:30:43.6339870Z ✔ rejects a Runtime Host that fails verifier shutdown (88.816991ms) -2026-09-27T05:30:43.6340272Z ▶ CLI release artifact policy -2026-09-27T05:30:43.6340695Z ✔ accepts the established proof-tarball baseline (0.847875ms) -2026-09-27T05:30:43.6341198Z ✔ rejects each metric above its reviewed ceiling (0.616566ms) -2026-09-27T05:30:43.6341678Z ✔ rejects malformed metrics instead of coercing them (0.183994ms) -2026-09-27T05:30:43.6342126Z ✔ CLI release artifact policy (3.348289ms) -2026-09-27T05:30:43.6342503Z ▶ installed Eval release validation support -2026-09-27T05:30:43.6343020Z ✔ reports the unsupported platform before inspecting release artifacts (4.679794ms) -2026-09-27T05:30:43.6343647Z ✔ resolves the one built tarball instead of assuming the checked-in version (1.146675ms) -2026-09-27T05:30:43.6344263Z ✔ creates the Git fixture without inheriting host Git configuration (64.695967ms) -2026-09-27T05:30:43.6345060Z ✔ preserves the primary process failure when diagnostics are truncated (1.666295ms) -2026-09-27T05:30:43.6345692Z ✔ preserves the primary process failure when diagnostics cannot be read (0.979777ms) -2026-09-27T05:30:43.6346297Z ✔ reports malformed successful output with the attempt evidence (1.057297ms) -2026-09-27T05:30:43.6346857Z ✔ installed Eval release validation support (76.142232ms) -2026-09-27T05:30:43.6347418Z ✔ the npm README receives the canonical WIP disclaimer exactly once (1.547012ms) -2026-09-27T05:30:43.6347852Z ▶ CLI release file policy -2026-09-27T05:30:43.6348348Z ✔ release manifests omit exports whose targets are excluded from Maka artifacts (6.507573ms) -2026-09-27T05:30:43.6348952Z ✔ release manifests project conditional exports leaf by leaf (0.428459ms) -2026-09-27T05:30:43.6349494Z ✔ release manifests preserve a top-level export target array (0.206552ms) -2026-09-27T05:30:43.6350078Z ✔ derives the runtime workspace build order from production dependencies (0.372822ms) -2026-09-27T05:30:43.6350678Z ✔ orders selected runtime workspaces by local build-time dependencies (0.413549ms) -2026-09-27T05:30:43.6351393Z ✔ release file declarations cannot escape or overlap their workspace (0.667336ms) -2026-09-27T05:30:43.6352060Z ✔ release file declarations accept a declared directory and reject non-regular entries (1.708182ms) -2026-09-27T05:30:43.6352706Z ✔ rejects third-party development artifacts on every platform (0.638711ms) -2026-09-27T05:30:43.6353244Z ✔ preserves third-party runtime source and native assets (0.584127ms) -2026-09-27T05:30:43.6353755Z ✔ keeps the stricter Maka-owned package boundary (0.206756ms) -2026-09-27T05:30:43.6354298Z ✔ development packages exclude JavaScript left by deleted sources (0.786517ms) -2026-09-27T05:30:43.6355074Z ✔ rejects Maka test-only modules so no test backend can ship (0.173467ms) -2026-09-27T05:30:43.6355580Z ✔ leaves a third-party test-only directory alone (0.363042ms) -2026-09-27T05:30:43.6356007Z ✔ CLI release file policy (14.602005ms) -2026-09-27T05:30:43.6356382Z ▶ script imports of workspace build output -2026-09-27T05:30:43.6356899Z ✔ every workspace dist module a script references by path still exists (12.954115ms) -2026-09-27T05:30:43.6357447Z ✔ script imports of workspace build output (13.114426ms) -2026-09-27T05:30:43.6358077Z ✔ formal and Nightly versions map to their only public channels (4.400974ms) -2026-09-27T05:30:43.6358657Z ✔ formal finalization requires only the exact latest channel (0.361023ms) -2026-09-27T05:30:43.6359226Z ✔ Nightly preparation validates only the exact dev candidate (8.694607ms) -2026-09-27T05:30:43.6359838Z ✔ stage records bind the checked candidate to one source workflow run (1.421162ms) -2026-09-27T05:30:43.6360475Z ✔ stage preparation rejects a product tag that does not match the version (0.719392ms) -2026-09-27T05:30:43.6361021Z ✔ stage preparation rejects checksum drift (19.594866ms) -2026-09-27T05:30:43.6361575Z ✔ finalization accepts only the exact successful main-branch stage run (2.58006ms) -2026-09-27T05:30:43.6362275Z ✔ finalization rejects a release record whose product tag does not match its version (17.771222ms) -2026-09-27T05:30:43.6362954Z ✔ registry finalization requires the exact staged bytes and dist-tag (118.678989ms) -2026-09-27T05:30:43.6363610Z ✔ registry downloads stop reading as soon as the tarball exceeds its bound (29.229875ms) -2026-09-27T05:30:43.6364321Z ✔ release qualification binds the current Nightly tag to immutable registry bytes (104.506384ms) -2026-09-27T05:30:43.6365139Z ✔ the release predecessor may come from the previous product version (136.324561ms) -2026-09-27T05:30:43.6365768Z ✔ a newer Nightly invalidates previously qualified predecessor evidence (1.17406ms) -2026-09-27T05:30:43.6366413Z ✔ signature audit must contain Maka provenance for the finalized version (2.606936ms) -2026-09-27T05:30:43.6367096Z ✔ signature audit binds provenance to the exact main publisher workflow and run (39.510735ms) -2026-09-27T05:30:43.6367735Z ✔ signature audit tree exposes only the top-level registry package (1.42226ms) -2026-09-27T05:30:43.6368340Z ✔ prepare-stage CLI emits only consumed GitHub Actions outputs (64.646407ms) -2026-09-27T05:30:43.6368958Z ✔ validate-stage-run CLI accepts the canonical staged release identity (60.690587ms) -2026-09-27T05:30:43.6369680Z ✔ collects canonical Runtime Host evidence without invoking mutating storage authority (5.997997ms) -2026-09-27T05:30:43.6370361Z ✔ keeps read-only path evidence when root authority validation fails (1.313769ms) -2026-09-27T05:30:43.6370991Z ✔ validation consumers download the artifact produced by the build job (3.065124ms) -2026-09-27T05:30:43.6371711Z ✔ CLI validation qualifies exact published State Roots without weakening artifact identity (2.269962ms) -2026-09-27T05:30:43.6372442Z ✔ both supported Node versions validate the tarball even when the first fails (0.474052ms) -2026-09-27T05:30:43.6373086Z ✔ npm mutations revalidate the exact qualified Nightly predecessor (0.526975ms) -2026-09-27T05:30:43.6373780Z ✔ stage consumes the validated artifact and makes provenance staging the final step (0.486535ms) -2026-09-27T05:30:43.6374652Z ✔ stage builds product data without executing it under npm OIDC (0.565894ms) -2026-09-27T05:30:43.6375371Z ✔ finalize runs the current verifier from reviewed main against exact build evidence (1.440272ms) -2026-09-27T05:30:43.6376152Z ✔ finalize revalidates the live product release before trusting public npm bytes (0.353062ms) -2026-09-27T05:30:43.6376871Z ✔ finalize preserves npm evidence and owns the single product publication boundary (0.678643ms) -2026-09-27T05:30:43.6377556Z ✔ finalize consumes the normalized release assets the publish job hands off (0.858158ms) -2026-09-27T05:30:43.6378210Z ✔ release workflows select npm from the root packageManager authority (0.899178ms) -2026-09-27T05:30:43.6378776Z ✔ root release documents describe the source candidate (5.864563ms) -2026-09-27T05:30:43.6379415Z ✔ mixed-origin DeepSeek profile carries both scopes without a whole-file ASF claim (3.607721ms) -2026-09-27T05:30:43.6380090Z ✔ PawWork browser provenance is pinned to the confirmed transfer boundary (5.776551ms) -2026-09-27T05:30:43.6380746Z ✔ MingCute license pointer resolves in both source and packaged layouts (2.058415ms) -2026-09-27T05:30:43.6381386Z ✔ every vendored provider mark is bound to its reviewed inventory and digest (7.86735ms) -2026-09-27T05:30:43.6382099Z (node:5812) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time -2026-09-27T05:30:43.6382714Z (Use `node --trace-warnings ...` to show where the warning was created) -2026-09-27T05:30:43.6383325Z ✔ the committed snapshot generates both TypeScript modules offline (246.001287ms) -2026-09-27T05:30:43.6383873Z ✔ a no-op sync preserves generated output mtimes (92.617991ms) -2026-09-27T05:30:43.6384601Z ✔ a refresh persists the exact selected input and check fails on stale output (199.001552ms) -2026-09-27T05:30:43.6385214Z ✔ a modified snapshot fails closed before generation (81.483211ms) -2026-09-27T05:30:43.6385789Z ✔ refresh rejects an empty required provider before replacing outputs (2.886095ms) -2026-09-27T05:30:43.6386413Z ✔ refresh rejects unknown model modalities instead of dropping them (2.501603ms) -2026-09-27T05:30:43.6387002Z ✔ drift finds nothing when the snapshot still matches upstream (70.19699ms) -2026-09-27T05:30:43.6387612Z ✔ drift separates a rejected shape from a real upstream difference (89.214038ms) -2026-09-27T05:30:43.6388218Z ✔ drift reports the projection sections that carry no model metadata (70.374728ms) -2026-09-27T05:30:43.6388783Z ✔ drift refuses to combine with the modes that write (0.640295ms) -2026-09-27T05:30:43.6389344Z ✔ refresh carries the video and pdf modalities models.dev declares (63.237852ms) -2026-09-27T05:30:43.6390001Z ✔ refresh rejects a partial provider shrink until it is explicitly accepted (146.171808ms) -2026-09-27T05:30:43.6390650Z ✔ refresh rejects lost pricing coverage from an otherwise valid model (63.862559ms) -2026-09-27T05:30:43.6391240Z ✔ refresh rejects nested capability and pricing shrinkage (152.208341ms) -2026-09-27T05:30:43.6391852Z ✔ refresh leaves all targets unchanged when any output cannot be staged (139.424134ms) -2026-09-27T05:30:43.6392310Z ▶ bareCssImportSpecifiers -2026-09-27T05:30:43.6392727Z ✔ finds package names behind every @import spelling (2.932778ms) -2026-09-27T05:30:43.6393228Z ✔ ignores anything that is not a package name (0.253702ms) -2026-09-27T05:30:43.6393731Z ✔ reports a scoped package once however deeply it is imported (0.277942ms) -2026-09-27T05:30:43.6394193Z ✔ bareCssImportSpecifiers (5.057143ms) -2026-09-27T05:30:43.6394923Z ✔ the architecture assertion accepts a binary built for the target (9.15751ms) -2026-09-27T05:30:43.6395524Z ✔ the architecture assertion rejects the other architecture (2.642446ms) -2026-09-27T05:30:43.6396079Z ✔ the architecture assertion rejects a file that is not ELF (1.472379ms) -2026-09-27T05:30:43.6396620Z ✔ the architecture assertion rejects a truncated header (1.525921ms) -2026-09-27T05:30:43.6397197Z ✔ the architecture assertion refuses to read a big-endian header (1.501119ms) -2026-09-27T05:30:43.6397832Z ✔ the merged Linux feed offers both distributables (55.151723ms) -2026-09-27T05:30:43.6398350Z ✔ the Nightly merged feed is read under its own name (6.364937ms) -2026-09-27T05:30:43.6398838Z ✔ a merged feed that lost a payload is rejected (6.50869ms) -2026-09-27T05:30:43.6399463Z ✔ a merged feed whose digest belongs to another payload is rejected (4.824972ms) -2026-09-27T05:30:43.6400003Z ✔ a merged feed carrying a stale digest is rejected (8.736273ms) -2026-09-27T05:30:43.6400501Z ✔ a merged feed carrying a stale size is rejected (5.79641ms) -2026-09-27T05:30:43.6400995Z ✔ Linux verification refuses to run anywhere else (0.618727ms) -2026-09-27T05:30:45.4701622Z ✔ Windows file rules keep test code and renderer side-files out of the app (81.903047ms) -2026-09-27T05:30:45.4727039Z ✔ Desktop packaging keeps node-pty runtime files without its build intermediates (42.041442ms) -2026-09-27T05:30:45.4728165Z ✔ packaged resources forbid the retired bundled Git distribution (2.012159ms) -2026-09-27T05:30:45.4729386Z ✔ the upgrade baseline keeps the Git absence rule while relaxing newer resources (2.957832ms) -2026-09-27T05:30:45.4729858Z ▶ asarLookupPath -2026-09-27T05:30:45.4730325Z ✔ leaves archive paths alone where the separator already matches (1.317185ms) -2026-09-27T05:30:45.4730887Z ✔ localizes every segment for a Windows separator (0.192836ms) -2026-09-27T05:30:45.4731409Z ✔ resolves a real archive path under a Windows separator (3.463498ms) -2026-09-27T05:30:45.4731821Z ✔ asarLookupPath (5.5109ms) -2026-09-27T05:30:45.4732312Z ✔ accepts the Intel Mach-O architecture for an x64 package (3944.835901ms) -2026-09-27T05:30:45.4820977Z ▶ assertPackagedDependencyClosure -2026-09-27T05:30:45.4821641Z ✔ accepts an artifact whose asar, bundle record, and shipped notices match (15.249017ms) -2026-09-27T05:30:45.4870550Z ✔ rejects a stale shipped notice even though the checkout copy is complete (5.011766ms) -2026-09-27T05:30:45.4916018Z ✔ rejects a notice entry whose version is not the shipped one (4.408282ms) -2026-09-27T05:30:45.4953167Z ✔ rejects a permitted package shipped at a version the closure does not declare (3.767208ms) -2026-09-27T05:30:45.5005962Z ✔ rejects shipped code importing a package the closure allows but the archive lacks (5.095064ms) -2026-09-27T05:30:45.5068914Z ✔ rejects a leak hidden inside a nested node_modules (6.285486ms) -2026-09-27T05:30:45.5107727Z ✔ rejects any package outside the production closure, transitive ones included (3.944174ms) -2026-09-27T05:30:45.5149627Z ✔ rejects an asar trimmed past what the PTY stack loads (4.029325ms) -2026-09-27T05:30:45.5189864Z ✔ rejects a bundle record naming a package the closure does not declare (3.986446ms) -2026-09-27T05:30:45.5227756Z ✔ rejects an artifact with no bundle record at all (3.720227ms) -2026-09-27T05:30:45.5306037Z ✔ asset-licensed packages need their shipped license file, not an npm notice (7.133741ms) -2026-09-27T05:30:45.5307242Z ✔ assertPackagedDependencyClosure (63.583318ms) -2026-09-27T05:30:45.5317496Z ▶ assertPackagedResources -2026-09-27T05:30:45.5318544Z ✔ a current build must carry the canonical icon (1.481587ms) -2026-09-27T05:30:45.5329270Z ✔ a legacy baseline predating the packaged icon is not required to carry it (0.740343ms) -2026-09-27T05:30:45.5330017Z ✔ assertPackagedResources (2.439211ms) -2026-09-27T05:30:45.5528756Z ✔ the Windows package trigger is exactly its closure plus declared exceptions (61.766944ms) -2026-09-27T05:30:45.5529589Z ✔ the Windows package workflow path list has no duplicate entries (0.9159ms) -2026-09-27T05:30:45.5530372Z ✔ the recovery filter is exactly the Windows-branching closure of its tests (1407.8965ms) -2026-09-27T05:30:45.5532151Z ℹ tests 203 -2026-09-27T05:30:45.5532499Z ℹ suites 8 -2026-09-27T05:30:45.5532841Z ℹ pass 203 -2026-09-27T05:30:45.5533088Z ℹ fail 0 -2026-09-27T05:30:45.5533344Z ℹ cancelled 0 -2026-09-27T05:30:45.5533594Z ℹ skipped 0 -2026-09-27T05:30:45.5533846Z ℹ todo 0 -2026-09-27T05:30:45.5534127Z ℹ duration_ms 9444.841686 -2026-09-27T05:30:45.5674703Z ##[group]Run npm run typecheck -2026-09-27T05:30:45.5674999Z npm run typecheck -2026-09-27T05:30:45.5713743Z shell: /usr/bin/bash -e {0} -2026-09-27T05:30:45.5714026Z ##[endgroup] -2026-09-27T05:30:45.6606261Z -2026-09-27T05:30:45.6607159Z > maka@0.2.0 typecheck -2026-09-27T05:30:45.6607755Z > npm run typecheck --workspaces --if-present -2026-09-27T05:30:45.6608082Z -2026-09-27T05:30:45.7760471Z -2026-09-27T05:30:45.7761110Z > @maka/core@0.1.0 pretypecheck -2026-09-27T05:30:45.7761662Z > npm --prefix ../.. run sync:model-metadata -2026-09-27T05:30:45.7761881Z -2026-09-27T05:30:45.8707284Z -2026-09-27T05:30:45.8707961Z > maka@0.2.0 sync:model-metadata -2026-09-27T05:30:45.8708530Z > node scripts/sync-model-metadata.mjs -2026-09-27T05:30:45.8708744Z -2026-09-27T05:30:45.9481684Z (node:6226) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time -2026-09-27T05:30:45.9482946Z (Use `node --trace-warnings ...` to show where the warning was created) -2026-09-27T05:30:45.9888515Z -2026-09-27T05:30:45.9889411Z > @maka/core@0.1.0 typecheck -2026-09-27T05:30:45.9889969Z > tsc -p tsconfig.json --noEmit -2026-09-27T05:30:45.9890224Z -2026-09-27T05:30:46.2110694Z -2026-09-27T05:30:46.2111105Z > @maka/storage@0.1.0 typecheck -2026-09-27T05:30:46.2111648Z > tsc -p tsconfig.json --noEmit -2026-09-27T05:30:46.2111854Z -2026-09-27T05:30:46.4790863Z -2026-09-27T05:30:46.4791485Z > @maka/mcp@0.1.0 typecheck -2026-09-27T05:30:46.4792034Z > tsc -p tsconfig.json --noEmit -2026-09-27T05:30:46.4792253Z -2026-09-27T05:30:46.6540865Z -2026-09-27T05:30:46.6541612Z > @maka/runtime@0.1.0 pretypecheck -2026-09-27T05:30:46.6542204Z > npm --prefix ../.. run sync:model-metadata -2026-09-27T05:30:46.6542435Z -2026-09-27T05:30:46.7400882Z -2026-09-27T05:30:46.7401484Z > maka@0.2.0 sync:model-metadata -2026-09-27T05:30:46.7402043Z > node scripts/sync-model-metadata.mjs -2026-09-27T05:30:46.7402250Z -2026-09-27T05:30:46.8181170Z (node:6296) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time -2026-09-27T05:30:46.8182156Z (Use `node --trace-warnings ...` to show where the warning was created) -2026-09-27T05:30:46.8589985Z -2026-09-27T05:30:46.8590609Z > @maka/runtime@0.1.0 typecheck -2026-09-27T05:30:46.8591172Z > tsc -p tsconfig.json --noEmit -2026-09-27T05:30:46.8591420Z -2026-09-27T05:30:47.7222235Z -2026-09-27T05:30:47.7222896Z > @maka/acp-executor-plugin@0.1.0 typecheck -2026-09-27T05:30:47.7223397Z > tsc -p tsconfig.json --noEmit -2026-09-27T05:30:47.7223647Z -2026-09-27T05:30:47.8513635Z -2026-09-27T05:30:47.8514654Z > @maka/antigravity-acp-plugin@0.1.0 typecheck -2026-09-27T05:30:47.8515146Z > tsc -p tsconfig.json --noEmit -2026-09-27T05:30:47.8515336Z -2026-09-27T05:30:47.9895507Z -2026-09-27T05:30:48.4372019Z > @maka/runtime-host@0.1.0 typecheck -2026-09-27T05:30:48.4372443Z > tsc -p tsconfig.json --noEmit -2026-09-27T05:30:48.4372634Z -2026-09-27T05:30:48.4372641Z -2026-09-27T05:30:48.4372765Z > @maka/eval@0.1.0 typecheck -2026-09-27T05:30:48.4373103Z > tsc -p tsconfig.json --noEmit -2026-09-27T05:30:48.4373267Z -2026-09-27T05:30:48.6124139Z -2026-09-27T05:30:48.6124891Z > @maka/computer-use@0.1.0 typecheck -2026-09-27T05:30:48.6125331Z > tsc -p tsconfig.json --noEmit -2026-09-27T05:30:48.6125519Z -2026-09-27T05:30:48.7596719Z -2026-09-27T05:30:48.7597280Z > maka-agent@0.2.0 typecheck -2026-09-27T05:30:48.7597826Z > tsc -p tsconfig.json --noEmit -2026-09-27T05:30:48.7598085Z -2026-09-27T05:30:49.0770950Z -2026-09-27T05:30:49.0771567Z > @maka/ui@0.1.0 typecheck -2026-09-27T05:30:49.0772049Z > tsc -p tsconfig.json --noEmit -2026-09-27T05:30:49.0772254Z -2026-09-27T05:30:49.4265735Z -2026-09-27T05:30:49.4266407Z > @maka/desktop@0.2.0 typecheck -2026-09-27T05:30:49.4267701Z > tsc -p tsconfig.preload.json --noEmit && tsc -p tsconfig.main.json --noEmit && tsc -p tsconfig.renderer.json --noEmit && tsc -p tsconfig.storybook.json --noEmit -2026-09-27T05:30:49.4268297Z -2026-09-27T05:30:55.3154604Z ##[group]Run npm run astryx:theme -- --check -2026-09-27T05:30:55.3154995Z npm run astryx:theme -- --check -2026-09-27T05:30:55.3195485Z shell: /usr/bin/bash -e {0} -2026-09-27T05:30:55.3195795Z ##[endgroup] -2026-09-27T05:30:55.4156190Z -2026-09-27T05:30:55.4156674Z > maka@0.2.0 astryx:theme -2026-09-27T05:30:55.4157195Z > node scripts/build-astryx-theme.mjs --check -2026-09-27T05:30:55.4157761Z -2026-09-27T05:30:56.3415463Z -2026-09-27T05:30:56.3416346Z Next step: run `npx astryx init` to finish setup and install the Astryx agent prompt. -2026-09-27T05:30:56.3426472Z -2026-09-27T05:30:56.3426968Z Building theme from src/renderer/astryx-theme/makaTheme.ts... -2026-09-27T05:30:56.7735097Z -2026-09-27T05:30:56.7736461Z ✓ ../../../../../../../tmp/maka-astryx-theme-jB4Q03/maka.css -2026-09-27T05:30:56.7766181Z 180 token overrides, 14 component overrides -2026-09-27T05:30:56.7795270Z 26.9 KB -2026-09-27T05:30:56.7825915Z ✓ ../../../../../../../tmp/maka-astryx-theme-jB4Q03/maka.js -2026-09-27T05:30:56.7826812Z ✓ ../../../../../../../tmp/maka-astryx-theme-jB4Q03/maka.d.ts -2026-09-27T05:30:56.7833541Z ✓ ../../../../../../../tmp/maka-astryx-theme-jB4Q03/maka.variants.d.ts (1 type augmentations) -2026-09-27T05:30:56.7834110Z -2026-09-27T05:30:56.7834929Z Install in your app (paths are relative to a file in src/ — adjust if yours lives elsewhere): -2026-09-27T05:30:56.7835629Z -2026-09-27T05:30:56.7836012Z import { makaTheme } from './../../../../../../../tmp/maka-astryx-theme-jB4Q03/maka'; -2026-09-27T05:30:56.7836832Z import './../../../../../../../tmp/maka-astryx-theme-jB4Q03/maka.css'; -2026-09-27T05:30:56.7837207Z -2026-09-27T05:30:56.7837355Z -2026-09-27T05:30:56.7837762Z -2026-09-27T05:30:56.7837976Z -2026-09-27T05:30:56.7838101Z -2026-09-27T05:30:56.7838220Z Or with a tag: -2026-09-27T05:30:56.7838373Z -2026-09-27T05:30:56.7838626Z import { makaTheme } from './../../../../../../../tmp/maka-astryx-theme-jB4Q03/maka'; -2026-09-27T05:30:56.7838941Z -2026-09-27T05:30:56.7839339Z -2026-09-27T05:30:56.7840086Z -2026-09-27T05:30:56.7840494Z -2026-09-27T05:30:56.7840803Z -2026-09-27T05:30:56.7840989Z -2026-09-27T05:30:56.7841953Z note: Font "PingFang SC" is named by this theme but not loaded — add a or @font-face in your app (recipe: astryx docs typography) -2026-09-27T05:30:56.7847380Z note: Font "Hiragino Sans GB" is named by this theme but not loaded — add a or @font-face in your app (recipe: astryx docs typography) -2026-09-27T05:30:56.7849041Z note: Font "Microsoft YaHei" is named by this theme but not loaded — add a or @font-face in your app (recipe: astryx docs typography) -2026-09-27T05:30:56.7850674Z note: Font "Microsoft YaHei UI" is named by this theme but not loaded — add a or @font-face in your app (recipe: astryx docs typography) -2026-09-27T05:30:56.7851671Z note: Font "Noto Sans CJK SC" is named by this theme but not loaded — add a or @font-face in your app (recipe: astryx docs typography) -2026-09-27T05:30:56.7852556Z note: Font "Noto Sans SC" is named by this theme but not loaded — add a or @font-face in your app (recipe: astryx docs typography) -2026-09-27T05:30:56.7853452Z note: Font "WenQuanYi Micro Hei" is named by this theme but not loaded — add a or @font-face in your app (recipe: astryx docs typography) -2026-09-27T05:30:56.7854374Z note: Font "Source Han Sans SC" is named by this theme but not loaded — add a or @font-face in your app (recipe: astryx docs typography) -2026-09-27T05:30:56.7855545Z note: Font "Geist Variable" is named by this theme but not loaded — add a or @font-face in your app (recipe: astryx docs typography) -2026-09-27T05:30:56.7863221Z note: Font "Geist Mono Variable" is named by this theme but not loaded — add a or @font-face in your app (recipe: astryx docs typography) -2026-09-27T05:30:56.7864953Z note: Font "JetBrains Mono" is named by this theme but not loaded — add a or @font-face in your app (recipe: astryx docs typography) -2026-09-27T05:30:56.7865930Z note: Font "SFMono-Regular" is named by this theme but not loaded — add a or @font-face in your app (recipe: astryx docs typography) -2026-09-27T05:30:56.7866367Z -2026-09-27T05:30:56.7867658Z ⚠ Theme "maka" names fonts it does not load: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Microsoft YaHei UI", "Noto Sans CJK SC", "Noto Sans SC", "WenQuanYi Micro Hei", "Source Han Sans SC", "Geist Variable", "Geist Mono Variable", "JetBrains Mono", "SFMono-Regular" -2026-09-27T05:30:56.7868737Z The built CSS only sets font-family — load these in your app, or every -2026-09-27T05:30:56.7869125Z browser quietly falls back. -2026-09-27T05:30:56.7869294Z -2026-09-27T05:30:56.7869583Z Google Fonts (add :wght@… axes as your theme's weights require): -2026-09-27T05:30:56.7869837Z -2026-09-27T05:30:56.7870078Z -2026-09-27T05:30:56.7870562Z -2026-09-27T05:30:56.7872079Z -2026-09-27T05:30:56.7873638Z -2026-09-27T05:30:56.7873858Z Self-hosted (repeat per family and weight): -2026-09-27T05:30:56.7874142Z -2026-09-27T05:30:56.7874270Z @font-face { -2026-09-27T05:30:56.7874742Z font-family: "PingFang SC"; -2026-09-27T05:30:56.7875226Z src: url('/fonts/pingfang-sc.woff2') format('woff2'); -2026-09-27T05:30:56.7875696Z font-display: swap; -2026-09-27T05:30:56.7876016Z } -2026-09-27T05:30:56.7876145Z -2026-09-27T05:30:56.7876361Z Recipe and fallback-stack guidance: astryx docs typography -2026-09-27T05:30:56.7876610Z -2026-09-27T05:30:56.8285042Z Astryx theme artifacts are current. -2026-09-27T05:30:56.8395159Z ##[group]Run npx knip --workspace apps/desktop -2026-09-27T05:30:56.8395599Z npx knip --workspace apps/desktop -2026-09-27T05:30:56.8435462Z shell: /usr/bin/bash -e {0} -2026-09-27T05:30:56.8435785Z ##[endgroup] -2026-09-27T05:31:02.2154003Z ##[group]Run npx knip --workspace packages/ui -2026-09-27T05:31:02.2154366Z npx knip --workspace packages/ui -2026-09-27T05:31:02.2194931Z shell: /usr/bin/bash -e {0} -2026-09-27T05:31:02.2195247Z ##[endgroup] -2026-09-27T05:31:05.9554365Z ##[group]Run npm exec -w @maka/runtime -- node --test dist/__tests__/linux-sandbox-smoke.test.js -2026-09-27T05:31:05.9555327Z npm exec -w @maka/runtime -- node --test dist/__tests__/linux-sandbox-smoke.test.js -2026-09-27T05:31:05.9595342Z shell: /usr/bin/bash -e {0} -2026-09-27T05:31:05.9595634Z env: -2026-09-27T05:31:05.9595884Z MAKA_REQUIRE_LINUX_SANDBOX_SMOKE: 1 -2026-09-27T05:31:05.9596166Z ##[endgroup] -2026-09-27T05:31:06.5558302Z ▶ Linux sandbox smoke -2026-09-27T05:31:06.5559288Z ✔ required Linux sandbox capability is available (0.787684ms) -2026-09-27T05:31:06.5832097Z ✔ workspace-write can write workspace files and blocks sibling paths (30.39843ms) -2026-09-27T05:31:06.5948116Z ✔ workspace-write allows metadata writes inside the selected workspace (11.507032ms) -2026-09-27T05:31:06.5975088Z ✔ missing exact-write creation fails closed when its pinned parent moves (2.875531ms) -2026-09-27T05:31:06.6392236Z ✔ shell-launched Node uses runtime roots and the seccomp socket filter (41.192754ms) -2026-09-27T05:31:06.6548351Z ✔ builtin Bash executes a tool from a nonstandard host PATH inside bubblewrap (15.467317ms) -2026-09-27T05:31:06.6828121Z ✔ builtin Bash enforces an expanded managed boundary and explicit bypass (28.043661ms) -2026-09-27T05:31:06.6829262Z ✔ Linux sandbox smoke (132.06236ms) -2026-09-27T05:31:06.6980514Z ℹ tests 7 -2026-09-27T05:31:06.6980799Z ℹ suites 1 -2026-09-27T05:31:06.6981212Z ℹ pass 7 -2026-09-27T05:31:06.6981589Z ℹ fail 0 -2026-09-27T05:31:06.6981968Z ℹ cancelled 0 -2026-09-27T05:31:06.6982463Z ℹ skipped 0 -2026-09-27T05:31:06.6982860Z ℹ todo 0 -2026-09-27T05:31:06.6983399Z ℹ duration_ms 476.004598 -2026-09-27T05:31:06.7140445Z ##[group]Run if [[ "$STORAGE_STRESS" == "true" ]]; then -2026-09-27T05:31:06.7140959Z if [[ "$STORAGE_STRESS" == "true" ]]; then -2026-09-27T05:31:06.7141263Z  export MAKA_STORAGE_STRESS=1 -2026-09-27T05:31:06.7141526Z fi -2026-09-27T05:31:06.7141937Z node scripts/run-workspace-tests-parallel.mjs --concurrency=3 --workspaces="$WORKSPACES" -2026-09-27T05:31:06.7182860Z shell: /usr/bin/bash -e {0} -2026-09-27T05:31:06.7183162Z env: -2026-09-27T05:31:06.7183383Z STORAGE_STRESS: false -2026-09-27T05:31:06.7184162Z WORKSPACES: packages/core,packages/storage,packages/mcp,packages/runtime,packages/acp-executor-plugin,packages/antigravity-acp-plugin,packages/eval,packages/computer-use,packages/cli,packages/ui,apps/desktop -2026-09-27T05:31:06.7185107Z ##[endgroup] -2026-09-27T05:31:06.7658310Z -2026-09-27T05:31:06.7658664Z [runtime] start: npm run test:dist -2026-09-27T05:31:06.7686091Z -2026-09-27T05:31:06.7686682Z [desktop] start: npm run test:dist -2026-09-27T05:31:06.7703600Z -2026-09-27T05:31:06.7704161Z [cli] start: npm run test:dist -2026-09-27T05:31:06.9501489Z -2026-09-27T05:31:06.9505345Z > maka-agent@0.2.0 test:dist -2026-09-27T05:31:06.9506042Z > node --test "dist/**/*.test.js" -2026-09-27T05:31:06.9506312Z -2026-09-27T05:31:06.9552388Z -2026-09-27T05:31:06.9553057Z > @maka/desktop@0.2.0 test:dist -2026-09-27T05:31:06.9555456Z > node --test --test-force-exit "dist/main/**/*.test.js" scripts/dev-app-runtime.test.mjs scripts/dev-worktree.test.mjs scripts/vite-workspace-packages.test.mjs scripts/vite-client-plugin-slots.test.mjs scripts/build-executor-plugins.test.mjs -2026-09-27T05:31:06.9560542Z -2026-09-27T05:31:06.9773697Z -2026-09-27T05:31:06.9796112Z > @maka/runtime@0.1.0 test:dist -2026-09-27T05:31:06.9825765Z > node --test "dist/**/*.test.js" -2026-09-27T05:31:06.9835054Z -2026-09-27T05:31:07.7025871Z ▶ Maka ACP agent -2026-09-27T05:31:07.7101015Z ✔ returns the Maka identity and advertises Session listing and close (17.42448ms) -2026-09-27T05:31:07.7146521Z ✔ routes official SDK new and list requests through the Session registry (16.733136ms) -2026-09-27T05:31:07.7153568Z ✔ routes the concrete Turn resume extension through the SDK (5.335252ms) -2026-09-27T05:31:07.7310753Z ✔ decodes all Goal/Plan extension inputs with Host specifications (7.418737ms) -2026-09-27T05:31:07.7323334Z ✔ routes bounded copy-source queries and rejects invalid input through the SDK (1.995848ms) -2026-09-27T05:31:07.7324668Z ✔ routes branch, revision, and abandon extensions through the SDK (2.647131ms) -2026-09-27T05:31:07.7325793Z ✔ routes official SDK set-config requests through the Session registry (3.563592ms) -2026-09-27T05:31:07.7327128Z ✔ routes prompt, cancel, and close through the Session registry (9.914243ms) -2026-09-27T05:31:07.7355617Z ✔ does not implement session/set_mode (1.393599ms) -2026-09-27T05:31:07.7385853Z ✔ selects v1 when the client requests an unsupported lower or higher version (1.57409ms) -2026-09-27T05:31:07.7400721Z ✔ Maka ACP agent (70.318419ms) -2026-09-27T05:31:09.2436033Z ▶ AdmissionLimiter -2026-09-27T05:31:09.2466540Z ✔ grants waiting permits in FIFO order and makes release idempotent (9.350474ms) -2026-09-27T05:31:09.2528812Z ✔ removes an aborted waiter without consuming capacity (0.905543ms) -2026-09-27T05:31:09.2555057Z ✔ closes the turn scope for queued and future permits (6.612101ms) -2026-09-27T05:31:09.2610681Z ✔ AdmissionLimiter (18.421372ms) -2026-09-27T05:31:09.2984755Z ▶ ToolRuntime child Session run permits -2026-09-27T05:31:09.2996198Z ✔ caps linked child runs spawned inside one admitted subagent tool (72.397596ms) -2026-09-27T05:31:09.3115947Z ✔ does not start a queued child after the parent tool is aborted (24.742907ms) -2026-09-27T05:31:09.3666953Z ✔ shares one child-run pool across concurrently admitted tools (41.340403ms) -2026-09-27T05:31:09.3696082Z ✔ releases the permit when child startup throws (20.366804ms) -2026-09-27T05:31:09.3726759Z ✔ rejects future child starts from a tool context after its turn ends (1.292962ms) -2026-09-27T05:31:09.3728096Z ✔ ToolRuntime child Session run permits (161.022077ms) -2026-09-27T05:31:09.4535975Z ▶ Agent Graph supervisor wake delivery -2026-09-27T05:31:09.4536846Z ✔ uses the shared compaction transaction for overflow recovery (2.735717ms) -2026-09-27T05:31:09.4537943Z ✔ lets Swarm suppress dispatch wakes and choose a status-only wake turn (45.518861ms) -2026-09-27T05:31:09.4576047Z ✔ admits a checkpoint-only wake without a reconciliation result (63.893701ms) -2026-09-27T05:31:09.4596139Z ✔ retries failures before and after prompt persistence, delivering only a completed turn (74.918477ms) -2026-09-27T05:31:09.4625875Z ✔ aggressively compacts after a context overflow before delivering a fresh turn (61.103341ms) -2026-09-27T05:31:09.4656466Z ✔ stops after one recovered overflow and reports a bounded durable partial result (59.684259ms) -2026-09-27T05:31:09.4680648Z ✔ does not blindly retry an overflow when no recovery path is available (63.780782ms) -2026-09-27T05:31:09.4685944Z ✔ parks a suspended outcome without redelivering its persisted prompt (61.839353ms) -2026-09-27T05:31:09.4717781Z ✔ retries a parked attempt only after its permission response loses the live waiter (43.492723ms) -2026-09-27T05:31:09.4745630Z ✔ does not strand a permission response racing the suspended wake commit (84.714994ms) -2026-09-27T05:31:09.4755614Z ✔ recovers a crash-interrupted running attempt and redelivers it (53.637275ms) -2026-09-27T05:31:09.4805546Z ✔ converges a completed crash-window AgentRun without duplicate delivery (27.072424ms) -2026-09-27T05:31:09.4806742Z ✔ supersedes a checkpoint that closes before root admission (27.13284ms) -2026-09-27T05:31:09.5036432Z ✔ terminally supersedes retryable wakes for an unavailable Session during recovery (26.618168ms) -2026-09-27T05:31:09.5046070Z ✔ retries a recovered waiting-permission attempt after its live waiter is lost (28.664727ms) -2026-09-27T05:31:09.5076006Z ✔ close aborts a queued activity acquisition and never starts a turn afterward (34.781483ms) -2026-09-27T05:31:09.5105762Z ✔ beginDrain aborts an in-flight wake turn and close joins it (28.096826ms) -2026-09-27T05:31:09.5121220Z ✔ overlapping client stops keep one Session wake suppressed until both settle (27.169756ms) -2026-09-27T05:31:09.5135765Z ✔ epoch cutover supersedes retryable wakes before the next graph can notify (26.225513ms) -2026-09-27T05:31:09.5165922Z ✔ recovery supersedes a prior-epoch wake after the epoch commit crash window (26.978506ms) -2026-09-27T05:31:09.5195563Z ✔ Agent Graph supervisor wake delivery (871.811184ms) -2026-09-27T05:31:09.5208689Z ▶ agent graph replay timeline -2026-09-27T05:31:09.5225746Z ✔ reconstructs control, child records, parent completion, and supervisor wake chronologically (65.490908ms) -2026-09-27T05:31:09.5245898Z ✔ paginates with a validated stable cursor and reports bounded omissions (19.233844ms) -2026-09-27T05:31:09.5275850Z ✔ keeps historical pagination cursors valid when mutable control snapshots change (5.595603ms) -2026-09-27T05:31:09.5295808Z ✔ joins a transactionally read SQLite metadata snapshot with immutable run ledgers (8.781616ms) -2026-09-27T05:31:09.5315665Z ✔ emits activation_started from a durable claimed AgentRun before its first RuntimeEvent (1.203748ms) -2026-09-27T05:31:09.5345820Z ✔ projects a superseded durable supervisor wake attempt as settled (115.304773ms) -2026-09-27T05:31:09.5375404Z ✔ agent graph replay timeline (217.75998ms) -2026-09-27T05:31:09.5397014Z ▶ inspectAgentRunReadModel -2026-09-27T05:31:09.5405570Z ✔ returns consistent diagnostics for a complete run (6.120788ms) -2026-09-27T05:31:09.5435647Z ✔ reports missing and corrupt runtime-events without discarding operational facts (0.820606ms) -2026-09-27T05:31:09.5465240Z ✔ inspectAgentRunReadModel (8.513314ms) -2026-09-27T05:31:09.5481150Z ▶ AgentRun startup recovery -2026-09-27T05:31:09.5495770Z ✔ fails a graph supervisor permission handoff once its live waiter is lost (4.315527ms) -2026-09-27T05:31:09.5525894Z ✔ AgentRun startup recovery (8.71314ms) -2026-09-27T05:31:10.6856509Z ✔ rejects an invalid tool mode before a durable AgentRun can be created (631.932263ms) -2026-09-27T05:31:10.8167699Z ✔ keeps manual diagnostics available while About metadata is pending (71.657167ms) -2026-09-27T05:31:10.8544211Z ✔ records changed request surfaces append-only and reuses unchanged epochs (172.713593ms) -2026-09-27T05:31:10.8786346Z ✔ a packaged nightly says so, never 正式版 (1.382534ms) -2026-09-27T05:31:10.8816193Z ✔ buildMode decides before updateChannel, whose dev value is a placeholder (0.401994ms) -2026-09-27T05:31:10.8825699Z ✔ the row only offers a check where the service would honour one (2.247584ms) -2026-09-27T05:31:10.8845984Z ✔ the version lives on the second line, so the label never truncates against the button (0.363624ms) -2026-09-27T05:31:10.8874547Z ✔ the nightly steady states each read as themselves (6.692692ms) -2026-09-27T05:31:10.8915718Z ✔ a failure names the step that failed and offers the check again (0.301364ms) -2026-09-27T05:31:10.8930941Z ▶ keyed action guard -2026-09-27T05:31:10.8977528Z ✔ admits the first action per key and rejects a concurrent same-key action (1.282628ms) -2026-09-27T05:31:10.8978908Z ✔ lets different keys run in parallel and releases them independently (2.59923ms) -2026-09-27T05:31:10.9005631Z ✔ beginExclusive admits only while nothing is in flight (0.265121ms) -2026-09-27T05:31:10.9034020Z ✔ keeps a stale release from stripping a newer hold after reset (0.255041ms) -2026-09-27T05:31:10.9055129Z ✔ reset drops every in-flight hold (0.210182ms) -2026-09-27T05:31:10.9075421Z ✔ keyed action guard (8.565725ms) -2026-09-27T05:31:10.9101587Z ▶ Active execution boundary read model -2026-09-27T05:31:10.9130167Z ✔ never shows one session the boundary read for another (3.20167ms) -2026-09-27T05:31:10.9195943Z ✔ a stale snapshot would misreport permissions the user just granted (#1611) (0.318651ms) -2026-09-27T05:31:10.9230156Z ✔ shows a pending mode change only once the boundary is known (1.023068ms) -2026-09-27T05:31:10.9235419Z ✔ Active execution boundary read model (6.061355ms) -2026-09-27T05:31:10.9265518Z ▶ A boundary read that fails (#1629) -2026-09-27T05:31:10.9295681Z ✔ settles as unreadable instead of leaving the read pending forever (14.091519ms) -2026-09-27T05:31:10.9328132Z ✔ separates "asked and failed" from "not asked yet", and both fail closed (24.58267ms) -2026-09-27T05:31:10.9329473Z ✔ recovers an unreadable boundary when the session Host reports ready (124.61289ms) -2026-09-27T05:31:10.9356074Z ✔ recovers when the ready push arrives before the failing read settles (13.078218ms) -2026-09-27T05:31:10.9385551Z ✔ A boundary read that fails (#1629) (181.058435ms) -2026-09-27T05:31:10.9409539Z ▶ Only the newest boundary read may commit -2026-09-27T05:31:10.9427310Z ✔ does not let a session the user left overwrite the one they opened (1.04894ms) -2026-09-27T05:31:10.9446137Z ✔ does not let a superseded revision come back after a reload or a mode change (0.743127ms) -2026-09-27T05:31:10.9482548Z ✔ Only the newest boundary read may commit (2.196002ms) -2026-09-27T05:31:10.9505832Z ▶ Boundary decisions notify the read model -2026-09-27T05:31:10.9532359Z ✔ re-reads authority when a boundary decision is acknowledged (4.201166ms) -2026-09-27T05:31:10.9545487Z ✔ does not re-read on events that cannot move a boundary (3.371097ms) -2026-09-27T05:31:10.9588698Z ✔ Boundary decisions notify the read model (7.773037ms) -2026-09-27T05:31:10.9615838Z ✔ Traditional Chinese Agent Graph copy does not use Simplified fallbacks (1.048177ms) -2026-09-27T05:31:10.9645522Z ▶ isAgentGraphLive -2026-09-27T05:31:10.9670336Z ✔ treats in-flight statuses as live and settled ones as not (0.970982ms) -2026-09-27T05:31:10.9745451Z ✔ isAgentGraphLive (10.385042ms) -2026-09-27T05:31:10.9771224Z ▶ isAgentGraphPanelDismissible -2026-09-27T05:31:10.9800500Z ✔ allows hiding a graph that no longer has active work (3.578335ms) -2026-09-27T05:31:10.9827307Z ✔ keeps the panel while the graph is still in flight (0.208664ms) -2026-09-27T05:31:10.9854295Z ✔ isAgentGraphPanelDismissible (4.077851ms) -2026-09-27T05:31:10.9906855Z ▶ shouldShowAgentGraphPanel -2026-09-27T05:31:10.9927145Z ✔ hides a dismissed completed graph for that session (0.718081ms) -2026-09-27T05:31:10.9961685Z ✔ shows a new graph after the previous one was dismissed (0.244958ms) -2026-09-27T05:31:10.9975579Z ✔ shows the same graph again if it leaves a terminal state (0.545455ms) -2026-09-27T05:31:10.9995514Z ✔ does not apply another session's dismissal (0.493569ms) -2026-09-27T05:31:11.0025546Z ✔ keeps the existing empty-state hide when graph mode is off (0.30762ms) -2026-09-27T05:31:11.0053135Z ✔ still shows an enabled graph that has not produced activity yet (1.473584ms) -2026-09-27T05:31:11.0064762Z ✔ shouldShowAgentGraphPanel (10.147695ms) -2026-09-27T05:31:11.0101504Z ▶ dismiss and reconcile -2026-09-27T05:31:11.0134860Z ✔ records the dismissed graph for the session (7.320529ms) -2026-09-27T05:31:11.0136024Z ✔ drops a stale dismissal when a later snapshot is a different graph (2.634076ms) -2026-09-27T05:31:11.0169582Z ✔ drops a stale dismissal when the same graph becomes active again (0.177904ms) -2026-09-27T05:31:11.0203013Z ✔ keeps a matching terminal dismissal (0.12842ms) -2026-09-27T05:31:11.0226253Z ✔ does not clear a dismissal against a snapshot still owned by the previous session (0.104943ms) -2026-09-27T05:31:11.0227155Z ✔ dismiss and reconcile (10.72418ms) -2026-09-27T05:31:11.0282347Z ✔ does not re-append atomically committed tool facts through the generic event lane (171.988733ms) -2026-09-27T05:31:11.2346595Z ✔ acks a steering event whose canonical append preceded proof publication failure (206.232708ms) -2026-09-27T05:31:11.5022782Z ✔ awaits the durable settlement fact before accepting an interaction resume (267.308085ms) -2026-09-27T05:31:11.5729759Z ▶ asynchronous agent swarm status -2026-09-27T05:31:11.5768903Z ✔ does not wake while work runs and omits child activity details (8.624342ms) -2026-09-27T05:31:11.5796726Z ✔ wakes on explicit failure without waiting for the remaining work (0.296608ms) -2026-09-27T05:31:11.5825673Z ✔ wakes when every scheduled item has settled (5.67986ms) -2026-09-27T05:31:11.5885899Z ✔ projects a durable reconciliation failure without child runtime state (0.349451ms) -2026-09-27T05:31:11.5898732Z ✔ shares durable swarm policy without treating an ordinary graph as a swarm (0.363653ms) -2026-09-27T05:31:11.5940243Z ✔ asynchronous agent swarm status (18.148016ms) -2026-09-27T05:31:11.7419668Z ✔ recovers gateway SSE with one failed attempt and no repeated tool effects (257.375637ms) -2026-09-27T05:31:11.9118607Z ✔ recovers eof SSE with one failed attempt and no repeated tool effects (168.345503ms) -2026-09-27T05:31:12.0260398Z ✔ recovers other SSE with one failed attempt and no repeated tool effects (104.670313ms) -2026-09-27T05:31:12.0415999Z ▶ AgentGraphPanel read failures -2026-09-27T05:31:12.0458140Z ✔ keeps an inactive ordinary session hidden when the initial read fails and discovers later activity (233.694342ms) -2026-09-27T05:31:12.0929063Z ✔ keeps an inactive ordinary session hidden when a refresh fails and discovers later activity (39.194106ms) -2026-09-27T05:31:12.1516138Z ✔ shows initial read errors for enabled Graph sessions (74.568568ms) -2026-09-27T05:31:12.1615831Z ▶ AiSdkBackend ApplyPatch routing -2026-09-27T05:31:12.1725929Z ✔ advertises apply_patch only to supported native OpenAI models (66.123464ms) -2026-09-27T05:31:12.1785622Z ✔ uses portable ApplyPatch for DeepSeek (12.074992ms) -2026-09-27T05:31:12.1845882Z ✔ replays a durable apply_patch failure as native provider JSON (13.429478ms) -2026-09-27T05:31:12.1938262Z ✔ downgrades disabled DeepSeek freeform apply_patch history to a fact (7.500792ms) -2026-09-27T05:31:12.1997198Z ✔ downgrades apply_patch history when a non-Responses target does not advertise it (6.466162ms) -2026-09-27T05:31:12.2106167Z ✔ preserves a durable projection failure when apply_patch history is downgraded (5.960652ms) -2026-09-27T05:31:12.2156279Z ✔ preserves a multi-file ApplyPatch fact when structured replay cannot represent it (12.614582ms) -2026-09-27T05:31:12.2207206Z ✔ preserves every multi-file ApplyPatch fact from one provider step (76.374338ms) -2026-09-27T05:31:12.2263077Z ✔ AiSdkBackend ApplyPatch routing (202.072855ms) -2026-09-27T05:31:12.2326010Z ▶ AiSdkBackend Memory Extraction triggers -2026-09-27T05:31:12.2435756Z ✔ terminates cleanly when the dynamic system prompt rejects before Compaction (11.906797ms) -2026-09-27T05:31:12.2525905Z ✔ exposes explicitly unsupported Memory triggers on the native OpenAI Responses lane (57.444834ms) -2026-09-27T05:31:12.2576225Z ✔ runs memory_remember synchronously and returns the persisted requested Item to the next step (83.543922ms) -2026-09-27T05:31:12.2615769Z ✔ keeps the complete frozen provider context while evidence authority remains user-only (100.65784ms) -2026-09-27T05:31:12.2720346Z ✔ keeps refresh errors visible for ordinary sessions with known activity (48.661156ms) -2026-09-27T05:31:12.2773828Z ✔ dispatches memory_extract only after the terminal Event is durably consumed (96.466889ms) -2026-09-27T05:31:12.2845539Z ✔ AiSdkBackend Memory Extraction triggers (357.698762ms) -2026-09-27T05:31:12.3708891Z ✔ keeps refresh errors visible for ordinary sessions with known history (147.526839ms) -2026-09-27T05:31:12.3847305Z ✔ AgentGraphPanel read failures (545.795841ms) -2026-09-27T05:31:12.4251448Z ▶ AgentGraphPanel dismiss -2026-09-27T05:31:12.4316040Z ✔ keeps the new session loading when a disposed read settles later (70.424509ms) -2026-09-27T05:31:12.5436556Z ✔ does not let a disposed session read overwrite the live session selection refs (106.518497ms) -2026-09-27T05:31:12.6326230Z (node:6877) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time -2026-09-27T05:31:12.6346290Z (Use `node --trace-warnings ...` to show where the warning was created) -2026-09-27T05:31:12.6496039Z ▶ AiSdkBackend sandbox boundary convergence -2026-09-27T05:31:12.6536026Z ✔ bounds an expansion retry after denial with one tool-free final step (246.213523ms) -2026-09-27T05:31:12.6565864Z ✔ switches to a historical epoch without exposing current-graph controls (104.744208ms) -2026-09-27T05:31:12.6966267Z ✔ binds stop to the graph identity rendered before a silent rollover (47.681751ms) -2026-09-27T05:31:12.7596231Z ✔ does not leak a deferred stop result across a root session switch (65.560115ms) -2026-09-27T05:31:12.8510152Z ✔ does not leak a deferred stop result across an epoch rollover (94.341096ms) -2026-09-27T05:31:12.9594083Z ✔ does not leak a deferred current stop result into graph history (101.153831ms) -2026-09-27T05:31:13.0097028Z ✔ reuses cached history during activity and reloads it only after epoch rollover (61.294274ms) -2026-09-27T05:31:13.0407955Z ✔ keeps current controls mounted during a background refresh (24.481076ms) -2026-09-27T05:31:13.1956265Z ✔ resumes following the current epoch after the selected history expires (144.827284ms) -2026-09-27T05:31:13.2536148Z ✔ shows dismiss only after the graph has settled (70.78829ms) -2026-09-27T05:31:13.2953054Z ✔ hides the panel after dismiss and brings it back for a new graph (45.637502ms) -2026-09-27T05:31:13.3237616Z ✔ lets the user dismiss a stopped or failed graph (36.38678ms) -2026-09-27T05:31:13.3436248Z ✔ routes a fresh Code Mode denial through the same finalization latch (881.342738ms) -2026-09-27T05:31:13.4177876Z ✔ keeps session A dismissed after switching A → B → A (72.54767ms) -2026-09-27T05:31:13.4248430Z ✔ AgentGraphPanel dismiss (1055.518732ms) -2026-09-27T05:31:13.4819847Z ✔ routes a continued Code Mode denial through the same finalization latch (105.779405ms) -2026-09-27T05:31:13.5177875Z ▶ AgentGraphPanel collapse initialization -2026-09-27T05:31:13.5206348Z ✔ collapses a completed graph each time its session is opened (102.291801ms) -2026-09-27T05:31:13.6129287Z ✔ bounds varied invalid declarations before creating a boundary request (143.019346ms) -2026-09-27T05:31:13.6806455Z ✔ keeps non-completed graphs expanded on open (165.197113ms) -2026-09-27T05:31:13.6999290Z ✔ AiSdkBackend sandbox boundary convergence (1378.623935ms) -2026-09-27T05:31:13.7897849Z ✔ does not auto-collapse when the open graph completes (93.565455ms) -2026-09-27T05:31:13.8457480Z ✔ preserves a manual expansion across completed snapshot refreshes (77.570208ms) -2026-09-27T05:31:13.8522279Z ✔ AgentGraphPanel collapse initialization (439.327578ms) -2026-09-27T05:31:13.8633070Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:31:13.9414962Z ▶ agent graph refresh scheduler -2026-09-27T05:31:13.9506465Z ✔ lets an in-flight read commit when a notification arrives mid-flight (10.132308ms) -2026-09-27T05:31:13.9569595Z ✔ coalesces a notification storm into one follow-up read (4.39136ms) -2026-09-27T05:31:13.9645869Z ✔ discards an in-flight read only when the selection is invalidated (9.26878ms) -2026-09-27T05:31:13.9705713Z ✔ stops scheduling after dispose (0.827385ms) -2026-09-27T05:31:13.9770497Z ✔ agent graph refresh scheduler (29.033769ms) -2026-09-27T05:31:13.9806086Z ✔ removing the current icon resets the selection before the file goes away (20.92308ms) -2026-09-27T05:31:13.9825812Z ✔ removing an icon that is not selected leaves the selection alone (3.150589ms) -2026-09-27T05:31:13.9875770Z ✔ shipped ids and malformed references are refused without touching disk (6.194665ms) -2026-09-27T05:31:13.9935782Z ✔ a selection landing during removal wins, and the file still goes (4.620879ms) -2026-09-27T05:31:14.0003433Z ✔ a selection issued mid-removal cannot land between reset, apply and delete (4.418738ms) -2026-09-27T05:31:14.0065691Z ✔ an open file dialog does not hold the queue (5.041428ms) -2026-09-27T05:31:14.0124866Z ✔ removing an icon used only in dark mode clears the dark slot (2.342693ms) -2026-09-27T05:31:14.0185690Z ✔ removing an icon used in both slots clears both (3.198314ms) -2026-09-27T05:31:14.0235612Z ✔ removing an unrelated icon leaves a dark choice alone (3.83499ms) -2026-09-27T05:31:14.0255830Z ✔ a failed reset commits nothing and leaves the dock alone (2.916291ms) -2026-09-27T05:31:14.0329424Z ✔ every shipped icon id resolves to a square 1024px PNG master (68.433748ms) -2026-09-27T05:31:14.0369886Z ✔ a packaged build reads artwork from the copy beside the app (0.361729ms) -2026-09-27T05:31:14.0395863Z ✔ the default keeps its long-standing path while variants live in their own directory (7.604049ms) -2026-09-27T05:31:14.0465703Z ✔ a variant falls back to the brand mark, and the brand mark has nothing to fall back to (0.259435ms) -2026-09-27T05:31:14.0513824Z ✔ a malformed choice cannot become a path outside the asset root (0.412485ms) -2026-09-27T05:31:14.0567187Z ✔ a persisted custom id whose file disappeared falls back to the brand mark (0.28229ms) -2026-09-27T05:31:14.0657886Z ▶ app quit coordinator -2026-09-27T05:31:14.0678453Z ✔ keeps quit prevented until it resumes in a fresh event-loop turn (11.236723ms) -2026-09-27T05:31:14.0748018Z ✔ runs async cleanup once and resumes quitting when it settles (3.177408ms) -2026-09-27T05:31:14.0794678Z ✔ does not reopen the main window after quit cleanup starts (0.645443ms) -2026-09-27T05:31:14.0835996Z ✔ restores the running app when quit preparation is cancelled (4.599799ms) -2026-09-27T05:31:14.0879533Z ✔ reports window creation failure without leaking an unhandled rejection (1.664839ms) -2026-09-27T05:31:14.0880950Z ✔ cancels quit without closing resources when Host retirement preparation fails (2.072105ms) -2026-09-27T05:31:14.0882158Z ✔ reports cleanup failure without leaking an unhandled rejection (1.79277ms) -2026-09-27T05:31:14.0883069Z ✔ app quit coordinator (27.660012ms) -2026-09-27T05:31:14.8936641Z ✔ a nine-attachment new-task send shows the count reason, creates no session, and logs no unexpected diagnostic (10.447062ms) -2026-09-27T05:31:14.8991653Z ✔ a main-side attachment rejection refuses the send instead of leaving it unreconciled (7.611133ms) -2026-09-27T05:31:14.9030640Z ✔ unsupported executor attachments preserve the pending draft before any Session is created (0.461909ms) -2026-09-27T05:31:14.9434627Z ▶ AiSdkBackend model history -2026-09-27T05:31:14.9480190Z ✔ records structured sandbox failure metadata on tool failure traces (11.219573ms) -2026-09-27T05:31:14.9619935Z ✔ persists a sandbox denial signal for explicit filesystem worker sandbox denials (9.657026ms) -2026-09-27T05:31:14.9735940Z ✔ does not label ordinary filesystem permission errors as sandbox denials (1.153516ms) -2026-09-27T05:31:14.9790560Z ✔ prefers the connection-advertised Kimi output limit over catalog metadata (18.042711ms) -2026-09-27T05:31:14.9911687Z ✔ reserves Kimi fixed thinking inside the provider wire output limit (17.806744ms) -2026-09-27T05:31:15.0016014Z ✔ rejects an output budget consumed entirely by fixed thinking before sending (8.314677ms) -2026-09-27T05:31:15.0099642Z ✔ leaves catalog-derived OpenAI-compatible output limits to their provider adapter (19.813461ms) -2026-09-27T05:31:15.0195747Z ✔ prefers RuntimeEvent prior messages and appends current user once (34.950627ms) -2026-09-27T05:31:15.0426237Z ✔ safe-boundary continuation does not append a duplicate current user message (41.320656ms) -2026-09-27T05:31:15.0596314Z ✔ continuation replays the original user after diagnostic terminal errors with no StoredMessage context (25.846192ms) -2026-09-27T05:31:15.0714317Z ✔ continuation fails before the provider when replay materializes no messages (4.370405ms) -2026-09-27T05:31:15.0841399Z ✔ continuation materializes validated RuntimeEvents when provider-native replay is unavailable (9.361426ms) -2026-09-27T05:31:15.0996304Z ✔ continuation never substitutes StoredMessages when RuntimeEvent replay has blocking diagnostics (17.623695ms) -2026-09-27T05:31:15.1055991Z ✔ continuation replay may end with an assistant message without an active user head anchor (12.97849ms) -2026-09-27T05:31:15.1156587Z ✔ continuation replay may end at a paired tool boundary without an active user head anchor (13.629493ms) -2026-09-27T05:31:15.1240997Z ✔ does not recover provider history from StoredMessages when RuntimeEvent replay is empty (80.103493ms) -2026-09-27T05:31:15.1380038Z ✔ RuntimeEvent replay describes an attachment that is not safely addressable (10.57525ms) -2026-09-27T05:31:15.1426014Z ✔ current and replayed directory references expose paths without eager listings (13.571701ms) -2026-09-27T05:31:15.1505908Z ✔ a persisted quote-only user event replays its excerpt into the provider prompt (#4804) (10.464022ms) -2026-09-27T05:31:15.1595910Z ✔ current-turn image attachment keeps its Read reference unless vision support is explicit (13.854333ms) -2026-09-27T05:31:15.1670075Z ✔ reports unavailable attachment reads without consuming image budget (33.246548ms) -2026-09-27T05:31:15.1792244Z ✔ charges attachment image budget from the bytes actually read (11.466506ms) -2026-09-27T05:31:15.1845932Z ✔ degrades excess current-turn image attachments once the per-request budget is exceeded (10.614408ms) -2026-09-27T05:31:15.1946492Z ✔ counts the same attachment ref separately in replay and the current turn (7.64572ms) -2026-09-27T05:31:15.2005871Z ✔ charges a durable current-turn image once when the first request reloads the ledger (18.283839ms) -2026-09-27T05:31:15.2031422Z ✔ budgets replayed images across parallel calls and reused tool-call ids (20.462949ms) -2026-09-27T05:31:15.2076960Z ✔ RuntimeEvent replay renders historical image attachments as image parts (7.074149ms) -2026-09-27T05:31:15.2179264Z ✔ preserves RuntimeEvent tool calls and results as structured AI SDK parts (21.441056ms) -2026-09-27T05:31:15.2244867Z ✔ replays provider-executed CC web search with encrypted result content intact (17.173103ms) -2026-09-27T05:31:15.2256039Z ✔ replays provider-executed web search before its grounded assistant text (9.881527ms) -2026-09-27T05:31:15.2393221Z ✔ preserves pending assistant steps before a following client tool step (19.290921ms) -2026-09-27T05:31:15.2455641Z ✔ groups a client tool only with the immediately pending matching step (28.516327ms) -2026-09-27T05:31:15.2545854Z ✔ falls back to grounded text when Open Responses cannot replay a hosted tool pair (17.935548ms) -2026-09-27T05:31:15.2636014Z ✔ keeps unrelated client tool history when degrading a hosted tool pair (13.180258ms) -2026-09-27T05:31:15.2745569Z ✔ replays an image tool result as provider image data (20.842716ms) -2026-09-27T05:31:15.2805629Z ✔ sends a live image tool result to the next provider step (41.264007ms) -2026-09-27T05:31:15.2853286Z ✔ a live Plugin can enable, execute, and disable a Tool within one Turn (224.222063ms) -2026-09-27T05:31:15.2927396Z ✔ installs, invokes, and removes a live weather plugin within one model turn (60.487559ms) -2026-09-27T05:31:15.2954003Z ✔ reloads durable multi-tool settlement before terminal continuation (23.992046ms) -2026-09-27T05:31:15.3013150Z ✔ does not read image bytes for a non-vision model (5.422808ms) -2026-09-27T05:31:15.3045433Z ✔ explains when a replayed image artifact is missing (5.485263ms) -2026-09-27T05:31:15.3136373Z ✔ explains when replayed image storage throws (10.495954ms) -2026-09-27T05:31:15.3217793Z ✔ replays interleaved parallel RuntimeEvent tool calls as one provider tool-call block (12.196198ms) -2026-09-27T05:31:15.3285770Z ✔ replays durable Bash results without duplicating commands in provider output (23.383754ms) -2026-09-27T05:31:15.3325691Z ✔ archives stale RuntimeEvent tool results before replay placeholder rewrite (31.499236ms) -2026-09-27T05:31:15.3360968Z ✔ manual compactHistory retreats to a span this route has accepted (11.848289ms) -2026-09-27T05:31:15.3385729Z ✔ manual compactHistory writes a V2 checkpoint without the legacy artifact writer (4.424606ms) -2026-09-27T05:31:15.3415811Z ✔ manual compactHistory compacts one completed turn with multiple agent steps (1.10195ms) -2026-09-27T05:31:15.3492672Z ✔ manual compactHistory rolls forward from the previous V2 checkpoint (5.248343ms) -2026-09-27T05:31:15.3555741Z ✔ manual compactHistory reuses a checkpoint that already covers the full fold (0.810107ms) -2026-09-27T05:31:15.3607243Z ✔ manual compactHistory reports output-length exhaustion instead of empty_summary (3.016088ms) -2026-09-27T05:31:15.3655620Z ✔ the checkpoint write gate rejects a malformed summary from any producer (0.757072ms) -2026-09-27T05:31:15.3697979Z ✔ does not redispatch unchanged compaction content for unrelated run provenance (1.43374ms) -2026-09-27T05:31:15.3740378Z ✔ does not redispatch when malformed-summary repair fails with another reason (2.202207ms) -2026-09-27T05:31:15.3758729Z ✔ a cancelled malformed-summary repair does not arm the Session circuit (13.369357ms) -2026-09-27T05:31:15.3835560Z ▶ invalidates the malformed compaction circuit when configuration changes -2026-09-27T05:31:15.3862934Z ✔ unchanged input stays blocked (4.353323ms) -2026-09-27T05:31:15.3875490Z ✔ model change retries (0.98783ms) -2026-09-27T05:31:15.4006693Z ✔ connection change retries (0.712626ms) -2026-09-27T05:31:15.4035736Z ✔ context-window budget change retries (0.696694ms) -2026-09-27T05:31:15.4099119Z ✔ compaction route change retries (0.648809ms) -2026-09-27T05:31:15.4130452Z ✔ invalidates the malformed compaction circuit when configuration changes (11.824897ms) -2026-09-27T05:31:15.4203841Z ✔ manual compactHistory is a no-op when context budget is disabled (0.323575ms) -2026-09-27T05:31:15.4236968Z ✔ manual compactHistory is a no-op when no durable writer is configured (0.346898ms) -2026-09-27T05:31:15.4307566Z ✔ manual compactHistory does not report replaced when durable write fails (4.17015ms) -2026-09-27T05:31:15.4448415Z ✔ stopping manual compactHistory aborts the transaction without poisoning the next turn (31.907591ms) -2026-09-27T05:31:15.4529354Z ✔ aborting the model stream mid-flight routes to the abort path instead of false success (22.210432ms) -2026-09-27T05:31:15.4628650Z ▶ busy-raced send settlement -2026-09-27T05:31:15.4687112Z ✔ submits ordinary messages as next-turn intent without an execution witness (2.959375ms) -2026-09-27T05:31:15.4752116Z ✔ keeps an existing idle Session send in the transcript during local delivery (0.461202ms) -2026-09-27T05:31:15.4775405Z ✔ keeps steering pending while the Host admits it (0.552032ms) -2026-09-27T05:31:15.4806467Z ✔ shows a Follow Up immediately and keeps its caller-owned identity (1.541891ms) -2026-09-27T05:31:15.4835678Z ✔ keeps a Follow Up visible when Host admission outcome is unknown (0.497873ms) -2026-09-27T05:31:15.4848977Z ✔ retires a Follow Up the Host refused outright (0.665123ms) -2026-09-27T05:31:15.4908630Z ✔ surfaces the blocked-Skill toast on an outright refusal (0.628195ms) -2026-09-27T05:31:15.4935966Z ✔ reports a refused Follow Up as not sent (1.885188ms) -2026-09-27T05:31:15.4996439Z ✔ reports an unproven Follow Up as sent so its text is not offered twice (0.854076ms) -2026-09-27T05:31:15.5029294Z ✔ does not resurrect a Follow Up retracted before its IPC reply settles (0.706271ms) -2026-09-27T05:31:15.5055448Z ✔ shows one stable local message before Host admission settles (2.523413ms) -2026-09-27T05:31:15.5290692Z ✔ places a directly admitted Host-started Turn in the transcript (0.455165ms) -2026-09-27T05:31:15.5396052Z ✔ keeps a new Session first send in the transcript when local delivery fails (0.767873ms) -2026-09-27T05:31:15.5466034Z ✔ keeps the new-chat message through navigation when a raced Host queues it (0.49346ms) -2026-09-27T05:31:15.5495854Z ✔ keeps the new-chat messageId when Host chooses another turnId (0.346193ms) -2026-09-27T05:31:15.5575849Z ✔ busy-raced send settlement (17.938807ms) -2026-09-27T05:31:15.5615998Z ✔ persists the compaction fail-open note at decision time, before any settlement (#4850) (156.012453ms) -2026-09-27T05:31:15.5763761Z ✔ writes the compaction fail-open note exactly once when the send settles (#4850) (28.077119ms) -2026-09-27T05:31:15.5916443Z ✔ a failed decision-time note write still leaves the settlement fallback armed (#4850) (34.167712ms) -2026-09-27T05:31:15.5933527Z ✔ after-step stop preserves the current provider step usage and prevents another step (22.498939ms) -2026-09-27T05:31:15.5986055Z ✔ cooperative handoff cancel waits for the settled tool and gates the next request (26.687874ms) -2026-09-27T05:31:15.5987509Z ✔ cooperative handoff commit waits for the settled tool and gates the next request (12.281943ms) -2026-09-27T05:31:15.6017207Z ✔ cooperative handoff stop waits for the settled tool and gates the next request (15.985214ms) -2026-09-27T05:31:15.6045575Z ✔ a natural final answer does not enter the handoff gate (15.443909ms) -2026-09-27T05:31:15.6066667Z ✔ aborting during post-stream persistence wins over step-limit completion (19.51975ms) -2026-09-27T05:31:15.6088213Z ✔ provider error mid-step persists partial text and its safe provider summary (18.616656ms) -2026-09-27T05:31:15.6114891Z ✔ a blank summary preserves history and never records a checkpoint (10.483739ms) -2026-09-27T05:31:15.6148125Z ✔ replays a matching Codex V3 checkpoint as native provider state (14.989169ms) -2026-09-27T05:31:15.6459115Z ✔ replays a matching Codex V3 checkpoint when it covers the entire prior history (25.590379ms) -2026-09-27T05:31:15.7301153Z ✔ keeps a Codex V3 checkpoint when a signed-thinking tail requires text-only replay (13.548439ms) -2026-09-27T05:31:15.8157730Z ✔ ignores a Codex V3 checkpoint bound to a different model and replays raw history (13.038288ms) -2026-09-27T05:31:15.8198520Z ✔ replays a checkpoint whose covered prefix carries a stale tool-result transition (#4842) (43.885543ms) -2026-09-27T05:31:15.8256596Z ✔ a checkpoint summary cannot echo a body a durable transition removed (#4845) (44.068071ms) -2026-09-27T05:31:15.8292374Z ✔ checkpoint replay uses the durable winner after refused or uncertain prune commits (75.551707ms) -2026-09-27T05:31:15.8348695Z ✔ a transition committed after creation invalidates the checkpoint at pre-turn replay (#4845 review) (76.156415ms) -2026-09-27T05:31:15.8392881Z ✔ pre-turn replay withholds a tool result whose transition record is unreadable (#4845) (21.564284ms) -2026-09-27T05:31:15.8407482Z ✔ keeps RuntimeEvent replay when a tool result is unmatched (orphan dropped, rest replayed) (18.505715ms) -2026-09-27T05:31:15.8440703Z ✔ keeps RuntimeEvent replay when a system error fact is diagnostic-only (19.077936ms) -2026-09-27T05:31:15.8442305Z ✔ drops unsupported thinking while preserving RuntimeEvent text (24.35909ms) -2026-09-27T05:31:15.8443445Z ✔ drops cross-model Anthropic reasoning while preserving text and tool history (29.994683ms) -2026-09-27T05:31:15.8444691Z ✔ drops Anthropic reasoning after provider state changes under the same route id (19.51886ms) -2026-09-27T05:31:15.8445784Z ✔ fails closed for provider reasoning with no source run provenance (27.88947ms) -2026-09-27T05:31:15.8477744Z ✔ drops cross-model Copilot reasoning while preserving text and tools (20.503578ms) -2026-09-27T05:31:15.8495710Z ✔ keeps same-route OpenAI Responses reasoning replay (14.077881ms) -2026-09-27T05:31:15.8525681Z ✔ skips unsupported unsigned thinking without dropping native tool replay (18.077593ms) -2026-09-27T05:31:15.8556224Z ✔ skips unmarked unsigned thinking when replaying Kimi OpenAI tool history (18.214628ms) -2026-09-27T05:31:15.8680905Z ✔ rejects signed thinking from provider-native replay when the target cannot replay it (11.723918ms) -2026-09-27T05:31:15.8725559Z ✔ AiSdkBackend model history (2239.358348ms) -2026-09-27T05:31:15.8792270Z ▶ AiSdkBackend error surfaces -2026-09-27T05:31:15.8907090Z ✔ preserves model setup diagnostics in renderer events (4.768771ms) -2026-09-27T05:31:15.9569478Z ✔ stops after a T1 rejection only after sibling tool calls settle (145.687728ms) -2026-09-27T05:31:15.9929658Z ✔ redacts and caps synthetic tool error text before storage and model return (0.572574ms) -2026-09-27T05:31:16.0512694Z ✔ tool settlement never persists raw secret-shaped synthetic errors (1.414966ms) -2026-09-27T05:31:16.1066497Z ✔ failed Bash results preserve terminal stdout and stderr as an error card (1.331972ms) -2026-09-27T05:31:16.1568442Z ✔ AiSdkBackend error surfaces (154.161241ms) -2026-09-27T05:31:16.4556525Z ▶ AiSdkBackend Plan tool boundaries -2026-09-27T05:31:16.4595895Z ✔ continues to a final response after update_plan completes execution (11.128694ms) -2026-09-27T05:31:16.5707978Z ✔ continues to an acknowledgement after cancel_plan cancels execution (16.382636ms) -2026-09-27T05:31:16.7966369Z ✔ keeps SubmitPlan as a one-step plan handoff (8.142326ms) -2026-09-27T05:31:16.9526606Z ✔ AiSdkBackend Plan tool boundaries (35.922317ms) -2026-09-27T05:31:17.5346696Z ✔ targets manual diagnostics to the current task or new-task Host profile (11.627944ms) -2026-09-27T05:31:17.5372799Z ✔ presents every successful-frame context compaction outcome (2.315383ms) -2026-09-27T05:31:17.5446783Z ✔ keeps async context compaction visible until its terminal outcome (0.573584ms) -2026-09-27T05:31:17.5534193Z ✔ does not revive or repeat a context compaction presentation after terminal delivery (0.237088ms) -2026-09-27T05:31:18.2636089Z ▶ AiSdkBackend usage telemetry -2026-09-27T05:31:18.2656617Z ✔ records provider-reported usage for a content-filter terminal (10.604228ms) -2026-09-27T05:31:18.3065631Z ✔ lets an unconfigured turn continue past the former 50-step default (2219.454728ms) -2026-09-27T05:31:18.3556328Z ✔ retries an output-free truncated provider stream once and recovers (18.023668ms) -2026-09-27T05:31:18.4027716Z ✔ records exhaustion of output-free truncated stream recovery (99.472002ms) -2026-09-27T05:31:18.4575696Z ✔ does not retry a truncated stream after provider tool input starts (10.205129ms) -2026-09-27T05:31:18.5116841Z ✔ rejects continuation-capable tools before side effects without a durable reader (8.34394ms) -2026-09-27T05:31:18.5746311Z ✔ checks that the durable ledger is readable before tool side effects (12.620465ms) -2026-09-27T05:31:18.7056863Z ✔ lets a trusted turn override the configured step limit (10.930731ms) -2026-09-27T05:31:18.7215799Z [desktop] operation failed: Error: First submission failed -2026-09-27T05:31:18.7300369Z at Object.submitMessage (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-first-send-cleanup.test.js:254:31) -2026-09-27T05:31:18.7360938Z at submitAndProject (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-chat-actions.js:42:51) -2026-09-27T05:31:18.7416991Z at submitIntoSession (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-chat-actions.js:134:24) -2026-09-27T05:31:18.7455870Z at Object.send (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-chat-actions.js:182:41) -2026-09-27T05:31:18.7517421Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-first-send-cleanup.test.js:272:26) -2026-09-27T05:31:18.7565612Z at async Test.run (node:internal/test_runner/test:1409:7) -2026-09-27T05:31:18.7579735Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:31:18.7622681Z [desktop] operation failed: Error: Skill discovery failed -2026-09-27T05:31:18.7645716Z at Object.submitMessage (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-first-send-cleanup.test.js:334:59) -2026-09-27T05:31:18.7655646Z at submitAndProject (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-chat-actions.js:42:51) -2026-09-27T05:31:18.7688325Z at submitIntoSession (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-chat-actions.js:134:24) -2026-09-27T05:31:18.7713174Z at Object.send (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-chat-actions.js:182:41) -2026-09-27T05:31:18.7745839Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-first-send-cleanup.test.js:341:26) -2026-09-27T05:31:18.7747105Z at async Test.run (node:internal/test_runner/test:1409:7) -2026-09-27T05:31:18.7781972Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:31:18.7805417Z ▶ composer first-send cleanup -2026-09-27T05:31:18.7825818Z ✔ cancels when the composer owner changes during the readiness check (9.128314ms) -2026-09-27T05:31:18.7827111Z ✔ rejects a same-target New Task reopen while readiness is pending (0.436899ms) -2026-09-27T05:31:18.7830900Z ✔ retires an unsent Session if its New Task surface reopens during creation (6.808491ms) -2026-09-27T05:31:18.7832288Z ✔ passes the effective offered model when creating the first session (2.798221ms) -2026-09-27T05:31:18.7833715Z ✔ sends a composer permission choice once without writing it to the Host default (0.745245ms) -2026-09-27T05:31:18.7835227Z ✔ retains the permission choice across refused and throwing first sends, then consumes it on success (12.713959ms) -2026-09-27T05:31:18.7855640Z ✔ creates the first session on the selected Runtime Host and project (0.523972ms) -2026-09-27T05:31:18.7885887Z ✔ removes the just-created session when the first send REJECTS (1.867089ms) -2026-09-27T05:31:18.7915403Z ✔ keeps the session once the first send lands (0.663599ms) -2026-09-27T05:31:18.7946121Z ✔ does not report a resolved session when the first send outcome is unknown (4.59182ms) -2026-09-27T05:31:18.7947469Z [desktop] operation failed: Error: Timed out while preparing the new Session event stream -2026-09-27T05:31:18.7987985Z at activateSessionForFirstSend (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-first-send-cleanup.test.js:483:27) -2026-09-27T05:31:18.8005543Z at Object.send (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-chat-actions.js:176:23) -2026-09-27T05:31:18.8025767Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-first-send-cleanup.test.js:499:26) -2026-09-27T05:31:18.8037819Z at async Test.run (node:internal/test_runner/test:1409:7) -2026-09-27T05:31:18.8094695Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:31:18.8095963Z [desktop] operation failed: Error: Skill discovery failed -2026-09-27T05:31:18.8125769Z at Object.submitMessage (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-first-send-cleanup.test.js:515:59) -2026-09-27T05:31:18.8127313Z at submitAndProject (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-chat-actions.js:42:51) -2026-09-27T05:31:18.8175198Z at submitIntoSession (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-chat-actions.js:134:24) -2026-09-27T05:31:18.8181806Z at Object.send (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-chat-actions.js:207:37) -2026-09-27T05:31:18.8205827Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-first-send-cleanup.test.js:526:26) -2026-09-27T05:31:18.8225386Z at async Test.run (node:internal/test_runner/test:1409:7) -2026-09-27T05:31:18.8245355Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:31:18.8431879Z ✔ projects the first message before activation while waiting to submit until observation (18.696943ms) -2026-09-27T05:31:18.8465808Z ✔ removes the unsent session and surfaces an observation barrier failure (1.047052ms) -2026-09-27T05:31:18.8485597Z ✔ leaves an EXISTING session alone when its send rejects (0.551446ms) -2026-09-27T05:31:18.8515879Z ✔ does not report a resolved Session from an existing-Session send (0.251615ms) -2026-09-27T05:31:18.8534657Z ✔ does not report a resolved Session when the first send is outcome_unknown (0.214347ms) -2026-09-27T05:31:18.8582522Z ✔ cancels restoration and follows latest before accepting a message (3.805165ms) -2026-09-27T05:31:18.8585771Z ✔ refresh waits for durable messages without bypassing range publication (0.410872ms) -2026-09-27T05:31:18.8614240Z ✔ an in-flight refresh reads publication that commits after the call began (76.376109ms) -2026-09-27T05:31:18.8635549Z ✔ composer first-send cleanup (150.363451ms) -2026-09-27T05:31:18.8731818Z ▶ composer send failure feedback -2026-09-27T05:31:18.8802846Z ✔ does not navigate a surface the user left mid-flight (1.402515ms) -2026-09-27T05:31:18.8828089Z ✔ still answers the surface that is actually waiting (0.469925ms) -2026-09-27T05:31:18.8829146Z ✔ composer send failure feedback (2.095341ms) -2026-09-27T05:31:18.8830693Z ✔ reserves the final child-agent step for a tool-free evidence summary (26.742658ms) -2026-09-27T05:31:18.9426152Z [desktop] operation failed: Error: Host unavailable -2026-09-27T05:31:18.9435922Z at respondToUserForm (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-form-interaction.test.js:66:23) -2026-09-27T05:31:18.9437467Z at respondToInteraction (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-chat-actions.js:304:19) -2026-09-27T05:31:18.9545631Z at Object.respondToUserForm (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-chat-actions.js:406:42) -2026-09-27T05:31:18.9666558Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-form-interaction.test.js:73:23) -2026-09-27T05:31:18.9694632Z at Test.runInAsyncScope (node:async_hooks:227:14) -2026-09-27T05:31:18.9735702Z at Test.run (node:internal/test_runner/test:1402:25) -2026-09-27T05:31:18.9915752Z at Suite.processPendingSubtests (node:internal/test_runner/test:974:18) -2026-09-27T05:31:18.9995647Z at Test.postRun (node:internal/test_runner/test:1542:19) -2026-09-27T05:31:19.0135673Z at Test.run (node:internal/test_runner/test:1467:12) -2026-09-27T05:31:19.0145301Z at async Promise.all (index 0) -2026-09-27T05:31:19.0205743Z ▶ AppShell form interaction response -2026-09-27T05:31:19.0264012Z ✔ retires the local prompt only after the platform accepts the answer (11.410656ms) -2026-09-27T05:31:19.0325778Z ✔ keeps the prompt answerable when the platform rejects the answer (6.67025ms) -2026-09-27T05:31:19.0333142Z ✔ AppShell form interaction response (19.701077ms) -2026-09-27T05:31:19.0365771Z ✔ every published width stays a , collapsed included (0.91785ms) -2026-09-27T05:31:19.0419282Z ✔ ends the tool loop cooperatively when the graph supervisor yields (11.204873ms) -2026-09-27T05:31:19.2283768Z ✔ does not honor graph yield when it shares a provider step with a sibling call (34.622791ms) -2026-09-27T05:31:19.3177124Z ✔ requires the canonical yield tool identity and a valid result envelope (36.810072ms) -2026-09-27T05:31:19.3906460Z ✔ reports an explicit step limit without making an auxiliary model call (27.056871ms) -2026-09-27T05:31:19.4837795Z ✔ records cumulative usage checkpoints across tool-loop steps and turns (48.227219ms) -2026-09-27T05:31:19.5656258Z ✔ does not record fabricated zero telemetry when provider usage is unavailable (14.311417ms) -2026-09-27T05:31:19.9114364Z ✔ keeps checkpoint cost unknown when model pricing is unavailable (9.97995ms) -2026-09-27T05:31:20.0008922Z ✔ a pruned Bash result retains durable output and is readable without rerunning (161.180909ms) -2026-09-27T05:31:20.0087904Z ✔ accumulates pruning across provider steps once in persisted and live usage (164.570622ms) -2026-09-27T05:31:20.0119766Z ✔ keeps small observations even when a newer Read supersedes their range (64.919274ms) -2026-09-27T05:31:20.0356147Z ✔ normalizes cache and reasoning tokens to messages, events, and telemetry (23.551336ms) -2026-09-27T05:31:20.0357356Z ✔ AiSdkBackend usage telemetry (3017.495217ms) -2026-09-27T05:31:20.0385674Z ▶ AiSdkBackend tool availability diagnostics -2026-09-27T05:31:20.0528390Z ✔ tool canonicalization is independent of registration order and places invalid last (0.474632ms) -2026-09-27T05:31:20.0625979Z ✔ backend full mode keeps the complete tool surface and omits the connector (173.233598ms) -2026-09-27T05:31:20.0670945Z ✔ preserves the tool-call provider prefix across user turns (52.846533ms) -2026-09-27T05:31:20.0735184Z ✔ AiSdkBackend tool availability diagnostics (226.910125ms) -2026-09-27T05:31:20.0812735Z ▶ AiSdkBackend context budget and prompt attribution -2026-09-27T05:31:20.0878880Z ✔ replay hands the model a bounded summary for an Edit file_diff result, not the diff (0.878667ms) -2026-09-27T05:31:20.0945751Z ✔ usage events keep context budget diagnostics without live prompt estimates (10.665344ms) -2026-09-27T05:31:20.0962435Z ✔ AiSdkBackend context budget and prompt attribution (11.747869ms) -2026-09-27T05:31:20.1015252Z ▶ AiSdkBackend RunTrace -2026-09-27T05:31:20.1035089Z ✔ records openai-chat multi-step requests and reconciles complete attempt usage (66.462157ms) -2026-09-27T05:31:20.1069065Z ✔ records anthropic-messages multi-step requests and reconciles complete attempt usage (40.855396ms) -2026-09-27T05:31:20.1095342Z ✔ observes the prepared request at dispatch and records its canonical attempt (15.908543ms) -2026-09-27T05:31:20.1118311Z ✔ persists contextRemaining on the stored token_usage message (#4019) (8.364588ms) -2026-09-27T05:31:20.1149393Z ✔ omits contextRemaining from the stored token_usage message when the window is unknown (12.361314ms) -2026-09-27T05:31:20.1155363Z ✔ disables hidden AI SDK retries and traces the one explicit Runtime retry (27.444355ms) -2026-09-27T05:31:20.1200721Z ✔ preserves provider capacity in retry progress (31.376329ms) -2026-09-27T05:31:20.1220139Z ✔ retries a gateway rate limit that names no retry delay (24.260817ms) -2026-09-27T05:31:20.1251343Z ✔ retries a gateway rate limit that names an unparseable retry delay (25.625871ms) -2026-09-27T05:31:20.1372106Z ✔ preserves a finished answer without regenerating when the provider connection stays open (18.536227ms) -2026-09-27T05:31:20.1470417Z ✔ retries one idle watchdog timeout after preserving partial thinking (30.815325ms) -2026-09-27T05:31:20.1565880Z ✔ seals partial thinking and discards local tool intents after a retryable network failure (59.014352ms) -2026-09-27T05:31:20.1600345Z ✔ retries a retryable network failure before any observable output (30.057184ms) -2026-09-27T05:31:20.1601500Z ✔ bounds repeated thinking failures by the shared request budget (155.185175ms) -2026-09-27T05:31:20.1602739Z ✔ preserves finalized encrypted Responses thinking when the next part fails without retrying (12.781761ms) -2026-09-27T05:31:20.1604138Z ✔ preserves finalized redacted Anthropic thinking when the next part fails without retrying (14.030554ms) -2026-09-27T05:31:20.1605554Z ✔ retries DeepSeek OpenAI Chat reasoning marked only for field replay (41.092883ms) -2026-09-27T05:31:20.1607343Z ✔ links a recovered tool call to the retry assistant step (64.147998ms) -2026-09-27T05:31:20.4174763Z ✔ exhausts continuation retries without re-running the durable tool result (375.396641ms) -2026-09-27T05:31:20.4206243Z ✔ keeps a projection timeout as a generic timeout before continuation dispatch (13.66944ms) -2026-09-27T05:31:20.4253125Z ✔ bounds repeated partial-answer timeouts by the shared request budget (80.256223ms) -2026-09-27T05:31:20.4436083Z ✔ retries an idle watchdog timeout after an unstarted Responses text item (18.659612ms) -2026-09-27T05:31:20.4649436Z ✔ does not retry an idle watchdog timeout after provider continuation metadata (19.152272ms) -2026-09-27T05:31:20.4829672Z ✔ does not retry after provider-executed tool input starts (22.734431ms) -2026-09-27T05:31:20.5601904Z ✔ does not retry an idle watchdog timeout after text continuation metadata (21.531713ms) -2026-09-27T05:31:20.5953856Z ✔ Stop aborts the turn while an idle-timeout retry is waiting (21.873006ms) -2026-09-27T05:31:20.6025457Z ✔ records the continuation replay gate and blocking diagnostics on stream failure (8.917709ms) -2026-09-27T05:31:20.6085895Z ✔ records turn, model, usage, and completion trace events without changing SessionEvents (17.713772ms) -2026-09-27T05:31:20.6217394Z ✔ trace recorder failures are best-effort and do not change model execution (29.999164ms) -2026-09-27T05:31:20.6334674Z ✔ records abort trace when stop is requested (0.654551ms) -2026-09-27T05:31:20.6557438Z ✔ AiSdkBackend RunTrace (1311.285018ms) -2026-09-27T05:31:20.6645636Z ▶ AiSdkBackend tool execution -2026-09-27T05:31:20.6787485Z ✔ WebSearch telemetry never copies the user-derived query (4.669548ms) -2026-09-27T05:31:20.6873405Z ✔ tool failure telemetry classifies and redacts generic implementation errors (1.752394ms) -2026-09-27T05:31:20.6925646Z ✔ flushes output deltas before successful and failed tool results (11.082565ms) -2026-09-27T05:31:20.7056042Z ✔ pauses stream watchdog while a foreground subagent tool is running (14.507341ms) -2026-09-27T05:31:20.7185717Z ✔ pauses stream watchdog while a regular (non-subagent) tool is running (7.400422ms) -2026-09-27T05:31:20.9806583Z ✔ keeps the stream alive while filtered tool input parts keep arriving (363.74416ms) -2026-09-27T05:31:21.0639734Z ✔ caps concurrent subagent tools in one turn (17.712045ms) -2026-09-27T05:31:21.0745279Z ✔ same ACP client reconnects to a real replacement Host without replaying staged upload bytes (12356.548403ms) -2026-09-27T05:31:21.1098607Z ✔ maps foreground subagent terminal states to persisted tool status (8.692023ms) -2026-09-27T05:31:21.1135570Z ✔ AiSdkBackend tool execution (433.349829ms) -2026-09-27T05:31:21.1168101Z ▶ AiSdkBackend tool-call repair -2026-09-27T05:31:21.1211156Z ✔ repairs provider tool-name case drift to the canonical Maka tool name (5.17913ms) -2026-09-27T05:31:21.1277855Z ✔ routes unrepairable tool calls into the structured invalid tool (0.346226ms) -2026-09-27T05:31:21.1278899Z ✔ does not recursively repair the internal invalid tool (0.146952ms) -2026-09-27T05:31:21.1349943Z ✔ AiSdkBackend tool-call repair (5.864671ms) -2026-09-27T05:31:21.1441011Z ▶ AiSdkBackend concurrent turns -2026-09-27T05:31:21.1495754Z ✔ a finishing turn does not strip the run identity of an overlapping turn (83.345092ms) -2026-09-27T05:31:21.1540127Z ✔ a send that throws during setup leaves no scope registered (0.539621ms) -2026-09-27T05:31:21.1751595Z ✔ stop() closes every turn even when one turn fails to close (29.864464ms) -2026-09-27T05:31:21.2220590Z ✔ AiSdkBackend concurrent turns (114.100054ms) -2026-09-27T05:31:21.3054806Z ▶ AiSdkBackend thinking persistence -2026-09-27T05:31:21.3176291Z ✔ emits a non-partial thinking_complete that survives read-model projection and materialization (33.528168ms) -2026-09-27T05:31:21.3268556Z ✔ persists reasoning for a thinking-only turn that produces no final text (20.003412ms) -2026-09-27T05:31:21.3386853Z ✔ text-only terminal replay fixture preserves signed thinking and usage exactly (24.38676ms) -2026-09-27T05:31:21.3626235Z ✔ signed thinking from a per-step tool-calling turn IS replayed, merged with its tool call (25.974509ms) -2026-09-27T05:31:21.5316044Z ▶ pending attachments by draft key -2026-09-27T05:31:21.5429216Z ✔ selecting another key never leaks pending from a different session (4.781113ms) -2026-09-27T05:31:21.5510422Z ✔ removes a single pending by index without touching other keys (3.394749ms) -2026-09-27T05:31:21.5585749Z ✔ clears one key without affecting others (0.269471ms) -2026-09-27T05:31:21.5715909Z ✔ successful send removes only its submitted snapshot (0.368166ms) -2026-09-27T05:31:21.5865965Z ✔ removes by caller identity even when the submitted snapshot was re-derived (0.276332ms) -2026-09-27T05:31:21.6002170Z ✔ pending attachments by draft key (17.136579ms) -2026-09-27T05:31:21.6091654Z ▶ omits Responses reasoning without encrypted content from the wire request -2026-09-27T05:31:21.6165715Z ✔ missing (350.76765ms) -2026-09-27T05:31:21.6411446Z ✔ remote Project capabilities do not dispatch Client-local actions (107.507268ms) -2026-09-27T05:31:21.6435501Z [open-path:workspace] operation failed: Error: unavailable -2026-09-27T05:31:21.6466345Z at runOnDefaultRuntimeHost (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/project-actions-qufsgX/app-shell-project-actions.mjs?t=1790487079105:2174:11) -2026-09-27T05:31:21.6525972Z at process.processTicksAndRejections (node:internal/process/task_queues:104:5) -2026-09-27T05:31:21.6580051Z at async Object.openWorkspaceFolder (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/project-actions-qufsgX/app-shell-project-actions.mjs?t=1790487079105:2414:51) -2026-09-27T05:31:21.6665762Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-project-actions.test.js:109:9) -2026-09-27T05:31:21.6725346Z at async Test.run (node:internal/test_runner/test:1409:7) -2026-09-27T05:31:21.6785637Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:31:21.6845392Z [open-path:project] operation failed: Error: unavailable -2026-09-27T05:31:21.6905870Z at Object.openPath (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-project-actions.test.js:99:27) -2026-09-27T05:31:21.6936144Z at Object.openProjectFolder (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/project-actions-qufsgX/app-shell-project-actions.mjs?t=1790487079105:2386:38) -2026-09-27T05:31:21.7008544Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-project-actions.test.js:110:23) -2026-09-27T05:31:21.7094318Z at process.processTicksAndRejections (node:internal/process/task_queues:104:5) -2026-09-27T05:31:21.7164378Z at async Test.run (node:internal/test_runner/test:1409:7) -2026-09-27T05:31:21.7265529Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:31:21.7345444Z [open-path:project] operation failed: Error: unavailable -2026-09-27T05:31:21.7356053Z at runOnDefaultRuntimeHost (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/project-actions-qufsgX/app-shell-project-actions.mjs?t=1790487079105:2174:11) -2026-09-27T05:31:21.7411861Z at process.processTicksAndRejections (node:internal/process/task_queues:104:5) -2026-09-27T05:31:21.7506304Z at async Object.openProjectFolder (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/project-actions-qufsgX/app-shell-project-actions.mjs?t=1790487079105:2388:11) -2026-09-27T05:31:21.7575700Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-project-actions.test.js:111:9) -2026-09-27T05:31:21.7636990Z at async Test.run (node:internal/test_runner/test:1409:7) -2026-09-27T05:31:21.7695426Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:31:21.7786158Z ✔ Project errors preserve the Host authority of the failed operation (95.683301ms) -2026-09-27T05:31:21.7886780Z ✔ a Project mutation refresh stays bound to the operation Host (62.040259ms) -2026-09-27T05:31:21.7934217Z [desktop] operation failed: Error: Host lost the Session -2026-09-27T05:31:21.8025684Z at refreshSessions (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-revision-actions.test.js:71:23) -2026-09-27T05:31:21.8125748Z at Object.prepareRevisionSend (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-revision-actions.js:200:19) -2026-09-27T05:31:21.8153431Z at async file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-revision-actions.test.js:197:26 -2026-09-27T05:31:21.8272082Z at async withWindowMaka (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-revision-actions.test.js:97:9) -2026-09-27T05:31:21.8355862Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-revision-actions.test.js:177:9) -2026-09-27T05:31:21.8408569Z at async Test.run (node:internal/test_runner/test:1409:7) -2026-09-27T05:31:21.8469823Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:31:21.8498931Z ▶ app-shell revision actions with structured context (#5109) -2026-09-27T05:31:21.8650129Z ✔ keeps editing allowed when only earlier turns carry attachments (5.072291ms) -2026-09-27T05:31:21.8775756Z ✔ rejects a source message that itself carries attachments (1.550018ms) -2026-09-27T05:31:21.8855862Z ✔ app-shell revision actions with structured context (#5109) (10.143524ms) -2026-09-27T05:31:21.8985544Z ▶ prepareRevisionSend transcript settlement -2026-09-27T05:31:21.9081960Z ✔ prepares the revision without opening another transcript consumer (4.481317ms) -2026-09-27T05:31:21.9169767Z ✔ surfaces a failed preparation instead of swallowing it behind rollback (9.486395ms) -2026-09-27T05:31:21.9338114Z ✔ prepareRevisionSend transcript settlement (14.337904ms) -2026-09-27T05:31:21.9415809Z ▶ revision draft lifecycle over a prepared send -2026-09-27T05:31:21.9535957Z ✔ retries a refused send inside the prepared child instead of opening another revision (3.798904ms) -2026-09-27T05:31:21.9665807Z ✔ restores the complete pre-edit draft when a refused revision is cancelled (1.081293ms) -2026-09-27T05:31:21.9775784Z ✔ revision draft lifecycle over a prepared send (5.77083ms) -2026-09-27T05:31:21.9875550Z ✔ null (193.150554ms) -2026-09-27T05:31:21.9935394Z ✔ empty string (154.205754ms) -2026-09-27T05:31:22.0976811Z ✔ omits Responses reasoning without encrypted content from the wire request (710.811693ms) -2026-09-27T05:31:22.1800179Z ✔ OpenAI Responses reasoning from a tool step is replayed with its encrypted content (31.169906ms) -2026-09-27T05:31:22.1856098Z ✔ DeepSeek Responses replays plaintext reasoning without an OpenAI item id (16.427662ms) -2026-09-27T05:31:22.2007661Z ✔ Moonshot Global replays a summary-only reasoning item across the tool loop (67.910085ms) -2026-09-27T05:31:22.2066099Z ✔ Alibaba Responses keeps multiple streamed reasoning items distinct through replay (70.531317ms) -2026-09-27T05:31:22.2082940Z ✔ Alibaba Responses adopts the final summary when streamed reasoning differs (42.50845ms) -2026-09-27T05:31:22.3676313Z ✔ Alibaba Responses preserves live compatibility reasoning across abrupt transport failure (105.035075ms) -2026-09-27T05:31:22.4386282Z ✔ Alibaba Responses keeps a finalized item valid when the next item id is unsafe (52.915854ms) -2026-09-27T05:31:22.5036272Z ✔ Alibaba Responses isolates a same-id delta that arrives after item completion (43.053913ms) -2026-09-27T05:31:22.6116171Z ✔ Alibaba Responses skips reasoning it cannot safely replay (15.136668ms) -2026-09-27T05:31:22.6292371Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:31:22.6752947Z ✔ Alibaba Responses drops malformed state owned by its profile (11.045583ms) -2026-09-27T05:31:22.6808364Z ✔ passes DeepSeek max reasoning through as the provider-native effort (15.37748ms) -2026-09-27T05:31:22.6906964Z ✔ preserves every OpenAI Responses reasoning item through stream persistence and replay (43.693059ms) -2026-09-27T05:31:22.7046275Z ✔ thinking-only tool step (no text) replays reasoning + tool call in one assistant message without an empty text block (10.76509ms) -2026-09-27T05:31:22.7096282Z ✔ an orphan tool_result does not degrade replay: dropped, while paired history replays provider-native (15.194845ms) -2026-09-27T05:31:22.7184118Z ✔ signature-only (omitted) thinking is persisted and replays with its signature (36.160796ms) -2026-09-27T05:31:22.7219213Z ✔ does not synthesize assistant text when a stream ends without a trailing finish-step (6.404117ms) -2026-09-27T05:31:22.7235897Z ✔ flushes one AssistantMessage per step, each with its own thinking + signature, and stamps tool_start.stepId (57.469395ms) -2026-09-27T05:31:22.7315802Z ✔ continues a reasoning tool step from Maka durable replay instead of SDK response shape (56.532001ms) -2026-09-27T05:31:22.7425568Z ✔ AiSdkBackend thinking persistence (1516.726088ms) -2026-09-27T05:31:22.8026438Z ▶ AiSdkBackend steering durability and identity -2026-09-27T05:31:22.8052553Z ✔ the final provider boundary waits for an asynchronous steering lease and asks the model again (84.145571ms) -2026-09-27T05:31:22.8253294Z ✔ all three steering messages reach the same next model request in queue order (56.126983ms) -2026-09-27T05:31:22.8316269Z ✔ the late-steer edge is skipped without a durable current-run reader (19.573709ms) -2026-09-27T05:31:22.8326468Z ✔ a stop that lands during the final drain wins over the injected steer (19.813633ms) -2026-09-27T05:31:22.9096231Z ✔ holds the provider request until the steering event is durably consumed (39.139114ms) -2026-09-27T05:31:22.9128730Z ✔ persists canonical steering content and materializes attachments for the model (38.223824ms) -2026-09-27T05:31:22.9752729Z ✔ a steering message never reaches the provider when the consumer detaches before the ack (32.736282ms) -2026-09-27T05:31:23.0383110Z ✔ a user prompt that equals the envelope text never cancels a real steer (20.327926ms) -2026-09-27T05:31:23.1630973Z ✔ degraded RuntimeEvent replay presents prior steering exactly once, in envelope form (21.836393ms) -2026-09-27T05:31:23.2931331Z ✔ reconciles late predecessor content after its durable answer is already loaded (130.1815ms) -2026-09-27T05:31:23.3005166Z ▶ session live run display state -2026-09-27T05:31:23.3034729Z ✔ keeps persisted running as a fallback only while live state is unknown (7.045543ms) -2026-09-27T05:31:23.3045578Z ✔ session live run display state (9.621865ms) -2026-09-27T05:31:23.3105875Z ✔ a steer that equals the current prompt still injects its envelope (18.155191ms) -2026-09-27T05:31:23.3211289Z ▶ app shell session UI state controller -2026-09-27T05:31:23.3295196Z ✔ does not mirror session-setting writes into UI pending state (12.432076ms) -2026-09-27T05:31:23.3376879Z ✔ clears one session from every per-session UI map without touching other sessions (0.677303ms) -2026-09-27T05:31:23.3476267Z ✔ keeps state identity for no-op map updates and only replaces the selected map (29.669862ms) -2026-09-27T05:31:23.3613754Z ✔ does not republish a fresh-but-equal execution projection (0.576058ms) -2026-09-27T05:31:23.3699209Z ✔ records event-stream health without notifying render subscribers (0.371534ms) -2026-09-27T05:31:23.3733884Z ✔ drops event-stream health along with the rest of a cleared session (0.384276ms) -2026-09-27T05:31:23.3827074Z ✔ owns per-session transcript reading anchors without notifying render subscribers (0.343614ms) -2026-09-27T05:31:23.3895717Z ✔ publishes unavailable transcript restores only until they are consumed (10.511213ms) -2026-09-27T05:31:23.3937217Z ✔ does not restore a reading anchor from another Session range (0.627224ms) -2026-09-27T05:31:23.4002836Z ✔ abandons a restore that remains absent once no earlier history is left (27.364958ms) -2026-09-27T05:31:23.4060523Z ✔ keeps the synchronous live-turn ref aligned with reducer updates (0.412743ms) -2026-09-27T05:31:23.4098938Z ✔ app shell session UI state controller (84.525163ms) -2026-09-27T05:31:23.4147247Z ▶ shellSessionRowEqual -2026-09-27T05:31:23.4206944Z ✔ holds identity across rail-only bookkeeping (0.340451ms) -2026-09-27T05:31:23.4213316Z ✔ republishes when a rendered field moves (0.191654ms) -2026-09-27T05:31:23.4295816Z ✔ republishes for a field the rail-only list does not know about (0.231329ms) -2026-09-27T05:31:23.4530665Z ✔ a steer that equals a historical user message still injects its envelope (16.547479ms) -2026-09-27T05:31:23.4555509Z ✔ two identical steers inject two envelopes (17.529893ms) -2026-09-27T05:31:23.4612001Z ✔ orders same-revision rows by the live run epoch (#5713) (18.106879ms) -2026-09-27T05:31:23.4666747Z ✔ keeps a catalog row subscriber mounted through rail-only patches (16.697581ms) -2026-09-27T05:31:23.4756410Z ✔ shellSessionRowEqual (37.429634ms) -2026-09-27T05:31:23.4807357Z ✔ a prior-turn steering event replays in its canonical envelope form (17.45475ms) -2026-09-27T05:31:23.4835641Z ✔ a prior-turn steering event replays its image attachments as image parts (19.55377ms) -2026-09-27T05:31:23.4882838Z ✔ persists provider metadata a canonical event can read back (71.070047ms) -2026-09-27T05:31:23.4908491Z ✔ rebuilds reasoning metadata rather than persisting what the provider sent (39.295609ms) -2026-09-27T05:31:23.4977160Z ✔ merges citation metadata across multiple provider text items (31.609693ms) -2026-09-27T05:31:23.4978533Z ✔ preserves native Responses text item boundaries as separate assistant messages (31.02554ms) -2026-09-27T05:31:23.4980014Z ✔ does not carry metadata from an empty Responses text item into the next item (28.795979ms) -2026-09-27T05:31:23.4981244Z ✔ executes native WebSearch inside the primary provider stream (43.74716ms) -2026-09-27T05:31:23.4982457Z ✔ projects CC-format Anthropic web search without exposing encrypted content (32.158846ms) -2026-09-27T05:31:23.4983560Z ✔ AiSdkBackend steering durability and identity (705.784774ms) -2026-09-27T05:31:23.4984921Z ✔ removes exactly the transient messages the Host retracts while stopping (20.904144ms) -2026-09-27T05:31:23.4985966Z [desktop] operation failed: Error: Committed response was lost -2026-09-27T05:31:23.4989670Z at Object.branchFromTurn (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-turn-actions.test.js:44:19) -2026-09-27T05:31:23.4991315Z at Object.handleTurnFooterAction (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-turn-actions.js:46:63) -2026-09-27T05:31:23.4992938Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/app-shell-turn-actions.test.js:78:23) -2026-09-27T05:31:23.4994128Z at Test.runInAsyncScope (node:async_hooks:227:14) -2026-09-27T05:31:23.4996987Z at Test.run (node:internal/test_runner/test:1402:25) -2026-09-27T05:31:23.4997794Z at Test.processPendingSubtests (node:internal/test_runner/test:974:18) -2026-09-27T05:31:23.4998577Z at Test.postRun (node:internal/test_runner/test:1542:19) -2026-09-27T05:31:23.5005230Z at Test.run (node:internal/test_runner/test:1467:12) -2026-09-27T05:31:23.5041501Z at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3) -2026-09-27T05:31:23.5042593Z ✔ footer no longer exposes Regenerate (7.873885ms) -2026-09-27T05:31:23.5043691Z ✔ preserves a Branch copy identity after an ambiguous failure and completes it on success (31.188892ms) -2026-09-27T05:31:23.5045244Z ✔ download verification accepts every payload the release descriptor advertises (121.387027ms) -2026-09-27T05:31:23.5049518Z ✔ download verification follows the chosen payload, not the running architecture (32.217771ms) -2026-09-27T05:31:23.5050815Z ✔ download verification rejects a payload the feed, the version or the attestation disowns (54.31276ms) -2026-09-27T05:31:23.5052074Z ✔ nightly verification fetches provenance from the versioned GitHub Release asset (11.564171ms) -2026-09-27T05:31:23.5053274Z ✔ packaged update trust accepts only an explicit release or nightly channel (0.925914ms) -2026-09-27T05:31:23.5054604Z ✔ a diagnostic report names the channel it can prove, and admits when it cannot (14.104203ms) -2026-09-27T05:31:23.5055892Z ✔ TUF verifies ECDSA without breaking Ed25519 in the packaged Electron runtime (998.460282ms) -2026-09-27T05:31:23.5057192Z ✔ Sigstore verifies ECDSA without breaking Ed25519 in the packaged Electron runtime (519.558463ms) -2026-09-27T05:31:23.6495961Z ▶ ApplyPatch profile routing -2026-09-27T05:31:23.6556596Z ✔ routes supported Codex and DeepSeek models through their supported tool transports (19.134064ms) -2026-09-27T05:31:23.6699388Z ✔ overrides are per model and work for future models without a name whitelist (2.956852ms) -2026-09-27T05:31:23.6780170Z ✔ explicit enablement uses ordinary functions on relays and explicit disablement wins on OpenAI (0.463712ms) -2026-09-27T05:31:23.6815815Z ✔ projects the editing surface and the matching input schema (0.494417ms) -2026-09-27T05:31:23.6912536Z ✔ preserves multi-file history in custom and portable forms (9.885121ms) -2026-09-27T05:31:23.6945765Z ✔ preserves structured routing for documented native OpenAI models (0.457784ms) -2026-09-27T05:31:23.7005830Z ✔ normalizes portable single-operation history (2.543243ms) -2026-09-27T05:31:23.7078088Z ✔ ApplyPatch profile routing (40.802708ms) -2026-09-27T05:31:23.7155465Z ▶ AskUserQuestion runtime round trip -2026-09-27T05:31:23.7257771Z ✔ parks the tool, emits one request, and persists one nullable JSON result (63.791676ms) -2026-09-27T05:31:23.7275783Z ✔ turn abort rejects the parked tool and ignores a late response (34.915674ms) -2026-09-27T05:31:23.7395881Z ✔ cell abort releases a parked question without waiting for turn teardown (33.191051ms) -2026-09-27T05:31:23.7495162Z ✔ AskUserQuestion runtime round trip (143.894652ms) -2026-09-27T05:31:23.7586160Z ▶ AsyncEventQueue -2026-09-27T05:31:23.7665788Z ✔ close before any push → consumer completes immediately (1.840087ms) -2026-09-27T05:31:23.7755650Z ✔ push after close is dropped (no throw) (0.459631ms) -2026-09-27T05:31:23.7768468Z ✔ error rejects waiting consumer (0.412738ms) -2026-09-27T05:31:23.7799370Z ✔ return() from iterator closes the queue (0.32497ms) -2026-09-27T05:31:23.7920626Z ✔ interleaved push/next preserves FIFO (0.316822ms) -2026-09-27T05:31:23.7978529Z ✔ AsyncEventQueue (5.30868ms) -2026-09-27T05:31:23.8045584Z ▶ AsyncEventQueue consumption boundary -2026-09-27T05:31:23.8102435Z ✔ pushAndWaitUntilConsumed resolves only when its exact sequence is processed (1.056963ms) -2026-09-27T05:31:23.8161202Z ✔ waitUntilConsumedThroughCurrent captures a fixed boundary (0.420704ms) -2026-09-27T05:31:23.8223027Z ✔ pushAndWaitUntilConsumed rejects instead of dropping on closed or errored queues (1.623952ms) -2026-09-27T05:31:23.8376211Z ✔ detach or queue error before consumption rejects the pending boundary (0.381212ms) -2026-09-27T05:31:23.8392655Z ✔ detach after consumption does not reverse a fulfilled boundary (0.343505ms) -2026-09-27T05:31:23.8476341Z ✔ AsyncEventQueue consumption boundary (5.69587ms) -2026-09-27T05:31:23.8515654Z ▶ AwaitRegistry -2026-09-27T05:31:23.8545641Z ✔ settles one request and ignores a late response (5.167693ms) -2026-09-27T05:31:23.8566014Z ✔ closing rejects every request and refuses later ones (4.548331ms) -2026-09-27T05:31:23.8600671Z ✔ AwaitRegistry (11.155589ms) -2026-09-27T05:31:23.8686071Z ✔ reports process tracking separately when endpoint is not checked (13.901715ms) -2026-09-27T05:31:23.8735651Z ✔ reports endpoint health only from the probe result (3.86209ms) -2026-09-27T05:31:23.8763635Z ✔ does not convert a failed probe into a ready claim (1.11832ms) -2026-09-27T05:31:23.8875631Z ▶ BashTailBuffer -2026-09-27T05:31:23.8961830Z ✔ bounds retained output to the exact tail (7.315117ms) -2026-09-27T05:31:23.9088097Z ✔ keeps the tail of an oversized line (0.252815ms) -2026-09-27T05:31:23.9211194Z ✔ retains the same tail across chunk boundaries (0.170025ms) -2026-09-27T05:31:23.9307115Z ✔ does not split a surrogate pair at the truncation boundary (0.241837ms) -2026-09-27T05:31:23.9391540Z ✔ BashTailBuffer (30.500514ms) -2026-09-27T05:31:23.9409660Z ▶ builtin file tools use the sandboxed worker -2026-09-27T05:31:23.9471565Z ✔ direct Read rejects invalid coordinates before selecting any backend (107.861783ms) -2026-09-27T05:31:23.9579178Z ✔ pages large files before the worker response boundary, including long-line continuations (1745.56025ms) -2026-09-27T05:31:23.9666302Z ✔ fails closed for managed file operations when the worker is unavailable (3.683848ms) -2026-09-27T05:31:23.9792357Z ✔ uses the host filesystem path for an authoritative bypass boundary (6.351733ms) -2026-09-27T05:31:23.9906689Z ✔ uses the host filesystem path for an authoritative external boundary (4.119976ms) -2026-09-27T05:31:23.9943066Z ✔ forwards the current session boundary to every worker operation (14.485877ms) -2026-09-27T05:31:23.9981104Z ✔ uses one worker read operation for image paths (4.939589ms) -2026-09-27T05:31:24.0062107Z ✔ releases a Read image snapshot when durable result commit fails (2.59338ms) -2026-09-27T05:31:24.0115882Z ✔ refuses to snapshot a Read image without a durable operation identity (2.60096ms) -2026-09-27T05:31:24.0198372Z ✔ serializes writes through real and symlinked cwd paths (54.113251ms) -2026-09-27T05:31:24.0252529Z ✔ builtin file tools use the sandboxed worker (1949.294929ms) -2026-09-27T05:31:24.0306335Z ▶ file tools surface a file_diff result -2026-09-27T05:31:24.0360596Z ✔ Edit returns a file_diff content when the worker reports a diff (23.417893ms) -2026-09-27T05:31:24.0386646Z ✔ Edit keeps the fact summary when the worker reports no diff (8.681812ms) -2026-09-27T05:31:24.0456353Z ✔ Write returns a file_diff content when the worker reports a diff (13.33979ms) -2026-09-27T05:31:24.0538818Z ✔ Write degrades to a file_write descriptor when the worker reports no diff (14.968371ms) -2026-09-27T05:31:24.0669228Z ✔ FormatJson returns a file_diff content and never leaks the diff as json (4.408811ms) -2026-09-27T05:31:24.0735959Z ✔ the model output for an edit is a bounded summary, not the diff (5.053718ms) -2026-09-27T05:31:24.0756990Z ✔ the model output counts additions whose content starts with ++ (4.768106ms) -2026-09-27T05:31:24.0898798Z ✔ the model output for a new-file write names it created with its line count (3.740946ms) -2026-09-27T05:31:24.0975588Z ✔ file tools surface a file_diff result (79.17006ms) -2026-09-27T05:31:24.1117010Z ▶ builtin apply_patch -2026-09-27T05:31:24.1207182Z ✔ rejects unsupported V4A Move before applying any file operation (8.938469ms) -2026-09-27T05:31:24.1271506Z ✔ reports the applied prefix when a later V4A operation fails (86.436322ms) -2026-09-27T05:31:24.1335387Z ✔ does not start another V4A operation after the turn is stopped (5.796035ms) -2026-09-27T05:31:24.1347322Z ✔ applies freeform V4A contents to real files (84.95298ms) -2026-09-27T05:31:24.1406349Z ✔ builtin apply_patch (190.198788ms) -2026-09-27T05:31:24.1434772Z ▶ builtin ArchiveRead capabilities -2026-09-27T05:31:24.1494024Z ✔ is not a built-in tool (0.84508ms) -2026-09-27T05:31:24.1499932Z ✔ builtin ArchiveRead capabilities (1.109049ms) -2026-09-27T05:31:24.1583676Z ▶ builtin tool executor facts -2026-09-27T05:31:24.1645638Z ✔ attaches executor facts to every built-in tool (4.460575ms) -2026-09-27T05:31:24.1697898Z ✔ builtin tool executor facts (4.665952ms) -2026-09-27T05:31:24.1715618Z ▶ builtin Bash projection and shell execution -2026-09-27T05:31:24.1754675Z ✔ executor Bash keeps its durable command out of provider-facing results (3.9262ms) -2026-09-27T05:31:24.1839253Z ✔ executor Bash executes with the same shell it declares (18.403725ms) -2026-09-27T05:31:24.1897596Z ✔ builtin Bash projection and shell execution (23.03051ms) -2026-09-27T05:31:24.1898445Z ▶ builtin Bash streaming output -2026-09-27T05:31:24.1945391Z ✔ exposes no one-shot permission schema (6.082334ms) -2026-09-27T05:31:24.2018395Z ✔ Bash drops its boundary declaration when the session has no boundary to widen (5.997731ms) -2026-09-27T05:31:24.2027797Z ✔ Bash schema exposes explicit background execution and boundary declarations (11.019242ms) -2026-09-27T05:31:24.2029979Z ✔ background-capable Bash stays foreground unless explicitly requested (1.089032ms) -2026-09-27T05:31:24.2050293Z ✔ explicit background Bash returns runtime refs and forwards its optional timeout (1.803728ms) -2026-09-27T05:31:24.2062145Z ✔ wraps managed pipe Bash with bubblewrap argv and seccomp fd input (18.240607ms) -2026-09-27T05:31:24.2095791Z ✔ pins a missing exact-write target and removes an untouched successful placeholder (39.960283ms) -2026-09-27T05:31:24.2145691Z ✔ pins an existing active exact target without deleting it after completion (20.778795ms) -2026-09-27T05:31:24.2236845Z ✔ omits an inactive exact target that was replaced by a symlink (31.413566ms) -2026-09-27T05:31:24.2249252Z ✔ omits a missing subtree grant from an unrelated Linux Bash mount plan (18.488292ms) -2026-09-27T05:31:24.2360565Z ✔ removes missing exact-write placeholders after launch rejection and failed completion (60.106283ms) -2026-09-27T05:31:24.2546315Z ✔ preserves an intentionally written empty exact-write target after success (12.082085ms) -2026-09-27T05:31:24.2578736Z ✔ preserves an intentionally written empty exact-write target after failure (50.840922ms) -2026-09-27T05:31:24.2615781Z ✔ completion cannot close a descriptor number reused after spawn handoff (44.838235ms) -2026-09-27T05:31:24.2705741Z ✔ keeps a background placeholder owned until the shell run completes (50.651086ms) -2026-09-27T05:31:24.2757382Z ✔ does not let an unrelated stale exact-write grant block Bash (21.541137ms) -2026-09-27T05:31:24.2814273Z ✔ reports requires_bypass for managed PTY Bash and runs it only at a bypass boundary (1.936302ms) -2026-09-27T05:31:24.2851446Z ✔ requires an approved network expansion before declared Bash network access (35.741773ms) -2026-09-27T05:31:24.2852760Z ✔ fails closed when a required command sandbox is unavailable (4.687756ms) -2026-09-27T05:31:24.2853778Z ✔ fails closed for an authoritative managed boundary without a sandbox manager (6.098404ms) -2026-09-27T05:31:24.2855174Z ✔ applies the session boundary to the macOS sandbox argv without one-call permission arguments (28.895074ms) -2026-09-27T05:31:24.2856511Z ✔ fails Windows Bash closed when the profile requires a command sandbox the broker cannot enforce (10.83075ms) -2026-09-27T05:31:24.2857871Z ✔ runs Windows Bash unsandboxed via the detected shell when the profile does not require a sandbox (10.577759ms) -2026-09-27T05:31:24.2859105Z ✔ canonicalizes macOS Bash cwd and exposes the runtime executable roots (11.906885ms) -2026-09-27T05:31:24.2860148Z ✔ Read treats runtime background task refs as whole resources (2.170833ms) -2026-09-27T05:31:24.2861199Z ✔ Read routes opaque attachment refs through the Session-bound attachment reader (24.55752ms) -2026-09-27T05:31:24.2862285Z ✔ StopBackgroundTask stops a runtime ref in the current session (1.09767ms) -2026-09-27T05:31:24.2863293Z ✔ WriteStdin exposes a provider-tolerant terminal action schema (37.056965ms) -2026-09-27T05:31:24.2864350Z ✔ preserves Bash failure contract when the executor reports non-zero exit (8.816707ms) -2026-09-27T05:31:24.2865562Z ✔ emits stdout/stderr chunks before returning terminal result (30.3094ms) -2026-09-27T05:31:24.2866651Z ✔ aborted Bash command rejects and keeps already emitted output (63.060205ms) -2026-09-27T05:31:24.2867692Z ✔ large output is bounded to a tail instead of being discarded (35.847097ms) -2026-09-27T05:31:24.2868782Z ✔ a failing command surfaces stdout/stderr on the rejection error (23.812499ms) -2026-09-27T05:31:24.2869961Z ✔ a timed-out command still surfaces the stdout/stderr captured before the timeout (276.747025ms) -2026-09-27T05:31:24.2870991Z ✔ builtin Bash streaming output (1016.666792ms) -2026-09-27T05:31:24.2871724Z ▶ builtin Bash sandbox denial classification -2026-09-27T05:31:24.2872702Z ✔ throws SandboxCommandError when a sandboxed command emits a denial message (17.608046ms) -2026-09-27T05:31:24.2873782Z ✔ builtin Bash sandbox denial classification (17.892998ms) -2026-09-27T05:31:24.2874874Z ▶ builtin read tools path containment -2026-09-27T05:31:24.2944670Z ✔ Read rejects image content without snapshot support, regardless of extension (30.453648ms) -2026-09-27T05:31:24.3051705Z ✔ Read accepts contained absolute paths and rejects workspace escapes (24.501761ms) -2026-09-27T05:31:24.3085745Z ✔ Grep carries exact omitted-line counts through the executor and model projection (52.117761ms) -2026-09-27T05:31:24.3150703Z ✔ Glob and Grep constrain search roots to session cwd (112.583912ms) -2026-09-27T05:31:24.3173600Z ✔ builtin read tools path containment (220.236641ms) -2026-09-27T05:31:24.3255568Z ▶ builtin write tools path containment -2026-09-27T05:31:24.3311735Z ✔ Write can delegate path resolution to a remote executor when cwd is not on the host (9.503719ms) -2026-09-27T05:31:24.3401078Z ✔ Edit rejects image results from the workspace executor (4.192783ms) -2026-09-27T05:31:24.3465866Z ✔ Write accepts contained absolute paths and rejects workspace escapes (31.866439ms) -2026-09-27T05:31:24.3538460Z ✔ Edit accepts contained absolute paths and rejects workspace escapes (25.199169ms) -2026-09-27T05:31:24.3587512Z ✔ Edit returns a file diff for a localized change in a large file (9.691141ms) -2026-09-27T05:31:24.3675994Z ✔ file tools stay usable when the session cwd is reached through a symlink (56.579902ms) -2026-09-27T05:31:24.3765912Z ✔ concurrent Edits to the same file serialize — no lost update (139.399907ms) -2026-09-27T05:31:24.3797891Z ✔ concurrent Edits via different path spellings serialize on one key (75.866393ms) -2026-09-27T05:31:24.3826135Z ✔ concurrent Edits through a symlinked cwd serialize on one key (94.577478ms) -2026-09-27T05:31:24.3886213Z ✔ Write then Edit on one file resolves inside the lock — the fresh file is found (26.411464ms) -2026-09-27T05:31:24.3967290Z ✔ a failing Edit releases the lock for the next op on the same file (16.961687ms) -2026-09-27T05:31:24.4025825Z ✔ builtin write tools path containment (491.457187ms) -2026-09-27T05:31:24.4075551Z ▶ builtin FormatJson (file in place) -2026-09-27T05:31:24.4076378Z ✔ rejects image results from the workspace executor (4.138158ms) -2026-09-27T05:31:24.4126070Z ✔ sort_keys: true preserves __proto__ as a data property (31.175406ms) -2026-09-27T05:31:24.4138694Z ✔ invalid JSON returns a structured error diagnostic (no write, byteDelta 0) (68.647183ms) -2026-09-27T05:31:24.4168132Z ✔ builtin FormatJson (file in place) (104.46529ms) -2026-09-27T05:31:24.4176783Z ✔ captured output drain treats premature close and error as incomplete (11.450448ms) -2026-09-27T05:31:24.4219854Z ✔ completion waits for the bounded process-tree signal attempt after root exit (5.44261ms) -2026-09-27T05:31:24.4247469Z ✔ forced termination rejects boundedly when the direct root never acknowledges exit (28.304165ms) -2026-09-27T05:31:24.4248493Z ▶ Claude subscription runtime wiring -2026-09-27T05:31:24.4249285Z ✔ a per-model override cannot hand a retired provider a working adapter (2.914973ms) -2026-09-27T05:31:24.4250226Z ✔ testConnection refuses a retired provider instead of reporting it usable (2.893818ms) -2026-09-27T05:31:24.4251232Z ✔ a retired provider is refused without reaching the network (0.269919ms) -2026-09-27T05:31:24.4252318Z ✔ anthropicV1BaseUrl normalizes base URLs to a single /v1 suffix (2.716306ms) -2026-09-27T05:31:24.4253378Z ✔ registry routes Anthropic and Kimi through the normalized API-key adapter (6.276669ms) -2026-09-27T05:31:24.4256851Z ✔ registry sends both MiniMax variants over *** rewriting their base URL (0.237584ms) -2026-09-27T05:31:24.4271480Z ✔ testConnection treats resolved Codex OAuth token as a usable login (6.285725ms) -2026-09-27T05:31:24.4310378Z ✔ Codex OAuth headers include ChatGPT Responses beta and account id (0.656059ms) -2026-09-27T05:31:24.4325563Z ✔ Codex OAuth headers do not fall back to JWT sub as ChatGPT account id (3.976688ms) -2026-09-27T05:31:24.4355613Z ✔ Codex OAuth provider options use non-persistent ChatGPT backend defaults (3.782332ms) -2026-09-27T05:31:24.4385292Z ✔ Claude subscription runtime wiring (37.287934ms) -2026-09-27T05:31:24.4413109Z (node:7126) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time -2026-09-27T05:31:24.4414246Z (Use `node --trace-warnings ...` to show where the warning was created) -2026-09-27T05:31:24.4463391Z ✔ replaces direct tool schemas with exec in code_mode (183.903644ms) -2026-09-27T05:31:24.4499878Z ✔ uses the persisted task mode without a per-turn override (724.039618ms) -2026-09-27T05:31:24.4506534Z ✔ tool search refreshes the catalog for the next code cell (177.273838ms) -2026-09-27T05:31:24.4516769Z ✔ keeps an aggregate Code Mode catalog out of the bounded exec schema (61.593993ms) -2026-09-27T05:31:24.4605721Z ✔ a nested question can be answered and a parked question can be stopped (112.611907ms) -2026-09-27T05:31:24.4610467Z ✔ nested plan submission hands off the turn and prevents subsequent calls (484.365494ms) -2026-09-27T05:31:24.4611458Z ✔ allows a custom exec tool in direct mode (21.443206ms) -2026-09-27T05:31:24.4612380Z ✔ rejects an invalid runtime tool mode instead of enabling Code Mode (4.170033ms) -2026-09-27T05:31:24.4613423Z ✔ keeps the default and explicit direct provider surfaces byte-identical (24.215352ms) -2026-09-27T05:31:24.4614693Z ✔ denies a nested MCP call before invoking its provider (248.269238ms) -2026-09-27T05:31:24.4615712Z ✔ bounds cells outstanding on one backend, across the host drain (145.118086ms) -2026-09-27T05:31:24.4616658Z ✔ routes a nested cell call back through ToolRuntime (49.402425ms) -2026-09-27T05:31:24.4617549Z ✔ does not materialize hidden nested image results (34.390999ms) -2026-09-27T05:31:24.4618389Z ✔ links nested activity to the durable outer exec operation (49.847877ms) -2026-09-27T05:31:24.4619367Z ✔ propagates nested durable commit failures out of the outer exec (52.015333ms) -2026-09-27T05:31:24.4620329Z ✔ keeps direct-only tools out of the cell snapshot (569.718897ms) -2026-09-27T05:31:24.4621198Z ✔ keeps provider-native tools out of the cell snapshot (82.456694ms) -2026-09-27T05:31:24.4622102Z ▶ projects provider-native ApplyPatch as a portable Code Mode tool -2026-09-27T05:31:24.4622812Z ✔ OpenAI structured (121.722165ms) -2026-09-27T05:31:24.4623351Z ✔ Codex freeform (145.231104ms) -2026-09-27T05:31:24.4624195Z ✔ projects provider-native ApplyPatch as a portable Code Mode tool (267.887209ms) -2026-09-27T05:31:24.4625513Z ✔ validates nested arguments before ToolRuntime implementation dispatch (68.444ms) -2026-09-27T05:31:24.4626525Z ✔ routes active MCP tools through the nested Runtime path (69.462828ms) -2026-09-27T05:31:24.4627517Z ✔ rejects invalid MCP arguments before nested Runtime dispatch (114.92226ms) -2026-09-27T05:31:24.4628351Z ✔ records artifacts produced by a nested tool (41.799494ms) -2026-09-27T05:31:24.4629345Z ✔ parks a nested sandbox request and settles the outer exec after denial (38.139705ms) -2026-09-27T05:31:24.4630398Z ✔ aborting a parked nested sandbox request releases the outer exec (23.090814ms) -2026-09-27T05:31:24.4631411Z ✔ aborts an owned nested tool when the outer exec is stopped (492.794909ms) -2026-09-27T05:31:24.4632303Z ✔ bounds aggregate nested live output under the outer exec (855.623442ms) -2026-09-27T05:31:24.4633311Z ✔ admits exec exclusively while allowing its nested calls (69.470714ms) -2026-09-27T05:31:24.9068838Z (node:7142) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time -2026-09-27T05:31:24.9176430Z (Use `node --trace-warnings ...` to show where the warning was created) -2026-09-27T05:31:24.9236871Z ✔ excludes host waiting from the execution budget and preserves dependent Promise.race progress (1158.699857ms) -2026-09-27T05:31:24.9290166Z ✔ executes standard JavaScript without an interpreter subset (55.59256ms) -2026-09-27T05:31:24.9355635Z ✔ executes TypeScript syntax (48.787144ms) -2026-09-27T05:31:24.9422518Z ✔ does not read the execution result through a guest-controlled global (25.029459ms) -2026-09-27T05:31:24.9515640Z ✔ reports invalid source as a parse error (46.25277ms) -2026-09-27T05:31:24.9545692Z ✔ reports a runtime SyntaxError as an execution error (45.356138ms) -2026-09-27T05:31:24.9546834Z ✔ runs nested tools concurrently inside one cell (30.411373ms) -2026-09-27T05:31:24.9547629Z ✔ does not expose Node capabilities to cell code (28.250457ms) -2026-09-27T05:31:24.9548529Z ✔ keeps sandbox console output out of the host process stdout (1486.624969ms) -2026-09-27T05:31:24.9549773Z ✔ starts each cell in a fresh global context (59.867348ms) -2026-09-27T05:31:24.9550739Z ✔ uses normal partial-execution semantics before an unknown tool failure (51.693847ms) -2026-09-27T05:31:24.9551951Z ✔ does not dispatch tools inherited from Object.prototype (25.543869ms) -2026-09-27T05:31:24.9552724Z ✔ does not start an unobserved tool call (34.89968ms) -2026-09-27T05:31:24.9553443Z ✔ lets cell code handle an ordinary tool failure (37.455216ms) -2026-09-27T05:31:24.9554272Z ▶ reports uncaught runtime and tool failures -2026-09-27T05:31:24.9555003Z ✔ runtime (42.515358ms) -2026-09-27T05:31:24.9555419Z ✔ tool (27.860619ms) -2026-09-27T05:31:24.9555923Z ✔ non-serializable tool output (25.383239ms) -2026-09-27T05:31:24.9556649Z ✔ reports uncaught runtime and tool failures (97.01878ms) -2026-09-27T05:31:24.9557286Z ▶ enforces byte and bridge limits -2026-09-27T05:31:24.9557756Z ✔ source (0.564379ms) -2026-09-27T05:31:24.9558185Z ✔ tool input (24.526442ms) -2026-09-27T05:31:24.9558636Z ✔ tool output (36.147794ms) -2026-09-27T05:31:24.9559127Z ✔ cell output (20.412912ms) -2026-09-27T05:31:24.9559572Z ✔ tool calls (28.631784ms) -2026-09-27T05:31:24.9560088Z ✔ tool concurrency (453.678552ms) -2026-09-27T05:31:24.9560715Z ✔ enforces byte and bridge limits (572.034647ms) -2026-09-27T05:31:24.9561441Z ✔ enforces the configured VM stack limit (632.6725ms) -2026-09-27T05:31:24.9562179Z ✔ enforces the configured VM memory limit (44.308988ms) -2026-09-27T05:31:24.9563022Z ✔ preempts a pure compute loop at the sandbox-time limit (201.59192ms) -2026-09-27T05:31:24.9563909Z ✔ still preempts compute while a host tool is pending (191.305915ms) -2026-09-27T05:31:24.9565145Z ✔ accumulates compute across awaits instead of resetting the budget (1948.032698ms) -2026-09-27T05:31:24.9671425Z ✔ waits for an aborted host operation to settle before rejecting (73.086932ms) -2026-09-27T05:31:25.4738572Z ✔ does not start later tools after a fatal host failure (505.613073ms) -2026-09-27T05:31:26.0136429Z ✔ aborts and drains concurrent tools while preserving the first fatal failure (545.324294ms) -2026-09-27T05:31:26.1608632Z ✔ Codex device enrollment requests a one-time user code from the official endpoints (173.846033ms) -2026-09-27T05:31:26.1629736Z ✔ Codex device enrollment rejects a failed usercode request (10.871294ms) -2026-09-27T05:31:26.1687893Z ✔ Codex device polling retries through pending and returns the grant on approval (8.385677ms) -2026-09-27T05:31:26.1745749Z ✔ Codex device polling stops once the device code expires (0.521025ms) -2026-09-27T05:31:26.1966340Z ✔ Codex device polling never issues a request after the window elapses mid-sleep (12.999798ms) -2026-09-27T05:31:26.2036022Z ✔ Codex device polling completes an admitted request even if the caller cancels (2.797501ms) -2026-09-27T05:31:26.2037372Z ✔ Codex device authorization code exchange posts to the token endpoint with the deviceauth redirect URI (17.539411ms) -2026-09-27T05:31:26.2112260Z ✔ Codex device authorization code exchange maps a rejected grant to provider_rejected (1.011252ms) -2026-09-27T05:31:26.2165754Z ✔ Codex device enrollment accepts the usercode alias (0.85429ms) -2026-09-27T05:31:26.2223392Z ▶ computer use argument refusals -2026-09-27T05:31:26.2238433Z ✔ tells a call in the wrong dialect what this action does take (12.547343ms) -2026-09-27T05:31:26.2290970Z ✔ names no fields for an action it does not know (1.954284ms) -2026-09-27T05:31:26.2339851Z ✔ keeps values out of what it says (1.175527ms) -2026-09-27T05:31:26.2398001Z ✔ reads the field list off the schema itself (1.173693ms) -2026-09-27T05:31:26.2425920Z ✔ carries a refinement sentence through instead of the generic complaint (5.143141ms) -2026-09-27T05:31:26.2475727Z ✔ says nothing about approval, which is not a thing the model can send (4.014063ms) -2026-09-27T05:31:26.2555609Z ✔ passes through only the sentences this schema wrote (0.262616ms) -2026-09-27T05:31:26.2615563Z ✔ computer use argument refusals (29.727271ms) -2026-09-27T05:31:26.2645722Z ✔ a missing text is reported as a missing argument, not a bad coordinate (1.909219ms) -2026-09-27T05:31:26.2670238Z ✔ an unknown action is answered with the actions this tool takes (0.830729ms) -2026-09-27T05:31:26.2720306Z ✔ an unknown action never echoes what was sent with it (0.307116ms) -2026-09-27T05:31:26.2758750Z ✔ the action list is read off the schema rather than kept by hand (0.243128ms) -2026-09-27T05:31:26.2803897Z ✔ a removed coordinate action is rejected as unknown (0.22801ms) -2026-09-27T05:31:26.2855461Z ✔ unsupported hold_key is rejected as unknown (0.23957ms) -2026-09-27T05:31:26.2896833Z ✔ a refusal that declares itself app-text-free reaches the model with its sentence (10.503198ms) -2026-09-27T05:31:26.2937040Z ✔ a refusal that does not declare itself stays a bare code (0.304541ms) -2026-09-27T05:31:26.2985576Z ✔ a dispatch that changed nothing does not start with the word ok (3.342575ms) -2026-09-27T05:31:26.3030957Z ✔ a dispatch that did change something still reads as ok (0.191057ms) -2026-09-27T05:31:26.3095656Z ✔ the model face carries no dispatch route, tier, or internal reason (0.243333ms) -2026-09-27T05:31:26.3131534Z ✔ a refusal keeps its effect and drops the route (5.37798ms) -2026-09-27T05:31:26.3185791Z ✔ the host face keeps every field an operator reads a trace back with (5.374109ms) -2026-09-27T05:31:26.3215664Z ✔ the host face still refuses free text where a token was promised (2.735981ms) -2026-09-27T05:31:26.3262971Z ✔ the surviving frame is named in the ids the model was given (51.22174ms) -2026-09-27T05:31:26.3318953Z ✔ a refusal that did reach the window does not claim the frame survived (3.648625ms) -2026-09-27T05:31:26.3387225Z ✔ a refusal that hands back a fresh observation does not also call the old one current (14.836168ms) -2026-09-27T05:31:26.3427482Z ✔ a frame that moves during dispatch does not erase the executor s own refusal (1.174558ms) -2026-09-27T05:31:26.3465627Z ✔ an unfiltered list leaves out apps the model could not drive anyway (33.193565ms) -2026-09-27T05:31:26.3525780Z ✔ a filter takes the name a person would use, in either language, and the id too (6.364909ms) -2026-09-27T05:31:26.3696212Z ✔ a filter can reach an app with no window, which the unfiltered list omits (0.541956ms) -2026-09-27T05:31:26.3718969Z ✔ nothing matched says what there is, so the next call is not the whole list (0.572725ms) -2026-09-27T05:31:26.3729782Z ✔ a window control whose role begins with AXMenu stays in the window (5.769474ms) -2026-09-27T05:31:26.3730980Z ✔ the empty container between a menu title and its commands is gone (1.133853ms) -2026-09-27T05:31:26.3732347Z ✔ a separator is not written down, and the command after it keeps its id (0.633089ms) -2026-09-27T05:31:26.3733412Z ✔ a listed menu says that it opens, and how (0.567021ms) -2026-09-27T05:31:26.3734630Z ✔ an opened menu names itself rather than repeating the offer (0.656385ms) -2026-09-27T05:31:26.3735720Z ✔ a disabled command is explained once, not left to be retried (0.327668ms) -2026-09-27T05:31:26.3736687Z ✔ a menu with nothing disabled is not given the explanation (0.426822ms) -2026-09-27T05:31:26.3737789Z ✔ a menu cut short by the executor says so, and a menu merely unopened does not (3.244796ms) -2026-09-27T05:31:26.3739008Z ✔ a wrapper around exactly one thing is collapsed, and its child keeps its id (0.397919ms) -2026-09-27T05:31:26.3740340Z ✔ a container holding several children is collapsed too, and the strict form is reachable (0.398352ms) -2026-09-27T05:31:26.3741533Z ✔ a single-child wrapper that is a control, or named, or focused, stays (1.267624ms) -2026-09-27T05:31:26.3742682Z ✔ a button with no label is not a wrapper, whatever it contains (0.591955ms) -2026-09-27T05:31:26.9285120Z ✔ a real Read tool Artifact reference remains readable by the same ACP client (5864.68813ms) -2026-09-27T05:31:27.6139258Z ▶ AiSdkBackend Computer Use model loop -2026-09-27T05:31:27.6216453Z ✔ the safe function-tool contract is identical across target provider connections (495.6232ms) -2026-09-27T05:31:27.6816596Z ✔ a model discovers, observes, mutates semantically, reads the fresh frame, and completes (338.807396ms) -2026-09-27T05:31:27.6939227Z ✔ a keyboard refusal reaches the next model step and the turn still completes (108.629852ms) -2026-09-27T05:31:27.6980343Z ✔ AiSdkBackend Computer Use model loop (946.953534ms) -2026-09-27T05:31:27.7542594Z ✔ an element whose parent was pruned away is still written (7.986265ms) -2026-09-27T05:31:27.7682954Z ✔ a parent cycle neither loops nor loses an element (0.544261ms) -2026-09-27T05:31:27.7746154Z ✔ an element that is its own parent is a root, not a hang (0.322507ms) -2026-09-27T05:31:27.7788739Z ✔ a post-action no-change observation says so without repeating the tree (0.25366ms) -2026-09-27T05:31:27.7884218Z ✔ a post-action difference renders removed ranges and changed elements only (2.513844ms) -2026-09-27T05:31:27.7978405Z ✔ a full difference presentation falls back to the complete tree (0.500367ms) -2026-09-27T05:31:27.8046837Z ✔ every element appears exactly once regardless of report order (3.164029ms) -2026-09-27T05:31:27.8096644Z ✔ a label containing a quote or newline cannot forge a second element line (0.284136ms) -2026-09-27T05:31:27.8136122Z ✔ an oversized value is shortened visibly, not silently (0.845347ms) -2026-09-27T05:31:27.8194900Z ✔ a cut tree says so, in the header, in words that change what the model does (0.675177ms) -2026-09-27T05:31:27.8259873Z ✔ an empty field shows what it is prompting for, marked as not a value (0.547226ms) -2026-09-27T05:31:27.8312975Z ✔ collapsing a wrapper is not the same thing as dropping one (0.736217ms) -2026-09-27T05:31:27.8334213Z ✔ Computer Use snapshots execution args and persists the model-facing projection (48.924939ms) -2026-09-27T05:31:27.8382107Z ✔ the record a model reads back is the call it made, in the names the tool accepts (4.803009ms) -2026-09-27T05:31:27.8383387Z ✔ Computer Use persists which element a call targeted (9.331569ms) -2026-09-27T05:31:27.8445570Z ✔ the model reads its own call back in the names the tool accepts (4.977729ms) -2026-09-27T05:31:27.8566223Z ✔ Computer Use validation failures still persist a redacted call and result (6.145277ms) -2026-09-27T05:31:28.1792122Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:31:28.7116084Z ▶ Anthropic-compatible Computer Use product loops -2026-09-27T05:31:28.7286221Z ✔ replays every same-route Anthropic reasoning block in provider order (603.703202ms) -2026-09-27T05:31:29.1766487Z ✔ kimi-coding-plan/kimi-for-coding completes a multi-step semantic model loop (615.909213ms) -2026-09-27T05:31:29.3511089Z ✔ kimi-coding-plan/kimi-for-coding reinjects a failed semantic action as an error tool result (185.655301ms) -2026-09-27T05:31:29.5116337Z ✔ kimi-coding-plan/k3 completes a multi-step semantic model loop (165.641237ms) -2026-09-27T05:31:29.6439057Z ✔ kimi-coding-plan/k3 reinjects a failed semantic action as an error tool result (127.589127ms) -2026-09-27T05:31:29.7696133Z ✔ minimax-coding-plan/MiniMax-M3 completes a multi-step semantic model loop (126.271466ms) -2026-09-27T05:31:29.9388187Z ✔ minimax-coding-plan/MiniMax-M3 reinjects a failed semantic action as an error tool result (157.100183ms) -2026-09-27T05:31:30.1003865Z ✔ github-copilot/future-claude-model completes a multi-step semantic model loop (174.571044ms) -2026-09-27T05:31:30.2442438Z ✔ github-copilot/future-claude-model reinjects a failed semantic action as an error tool result (147.684579ms) -2026-09-27T05:31:30.2577727Z ✔ Anthropic-compatible Computer Use product loops (2320.233677ms) -2026-09-27T05:31:30.2988375Z ▶ OpenAI-compatible product loops -2026-09-27T05:31:30.3036106Z ✔ github-copilot replays same-route reasoning_content on its OpenAI Chat wire (29.2979ms) -2026-09-27T05:31:30.4352780Z ✔ deepseek replays observed reasoning as its declared request field (124.919139ms) -2026-09-27T05:31:30.5189768Z ✔ ollama-cloud replays observed reasoning as its declared request field (125.16487ms) -2026-09-27T05:31:30.5686724Z ✔ github-copilot replays observed reasoning as its declared request field (44.688794ms) -2026-09-27T05:31:30.5879075Z ✔ reconstructs a recovered reasoning and tool-call step as one assistant message (22.040091ms) -2026-09-27T05:31:30.6479789Z ✔ replays explicit empty reasoning after missing-ledger recovery and backend recreation (58.348835ms) -2026-09-27T05:31:30.8758642Z ✔ preserves reasoning, tool pairing, and normalized request telemetry across steps (201.002009ms) -2026-09-27T05:31:30.8856158Z ✔ OpenAI-compatible product loops (610.205827ms) -2026-09-27T05:31:31.0296356Z ✔ a query keeps what matched and every element containing it (9.030677ms) -2026-09-27T05:31:31.0370319Z ✔ ids are the ids of the whole window, so a match can be acted on directly (0.684489ms) -2026-09-27T05:31:31.0478065Z ✔ a filtered tree says so, beside the count it contradicts (0.36985ms) -2026-09-27T05:31:31.0508100Z ✔ a query matching nothing is empty rather than everything (0.295228ms) -2026-09-27T05:31:31.0629138Z ✔ a query matches a role and a value, not only a label (0.352367ms) -2026-09-27T05:31:31.0738558Z ▶ the two argument schemas describe the same tool -2026-09-27T05:31:31.0777856Z ✔ every field an action accepts can reach it through the wire (2.386338ms) -2026-09-27T05:31:31.0904941Z ✔ the action names match in both directions (0.36418ms) -2026-09-27T05:31:31.1003695Z ✔ every action survives the approval summary as itself (0.550718ms) -2026-09-27T05:31:31.1166712Z ✔ the approval catalog names exactly the actions the wire carries (0.23521ms) -2026-09-27T05:31:31.1215885Z ✔ coordinate mutation names are absent from every action catalog (0.325615ms) -2026-09-27T05:31:31.1305597Z ✔ the two argument schemas describe the same tool (5.751555ms) -2026-09-27T05:31:31.1379912Z ▶ screen-lock gate -2026-09-27T05:31:31.1453223Z ✔ refuses every call while the machine is locked, and asks before touching the backend (33.982533ms) -2026-09-27T05:31:31.1579011Z ✔ is consulted per call, so locking mid-run stops the run (10.670546ms) -2026-09-27T05:31:31.1657740Z ✔ latches the session state, so the refusal survives the machine unlocking itself (4.417646ms) -2026-09-27T05:31:31.1736959Z ✔ tells the host which session it refused, so the host can release it later (3.287587ms) -2026-09-27T05:31:31.1870878Z ✔ a refusal never reaches the overlay hook, so the probe is the only witness (9.431489ms) -2026-09-27T05:31:31.1940451Z ✔ without a probe there is no guard, rather than a silent refusal (0.578352ms) -2026-09-27T05:31:31.1981089Z ✔ screen-lock gate (64.301691ms) -2026-09-27T05:31:31.2010689Z ▶ adaptToCuAction — flat Anthropic grammar → discriminated CuAction -2026-09-27T05:31:31.2057389Z ✔ a removed coordinate action is rejected as unknown (5.906538ms) -2026-09-27T05:31:31.2145637Z ✔ type without text throws (0.257398ms) -2026-09-27T05:31:31.2217197Z ✔ provider function schema excludes coordinate actions and fields (15.752946ms) -2026-09-27T05:31:31.2285902Z ✔ runtime strict parsing rejects fields that are irrelevant to the selected action (18.27931ms) -2026-09-27T05:31:31.2367875Z ✔ targetless observe and screenshot fail before permission or execution (6.388923ms) -2026-09-27T05:31:31.2426768Z ✔ adaptToCuAction — flat Anthropic grammar → discriminated CuAction (51.308872ms) -2026-09-27T05:31:31.2428232Z ✔ provider schema explains the required semantic action fields (20.891712ms) -2026-09-27T05:31:31.2429514Z ✔ computer params are copied and frozen before asynchronous policy checks (8.266961ms) -2026-09-27T05:31:31.2430677Z ✔ computer params reject accessors before policy or execution (0.358066ms) -2026-09-27T05:31:31.2431671Z ▶ buildComputerUseTools — the `maka_computer` MakaTool -2026-09-27T05:31:31.2432752Z ✔ waits for presentation readiness before dispatch without waiting for finish (75.857766ms) -2026-09-27T05:31:31.2433800Z ✔ presentation readiness timeout fails open (6.769133ms) -2026-09-27T05:31:31.2434901Z ✔ user stop while presentation is pending prevents native dispatch (12.342714ms) -2026-09-27T05:31:31.2462770Z ✔ abort while presentation is pending prevents native dispatch (0.607261ms) -2026-09-27T05:31:31.2493837Z ✔ presentation receives the observation-bound screen point (9.952326ms) -2026-09-27T05:31:31.2495252Z ✔ presentation receives the window the action is bound to (1.048068ms) -2026-09-27T05:31:31.2496275Z ✔ a fence that declares its own worst case is not cut short by the default (62.510473ms) -2026-09-27T05:31:31.2497284Z ✔ discarded dispatch result cancels presentation instead of showing success (1.598602ms) -2026-09-27T05:31:31.2499653Z ✔ presentation promise rejections are isolated from execution (17.443841ms) -2026-09-27T05:31:31.2500726Z ✔ one visual overlay serializes presentation across independent sessions (10.178795ms) -2026-09-27T05:31:31.2501819Z ✔ clearSession releases an action queued behind another presentation (2.506341ms) -2026-09-27T05:31:31.2502851Z ✔ launch_app starts an app and hands back a directly targetable window (3.864478ms) -2026-09-27T05:31:31.2503797Z ✔ launch_app reports when the app took the foreground anyway (3.154515ms) -2026-09-27T05:31:31.2505233Z ✔ launch_app on a backend without support fails rather than silently doing nothing (0.304044ms) -2026-09-27T05:31:31.2506336Z ✔ list_apps and observe expose one provider-neutral Sky-like surface (9.35823ms) -2026-09-27T05:31:31.2507460Z ✔ targeted screenshot captures only the approved app window (1.687901ms) -2026-09-27T05:31:31.2508459Z ✔ permission args bind mutations to the Runtime-owned observation target (0.676974ms) -2026-09-27T05:31:31.2509653Z ✔ keyboard actions reach approval as observation-bound keyboard mutations (5.163168ms) -2026-09-27T05:31:31.2552715Z ✔ an element action may repeat the target it already named, and the host still resolves it (1.42713ms) -2026-09-27T05:31:31.2574649Z ✔ a stale frame comes back with a current one, a latched refusal does not (1.502896ms) -2026-09-27T05:31:31.2585739Z ✔ a sequence takes four presses in one call, looking again between each (4.741478ms) -2026-09-27T05:31:31.2615215Z ✔ a sequence stops at the step it cannot resolve, and says which (0.701436ms) -2026-09-27T05:31:31.2661585Z ✔ a sequence walks its steps without asking for a picture each time (0.857436ms) -2026-09-27T05:31:31.2695452Z ✔ scroll_element reaches the executor at all (2.572872ms) -2026-09-27T05:31:31.2725740Z ✔ a target hint that disagrees with the observation is reported, not ignored (0.56646ms) -2026-09-27T05:31:31.2729002Z ✔ the name that resolved an observation is not a contradiction of it (2.892033ms) -2026-09-27T05:31:31.2755562Z ✔ an unverified target hint never reaches the approval summary (0.260869ms) -2026-09-27T05:31:31.2783909Z ✔ semantic action uses the runtime observation id, forwards identity hints, and returns fresh state (0.710322ms) -2026-09-27T05:31:31.2812206Z ✔ semantic action recaptures a pictureless result for presentation (2.989121ms) -2026-09-27T05:31:31.2835726Z ✔ semantic set_value keeps its semantic action name in the model summary (2.228043ms) -2026-09-27T05:31:31.2895875Z ✔ semantic recovery keeps the action name when fresh observation is unavailable (2.091255ms) -2026-09-27T05:31:31.2926088Z ✔ semantic action is bound to an observed element and consumes the observation (1.621455ms) -2026-09-27T05:31:31.2937241Z ✔ successful bound action fails closed without a fresh full observation (1.822437ms) -2026-09-27T05:31:31.2975489Z ✔ bound mutating actions require Screen Recording before dispatch (0.67848ms) -2026-09-27T05:31:31.3005746Z ✔ runtime does not infer user intervention from observation content changes (3.496133ms) -2026-09-27T05:31:31.3035667Z ✔ press_key binds the observation window without requiring an element id (0.704395ms) -2026-09-27T05:31:31.3045583Z ✔ select_text forwards the identity hint for unique semantic refetch (5.482163ms) -2026-09-27T05:31:31.3065764Z ✔ S12: re-checks TCC and fails closed when Accessibility is not granted (0.311031ms) -2026-09-27T05:31:31.3095848Z ✔ requests Accessibility once on first use while every action still preflights (2.006171ms) -2026-09-27T05:31:31.3186083Z ✔ S12: a capture action fails closed when Screen Recording is not granted (0.268869ms) -2026-09-27T05:31:31.3230481Z ✔ serializes preflight and dispatch in tool-call arrival order (0.721165ms) -2026-09-27T05:31:31.3264778Z ✔ does not serialize independent sessions behind one invocation queue (2.834336ms) -2026-09-27T05:31:31.3266360Z ✔ physical intervention during dispatch discards a backend success (0.695052ms) -2026-09-27T05:31:31.3267537Z ✔ screen lock blocks a new observation until unlock and explicit reobserve (1.763857ms) -2026-09-27T05:31:31.3268653Z ✔ typed user_intervened outcome advances Runtime to reobserve_required (0.703317ms) -2026-09-27T05:31:31.3269680Z ✔ typed screen_locked outcome advances Runtime to screen_locked (1.875642ms) -2026-09-27T05:31:31.3270668Z ✔ typed blocked_url outcome advances Runtime to blocked_url (0.926889ms) -2026-09-27T05:31:31.3271855Z ✔ typed outcome_unknown outcome advances Runtime to reobserve_required (3.901249ms) -2026-09-27T05:31:31.3273066Z ✔ typed service_unavailable outcome advances Runtime to reobserve_required (0.463137ms) -2026-09-27T05:31:31.3274341Z ✔ keyboard outcome_unknown remains model-visible while requiring reobserve (1.562173ms) -2026-09-27T05:31:31.3426303Z ✔ semantic outcome_unknown remains model-visible while requiring reobserve (0.621798ms) -2026-09-27T05:31:31.3546068Z ✔ clearSession cannot mask a delivered semantic mutation outcome (0.991624ms) -2026-09-27T05:31:31.3636156Z ✔ clearSession cannot mask a delivered keyboard mutation outcome (1.849124ms) -2026-09-27T05:31:31.3695989Z ✔ a queued keyboard mutation cannot silently target a newer frame (1.807293ms) -2026-09-27T05:31:31.3786166Z ✔ an unknown dispatch outcome requires a fresh observation (2.873447ms) -2026-09-27T05:31:31.3866271Z ✔ clearSession keeps a same-turn tombstone but a new turn can reopen (0.605297ms) -2026-09-27T05:31:31.3975915Z ✔ clearSession fences a first invocation that is already queued (0.718435ms) -2026-09-27T05:31:31.4043981Z ✔ clearSession fences a later turn that was queued before stop (0.522091ms) -2026-09-27T05:31:31.4166367Z ✔ clearSession after a non-CU turn does not block the next turn observe (0.344609ms) -2026-09-27T05:31:31.4225840Z ✔ clearSession fences host-reading results that complete after stop (2.152107ms) -2026-09-27T05:31:31.4306354Z ✔ clearSession fences failed host-reading results that complete after stop (2.841014ms) -2026-09-27T05:31:31.4390937Z ✔ ordinary failed host reads preserve their typed backend error (1.635826ms) -2026-09-27T05:31:31.4464014Z ✔ fresh observations inherit a separately returned screenshot (0.912977ms) -2026-09-27T05:31:31.4495797Z ✔ S17: surfaces the typed backend failure code without leaking raw driver text (0.277536ms) -2026-09-27T05:31:31.4616017Z ✔ an unverified dispatch tells the model to re-screenshot (no silent success) (2.715438ms) -2026-09-27T05:31:31.4735871Z ✔ a confirmed effect tells the model not to repeat the action (0.506319ms) -2026-09-27T05:31:31.4796003Z ✔ surfaces controlled dispatch evidence without escalation reason or AX text (0.321319ms) -2026-09-27T05:31:31.4856724Z ✔ redacts synthetic tool errors again at the model-output boundary (0.317286ms) -2026-09-27T05:31:31.4976481Z ✔ keeps PiP-only screenshots out of semantic action model output (0.440525ms) -2026-09-27T05:31:31.5065894Z ✔ classifies every canonical action for model-visible screenshots (0.140665ms) -2026-09-27T05:31:31.5125961Z ✔ binds model-visible screenshots to the immutable executed invocation (1.339375ms) -2026-09-27T05:31:31.5205917Z ✔ S18: an already-aborted signal short-circuits before any dispatch (0.273416ms) -2026-09-27T05:31:31.5295922Z ✔ S20: observe takes the name a person uses, not only a bundle id (3.001939ms) -2026-09-27T05:31:31.5355815Z ✔ S21: a name matching two applications is the model's to settle (0.543633ms) -2026-09-27T05:31:31.5475829Z ✔ S22: a lookup that fails leaves the name alone (1.085924ms) -2026-09-27T05:31:31.5545796Z ✔ S19: a window that did not answer in time is not reported as missing (2.227335ms) -2026-09-27T05:31:31.5593816Z ✔ buildComputerUseTools — the `maka_computer` MakaTool (323.573078ms) -2026-09-27T05:31:31.5625884Z ✔ a wait for text returns as soon as it is there, not when the clock runs out (21.025598ms) -2026-09-27T05:31:31.5655594Z ✔ a wait for text to go returns when it goes (1.279518ms) -2026-09-27T05:31:31.5656539Z ✔ a timeout hands back the window as it stands (757.448609ms) -2026-09-27T05:31:31.5685733Z ✔ a wait with no observation behind it says so instead of guessing a window (2.347216ms) -2026-09-27T05:31:31.5715660Z ✔ text that is already there returns at once, which is what "wait until" means (2.166104ms) -2026-09-27T05:31:31.5745196Z ✔ a plain duration wait is untouched (11.647672ms) -2026-09-27T05:31:31.5745989Z ✔ a move names where to put the window (17.144512ms) -2026-09-27T05:31:31.5775386Z ✔ a move without a position is rejected rather than guessed at (0.483024ms) -2026-09-27T05:31:31.5789073Z ✔ a resize names a size, and a size is positive (0.695792ms) -2026-09-27T05:31:31.5815551Z ✔ minimise needs no geometry (0.541843ms) -2026-09-27T05:31:31.5936022Z ✔ a negative position is accepted, because a second display is a real place (0.646602ms) -2026-09-27T05:31:31.6045813Z ✔ a minimise names its own cost, because it cannot be taken back (127.401487ms) -2026-09-27T05:31:31.6105679Z ✔ an action outside the three is not a window action (0.736202ms) -2026-09-27T05:31:31.6225937Z ✔ cursor_position is rejected by both model-facing schemas (21.28466ms) -2026-09-27T05:31:31.6256456Z ✔ mouse_move is rejected by both model-facing schemas (5.370505ms) -2026-09-27T05:31:31.6295970Z ✔ left_click is rejected by both model-facing schemas (0.288796ms) -2026-09-27T05:31:31.6326316Z ✔ right_click is rejected by both model-facing schemas (0.277347ms) -2026-09-27T05:31:31.6385801Z ✔ middle_click is rejected by both model-facing schemas (0.26538ms) -2026-09-27T05:31:31.6432894Z ✔ double_click is rejected by both model-facing schemas (0.156581ms) -2026-09-27T05:31:31.6455594Z ✔ triple_click is rejected by both model-facing schemas (0.143886ms) -2026-09-27T05:31:31.6485677Z ✔ left_mouse_down is rejected by both model-facing schemas (0.16875ms) -2026-09-27T05:31:31.6531969Z ✔ left_mouse_up is rejected by both model-facing schemas (0.234765ms) -2026-09-27T05:31:31.6559408Z ✔ left_click_drag is rejected by both model-facing schemas (0.298204ms) -2026-09-27T05:31:31.6670134Z ✔ scroll is rejected by both model-facing schemas (3.35899ms) -2026-09-27T05:31:31.6695607Z ✔ zoom is rejected by both model-facing schemas (0.236412ms) -2026-09-27T05:31:31.6715504Z ✔ unsupported hold_key is rejected by both model-facing schemas (0.375775ms) -2026-09-27T05:31:31.6725628Z ✔ coordinate dispatch fields are absent from the wire schema (0.168844ms) -2026-09-27T05:31:31.6815743Z ✔ a legal list_apps call survives both schemas (0.628379ms) -2026-09-27T05:31:31.6847474Z ✔ a legal list_apps call survives both schemas (0.183436ms) -2026-09-27T05:31:31.6965812Z ✔ a legal launch_app call survives both schemas (2.456043ms) -2026-09-27T05:31:31.7025553Z ✔ a legal observe call survives both schemas (8.231489ms) -2026-09-27T05:31:31.7085598Z ✔ a legal observe call survives both schemas (3.437482ms) -2026-09-27T05:31:31.7205822Z ✔ a legal observe call survives both schemas (0.172523ms) -2026-09-27T05:31:31.7297110Z ✔ a legal observe call survives both schemas (0.25951ms) -2026-09-27T05:31:31.7299093Z ✔ a legal click_element call survives both schemas (2.828263ms) -2026-09-27T05:31:31.7345963Z ✔ a legal set_value call survives both schemas (7.12327ms) -2026-09-27T05:31:31.7362379Z ✔ a legal select_text call survives both schemas (0.768958ms) -2026-09-27T05:31:31.7375751Z ✔ a legal secondary_action call survives both schemas (0.751692ms) -2026-09-27T05:31:31.7505897Z ✔ a legal scroll_element call survives both schemas (7.367399ms) -2026-09-27T05:31:31.7625985Z ✔ a legal element_sequence call survives both schemas (16.296215ms) -2026-09-27T05:31:31.7655670Z ✔ a legal press_key call survives both schemas (0.921551ms) -2026-09-27T05:31:31.7725126Z ✔ a legal press_key call survives both schemas (0.141876ms) -2026-09-27T05:31:31.7823842Z ✔ a legal window_action=move call survives both schemas (8.433666ms) -2026-09-27T05:31:31.7917550Z ✔ a legal window_action=resize call survives both schemas (0.293108ms) -2026-09-27T05:31:31.7986029Z ✔ a legal window_action=minimize call survives both schemas (0.149931ms) -2026-09-27T05:31:31.8035215Z ✔ a legal screenshot call survives both schemas (0.544899ms) -2026-09-27T05:31:31.8102793Z ✔ a legal type call survives both schemas (0.535144ms) -2026-09-27T05:31:31.8117412Z ✔ a legal key call survives both schemas (0.462074ms) -2026-09-27T05:31:31.8118402Z ✔ a legal wait call survives both schemas (0.901113ms) -2026-09-27T05:31:31.8119081Z ✔ a legal wait call survives both schemas (0.164393ms) -2026-09-27T05:31:31.8119752Z ✔ a legal wait call survives both schemas (0.114033ms) -2026-09-27T05:31:31.8120688Z ✔ every action in the strict union is offered by the wire enum (3.691512ms) -2026-09-27T05:31:31.8123549Z ✔ every action in the strict union has a sample call above (0.29179ms) -2026-09-27T05:31:31.8125226Z ✔ a list_apps call the model reads back is one it can send again (4.622358ms) -2026-09-27T05:31:31.8126267Z ✔ a list_apps call the model reads back is one it can send again (0.27673ms) -2026-09-27T05:31:31.8127274Z ✔ a launch_app call the model reads back is one it can send again (0.198473ms) -2026-09-27T05:31:31.8128231Z ✔ a observe call the model reads back is one it can send again (0.184901ms) -2026-09-27T05:31:31.8129176Z ✔ a observe call the model reads back is one it can send again (5.933888ms) -2026-09-27T05:31:31.8130146Z ✔ a observe call the model reads back is one it can send again (0.301138ms) -2026-09-27T05:31:31.8131031Z ✔ a observe call the model reads back is one it can send again (2.906615ms) -2026-09-27T05:31:31.8131958Z ✔ a click_element call the model reads back is one it can send again (2.984545ms) -2026-09-27T05:31:31.8132899Z ✔ a set_value call the model reads back is one it can send again (0.384837ms) -2026-09-27T05:31:31.8153098Z ✔ a select_text call the model reads back is one it can send again (0.226847ms) -2026-09-27T05:31:31.8155002Z ✔ a secondary_action call the model reads back is one it can send again (0.236136ms) -2026-09-27T05:31:31.8156218Z ✔ a scroll_element call the model reads back is one it can send again (0.442518ms) -2026-09-27T05:31:31.8157600Z ✔ a element_sequence call the model reads back is one it can send again (0.677708ms) -2026-09-27T05:31:31.8158713Z ✔ a press_key call the model reads back is one it can send again (0.225366ms) -2026-09-27T05:31:31.8159806Z ✔ a press_key call the model reads back is one it can send again (0.163589ms) -2026-09-27T05:31:31.8160932Z ✔ a window_action=move call the model reads back is one it can send again (5.580361ms) -2026-09-27T05:31:31.8162049Z ✔ a window_action=resize call the model reads back is one it can send again (0.334901ms) -2026-09-27T05:31:31.8163422Z ✔ a window_action=minimize call the model reads back is one it can send again (0.172558ms) -2026-09-27T05:31:31.8164735Z ✔ a screenshot call the model reads back is one it can send again (0.150659ms) -2026-09-27T05:31:31.8165702Z ✔ a type call the model reads back is one it can send again (0.126221ms) -2026-09-27T05:31:31.8166671Z ✔ a key call the model reads back is one it can send again (0.13462ms) -2026-09-27T05:31:31.8167562Z ✔ a wait call the model reads back is one it can send again (0.121069ms) -2026-09-27T05:31:31.8168539Z ✔ a wait call the model reads back is one it can send again (0.125863ms) -2026-09-27T05:31:31.8169530Z ✔ a wait call the model reads back is one it can send again (0.227997ms) -2026-09-27T05:31:31.8170649Z ✔ an argument the model chose itself is not replaced by a description of it (11.333169ms) -2026-09-27T05:31:31.8171516Z ▶ configured subagent catalog -2026-09-27T05:31:31.8172411Z ✔ lists availability and resolves only enabled user-approved targets (20.715555ms) -2026-09-27T05:31:31.8173444Z ✔ a retained retired connection cannot admit a subagent (0.695877ms) -2026-09-27T05:31:31.8174266Z ✔ configured subagent catalog (38.699162ms) -2026-09-27T05:31:31.8178604Z ✔ context policy is independent of process environment overrides (4.546041ms) -2026-09-27T05:31:31.8179541Z ▶ mid-turn history compact policy -2026-09-27T05:31:31.8193815Z ✔ is owned by the runtime default (0.312629ms) -2026-09-27T05:31:31.8194973Z ✔ mid-turn history compact policy (4.111363ms) -2026-09-27T05:31:31.8195603Z ▶ tool-result prune policy -2026-09-27T05:31:31.8196169Z ✔ uses bounded runtime defaults (0.43392ms) -2026-09-27T05:31:31.8196842Z ✔ tool-result prune policy (0.713687ms) -2026-09-27T05:31:31.8197471Z ▶ declared relay context window -2026-09-27T05:31:31.8198312Z ✔ a user declaration outranks the relay /models report and metadata (0.640535ms) -2026-09-27T05:31:31.8199230Z ✔ a declared context window holds on any provider (0.242585ms) -2026-09-27T05:31:31.8232508Z ✔ declared relay context window (1.371712ms) -2026-09-27T05:31:31.8248187Z ✔ context budgeting prefers a model input limit over its context window (4.415293ms) -2026-09-27T05:31:31.8275688Z ✔ invalid zero input limits do not disable the context-window fallback (0.251194ms) -2026-09-27T05:31:31.8298464Z ✔ overriding total capacity preserves the independent input limit (0.8512ms) -2026-09-27T05:31:31.8325751Z ✔ capacity and compaction remain independent in the execution projection (0.318762ms) -2026-09-27T05:31:31.8355678Z ✔ a reported model context window is metadata, not a Maka declaration (0.2434ms) -2026-09-27T05:31:31.8361669Z ✔ Codex OAuth pinned windows do not inherit public API input limits (0.491834ms) -2026-09-27T05:31:31.8385848Z ✔ Codex OAuth discovered windows remain usable after model discovery (0.283578ms) -2026-09-27T05:31:31.8419152Z ✔ Codex OAuth keeps explicit input limits and rejects their conflicts (0.421312ms) -2026-09-27T05:31:32.0708996Z ✔ estimates only model-visible provider context (1.566889ms) -2026-09-27T05:31:32.0766334Z ✔ capacity policy keeps the canonical ledger until a checkpoint replaces it (1.620972ms) -2026-09-27T05:31:32.0818157Z ✔ checkpoint replay uses the canonical ledger before stale tool results are pruned (13.687953ms) -2026-09-27T05:31:32.0884202Z ✔ compaction notes fire for a fold made by the request hook, not only for a replay (0.53478ms) -2026-09-27T05:31:32.1599950Z ✔ rejects v2 snapshots that the canonical writer cannot produce (5.760409ms) -2026-09-27T05:31:32.8068382Z ✔ serves the sealed snapshot without reading a single run (651.040295ms) -2026-09-27T05:31:33.0707986Z ✔ does not trust a pre-observation projection over its canonical attempt (269.083547ms) -2026-09-27T05:31:33.3355730Z ✔ upgrades exact-matched mixed-era composition into the current projection (263.210766ms) -2026-09-27T05:31:33.6436438Z ✔ a failed call does not replace the last good snapshot (308.912334ms) -2026-09-27T05:31:34.0996304Z ✔ a subagent's run never becomes the session's context (452.67683ms) -2026-09-27T05:31:34.3407489Z ✔ rebuilds a canonical observation, then repairs it so the next read scans nothing (227.525861ms) -2026-09-27T05:31:34.3434124Z ✔ rebuilds without repairing when the store lacks a ledger revision capability (0.668155ms) -2026-09-27T05:31:34.3508116Z ✔ reads a provider-only ledger that predates canonical metering (1.339811ms) -2026-09-27T05:31:34.3585993Z ✔ a canonical record on the ledger keeps the legacy path out of it (0.482002ms) -2026-09-27T05:31:34.3625300Z ✔ cold rebuild takes composition from the canonical attempt observation (0.434886ms) -2026-09-27T05:31:34.3627257Z ✔ does not enrich a canonical attempt from an identity-mismatched provider row (6.933195ms) -2026-09-27T05:31:34.3629902Z ✔ a legacy request whose capture is missing reports no composition, not an older one (0.428885ms) -2026-09-27T05:31:34.3631899Z ✔ a compaction call never becomes the reported context (0.212352ms) -2026-09-27T05:31:34.3644610Z ✔ reports that no completed request exists instead of inferring session values (0.1542ms) -2026-09-27T05:31:34.3647030Z ✔ a rebuilt session reports the fold that was in place when its request started (0.671381ms) -2026-09-27T05:31:34.3648724Z ✔ a canonical ledger with nothing reportable does not fall back to a provider row (0.289447ms) -2026-09-27T05:31:34.5589288Z ✔ warm and cold agree on which of two requests that finished together is the latest (222.848754ms) -2026-09-27T05:31:34.7432290Z ✔ a session confirmed to have nothing is answered from the projection, not re-scanned (176.926791ms) -2026-09-27T05:31:34.7473267Z ✔ names at most the bounded number of tools, and accounts for the rest (2.687091ms) -2026-09-27T05:31:35.0004865Z ✔ a request that finished earlier cannot move the answer backwards (261.798356ms) -2026-09-27T05:31:35.1916737Z ✔ a damaged projection is repaired, not preserved forever (193.323132ms) -2026-09-27T05:31:35.4366231Z ✔ repairs malformed projection bytes from the canonical ledger (245.876331ms) -2026-09-27T05:31:35.5845825Z ✔ does not persist a cold answer after canonical authority advances (146.925885ms) -2026-09-27T05:31:35.8457487Z ✔ rebuilds a nested-malformed v2 projection from the canonical ledger (256.791659ms) -2026-09-27T05:31:36.1113294Z ✔ an old readable-order projection is upgraded after one cold rebuild (269.466863ms) -2026-09-27T05:31:36.2176243Z ▶ continuation replay segment -2026-09-27T05:31:36.2256183Z ✔ rejects a persisted v1 admission under the route-bound v2 projection (11.078514ms) -2026-09-27T05:31:36.2325927Z ✔ trims an interrupted assistant suffix after the last stable user boundary (13.55149ms) -2026-09-27T05:31:36.2350996Z ✔ excludes hidden nested events from continuation replay context (14.846059ms) -2026-09-27T05:31:36.2465877Z ✔ trims every model-visible item when a real continuation segment has no stable anchor (5.566378ms) -2026-09-27T05:31:36.2525699Z ✔ trims a continuation pre-T1 tool call when the live start declares the durable boundary (5.416229ms) -2026-09-27T05:31:36.2566521Z ✔ blocks an unmatched tool call followed by replayable assistant content (1.205219ms) -2026-09-27T05:31:36.2605716Z ✔ projects every lineage segment once and never reintroduces an ancestor suffix (9.060295ms) -2026-09-27T05:31:36.2768536Z ✔ continuation replay segment (66.849298ms) -2026-09-27T05:31:36.2815572Z ▶ continuation replay digest -2026-09-27T05:31:36.2898475Z ✔ keeps the projection v2 digest compatible while excluding internal invocation identity (3.026395ms) -2026-09-27T05:31:36.2931241Z ✔ continuation replay digest (3.385666ms) -2026-09-27T05:31:36.5299671Z ✔ archived tool-result copy preflight detects conversation-owned references (9.353429ms) -2026-09-27T05:31:36.5333751Z ✔ conversation copy discovers linked children in persisted retired tool results (1.381486ms) -2026-09-27T05:31:36.5426322Z ✔ collectConversationCopySessionFileRefs gathers source-Session refs across sites (6.192446ms) -2026-09-27T05:31:36.5467322Z ✔ Side Conversation preflight identifies linked-child archive bodies (0.376472ms) -2026-09-27T05:31:36.5496125Z ✔ Side Conversation snapshots remove linked child ownership identifiers (0.739065ms) -2026-09-27T05:31:36.5556325Z ✔ Side Conversation snapshots rewrite source-owned Agent Swarm identities (0.54894ms) -2026-09-27T05:31:36.5595807Z ✔ Side Conversation snapshots rewrite source-owned subagent identities (0.289635ms) -2026-09-27T05:31:36.5645849Z ✔ Side Conversation snapshots preserve ordinary archived tool results (5.756782ms) -2026-09-27T05:31:36.5675672Z ✔ Side Conversation snapshots retire archived linked-child results (1.273071ms) -2026-09-27T05:31:36.5727176Z ✔ conversation copy slices exact turns on inclusive and exclusive boundaries (0.663401ms) -2026-09-27T05:31:36.5772109Z ✔ conversation copy rewrites owned references without changing opaque tool payloads (13.173176ms) -2026-09-27T05:31:36.5814371Z ✔ conversation copy rejects continuation authority selected through the child-run closure (7.678374ms) -2026-09-27T05:31:36.5875889Z ✔ conversation copy rewrites a complete tool recovery bundle atomically (834.515724ms) -2026-09-27T05:31:36.5905909Z ✔ conversation copy excludes legacy Code Mode partials while rewriting parent operation ids (319.935288ms) -2026-09-27T05:31:36.5943728Z ✔ conversation copy rewrites the nested identity of a model call attempt (300.428967ms) -2026-09-27T05:31:36.5998567Z ✔ conversation copy survives a capture the store has already reclaimed (286.406935ms) -2026-09-27T05:31:36.6036152Z ✔ conversation copy repairs a model call attempt stranded by a pre-fix copy (228.200974ms) -2026-09-27T05:31:36.6095905Z ✔ conversation copy clones one terminal Runtime ledger with new owned identities (375.544385ms) -2026-09-27T05:31:36.6165984Z ✔ conversation copy rebuilds an inline checkpoint without legacy child events in its prefix (282.157127ms) -2026-09-27T05:31:36.6195815Z ✔ conversation copy drops a checkpoint from a superseded source policy instead of failing (206.679725ms) -2026-09-27T05:31:36.6255669Z ✔ conversation copy rebuilds a resumed child checkpoint over its child run chain (338.504482ms) -2026-09-27T05:31:36.8980926Z ✔ conversation copy retains archive reference closure and checkpoints (inspect: false) (368.061857ms) -2026-09-27T05:31:37.1921580Z ✔ conversation copy retains archive reference closure and checkpoints (inspect: true) (286.960465ms) -2026-09-27T05:31:37.4197433Z ✔ conversation copy rebuilds projection transitions against the copied events (236.58209ms) -2026-09-27T05:31:37.6876353Z ✔ conversation copy carries a transition recorded by a later, uncopied run (267.942358ms) -2026-09-27T05:31:37.9906400Z ✔ conversation copy reproduces the source fold rather than re-deciding it (302.032191ms) -2026-09-27T05:31:38.2340629Z ✔ official ACP SDK exports and deletes a multipart Artifact through the real Host (11306.206148ms) -2026-09-27T05:31:38.2502886Z ✔ conversation copy re-authenticates a rewritten paging Read against its dispatch (248.602841ms) -2026-09-27T05:31:38.4325341Z ✔ conversation copy preserves a corrupt paging dispatch hash for the re-scan to reject (187.409323ms) -2026-09-27T05:31:38.6456354Z ✔ conversation copy re-authenticates a rewritten ArchiveRead against its dispatch (216.838707ms) -2026-09-27T05:31:38.8475921Z ✔ conversation copy gives a run whose opening the migration shelved its opening back (206.487091ms) -2026-09-27T05:31:38.9718192Z ✔ Moonshot Global pricing comes from the models.dev snapshot (12.320195ms) -2026-09-27T05:31:38.9845893Z ▶ computeCost -2026-09-27T05:31:38.9922076Z ✔ charges full input price only for cache-miss input (0.471056ms) -2026-09-27T05:31:38.9956035Z ✔ derives cache miss from total input when explicit miss is absent (0.296691ms) -2026-09-27T05:31:39.0035741Z ✔ treats all input as fresh when no cache data exists (0.189622ms) -2026-09-27T05:31:39.0122391Z ✔ computeCost (7.6436ms) -2026-09-27T05:31:39.0225459Z ▶ recordLlmCall -2026-09-27T05:31:39.0265920Z ✔ preserves a runtime-provided cost fact instead of recomputing it (0.761803ms) -2026-09-27T05:31:39.0336128Z ✔ settles only after publication and preserves main token fields and diagnostics (8.55038ms) -2026-09-27T05:31:39.0416209Z ✔ contains writer failures at the best-effort telemetry boundary (12.69628ms) -2026-09-27T05:31:39.0516109Z ✔ recordLlmCall (22.504724ms) -2026-09-27T05:31:39.0575954Z ▶ recordToolInvocation -2026-09-27T05:31:39.0666041Z ✔ settles only after normalized record publication completes (0.618049ms) -2026-09-27T05:31:39.0765863Z ✔ contains writer failures at the best-effort telemetry boundary (3.345272ms) -2026-09-27T05:31:39.0952578Z ✔ recordToolInvocation (4.322894ms) -2026-09-27T05:31:39.0977107Z ▶ CuaFrameState -2026-09-27T05:31:39.1048674Z ✔ creates a new frame identity for every observation (17.881309ms) -2026-09-27T05:31:39.1113875Z ✔ binds an action fingerprint to its observed frame (0.399801ms) -2026-09-27T05:31:39.1189036Z ✔ rejects an action from a superseded frame (0.257739ms) -2026-09-27T05:31:39.1242242Z ✔ rejects the same action twice on one frame (0.204924ms) -2026-09-27T05:31:39.1325476Z ✔ rejects old actions after invalidation (0.515178ms) -2026-09-27T05:31:39.1405616Z ✔ advances the epoch only after confirming a claimed action (0.319335ms) -2026-09-27T05:31:39.1495583Z ✔ binds a non-semantic action only to the observation identity (0.242148ms) -2026-09-27T05:31:39.1617138Z ✔ an action that never ran is retired without spending the frame (2.74743ms) -2026-09-27T05:31:39.1695731Z ✔ a retired frame still accepts a different action (1.190248ms) -2026-09-27T05:31:39.1803815Z ✔ the same action is not offered twice after being retired (4.016415ms) -2026-09-27T05:31:39.1935928Z ✔ a lookup can tell a retired action from one that ran (0.334958ms) -2026-09-27T05:31:39.1992414Z ✔ a repeat of an action that did run is still duplicate_action (0.257812ms) -2026-09-27T05:31:39.2045915Z ✔ retiring an action nobody claimed is refused rather than silently accepted (0.134219ms) -2026-09-27T05:31:39.2115720Z ✔ semantic actions bind element identity to the observed window (0.159105ms) -2026-09-27T05:31:39.2171941Z ✔ CuaFrameState (35.325958ms) -2026-09-27T05:31:39.2235235Z ▶ CuaSessionState -2026-09-27T05:31:39.2285731Z ✔ starts unobserved and a successful fresh observation makes it active (18.937335ms) -2026-09-27T05:31:39.2325776Z ✔ physical intervention fences old leases through debounce and reobserve (0.393984ms) -2026-09-27T05:31:39.2381548Z ✔ an event during observation fences that observation attempt (0.255518ms) -2026-09-27T05:31:39.2435502Z ✔ unlock requires a fresh observation before actions resume (0.262737ms) -2026-09-27T05:31:39.2443197Z ✔ explicit reobserve requirement fences the active lease (0.279304ms) -2026-09-27T05:31:39.2485784Z ✔ blocked URL and user stop remain terminal in the current CU session (0.606236ms) -2026-09-27T05:31:39.2555808Z ✔ terminal states absorb later lifecycle events (2.722571ms) -2026-09-27T05:31:39.2605811Z ✔ dynamic content changes neither synthesize intervention nor fence a lease (0.340525ms) -2026-09-27T05:31:39.2645257Z ✔ lease identity is session scoped (1.758522ms) -2026-09-27T05:31:39.2685411Z ✔ CuaSessionState (27.751037ms) -2026-09-27T05:31:39.2825487Z ▶ createDefaultSandboxManager -2026-09-27T05:31:39.2862160Z ✔ registers platform backends without requiring the host platform at import time (1.205462ms) -2026-09-27T05:31:39.2928574Z ✔ createDefaultSandboxManager (8.369945ms) -2026-09-27T05:31:39.2955247Z ▶ createBuiltinSandboxManager -2026-09-27T05:31:39.2989416Z ✔ always returns a manager so managed execution fails closed on unsupported platforms (0.454707ms) -2026-09-27T05:31:39.3035749Z ✔ registers Windows only when the packaged native client exists (29.706888ms) -2026-09-27T05:31:39.3110257Z ✔ createBuiltinSandboxManager (30.656669ms) -2026-09-27T05:31:39.3149175Z ▶ isBuiltinFilesystemWorkerSandboxAvailable -2026-09-27T05:31:39.3237450Z ✔ requires a usable Linux backend but keeps the built-in macOS worker available (0.501502ms) -2026-09-27T05:31:39.3351753Z ✔ reports Windows unavailable when the launcher is absent, so no worker is published (0.152918ms) -2026-09-27T05:31:39.3406742Z ✔ isBuiltinFilesystemWorkerSandboxAvailable (0.954912ms) -2026-09-27T05:31:39.3465408Z ▶ probeWindowsReadiness -2026-09-27T05:31:39.3545581Z ✔ is available only on a clean exit 0 from the launcher probe (18.546949ms) -2026-09-27T05:31:39.3630363Z ✔ fails closed when the probe exits non-zero (3.691678ms) -2026-09-27T05:31:39.3675508Z ✔ fails closed on a spawn error (5.1015ms) -2026-09-27T05:31:39.3735656Z ✔ fails closed on an external timeout that leaves no exit status (3.602913ms) -2026-09-27T05:31:39.3815852Z ✔ reuses the memoized result so repeated checks never re-probe (4.386522ms) -2026-09-27T05:31:39.3825634Z ✔ fails closed when the launcher file does not exist without spawning (0.343101ms) -2026-09-27T05:31:39.3885945Z ✔ re-probes a transient negative after its TTL but caches a positive permanently (7.557389ms) -2026-09-27T05:31:39.3915909Z ✔ never re-poisons after a positive: only negatives expire (1.800279ms) -2026-09-27T05:31:39.3941960Z ✔ probeWindowsReadiness (46.009568ms) -2026-09-27T05:31:39.4025341Z ▶ readCachedWindowsReadiness -2026-09-27T05:31:39.4049923Z ✔ is strictly cache-only: never spawns, fails closed until the cache is warmed (7.585132ms) -2026-09-27T05:31:39.4089614Z ✔ fails closed on an expired negative entry without re-probing on the hot path (6.793936ms) -2026-09-27T05:31:39.4135752Z ✔ recovers a negative only on a new composition build (spawning warmer), never on the running hot path (1.280359ms) -2026-09-27T05:31:39.4235802Z ✔ readCachedWindowsReadiness (16.103868ms) -2026-09-27T05:31:39.4290172Z ▶ tool-availability execute-boundary guard -2026-09-27T05:31:39.4352826Z ✔ projects a declared activity kind into persisted and live tool facts (41.03378ms) -2026-09-27T05:31:39.4472523Z ✔ keeps WriteStdin args exact across canonical ledgers and projects telemetry (12.135414ms) -2026-09-27T05:31:39.4578706Z ✔ rejects a gated tool absent from the step snapshot before implementation (12.116941ms) -2026-09-27T05:31:39.4595471Z ✔ lets a gated tool run once its name is in the step snapshot (1.417683ms) -2026-09-27T05:31:39.4646835Z ✔ is inert when no gating is installed (6.448049ms) -2026-09-27T05:31:39.4725769Z ✔ never gates a tool outside gatedNames, even when absent from the snapshot (1.039048ms) -2026-09-27T05:31:39.4772006Z ✔ tool-availability execute-boundary guard (75.995072ms) -2026-09-27T05:31:39.4821534Z ▶ AiSdkBackend tool_search activation -2026-09-27T05:31:39.4855776Z ✔ step 0 advertises tool_search but withholds deferred schemas (229.070605ms) -2026-09-27T05:31:39.4900980Z ✔ search result becomes visible on the next step and can then execute (243.681829ms) -2026-09-27T05:31:39.4916411Z ✔ equivalent Tool wrappers rebuilt between steps retain search activation (118.557211ms) -2026-09-27T05:31:39.4946415Z ✔ parallel search and hidden-tool use still rejects the same-step call (77.004464ms) -2026-09-27T05:31:39.4958293Z ✔ parallel searches union their matches for the following step (62.610059ms) -2026-09-27T05:31:39.4975504Z ✔ historical load_tools events never seed a new turn (39.36888ms) -2026-09-27T05:31:39.4976444Z ✔ omitting search availability keeps the complete bound surface direct (23.47094ms) -2026-09-27T05:31:39.4977329Z ✔ AiSdkBackend tool_search activation (798.17477ms) -2026-09-27T05:31:39.4978084Z ▶ hidden tools are trimmed from the provider request (wire-level) -2026-09-27T05:31:39.4978998Z ✔ a tool outside the active set never reaches the model; invalid is never advertised (221.736431ms) -2026-09-27T05:31:39.4980369Z ✔ a tool added to the active set does reach the model (ratchet activates it) (12.926472ms) -2026-09-27T05:31:39.4981525Z ✔ hidden tools are trimmed from the provider request (wire-level) (236.513773ms) -2026-09-27T05:31:39.4982239Z ▶ ModelAdapter provider-step boundary -2026-09-27T05:31:39.4983031Z ✔ uses a provider-safe alias for Maka tool_search on OpenAI Responses (20.189629ms) -2026-09-27T05:31:39.4983974Z ✔ rejects a real tool that collides with the provider-safe alias (1.627446ms) -2026-09-27T05:31:39.4985061Z ✔ returns provider tool calls without executing tool behavior inside the SDK (12.695398ms) -2026-09-27T05:31:39.4985852Z ✔ ModelAdapter provider-step boundary (36.004519ms) -2026-09-27T05:31:39.4986702Z ✔ replay uses the same reference form and escapes path markup as untrusted data (1.325432ms) -2026-09-27T05:31:39.4987741Z ✔ replay preserves Session snapshot provenance without treating it as instructions (0.460816ms) -2026-09-27T05:31:39.4995101Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:31:39.7276723Z ▶ durable Tool Result projection codec -2026-09-27T05:31:39.7395347Z ✔ preserves arbitrary text and JSON content faithfully (12.076818ms) -2026-09-27T05:31:39.7457483Z ✔ never persists inline binary or provider options (5.125737ms) -2026-09-27T05:31:39.7519192Z ✔ maps opaque and oversized JSON to the same deterministic failure sentinel (295.128421ms) -2026-09-27T05:31:39.7573613Z ✔ fails deterministically instead of silently dropping excess content parts (0.366789ms) -2026-09-27T05:31:39.7647350Z ✔ validates every inline image before persisting any projection artifact (3.57903ms) -2026-09-27T05:31:39.7745688Z ✔ rejects an oversized ArrayBuffer before copying its bytes (0.338936ms) -2026-09-27T05:31:39.7772199Z ✔ validates the complete projection before persisting any artifact (0.361783ms) -2026-09-27T05:31:39.7850017Z ✔ uses the exact planned artifact ref as the projection size authority (403.078845ms) -2026-09-27T05:31:39.7875489Z ✔ rejects unsafe image metadata before persisting it (1.357998ms) -2026-09-27T05:31:39.7930696Z ✔ refuses the whole projection when a later artifact cannot be published (3.465874ms) -2026-09-27T05:31:39.8015627Z ✔ validates default image refs through the same closed schema (1.105738ms) -2026-09-27T05:31:39.8075072Z ✔ durable Tool Result projection codec (728.759064ms) -2026-09-27T05:31:39.8098906Z ▶ computeEditedSource — exact match -2026-09-27T05:31:39.8155436Z ✔ replaces the single occurrence and reports an exact match + line range (6.558468ms) -2026-09-27T05:31:39.8187493Z ✔ reports the matched multi-line range (1-based, inclusive) (0.30378ms) -2026-09-27T05:31:39.8245521Z ✔ inserts new_string literally (no $-pattern interpretation) (0.226412ms) -2026-09-27T05:31:39.8266360Z ✔ throws with the where label when old_string is absent (1.153984ms) -2026-09-27T05:31:39.8315767Z ✔ throws with the match count when old_string is not unique (0.26235ms) -2026-09-27T05:31:39.8364620Z ✔ rejects identical old_string and new_string (0.291856ms) -2026-09-27T05:31:39.8445519Z ✔ rejects an empty old_string (1.058687ms) -2026-09-27T05:31:39.8483121Z ✔ computeEditedSource — exact match (16.386217ms) -2026-09-27T05:31:39.8566905Z ▶ computeEditedSource — fuzzy cascade -2026-09-27T05:31:39.8642191Z ✔ line-trimmed: tolerates indentation drift on a multi-line block (1.430775ms) -2026-09-27T05:31:39.8685844Z ✔ whitespace: tolerates collapsed internal whitespace (0.304278ms) -2026-09-27T05:31:39.8745762Z ✔ escape: tolerates literal backslash escapes in old_string (1.655641ms) -2026-09-27T05:31:39.8771141Z ✔ line-trimmed: preserves a trailing newline in old_string (no extra blank line) (2.336944ms) -2026-09-27T05:31:39.8815637Z ✔ a span's trailing newline is a terminator, not an extra line, for endLine (0.232403ms) -2026-09-27T05:31:39.8816658Z ✔ computeEditedSource — fuzzy cascade (9.392137ms) -2026-09-27T05:31:39.8865072Z ▶ computeEditedSource — anti-corruption guards -2026-09-27T05:31:39.8936035Z ✔ rejects multiple distinct fuzzy candidates instead of guessing (2.124709ms) -2026-09-27T05:31:39.8981290Z ✔ rejects a fuzzy span that occurs more than once (0.617906ms) -2026-09-27T05:31:39.9026858Z ✔ rejects a too-short old_string for a non-exact match (0.190209ms) -2026-09-27T05:31:39.9075653Z ✔ a multi-line old_string never collapses onto a single line (whitespace) (5.310283ms) -2026-09-27T05:31:39.9103544Z ✔ computeEditedSource — anti-corruption guards (8.598096ms) -2026-09-27T05:31:39.9135771Z ▶ computeEditedSource — verbatim replacement (no indentation migration) -2026-09-27T05:31:39.9165545Z ✔ fuzzy match writes new_string verbatim; the file indentation is NOT migrated (0.238595ms) -2026-09-27T05:31:39.9215910Z ✔ computeEditedSource — verbatim replacement (no indentation migration) (0.347242ms) -2026-09-27T05:31:39.9275476Z ▶ computeEditedSource — oversized / binary fuzzy guards -2026-09-27T05:31:39.9311962Z ✔ binary (NUL) file: exact still edits, fuzzy is refused (3.085229ms) -2026-09-27T05:31:39.9328215Z ✔ oversized file: exact still edits, fuzzy is refused (0.9385ms) -2026-09-27T05:31:39.9376921Z ✔ computeEditedSource — oversized / binary fuzzy guards (4.191235ms) -2026-09-27T05:31:40.0063796Z ▶ effective model history feeds budgeting and compaction -2026-09-27T05:31:40.0075982Z ✔ budgeting sizes the durable projection, not the raw execution fact (11.664459ms) -2026-09-27T05:31:40.0174161Z ✔ budgeting prices an artifact by what materialization rehydrates (1.069485ms) -2026-09-27T05:31:40.0282228Z ✔ summarization cannot read raw output the projection replaced (9.464648ms) -2026-09-27T05:31:40.0397083Z ✔ the source digest ignores raw evidence but tracks the effective projection (9.767847ms) -2026-09-27T05:31:40.0442971Z ✔ a checkpoint minted under the raw-source policy no longer validates (0.487662ms) -2026-09-27T05:31:40.0485803Z ✔ effective model history feeds budgeting and compaction (39.553375ms) -2026-09-27T05:31:40.1754163Z ▶ versioned execution inspect documents -2026-09-27T05:31:40.1755374Z ✔ reports unknown tool outcomes without copying Runtime payloads (472.418243ms) -2026-09-27T05:31:40.1756295Z ✔ versioned execution inspect documents (476.629002ms) -2026-09-27T05:31:41.0195351Z ✔ Fake question publication waits for exact hosted admission (120.404641ms) -2026-09-27T05:31:41.0276151Z ✔ pullSteering drains queued messages at step boundaries as steering events (927.367777ms) -2026-09-27T05:31:41.0366494Z ✔ a batch of leases settles per lease: delivered ones ack, undelivered ones nack (5.316853ms) -2026-09-27T05:31:41.0420803Z ✔ a lease is acked only after its event is consumed, and nacked when the consumer detaches (1.207406ms) -2026-09-27T05:31:41.0646182Z ▶ withFileWriteLock -2026-09-27T05:31:41.0743026Z ✔ serializes tasks sharing a key, in submission order (27.095013ms) -2026-09-27T05:31:41.0817069Z ✔ different keys run concurrently (7.639288ms) -2026-09-27T05:31:41.0862862Z ✔ no lost update: serialized read-modify-write over a shared cell (8.421943ms) -2026-09-27T05:31:41.0942540Z ✔ a rejecting task does not wedge the key (2.549793ms) -2026-09-27T05:31:41.1055754Z ✔ withFileWriteLock (53.192211ms) -2026-09-27T05:31:41.1098617Z ✔ applies one native update operation through the filesystem authority (86.87216ms) -2026-09-27T05:31:41.1163721Z ✔ deletes a self-referential symlink entry without following it (16.778457ms) -2026-09-27T05:31:41.1245438Z ✔ creates nested files exclusively (27.498027ms) -2026-09-27T05:31:41.1305493Z ✔ does not report an invalid backend result as completed (14.768174ms) -2026-09-27T05:31:41.1397965Z ✔ reports a rejected diff without changing the file (11.265261ms) -2026-09-27T05:31:41.1493316Z ✔ reports missing mutation targets as rejected operations (10.372191ms) -2026-09-27T05:31:41.1706043Z ▶ filesystem-authority contract: classifyFailedMutationOutcome -2026-09-27T05:31:41.1775505Z ✔ a non-worker error is not classifiable (0.95714ms) -2026-09-27T05:31:41.1814218Z ✔ an aborted error is unknown only after dispatch (0.389229ms) -2026-09-27T05:31:41.1916530Z ✔ every UNKNOWN_OUTCOME_REASONS member maps to unknown (0.729518ms) -2026-09-27T05:31:41.1965569Z ✔ a never-dispatched spawn failure is not unknown (0.221599ms) -2026-09-27T05:31:41.2041561Z ✔ pre-flight validation failures are not unknown (0.236857ms) -2026-09-27T05:31:41.2100788Z ✔ filesystem-authority contract: classifyFailedMutationOutcome (4.867222ms) -2026-09-27T05:31:42.3199816Z ▶ file tools follow the execution boundary -2026-09-27T05:31:42.3233729Z ✔ the model-facing Glob result marks a capped permission-limited walk incomplete (193.323096ms) -2026-09-27T05:31:42.3598550Z ✔ a bypass boundary reaches outside the session cwd, as Bash already does (41.398992ms) -2026-09-27T05:31:42.3768870Z ✔ every other boundary keeps the same paths inside the session cwd (14.930273ms) -2026-09-27T05:31:42.3918316Z ✔ a symlink out of the cwd stays an escape under a workspace boundary (9.136876ms) -2026-09-27T05:31:42.3977378Z ✔ a glob pattern may only leave the search root under a bypass boundary (8.665425ms) -2026-09-27T05:31:42.4097064Z ✔ a managed boundary goes to the worker and never to the host backend (6.584419ms) -2026-09-27T05:31:42.4193042Z ✔ a managed boundary without a worker refuses instead of falling back to the host (9.719849ms) -2026-09-27T05:31:42.4397164Z ✔ one file takes one write lock however its path is spelled (22.850689ms) -2026-09-27T05:31:42.4447030Z ✔ the lock key is the same for every spelling of one file (13.751584ms) -2026-09-27T05:31:42.4846638Z ✔ a bypass boundary searches outside the session cwd (37.404454ms) -2026-09-27T05:31:42.4965184Z ✔ a bypass boundary bypasses a wired worker too (14.627202ms) -2026-09-27T05:31:42.5022620Z ✔ worker image bytes reach the tool decoded (5.150399ms) -2026-09-27T05:31:42.5079592Z ✔ file tools follow the execution boundary (386.333853ms) -2026-09-27T05:31:42.5658144Z ▶ filesystem mutation unknown-outcome classification -2026-09-27T05:31:42.5706137Z ✔ Write failing with worker_crashed (dispatched) becomes an unknown outcome (55.494497ms) -2026-09-27T05:31:42.5824081Z ✔ Write failing with worker_io_incomplete (dispatched) becomes an unknown outcome (19.799586ms) -2026-09-27T05:31:42.5875848Z ✔ Write failing with timeout (dispatched) becomes an unknown outcome (3.485397ms) -2026-09-27T05:31:42.5936300Z ✔ Write failing with response_overflow (dispatched) becomes an unknown outcome (17.745423ms) -2026-09-27T05:31:42.6172555Z ✔ Write failing with invalid_response converts regardless of dispatched flag (3.661127ms) -2026-09-27T05:31:42.6257674Z ✔ Write failing with response_id_mismatch converts regardless of dispatched flag (5.16346ms) -2026-09-27T05:31:42.6376804Z ✔ Write failing with response_kind_mismatch converts regardless of dispatched flag (4.478976ms) -2026-09-27T05:31:42.6476426Z ✔ Write failing with outcome_unknown converts regardless of dispatched flag (1.141623ms) -2026-09-27T05:31:42.6551040Z ✔ Write failing with spawn_failed (never dispatched) is NOT an unknown outcome (7.248021ms) -2026-09-27T05:31:42.6619735Z ✔ an aborted mutation before dispatch is a clean cancel, not unknown (6.372547ms) -2026-09-27T05:31:42.6663710Z ✔ an aborted mutation after dispatch is an unknown outcome (5.064392ms) -2026-09-27T05:31:42.6731000Z ✔ apply_patch (delete) failing after dispatch becomes an unknown outcome (3.145758ms) -2026-09-27T05:31:42.6813064Z ✔ a validation-stage failure is NOT an unknown outcome (7.632461ms) -2026-09-27T05:31:42.6817092Z ✔ filesystem mutation unknown-outcome classification (146.934188ms) -2026-09-27T05:31:42.6839914Z ▶ filesystem mutation T0 identity capture (queue-window closure) -2026-09-27T05:31:42.6843331Z ✔ a queued mutation receives the pre-replacement identity captured at lock acquisition (111.581195ms) -2026-09-27T05:31:42.6844925Z ✔ an apply_patch mutation forwards its captured identity, not unchecked (#3484 regression) (4.956006ms) -2026-09-27T05:31:42.6846181Z ✔ filesystem mutation T0 identity capture (queue-window closure) (116.940633ms) -2026-09-27T05:31:42.6847016Z ▶ fd-pinned mutation primitive -2026-09-27T05:31:42.6861240Z ✔ a write survives a path swap between validation and the write (25.671127ms) -2026-09-27T05:31:42.6862413Z ✔ a failed validation leaves the file byte-for-byte intact (10.008834ms) -2026-09-27T05:31:42.6863444Z ✔ an approved-missing target rejects a file that appeared in the gap (4.591591ms) -2026-09-27T05:31:42.6879350Z ✔ an approved-missing target is created exclusively (3.953797ms) -2026-09-27T05:31:42.6899407Z ✔ fd-pinned mutation primitive (47.317635ms) -2026-09-27T05:31:42.6935511Z ▶ compare-and-delete (tombstone verification) -2026-09-27T05:31:42.6945977Z ✔ removes the approved entry (10.303352ms) -2026-09-27T05:31:42.6957206Z ✔ restores a replacement installed after the check instead of deleting it (17.459389ms) -2026-09-27T05:31:42.6959024Z ✔ deletes a symlink entry by its own identity without following it (9.323611ms) -2026-09-27T05:31:42.6960082Z ✔ a no-replace restore preserves a path reoccupied during the capture (8.294771ms) -2026-09-27T05:31:42.6975639Z ✔ a no-replace restore moves the captured entry back when the path is free (7.931233ms) -2026-09-27T05:31:42.7008542Z ✔ rejects a directory before touching it (7.326192ms) -2026-09-27T05:31:42.7023778Z ✔ a directory that raced into the capture is renamed back, not stranded (10.158177ms) -2026-09-27T05:31:42.7053676Z ✔ restores a swapped-in symlink as a symlink, never a foreign regular file (22.055184ms) -2026-09-27T05:31:42.7089141Z ✔ compare-and-delete (tombstone verification) (94.183117ms) -2026-09-27T05:31:42.7158657Z ▶ filesystem worker target identity CAS -2026-09-27T05:31:42.7195673Z ✔ rejects a write when the target inode changed after authorisation (55.460001ms) -2026-09-27T05:31:42.7225569Z ✔ allows a write when the target inode is unchanged (11.748869ms) -2026-09-27T05:31:42.7235220Z ✔ rejects a delete when the target inode changed after authorisation (10.398405ms) -2026-09-27T05:31:42.7250333Z ✔ rejects an edit when the target inode changed after authorisation (4.919106ms) -2026-09-27T05:31:42.7303230Z ✔ rejects an apply_patch update when the target inode changed after authorisation (6.035163ms) -2026-09-27T05:31:42.7305274Z ✔ creates a missing target without requiring an identity (7.587156ms) -2026-09-27T05:31:42.7306706Z ✔ a write to a missing target reports a creation diff (#3487 P1) (4.404545ms) -2026-09-27T05:31:42.7308018Z ✔ reports path_changed when the target is replaced before the write (pre-write CAS) (7.209927ms) -2026-09-27T05:31:42.7309176Z ✔ filesystem worker target identity CAS (110.251471ms) -2026-09-27T05:31:42.7310053Z ▶ filesystem worker post-write host-visibility check -2026-09-27T05:31:42.7310964Z ✔ passes when the path still matches the written inode (5.989743ms) -2026-09-27T05:31:42.7312020Z ✔ reports outcome_unknown when the path was replaced after the write (5.479232ms) -2026-09-27T05:31:42.7313099Z ✔ reports outcome_unknown when the path disappeared after the write (2.76974ms) -2026-09-27T05:31:42.7314157Z ✔ filesystem worker post-write host-visibility check (14.748666ms) -2026-09-27T05:31:42.7736474Z ✔ Read image payloads fit within the filesystem worker response limit (1.301603ms) -2026-09-27T05:31:42.8208169Z ▶ filesystem worker client permission snapshots -2026-09-27T05:31:42.8236759Z ✔ authorizes delete against the symlink entry (63.206136ms) -2026-09-27T05:31:42.8266321Z ✔ rejects an authoritative bypass boundary instead of falling back to legacy mode (7.055435ms) -2026-09-27T05:31:42.8344083Z ✔ rejects an authoritative external boundary instead of falling back to legacy mode (5.803579ms) -2026-09-27T05:31:42.8446214Z ✔ returns the smallest session boundary expansion for an external path (11.168782ms) -2026-09-27T05:31:42.8516053Z ✔ rejects a workspace write under an explicit read-only profile (5.652595ms) -2026-09-27T05:31:42.8565888Z ✔ preserves an explicit exact deny without an additional-permission planner (2.979387ms) -2026-09-27T05:31:42.8642410Z ✔ allows an external read granted by an explicit custom profile (10.929879ms) -2026-09-27T05:31:42.8643590Z ✔ filesystem worker client permission snapshots (109.359652ms) -2026-09-27T05:31:42.8887373Z ▶ filesystem worker client Grep target scope -2026-09-27T05:31:42.8986146Z ✔ uses exact scope for an in-workspace file (17.106874ms) -2026-09-27T05:31:42.9021530Z ✔ uses subtree scope for a directory search (19.625732ms) -2026-09-27T05:31:42.9079986Z ✔ filesystem worker client Grep target scope (37.222041ms) -2026-09-27T05:31:42.9286015Z ▶ filesystem worker operation-scoped Seatbelt profile -2026-09-27T05:31:42.9316003Z ✔ Linux mounts authorized Grep metadata files but only synthesizes the Git directory (22.967399ms) -2026-09-27T05:31:42.9466082Z ✔ Grep grants ancestor metadata exactly and never follows an unauthorized metadata link (18.250856ms) -2026-09-27T05:31:42.9555947Z ✔ narrows a write worker to the exact target while preserving the base policy (6.617209ms) -2026-09-27T05:31:42.9727781Z ✔ preserves sandbox context without changing ordinary filesystem denial semantics (19.449904ms) -2026-09-27T05:31:42.9810371Z ✔ preserves an explicit sandbox denial from the worker protocol (6.121116ms) -2026-09-27T05:31:42.9866666Z ✔ filesystem worker operation-scoped Seatbelt profile (74.122099ms) -2026-09-27T05:31:43.3043081Z ▶ App Update feature boundary -2026-09-27T05:31:43.3076073Z ✔ keeps the services hook exclusively owned by the controller (10123.238014ms) -2026-09-27T05:31:43.3090229Z ✔ keeps Desktop globals and shell/process dependencies out of the feature (1.21324ms) -2026-09-27T05:31:43.3109427Z ✔ pins the production entry surface to its composition and leaf owners (3097.37116ms) -2026-09-27T05:31:43.3112787Z ✔ keeps the Desktop adapter exclusively owned by feature-services composition (956.756571ms) -2026-09-27T05:31:43.3113803Z ✔ pins sidebar projection runtime bindings to its provider and footer owners (1952.437625ms) -2026-09-27T05:31:43.3119103Z ✔ keeps controller and fakes out of the production entry (0.374758ms) -2026-09-27T05:31:43.3119947Z ✔ keeps raw update capabilities out of every production renderer module (7.27392ms) -2026-09-27T05:31:43.3120878Z ✔ mounts one public Provider and binds each projection at its narrow leaf (5282.624387ms) -2026-09-27T05:31:43.3122021Z ✔ App Update feature boundary (21430.402282ms) -2026-09-27T05:31:43.3586141Z ▶ App Update controller -2026-09-27T05:31:43.3590555Z ✔ subscribes before reading and rejects a stale initial snapshot (128.938849ms) -2026-09-27T05:31:43.3631400Z ✔ deduplicates manual checks and fences their returned snapshot behind pushes (46.738263ms) -2026-09-27T05:31:43.3665398Z ✔ App Update controller (177.461091ms) -2026-09-27T05:31:43.3666254Z ▶ update check on window focus -2026-09-27T05:31:43.3666985Z ✔ does not check again inside the throttle window (1.946556ms) -2026-09-27T05:31:43.3667817Z ✔ checks again once the throttle window has passed (0.352625ms) -2026-09-27T05:31:43.3668595Z ✔ stays quiet until the service has started (0.257306ms) -2026-09-27T05:31:43.3669232Z ✔ stays quiet after dispose (0.318785ms) -2026-09-27T05:31:43.3669907Z ✔ manual checkForUpdatesNow ignores the focus throttle (0.356972ms) -2026-09-27T05:31:43.3671266Z ✔ manual checkForUpdatesNow works before start for packaged builds (1.247356ms) -2026-09-27T05:31:43.3672120Z ✔ update check on window focus (14.478735ms) -2026-09-27T05:31:43.3672699Z ▶ requestDownloadedAppUpdate -2026-09-27T05:31:43.3673461Z ✔ identifies asynchronous install failures from update status (4.388605ms) -2026-09-27T05:31:43.3674309Z ✔ installs immediately when main reports no active work (7.893864ms) -2026-09-27T05:31:43.3675442Z ✔ leaves the downloaded update pending when the user cancels (0.395808ms) -2026-09-27T05:31:43.3676391Z ✔ sends explicit interruption authority only after confirmation (0.283238ms) -2026-09-27T05:31:43.3677331Z ✔ returns a terminal failure from the authorized install attempt (0.263345ms) -2026-09-27T05:31:43.3678153Z ✔ requestDownloadedAppUpdate (19.288754ms) -2026-09-27T05:31:43.3678868Z ▶ AppUpdateProvider render scope -2026-09-27T05:31:43.3679842Z ✔ routes progress only to an open About reader and reminders only to the footer (145.832446ms) -2026-09-27T05:31:43.3680850Z ✔ has no reader work for progress while About is closed (52.489401ms) -2026-09-27T05:31:43.3687737Z ✔ deduplicates concurrent install requests at the persistent provider owner (26.997557ms) -2026-09-27T05:31:43.3688976Z ✔ throws for an About reader mounted outside AppUpdateProvider (20.728051ms) -2026-09-27T05:31:43.3689831Z ✔ AppUpdateProvider render scope (249.158701ms) -2026-09-27T05:31:43.3690438Z ▶ AppUpdateService -2026-09-27T05:31:43.3691225Z ✔ owns one main-process schedule and configures background downloads (33.799156ms) -2026-09-27T05:31:43.3692168Z ✔ accepts dev updates only in packaged Nightly builds (6.70659ms) -2026-09-27T05:31:43.3695803Z ✔ routes the feed to a loopback generic provider when the test override is set (3.64471ms) -2026-09-27T05:31:43.3696960Z ✔ rejects a non-loopback test feed instead of falling back to production (0.683733ms) -2026-09-27T05:31:43.3697915Z ✔ resolveUpdateFeedOverride accepts exactly loopback http URLs (0.488841ms) -2026-09-27T05:31:43.3698777Z ✔ does not overlap checks and cannot re-arm after disposal (8.01787ms) -2026-09-27T05:31:43.3699621Z ✔ does not schedule the production updater in an unpackaged app (4.635976ms) -2026-09-27T05:31:43.3700503Z ✔ lets the available update fixture advance through the retry action (5.763439ms) -2026-09-27T05:31:43.3701448Z ✔ projects updater events without manually starting a second download (4.698303ms) -2026-09-27T05:31:43.3702383Z ✔ fails closed when downloaded update provenance cannot be verified (4.068349ms) -2026-09-27T05:31:43.3703147Z ✔ cancels a stalled auto-download before retrying it (6.358925ms) -2026-09-27T05:31:43.3703943Z ✔ marks updater errors during a download as retryable download failures (3.426778ms) -2026-09-27T05:31:43.3704936Z ✔ recovers from a transient check failure on the built-in retry (8.754144ms) -2026-09-27T05:31:43.3705696Z ✔ surfaces the check error only after the retry has also failed (0.848543ms) -2026-09-27T05:31:43.3706466Z ✔ settles an in-flight retry when disposed during its backoff (0.732869ms) -2026-09-27T05:31:43.4316944Z ✔ requires explicit authority before interrupting active tasks (0.865438ms) -2026-09-27T05:31:43.4317915Z ✔ completes the Runtime Host handoff before dispatching the installer (0.717957ms) -2026-09-27T05:31:43.4319368Z ✔ reports synchronous and asynchronous installer failures through status (15.3898ms) -2026-09-27T05:31:43.4320193Z ✔ AppUpdateService (145.595299ms) -2026-09-27T05:31:43.4321046Z ✔ the Desktop adapter forwards exactly the five update capabilities to the app bridge (8.850954ms) -2026-09-27T05:31:43.4321714Z ▶ artifact preview registry -2026-09-27T05:31:43.4322430Z ✔ treats present MIME metadata as authoritative and rejects unsafe formats (6.937754ms) -2026-09-27T05:31:43.4335350Z ✔ enforces the inclusive metadata size boundary before loading (0.253489ms) -2026-09-27T05:31:43.4336695Z ✔ routes IPC failures and malformed successful payloads without retaining base64 (5.827355ms) -2026-09-27T05:31:43.4337845Z ✔ artifact preview registry (14.631745ms) -2026-09-27T05:31:43.4338533Z ▶ attachment approval registry (approvalId-based) -2026-09-27T05:31:43.4339402Z ✔ issues opaque approval ids that never expose the path to the renderer (5.726336ms) -2026-09-27T05:31:43.4340321Z ✔ consumes an approval only once for the issuing sender (1.113773ms) -2026-09-27T05:31:43.4341263Z ✔ rejects an approval from a different sender without consuming it (1.916408ms) -2026-09-27T05:31:43.4342056Z ✔ expires unconsumed approvals by TTL (0.284397ms) -2026-09-27T05:31:43.4342823Z ✔ caps approvals by evicting the oldest entry first (0.369227ms) -2026-09-27T05:31:43.4343559Z ✔ clears only the named sender on clearSender (1.443539ms) -2026-09-27T05:31:43.4344370Z ✔ attachment approval registry (approvalId-based) (28.489692ms) -2026-09-27T05:31:43.4345185Z ▶ encodeIngestItems -2026-09-27T05:31:43.4345800Z ✔ rejects more than 8 items without reading any file bytes (1.888205ms) -2026-09-27T05:31:43.4346587Z ✔ rejects a File over 50MB without calling arrayBuffer (0.411244ms) -2026-09-27T05:31:43.4347329Z ✔ passes approval items through untouched (0.821012ms) -2026-09-27T05:31:43.4347996Z ✔ encodes a File under 50MB to base64 (0.300451ms) -2026-09-27T05:31:43.4348802Z ✔ rejects a raw base64 item that is neither a File nor an approval token (0.226362ms) -2026-09-27T05:31:43.4349517Z ✔ encodeIngestItems (5.843601ms) -2026-09-27T05:31:43.4350052Z ▶ resolveIngestItems (pre-read validation) -2026-09-27T05:31:43.4350762Z ✔ rejects more than 8 items before touching approvals or stat (4.976626ms) -2026-09-27T05:31:43.4351707Z ✔ rejects an unapproved approvalId without stat-ing or reading the file (2.30589ms) -2026-09-27T05:31:43.4352582Z ✔ rejects an approval issued to a different sender (0.862383ms) -2026-09-27T05:31:43.4353605Z ✔ rejects an oversized path attachment after stat, before readFile or artifact create (0.629268ms) -2026-09-27T05:31:43.4373596Z ✔ rejects an oversized blob attachment before decoding it (0.372401ms) -2026-09-27T05:31:43.4374963Z ✔ consumes each approval token exactly once (0.776374ms) -2026-09-27T05:31:43.4375889Z ✔ prepared approvals commit as one set and survive failed admission (2.302675ms) -2026-09-27T05:31:43.4376810Z ✔ resolves a mix of approved paths and blobs into ingest files (0.384852ms) -2026-09-27T05:31:43.4377658Z ✔ a later invalid item does not burn earlier approval tokens (1.134922ms) -2026-09-27T05:31:43.4378507Z ✔ rejects a duplicate approvalId without consuming either token (1.210861ms) -2026-09-27T05:31:43.4396728Z ✔ rejects malformed items (0.380784ms) -2026-09-27T05:31:43.4397742Z ✔ resolveIngestItems (pre-read validation) (17.964837ms) -2026-09-27T05:31:43.4398328Z ▶ resolveAttachmentRefs -2026-09-27T05:31:43.4399024Z ✔ uses PDF magic bytes instead of a spoofed PNG extension (59.505882ms) -2026-09-27T05:31:43.4399989Z ✔ recognises a PDF whose header sits behind a preamble, not as an ordinary file (0.52118ms) -2026-09-27T05:31:43.4783056Z ✔ uses PNG magic bytes instead of conflicting renderer metadata (0.311852ms) -2026-09-27T05:31:43.4784917Z ✔ recognises an image with no extension from its bytes (0.213932ms) -2026-09-27T05:31:43.4785869Z ✔ updates the MIME when image resizing changes the encoded format (0.333468ms) -2026-09-27T05:31:43.4786727Z ✔ does not decode unknown bytes merely because the renderer calls them an image (0.278047ms) -2026-09-27T05:31:43.4787602Z ✔ rejects a path grown beyond the cap before creating a Host artifact (19.373823ms) -2026-09-27T05:31:43.4788252Z ✔ resolveAttachmentRefs (81.472251ms) -2026-09-27T05:31:43.4788882Z ▶ sniffPickedAttachmentMimeType (pick-time staging kind) -2026-09-27T05:31:43.4789626Z ✔ stages a real image named .pdf as an image so it previews and notices (18.094136ms) -2026-09-27T05:31:43.4790486Z ✔ stages a real PDF named .png as a pdf, and unknown bytes as an ordinary file (1.74673ms) -2026-09-27T05:31:43.4791360Z ✔ a read failure downgrades a claimed image/PDF name rather than trusting it (4.286367ms) -2026-09-27T05:31:43.4792255Z ✔ sniffPickedAttachmentMimeType (pick-time staging kind) (24.529583ms) -2026-09-27T05:31:43.4793038Z ▶ resolvePickedAttachments (pick dialog owner: stage by content) -2026-09-27T05:31:43.4793902Z ✔ stamps each picked path with its sniffed MIME and main-side size, not its extension (8.451963ms) -2026-09-27T05:31:43.4794979Z ✔ resolvePickedAttachments (pick dialog owner: stage by content) (8.678043ms) -2026-09-27T05:31:43.4795671Z ▶ attachment preflight (before session create) -2026-09-27T05:31:43.4796298Z ✔ rejects more than 8 items before any session is created (1.764234ms) -2026-09-27T05:31:43.4797015Z ✔ rejects an oversized File so no empty session is created (0.360952ms) -2026-09-27T05:31:43.4797774Z ✔ rejects an oversized approval-token attachment by pending size (0.254762ms) -2026-09-27T05:31:43.4798405Z ✔ rejects a duplicate approvalId (0.24438ms) -2026-09-27T05:31:43.4798999Z ✔ passes approval tokens and files under the cap (0.364117ms) -2026-09-27T05:31:43.4799680Z ✔ attachment preflight (before session create) (10.209661ms) -2026-09-27T05:31:43.4800300Z ▶ staged attachment preview (approval source) -2026-09-27T05:31:43.4801054Z ✔ returns thumbnail bytes for an approved image without consuming the approval (2.82756ms) -2026-09-27T05:31:43.4801897Z ✔ refuses an approval whose stat size exceeds the cap without reading (2.361253ms) -2026-09-27T05:31:43.4802766Z ✔ reads non-image approvals once to verify their content before refusing them (0.432411ms) -2026-09-27T05:31:43.4803603Z ✔ previews real image bytes even when the file name claims PDF (0.331367ms) -2026-09-27T05:31:43.4804378Z ✔ does not send PDF bytes with a spoofed PNG name to the image decoder (0.28315ms) -2026-09-27T05:31:43.4864319Z ✔ does not send unknown bytes with a spoofed PNG name to the image decoder (0.277821ms) -2026-09-27T05:31:43.4865533Z ✔ uses the sniffed MIME when returning original image bytes as the preview (0.332542ms) -2026-09-27T05:31:43.4866578Z ✔ registers the client-owned attachment preview IPC boundary (0.375597ms) -2026-09-27T05:31:43.4867626Z ✔ rejects unknown, foreign-sender, and malformed approval ids (0.30398ms) -2026-09-27T05:31:43.4892257Z ✔ soft-fails when the bytes cannot be read, or cannot decode and exceed the inline cap (1.721858ms) -2026-09-27T05:31:43.4893445Z ✔ staged attachment preview (approval source) (13.49872ms) -2026-09-27T05:31:43.4894368Z ▶ createBrowserViewHost canDrive (visible lease + viewport-restore wait) -2026-09-27T05:31:43.4895393Z ✔ observe on a backgrounded conversation is rejected (no off-screen reads) (1.260877ms) -2026-09-27T05:31:43.4896229Z ✔ observe on the shown conversation is allowed without a viewport (0.238269ms) -2026-09-27T05:31:43.4897090Z ✔ navigate on the shown conversation is allowed without a viewport, no wait (0.212616ms) -2026-09-27T05:31:43.4898049Z ✔ mutate on a backgrounded conversation is rejected immediately, without waiting (0.230395ms) -2026-09-27T05:31:43.4899036Z ✔ mutate on the shown conversation waits for the restored viewport, then allows (0.287636ms) -2026-09-27T05:31:43.4900293Z ✔ mutate on the shown conversation blocks when the viewport never returns (0.240659ms) -2026-09-27T05:31:43.4901398Z ✔ createBrowserViewHost canDrive (visible lease + viewport-restore wait) (4.411656ms) -2026-09-27T05:31:43.4902259Z ✔ invokes wait for the boot registration pass before dispatching (750.65015ms) -2026-09-27T05:31:43.4903134Z ✔ the gate falls open when the bootstrap channel itself is absent (598.066102ms) -2026-09-27T05:31:43.4904045Z ✔ scoped Runtime Host calls wait for target IPC registration after first paint (558.937453ms) -2026-09-27T05:31:43.4905260Z ✔ offline session-local transcript reads bypass Runtime Host readiness (479.418283ms) -2026-09-27T05:31:43.4931002Z ✔ a connecting default Host hands out its scope and the call waits at the target gate (609.547514ms) -2026-09-27T05:31:43.4932532Z ✔ module-level sends queue behind the gate until listeners exist (589.341998ms) -2026-09-27T05:31:43.4933529Z ✔ the default Host follows profile pushes and fails fast once unavailable (860.594652ms) -2026-09-27T05:31:43.4934271Z ▶ bootstrap selection lease -2026-09-27T05:31:43.4936121Z ✔ leaves the new-task surface selected when all history is archived (6.783725ms) -2026-09-27T05:31:43.4937026Z ✔ skips archived rows when choosing the first unarchived conversation (0.243953ms) -2026-09-27T05:31:43.4937859Z ✔ revalidates archive eligibility across bootstrap snapshots (0.230109ms) -2026-09-27T05:31:43.4938794Z ✔ does not reopen older history behind an empty unarchived task (3.432473ms) -2026-09-27T05:31:43.4971201Z ✔ preserves an eligible bootstrap selection when newer history arrives (0.499432ms) -2026-09-27T05:31:43.4972110Z ✔ does not override explicitly opened archived history (0.357692ms) -2026-09-27T05:31:43.4973027Z ✔ lets snapshot A and mounted pull B reconcile while bootstrap still owns selection (0.182848ms) -2026-09-27T05:31:43.4974048Z ✔ cannot select history when the user starts a new task before the first snapshot (0.940443ms) -2026-09-27T05:31:43.5007945Z ✔ cannot replace a user selection made between snapshot A and B (0.240099ms) -2026-09-27T05:31:43.5009431Z ✔ clears a bootstrap-owned selection when the latest snapshot is empty (0.276726ms) -2026-09-27T05:31:43.5010258Z ✔ does not reconcile after release (0.170427ms) -2026-09-27T05:31:43.5011073Z ✔ keeps an explicit new-task surface across a renderer reload only (4.296264ms) -2026-09-27T05:31:43.5011911Z ✔ keeps a scoped draft with the reload intent (1.249157ms) -2026-09-27T05:31:43.5012603Z ✔ bootstrap selection lease (21.445202ms) -2026-09-27T05:31:43.5013497Z ✔ zh-CN: BotChatChannelDetail renders the full warning for 1 invalid IDs (595.627822ms) -2026-09-27T05:31:43.5014759Z ✔ zh-CN: BotChatChannelDetail renders the full warning for 3 invalid IDs (63.4183ms) -2026-09-27T05:31:43.5015727Z ✔ zh-CN: BotChatChannelDetail renders the full warning for 4 invalid IDs (64.589145ms) -2026-09-27T05:31:43.5016703Z ✔ zh-CN: BotChatChannelDetail renders the full warning for 5 invalid IDs (57.087028ms) -2026-09-27T05:31:43.5017684Z ✔ zh-CN: BotChatChannelDetail omits the warning for an empty allowlist (53.921033ms) -2026-09-27T05:31:43.5018822Z ✔ zh-CN: BotChatChannelDetail renders the full help for 49 numeric IDs without a warning (27.328752ms) -2026-09-27T05:31:43.5019976Z ✔ zh-CN: BotChatChannelDetail renders the full help for 50 numeric IDs without a warning (25.223384ms) -2026-09-27T05:31:43.5021029Z ✔ zh-TW: BotChatChannelDetail renders the full warning for 1 invalid IDs (30.510805ms) -2026-09-27T05:31:43.5022023Z ✔ zh-TW: BotChatChannelDetail renders the full warning for 3 invalid IDs (31.15762ms) -2026-09-27T05:31:43.5023014Z ✔ zh-TW: BotChatChannelDetail renders the full warning for 4 invalid IDs (31.73771ms) -2026-09-27T05:31:43.5024010Z ✔ zh-TW: BotChatChannelDetail renders the full warning for 5 invalid IDs (32.809002ms) -2026-09-27T05:31:43.5025117Z ✔ zh-TW: BotChatChannelDetail omits the warning for an empty allowlist (32.261761ms) -2026-09-27T05:31:43.5026457Z ✔ zh-TW: BotChatChannelDetail renders the full help for 49 numeric IDs without a warning (37.509283ms) -2026-09-27T05:31:43.5027993Z ✔ zh-TW: BotChatChannelDetail renders the full help for 50 numeric IDs without a warning (37.554377ms) -2026-09-27T05:31:43.5029200Z ✔ en: BotChatChannelDetail renders the full warning for 1 invalid IDs (55.000175ms) -2026-09-27T05:31:43.5030177Z ✔ en: BotChatChannelDetail renders the full warning for 3 invalid IDs (37.382175ms) -2026-09-27T05:31:43.5031162Z ✔ en: BotChatChannelDetail renders the full warning for 4 invalid IDs (41.027958ms) -2026-09-27T05:31:43.5032115Z ✔ en: BotChatChannelDetail renders the full warning for 5 invalid IDs (39.537321ms) -2026-09-27T05:31:43.5033036Z ✔ en: BotChatChannelDetail omits the warning for an empty allowlist (36.750437ms) -2026-09-27T05:31:43.5034122Z ✔ en: BotChatChannelDetail renders the full help for 49 numeric IDs without a warning (35.286345ms) -2026-09-27T05:31:43.5089792Z ✔ en: BotChatChannelDetail renders the full help for 50 numeric IDs without a warning (39.061272ms) -2026-09-27T05:31:43.5090967Z ✔ real bridge failures render localized detail and overview output in all locales (2428.889626ms) -2026-09-27T05:31:43.5092064Z ✔ zh-CN: onboarding modal and completion toast localize warning details (778.641556ms) -2026-09-27T05:31:43.5093055Z ✔ zh-TW: onboarding modal and completion toast localize warning details (483.349053ms) -2026-09-27T05:31:43.5094092Z ✔ en: onboarding modal and completion toast localize warning details (543.016019ms) -2026-09-27T05:31:43.5095020Z ▶ bot incoming new-session cwd -2026-09-27T05:31:43.5095647Z ✔ leaves the cwd to the shared desktop session resolver (4.425683ms) -2026-09-27T05:31:43.5096320Z ✔ bot incoming new-session cwd (5.633047ms) -2026-09-27T05:31:43.5096843Z ▶ bot session lifecycle bindings -2026-09-27T05:31:43.5097581Z ✔ rebinds a conversation after its archived session rejects a send (11.86634ms) -2026-09-27T05:31:43.5098514Z ✔ keeps classified failure notices in the bot surface locale (4.001416ms) -2026-09-27T05:31:43.5099276Z ✔ bot session lifecycle bindings (17.344455ms) -2026-09-27T05:31:43.5100092Z ✔ the bot typing loop owns only its active abort listener (8.816144ms) -2026-09-27T05:31:43.5101148Z ✔ streams reply snapshots and persists the final reply through one channel stream (0.981146ms) -2026-09-27T05:31:43.5101895Z ▶ BotOnboardingService -2026-09-27T05:31:43.5102753Z ✔ preserves a failed live Stream probe through the onboarding warning and localized presenter (109.685619ms) -2026-09-27T05:31:43.5103774Z ✔ returns a coded error snapshot when the provider start fails (1.013937ms) -2026-09-27T05:31:43.5104881Z ✔ persists confirmed credentials in main while returning a secret-free snapshot (8.782259ms) -2026-09-27T05:31:43.5105812Z ✔ emits the QR data URL only on the start snapshot, not on every poll (0.501483ms) -2026-09-27T05:31:43.5106738Z ✔ cancels an in-flight poll and rejects its late credential result (0.761404ms) -2026-09-27T05:31:43.5107695Z ✔ rolls back credentials when cancellation crosses the runtime-effect commit window (8.360948ms) -2026-09-27T05:31:43.5108789Z ✔ does not overwrite a concurrent manual credential edit during cancellation rollback (1.871291ms) -2026-09-27T05:31:43.5109777Z ✔ rolls back credentials even when a concurrent status write lands mid-commit (4.659607ms) -2026-09-27T05:31:43.5110650Z ✔ marks a connected session with a warning when the bridge is not running (4.892052ms) -2026-09-27T05:31:43.5111395Z ✔ omits the warning when the bridge is running (3.302287ms) -2026-09-27T05:31:43.5112163Z ✔ does not advertise poll retry health for post-confirmation failures (1.903387ms) -2026-09-27T05:31:43.5113043Z ✔ invalidates an older session when the same provider starts again (2.774938ms) -2026-09-27T05:31:43.5113908Z ✔ evicts a superseded session from the map on the next start (0.820431ms) -2026-09-27T05:31:43.5146152Z ✔ dispose() aborts and clears all sessions (0.332768ms) -2026-09-27T05:31:43.5147114Z ✔ coalesces duplicate polls and applies provider slow-down backoff (2.969246ms) -2026-09-27T05:31:43.5148318Z ✔ survives a transient poll failure and only goes terminal after repeated errors (3.965761ms) -2026-09-27T05:31:43.5149411Z ✔ wakes at QR expiry after a pending provider response (1.106035ms) -2026-09-27T05:31:43.5150182Z ✔ wakes at QR expiry after a scanned provider response (0.155167ms) -2026-09-27T05:31:43.5159310Z ✔ wakes at QR expiry after a slow_down provider response (0.130685ms) -2026-09-27T05:31:43.5160455Z ✔ does not promise a retry when backoff reaches the QR expiry (6s) (0.43525ms) -2026-09-27T05:31:43.5161541Z ✔ does not promise a retry when backoff reaches the QR expiry (12s) (0.271282ms) -2026-09-27T05:31:43.5162549Z ✔ expires when an in-flight transient poll fails after the QR deadline (0.922385ms) -2026-09-27T05:31:43.5163747Z ✔ projects only a finite redacted category and clears retry health after recovery (0.389183ms) -2026-09-27T05:31:43.5164988Z ✔ clears retry health on provider terminal responses and cancellation (0.652669ms) -2026-09-27T05:31:43.5165957Z ✔ does not project a late transient failure after session supersession (0.762514ms) -2026-09-27T05:31:43.5172765Z ✔ clears network retry health when the next poll fails authentication (0.862356ms) -2026-09-27T05:31:43.5173732Z ✔ fails immediately on a fatal (non-transient) poll error (0.369536ms) -2026-09-27T05:31:43.5174711Z ✔ expires locally without polling after the provider TTL (0.225751ms) -2026-09-27T05:31:43.5186336Z ✔ maps a dead WeCom QR status to a terminal outcome instead of endless pending (0.305664ms) -2026-09-27T05:31:43.5187544Z ✔ BotOnboardingService (166.423006ms) -2026-09-27T05:31:43.5188460Z ✔ provides concise localized retry health without provider error text (1.192472ms) -2026-09-27T05:31:43.5189645Z ✔ retry presentation preserves scanned instructions and clears on recovery (zh-CN) (0.363747ms) -2026-09-27T05:31:43.5190826Z ✔ retry presentation preserves scanned instructions and clears on recovery (zh-TW) (0.25937ms) -2026-09-27T05:31:43.5191937Z ✔ retry presentation preserves scanned instructions and clears on recovery (en) (0.149621ms) -2026-09-27T05:31:43.5193029Z ✔ browser IPC isolates owned renderer documents and their native parents (52.375773ms) -2026-09-27T05:31:43.5193707Z ▶ browser logic -2026-09-27T05:31:43.5194358Z ✔ parseNavigable accepts only http(s) and normalizes (4.843916ms) -2026-09-27T05:31:43.5198238Z ✔ safeExternalUrl passes only mailto/tel (0.241558ms) -2026-09-27T05:31:43.5199008Z ✔ viewportBounds rounds, clamps, and hides on empty (3.071004ms) -2026-09-27T05:31:43.5199927Z ✔ viewportBoundsAtScale converts CSS pixels to DIP without edge seams (2.174141ms) -2026-09-27T05:31:43.5200816Z ✔ browserActionAllowed enforces the visible lease (0.286134ms) -2026-09-27T05:31:43.5201592Z ✔ deriveBrowserState computes hasPage and secure (2.967046ms) -2026-09-27T05:31:43.5202219Z ✔ browser logic (15.452915ms) -2026-09-27T05:31:43.5202962Z ✔ falls back natively and never attaches to an inaccessible parent (6.154492ms) -2026-09-27T05:31:43.5203923Z ✔ drives the BrowserWindow lifecycle through a safe response URL (14.704209ms) -2026-09-27T05:31:43.5205210Z ✔ maps close to cancel and falls back after each BrowserWindow presentation failure (35.507978ms) -2026-09-27T05:31:43.5206165Z ✔ reveals the dialog only as far as the run reveal mode allows (6.865172ms) -2026-09-27T05:31:43.5207009Z ✔ accepts only an in-range response URL produced by the dialog (0.37303ms) -2026-09-27T05:31:43.5207923Z ✔ centers against the parent while keeping the whole dialog on-screen (2.529262ms) -2026-09-27T05:31:43.5208846Z ✔ renders escaped content with Maka dialog tokens and safe action ordering (1.267755ms) -2026-09-27T05:31:43.5209907Z ✔ routes button and keyboard decisions through the rendered interaction bridge (49.535395ms) -2026-09-27T05:31:43.5210951Z ✔ a navigate lease allows the old page but only arms for its approved target (5.081968ms) -2026-09-27T05:31:43.5228878Z ▶ browser selection ordering -2026-09-27T05:31:43.5229841Z ✔ does not let a delayed selection resolution undo a newer hide (15.061731ms) -2026-09-27T05:31:43.5231090Z ✔ binds capture and viewport delivery to the newest resolved selection generation (0.591962ms) -2026-09-27T05:31:43.5232049Z ✔ browser selection ordering (22.445595ms) -2026-09-27T05:31:43.5232511Z ▶ BrowserSession -2026-09-27T05:31:43.5233147Z ✔ connects once and reuses the cached connection across actions (6.6076ms) -2026-09-27T05:31:43.5234001Z ✔ shares one connect across two concurrent first actions (single-flight) (19.692757ms) -2026-09-27T05:31:43.5235188Z ✔ defers the takeover reload: observe never reloads, the first mutate hardens once (3.515302ms) -2026-09-27T05:31:43.5236164Z ✔ a navigation clears the pending takeover without reloading (goto re-stealths) (0.775028ms) -2026-09-27T05:31:43.5237092Z ✔ never reloads a blank/non-web page, even before a mutate (0.564524ms) -2026-09-27T05:31:43.5237972Z ✔ invalidates and reconnects after a connection-loss error (2.578042ms) -2026-09-27T05:31:43.5238872Z ✔ times out, severs the connection, and surfaces a typed error (22.274571ms) -2026-09-27T05:31:43.5239843Z ✔ rejects immediately on an already-aborted signal without connecting (0.634482ms) -2026-09-27T05:31:43.5240750Z ✔ aborts a running action and severs the connection (4.234278ms) -2026-09-27T05:31:43.5241667Z ✔ releases background rendering when cancellation interrupts preparation (0.681732ms) -2026-09-27T05:31:43.5242744Z ✔ releaseBrowserSession disposes the view and closes the connection (3.264174ms) -2026-09-27T05:31:43.5243565Z ✔ unwinds an acquire when the session is released mid-connect (1.628777ms) -2026-09-27T05:31:43.5265566Z ✔ visible-lease gate: blocks every vetoed kind — incl. observe — before connecting (0.493024ms) -2026-09-27T05:31:43.5267314Z ✔ revokes an in-flight action when the user switches away from its conversation (8.130349ms) -2026-09-27T05:31:43.5268272Z ✔ does not revoke an action for the conversation that is still shown (3.603524ms) -2026-09-27T05:31:43.5268994Z ✔ fails clearly when no host is injected (0.396488ms) -2026-09-27T05:31:43.5269582Z ✔ BrowserSession (85.298053ms) -2026-09-27T05:31:43.5270113Z ▶ browser tool helpers -2026-09-27T05:31:43.5270885Z ✔ normalizeElementRef unwraps a bracketed ref and passes selectors through (2.734806ms) -2026-09-27T05:31:43.5271894Z ✔ takeoverNote appears only after a takeover reload (0.631096ms) -2026-09-27T05:31:43.5272496Z ✔ browser tool helpers (7.538255ms) -2026-09-27T05:31:43.5272919Z ▶ browser tool execution -2026-09-27T05:31:43.5273519Z ✔ navigate rejects a non-web URL before connecting (3.549141ms) -2026-09-27T05:31:43.5274536Z ✔ navigate returns only a sanitized destination after a cross-Origin redirect (12.410604ms) -2026-09-27T05:31:43.5275439Z ✔ click returns only the new URL after cross-Origin navigation (9.777436ms) -2026-09-27T05:31:43.5276258Z ✔ covers the Provider second-check → first page await gap end to end (17.70142ms) -2026-09-27T05:31:43.5277164Z ✔ discards a snapshot when the page crosses Origin and returns to the approved site (0.976376ms) -2026-09-27T05:31:43.5278120Z ✔ covers an A→B→A takeover reload before the first mutating page call (0.842423ms) -2026-09-27T05:31:43.5279056Z ✔ does not press Enter when filling navigates away from the approved Origin (2.329556ms) -2026-09-27T05:31:43.5279941Z ✔ returns only a sanitized URL after same-Origin click navigation (1.13711ms) -2026-09-27T05:31:43.5280823Z ✔ type reports verification failure with the actual content (17.875861ms) -2026-09-27T05:31:43.5281558Z ✔ wait requires exactly one of text/selector/time (2.468948ms) -2026-09-27T05:31:43.5282310Z ✔ extract fails clearly when a selector matches nothing (5.005338ms) -2026-09-27T05:31:43.5283129Z ✔ extract page-side script swallows an invalid selector instead of throwing (0.480295ms) -2026-09-27T05:31:43.5284039Z ✔ a tool fails with a clear message when no host is injected (0.270573ms) -2026-09-27T05:31:43.5315970Z ✔ browser tool execution (76.078095ms) -2026-09-27T05:31:43.5316903Z ▶ BrowserViewManager -2026-09-27T05:31:43.5317555Z ✔ fires onLiveChange on create and dispose, not on reuse (5.287911ms) -2026-09-27T05:31:43.5318799Z ✔ dispose removes the view, disposes it, and lets the next create be fresh (0.368063ms) -2026-09-27T05:31:43.5319946Z ✔ disposeAll tears down every view (leak invariant) (3.901305ms) -2026-09-27T05:31:43.5320639Z ✔ BrowserViewManager (14.277588ms) -2026-09-27T05:31:43.5321563Z ✔ a packaged build reports no commit and does not read the filesystem for one (8.418191ms) -2026-09-27T05:31:43.5322563Z ✔ an ordinary clone resolves the commit through a ref (25.610156ms) -2026-09-27T05:31:43.5323625Z ✔ a linked worktree reads HEAD privately and the branch ref from commondir (16.230255ms) -2026-09-27T05:31:43.5325407Z ✔ a worktree finds a packed branch ref in the common directory (12.619078ms) -2026-09-27T05:31:43.5326278Z ✔ a worktree pointer relative to the checkout resolves (5.273988ms) -2026-09-27T05:31:43.5327602Z ✔ a detached HEAD is already the sha (6.047141ms) -2026-09-27T05:31:43.5328363Z ✔ a packed ref resolves when no loose ref file exists (1.363208ms) -2026-09-27T05:31:43.5329376Z ✔ an unreadable checkout reports dev with no commit rather than throwing (1.849106ms) -2026-09-27T05:31:43.5330054Z ▶ CdpBridge -2026-09-27T05:31:43.5330716Z ✔ relays a CDP command to the debugger and returns its result (92.748741ms) -2026-09-27T05:31:43.5331491Z ✔ forwards debugger events to the client (22.144013ms) -2026-09-27T05:31:43.5332262Z ✔ surfaces a debugger command error as a CDP error response (11.226406ms) -2026-09-27T05:31:43.5333161Z ✔ a query string after the secret path does not break authorization (4.596799ms) -2026-09-27T05:31:43.5333939Z ✔ rejects a wrong secret at the upgrade (3.522336ms) -2026-09-27T05:31:43.5334885Z ✔ a rejected wrong-secret attempt does not consume the single slot (6.252938ms) -2026-09-27T05:31:43.5355586Z ✔ rejects a connection that carries a browser Origin (4.611122ms) -2026-09-27T05:31:43.5357018Z ✔ rejects a mismatched Host header (DNS-rebinding guard) (5.985917ms) -2026-09-27T05:31:43.5357810Z ✔ allows only one connection at a time (9.78909ms) -2026-09-27T05:31:43.5358626Z ✔ stop() detaches the debugger and closes the connection (8.412288ms) -2026-09-27T05:31:43.5359593Z ✔ teardown fails in-flight commands instead of leaving them to time out (9.563982ms) -2026-09-27T05:31:43.5360566Z ✔ teardown failure responses carry the command's sessionId (9.12823ms) -2026-09-27T05:31:43.5361485Z ✔ teardown fails every session sharing an in-flight command id (5.444048ms) -2026-09-27T05:31:43.5362484Z ✔ rejects an in-flight duplicate within the root session and allows reuse (9.095477ms) -2026-09-27T05:31:43.5363612Z ✔ rejects an in-flight duplicate within session-a and allows reuse (14.489202ms) -2026-09-27T05:31:43.5385773Z ✔ isolates concurrent id 7 in the root session and session-b after success (8.347796ms) -2026-09-27T05:31:43.5387764Z ✔ isolates concurrent id 7 in the root session and session-b after an error (7.735666ms) -2026-09-27T05:31:43.5389403Z ✔ isolates concurrent id 7 in session-a and session-b after success (10.801795ms) -2026-09-27T05:31:43.5390667Z ✔ isolates concurrent id 7 in session-a and session-b after an error (16.731916ms) -2026-09-27T05:31:43.5391726Z ✔ a reconnecting client reusing an id in the root session never sees the previous result (5.406832ms) -2026-09-27T05:31:43.5392843Z ✔ a reconnecting client reusing an id in session-a never sees the previous result (13.153147ms) -2026-09-27T05:31:43.5393685Z ✔ an external debugger detach tears the bridge down (5.755932ms) -2026-09-27T05:31:43.5395550Z ✔ concurrent start() calls share one bridge instead of misreporting target-busy (3.409158ms) -2026-09-27T05:31:43.5397026Z ✔ stop() racing a start() in flight yields a typed error and a clean restart (9.831289ms) -2026-09-27T05:31:43.5398443Z ✔ destroying the WebContents tears the bridge down (9.518406ms) -2026-09-27T05:31:43.5399570Z ✔ drops an authorized upgrade that races stop() nulling the ws server (2.733446ms) -2026-09-27T05:31:43.5400570Z ✔ start() throws target-busy when the debugger is already attached (0.290674ms) -2026-09-27T05:31:43.5401698Z ✔ start() throws target-destroyed for a gone WebContents (0.335499ms) -2026-09-27T05:31:43.5402748Z ✔ CdpBridge (319.052649ms) -2026-09-27T05:31:43.5496397Z ▶ filesystem worker Linux path context -2026-09-27T05:31:43.5553643Z ✔ reports excessive ancestor ignore files before preparing or launching a worker (563.786793ms) -2026-09-27T05:31:43.5613136Z ✔ rejects an existing subtree that disappears before it can be pinned (8.251521ms) -2026-09-27T05:31:43.5692264Z ✔ pins an existing operation target through an inherited descriptor (11.250689ms) -2026-09-27T05:31:43.5732688Z ✔ Memory mutation reaches the next applicable real provider request (5332.531564ms) -2026-09-27T05:31:43.6014162Z ✔ pins the writable parent of a missing exact target (30.016465ms) -2026-09-27T05:31:43.6067797Z ✔ requests a trusted parent mount only for a missing write target (9.552885ms) -2026-09-27T05:31:43.6157888Z ✔ filesystem worker Linux path context (623.470401ms) -2026-09-27T05:31:43.6307790Z ▶ filesystem worker client dispatch classification -2026-09-27T05:31:43.6372477Z ✔ classifies a post-dispatch runProcess rejection as worker_io_incomplete (29.014118ms) -2026-09-27T05:31:43.6397032Z ✔ classifies a never-dispatched runProcess rejection as spawn_failed (7.478255ms) -2026-09-27T05:31:43.6523535Z ✔ a rejection without a dispatched flag is treated as never-dispatched (11.412699ms) -2026-09-27T05:31:43.6688246Z ✔ drops a stale identity when the target vanished while queued (delete-then-rewrite) (19.554613ms) -2026-09-27T05:31:43.6766352Z ✔ rejects a write whose target was created while queued (never invalid_request) (9.110807ms) -2026-09-27T05:31:43.6839573Z ✔ lets an unchecked caller write an existing target without a CAS identity (#3484) (8.198239ms) -2026-09-27T05:31:43.6929897Z ✔ marks a T0-missing create as missing on the wire, not unchecked (#3484) (6.517637ms) -2026-09-27T05:31:43.6989854Z ✔ a read without expectedIdentity sends unchecked automatically (#3487) (5.390327ms) -2026-09-27T05:31:43.7057763Z ✔ a write without expectedIdentity is rejected at runtime (#3487) (4.783925ms) -2026-09-27T05:31:43.7148672Z ✔ filesystem worker client dispatch classification (102.403367ms) -2026-09-27T05:31:43.7366042Z ✔ Linux Electron worker launch does not require a macOS Frameworks directory (34.034389ms) -2026-09-27T05:31:43.7410114Z ✔ macOS worker launch includes inspected ripgrep runtime directories (10.029788ms) -2026-09-27T05:31:43.7455899Z ✔ macOS worker omits ripgrep when dependency inspection fails (5.391811ms) -2026-09-27T05:31:43.7515898Z ✔ Windows packaged worker grants only its product-owned application directory (901.850918ms) -2026-09-27T05:31:43.7535790Z ✔ a node runtime worker never receives the Electron-only stdio switch (3.682852ms) -2026-09-27T05:31:43.7565864Z ✔ a ripgrep installed after the first launch is found by the next one (#5169) (13.110739ms) -2026-09-27T05:31:43.7601063Z ✔ a ripgrep that disappears is replaced by the next launch, and only the replacement is granted (#5169) (14.138605ms) -2026-09-27T05:31:43.7633217Z ✔ non-Grep launches neither inspect nor grant ripgrep (4.400143ms) -2026-09-27T05:31:43.7666049Z ✔ the worker is told where it runs so Grep can say where to install ripgrep (#5169) (3.839976ms) -2026-09-27T05:31:43.7715513Z ✔ outside WSL the worker is not told a machine name (#5169) (3.075503ms) -2026-09-27T05:31:43.7716631Z ✔ a repaired dependency is rechecked without changing ripgrep or restarting (9.043513ms) -2026-09-27T05:31:43.7815538Z ✔ dependency grants refresh even when the ripgrep executable is unchanged (6.316665ms) -2026-09-27T05:31:43.7817064Z ✔ on Windows the winget links directory is searched even when PATH predates the install (#5169) (10.181755ms) -2026-09-27T05:31:44.9373022Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:31:45.1780930Z ▶ Linux filesystem worker smoke -2026-09-27T05:31:45.1815320Z ✔ runs Read, Write, Edit, Glob, and Grep inside bubblewrap (2219.720285ms) -2026-09-27T05:31:45.6841699Z ✔ creates a nested patch file inside bubblewrap (504.392587ms) -2026-09-27T05:31:45.9726825Z ✔ hands off only the unresolved new-task draft while a Session is open (358.497818ms) -2026-09-27T05:31:46.0966369Z ✔ carries the visible new-task draft when the target Project changes (138.277928ms) -2026-09-27T05:31:46.1398151Z ✔ applies one exact outside grant without opening its sibling (453.924421ms) -2026-09-27T05:31:46.1493253Z ✔ Linux filesystem worker smoke (3203.843843ms) -2026-09-27T05:31:46.1761436Z ✔ filesystem worker process receives inherited fd inputs alongside request stdin (122.924058ms) -2026-09-27T05:31:46.1808276Z ✔ filesystem worker does not spawn for an already-aborted request (15.045794ms) -2026-09-27T05:31:46.1831856Z ✔ filesystem worker rejects boundedly when a detached descendant retains stdout (249.057422ms) -2026-09-27T05:31:46.1875489Z ﹣ macOS filesystem worker smoke (0.739609ms) # SKIP -2026-09-27T05:31:46.1914084Z ﹣ Windows filesystem worker smoke (1.141417ms) # SKIP -2026-09-27T05:31:46.1972988Z ▶ filesystem worker operations -2026-09-27T05:31:46.2016596Z ✔ creates nested patch files exclusively (73.798841ms) -2026-09-27T05:31:46.2046409Z ✔ returns a recoverable patch conflict without changing the file (16.750568ms) -2026-09-27T05:31:46.2089072Z ✔ deletes a symlink entry without deleting its target (16.855834ms) -2026-09-27T05:31:46.2132754Z ✔ refuses a directory delete with the structured is_directory code (23.520656ms) -2026-09-27T05:31:46.2182975Z ✔ fails Grep closed inside the Windows sandbox instead of approximating its contract (7.005182ms) -2026-09-27T05:31:46.2236076Z ✔ runs Grep from the filesystem root without broadening its target permission (13.878951ms) -2026-09-27T05:31:46.2285493Z ✔ names ripgrep, where to install it, and a retry when no usable copy was found (#5167) (10.913063ms) -2026-09-27T05:31:46.2323164Z ✔ reports a ripgrep that vanished after startup as unavailable, not as a missing search path (37.123288ms) -2026-09-27T05:31:46.2395010Z ✔ passes option-like Grep patterns after a `--` separator (10.400528ms) -2026-09-27T05:31:46.2435395Z ✔ returns no Grep matches for exit code 1 and surfaces bounded stderr for failures (5.246776ms) -2026-09-27T05:31:46.2527793Z ✔ reads a validated image through the approved path capability (5.038075ms) -2026-09-27T05:31:46.2548843Z ✔ classifies symlinks by their canonical target (10.670876ms) -2026-09-27T05:31:46.2584199Z ✔ reads and writes only the canonical path capability in the request (7.168124ms) -2026-09-27T05:31:46.2636202Z ✔ denies a write through a dangling symlink the boundary does not cover (6.905795ms) -2026-09-27T05:31:46.2703429Z ✔ fails when an approved target changes type before execution (1.452827ms) -2026-09-27T05:31:46.2765691Z ✔ fails when a symlink no longer resolves to the approved canonical target (5.766093ms) -2026-09-27T05:31:46.2768403Z ✔ accepts an unchecked write target without an identity (#3484) (9.287915ms) -2026-09-27T05:31:46.2841852Z ✔ rejects a write whose T0-missing target exists at execution time (#3484) (3.387705ms) -2026-09-27T05:31:46.2883718Z ✔ returns a localized diff for a small Edit in a large file (7.683699ms) -2026-09-27T05:31:46.2947912Z ✔ omits an oversized Edit diff while still applying the replacement (10.094098ms) -2026-09-27T05:31:46.2999370Z ✔ omits the diff when FormatJson leaves the file unchanged (4.540768ms) -2026-09-27T05:31:46.3055787Z ✔ reports no diff — not a new-file diff — when an existing file cannot be read (5.588786ms) -2026-09-27T05:31:46.3068916Z ✔ reports no diff when overwriting an image (10.351861ms) -2026-09-27T05:31:46.3153620Z ✔ filesystem worker operations (310.144428ms) -2026-09-27T05:31:46.3160372Z ✔ device authorization decodes the GitHub grant and bounds its window (38.678245ms) -2026-09-27T05:31:46.3214603Z ✔ device authorization rejects an error body returned with HTTP 200 (9.14142ms) -2026-09-27T05:31:46.3326457Z ✔ device authorization refuses a verification URL outside github.com (9.092096ms) -2026-09-27T05:31:46.3376961Z ✔ polling treats HTTP 200 authorization_pending and slow_down as retries (12.149064ms) -2026-09-27T05:31:46.3393680Z ✔ polling rejects a token that is not a GitHub account credential (3.688714ms) -2026-09-27T05:31:46.3445114Z ✔ polling separates a user denial from an elapsed authorization window (9.52841ms) -2026-09-27T05:31:46.3552807Z ✔ polling stops before issuing a request once the local window elapsed (0.358855ms) -2026-09-27T05:31:46.3556679Z ✔ polling records the lifetime GitHub returned instead of a non-expiring token (5.239378ms) -2026-09-27T05:31:46.3613901Z ✔ polling rejects an expiring grant that carries no refresh token (0.728269ms) -2026-09-27T05:31:46.3709960Z ✔ entitlement accepts an account whose catalog lists a usable model (9.459203ms) -2026-09-27T05:31:46.3803428Z ✔ entitlement refuses an account the provider proved ineligible (8.702062ms) -2026-09-27T05:31:46.3830240Z ✔ entitlement does not call a subscribed account ineligible when it cannot ask (2.462829ms) -2026-09-27T05:31:46.3868445Z ✔ Glob reports a resolved cwd disappearing before traversal (80.035613ms) -2026-09-27T05:31:46.3895719Z ✔ Glob reports an enumerated directory disappearing or changing type during traversal (32.532581ms) -2026-09-27T05:31:46.4005947Z ✔ both Glob paths report permission failures and recover after permissions are restored (39.696854ms) -2026-09-27T05:31:46.4037864Z ✔ does not resurrect a sent new-task draft from a target passed through (139.45448ms) -2026-09-27T05:31:46.4085905Z ✔ Glob retains native pattern membership, including hidden entries and explicit symlink paths (75.281237ms) -2026-09-27T05:31:46.4117266Z ✔ Memory private route preserves Host policy result and validates custom params (2731.175477ms) -2026-09-27T05:31:46.4176499Z ✔ Glob reports truncation when the pattern matched more files than the limit (8.933323ms) -2026-09-27T05:31:46.4206037Z ✔ a send in flight owns its text even if the target changes under it (86.83724ms) -2026-09-27T05:31:46.4275631Z ✔ Glob reports a complete result when the limit is met exactly (9.47973ms) -2026-09-27T05:31:46.4302843Z ✔ a local Glob stops when cancelled during an overflow probe (98.035289ms) -2026-09-27T05:31:46.4395780Z ✔ Glob marks a capped result incomplete when overflow probing hits a filesystem error (12.444732ms) -2026-09-27T05:31:46.4674169Z ✔ a send in flight still hands over text typed after it was submitted (142.681148ms) -2026-09-27T05:31:46.4870892Z ✔ Goal activity covers evaluation through settlement but not a paused durable Goal (25.60114ms) -2026-09-27T05:31:46.4902416Z ✔ handoff hold finishes Goal accounting without admitting a successor; release resumes it (20.145964ms) -2026-09-27T05:31:46.4961353Z ✔ handoff hold removes waiting timers and cancellation restores the same Goal (9.956438ms) -2026-09-27T05:31:46.5022158Z ▶ GoalContinuationCoordinator settlement -2026-09-27T05:31:46.5087588Z ✔ recovery admits the durable pending continuation without regenerating its prompt (45.549584ms) -2026-09-27T05:31:46.5156862Z ✔ recovery inserts the task reminder before the frozen evaluation and Goal context (4.455943ms) -2026-09-27T05:31:46.5227408Z ✔ settlement records a durable continuation outbox entry before admission (2.688005ms) -2026-09-27T05:31:46.5265794Z ✔ binds a Goal created by the same external turn before it settles (10.626788ms) -2026-09-27T05:31:46.5305816Z ✔ an unbound turn cannot settle a Goal created by a concurrent turn (1.546273ms) -2026-09-27T05:31:46.5339156Z ✔ an older unbound turn cannot activate a Goal after another turn activated and cleared one (2.763697ms) -2026-09-27T05:31:46.5398342Z ✔ a turn registered against a paused Goal cannot activate after another turn clears it (2.480188ms) -2026-09-27T05:31:46.5447944Z ✔ an old Goal turn cannot pause or clear a replacement Goal (4.199939ms) -2026-09-27T05:31:46.5493041Z ▶ a removed external turn cannot create or resume a Goal through the real tools -2026-09-27T05:31:46.5536538Z ✔ GoalSet after permanent removal (0.988673ms) -2026-09-27T05:31:46.5568143Z ✔ GoalResume after archive and replacement (1.645803ms) -2026-09-27T05:31:46.5627764Z ✔ a removed external turn cannot create or resume a Goal through the real tools (4.201591ms) -2026-09-27T05:31:46.5676964Z ▶ every decline cause is reachable from the real coordinator -2026-09-27T05:31:46.5735677Z ✔ a shut-down coordinator says so, instead of denying the turn was registered (0.968707ms) -2026-09-27T05:31:46.5767838Z ✔ a turn already bound to a goal is not told it tried to arm a second one (1.017529ms) -2026-09-27T05:31:46.5798432Z ✔ GoalSet on a turn that is still bound to a finished goal is refused as a second arming (3.675647ms) -2026-09-27T05:31:46.5872884Z ✔ a turn that started before the goal existed is told that, not that it is unregistered (0.621743ms) -2026-09-27T05:31:46.5916799Z ✔ every decline cause is reachable from the real coordinator (6.678306ms) -2026-09-27T05:31:46.5977191Z ✔ closed sessions reject fresh turns until explicitly reopened (0.53252ms) -2026-09-27T05:31:46.5986178Z ▶ a rolled-back session close leaves revoked continuation visibly paused -2026-09-27T05:31:46.6048781Z ✔ busy continuation intent (16.705496ms) -2026-09-27T05:31:46.6093743Z ✔ in-flight evaluator (4.977489ms) -2026-09-27T05:31:46.6162594Z ✔ a rolled-back session close leaves revoked continuation visibly paused (22.421407ms) -2026-09-27T05:31:46.6217387Z ▶ transfers same-turn authority across its own lifecycle mutation -2026-09-27T05:31:46.6245303Z ✔ pause then resume (4.265855ms) -2026-09-27T05:31:46.6334781Z ✔ clear then replace (0.98224ms) -2026-09-27T05:31:46.6476124Z ✔ transfers same-turn authority across its own lifecycle mutation (5.83317ms) -2026-09-27T05:31:46.6545702Z ✔ an impossible verdict terminates without admission (0.378113ms) -2026-09-27T05:31:46.6605823Z ✔ nonterminal settlement updates counters and admits one real continuation (8.293219ms) -2026-09-27T05:31:46.6676210Z ✔ evaluator failure remains neutral and fail-open (0.903104ms) -2026-09-27T05:31:46.6765820Z ✔ invalid met cannot settle a Goal or change its stall counter (5.288441ms) -2026-09-27T05:31:46.6796422Z ✔ invalid impossible cannot settle a Goal or change its stall counter (1.18002ms) -2026-09-27T05:31:46.6874775Z ✔ invalid progress cannot settle a Goal or change its stall counter (1.01012ms) -2026-09-27T05:31:46.6966278Z ✔ invalid waiting cannot settle a Goal or change its stall counter (1.072797ms) -2026-09-27T05:31:46.7006566Z ✔ context failure pauses the exact Goal with a visible reason (0.502592ms) -2026-09-27T05:31:46.7076814Z ✔ queued completions are evaluated FIFO and collapse to the newest pending intent (1.026693ms) -2026-09-27T05:31:46.7165708Z ✔ queues failures behind earlier evidence and discards later queued outcomes (5.044845ms) -2026-09-27T05:31:46.7259783Z ✔ pause and resume invalidate every outcome queued under the previous control lease (0.448645ms) -2026-09-27T05:31:46.7335526Z ✔ a pre-pause external turn cannot settle the resumed Goal (0.259374ms) -2026-09-27T05:31:46.7405762Z ✔ archive invalidates queued and in-flight outcomes before Goal replacement (8.045327ms) -2026-09-27T05:31:46.7476023Z ▶ model pause and clear abort an older evaluator without revoking their own turn -2026-09-27T05:31:46.7555375Z ✔ pause (1.217765ms) -2026-09-27T05:31:46.7655467Z ✔ clear (5.839061ms) -2026-09-27T05:31:46.7701158Z ✔ model pause and clear abort an older evaluator without revoking their own turn (7.595318ms) -2026-09-27T05:31:46.7790909Z ✔ archive consumes an external turn that has not reached the FIFO (0.245708ms) -2026-09-27T05:31:46.7835606Z ✔ dispose revokes an evaluator and all later injection (0.308411ms) -2026-09-27T05:31:46.7925757Z ✔ restores a reload draft when its own target is selected later (86.593425ms) -2026-09-27T05:31:46.7973764Z ✔ close waits for accepted evaluator resource cleanup (1.606792ms) -2026-09-27T05:31:46.8055650Z ✔ GoalContinuationCoordinator settlement (177.50866ms) -2026-09-27T05:31:46.8136832Z ▶ GoalContinuationCoordinator admission and completion -2026-09-27T05:31:46.8171014Z ▶ aborted, suspended, and errored external turns pause the current Goal without evaluation -2026-09-27T05:31:46.8265382Z ✔ aborted (0.702989ms) -2026-09-27T05:31:46.8349230Z ✔ suspended (0.210307ms) -2026-09-27T05:31:46.8438085Z ✔ errored (0.131018ms) -2026-09-27T05:31:46.8465950Z ✔ aborted, suspended, and errored external turns pause the current Goal without evaluation (1.625203ms) -2026-09-27T05:31:46.8555748Z ✔ busy preserves the intent and retries only after the host becomes idle (16.480271ms) -2026-09-27T05:31:46.8605762Z ✔ new completion evidence outranks an intent waiting on busy (1.245001ms) -2026-09-27T05:31:46.8606992Z ✔ durable intent supersession preserves concurrent evidence order (8.250838ms) -2026-09-27T05:31:46.8636539Z ✔ a stale owned-turn failure cannot erase a newer intent waiting on busy (1.09417ms) -2026-09-27T05:31:46.8663651Z ✔ a stale queued Goal-owned completion cannot erase a newer intent (6.439823ms) -2026-09-27T05:31:46.8665391Z ✔ unavailable admission pauses instead of leaving a false active Goal (9.349066ms) -2026-09-27T05:31:46.8666623Z ✔ a checkpoint change during task inspection discards the stale intent (1.057232ms) -2026-09-27T05:31:46.8667752Z ✔ a completed Goal-owned turn re-enters the FIFO with its real turn id (1.1725ms) -2026-09-27T05:31:46.8669826Z ✔ an admitted Goal-owned turn transfers its checkpoint across pause and resume (7.581971ms) -2026-09-27T05:31:46.8685707Z ✔ archive consumes an admitted Goal-owned turn before its completion arrives (0.775918ms) -2026-09-27T05:31:46.8715978Z ✔ a completed Goal-owned turn is consumed without crossing pause and resume (0.778972ms) -2026-09-27T05:31:46.8745514Z ▶ resolved failure and rejected Goal-owned turns pause without retrying -2026-09-27T05:31:46.8775328Z ✔ aborted (11.17111ms) -2026-09-27T05:31:46.8805162Z ✔ rejected (0.893103ms) -2026-09-27T05:31:46.8806281Z ✔ resolved failure and rejected Goal-owned turns pause without retrying (12.670802ms) -2026-09-27T05:31:46.8835631Z ✔ GoalContinuationCoordinator admission and completion (69.400778ms) -2026-09-27T05:31:46.8858312Z ▶ GoalContinuationCoordinator waiting and task gate -2026-09-27T05:31:46.8877707Z ✔ waiting is visible and uses 5s → 10s backoff instead of immediate turns (5.451875ms) -2026-09-27T05:31:46.8879648Z ✔ waiting recovery preserves its frozen prompt across wake, busy admission, and re-recovery (1.036823ms) -2026-09-27T05:31:46.8898194Z ✔ a real user turn preempts waiting and cancels its retry (8.668911ms) -2026-09-27T05:31:46.8916216Z ✔ task reminder is consumed and traced only after admission starts (4.948335ms) -2026-09-27T05:31:46.8918907Z ✔ task reminder is injected once per Goal across chained turns (1.283918ms) -2026-09-27T05:31:46.8945689Z ✔ a pending diagnostic trace cannot block a completed owned turn behind it (2.989687ms) -2026-09-27T05:31:46.8975612Z ✔ GoalContinuationCoordinator waiting and task gate (24.980737ms) -2026-09-27T05:31:46.9005677Z ✔ leaves a Session draft alone when the new-task target changes behind it (171.240589ms) -2026-09-27T05:31:46.9007115Z ✔ composer recovery notices share one wrapper and secondary disabled action (66.454473ms) -2026-09-27T05:31:46.9036027Z ✔ composer recovery notices omit the action when no handler exists (1.832974ms) -2026-09-27T05:31:46.9049090Z ✔ Session recovery disables only a hidden model-picker action (4.36894ms) -2026-09-27T05:31:46.9050302Z ✔ a hidden model picker does not disable reload or Settings recovery (6.290242ms) -2026-09-27T05:31:46.9063322Z ✔ ChatView renders the optimistic bubble and running status before a session exists (99.161677ms) -2026-09-27T05:31:46.9065079Z ✔ ChatView shows the empty state when there is neither a bubble nor a running turn (4.778741ms) -2026-09-27T05:31:46.9066355Z ✔ a prompt on its way to the Host holds its Turn place beside a copy that did not send (47.287957ms) -2026-09-27T05:31:46.9067620Z ✔ ordinary sends stay in ChatView while queued prompts stay in the composer (223.547149ms) -2026-09-27T05:31:46.9697235Z ✔ desktop plugin routing unprojects Session ids, fences Host identity and pins streams across selection changes (13.176671ms) -2026-09-27T05:31:46.9756495Z ✔ Client Plugin transport serves only the exact Host-projected bundle generation (94.250126ms) -2026-09-27T05:31:46.9832630Z ✔ Client Plugin streams belong to their renderer document, including late opens (8.107781ms) -2026-09-27T05:31:47.1485644Z ✔ applies each client settings snapshot once across local writes and file watcher echoes (12.756216ms) -2026-09-27T05:31:47.1517477Z ✔ applies a chosen app icon once, and again only when the choice changes (0.674888ms) -2026-09-27T05:31:47.1565988Z ✔ an OS appearance flip re-applies the icon without any setting changing (4.218205ms) -2026-09-27T05:31:47.1599673Z ✔ with one icon for both appearances a theme flip changes nothing (0.545389ms) -2026-09-27T05:31:47.1626308Z ✔ an explicit dark preference ignores what the OS reports (0.45092ms) -2026-09-27T05:31:47.1671011Z ✔ applies WorkHub enable state from the supplied snapshot without another storage read (3.150645ms) -2026-09-27T05:31:47.2716441Z ✔ client settings updates filter Host policy and return newly submitted secrets (6.60226ms) -2026-09-27T05:31:47.3141111Z ✔ refreshes only for client settings replacements and stops cleanly (13.564711ms) -2026-09-27T05:31:47.3846326Z ▶ parseGoalEvaluation -2026-09-27T05:31:47.3895879Z ✔ ignores a stray wait_seconds field in evaluator output (6.320121ms) -2026-09-27T05:31:47.3976898Z ✔ extracts JSON from surrounding prose (0.575634ms) -2026-09-27T05:31:47.4047770Z ✔ missing fields default to false (1.725471ms) -2026-09-27T05:31:47.4104120Z ✔ rejects met="false" as a neutral evaluator failure (0.324532ms) -2026-09-27T05:31:47.4189446Z ✔ rejects met="true" as a neutral evaluator failure (0.207559ms) -2026-09-27T05:31:47.4372478Z ✔ rejects met="" as a neutral evaluator failure (0.149642ms) -2026-09-27T05:31:47.4537030Z ✔ rejects met=0 as a neutral evaluator failure (3.284815ms) -2026-09-27T05:31:47.4551947Z ✔ rejects met=1 as a neutral evaluator failure (0.191408ms) -2026-09-27T05:31:47.4615716Z ✔ rejects met=null as a neutral evaluator failure (1.05942ms) -2026-09-27T05:31:47.4675617Z ✔ rejects met=[] as a neutral evaluator failure (0.23585ms) -2026-09-27T05:31:47.4678862Z ✔ rejects impossible="false" as a neutral evaluator failure (0.156174ms) -2026-09-27T05:31:47.4706151Z ✔ rejects impossible="true" as a neutral evaluator failure (0.167834ms) -2026-09-27T05:31:47.4745544Z ✔ rejects impossible="" as a neutral evaluator failure (0.107865ms) -2026-09-27T05:31:47.4765812Z ✔ rejects impossible=0 as a neutral evaluator failure (0.109904ms) -2026-09-27T05:31:47.4797150Z ✔ rejects impossible=1 as a neutral evaluator failure (0.076846ms) -2026-09-27T05:31:47.4865620Z ✔ rejects impossible=null as a neutral evaluator failure (0.068533ms) -2026-09-27T05:31:47.4896576Z ✔ rejects impossible=[] as a neutral evaluator failure (0.071142ms) -2026-09-27T05:31:47.4926963Z ✔ rejects progress="false" as a neutral evaluator failure (0.067665ms) -2026-09-27T05:31:47.4955577Z ✔ rejects progress="true" as a neutral evaluator failure (0.067444ms) -2026-09-27T05:31:47.4989423Z ✔ rejects progress="" as a neutral evaluator failure (0.056592ms) -2026-09-27T05:31:47.5038472Z ✔ rejects progress=0 as a neutral evaluator failure (0.088542ms) -2026-09-27T05:31:47.5065906Z ✔ rejects progress=1 as a neutral evaluator failure (0.069764ms) -2026-09-27T05:31:47.5115527Z ✔ rejects progress=null as a neutral evaluator failure (0.0744ms) -2026-09-27T05:31:47.5145582Z ✔ rejects progress=[] as a neutral evaluator failure (0.062502ms) -2026-09-27T05:31:47.5195440Z ✔ rejects waiting="false" as a neutral evaluator failure (0.309978ms) -2026-09-27T05:31:47.5213687Z ✔ rejects waiting="true" as a neutral evaluator failure (0.157486ms) -2026-09-27T05:31:47.5262507Z ✔ rejects waiting="" as a neutral evaluator failure (2.213459ms) -2026-09-27T05:31:47.5263702Z ✔ rejects waiting=0 as a neutral evaluator failure (0.157143ms) -2026-09-27T05:31:47.5264846Z ✔ rejects waiting=1 as a neutral evaluator failure (0.074964ms) -2026-09-27T05:31:47.5286978Z ✔ rejects waiting=null as a neutral evaluator failure (0.064826ms) -2026-09-27T05:31:47.5287963Z ✔ rejects waiting=[] as a neutral evaluator failure (0.061682ms) -2026-09-27T05:31:47.5288993Z ✔ rejects the whole judgment when a true verdict accompanies an invalid field (0.128066ms) -2026-09-27T05:31:47.5289921Z ✔ accepts boolean false as a real no-progress judgment (0.352136ms) -2026-09-27T05:31:47.5290849Z ✔ unparseable output → neutral evaluator failure (not real no-progress) (0.264528ms) -2026-09-27T05:31:47.5291650Z ✔ malformed JSON → neutral evaluator failure (0.210489ms) -2026-09-27T05:31:47.5292475Z ✔ braces inside reason → treated as neutral, not false no-progress (0.123907ms) -2026-09-27T05:31:47.5293238Z ✔ truncates long reason (0.330821ms) -2026-09-27T05:31:47.5293845Z ✔ parseGoalEvaluation (25.715071ms) -2026-09-27T05:31:47.5294378Z ▶ evaluateGoal -2026-09-27T05:31:47.5320626Z ✔ fails open on evaluator error (evaluatorFailed=true, continue) (2.087494ms) -2026-09-27T05:31:47.5362613Z ✔ fails open on timeout (evaluatorFailed=true, continue) (0.523833ms) -2026-09-27T05:31:47.5394629Z ✔ aborts the physical evaluator call when its owner is invalidated (0.781316ms) -2026-09-27T05:31:47.5395813Z ✔ clears the timeout timer on success (0.274676ms) -2026-09-27T05:31:47.5396732Z ✔ threads the sessionId into the evaluator (session-model routing) (0.572938ms) -2026-09-27T05:31:47.5397505Z ✔ evaluateGoal (4.598696ms) -2026-09-27T05:31:47.5399064Z ▶ GoalManager creation and lifecycle -2026-09-27T05:31:47.5403375Z ✔ isolates observer failure after committing state (11.45433ms) -2026-09-27T05:31:47.5404365Z ✔ creates an immutable active goal with defaults and custom limits (0.405439ms) -2026-09-27T05:31:47.5405445Z ✔ stores the condition trimmed, whichever caller set it (0.876569ms) -2026-09-27T05:31:47.5406416Z ✔ rejects active and paused Goal replacement without mutating either snapshot (0.393779ms) -2026-09-27T05:31:47.5407551Z ✔ a terminal Goal may be followed by a new Goal without rewriting its snapshot (1.758793ms) -2026-09-27T05:31:47.5408591Z ✔ pause, resume, waiting wake, and clear each produce a new revision (0.652571ms) -2026-09-27T05:31:47.5409625Z ✔ waiting blocks replacement, can be paused with a reason, and rejects stale wake (0.316952ms) -2026-09-27T05:31:47.5411223Z ✔ restored control authority uses durable value identity and rejects an older generation (0.427697ms) -2026-09-27T05:31:47.5412314Z ✔ GoalManager creation and lifecycle (19.456266ms) -2026-09-27T05:31:47.5413170Z ▶ GoalManager token budget baseline -2026-09-27T05:31:47.5414018Z ✔ measures the budget from the first carried Turn, whoever set the Goal (0.399689ms) -2026-09-27T05:31:47.5415210Z ✔ GoalManager token budget baseline (0.654307ms) -2026-09-27T05:31:47.5415849Z ▶ GoalManager arming -2026-09-27T05:31:47.5416570Z ✔ a Goal the model set drives from the moment it exists (4.879991ms) -2026-09-27T05:31:47.5417541Z ✔ an armed Goal drives once a carried Turn settles it into a continuation (0.244944ms) -2026-09-27T05:31:47.5418467Z ✔ resume drives an armed Goal no Turn ever carried (0.222911ms) -2026-09-27T05:31:47.5419478Z ✔ GoalManager arming (5.628087ms) -2026-09-27T05:31:47.5420129Z ▶ GoalManager atomic turn settlement -2026-09-27T05:31:47.5421146Z ✔ commits token, iteration, progress, reason, revision, and one event atomically (0.268087ms) -2026-09-27T05:31:47.5422217Z ✔ terminal evaluator verdict settles without advancing turn counters (2.04776ms) -2026-09-27T05:31:47.5423167Z ✔ token budget stops settlement before iteration and stall updates (0.315381ms) -2026-09-27T05:31:47.5424025Z ✔ iteration cap stops settlement before the stall update (0.171873ms) -2026-09-27T05:31:47.5427401Z ✔ progress resets the streak and no progress eventually stalls (0.145196ms) -2026-09-27T05:31:47.5428509Z ✔ waiting consumes a real iteration but is neutral to progress and still obeys hard caps (2.240645ms) -2026-09-27T05:31:47.5429580Z ✔ token observations remain monotonic after the initial baseline (0.232011ms) -2026-09-27T05:31:47.5430459Z ✔ GoalManager atomic turn settlement (5.790285ms) -2026-09-27T05:31:47.5450137Z ▶ GoalManager stale rejection -2026-09-27T05:31:47.5451008Z ✔ rejects an evaluator checkpoint invalidated by pause and resume (0.173965ms) -2026-09-27T05:31:47.5451978Z ✔ rejects an evaluator checkpoint after clear and replacement (ABA) (0.123501ms) -2026-09-27T05:31:47.5452771Z ✔ GoalManager stale rejection (0.42923ms) -2026-09-27T05:31:47.7780132Z ▶ goal tools -2026-09-27T05:31:47.7927867Z ✔ GoalSet leaves the token baseline for the first carried Turn to settle (19.45517ms) -2026-09-27T05:31:47.7995790Z ✔ GoalSet reports an unfinished Goal instead of replacing it (1.151552ms) -2026-09-27T05:31:47.8097543Z ✔ GoalPause / GoalResume lifecycle (5.398096ms) -2026-09-27T05:31:47.8135520Z ✔ goal tools (27.752964ms) -2026-09-27T05:31:47.8703372Z ▶ Goal turn lifecycle -2026-09-27T05:31:47.8745576Z ✔ shares one idle generation and supports synchronous or waiting exclusive admission (3.136716ms) -2026-09-27T05:31:47.8786145Z ✔ aborts a queued exclusive admission without acquiring after the session becomes idle (0.739986ms) -2026-09-27T05:31:47.8819020Z ✔ classifies continuation outcomes at the lifecycle boundary (4.584964ms) -2026-09-27T05:31:47.8835677Z ✔ settles only after a full drain and releases activity before notifying the owner (4.672618ms) -2026-09-27T05:31:47.8856916Z ✔ keeps draining from an error event through terminal completion (0.426657ms) -2026-09-27T05:31:47.8886502Z ✔ keeps draining after an event observer failure before settling the projection error (0.443999ms) -2026-09-27T05:31:47.8911537Z ✔ Goal turn lifecycle (18.811929ms) -2026-09-27T05:31:48.0138564Z ✔ counts matching lines at per-file and total boundaries, not regex occurrences (297.150216ms) -2026-09-27T05:31:48.0727715Z ✔ a retained retired connection gets no palette commands (10.580835ms) -2026-09-27T05:31:48.0758439Z ✔ a stale in-memory default pointing at a retired connection is not testable (3.50549ms) -2026-09-27T05:31:48.0819495Z ✔ the palette opens the Skills surface instead of an ambiguous Skills folder (0.387721ms) -2026-09-27T05:31:48.0878202Z ✔ en static shortcut hints preserve both platform variants (1.388149ms) -2026-09-27T05:31:48.0923545Z ✔ zh-CN static shortcut hints preserve both platform variants (0.369793ms) -2026-09-27T05:31:48.4476858Z ✔ bounds retained JSON while finishing searches larger than the former stdout buffers (429.386983ms) -2026-09-27T05:31:48.5285873Z ✔ scans binary data to completion and counts non-UTF8 lines without lossy previews (87.077648ms) -2026-09-27T05:31:48.5385632Z ✔ reduces one chunked search and refuses partial, missing, or invalid summaries (1.468209ms) -2026-09-27T05:31:48.5825847Z ▶ history compact checkpoint -2026-09-27T05:31:48.5827059Z ✔ rejects provider-native state from a recreated same-slug connection (5.254149ms) -2026-09-27T05:31:48.5940668Z ✔ persists provider-native state as a V3 checkpoint bound to one Codex model (1.62914ms) -2026-09-27T05:31:48.5995770Z ✔ rejects malformed provider-native checkpoint state and keeps V2 strict (1.844847ms) -2026-09-27T05:31:48.6050397Z ✔ validates the exact ordered source prefix (10.226343ms) -2026-09-27T05:31:48.6103378Z ✔ rejects blank summaries instead of persisting an unusable checkpoint (0.68404ms) -2026-09-27T05:31:48.6104971Z ✔ preserves the complete model-produced summary instead of truncating it after generation (0.578307ms) -2026-09-27T05:31:48.6198363Z ✔ rejects a source projection assembled from more than one session (0.314214ms) -2026-09-27T05:31:48.6236551Z ✔ rejects inconsistent projection cursors (0.511568ms) -2026-09-27T05:31:48.6252089Z ✔ only accepts an equal-coverage checkpoint as an explicit successor of the same source (1.677316ms) -2026-09-27T05:31:48.6345569Z ✔ loads the latest valid checkpoint from the run ledger (2.659965ms) -2026-09-27T05:31:48.6375544Z ✔ binds an automatic Memory boundary into checkpoint identity (1.620924ms) -2026-09-27T05:31:48.6435692Z ✔ reloads a valid provider-native V3 checkpoint from the run ledger (0.496799ms) -2026-09-27T05:31:48.6495743Z ✔ rejects a truncated checkpoint at load and recovers the prior valid one (0.592245ms) -2026-09-27T05:31:48.6555714Z ✔ stamps new text checkpoints with the sectioned format (1.077122ms) -2026-09-27T05:31:48.6613330Z ✔ the builder refuses to mint the sectioned marker for unvalidated text (0.97363ms) -2026-09-27T05:31:48.6647324Z ✔ shape validation fails closed on an unknown summary format marker (0.347469ms) -2026-09-27T05:31:48.6678554Z ✔ shape validation rejects unmarked V2 checkpoints from 0.1.x (0.34525ms) -2026-09-27T05:31:48.6708965Z ✔ a marked checkpoint is held to the complete predicate at load (0.8713ms) -2026-09-27T05:31:48.6785937Z ✔ treats a truncated projection as invalid and repairs from the canonical ledger (1.033513ms) -2026-09-27T05:31:48.6862683Z ✔ loads the furthest checkpoint when a later run records stale coverage (0.806206ms) -2026-09-27T05:31:48.6952739Z ✔ recovers the tip of an out-of-order same-coverage successor chain across runs (1.248405ms) -2026-09-27T05:31:48.7126292Z ✔ loads a bounded checkpoint projection without enumerating run ledgers (0.832115ms) -2026-09-27T05:31:48.7229205Z ✔ uses an empty bounded projection without enumerating run ledgers (0.192965ms) -2026-09-27T05:31:48.7330361Z ✔ recovers and repairs an uninitialized bounded projection from the canonical ledger (0.582069ms) -2026-09-27T05:31:48.7381126Z ✔ recovers without repairing when the store lacks a ledger revision capability (0.721545ms) -2026-09-27T05:31:48.7450408Z ✔ identifies a parseable but invalid projection when repairing from the canonical ledger (0.607517ms) -2026-09-27T05:31:48.7538313Z ✔ propagates recovery failure from a damaged bounded projection (0.386621ms) -2026-09-27T05:31:48.7575860Z ✔ replays a matching checkpoint with only the uncovered raw tail (1.695658ms) -2026-09-27T05:31:48.7648012Z ✔ replays a durable pre_turn checkpoint without a local size gate (0.923287ms) -2026-09-27T05:31:48.7662242Z ✔ replay keeps a directory-only successor the checkpoint does not cover (#4804) (0.801367ms) -2026-09-27T05:31:48.7735527Z ✔ history compact checkpoint (50.926719ms) -2026-09-27T05:31:48.7745841Z ▶ history compaction input fitting -2026-09-27T05:31:48.7825965Z ✔ bounds oversized tool evidence without breaking the call/result pair (5.042441ms) -2026-09-27T05:31:48.7896513Z ✔ bounds every oversized result in a multi-result tool message (0.611031ms) -2026-09-27T05:31:48.7964668Z ✔ fails before dispatch when non-tool history cannot fit (0.650337ms) -2026-09-27T05:31:48.7995373Z ✔ keeps the projection unchanged without a budget or when it already fits (0.244994ms) -2026-09-27T05:31:48.8014778Z ✔ history compaction input fitting (10.490415ms) -2026-09-27T05:31:48.8077865Z ▶ mid-turn history compact checkpoint -2026-09-27T05:31:48.8147837Z ✔ builds a mid_turn checkpoint that re-renders the covered head anchor verbatim (12.513105ms) -2026-09-27T05:31:48.8196497Z ✔ rejects a mid_turn checkpoint without a covered head anchor (0.9763ms) -2026-09-27T05:31:48.8276918Z ✔ rejects a head anchor that is not the compacted turn's user event (0.38675ms) -2026-09-27T05:31:48.8320400Z ✔ rejects a head anchor pointing at another covered turn's user event (0.722377ms) -2026-09-27T05:31:48.8384875Z ✔ rejects coverage that includes a partial streaming snapshot (3.932947ms) -2026-09-27T05:31:48.8445651Z ✔ fails the prefix match closed when the head anchor reference is corrupted (0.671778ms) -2026-09-27T05:31:48.8495694Z ✔ keeps pre_turn checkpoint ids stable when phase is absent or explicit (0.864296ms) -2026-09-27T05:31:48.8555667Z ✔ replays a mid_turn checkpoint as [block, verbatim head anchor, uncovered tail] (5.438923ms) -2026-09-27T05:31:48.8615624Z ✔ mid-turn history compact checkpoint (36.999246ms) -2026-09-27T05:31:48.9744119Z ▶ Maka ACP child process -2026-09-27T05:31:48.9776780Z ✔ replays pre-subscription stdout once and continues capture after protocol cancellation (19.961922ms) -2026-09-27T05:31:48.9863834Z ✔ replays captured stdout before surfacing its stored error (5.182237ms) -2026-09-27T05:31:48.9869316Z ✔ forwards a child stdout error into the capture tap (4.443731ms) -2026-09-27T05:31:48.9914323Z ✔ accepts only exclusive JSON-RPC request, notification, and response forms (2.031128ms) -2026-09-27T05:31:48.9985149Z ✔ serves ACP without a Runtime Host and exits after stdin EOF (2191.08514ms) -2026-09-27T05:31:49.0017398Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:31:49.0105731Z ✔ serves multiple ACP Sessions through a real Runtime Host (6532.023759ms) -2026-09-27T05:31:49.0160573Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:31:49.0215829Z ✔ configures every advertised option for a reasoning model through a real Runtime Host (3491.79757ms) -2026-09-27T05:31:49.0272163Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:31:49.0305642Z ✔ creates more than sixteen Sessions without attaching on a real Runtime Host (3961.795597ms) -2026-09-27T05:31:49.0362783Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:31:49.0415863Z ✔ publishes local resource links as Session Artifacts before prompting the real Host (4696.18939ms) -2026-09-27T05:31:49.0461665Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:31:49.0495759Z ✔ Host admission rejects an extra attachment before starting a Turn and close releases capacity (15020.7874ms) -2026-09-27T05:31:49.0532906Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:31:49.0600421Z ✔ streams, cancels, and closes through the real ACP and Runtime Host process boundary (4687.163232ms) -2026-09-27T05:31:49.7636588Z ▶ buildLlmHistorySummarizer -2026-09-27T05:31:49.7674180Z ✔ inherits the session provider options and applies the default output cap (15.824511ms) -2026-09-27T05:31:49.7696405Z ✔ attributes provider-reported usage to one canonical history-compaction record (66.672573ms) -2026-09-27T05:31:49.7731357Z ✔ attributes a malformed completion and its repair to separate logical steps (13.090971ms) -2026-09-27T05:31:49.7804180Z ✔ produces schema-valid tool-result messages (toolName + wrapped output) and does not fall back (3.581454ms) -2026-09-27T05:31:49.7835484Z ✔ groups parallel tool calls into one assistant message for strict providers (1.19476ms) -2026-09-27T05:31:49.7856043Z ✔ keeps a step open across interleaved results until every call is settled (1.121723ms) -2026-09-27T05:31:49.7897358Z ✔ ends every summary request with a user instruction the model can answer (0.70882ms) -2026-09-27T05:31:49.7950529Z ✔ does not merge distinct settled steps into one assistant message (1.077782ms) -2026-09-27T05:31:49.7963254Z ✔ stamped step ids decide membership over settledness (1.177577ms) -2026-09-27T05:31:49.7964324Z ✔ surfaces provider failures so the runtime can report the real compact reason (3.418482ms) -2026-09-27T05:31:49.7992804Z ✔ surfaces an exhausted output budget instead of reporting a generic empty summary (1.240012ms) -2026-09-27T05:31:49.8000625Z ✔ rejects non-empty partial text when the provider exhausted its output budget (0.798198ms) -2026-09-27T05:31:49.8001819Z ✔ shortens the prompt once when the first summary hits the output limit (0.442973ms) -2026-09-27T05:31:49.8002968Z ✔ rejects the incident fragment: a free-form summary without the mandated sections (0.459761ms) -2026-09-27T05:31:49.8004064Z ✔ repairs one malformed completion with a single stricter retry (0.285612ms) -2026-09-27T05:31:49.8005231Z ✔ delivers the summarization instruction as the trailing user message (#4634) (0.263271ms) -2026-09-27T05:31:49.8006240Z ✔ bounds a persistently malformed completion at two provider calls (0.285485ms) -2026-09-27T05:31:49.8007274Z ✔ preserves the initial malformed defect when the repair request fails (4.448831ms) -2026-09-27T05:31:49.8008842Z ✔ a context-length rejection of the repair request stays the input_too_large signal (0.413907ms) -2026-09-27T05:31:49.8009976Z ✔ preserves cancellation when a malformed-summary repair is aborted (0.308178ms) -2026-09-27T05:31:49.8011160Z ✔ preserves the initial malformed defect when the repair is empty (3.240904ms) -2026-09-27T05:31:49.8012146Z ✔ a deeper heading level cannot stand in for a mandated section (0.356074ms) -2026-09-27T05:31:49.8013139Z ✔ headings quoted inside a fenced code block are not summary structure (1.510225ms) -2026-09-27T05:31:49.8014114Z ✔ requires the Critical Context section the incident lost (0.458451ms) -2026-09-27T05:31:49.8015439Z ✔ an unfenced verbatim echo of the prompt template is not a checkpoint (0.324212ms) -2026-09-27T05:31:49.8016729Z ✔ a four-backtick fence is not closed by a three-backtick line (1.777211ms) -2026-09-27T05:31:49.8018076Z ✔ a trailing shorter run leaves a wide fence open: truncation (24.549744ms) -2026-09-27T05:31:49.8019424Z ✔ a fence marker with trailing text is content, not a closer (0.399892ms) -2026-09-27T05:31:49.8020633Z ✔ nested bare fence markers are not section content (0.317492ms) -2026-09-27T05:31:49.8021871Z ✔ a four-space-indented marker run is indented code, not a fence closer (0.313417ms) -2026-09-27T05:31:49.8022929Z ✔ a fence closer indented up to three spaces still closes (4.306545ms) -2026-09-27T05:31:49.8023917Z ✔ a longer same-family run still closes a narrower fence (4.031078ms) -2026-09-27T05:31:49.8056522Z ✔ indented and bare heading markers are headings, not section content (0.381496ms) -2026-09-27T05:31:49.8085709Z ✔ a required heading indented up to three spaces still matches its section (0.231806ms) -2026-09-27T05:31:49.8108475Z ✔ rejects a heading-only skeleton with no section content (0.334369ms) -2026-09-27T05:31:49.8145607Z ✔ horizontal rules between headings are separators, not section content (0.292563ms) -2026-09-27T05:31:49.8212213Z ✔ content under a non-required section cannot satisfy a required one (0.277721ms) -2026-09-27T05:31:49.8276430Z ✔ accepts a well-formed summary with CRLF line endings (0.317436ms) -2026-09-27T05:31:49.8325697Z ✔ CRLF horizontal rules are still separators, not section content (0.310469ms) -2026-09-27T05:31:49.8379822Z ✔ rejects the mandated sections when they appear out of order (0.291123ms) -2026-09-27T05:31:49.8434955Z ✔ requires each mandated section heading to match the whole line (0.919519ms) -2026-09-27T05:31:49.8495669Z ✔ rejects a structured summary that ends mid-sentence on a trailing colon (0.464608ms) -2026-09-27T05:31:49.8504551Z ✔ rejects a structured summary ending in an ASCII ellipsis (0.486311ms) -2026-09-27T05:31:49.8586121Z ✔ rejects a structured summary with an unclosed code fence (0.477556ms) -2026-09-27T05:31:49.8628983Z ✔ a verbatim inline fence marker in a preserved error message is not truncation (0.239828ms) -2026-09-27T05:31:49.8666783Z ✔ rejects a paragraph-sized summary for a large folded span when usage says it is too small (0.591066ms) -2026-09-27T05:31:49.8677681Z ✔ a provider's context-length rejection is the fold's input_too_large signal (0.741606ms) -2026-09-27T05:31:49.8705932Z ✔ the usage floor judges an initial fold and stands down on a roll-forward (10.432062ms) -2026-09-27T05:31:49.8707666Z ✔ a summary without provider usage is not rejected by the size floor (3.425335ms) -2026-09-27T05:31:49.8766773Z ✔ accepts a proportionate structured summary for a large folded span (0.32336ms) -2026-09-27T05:31:49.8768059Z ✔ returns undefined without calling generateText when there are no events to summarize (0.135347ms) -2026-09-27T05:31:49.8822271Z ✔ rolling summary sends the prior summary plus only newly folded events (0.634117ms) -2026-09-27T05:31:49.8853826Z ✔ recompresses the full source when the previous checkpoint is provider-native (0.774719ms) -2026-09-27T05:31:49.8887478Z ✔ buildLlmHistorySummarizer (192.161456ms) -2026-09-27T05:31:49.9157000Z ▶ safe compaction prefix selection -2026-09-27T05:31:49.9223265Z ✔ folds the largest immutable non-partial prefix, leaving the reserved tail (4.96022ms) -2026-09-27T05:31:49.9271828Z ✔ never cuts on a partial (streaming) event (0.281956ms) -2026-09-27T05:31:49.9355704Z ✔ never splits a tool call/result pair (3.603867ms) -2026-09-27T05:31:49.9365646Z ✔ retreats before a partial in the middle of the prefix, not just at the cut (0.242377ms) -2026-09-27T05:31:49.9427841Z ✔ never covers an open tool call whose response has not arrived (0.199625ms) -2026-09-27T05:31:49.9476086Z ✔ reports no safe completed span when the whole pool is one atomic pair (0.266901ms) -2026-09-27T05:31:49.9505514Z ✔ safe compaction prefix selection (12.067918ms) -2026-09-27T05:31:49.9545543Z ▶ plan context compaction -2026-09-27T05:31:49.9546382Z ✔ compacts whenever the caller has emitted a compaction command (9.582833ms) -2026-09-27T05:31:49.9596127Z ✔ compacts a safe prefix, keeps the head anchor verbatim, and continues with the tail (2.76171ms) -2026-09-27T05:31:49.9605390Z ✔ step-0 recovery folds prior history without covering the current user anchor (7.492359ms) -2026-09-27T05:31:49.9645846Z ✔ retreats to the span the last accepted input covered (1.063727ms) -2026-09-27T05:31:49.9665308Z ✔ a later fold rolls over the reply the retreat left verbatim (1.965804ms) -2026-09-27T05:31:49.9675578Z ✔ fails open when the proven boundary is refused too (0.338784ms) -2026-09-27T05:31:49.9705495Z ✔ a mixed-route session retreats to this route's own newest reply (1.131056ms) -2026-09-27T05:31:49.9745446Z ✔ fails open when only another route has ever been accepted (0.347999ms) -2026-09-27T05:31:49.9775503Z ✔ fails open without retrying when no accepted reply proves a boundary (0.755125ms) -2026-09-27T05:31:49.9776619Z ✔ fails open on an input-too-large rejection with the summarizer reason (0.32562ms) -2026-09-27T05:31:49.9805654Z ✔ persisted checkpoint replay-validates against the same ledger prefix (recovery) (1.990877ms) -2026-09-27T05:31:49.9835403Z ✔ fails open when the summarizer throws (0.26258ms) -2026-09-27T05:31:49.9836438Z ✔ preserves a typed summarizer failure as the mid-turn diagnostic reason (0.233656ms) -2026-09-27T05:31:49.9837414Z ✔ fails open when the summarizer returns no checkpoint (0.221527ms) -2026-09-27T05:31:49.9838300Z ✔ the write gate rejects a malformed summary from any producer (0.365786ms) -2026-09-27T05:31:49.9839297Z ✔ fails open with no_safe_completed_span when the pool has no safe cut past the anchor (0.268137ms) -2026-09-27T05:31:49.9840168Z ✔ does not issue a post-fold window verdict (0.853382ms) -2026-09-27T05:31:49.9841072Z ✔ rolls forward from a matching previous checkpoint (only the new span is summarized) (2.152814ms) -2026-09-27T05:31:49.9842050Z ✔ keeps rolling forward when the effective coverage is unchanged (3.26527ms) -2026-09-27T05:31:49.9843152Z ✔ discards a previous checkpoint whose effective coverage drifted before roll-forward (#4845 review) (6.017153ms) -2026-09-27T05:31:49.9844080Z ✔ plan context compaction (45.175643ms) -2026-09-27T05:31:49.9845147Z ✔ validateImageBytes rejects image signatures without parseable dimensions (2.210145ms) -2026-09-27T05:31:49.9875757Z ✔ validateImageBytes accepts a valid one-pixel image (1.118581ms) -2026-09-27T05:31:49.9905607Z ✔ validateImageBytes rejects non-positive image dimensions (0.3585ms) -2026-09-27T05:31:49.9906994Z ✔ readWorkspaceImage rejects images whose dimensions exceed the model input limit (28.447841ms) -2026-09-27T05:31:50.0838619Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:31:50.6076310Z ▶ Runtime Interaction authority seam -2026-09-27T05:31:50.6136286Z ✔ binds the exact Run and rejects release before durable close (38.033975ms) -2026-09-27T05:31:50.6162328Z ✔ durably reclaims an owner that returns the wrong Run identity (1.457759ms) -2026-09-27T05:31:50.6180878Z ✔ rejects a question registered after stop closure as an exact closed-Run admission (8.466793ms) -2026-09-27T05:31:50.6396357Z ✔ publishes a hosted question only after admission and resolves only through its continuation (68.374938ms) -2026-09-27T05:31:50.6605508Z ✔ publishes a hosted form and resumes only after its exact canonical continuation settles (13.449881ms) -2026-09-27T05:31:50.6639968Z ✔ matches a hosted sandbox boundary acknowledgement to its exact durable settlement (0.997659ms) -2026-09-27T05:31:50.6716062Z ✔ keeps aggregate pending state until every hosted question settles (19.915453ms) -2026-09-27T05:31:50.6774187Z ✔ defers question teardown after backend cleanup clears current run identity (7.444531ms) -2026-09-27T05:31:50.6805997Z ✔ removes a rejected admission without publishing or leaving a parked question (3.207977ms) -2026-09-27T05:31:50.6845335Z ✔ fails closed instead of broadcasting Session-level hosted question answers (0.564551ms) -2026-09-27T05:31:50.6907693Z ✔ Runtime Interaction authority seam (166.824819ms) -2026-09-27T05:31:50.7955760Z ✔ directory picker cancellation, duplicates and removal leave the draft consistent (88.774536ms) -2026-09-27T05:31:50.8426167Z ✔ discards a picker reply after its draft or Host changes (44.566363ms) -2026-09-27T05:31:50.8515189Z [desktop] operation failed: Error: Directory references require the local Host. -2026-09-27T05:31:50.8574764Z at Object.pickDirectory [as onPickDirectory] (file:///home/runner/work/maka/maka/packages/ui/dist/use-composer-attachments.js:307:23) -2026-09-27T05:31:50.8638750Z ✔ rejects a foreign Host picker result and does not pick without a local Host (20.213182ms) -2026-09-27T05:31:50.8773500Z ✔ caps concurrent picker results and clearing a submitted draft keeps newer references (14.890535ms) -2026-09-27T05:31:50.8896253Z ✔ IPC validates directory references without turning them into attachments or permissions (7.312961ms) -2026-09-27T05:31:51.4794084Z ✔ a session switch immediately replaces the populated catalog with loading (134.028616ms) -2026-09-27T05:31:51.5036608Z ✔ a session switch immediately replaces the empty catalog with loading (49.53746ms) -2026-09-27T05:31:51.5162090Z ✔ a same-context refresh keeps the settled skills visible until it resolves (18.355143ms) -2026-09-27T05:31:51.5277984Z ✔ resolving the project path for an existing session keeps its catalog settled (13.467691ms) -2026-09-27T05:31:51.6295887Z ▶ Computer Use host health -2026-09-27T05:31:51.6331232Z ✔ does not report a binary-only executor as healthy before first use (1.768429ms) -2026-09-27T05:31:51.6424172Z ✔ reports ready, recovery, and unavailable states (0.30242ms) -2026-09-27T05:31:51.6507157Z ✔ reports a missing backend as unavailable (0.271115ms) -2026-09-27T05:31:51.6536085Z ✔ constructs a backend only when the local artifact matches the manifest hash (56.756548ms) -2026-09-27T05:31:51.6574660Z ✔ Computer Use host health (66.733773ms) -2026-09-27T05:31:51.6595756Z ✔ parses one bounded allowlist and rejects malformed policies (6.314209ms) -2026-09-27T05:31:51.6655752Z ✔ blocks disallowed and over-budget actions before dispatch (0.886405ms) -2026-09-27T05:31:51.6755561Z ✔ blocks wrong targets before dispatch (4.034957ms) -2026-09-27T05:31:51.6869007Z ✔ semantic mutations require an observation created by the owned fixture (0.469178ms) -2026-09-27T05:31:51.6883306Z ✔ wait does not require an impossible observation_id (0.465984ms) -2026-09-27T05:31:51.6956809Z ✔ nothing is subscribed until the first probe (13.67089ms) -2026-09-27T05:31:51.7025714Z ✔ a platform with nothing to subscribe to still answers (0.305496ms) -2026-09-27T05:31:51.7056654Z ✔ an unlocked machine reads as unlocked (5.685753ms) -2026-09-27T05:31:51.7185018Z ✔ the point-in-time query alone answers for a process that never saw the lock (0.254902ms) -2026-09-27T05:31:51.7253002Z ✔ the lock event alone answers when the query cannot (0.274468ms) -2026-09-27T05:31:51.7275836Z ✔ a query with no answer at all falls back to the events (0.177065ms) -2026-09-27T05:31:51.7353657Z ✔ an authoritative unlocked answer clears a latched lock event (0.178723ms) -2026-09-27T05:31:51.7379849Z ✔ a throwing probe falls back to the events rather than reporting unlocked (0.209369ms) -2026-09-27T05:31:51.7402028Z ✔ idle is not locked (0.204568ms) -2026-09-27T05:31:51.7469331Z ✔ dispose unsubscribes and stops reporting (0.393096ms) -2026-09-27T05:31:51.7479118Z ✔ unlocking releases every session that tried to drive the machine (9.543515ms) -2026-09-27T05:31:51.7523838Z ✔ a stopped session is not released (0.245564ms) -2026-09-27T05:31:51.7544583Z ✔ the overlay hook registers a session that dispatched, which is the executor-refusal path (7.176267ms) -2026-09-27T05:31:51.7577840Z ✔ disposing the guard forgets its sessions (1.408053ms) -2026-09-27T05:31:51.7665102Z ✔ rebuilds an active Computer Use menu when its resolved locale changes (10.341187ms) -2026-09-27T05:31:51.7707948Z ▶ config-transfer-service -2026-09-27T05:31:51.7875066Z ✔ applies an imported bundle to the stores and summarizes (6.857244ms) -2026-09-27T05:31:51.7883260Z ✔ canonicalizes a legacy zh preference before the imported settings reach observers (0.337337ms) -2026-09-27T05:31:51.7906136Z ✔ reports a settings-carried proxy credential skipped by Host target binding (0.2665ms) -2026-09-27T05:31:51.7965876Z ✔ restores the selection a backup states instead of re-enabling its default (3.806399ms) -2026-09-27T05:31:51.8011799Z ✔ does NOT write credentials for a connection the user skipped (0.357559ms) -2026-09-27T05:31:51.8055533Z ✔ writes credentials for a connection that was overwritten (0.393646ms) -2026-09-27T05:31:51.8121372Z ✔ reports a Host-bound connection credential write that loses its target race (0.353018ms) -2026-09-27T05:31:51.8145533Z ✔ writes a credentials-only bundle to an existing connection (0.370486ms) -2026-09-27T05:31:51.8200953Z ✔ skips a credentials-only entry without a source connection binding (4.09119ms) -2026-09-27T05:31:51.8202470Z ✔ skips a credentials-only entry when the target slug belongs to another provider (0.379145ms) -2026-09-27T05:31:51.8204371Z ✔ skips a credentials-only entry when the target endpoint differs (1.011505ms) -2026-09-27T05:31:51.8235558Z ✔ restores the whole bundle when it carries a retained retired connection (0.762425ms) -2026-09-27T05:31:51.8301172Z ✔ config-transfer-service (27.409213ms) -2026-09-27T05:31:51.8340337Z ✔ connection fixture seeds the Runtime Policy catalog, not llm-connections.json (302.80793ms) -2026-09-27T05:31:51.8365316Z ▶ connectionNameDraftReseed -2026-09-27T05:31:51.8437082Z ✔ a slug switch reseeds even mid-edit (3.73251ms) -2026-09-27T05:31:51.8453296Z ✔ an unrelated reload of the same connection keeps typed work (2.529815ms) -2026-09-27T05:31:51.8454761Z ✔ a rename that landed elsewhere reseeds a clean draft (0.224977ms) -2026-09-27T05:31:51.8464619Z ✔ a rename that landed elsewhere does not discard typed work (0.199316ms) -2026-09-27T05:31:51.8465552Z ✔ connectionNameDraftReseed (9.922287ms) -2026-09-27T05:31:51.8466237Z ▶ connectionNameDraftChanged -2026-09-27T05:31:51.8466886Z ✔ a different name is a change (0.296791ms) -2026-09-27T05:31:51.8467502Z ✔ the same name is not (0.244485ms) -2026-09-27T05:31:51.8468161Z ✔ whitespace alone is not a change (2.914403ms) -2026-09-27T05:31:51.8468904Z ✔ an emptied field is not offered as a change (0.236377ms) -2026-09-27T05:31:51.8470038Z ✔ connectionNameDraftChanged (6.166017ms) -2026-09-27T05:31:51.8470829Z ▶ connectionNameToSave -2026-09-27T05:31:51.8471558Z ✔ commits the trimmed name, not the raw draft (0.313426ms) -2026-09-27T05:31:51.8472313Z ✔ connectionNameToSave (0.620093ms) -2026-09-27T05:31:51.8472986Z ▶ shouldRefreshModelsAfterSave -2026-09-27T05:31:51.8473622Z ✔ a rename never fetches models (2.531831ms) -2026-09-27T05:31:51.8474376Z ✔ a new credential still fetches (0.173225ms) -2026-09-27T05:31:51.8475407Z ✔ a new endpoint still fetches (2.63058ms) -2026-09-27T05:31:51.8476296Z ✔ an empty cache still fetches for the fields that can fill it (0.149295ms) -2026-09-27T05:31:51.8477200Z ✔ shouldRefreshModelsAfterSave (5.821755ms) -2026-09-27T05:31:52.6218617Z ✔ a real send seals its observation into SQLite and reconstructs it after restart (669.656345ms) -2026-09-27T05:31:52.9390057Z ✔ a turn aborted before dispatch does not create a canonical sent attempt (323.436699ms) -2026-09-27T05:31:52.9987294Z ✔ an event address resolves and verifies against one evidence snapshot (12.72001ms) -2026-09-27T05:31:53.0027183Z ✔ reads committed SQLite evidence after reopen without any Artifact payload (727.676967ms) -2026-09-27T05:31:53.0076164Z ✔ v1 archive encoding is byte-identical for text, JSON, denial and media (1.588894ms) -2026-09-27T05:31:53.0115976Z ✔ reads the source of an applied archive transition, never the raw result (3.72464ms) -2026-09-27T05:31:53.0145951Z ✔ refuses missing projections instead of applying the legacy tool projector (0.528587ms) -2026-09-27T05:31:53.0175826Z ✔ an event address reads the current projection without weakening archive identity (4.523018ms) -2026-09-27T05:31:53.0205767Z ✔ rejects losing siblings using the existing reducer and accepts duplicate appends (1.01315ms) -2026-09-27T05:31:53.0215798Z ✔ reconstructs a predecessor replacement rather than the original projection (2.229514ms) -2026-09-27T05:31:53.0275738Z ✔ unknown transition versions and incomplete evidence do not expose a source (4.524257ms) -2026-09-27T05:31:53.0334974Z ✔ new archive commits only a v2 ledger reference and is readable through the resource decoder (13.86147ms) -2026-09-27T05:31:53.0440966Z ✔ preflight and transition failure leave the source projection unchanged (3.27243ms) -2026-09-27T05:31:53.0444804Z ✔ availability maps to read_failed while corrupt evidence remains corrupt (1.698566ms) -2026-09-27T05:31:53.0506991Z ▶ Linux sandbox smoke -2026-09-27T05:31:53.0593394Z ﹣ required Linux sandbox capability is available (1.14441ms) # SKIP -2026-09-27T05:31:53.0655684Z ✔ workspace-write can write workspace files and blocks sibling paths (85.529435ms) -2026-09-27T05:31:53.0702733Z ✔ workspace-write allows metadata writes inside the selected workspace (47.874079ms) -2026-09-27T05:31:53.0825831Z ✔ missing exact-write creation fails closed when its pinned parent moves (9.811124ms) -2026-09-27T05:31:53.0912510Z ✔ shell-launched Node uses runtime roots and the seccomp socket filter (217.644088ms) -2026-09-27T05:31:53.0995859Z ✔ builtin Bash executes a tool from a nonstandard host PATH inside bubblewrap (85.521379ms) -2026-09-27T05:31:53.1021773Z ✔ builtin Bash enforces an expanded managed boundary and explicit bypass (119.384689ms) -2026-09-27T05:31:53.1076609Z ✔ Linux sandbox smoke (573.63399ms) -2026-09-27T05:31:53.1165709Z ✔ pins canonical objects and rejects an ancestor redirected after authorization (39.950288ms) -2026-09-27T05:31:53.1245377Z ▶ detectLinuxSandboxCapability -2026-09-27T05:31:53.1268014Z ✔ probes every namespace required by production commands (7.759582ms) -2026-09-27T05:31:53.1295532Z ✔ reports non-Linux platforms without probing bwrap (0.758819ms) -2026-09-27T05:31:53.1305390Z ✔ reports a missing configured bwrap executable (0.193527ms) -2026-09-27T05:31:53.1335569Z ✔ reports an executable that cannot create the bubblewrap sandbox (210.808878ms) -2026-09-27T05:31:53.1355414Z ✔ detectLinuxSandboxCapability (222.962109ms) -2026-09-27T05:31:53.1380016Z ▶ buildBubblewrapArgv -2026-09-27T05:31:53.1406079Z ✔ mounts read-only profiles without a writable workspace bind (2.95303ms) -2026-09-27T05:31:53.1417637Z ✔ materializes writable workspace metadata, temp, cwd, and network restrictions (0.815511ms) -2026-09-27T05:31:53.1455583Z ✔ keeps the host network namespace when network is enabled (1.01821ms) -2026-09-27T05:31:53.1477559Z ✔ isolates host process namespaces when network is enabled (0.923269ms) -2026-09-27T05:31:53.1522548Z ✔ mounts an absolute program directory outside the default host paths (1.46108ms) -2026-09-27T05:31:53.1524353Z ✔ mounts runtime roots needed by a shell-launched executable (0.465651ms) -2026-09-27T05:31:53.1552483Z ✔ mounts required worker resources and uses a trusted parent for a missing exact write (1.894877ms) -2026-09-27T05:31:53.1574695Z ✔ binds pinned exact-write files through inherited descriptors (2.572157ms) -2026-09-27T05:31:53.1575833Z ✔ omits inactive exact file roots from an unrelated command (0.302513ms) -2026-09-27T05:31:53.1626907Z ✔ materializes an otherwise-unmounted worker cwd without exposing its contents (0.491689ms) -2026-09-27T05:31:53.1627886Z ✔ buildBubblewrapArgv (14.081858ms) -2026-09-27T05:31:53.1655184Z ▶ linuxExecutableRoots -2026-09-27T05:31:53.1695683Z ✔ keeps the Node installation root and absolute PATH entries without nested duplicates (1.323081ms) -2026-09-27T05:31:53.1727903Z ✔ linuxExecutableRoots (1.481256ms) -2026-09-27T05:31:53.1756480Z ▶ buildNetworkSeccompFilter -2026-09-27T05:31:53.1779143Z ✔ builds a cBPF program for supported Linux architectures (0.375854ms) -2026-09-27T05:31:53.1806464Z ✔ fails closed for architectures without audited syscall numbers (1.126568ms) -2026-09-27T05:31:53.1844715Z ✔ buildNetworkSeccompFilter (1.722676ms) -2026-09-27T05:31:53.1890974Z ▶ discoverNestedProtectedMetadataPaths -2026-09-27T05:31:53.1922035Z ✔ finds protected metadata at any existing nested path segment (26.581468ms) -2026-09-27T05:31:53.1946976Z ✔ discoverNestedProtectedMetadataPaths (27.78217ms) -2026-09-27T05:31:53.1994564Z ▶ LinuxBubblewrapBackend -2026-09-27T05:31:53.2045910Z ✔ fails when protected-metadata discovery fails during transform (0.507154ms) -2026-09-27T05:31:53.2065276Z ✔ wraps a managed restricted command when bwrap is available (0.288261ms) -2026-09-27T05:31:53.2135715Z ✔ re-applies discovered nested protected metadata as read-only (0.321479ms) -2026-09-27T05:31:53.2141050Z ✔ fails closed with a clear result when bwrap is unavailable (0.2329ms) -2026-09-27T05:31:53.2154988Z ✔ rejects deny entries that cannot be represented without weakening policy (0.226503ms) -2026-09-27T05:31:53.2180890Z ✔ omits inactive exact directory entries instead of exposing their subtrees (7.134055ms) -2026-09-27T05:31:53.2182133Z ✔ rejects profiles that should have selected no sandbox (0.41521ms) -2026-09-27T05:31:53.2182888Z ✔ LinuxBubblewrapBackend (9.525669ms) -2026-09-27T05:31:53.2183719Z ✔ local WebFetch decodes the charset declared by the response (105.806905ms) -2026-09-27T05:31:53.2184787Z ✔ local WebFetch extracts readable HTML as Markdown (71.156776ms) -2026-09-27T05:31:53.2185784Z ✔ local WebFetch resolves links against the document base URL (22.961169ms) -2026-09-27T05:31:53.2186782Z ✔ local WebFetch resolves relative image sources against the response URL (12.611014ms) -2026-09-27T05:31:53.2187756Z ✔ local WebFetch resolves lazy image sources synthesized by Readability (16.334874ms) -2026-09-27T05:31:53.2188737Z ✔ local WebFetch preserves the document base for lazy image sources (17.503144ms) -2026-09-27T05:31:53.2189758Z ✔ local WebFetch leaves absolute and inline image sources unchanged (15.279609ms) -2026-09-27T05:31:53.2190765Z ✔ local WebFetch rejects pathologically deep HTML before DOM parsing (10.133124ms) -2026-09-27T05:31:53.2191813Z ✔ local WebFetch rejects explicit cloud metadata targets before connecting (9.005654ms) -2026-09-27T05:31:53.2192814Z ✔ local WebFetch allows localhost and private-network targets (12.660373ms) -2026-09-27T05:31:53.2193708Z ✔ local WebFetch revalidates every redirect target (0.603812ms) -2026-09-27T05:31:53.2195006Z ✔ local WebFetch stops after ten redirects (0.978873ms) -2026-09-27T05:31:53.2228353Z ✔ local WebFetch stops reading after the raw response exceeds 5 MB (19.260742ms) -2026-09-27T05:31:53.2230148Z ✔ local WebFetch applies one timeout across the whole request (54.852195ms) -2026-09-27T05:31:53.2234600Z ✔ local WebFetch reports non-success HTTP status (1.637123ms) -2026-09-27T05:31:53.2235494Z ✔ local WebFetch rejects an empty readable body (0.567898ms) -2026-09-27T05:31:54.8986353Z ▶ loop-gate for repeated identical FAILING tool calls -2026-09-27T05:31:54.9006495Z ✔ keeps nested CodeMode failures out of the provider loop-gate streak (53.871043ms) -2026-09-27T05:31:54.9036318Z ✔ runs the first N-1 identical failing calls then blocks the Nth (and keeps blocking) (16.764996ms) -2026-09-27T05:31:54.9065986Z ✔ identical SUCCEEDING calls are never gated — polling is allowed (18.857322ms) -2026-09-27T05:31:54.9095524Z ✔ a success between failures resets the streak (14.989851ms) -2026-09-27T05:31:54.9096771Z ✔ a different tool or args between failures resets the streak (11.197102ms) -2026-09-27T05:31:54.9125688Z ✔ treats args as identical regardless of key order (13.498091ms) -2026-09-27T05:31:54.9155753Z ✔ the block is recoverable — a different call afterwards still runs (11.1333ms) -2026-09-27T05:31:54.9185814Z ✔ a repeatedly not-loaded tool trips the gate — guard rejections count as failures (10.074837ms) -2026-09-27T05:31:54.9187472Z ✔ the failure streak is per-turn: a turn reset clears it so a new turn is not falsely blocked (14.599363ms) -2026-09-27T05:31:54.9215764Z ✔ a returned terminal result with a non-zero exit counts as a failure (12.78145ms) -2026-09-27T05:31:54.9245927Z ✔ a returned terminal result with exit 0 is a success — polling is not gated (9.461334ms) -2026-09-27T05:31:54.9275399Z ✔ returned shell_run terminal states are observations, not tool failures (6.35144ms) -2026-09-27T05:31:54.9276620Z ✔ a returned top-level error is classified as a failed tool result (5.002925ms) -2026-09-27T05:31:54.9305631Z ✔ an ambiguous semantic target is gated across fresh observation ids (8.587256ms) -2026-09-27T05:31:54.9335643Z ✔ repeated shell_run observations are not loop-gated by process status (5.679377ms) -2026-09-27T05:31:54.9390386Z ✔ loop-gate for repeated identical FAILING tool calls (219.095564ms) -2026-09-27T05:31:55.0065997Z ▶ macOS executable dependency resolution -2026-09-27T05:31:55.0106461Z ✔ adds lexical and canonical directories for recursive absolute dependencies (5.988041ms) -2026-09-27T05:31:55.0256003Z ✔ resolves rpath, loader_path, and executable_path dependencies recursively (3.458329ms) -2026-09-27T05:31:55.0305877Z ✔ ignores an unresolved rpath install ID on an absolute dependency (0.554742ms) -2026-09-27T05:31:55.0376617Z ✔ fails closed when an rpath dependency cannot be resolved (0.587931ms) -2026-09-27T05:31:55.0475598Z ✔ bounds recursive dependency graphs (0.462446ms) -2026-09-27T05:31:55.0498202Z ✔ macOS executable dependency resolution (29.548178ms) -2026-09-27T05:31:55.0500007Z ﹣ macOS Seatbelt smoke (0.671411ms) # SKIP -2026-09-27T05:31:55.0500681Z ▶ escapeSeatbeltRegex -2026-09-27T05:31:55.0502071Z ✔ escapes regex metacharacters before inserting paths into SBPL regex literals (1.126398ms) -2026-09-27T05:31:55.0503012Z ✔ escapeSeatbeltRegex (2.460466ms) -2026-09-27T05:31:55.0503578Z ▶ buildSeatbeltPolicy -2026-09-27T05:31:55.0504771Z ✔ builds read-only policy with readable workspace roots and no writable workspace roots (15.806292ms) -2026-09-27T05:31:55.0506038Z ✔ builds workspace-write policy with parameterized workspace and temp roots (0.756081ms) -2026-09-27T05:31:55.0507139Z ✔ allows directory reads along every readable root ancestor chain (0.774236ms) -2026-09-27T05:31:55.0508170Z ✔ resolves symlinked temp roots before passing them to Seatbelt (3.604297ms) -2026-09-27T05:31:55.0509337Z ✔ canonicalizes a missing denied leaf through its existing symlinked ancestor (1.107093ms) -2026-09-27T05:31:55.0510353Z ✔ fails policy construction when a root cannot be canonicalized (4.255158ms) -2026-09-27T05:31:55.0511732Z ✔ keeps workspace metadata writable in the standard workspace profile (1.828438ms) -2026-09-27T05:31:55.0512738Z ✔ uses protected metadata names from the active profile (1.591495ms) -2026-09-27T05:31:55.0513793Z ✔ excludes explicit deny roots from readable and writable root allow clauses (1.826925ms) -2026-09-27T05:31:55.0515054Z ✔ escapes workspace root before building protected metadata regex requirements (0.472372ms) -2026-09-27T05:31:55.0557805Z ✔ emits network restricted and enabled policy sections (0.494562ms) -2026-09-27T05:31:55.0559542Z ✔ renders exact path entries as literal and subtree entries as subpath (4.858835ms) -2026-09-27T05:31:55.0560653Z ✔ keeps explicit exact deny requirements on every allow clause (0.463309ms) -2026-09-27T05:31:55.0561517Z ✔ buildSeatbeltPolicy (39.150821ms) -2026-09-27T05:31:55.0562142Z ▶ createSeatbeltExecArgs -2026-09-27T05:31:55.0563105Z ✔ creates sandbox-exec arguments using -p policy, -D roots, -- separator, and inner argv (0.417447ms) -2026-09-27T05:31:55.0563995Z ✔ createSeatbeltExecArgs (0.582632ms) -2026-09-27T05:31:55.0564698Z ▶ MacosSeatbeltBackend -2026-09-27T05:31:55.0565367Z ✔ wraps inner argv with /usr/bin/sandbox-exec (0.695688ms) -2026-09-27T05:31:55.0566435Z ✔ returns invalid_request for profiles that should have selected none before reaching backend (0.172198ms) -2026-09-27T05:31:55.0567361Z ✔ MacosSeatbeltBackend (5.111111ms) -2026-09-27T05:31:55.0568420Z ✔ main-session prompt distinguishes progress updates from runtime activity and final output (9.671205ms) -2026-09-27T05:31:55.0569616Z ✔ buildMcpTools projects discovery, abort, and rich model output (12.567945ms) -2026-09-27T05:31:55.0570641Z ✔ buildMcpTools leaves MCP JSON Schema validation to the server (0.600993ms) -2026-09-27T05:31:55.0571705Z ✔ buildMcpTools carries the Runtime-owned form callback to the provider (0.907607ms) -2026-09-27T05:31:55.0572875Z ✔ prepared MCP execution receives the Runtime-owned form callback after admission (0.659154ms) -2026-09-27T05:31:55.0574145Z ✔ Direct-mode MCP calls request managed network expansion before provider dispatch (0.856319ms) -2026-09-27T05:31:55.0605821Z ✔ MCP annotations cannot lower permissions and model output has aggregate bounds (2.456777ms) -2026-09-27T05:31:55.0636100Z ✔ MCP text clipping never leaves an unpaired surrogate at the boundary (7.85829ms) -2026-09-27T05:31:55.0665650Z ✔ MCP tools stay network sends and are excluded from Plan mode (2.141524ms) -2026-09-27T05:31:55.0671422Z ✔ a trusted composition can apply the Client Capability permission floor and context (0.407414ms) -2026-09-27T05:31:55.0726151Z ✔ a trusted composition can preserve provider-owned activity semantics (0.358381ms) -2026-09-27T05:31:55.0765788Z ✔ distinct MCP identities remain callable after name normalization (3.418367ms) -2026-09-27T05:31:55.0806776Z ✔ mcpProxyToolName is stable, provider-safe, and bounded to 64 chars (2.580158ms) -2026-09-27T05:31:55.0815723Z ✔ buildMcpToolsWithIdentities pairs each proxy tool with its source identity (0.375261ms) -2026-09-27T05:31:55.0905672Z ✔ MCP descriptions are normalized to the Request Composition bound (0.218598ms) -2026-09-27T05:31:55.0950548Z ▶ Memory Extraction evidence planning -2026-09-27T05:31:55.0979905Z ✔ excludes Tool events from evidence while allowing the Cursor to cross them (11.236864ms) -2026-09-27T05:31:55.0995621Z ✔ prioritizes requested evidence and enforces one final JSON budget (12.189381ms) -2026-09-27T05:31:55.1016144Z ✔ does not guess text positions and returns a bounded hit-centered history snippet (4.253934ms) -2026-09-27T05:31:55.1017391Z ✔ does not localize across a policy-denied history barrier (4.886741ms) -2026-09-27T05:31:55.1018455Z ✔ renders indexed Provider-prefix evidence without duplicating its text (0.532378ms) -2026-09-27T05:31:55.1019439Z ✔ Memory Extraction evidence planning (37.509501ms) -2026-09-27T05:31:55.4218915Z ▶ Memory Extraction provider prefix -2026-09-27T05:31:55.4220533Z ✔ disables Tools only for the auxiliary request while preserving the source prefix (224.364384ms) -2026-09-27T05:31:55.4246609Z ✔ rejects a provider Tool Call even when toolChoice none was requested (23.47793ms) -2026-09-27T05:31:55.4266696Z ✔ keeps Tool schemas on the Anthropic wire while Runtime owns call rejection (66.565289ms) -2026-09-27T05:31:55.4305679Z ✔ does not dispatch any auxiliary transport with active provider-native Tools (0.460917ms) -2026-09-27T05:31:55.4307055Z ✔ disables AI SDK retries for the isolated canonicalizer request (12.228315ms) -2026-09-27T05:31:55.4335641Z ✔ Memory Extraction provider prefix (344.459593ms) -2026-09-27T05:31:55.4705880Z ▶ bounded Memory Extraction -2026-09-27T05:31:55.4768535Z ✔ freezes an attachment-free Compaction context at the exact RuntimeEvent boundary (5.009614ms) -2026-09-27T05:31:55.4836307Z ✔ excludes attachments, quotes, and Tool context from Compaction interpretation text (0.501067ms) -2026-09-27T05:31:55.4854696Z ✔ keeps Assistant text while excluding parallel Tool and provider-native semantics (0.534349ms) -2026-09-27T05:31:55.4945692Z ✔ drops a repaired Assistant prefix before Memory provider context (0.539914ms) -2026-09-27T05:31:55.5005511Z ✔ rebuilds only the post-Cursor Event slice behind the previous Compaction summary (6.38558ms) -2026-09-27T05:31:55.5108550Z ✔ projects only user text, excluding Assistant, Thinking, and every Tool event (0.922551ms) -2026-09-27T05:31:55.5144382Z ✔ returns an explicit unsupported result without starting extraction (4.014698ms) -2026-09-27T05:31:55.5206256Z ✔ parses only the strict top-level Proposal schema (25.155801ms) -2026-09-27T05:31:55.5316030Z ✔ requires exact evidence quotes while allowing model-selected global scope (9.289679ms) -2026-09-27T05:31:55.5375847Z ✔ admits quotes only from text actually visible to the Provider (1.045598ms) -2026-09-27T05:31:55.5425750Z ✔ bounded Memory Extraction (68.707071ms) -2026-09-27T05:31:56.8415834Z ✔ zh-CN: peer path badges describe the route, while tooltips retain the protocol (1760.739772ms) -2026-09-27T05:31:56.9606400Z ▶ mid-turn capacity compaction in the streaming backend -2026-09-27T05:31:56.9672205Z ✔ keeps user_stop when stopping while a usage-triggered fold is summarizing (290.277616ms) -2026-09-27T05:31:57.0613908Z ✔ zh-CN: AddProviderForm renders the required slug error (239.234742ms) -2026-09-27T05:31:57.0784781Z ✔ compacts after provider usage crosses the declared window, persists first, and continues the same turn (119.307361ms) -2026-09-27T05:31:57.1758759Z ✔ replays a Codex V2 mid-turn checkpoint as native provider state (100.74854ms) -2026-09-27T05:31:57.2417276Z ✔ zh-CN: AddProviderForm renders the format slug error (198.345827ms) -2026-09-27T05:31:57.2846272Z ✔ a mid-turn compaction settles a canonical record for the run it interrupts (108.425247ms) -2026-09-27T05:31:57.3924671Z ✔ zh-CN: AddProviderForm renders the too_long slug error (173.68318ms) -2026-09-27T05:31:57.4016273Z ✔ each request seals the fold its own prompt was built under, not the send’s last one (116.178108ms) -2026-09-27T05:31:57.4445171Z ✔ recovery re-projection with ctx.branch replays the checkpoint without the raw span (46.473184ms) -2026-09-27T05:31:57.4716422Z ✔ sends an over-window request no shaper could rescue, rather than ending the turn (26.219461ms) -2026-09-27T05:31:57.4909618Z ✔ a summary that cannot fit its own input fails open and still dispatches (20.599308ms) -2026-09-27T05:31:57.5199644Z ✔ fails open with write_failed diagnostics when the checkpoint write fails (27.319007ms) -2026-09-27T05:31:57.5407876Z ✔ a malformed summarizer completion fails open end-to-end with its granular reason (23.725103ms) -2026-09-27T05:31:57.5816275Z ✔ zh-CN: AddProviderForm renders the duplicate slug error (127.656725ms) -2026-09-27T05:31:57.6427521Z ✔ bounds malformed-summary attempts across later steps in the same turn (99.321694ms) -2026-09-27T05:31:57.7356402Z ✔ bounds a provider-error summarizer failure across later steps in the same turn (62.278245ms) -2026-09-27T05:31:57.7576215Z ✔ fails closed before provider dispatch when the durable ledger read fails (18.323306ms) -2026-09-27T05:31:57.8048770Z ✔ active tool-result prune re-converges the rebuilt tail after a capacity replacement (79.462505ms) -2026-09-27T05:31:57.8106503Z ✔ zh-TW: peer path badges describe the route, while tooltips retain the protocol (263.941909ms) -2026-09-27T05:31:57.8708906Z ✔ compacts at most once per step, and again once a step is accepted (63.779569ms) -2026-09-27T05:31:57.9402140Z ✔ zh-TW: AddProviderForm renders the required slug error (126.532259ms) -2026-09-27T05:31:58.0232885Z ✔ a prune-rescuable step is rescued by the prune, not compacted (review finding C) (101.259229ms) -2026-09-27T05:31:58.0820814Z ✔ the trigger counts same-turn tool-schema growth from tool_search (review finding D) (105.789463ms) -2026-09-27T05:31:58.0870531Z ✔ zh-TW: AddProviderForm renders the format slug error (162.028736ms) -2026-09-27T05:31:58.1666449Z ✔ the usage baseline is the last request's input plus output (83.53326ms) -2026-09-27T05:31:58.1978304Z ✔ reports an accepted request past the window the model reports when nothing is declared (37.735641ms) -2026-09-27T05:31:58.2335998Z ✔ does not repeat the reported-window note once the session is already past the line (31.635572ms) -2026-09-27T05:31:58.2427270Z ✔ zh-TW: AddProviderForm renders the too_long slug error (173.158929ms) -2026-09-27T05:31:58.2606216Z ✔ does not report the reported window when the user declared one (32.313766ms) -2026-09-27T05:31:58.2950250Z ✔ reports a reply that ran past the declared window (36.050267ms) -2026-09-27T05:31:58.3290576Z ✔ does not report an overrun for an exchange that stayed inside the window (34.989937ms) -2026-09-27T05:31:58.3716459Z ✔ a falling input count between steps writes no note (27.896219ms) -2026-09-27T05:31:58.4182125Z ✔ zh-TW: AddProviderForm renders the duplicate slug error (116.610307ms) -2026-09-27T05:31:58.4853520Z ✔ a provider output-limit finish does not fold (125.252418ms) -2026-09-27T05:31:58.5289686Z ✔ a completed step's assistant text is never dropped from the replacement (review finding B) (43.023625ms) -2026-09-27T05:31:58.5844283Z ✔ dispatches a mid-turn Compaction recipe after persistence without awaiting it (55.775837ms) -2026-09-27T05:31:58.6460457Z ✔ persists a denied marker without dispatching mid-turn Memory extraction (51.373073ms) -2026-09-27T05:31:58.6515781Z ✔ mid-turn capacity compaction in the streaming backend (1982.590485ms) -2026-09-27T05:31:58.6856457Z ✔ en: peer path badges describe the route, while tooltips retain the protocol (306.828081ms) -2026-09-27T05:31:58.7176216Z ▶ mid-turn capacity compaction with a slow ledger consumer -2026-09-27T05:31:58.7216299Z ✔ keeps user_stop when stopping while a usage-triggered fold is summarizing (83.682362ms) -2026-09-27T05:31:58.7786615Z ✔ compacts after provider usage crosses the declared window, persists first, and continues the same turn (45.777146ms) -2026-09-27T05:31:58.8188109Z ✔ en: AddProviderForm renders the required slug error (128.121942ms) -2026-09-27T05:31:58.8286197Z ✔ replays a Codex V2 mid-turn checkpoint as native provider state (57.605189ms) -2026-09-27T05:31:58.8715611Z ✔ a mid-turn compaction settles a canonical record for the run it interrupts (48.458833ms) -2026-09-27T05:31:58.9506206Z ✔ en: AddProviderForm renders the format slug error (145.055822ms) -2026-09-27T05:31:58.9708936Z ✔ each request seals the fold its own prompt was built under, not the send’s last one (89.24279ms) -2026-09-27T05:31:59.0448604Z ✔ recovery re-projection with ctx.branch replays the checkpoint without the raw span (77.906627ms) -2026-09-27T05:31:59.1054326Z ✔ sends an over-window request no shaper could rescue, rather than ending the turn (62.188427ms) -2026-09-27T05:31:59.1070911Z ✔ en: AddProviderForm renders the too_long slug error (130.569181ms) -2026-09-27T05:31:59.1628510Z ✔ a summary that cannot fit its own input fails open and still dispatches (58.244546ms) -2026-09-27T05:31:59.1935520Z ✔ fails open with write_failed diagnostics when the checkpoint write fails (35.89119ms) -2026-09-27T05:31:59.2568838Z ✔ a malformed summarizer completion fails open end-to-end with its granular reason (63.278749ms) -2026-09-27T05:31:59.2726126Z ✔ en: AddProviderForm renders the duplicate slug error (181.624807ms) -2026-09-27T05:31:59.2927236Z ✔ bounds malformed-summary attempts across later steps in the same turn (37.075824ms) -2026-09-27T05:31:59.3571077Z ✔ bounds a provider-error summarizer failure across later steps in the same turn (55.983894ms) -2026-09-27T05:31:59.3670984Z ✔ fails closed before provider dispatch when the durable ledger read fails (8.390172ms) -2026-09-27T05:31:59.4138603Z ✔ active tool-result prune re-converges the rebuilt tail after a capacity replacement (55.6391ms) -2026-09-27T05:31:59.4497224Z ✔ compacts at most once per step, and again once a step is accepted (32.98461ms) -2026-09-27T05:31:59.4821288Z ✔ a prune-rescuable step is rescued by the prune, not compacted (review finding C) (24.811419ms) -2026-09-27T05:31:59.5325863Z ✔ the trigger counts same-turn tool-schema growth from tool_search (review finding D) (54.280502ms) -2026-09-27T05:31:59.5557964Z ✔ zh-TW: expanded Peer Mesh members render localized route states (304.314227ms) -2026-09-27T05:31:59.6276239Z ✔ the usage baseline is the last request's input plus output (94.874295ms) -2026-09-27T05:31:59.6743613Z ✔ reports an accepted request past the window the model reports when nothing is declared (45.481535ms) -2026-09-27T05:31:59.7314269Z ✔ does not repeat the reported-window note once the session is already past the line (57.282841ms) -2026-09-27T05:31:59.7789170Z ✔ does not report the reported window when the user declared one (48.050094ms) -2026-09-27T05:31:59.8158649Z ✔ reports a reply that ran past the declared window (37.640206ms) -2026-09-27T05:31:59.8507572Z ✔ custom connection creation updates and clears the request URL preview while typing (121.025715ms) -2026-09-27T05:31:59.8558469Z ✔ does not report an overrun for an exchange that stayed inside the window (36.235319ms) -2026-09-27T05:32:00.0287271Z ✔ a falling input count between steps writes no note (167.311215ms) -2026-09-27T05:32:00.0847531Z ✔ a provider output-limit finish does not fold (61.910858ms) -2026-09-27T05:32:00.0908231Z ✔ a completed step's assistant text is never dropped from the replacement (review finding B) (12.752162ms) -2026-09-27T05:32:00.0935980Z ✔ mid-turn capacity compaction with a slow ledger consumer (1455.761274ms) -2026-09-27T05:32:00.1153056Z ▶ mid-turn capacity default-on safety guards (issue #882 PR 3) -2026-09-27T05:32:00.1170512Z ✔ does not omit hydrated images before a selected-model step-zero provider verdict (22.380295ms) -2026-09-27T05:32:00.1356152Z ✔ keeps the fallback capacity guard inert below its unknown-model bound (19.584314ms) -2026-09-27T05:32:00.2542231Z ✔ measures a materialized image by what it bills, not by its serialized bytes (115.763647ms) -2026-09-27T05:32:00.2926428Z ✔ keeps multiple bounded recent turns below the model capacity (45.502009ms) -2026-09-27T05:32:00.3212393Z ✔ lets an undeclared window dispatch a payload no local number can judge (27.625237ms) -2026-09-27T05:32:00.3370717Z ✔ endpoint editing previews the default model protocol override (463.841553ms) -2026-09-27T05:32:00.3386278Z ✔ does not fire for a session without a persisted head anchor (child sessions have no seam) (18.976679ms) -2026-09-27T05:32:00.3875576Z ✔ treats a /models context window as metadata unless the user declares it (48.033348ms) -2026-09-27T05:32:00.3891141Z ✔ mid-turn capacity default-on safety guards (issue #882 PR 3) (298.840178ms) -2026-09-27T05:32:00.4077599Z ▶ the shipped runtime default drives the proactive long-turn journey (issue #882 PR 3) -2026-09-27T05:32:00.4079845Z ✔ a long turn near the window compacts mid-turn, persists the checkpoint, and continues instead of truncating (18.972237ms) -2026-09-27T05:32:00.4156072Z ✔ persists the last request input and output as the anchor (9.31042ms) -2026-09-27T05:32:00.4516461Z ✔ an anchor is discarded unless its invocation proves it came from this model (32.946362ms) -2026-09-27T05:32:00.5004691Z ✔ a synthetic /compact usage row does not shadow the real anchor (50.195159ms) -2026-09-27T05:32:00.5211994Z ✔ the reserve is twice the last real reply, bounded, not the model output limit (21.340533ms) -2026-09-27T05:32:00.5299229Z ✔ keeps a useful output floor so a near-window request still recovers (9.118133ms) -2026-09-27T05:32:00.5476598Z ✔ an unrescuable turn under the shipped default still dispatches (13.919865ms) -2026-09-27T05:32:00.5520899Z ✔ the shipped runtime default drives the proactive long-turn journey (issue #882 PR 3) (156.582152ms) -2026-09-27T05:32:00.6596021Z ▶ settleModelStepOutcome -2026-09-27T05:32:00.6626126Z ✔ explicit stream failure takes precedence over finish metadata (1.020655ms) -2026-09-27T05:32:00.6668048Z ✔ classifies a raw error finish without widening provider retry policy (3.16434ms) -2026-09-27T05:32:00.6717730Z ✔ settleModelStepOutcome (5.752539ms) -2026-09-27T05:32:00.6832665Z ▶ ModelAdapter.startStream onError -2026-09-27T05:32:00.6875979Z ✔ preserves an already-emitted failure when reasoning flush has no final metadata (90.227914ms) -2026-09-27T05:32:00.6898353Z ✔ fails closed when a successful reasoning stream has no final metadata (29.582568ms) -2026-09-27T05:32:00.6955922Z ✔ classifies a raw provider error finish ahead of an unfinalized reasoning trailer (15.55559ms) -2026-09-27T05:32:00.7007035Z ✔ normalizes provider retry eligibility and Retry-After at the adapter boundary (12.442907ms) -2026-09-27T05:32:00.7026178Z ✔ does not hide provider retries inside one adapter call (24.32862ms) -2026-09-27T05:32:00.7069134Z ✔ returns normalized Maka-owned request metadata (6.999887ms) -2026-09-27T05:32:00.7085743Z ✔ settles a stream without a finish frame as truncated (21.720208ms) -2026-09-27T05:32:00.7086811Z ✔ preserves a provider reason hidden by the SDK other bucket (42.31022ms) -2026-09-27T05:32:00.7087684Z ✔ settles a content filter as a terminal failure (21.132519ms) -2026-09-27T05:32:00.7088405Z ✔ settles an aborted request as aborted (11.035418ms) -2026-09-27T05:32:00.7089384Z ✔ a provider stream failure never reaches console.error (21.627904ms) -2026-09-27T05:32:00.7090173Z ✔ ModelAdapter.startStream onError (299.669372ms) -2026-09-27T05:32:00.7091088Z ✔ reports activity for every pulled SDK stream part before semantic translation (121.320024ms) -2026-09-27T05:32:00.7091985Z ▶ ModelAdapter stream and error normalization -2026-09-27T05:32:00.7092888Z ✔ shrinks a provider output limit when the persisted request is near the window (18.490346ms) -2026-09-27T05:32:00.7093898Z ✔ sends no output limit on a Codex subscription, even a configured one (2.145723ms) -2026-09-27T05:32:00.7115237Z ✔ startStream sends a Codex subscription request no output limit from any source (221.342923ms) -2026-09-27T05:32:00.7116564Z ✔ forwards the stable Session identity to the model factory (21.724331ms) -2026-09-27T05:32:00.7117566Z ✔ resolves optional-key LocalAI without fabricating a credential (6.630446ms) -2026-09-27T05:32:00.7118924Z ✔ supports signed-thinking replay on Copilot models using the Anthropic wire (0.573337ms) -2026-09-27T05:32:00.7120166Z ✔ preserves Anthropic redacted thinking metadata at the model boundary (7.960385ms) -2026-09-27T05:32:00.7121257Z ✔ strips the Maka-owned makaResponses namespace from provider stream metadata (0.336901ms) -2026-09-27T05:32:00.7122297Z ✔ supports unsigned-thinking replay on Kimi models using the OpenAI wire (0.351512ms) -2026-09-27T05:32:00.7123283Z ✔ shares one resolved OpenAI Chat reasoning contract with the model factory (0.458939ms) -2026-09-27T05:32:00.7124311Z ✔ supports Responses reasoning replay for Volcengine Agent Plan (0.237336ms) -2026-09-27T05:32:00.7125377Z ✔ supports plaintext Responses reasoning replay for DeepSeek V4 (0.207762ms) -2026-09-27T05:32:00.7126364Z ✔ supports summary-item Responses reasoning replay for Alibaba Token Plan (0.240235ms) -2026-09-27T05:32:00.7127427Z ✔ normalizes Alibaba stream item ids into bounded durable state from item start (8.1624ms) -2026-09-27T05:32:00.7128471Z ✔ keeps DeepSeek plaintext replay on the main content-only behavior (0.309447ms) -2026-09-27T05:32:00.7129590Z ✔ translates provider text, reasoning, tool calls, and errors into ModelStreamEvents (7.461791ms) -2026-09-27T05:32:00.7130694Z ✔ normalizes a status-less provider server_error into a retryable outage (5.798039ms) -2026-09-27T05:32:00.7131896Z ✔ preserves an explicit empty reasoning delta without inventing one for absent text (6.946001ms) -2026-09-27T05:32:00.7132921Z ✔ marks OpenAI Chat field metadata as a Maka transport hint (0.372721ms) -2026-09-27T05:32:00.7133920Z ✔ preserves local input sampling separately from provider tool activity (0.228374ms) -2026-09-27T05:32:00.7168662Z ✔ returns a Maka-owned tool call event from one provider step (1.747891ms) -2026-09-27T05:32:00.7169666Z ✔ normalizes provider-executed search results and text citation metadata (0.385818ms) -2026-09-27T05:32:00.7170613Z ✔ preserves native Responses item boundaries and terminal metadata (0.293735ms) -2026-09-27T05:32:00.7171582Z ✔ does not treat Chat Completions metadata as a Responses item boundary (3.683308ms) -2026-09-27T05:32:00.7172545Z ✔ normalizes Anthropic web search results and server-tool errors (0.279101ms) -2026-09-27T05:32:00.7173562Z ✔ captures the Anthropic reasoning signature without emitting an empty thinking event (0.314277ms) -2026-09-27T05:32:00.7174829Z ✔ preserves OpenAI Responses reasoning metadata through stream normalization (3.10371ms) -2026-09-27T05:32:00.7175931Z ✔ classifies provider errors and maps finish reasons through adapter-owned helpers (11.661445ms) -2026-09-27T05:32:00.7176900Z ✔ projects the final provider error inside an AI SDK retry wrapper (3.120234ms) -2026-09-27T05:32:00.7177808Z ✔ projects a structured network error to a consistent reason and safe message (0.412239ms) -2026-09-27T05:32:00.7178823Z ✔ retains Node connection copy without promoting retry classification (8.91238ms) -2026-09-27T05:32:00.7179804Z ✔ projects string provider errors through the same classification (0.357993ms) -2026-09-27T05:32:00.7180807Z ✔ retains an unredacted bounded summary from an unknown structured provider error (15.385338ms) -2026-09-27T05:32:00.7181882Z ✔ normalizes cache and reasoning usage variants in the adapter module (0.253278ms) -2026-09-27T05:32:00.7182960Z ✔ treats incomplete provider usage as unavailable unless total can supply the missing side (0.153108ms) -2026-09-27T05:32:00.7224863Z ✔ derives totals from detail-only AI SDK usage (0.134532ms) -2026-09-27T05:32:00.7225932Z ✔ preserves DeepSeek and OpenAI-compatible raw usage fields (11.130902ms) -2026-09-27T05:32:00.7226822Z ✔ normalizes direct DeepSeek snake_case usage totals (0.288524ms) -2026-09-27T05:32:00.7227638Z ✔ ModelAdapter stream and error normalization (379.685546ms) -2026-09-27T05:32:00.7228333Z ▶ buildProviderOptions: thinking level -2026-09-27T05:32:00.7229177Z ✔ Anthropic-compatible providers do not inherit automatic prompt caching (7.223044ms) -2026-09-27T05:32:00.7230690Z ✔ anthropic effort model (opus-4-8) sends effort field directly; no budgetTokens mapping (2.202051ms) -2026-09-27T05:32:00.7232242Z ✔ anthropic budget/toggle model (haiku-4-5) sends thinking.disabled for off; drops unsupported effort (0.721297ms) -2026-09-27T05:32:00.7233396Z ✔ Claude 4.5 uses legacy enabled thinking even when the UI exposes effort levels (3.041313ms) -2026-09-27T05:32:00.7264850Z ✔ anthropic effort model without toggle (opus-4-8) drops off (cannot disable) (0.271451ms) -2026-09-27T05:32:00.7266237Z ✔ Kimi K3 passes the chosen effort through adaptive thinking, defaulting to max (0.588746ms) -2026-09-27T05:32:00.7267357Z ✔ Kimi K3 sends the chosen reasoning effort through the selected OpenAI-compatible namespace (0.711269ms) -2026-09-27T05:32:00.7268488Z ✔ openai gpt-5.5 sends reasoningEffort (none for off, max for max); gpt-4o drops level (1.035144ms) -2026-09-27T05:32:00.7269574Z ✔ GPT-6 Sol and Luna send selected reasoning effort on API and Codex paths (0.612566ms) -2026-09-27T05:32:00.7270688Z ✔ openai-codex (gpt-5.5) preserves store:false / textVerbosity and merges reasoningEffort (0.558012ms) -2026-09-27T05:32:00.7271852Z ✔ parallel tool-call capability overrides wire defaults and stays opt-in on compatible providers (0.792166ms) -2026-09-27T05:32:00.7273053Z ✔ parallel tool-call capability reaches native and compatible chat request bodies (120.866186ms) -2026-09-27T05:32:00.7274598Z ✔ google effort model (gemini-3) sends thinkingLevel; Gemini 2.5 Flash off sends thinkingBudget 0; safetySettings always present (0.479217ms) -2026-09-27T05:32:00.7278829Z ✔ openai-compatible sends reasoningEffort for effort levels and does not expose no-op off (0.877929ms) -2026-09-27T05:32:00.7279914Z ✔ Alibaba Token Plan sends the formal Qwen3.8 effort and disable wires (2.561719ms) -2026-09-27T05:32:00.7280878Z ✔ family fallback wires per-model override adapters under their SDK namespaces (0.6681ms) -2026-09-27T05:32:00.7281902Z ✔ every active shipped Claude model on Anthropic Messages requests visible thinking (5.426019ms) -2026-09-27T05:32:00.7282992Z ✔ unknown non-Claude models on Anthropic Messages do not inherit Claude thinking (0.176633ms) -2026-09-27T05:32:00.7284076Z ✔ github-copilot routes thinking by the account-declared model protocol (4.448964ms) -2026-09-27T05:32:00.7285357Z ✔ custom chat models apply family defaults only when no explicit level was supplied (0.279552ms) -2026-09-27T05:32:00.7286375Z ✔ custom Messages models think only on a declared level, always adaptive (0.620093ms) -2026-09-27T05:32:00.7287406Z ✔ Cloudflare Workers AI sends Kimi K2.6 reasoning effort and its real thinking-off wire (0.271503ms) -2026-09-27T05:32:00.7288506Z ✔ StepFun Step Plan sends only officially supported reasoning effort levels (0.231077ms) -2026-09-27T05:32:00.7289577Z ✔ Volcengine Ark sends its official thinking object and optional reasoning effort (3.392126ms) -2026-09-27T05:32:00.7290663Z ✔ Cohere sends its native disabled thinking object without inventing effort levels (0.285184ms) -2026-09-27T05:32:00.7291798Z ✔ Cohere north-mini serves the OpenAI-compatible compat wire declared by models.dev (0.205367ms) -2026-09-27T05:32:00.7293020Z ✔ Tencent Token Plan sends its documented reasoning effort under the stable provider namespace (1.27961ms) -2026-09-27T05:32:00.7294204Z ✔ Vercel Gateway sends reasoning effort under its stable namespace and exact model id (0.371581ms) -2026-09-27T05:32:00.7379174Z ✔ Ollama Cloud sends reasoning effort under its namespace; standard models expose off, GPT-OSS does not (0.276061ms) -2026-09-27T05:32:00.7380247Z ✔ a level the model does not support is dropped (defensive) (0.208477ms) -2026-09-27T05:32:00.7381097Z ✔ buildProviderOptions: thinking level (164.798346ms) -2026-09-27T05:32:00.7381795Z ▶ getAIModel: models.dev registry providers -2026-09-27T05:32:00.7382642Z ✔ a custom Chat connection without a base URL fails with a connection error (0.757189ms) -2026-09-27T05:32:00.7383673Z ✔ routes the existing Kimi provider through its explicitly selected protocol (4.133507ms) -2026-09-27T05:32:00.7385193Z ✔ OpenCode Go accepts explicit protocols without a static model entry (0.49365ms) -2026-09-27T05:32:00.7386362Z ✔ routes each exact GitHub Copilot model through its account-advertised wire (0.543472ms) -2026-09-27T05:32:00.7387290Z ✔ getAIModel: models.dev registry providers (6.725587ms) -2026-09-27T05:32:00.7388006Z ▶ buildProviderOptions: openai-compatible namespace -2026-09-27T05:32:00.7388899Z ✔ zai-coding-plan emits reasoningEffort under the camelCase namespace (0.332005ms) -2026-09-27T05:32:00.7389995Z ✔ deepseek wires provider-native effort on both chat and Responses dialects (2.494138ms) -2026-09-27T05:32:00.7390950Z ✔ custom chat models send declared levels under the custom provider namespace (0.306558ms) -2026-09-27T05:32:00.7391914Z ✔ custom Responses models use per-model declared levels on the Responses wire (0.534513ms) -2026-09-27T05:32:00.7392869Z ✔ custom models send the declared fast service tier only on the Responses wire (0.277951ms) -2026-09-27T05:32:00.7393784Z ✔ Fast provider options mirror the pinned OpenAI SDK model gate (0.577537ms) -2026-09-27T05:32:00.7394949Z ✔ Fast reaches the Responses request body for an OpenAI-named relay model (30.511355ms) -2026-09-27T05:32:00.7396003Z ✔ declared relay levels reach the actual chat-completions request body (3.499357ms) -2026-09-27T05:32:00.7397106Z ✔ one custom connection sends each model on its own wire with native thinking fields (32.065451ms) -2026-09-27T05:32:00.7398251Z ✔ built-in dashed provider effort reaches the chat request body without deprecation (3.144595ms) -2026-09-27T05:32:00.7399374Z ✔ passthrough provider options reach the chat request body without deprecation (4.216989ms) -2026-09-27T05:32:00.7400401Z ✔ buildProviderOptions: openai-compatible namespace (82.750245ms) -2026-09-27T05:32:00.7401412Z ✔ explicit Chat selection keeps Grok thinking options on the Chat wire (0.279106ms) -2026-09-27T05:32:00.7402584Z ✔ Copilot Messages preserves bearer auth without the generic Anthropic beta opt-ins (5.508284ms) -2026-09-27T05:32:00.7403474Z ▶ buildProviderOptions: Command Code thinking level -2026-09-27T05:32:00.7404288Z ✔ selectable efforts surface for the models the table accepts them on (0.266581ms) -2026-09-27T05:32:00.7467554Z ✔ models that reason automatically offer no selector (0.248439ms) -2026-09-27T05:32:00.7468436Z ✔ an unknown model exposes nothing and sends nothing (0.128178ms) -2026-09-27T05:32:00.7469393Z ✔ buildProviderOptions: Command Code thinking level (0.842766ms) -2026-09-27T05:32:00.7470134Z ▶ leastReasoningThinkingLevel -2026-09-27T05:32:00.7471077Z ✔ asks for the lowest declared effort where a dropped off would leave provider-default reasoning (4.837778ms) -2026-09-27T05:32:00.7472300Z ✔ keeps off where an omitted parameter already means no extended reasoning (0.291706ms) -2026-09-27T05:32:00.7473474Z ✔ asks Kimi Coding Plan for its lowest effort, since it thinks by default when none is sent (0.327164ms) -2026-09-27T05:32:00.7474305Z ✔ leastReasoningThinkingLevel (5.673834ms) -2026-09-27T05:32:00.7475256Z ▶ streamed tool-call association -2026-09-27T05:32:00.7476030Z ✔ orders distinct non-zero indices without treating them as storage slots (220.05104ms) -2026-09-27T05:32:00.7476915Z ✔ keeps calls distinct when custom reuses index zero (19.583711ms) -2026-09-27T05:32:00.7477681Z ✔ keeps calls distinct when openai reuses index zero (33.173097ms) -2026-09-27T05:32:00.7478435Z ✔ continues the only open call when index is absent (16.982365ms) -2026-09-27T05:32:00.7479185Z ✔ records an id that arrives after the call starts (17.920138ms) -2026-09-27T05:32:00.7479978Z ✔ fails closed when a bare delta could belong to several calls (8.903626ms) -2026-09-27T05:32:00.7480796Z ✔ fails closed when index and id address different calls (14.467896ms) -2026-09-27T05:32:00.7481548Z ✔ treats blank continuation aliases as absent on custom (8.169384ms) -2026-09-27T05:32:00.7482278Z ✔ treats blank continuation aliases as absent on openai (14.003862ms) -2026-09-27T05:32:00.7514924Z ✔ mints unique usable ids when wire ids are unavailable (6.529295ms) -2026-09-27T05:32:00.7516141Z ✔ replaces a non-adjacent duplicate wire id (15.968133ms) -2026-09-27T05:32:00.7517056Z ✔ streamed tool-call association (385.508022ms) -2026-09-27T05:32:00.7517614Z ▶ model discovery -2026-09-27T05:32:00.7518477Z ✔ all token metadata adapters preserve valid limits and omit invalid optional limits (40.146862ms) -2026-09-27T05:32:00.7519595Z ✔ custom connections list models on the wire of their default protocol (2.232109ms) -2026-09-27T05:32:00.7520731Z ✔ Cloudflare Workers AI accepts exactly 2,048 models and rejects the first excess item (555.204288ms) -2026-09-27T05:32:00.7521734Z ✔ Cohere rejects repeated page tokens or excess entries (42.245273ms) -2026-09-27T05:32:00.7522723Z ✔ Fireworks bounds account concurrency while preserving normal pagination (52.191957ms) -2026-09-27T05:32:00.7523904Z ✔ Fireworks rejects excess account fanout, total raw entries, and repeated page tokens (75.721531ms) -2026-09-27T05:32:00.7547504Z ✔ discovery classifies HTTP authentication failure without secrets or fallback models (38.707385ms) -2026-09-27T05:32:00.7548802Z ✔ Codex OAuth discovers models from the chatgpt.com/backend-api/codex/models endpoint (8.891837ms) -2026-09-27T05:32:00.7549868Z ✔ Codex OAuth discovery sends ChatGPT-Account-Id for account routing (12.74385ms) -2026-09-27T05:32:00.7551013Z ✔ connection discovery classifies a wholly policy-blocked Copilot catalog as auth (19.337042ms) -2026-09-27T05:32:00.7552230Z ✔ connection discovery classifies structurally invalid JSON from a real HTTP response (29.457144ms) -2026-09-27T05:32:00.7553370Z ✔ a declared output modality without text is recorded as a capability (33.856186ms) -2026-09-27T05:32:00.7554322Z ✔ an unrecognized output modality never disables a model (2.794088ms) -2026-09-27T05:32:00.7555199Z ✔ model discovery (919.340648ms) -2026-09-27T05:32:00.7556185Z ✔ model history drops repaired assistant prefixes by default and diagnoses the boundary (3.20791ms) -2026-09-27T05:32:00.7557365Z ✔ model history keeps reused step ids as separate chronological segments (5.053345ms) -2026-09-27T05:32:00.7587102Z ✔ model history separates settled legacy calls but keeps overlapping calls together (0.966039ms) -2026-09-27T05:32:00.7588614Z ✔ model history pairs reused tool call ids by durable occurrence (0.489844ms) -2026-09-27T05:32:00.7589700Z ✔ model history does not pair an orphan result with a later reused call id (3.185692ms) -2026-09-27T05:32:00.7590722Z ✔ model history scopes reused tool call ids to their invocation (0.522312ms) -2026-09-27T05:32:00.7591749Z ✔ model history keeps reused step ids separate across invocations (0.440908ms) -2026-09-27T05:32:00.7592506Z ▶ effective model projection reduction -2026-09-27T05:32:00.7593261Z ✔ replaces the projection and the legacy result together (14.352871ms) -2026-09-27T05:32:00.7594205Z ✔ refuses a stale concurrent writer instead of restoring its source (7.690391ms) -2026-09-27T05:32:00.7622510Z ✔ orders concurrent Turns deterministically regardless of ledger arrival order (3.705828ms) -2026-09-27T05:32:00.7623617Z ✔ withholds a target whose record this build cannot read (0.293863ms) -2026-09-27T05:32:00.7632478Z ✔ refuses the decodable records of an unreadable target too (0.552178ms) -2026-09-27T05:32:00.7633692Z ✔ leaves provider-native opaque results alone (3.62059ms) -2026-09-27T05:32:00.7634712Z ✔ rolling compaction cannot re-measure or re-archive replaced content (8.058873ms) -2026-09-27T05:32:00.7635615Z ✔ leaves media to the existing image projection policy (0.890044ms) -2026-09-27T05:32:00.7636390Z ✔ leaves a text result under the size gate alone (2.808225ms) -2026-09-27T05:32:00.7637260Z ✔ measures the size gate in UTF-8 bytes so Chinese text is not let through (0.912649ms) -2026-09-27T05:32:00.7638109Z ✔ effective model projection reduction (47.338242ms) -2026-09-27T05:32:00.7638658Z ▶ durable transition writer -2026-09-27T05:32:00.7639359Z ✔ commits archive then transition, and the fold applies the result (4.974167ms) -2026-09-27T05:32:00.7640592Z ✔ an archive failure leaves the model-visible content untouched (0.451638ms) -2026-09-27T05:32:00.7641486Z ✔ durable transition writer (8.462147ms) -2026-09-27T05:32:00.7641982Z ▶ transition ledger reads -2026-09-27T05:32:00.7642746Z ✔ collects every session transition once and ignores undecodable records (3.452229ms) -2026-09-27T05:32:00.7643825Z ✔ legacy retry: an event with no durable projection still folds through one codec (1.479759ms) -2026-09-27T05:32:00.7644861Z ✔ transition ledger reads (5.115866ms) -2026-09-27T05:32:00.7645751Z ✔ native WebSearch is a provider-executed descriptor, not a local implementation (10.851357ms) -2026-09-27T05:32:00.7673810Z ✔ turn-start routing falls back explicitly when native search is unavailable (18.25524ms) -2026-09-27T05:32:00.7675470Z ✔ turn-start routing compiles Claude models to the CC-compatible Anthropic tool (0.934535ms) -2026-09-27T05:32:00.7676600Z ✔ root surfaces do not advertise unsupported DeepSeek native search (0.448873ms) -2026-09-27T05:32:00.7677594Z ✔ the WebSearch feature gate leaves WebFetch available (0.311528ms) -2026-09-27T05:32:00.7678505Z ✔ does not carry queued Unix PTY writes past native exit (129.312983ms) -2026-09-27T05:32:00.7679083Z ▶ OAuth initial token decoder -2026-09-27T05:32:00.7695763Z ✔ ignores additive provider fields while validating bounded token fields (2.725297ms) -2026-09-27T05:32:00.7696614Z ✔ OAuth initial token decoder (3.963735ms) -2026-09-27T05:32:00.7697130Z ▶ OAuth enrollment policy -2026-09-27T05:32:00.7697821Z ✔ honors the Codex opt-out flag while keeping xAI enabled (0.300062ms) -2026-09-27T05:32:00.7698676Z ✔ keeps the GitHub Copilot device sign-in off until an install opts in (0.192361ms) -2026-09-27T05:32:00.7699441Z ✔ OAuth enrollment policy (0.781585ms) -2026-09-27T05:32:00.7699988Z ▶ OAuth token endpoint transport -2026-09-27T05:32:00.7700725Z ✔ bounds a streamed response even without content-length (69.499429ms) -2026-09-27T05:32:00.7701725Z ✔ classifies a success response stream failure before EOF as outcome unknown (5.18729ms) -2026-09-27T05:32:00.7702817Z ✔ classifies invalid JSON received through EOF as an invalid response (3.069523ms) -2026-09-27T05:32:00.7703860Z ✔ does not await cancellation when an oversized stream never settles cancel (1.750865ms) -2026-09-27T05:32:00.7767408Z ✔ classifies invalid_grant without retaining provider response text (3.698935ms) -2026-09-27T05:32:00.7768530Z ✔ marks reply loss after dispatch as outcome unknown (0.784242ms) -2026-09-27T05:32:00.7769434Z ✔ does not await stream cancellation at the bounded timeout (10.420079ms) -2026-09-27T05:32:00.7770239Z ✔ OAuth token endpoint transport (95.573752ms) -2026-09-27T05:32:00.7771049Z ✔ applies the declared Open Responses body policies (4.654737ms) -2026-09-27T05:32:00.9430555Z ▶ OpenAI Codex compaction fallback -2026-09-27T05:32:00.9470935Z ✔ falls back after a non-retryable native protocol rejection (12.768115ms) -2026-09-27T05:32:00.9543207Z ✔ falls back when native state is unusable or its projection cannot fit (0.931929ms) -2026-09-27T05:32:00.9544353Z ✔ does not fall back on cancellation, rate limits, or provider availability (4.035651ms) -2026-09-27T05:32:00.9620214Z ✔ OpenAI Codex compaction fallback (26.469158ms) -2026-09-27T05:32:00.9697357Z ▶ OpenAI Codex compaction output -2026-09-27T05:32:00.9746058Z ✔ accepts exactly one complete compaction item (6.492688ms) -2026-09-27T05:32:00.9810711Z ✔ rejects missing, ambiguous, and incomplete compaction items (0.4384ms) -2026-09-27T05:32:00.9845696Z ✔ OpenAI Codex compaction output (7.361619ms) -2026-09-27T05:32:00.9886578Z ▶ OpenAI Codex compaction input -2026-09-27T05:32:00.9953299Z ✔ keeps an interrupted late tool step after the intervening assistant step (152.297481ms) -2026-09-27T05:32:00.9977959Z ✔ OpenAI Codex compaction input (152.662776ms) -2026-09-27T05:32:01.0871513Z ✔ legacy credential endpoint editing shows one preview and retains its accessible description (661.646285ms) -2026-09-27T05:32:01.1666582Z ✔ loads a durable Session from a second ACP process and continues prompting (12191.868379ms) -2026-09-27T05:32:01.8416799Z ✔ credential probing does not flash a page-level loading warning (514.552502ms) -2026-09-27T05:32:01.9350708Z ✔ custom openai-chat: full endpoint works for testing, generation and discovery (193.750206ms) -2026-09-27T05:32:01.9406372Z ✔ custom openai-responses: full endpoint works for testing, generation and discovery (101.222868ms) -2026-09-27T05:32:01.9556287Z ✔ openai openai-chat: full endpoint works for testing, generation and discovery (61.761028ms) -2026-09-27T05:32:01.9676246Z ✔ openai openai-responses: full endpoint works for testing, generation and discovery (72.734524ms) -2026-09-27T05:32:01.9766397Z ✔ openrouter openai-chat: full endpoint works for testing, generation and discovery (62.005758ms) -2026-09-27T05:32:01.9796164Z ✔ deepseek openai-chat: full endpoint works for testing, generation and discovery (49.017086ms) -2026-09-27T05:32:01.9910406Z ✔ deepseek openai-responses: full endpoint works for testing, generation and discovery (65.461393ms) -2026-09-27T05:32:01.9992034Z ✔ Kimi Chat probes and SDK requests strip endpoints before adding the version prefix (39.988033ms) -2026-09-27T05:32:02.0735989Z ▶ OpenAI Responses semantic continuation -2026-09-27T05:32:02.0786390Z ✔ uses Maka persisted reasoning shape as the next continuation baseline (5.82388ms) -2026-09-27T05:32:02.0876076Z ✔ fails closed when the persisted request prefix or tool-result tail changed (0.310105ms) -2026-09-27T05:32:02.0906520Z ✔ sends only messages after the exact prior request and response (3.428227ms) -2026-09-27T05:32:02.0965687Z ✔ uses a full request when any prior request message changed (0.462541ms) -2026-09-27T05:32:02.1045719Z ✔ uses a full request when the replayed response is not exact (6.859514ms) -2026-09-27T05:32:02.1075797Z ✔ does not create an empty continuation (0.294025ms) -2026-09-27T05:32:02.1102761Z ✔ adds a session-stable cache key while preserving explicit OpenAI options (0.264569ms) -2026-09-27T05:32:02.1185868Z ✔ never overwrites an explicit cache key or mutates caller options (5.345947ms) -2026-09-27T05:32:02.1205661Z ✔ OpenAI Responses semantic continuation (26.285979ms) -2026-09-27T05:32:02.3130582Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:32:02.4836812Z ✔ model rows retain named parameter actions without mounting a tooltip layer per row (913.819261ms) -2026-09-27T05:32:02.7136054Z ▶ OpenAI Responses ModelAdapter continuation -2026-09-27T05:32:02.7196172Z ✔ maps streamed reasoning summaries into Maka thinking events (285.976627ms) -2026-09-27T05:32:02.7255949Z ✔ preserves retryable WebSocket failures through the AI SDK stream boundary (37.516376ms) -2026-09-27T05:32:02.7316013Z ✔ feeds the persisted reasoning projection back into the next delta request (116.065741ms) -2026-09-27T05:32:02.7375969Z ✔ OpenAI Responses ModelAdapter continuation (448.993625ms) -2026-09-27T05:32:02.8186248Z ✔ credential read failures still render the persistent warning (620.681969ms) -2026-09-27T05:32:02.8296283Z ▶ open responses plaintext reasoning -2026-09-27T05:32:02.8345848Z ✔ the pinned SDK maps official summary events across raw byte chunks (293.993249ms) -2026-09-27T05:32:02.8416109Z ✔ Alibaba-compatible content deltas still match the final summary metadata (13.845528ms) -2026-09-27T05:32:02.8516014Z ✔ the pinned SDK flushes an unfinalized item without provider metadata (10.091912ms) -2026-09-27T05:32:02.8545839Z ✔ the pinned SDK keeps response.failed ahead of its unfinalized trailer (5.278913ms) -2026-09-27T05:32:02.8655694Z ✔ streamed reasoning text reaches the model stream (6.297521ms) -2026-09-27T05:32:02.8715728Z ✔ everything the transport does not translate passes through untouched (2.71996ms) -2026-09-27T05:32:02.8794797Z ✔ reasoning survives frames split across chunk boundaries (20.519141ms) -2026-09-27T05:32:02.8835848Z ✔ a provider we have not measured is left untranslated (83.440812ms) -2026-09-27T05:32:02.8895527Z ✔ ordinary function calls still finish as tool-calls (6.782259ms) -2026-09-27T05:32:02.9045825Z ✔ non-streaming reasoning content is read (8.16902ms) -2026-09-27T05:32:02.9078538Z ✔ open responses plaintext reasoning (454.125037ms) -2026-09-27T05:32:02.9276651Z ✔ context windows preserve integers and parse decimal K/M without rounding (1.495988ms) -2026-09-27T05:32:02.9335950Z ✔ context windows reject malformed, fractional, nonpositive and unsafe values (0.286386ms) -2026-09-27T05:32:02.9366417Z ▶ renderConversationMarkdown -2026-09-27T05:32:02.9457681Z ✔ uses displayText for user turns when the model text is a skill envelope (18.849671ms) -2026-09-27T05:32:02.9555699Z ✔ renderConversationMarkdown (22.881923ms) -2026-09-27T05:32:02.9588801Z ✔ Desktop conversation adapter keeps snapshot reads and catalog access on the bridge (5.432969ms) -2026-09-27T05:32:02.9685957Z ✔ prompt suggestion preferences observe cross-renderer changes and unsubscribe (0.680728ms) -2026-09-27T05:32:02.9745614Z ▶ resolveCreateSessionRequest -2026-09-27T05:32:02.9825685Z ✔ leaves an omitted permission choice to the owning runtime (1.253471ms) -2026-09-27T05:32:02.9855870Z ✔ passes a product mode through verbatim for the Host to expand (8.010551ms) -2026-09-27T05:32:02.9909936Z ✔ refuses a directly-requested explore boundary (0.652103ms) -2026-09-27T05:32:03.0025627Z ✔ rejects an invalid collaboration or orchestration mode (0.314689ms) -2026-09-27T05:32:03.0075612Z ✔ rejects the retired research workflow (0.233869ms) -2026-09-27T05:32:03.0105160Z ✔ drops other unrecognized modes from the renderer (3.002507ms) -2026-09-27T05:32:03.0135927Z ✔ carries the caller's name and labels when no mode overrides them (0.245675ms) -2026-09-27T05:32:03.0198647Z ✔ resolveCreateSessionRequest (21.947865ms) -2026-09-27T05:32:03.0215653Z ✔ planner takes the straightest acceptable path, not the bendiest (12.748774ms) -2026-09-27T05:32:03.0265770Z ✔ a fresh move departs toward its target, never along the parked rest angle (3.838328ms) -2026-09-27T05:32:03.0305487Z ✔ an interrupted move can be planned dead straight (14.558252ms) -2026-09-27T05:32:03.0355713Z ✔ the presentation deadline covers the slowest release the gate can ask for (4.66712ms) -2026-09-27T05:32:03.0376469Z ✔ the deadline holds at every frame rate the overlay can paint at (40.864298ms) -2026-09-27T05:32:03.0440479Z ✔ a presentation resumed after an idle gap does not replay the gap (0.541845ms) -2026-09-27T05:32:03.0450001Z ✔ the landing the runtime waits for fits in the backstop it waits with (5.566795ms) -2026-09-27T05:32:03.0505646Z ✔ an interrupted move may still honour the heading it is already carrying (2.06267ms) -2026-09-27T05:32:03.0593399Z ✔ first appearance uses the requested action hotspot without an off-screen glide (0.307725ms) -2026-09-27T05:32:03.0625602Z ✔ subsequent move spring-settles exactly on the action hotspot (3.717682ms) -2026-09-27T05:32:03.0655514Z ✔ presentation progress APIs track the active spring path (1.826385ms) -2026-09-27T05:32:03.0735615Z ✔ short move remains finite and converges without a curved overshoot (0.311758ms) -2026-09-27T05:32:03.0745972Z ✔ boundary path never bows outside the viewport (0.439737ms) -2026-09-27T05:32:03.0799175Z ✔ a long fast move keeps the glyph inside a single scootRotationMax (10.747587ms) -2026-09-27T05:32:03.0846131Z ✔ native completion snaps the action hotspot and cancels the planned move (0.684085ms) -2026-09-27T05:32:03.0893875Z ✔ cancel clears path, pressed state, and press animation (2.897003ms) -2026-09-27T05:32:03.0917776Z ✔ cancel during first fade restores full opacity for the next move (8.972815ms) -2026-09-27T05:32:03.0955801Z ✔ click press animation clears over about 0.25 seconds (0.166787ms) -2026-09-27T05:32:03.1015817Z ✔ independent score charges a direct route less than an equal-length detour (0.129903ms) -2026-09-27T05:32:03.1065839Z ✔ independent score rejects an out-of-bounds shortcut in favour of a usable route (0.141072ms) -2026-09-27T05:32:03.1100040Z ✔ the rendered glyph tip is the action hotspot and every path lands exactly on it (1.523406ms) -2026-09-27T05:32:03.1135814Z ✔ the independently tuned position spring never overshoots its target (4.170839ms) -2026-09-27T05:32:03.1202175Z ✔ five-nines progress and the two-pixel gate cover the same landing (0.951219ms) -2026-09-27T05:32:03.1235624Z ✔ the 2100ms deadline covers 240Hz release and one-fps observability (1.539069ms) -2026-09-27T05:32:03.1285595Z ✔ terminal heading smoothsteps through the shortest signed angle (0.258191ms) -2026-09-27T05:32:03.1306049Z ✔ independent score preserves detour ratios for positive subpixel chords (0.122515ms) -2026-09-27T05:32:03.1335848Z ✔ fresh planning spends all nine candidates on a symmetric direct-departure arc grid (0.262243ms) -2026-09-27T05:32:03.1355767Z ✔ interrupted planning selects nine candidates across all five departure weights (0.223337ms) -2026-09-27T05:32:03.1395490Z ✔ zero path length over a zero chord has no detour (0.10924ms) -2026-09-27T05:32:03.1450396Z ✔ positive path length over a zero chord is rejected (0.099066ms) -2026-09-27T05:32:03.1476645Z ✔ moving and pressed canvas transforms keep the local tip on engine.pos (11.012245ms) -2026-09-27T05:32:03.1499594Z ✔ one-fps overlay frames count from motion submission and open within the deadline (104.745395ms) -2026-09-27T05:32:03.1501135Z ✔ reset invalidates an old action before its queued frame executes (44.112782ms) -2026-09-27T05:32:03.1516508Z ✔ interrupting a move aligns the old motion without replaying time into the replacement (69.450457ms) -2026-09-27T05:32:03.1586056Z ✔ persistent cursor overlay keeps animation frames unthrottled in the background (1.275462ms) -2026-09-27T05:32:03.1607579Z ✔ an imported id resolves inside the directory the app owns (1.348491ms) -2026-09-27T05:32:03.1615738Z ✔ an id that is not 32 hex characters never reaches the filesystem (0.782916ms) -2026-09-27T05:32:03.1616945Z ✔ listing reports imported ids and ignores everything else in the directory (10.909662ms) -2026-09-27T05:32:03.1618057Z ✔ listing an app that never imported anything is empty, not an error (3.13675ms) -2026-09-27T05:32:03.1619210Z ✔ removing is idempotent, so a double click cannot fail the second time (2.267647ms) -2026-09-27T05:32:03.1620238Z ✔ Daily Review fixture seeds archives through the storage authority (867.997413ms) -2026-09-27T05:32:03.1621427Z ✔ binds a default Host operation and its diagnostics to one authoritative identity (6.8139ms) -2026-09-27T05:32:03.1622497Z ✔ does not invent Host authority when resolving the default Host fails (0.452773ms) -2026-09-27T05:32:03.1623610Z ✔ discards a projection completion from a Host that is no longer the default (2.072098ms) -2026-09-27T05:32:03.1624802Z ✔ a packaged build reads assets from the copy beside the app (4.432934ms) -2026-09-27T05:32:03.1655751Z ✔ a dev run keeps resolving the repo layout, not the resources path (0.497933ms) -2026-09-27T05:32:03.1685812Z ✔ resolves explicit preferences and observes a mid-session settings change (13.22147ms) -2026-09-27T05:32:03.1705728Z ✔ publishes only resolved-locale changes and allows listeners to detach (1.324873ms) -2026-09-27T05:32:03.1766180Z ✔ keeps automatic preference live against the current system fallback (0.53986ms) -2026-09-27T05:32:03.1819556Z ✔ does not let a stale read replace a newer observed preference (0.458112ms) -2026-09-27T05:32:03.1875573Z ✔ falls back to its current projection when settings cannot be read (2.084022ms) -2026-09-27T05:32:03.1896433Z ✔ resolves a delayed persisted preference before startup native copy is selected (0.37096ms) -2026-09-27T05:32:03.1935717Z ✔ never projects the legacy zh preference into native copy lookups (0.320452ms) -2026-09-27T05:32:03.1995840Z ✔ localizes native picker and client settings confirmation copy (5.919481ms) -2026-09-27T05:32:03.2055684Z ✔ keeps equal raw Session ids distinct across Runtime Hosts (1.396822ms) -2026-09-27T05:32:03.2069719Z ✔ preserves the authenticated shared Session revision (0.3548ms) -2026-09-27T05:32:03.2119460Z ✔ retires an active Session only after it leaves the refreshed catalog (0.303707ms) -2026-09-27T05:32:03.2175981Z ✔ projects typed linked Session ids without rewriting opaque tool data (7.263913ms) -2026-09-27T05:32:03.2215649Z ✔ projects queued Session attachments into the Desktop host namespace (0.446426ms) -2026-09-27T05:32:03.2265840Z ✔ projects only present Usage Session ids into the Desktop host namespace (0.403811ms) -2026-09-27T05:32:03.2319033Z ✔ projects durable WorkHub delegation targets into the Desktop host namespace (0.364252ms) -2026-09-27T05:32:03.2357131Z ▶ desktop slash command availability -2026-09-27T05:32:03.2390325Z ✔ withholds /compact while the Turn streams, and nothing else (6.886498ms) -2026-09-27T05:32:03.2415551Z ✔ offers only the commands that need no Session before one exists (0.258143ms) -2026-09-27T05:32:03.2475493Z ✔ desktop slash command availability (11.475105ms) -2026-09-27T05:32:03.2522869Z ✔ merges a settled tail without dropping earlier messages (7.434204ms) -2026-09-27T05:32:03.2547892Z ✔ merges an anchored historical range before its overlapping tail (0.330905ms) -2026-09-27T05:32:03.2606244Z ✔ cancels settlement while transcript open is pending (7.919104ms) -2026-09-27T05:32:03.2607307Z ✔ an unopened transcript still fails settlement by default (480.769719ms) -2026-09-27T05:32:03.2668825Z ✔ reads one Host-owned Turn outside the bounded transcript tail (9.957261ms) -2026-09-27T05:32:03.2695758Z ✔ reads the required Turn when the tail begins inside it (6.211693ms) -2026-09-27T05:32:03.2747924Z ✔ reads the Turn the tail begins inside when the caller names none (1.008385ms) -2026-09-27T05:32:03.2785698Z ✔ settles on a tail that begins between two Turns without reading one (9.818726ms) -2026-09-27T05:32:03.2825690Z ✔ does not settle when the targeted Host-owned Turn read is empty (480.678802ms) -2026-09-27T05:32:03.2868545Z ✔ does not settle when the targeted Host-owned Turn read fails (480.068191ms) -2026-09-27T05:32:03.2932946Z ✔ assembles a fragmented durable record once and ignores its replay (19.942608ms) -2026-09-27T05:32:03.2955745Z ✔ drops stale transcript batches after a generation reset (0.615796ms) -2026-09-27T05:32:03.3016893Z ✔ cached reload snapshots allow the same live transcript generation to resume (10.42818ms) -2026-09-27T05:32:03.3067278Z ✔ a replacement live generation retires the previous replica through cached snapshots (6.001002ms) -2026-09-27T05:32:03.3107533Z ✔ keeps unchanged message references stable across immutable range snapshots (0.556584ms) -2026-09-27T05:32:03.3168335Z ✔ a reset spanning several batches publishes once, when it is ready (11.401573ms) -2026-09-27T05:32:03.3208947Z ✔ earlier history installs only below the oldest row it was read for (0.733739ms) -2026-09-27T05:32:03.3278814Z ✔ a tail change that does not continue the held rows reopens the transcript (9.327673ms) -2026-09-27T05:32:03.3321228Z ✔ loadEarlier shares one in-flight read and reports its failure (0.976054ms) -2026-09-27T05:32:03.3401949Z ✔ a read down to a sequence waits out a pending read, skips held history, and a reopen resumes from the oldest held row (12.648462ms) -2026-09-27T05:32:03.3414921Z ✔ bounds the default active transcript range by Turn identities (8.777932ms) -2026-09-27T05:32:03.3450463Z ✔ bounds the default active transcript range by presentation bytes (17.095056ms) -2026-09-27T05:32:03.3505669Z ✔ keeps an oversized latest Turn visible after bootstrap eviction (6.445195ms) -2026-09-27T05:32:03.3511305Z ✔ keeps an oversized latest Turn visible before a trailing session note (6.748623ms) -2026-09-27T05:32:03.3601263Z ✔ advances a projected transcript across hidden durable records (1.21558ms) -2026-09-27T05:32:03.3625803Z ✔ keeps an oversized Turn visible when the watermark advances onto it (9.957779ms) -2026-09-27T05:32:03.3657788Z ✔ keeps an oversized settled Turn visible before a trailing session note (10.520496ms) -2026-09-27T05:32:03.3701592Z ✔ does not resurrect a discarded replica when a history page read is in flight (0.716645ms) -2026-09-27T05:32:03.3738272Z ✔ does not drive a discarded replica terminal when a contiguous catch-up is in flight (7.262999ms) -2026-09-27T05:32:03.3785810Z ✔ a transcript opened between catch-up pages can join the change that follows (1.095335ms) -2026-09-27T05:32:03.3836149Z ✔ transfers prepared transcript bytes into active replica accounting (0.480655ms) -2026-09-27T05:32:03.3875612Z ✔ does not release resident bytes when preparation accounting rejects them (10.67844ms) -2026-09-27T05:32:03.3907954Z ✔ reopens a failed transcript range with a fresh generation (0.905524ms) -2026-09-27T05:32:03.3964013Z ✔ retries a failed transcript recovery after a newer observation becomes ready (7.420233ms) -2026-09-27T05:32:03.4000581Z ✔ waits for the required durable message on the current transcript generation (5.688218ms) -2026-09-27T05:32:03.4020719Z ✔ the transcript does not change while a tail change is still being assembled (9.190671ms) -2026-09-27T05:32:03.4045954Z ✔ reports each tail watermark the reader reaches once (1.612785ms) -2026-09-27T05:32:03.4089597Z ✔ cancels a transcript open that is still waiting for a Host (11.602191ms) -2026-09-27T05:32:03.4128255Z ✔ cached fallback remains readable and retries once per observation generation until live (1.431064ms) -2026-09-27T05:32:03.4155766Z ✔ a reload that lands on the cached transcript recovers once the Host is back (6.763506ms) -2026-09-27T05:32:03.4185715Z ✔ live transcript open failures without cache still report the original error (0.811939ms) -2026-09-27T05:32:03.4195485Z ✔ latches a dead transcript page read like a dead subscription (13.025792ms) -2026-09-27T05:32:03.4255718Z ✔ latches a dead subscription instead of re-arming the catch-up read (18.645366ms) -2026-09-27T05:32:03.4315568Z ✔ does not latch a transient operation failure (10.420727ms) -2026-09-27T05:32:03.4345806Z ✔ follows the subscription watermark rather than an announced frame (1.035197ms) -2026-09-27T05:32:03.4347016Z ✔ re-reads the watermark when it moves during a blocked fetch (0.959276ms) -2026-09-27T05:32:03.4395360Z ✔ advance resolves quietly without reading once evicted (2.576603ms) -2026-09-27T05:32:03.4427089Z ✔ the Electron lock owner publishes one private launch result (4.688665ms) -2026-09-27T05:32:03.4454874Z ✔ preserves both canonical Chinese locale fixture flags (1.281151ms) -2026-09-27T05:32:03.4496150Z ✔ normalizes locale fixture flag casing without widening the contract (0.257022ms) -2026-09-27T05:32:03.4533486Z ▶ OpenAI Responses WebSocket transport -2026-09-27T05:32:03.4545674Z ✔ reuses a turn socket and sends previous_response_id with delta-only input (100.483071ms) -2026-09-27T05:32:03.4579043Z ✔ reconstructs the complete history for HTTP when WebSocket setup fails (12.56086ms) -2026-09-27T05:32:03.4635731Z ✔ skips WebSocket setup across turns during the failure cooldown and retries after it (15.775431ms) -2026-09-27T05:32:03.4715817Z ✔ recovers the same lane after cooldown expiry and resumes delta transport (18.294557ms) -2026-09-27T05:32:03.4736128Z ✔ keeps a healthy lane socket active while the cooldown suppresses new connections (24.042713ms) -2026-09-27T05:32:03.4775821Z ✔ falls back to HTTP for a concurrent request on a busy lane (15.067131ms) -2026-09-27T05:32:03.4835847Z ✔ makes a stale continuation retryable and sends the retry through HTTP (10.121814ms) -2026-09-27T05:32:03.4866102Z ✔ keeps an idle error listener on a reusable socket (15.450003ms) -2026-09-27T05:32:03.4915027Z ✔ fails binary frames as retryable transport errors (3.237278ms) -2026-09-27T05:32:03.4945793Z ✔ surfaces non-truncation incomplete responses but accepts max-output truncation (6.785704ms) -2026-09-27T05:32:03.5015907Z ✔ does not start the failure cooldown for a provider response.failed event (12.327684ms) -2026-09-27T05:32:03.5045757Z ✔ aborts a live stream without entering the cross-turn failure cooldown (11.368187ms) -2026-09-27T05:32:03.5085672Z ✔ aborts WebSocket setup without starting the failure cooldown (7.460533ms) -2026-09-27T05:32:03.5149045Z ✔ uses the HTTP/SOCKS proxy snapshot and honors the same bypass list (4.307559ms) -2026-09-27T05:32:03.5185678Z ✔ connects through the configured authenticated HTTP proxy (19.270654ms) -2026-09-27T05:32:03.5233154Z ✔ reconnects with complete history instead of using a socket-local id (17.819038ms) -2026-09-27T05:32:03.5275831Z ✔ reconstructs prior input, provider output, and the delta when a reused lane falls back (108.490823ms) -2026-09-27T05:32:03.5305820Z ✔ OpenAI Responses WebSocket transport (406.175633ms) -2026-09-27T05:32:03.5346036Z ✔ OpenAI strict object schemas require every nullable property (9.1312ms) -2026-09-27T05:32:03.5377820Z ✔ strict function projection drops only known irrelevant non-null fields (1.669119ms) -2026-09-27T05:32:03.5422169Z ✔ strict function projection rejects unknown keys, accessors, and actions (3.257042ms) -2026-09-27T05:32:03.7464309Z ✔ a stored OpenCode Free connection cannot probe or create a model (2.527842ms) -2026-09-27T05:32:03.8426080Z ▶ OpenCode session header -2026-09-27T05:32:03.8487464Z ✔ adds a trimmed stable session identity for OpenCode Go (1.986523ms) -2026-09-27T05:32:03.8549862Z ✔ preserves an explicitly configured header case-insensitively (1.767757ms) -2026-09-27T05:32:03.8605674Z ✔ does not add an empty session identity (0.210397ms) -2026-09-27T05:32:03.8645613Z ✔ OpenCode session header (17.467016ms) -2026-09-27T05:32:05.1116135Z ✔ a catalog change during failed discovery retries after the in-flight result settles (94.313111ms) -2026-09-27T05:32:05.1896731Z ✔ late draft discovery cannot replace the current target; existing tasks inspect without probing (86.53814ms) -2026-09-27T05:32:05.1956326Z ✔ native task creation preserves untouched, provider-default and explicit thinking choices (2.546893ms) -2026-09-27T05:32:05.1996107Z ✔ an executor choice uses its exact model without inheriting native thinking or orchestration (0.444496ms) -2026-09-27T05:32:05.3210832Z ✔ routes Work Board codes through the shared presenter per locale (7.099564ms) -2026-09-27T05:32:05.3366090Z ✔ session setting failures map expected update codes per locale (0.348718ms) -2026-09-27T05:32:05.3506086Z ✔ a classified shell failure renders its category without an unexpected diagnostic (3.853271ms) -2026-09-27T05:32:05.3518503Z ✔ maps plan control envelopes per locale at the panel (0.40451ms) -2026-09-27T05:32:05.3570861Z ✔ unexpected setting failures keep the caller fallback (0.755411ms) -2026-09-27T05:32:05.3596347Z ✔ routes structured collaboration failures through each locale catalog (0.412359ms) -2026-09-27T05:32:05.3625591Z ✔ shell errors keep the generalized classifier over raw text (4.811944ms) -2026-09-27T05:32:05.3655635Z ✔ every shell error-copy entry classifies, and keeps its contextual fallback (0.7683ms) -2026-09-27T05:32:05.3685591Z ✔ one failure yields one diagnostic however many layers format it (0.486457ms) -2026-09-27T05:32:05.3686798Z ✔ a classified failure never reaches the diagnostics channel (3.706243ms) -2026-09-27T05:32:05.3715752Z ✔ a renderer-owned plan error maps to the actionable failure copy (0.507285ms) -2026-09-27T05:32:05.5176482Z ▶ reactive overflow recovery in the streaming backend -2026-09-27T05:32:05.5236529Z ✔ a handoff successor compacts its same-turn predecessors with a user anchor without replaying effects or duplicating history (495.746691ms) -2026-09-27T05:32:05.6362177Z ✔ Runtime Host management codes render per locale and unknown codes fall back (2.144678ms) -2026-09-27T05:32:05.6416135Z ✔ provider action errors never echo a raw Chinese message (4.177388ms) -2026-09-27T05:32:05.6456111Z ✔ stale connection errors render the same copy with or without IPC wrapping (1.652982ms) -2026-09-27T05:32:05.6478215Z ✔ a handoff successor compacts its same-turn predecessors with a host anchor without replaying effects or duplicating history (140.707656ms) -2026-09-27T05:32:05.6806712Z ✔ a request-level context-length 400 ends as a real error, never a fake end_turn (37.800307ms) -2026-09-27T05:32:05.7201052Z ✔ external setup shares browser presentation without accepting a stale attempt URL (5.514903ms) -2026-09-27T05:32:05.7218792Z ✔ setup IPC registers an expectation before start and releases it on terminal result or cancel (6.759412ms) -2026-09-27T05:32:05.7248650Z ✔ setup accepts a delayed authorization link and clears terminal, cancelled and abandoned expectations (3.94236ms) -2026-09-27T05:32:05.7285823Z ✔ a non-overflow provider failure ends as a real error without any recovery attempt (43.782654ms) -2026-09-27T05:32:05.7946336Z ✔ retries one provider-unavailable failure from the request boundary (70.470935ms) -2026-09-27T05:32:05.9017905Z ✔ retries one rate-limit failure from the request boundary (106.576941ms) -2026-09-27T05:32:05.9795010Z ✔ applies a fresh provider retry budget to each completed step (80.877604ms) -2026-09-27T05:32:06.0763246Z ✔ stops after ten provider attempts with bounded exponential backoff (96.167917ms) -2026-09-27T05:32:06.1426535Z ✔ pauses the stream watchdog during an intentional provider backoff (59.815429ms) -2026-09-27T05:32:06.1699678Z ✔ cancels a provider backoff when the turn is stopped (32.043924ms) -2026-09-27T05:32:06.2029531Z ✔ cancels a provider backoff when the event consumer detaches (29.334381ms) -2026-09-27T05:32:06.2651973Z ✔ retries one transient transport failure from the completed-step request boundary (70.66095ms) -2026-09-27T05:32:06.3176297Z ✔ retries when a provider response body terminates during stream iteration (51.972468ms) -2026-09-27T05:32:06.3826332Z ✔ preserves interrupted text while retrying from the completed tool step (65.356151ms) -2026-09-27T05:32:06.6566413Z ✔ counts overflow recovery within the ten-request budget (269.036553ms) -2026-09-27T05:32:06.7154956Z ✔ recovers after partial tool arguments without treating missing usage as complete (67.871029ms) -2026-09-27T05:32:06.7776300Z ✔ compacts once and retries after a mid-stream context-length overflow (54.796421ms) -2026-09-27T05:32:06.8375248Z ✔ lowers a 128K output cap on the request after overflow recovery (59.854327ms) -2026-09-27T05:32:06.8882989Z ✔ sends no output cap on a Codex subscription retry after overflow recovery (51.365764ms) -2026-09-27T05:32:06.9466560Z ✔ drops hydrated images before the single overflow retry without rerunning tools (62.839732ms) -2026-09-27T05:32:06.9749295Z ✔ surfaces a retryable second overflow after the image-only retry without another loop (25.110088ms) -2026-09-27T05:32:07.0375163Z ✔ keeps only the historical image omitted after the overflow retry returns a tool call (59.554308ms) -2026-09-27T05:32:07.0797648Z ✔ keeps a step-0 overflow checkpoint projected after the retry returns a tool call (39.89776ms) -2026-09-27T05:32:07.2453609Z ✔ step-0 overflow recovery gates reasoning on retry and durable reload (164.654389ms) -2026-09-27T05:32:07.3026510Z ✔ loads an already-live Turn and hands replay to later output without duplication (6135.311018ms) -2026-09-27T05:32:07.3050394Z ✔ the resend seals the fold recovery made for it, and the request before it seals none (66.141577ms) -2026-09-27T05:32:07.3157340Z ✔ a checkpoint carried in from an earlier turn is the boundary of a send that folds nothing (8.955993ms) -2026-09-27T05:32:07.3235280Z ✔ a passive replay of a held checkpoint writes no context_compacted note (#3587) (12.058226ms) -2026-09-27T05:32:07.3338784Z ✔ a loaded checkpoint the projection refused is not reported as the boundary (10.911348ms) -2026-09-27T05:32:07.3581141Z ✔ a step-0 recovery fold is sealed as pre_turn by the request it rebuilt (23.659009ms) -2026-09-27T05:32:07.3929649Z ✔ keeps native Codex state projected across a step-0 overflow retry (29.061588ms) -2026-09-27T05:32:07.4308210Z ✔ does not retry an overflow after an after-step stop is requested (39.239902ms) -2026-09-27T05:32:07.4726185Z ✔ recovers a model whose context window nothing can supply (35.383621ms) -2026-09-27T05:32:07.5026695Z ✔ recovers from a plain-object in-stream error part, not just Error instances (review round-8 P1-1) (36.79645ms) -2026-09-27T05:32:07.5508657Z ✔ recovers from the Responses-family in-stream error shape with its non-error finish trailer (review round-9 P3) (50.369915ms) -2026-09-27T05:32:07.5896245Z ✔ discards an undispatched tool call before overflow compaction recovery (35.866137ms) -2026-09-27T05:32:07.6166862Z ✔ does not recover an overflow after the failed stream emitted visible text (25.372799ms) -2026-09-27T05:32:07.6657204Z ✔ a transport retry after overflow keeps the recovered request projection (43.545043ms) -2026-09-27T05:32:07.7416313Z ✔ the recovery baseline is the request the provider rejected, not the attempt-initial messages (79.344947ms) -2026-09-27T05:32:07.7796551Z ✔ an unusable first-attempt step usage fails the whole record closed even when the retry succeeds (39.127538ms) -2026-09-27T05:32:07.8149749Z ✔ the Runtime send-level step limit survives an explicit overflow retry (review P1-3) (35.65427ms) -2026-09-27T05:32:07.9377399Z ✔ a completed retry step's assistant text is never dropped by a post-retry compaction (review P1-A) (113.340746ms) -2026-09-27T05:32:07.9648458Z ✔ a same-turn tool_search activation survives the retry (review P1-B) (39.986287ms) -2026-09-27T05:32:07.9935983Z ✔ an actively pruned tool result stays a placeholder in the retry request (review round-3 P1) (26.907854ms) -2026-09-27T05:32:08.0289084Z ✔ a second overflow after the single retry ends as a real error (35.911715ms) -2026-09-27T05:32:08.0493251Z ✔ a proactive fold spends the step, so the same step does not fold again (20.038463ms) -2026-09-27T05:32:08.0938006Z ✔ a failed proactive fold leaves the reactive attempt to the provider's rejection (41.809841ms) -2026-09-27T05:32:08.2089209Z ✔ a later step that overflows again folds again after real progress (110.133017ms) -2026-09-27T05:32:08.2426299Z ✔ no recovery seam means a context-length overflow ends as a real error (39.289907ms) -2026-09-27T05:32:08.2676241Z ✔ an overflow with no foldable completed span ends as a real error (22.951721ms) -2026-09-27T05:32:08.3056386Z ✔ a steering message survives a transport retry exactly once per request (30.438919ms) -2026-09-27T05:32:08.3336333Z ✔ a transport retry keeps a historical ledger-replayed steering message in the base (34.857748ms) -2026-09-27T05:32:08.3846338Z ✔ a persisted steering message appears exactly once in an overflow-rebuilt request (58.1855ms) -2026-09-27T05:32:08.4549860Z ✔ a checkpoint fold never covers an injected steering message (61.645066ms) -2026-09-27T05:32:08.4812768Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:32:08.5097969Z ✔ suggests a Maka window after provider overflow without a declaration (62.783422ms) -2026-09-27T05:32:08.5786799Z ✔ suggests a Maka window after provider overflow below a declared provider window (60.110189ms) -2026-09-27T05:32:08.7138839Z ✔ a fold that failed open does not claim the request was compacted (134.025623ms) -2026-09-27T05:32:08.7606186Z ✔ a rejection after an applied fold says the request is still too large (54.136592ms) -2026-09-27T05:32:08.8188448Z ✔ an unfoldable overflow after an accepted fold still says the request was compacted (55.587044ms) -2026-09-27T05:32:08.8567180Z ✔ a send that overflows once, folds and completes suggests nothing (38.710539ms) -2026-09-27T05:32:08.8795305Z ✔ does not suggest a smaller Maka window when the declaration was already crossed (24.421601ms) -2026-09-27T05:32:08.8914987Z ✔ reactive overflow recovery in the streaming backend (3890.718998ms) -2026-09-27T05:32:08.9823185Z ▶ isPathInside -2026-09-27T05:32:08.9824843Z ✔ rejects cross-drive Windows targets (different drive is not inside root) (8.136795ms) -2026-09-27T05:32:08.9858553Z ✔ rejects same-drive Windows targets outside root (0.392925ms) -2026-09-27T05:32:08.9876714Z ✔ allows same-drive Windows targets under root (0.288415ms) -2026-09-27T05:32:08.9922316Z ✔ rejects parent-directory escape on POSIX (5.729361ms) -2026-09-27T05:32:08.9936020Z ✔ allows POSIX targets under root (2.631173ms) -2026-09-27T05:32:08.9961160Z ✔ allows paths whose first segment starts with ".." but is not a parent reference (e.g. ..rules) (0.390381ms) -2026-09-27T05:32:08.9997111Z ✔ isPathInside (22.861212ms) -2026-09-27T05:32:09.0029515Z ▶ realpathAllowMissing -2026-09-27T05:32:09.0055604Z ✔ canonicalises an existing path through a symlinked ancestor (40.05493ms) -2026-09-27T05:32:09.0095708Z ✔ appends missing trailing segments to the deepest existing ancestor (10.887166ms) -2026-09-27T05:32:09.0118435Z ✔ follows a dangling symlink to its target, which is where a write would land (9.258776ms) -2026-09-27T05:32:09.0145714Z ✔ follows a chain of dangling links and keeps the segments below them (19.371836ms) -2026-09-27T05:32:09.0152560Z ✔ treats a non-directory ancestor as missing rather than throwing ENOTDIR (12.365015ms) -2026-09-27T05:32:09.0175695Z ✔ rejects a pathological dangling chain instead of walking it forever (22.202006ms) -2026-09-27T05:32:09.0205918Z ✔ propagates a symlink cycle instead of walking forever (9.224033ms) -2026-09-27T05:32:09.0265197Z ✔ realpathAllowMissing (124.643638ms) -2026-09-27T05:32:09.0297817Z ✔ reports a partial stdin delivery failure before the child exit (195.446077ms) -2026-09-27T05:32:09.0325362Z ▶ Plan Mode tool surface -2026-09-27T05:32:09.0357824Z ✔ requires plain-text step titles and descriptions (46.774535ms) -2026-09-27T05:32:09.0359434Z ✔ keeps read tools and plan controls while removing writes and execution tools (4.137163ms) -2026-09-27T05:32:09.0385675Z ✔ restores mutating tools for full access without enabling autonomous workflows (1.816394ms) -2026-09-27T05:32:09.0445483Z ✔ active execution exposes progress controls and removes subagents (3.15947ms) -2026-09-27T05:32:09.0475295Z ✔ Plan Mode tool surface (58.053978ms) -2026-09-27T05:32:09.0485508Z ✔ ctx.agent follows the exact asynchronous Tool invocation (6.042393ms) -2026-09-27T05:32:09.0486798Z ✔ Agent handles expose the complete control and query surface (2.182539ms) -2026-09-27T05:32:09.0515847Z ✔ Agent access fails closed without an invocation and handles retain their authority (1.407574ms) -2026-09-27T05:32:09.0545771Z ✔ Agent custom cancellation preserves the originating invocation cancellation (5.439318ms) -2026-09-27T05:32:09.0562950Z ✔ Client Remote resolves Session handlers over Profile handlers (5.902256ms) -2026-09-27T05:32:09.0578276Z ✔ Client Remote validates input and retires active streams with their Fiber (5.42565ms) -2026-09-27T05:32:09.0609294Z ✔ retiring an idle stream does not wait for another pull (2.217709ms) -2026-09-27T05:32:09.0635994Z ✔ closing a non-cooperative producer releases an outstanding pull (1.372951ms) -2026-09-27T05:32:09.0669823Z ✔ retirement interrupts non-cooperative stream item validation (1.358193ms) -2026-09-27T05:32:09.0700366Z ✔ retirement cancels uncooperative RPC and stream opens, and prepared calls never switch registrations (10.55688ms) -2026-09-27T05:32:09.0725923Z ✔ composition tree supports nested groups and repeated package instances (13.799627ms) -2026-09-27T05:32:09.0756020Z ✔ package Entry descendants stay owned by the parent package Fiber (16.556705ms) -2026-09-27T05:32:09.0757507Z ✔ missing injected service enters pending and activates when provided (2.501063ms) -2026-09-27T05:32:09.0783943Z ✔ composition metadata wins over same-named root Services (1.943766ms) -2026-09-27T05:32:09.0813099Z ✔ config update uses the existing Fiber and preserves entry identity (2.391051ms) -2026-09-27T05:32:09.0839941Z ✔ duplicate package install is rejected without replacing live code (1.385477ms) -2026-09-27T05:32:09.0877279Z ✔ remove and close exhaust subtree cleanup across retirement failures (9.414049ms) -2026-09-27T05:32:09.0878822Z ✔ disabled ancestors suppress insert, move, update, and subtree replacement activation (8.765546ms) -2026-09-27T05:32:09.0880125Z ✔ insert commit failure disposes its unindexed Fiber exactly once (1.175173ms) -2026-09-27T05:32:09.0881390Z ✔ transaction commit failure rolls registrations back sequentially in LIFO order (4.09085ms) -2026-09-27T05:32:09.0882712Z ✔ retirement cleanup failure does not roll back a published removal generation (0.779202ms) -2026-09-27T05:32:09.0884002Z ✔ retirement cleanup failure does not roll back a published structural update (0.751927ms) -2026-09-27T05:32:09.0885484Z ✔ contribution registrations are staged and owned by the entry Fiber (2.864311ms) -2026-09-27T05:32:09.0886662Z ✔ state replacement restores ordered roots and descendants (1.393671ms) -2026-09-27T05:32:09.0887822Z ✔ live state and subtree replacement publish a fresh composition generation (0.758969ms) -2026-09-27T05:32:09.0889051Z ✔ entry inject and intercept metadata retain the feat shallow-copy contract (0.532166ms) -2026-09-27T05:32:09.0890110Z ✔ replacement subtrees reject duplicate ids across different branches (0.459541ms) -2026-09-27T05:32:09.0950047Z ✔ state preserves session ids that overlap object prototype properties (2.418388ms) -2026-09-27T05:32:09.0987037Z ✔ inspecting a missing root does not mutate the composition state (0.319436ms) -2026-09-27T05:32:09.1000547Z ✔ failed insert does not create an empty composition root (0.388972ms) -2026-09-27T05:32:09.1001966Z ✔ structural updates preserve descendants added after the parent was created (0.700991ms) -2026-09-27T05:32:09.1003143Z ✔ failed rebind leaves parent and position unchanged (1.098575ms) -2026-09-27T05:32:09.1004311Z ✔ inspection includes package dependencies and live Fiber failures (0.939612ms) -2026-09-27T05:32:09.1006125Z ✔ committed transactions reject late registration before acquiring resources (0.852742ms) -2026-09-27T05:32:09.1007558Z ✔ callable config remains inspectable after publication (4.012017ms) -2026-09-27T05:32:09.1008660Z ✔ callable intercept changes trigger structural Context replacement (0.895088ms) -2026-09-27T05:32:09.1009815Z ✔ staging and commit failures do not retain newly created session roots (4.841936ms) -2026-09-27T05:32:09.1010938Z ✔ composition apply batches EntryTree operations under one generation check (3.592207ms) -2026-09-27T05:32:09.1066452Z ✔ failed composition batches restore the prior generation exactly (2.019955ms) -2026-09-27T05:32:09.1067848Z ✔ failed composition batches preserve both the operation and rollback failures (1.132419ms) -2026-09-27T05:32:09.1104217Z ✔ package reload replaces every matching mount without restarting unrelated Entries (5.328912ms) -2026-09-27T05:32:09.1133019Z ✔ partial recovery preserves desired generation and isolates failed siblings (2.128341ms) -2026-09-27T05:32:09.1156614Z ✔ desired-state reducer applies dependent operations without activating code (0.347422ms) -2026-09-27T05:32:09.1179878Z ✔ desired-state reducer stays equivalent to live Entry Tree batch semantics (3.719665ms) -2026-09-27T05:32:09.1217788Z ✔ executor backend converts plugin output and result to ordinary Session events (18.528797ms) -2026-09-27T05:32:09.1285657Z ✔ oversized executor completion fails without emitting a large text_complete event (5.59495ms) -2026-09-27T05:32:09.1292137Z ✔ executor backend turns stop into abort and terminal events (4.809944ms) -2026-09-27T05:32:09.1297572Z ✔ executor backend projects optional thinking and external tool activity (9.004034ms) -2026-09-27T05:32:09.1298819Z ✔ executor retirement remains cancellation and is surfaced as a crash abort (1.29429ms) -2026-09-27T05:32:09.1300006Z ✔ executor failure closes rich output before publishing its terminal error (5.395092ms) -2026-09-27T05:32:09.1301155Z ✔ executor permission requests use the hosted form authority (5.118143ms) -2026-09-27T05:32:09.1302278Z ✔ executor questions round-trip original choices through hosted forms (10.114388ms) -2026-09-27T05:32:09.1303452Z ✔ executors are scoped and pass black-box output without an Agent invocation (60.263148ms) -2026-09-27T05:32:09.1305006Z ✔ executor registration is transactional across hot reload (5.783983ms) -2026-09-27T05:32:09.1306061Z ✔ retiring an executor aborts and drains its active calls (13.301236ms) -2026-09-27T05:32:09.1307113Z ✔ executor registration binds prototype methods to the provider instance (2.571365ms) -2026-09-27T05:32:09.1308121Z ✔ executor bindings pin one provider generation (11.436484ms) -2026-09-27T05:32:09.1309176Z ✔ executor completion after caller cancellation is normalized to cancelled (5.668685ms) -2026-09-27T05:32:09.1310356Z ✔ executor rich events require an explicitly declared capability (0.837127ms) -2026-09-27T05:32:09.1311511Z ✔ executor permission choices cross the service boundary with validation (5.574742ms) -2026-09-27T05:32:09.1313131Z ✔ cancellation drains final updates and preserves timeout interruption (1.410767ms) -2026-09-27T05:32:09.1314809Z ✔ catalog inspection stays process-free and model configuration is isolated per conversation (7.577446ms) -2026-09-27T05:32:09.1316213Z ✔ catalog discovery uses session visibility without inspecting a conversation (8.997967ms) -2026-09-27T05:32:09.1317452Z ✔ questions and approvals use the exact current Tool interaction authority (17.824145ms) -2026-09-27T05:32:09.1318574Z ✔ interaction services reject calls outside an Agent invocation (5.786816ms) -2026-09-27T05:32:09.1319659Z ✔ form custom cancellation preserves Host invocation cancellation (13.939381ms) -2026-09-27T05:32:09.1320774Z ✔ injected plugins wait for Services and reload when ownership changes (15.172989ms) -2026-09-27T05:32:09.1322120Z ✔ Services provided by a plugin activate dependent plugins after the provider is active (4.434199ms) -2026-09-27T05:32:09.1323399Z ✔ Service health-check failures move consumers to failed and allow recovery (4.582594ms) -2026-09-27T05:32:09.1325297Z ✔ a provider with multiple Services activates each dependent Fiber once (4.526419ms) -2026-09-27T05:32:09.1326894Z ✔ rapid Service updates coalesce dependent Fiber reloads around the latest value (0.98282ms) -2026-09-27T05:32:09.1328119Z ✔ Fiber await includes a Service refresh queued during activation (26.867268ms) -2026-09-27T05:32:09.1329109Z ✔ Fiber await observes the final state after an intermediate transition rejects (1.318826ms) -2026-09-27T05:32:09.1330087Z ✔ fire-and-forget Fiber activation failures do not become unhandled rejections (6.517003ms) -2026-09-27T05:32:09.1331175Z ✔ asynchronous Effect setup and cleanup failures are observed internally (7.008628ms) -2026-09-27T05:32:09.1332455Z ✔ synchronous Effect setup failures preserve the active Fiber contract (3.595618ms) -2026-09-27T05:32:09.1333566Z ✔ Service isolation keeps sibling implementations independent (6.382322ms) -2026-09-27T05:32:09.1334820Z ✔ Fiber update preserves identity and disposes Effects in reverse order (2.470728ms) -2026-09-27T05:32:09.1335848Z ✔ Fiber Proxy exposes getters backed by private state (0.391658ms) -2026-09-27T05:32:09.1336964Z ✔ Plugin objects sharing apply retain independent Runtime metadata (1.660327ms) -2026-09-27T05:32:09.1337997Z ✔ Standard Schema validation preserves raw Fiber config across restarts (0.53462ms) -2026-09-27T05:32:09.1339056Z ✔ Fiber update restores the previous active config after activation fails (2.574824ms) -2026-09-27T05:32:09.1340219Z ✔ concurrent Fiber updates serialize config activation and isolate rollback (0.584597ms) -2026-09-27T05:32:09.1341349Z ✔ Fiber cleanup exhausts Effects before reporting disposer failures (4.96473ms) -2026-09-27T05:32:09.1342368Z ✔ Service loss preserves consumer cleanup failure on the owning Fiber (0.787624ms) -2026-09-27T05:32:09.1343472Z ✔ Fiber owns derived Context views, child Fibers, and their Effects (0.754424ms) -2026-09-27T05:32:09.1344686Z ✔ concurrent Effect disposal shares the same completion task (35.05959ms) -2026-09-27T05:32:09.1345799Z ✔ Plugin Runtime metadata cache uses weak Plugin identities (0.287403ms) -2026-09-27T05:32:09.1346822Z ✔ accessors cannot shadow existing Context properties (4.582809ms) -2026-09-27T05:32:09.1347919Z ✔ child accessors cannot shadow metadata inherited from parent Contexts (0.369805ms) -2026-09-27T05:32:09.1349169Z ✔ Context metadata cannot replace Fiber ownership or environment topology (2.957682ms) -2026-09-27T05:32:09.1350302Z ✔ Services cannot shadow metadata inherited from parent Contexts (0.381605ms) -2026-09-27T05:32:09.1351367Z ✔ mixin validates every target before publishing accessors (0.403194ms) -2026-09-27T05:32:09.1352429Z ✔ unknown Context property reads do not create Service labels (8.699668ms) -2026-09-27T05:32:09.1353519Z ✔ event dispatch supports emit, parallel, serial, bail, and waterfall (1.458745ms) -2026-09-27T05:32:09.1354965Z ✔ event hooks are not published while their Fiber is unloading (0.433157ms) -2026-09-27T05:32:09.1356315Z ✔ unloading Contexts cannot create escaping child Fibers (9.892573ms) -2026-09-27T05:32:09.1357523Z ✔ dispose requests immediately fence child Fiber creation and Service labels (15.888072ms) -2026-09-27T05:32:09.1358694Z ✔ late contribution registration is rejected before acquiring resources (3.984131ms) -2026-09-27T05:32:09.1360309Z ✔ intercept configuration is inherited without mutating parent Contexts (0.346766ms) -2026-09-27T05:32:09.1361663Z ✔ Service records support names inherited from Object.prototype (0.527361ms) -2026-09-27T05:32:09.1363012Z ✔ llm generation uses Host authority unless a matching adapter overrides it (6.757545ms) -2026-09-27T05:32:09.1364179Z ✔ LLM adapters publish atomically across hot reload and never revive retired generations (2.262463ms) -2026-09-27T05:32:09.1365756Z ✔ failed LLM adapter publication restores the live generation (2.449187ms) -2026-09-27T05:32:09.1366895Z ✔ LLM adapter custom cancellation preserves Host cancellation (2.204708ms) -2026-09-27T05:32:09.1367937Z ✔ P1 contributions inherit, shadow, and restore with their Plugin Fiber (12.336074ms) -2026-09-27T05:32:09.1369334Z ✔ resource services preserve the current Session and cancellation context (21.256563ms) -2026-09-27T05:32:09.1370554Z ✔ Web custom cancellation cannot replace Host invocation cancellation (10.63289ms) -2026-09-27T05:32:09.1371741Z ✔ Session membership overlays Profile membership and retirement reveals the parent (10.506056ms) -2026-09-27T05:32:09.1372923Z ✔ a committed replacement cannot resurrect its retired predecessor (2.165113ms) -2026-09-27T05:32:09.1373991Z ✔ failed change notification rolls publication back atomically (3.824219ms) -2026-09-27T05:32:09.1375270Z ✔ retirement is idempotent and capability cleanup runs once (0.339004ms) -2026-09-27T05:32:09.1376455Z ✔ Profile sections are inherited and exact Session sections shadow them (24.674964ms) -2026-09-27T05:32:09.1377885Z ✔ sections and variables resolve for every assembly from a stable membership snapshot (10.884526ms) -2026-09-27T05:32:09.1379625Z ✔ dynamic contexts are scoped, ordered, interpolated, and resolved for every assembly (10.721793ms) -2026-09-27T05:32:09.1381066Z ✔ complete sections replace the Host base and multiple complete sections fail closed (8.225375ms) -2026-09-27T05:32:09.1382254Z ✔ failed activation publishes no partial System Prompt contribution (1.273388ms) -2026-09-27T05:32:09.1383413Z ✔ replacement restores the prior generation when the candidate rolls back (6.521293ms) -2026-09-27T05:32:09.1384776Z ✔ successful replacement does not resurrect its retired predecessor (7.406885ms) -2026-09-27T05:32:09.1386116Z ✔ desktop-ui rejects Host-only packages and unresolved variables fail closed (1.360589ms) -2026-09-27T05:32:09.1387252Z ✔ Profile tools are inherited and exact Session tools shadow them (52.353158ms) -2026-09-27T05:32:09.1388229Z ✔ Tool publication is atomic with Entry activation (8.807313ms) -2026-09-27T05:32:09.1389264Z ✔ a failing tools/change listener rolls registration back atomically (8.215207ms) -2026-09-27T05:32:09.1390214Z ✔ ctx.tools.register returns a live disposer (3.436371ms) -2026-09-27T05:32:09.1391462Z ✔ Plugin Tool activation identity is stable within and fenced across generations (6.246251ms) -2026-09-27T05:32:09.1392677Z ✔ retirement rejects stale starts and waits for an active call to drain (14.771105ms) -2026-09-27T05:32:09.1393906Z ✔ desktop-ui rejects Host-only packages and Host-owned Tool conflicts fail closed (4.295239ms) -2026-09-27T05:32:09.1395233Z ✔ Runtime-owned deferred search names are rejected atomically (5.13816ms) -2026-09-27T05:32:09.1396315Z ✔ Plugin Tool descriptions satisfy the Request Composition bound (0.888284ms) -2026-09-27T05:32:09.1397426Z ✔ refusal keeps the ledger clean: arguments rejected by the schema (61.280496ms) -2026-09-27T05:32:09.1398480Z ✔ refusal keeps the ledger clean: exclusive-step admission (19.350653ms) -2026-09-27T05:32:09.1399624Z ✔ refusal keeps the ledger clean: loop gate on a repeated identical failing call (27.328965ms) -2026-09-27T05:32:09.1400803Z ✔ refusal keeps the ledger clean: loop gate on a repeated ambiguous Computer Use target (17.789357ms) -2026-09-27T05:32:09.1401921Z ✔ refusal keeps the ledger clean: deferred tool used before its load (1.058474ms) -2026-09-27T05:32:09.1406434Z ✔ refusal keeps the ledger clean: client-capability boundary read failure (6.114338ms) -2026-09-27T05:32:09.1408079Z ✔ refusal keeps the ledger clean: client-capability blocked by the execution boundary (0.783517ms) -2026-09-27T05:32:09.1409342Z ✔ client-capability refusal carries actionable bypass metadata (0.830371ms) -2026-09-27T05:32:09.1410525Z ✔ arguments the schema rejects leave a matched call/response pair on the generic lane (6.784988ms) -2026-09-27T05:32:09.1411793Z ✔ a dispatched call still claims the T1 lane and settles through the commit sink (5.766423ms) -2026-09-27T05:32:09.1412633Z ▶ foldPromptComposition -2026-09-27T05:32:09.1413443Z ✔ folds kinds into the vocabulary /context already uses (2.206219ms) -2026-09-27T05:32:09.1414304Z ✔ sizes each tool on its own, largest first (25.676904ms) -2026-09-27T05:32:09.1415741Z ✔ counts unnamed tool schemas without inventing a name for them (0.354347ms) -2026-09-27T05:32:09.1416777Z ✔ preserves the count carried by a bounded tool remainder (0.352149ms) -2026-09-27T05:32:09.1418084Z ✔ drops a kind nothing contributed to instead of showing it as zero (5.605714ms) -2026-09-27T05:32:09.1419007Z ✔ no segments is no composition, not an empty one (0.212859ms) -2026-09-27T05:32:09.1419854Z ✔ omits the tool list when nothing was a tool (0.199468ms) -2026-09-27T05:32:09.1420647Z ✔ foldPromptComposition (40.086349ms) -2026-09-27T05:32:09.1421231Z ▶ readPromptCompositionEvent -2026-09-27T05:32:09.1422069Z ✔ reads an attempt capture into its composition (0.835295ms) -2026-09-27T05:32:09.1422924Z ✔ ignores every other event on the stream (1.784974ms) -2026-09-27T05:32:09.1423849Z ✔ drops the whole composition when one segment will not decode (0.308253ms) -2026-09-27T05:32:09.1424885Z ✔ requires an attempt to attach to (0.218773ms) -2026-09-27T05:32:09.1425747Z ✔ rejects a non-string label rather than coercing it (0.142316ms) -2026-09-27T05:32:09.1426590Z ✔ readPromptCompositionEvent (6.4581ms) -2026-09-27T05:32:09.1427327Z ▶ models.dev provider conformance -2026-09-27T05:32:09.1428334Z ✔ custom: Chat delivers tool images after all parallel results, including replay (438.185977ms) -2026-09-27T05:32:09.1429571Z ✔ openai: Chat delivers tool images after all parallel results, including replay (117.562885ms) -2026-09-27T05:32:09.1430815Z ✔ openai/gpt-4.1: persisted output budget reaches the wire without replacing capacity (309.219835ms) -2026-09-27T05:32:09.1432113Z ✔ openai/gpt-5: persisted output budget reaches the wire without replacing capacity (179.503207ms) -2026-09-27T05:32:09.2086555Z ✔ custom/budget-model: persisted output budget reaches the wire without replacing capacity (216.383639ms) -2026-09-27T05:32:09.3626427Z ✔ mistral/budget-model: persisted output budget reaches the wire without replacing capacity (155.807232ms) -2026-09-27T05:32:09.4726446Z ✔ google/gemini-2.5-flash: persisted output budget reaches the wire without replacing capacity (104.662078ms) -2026-09-27T05:32:09.5857743Z ✔ anthropic/budget-model: persisted output budget reaches the wire without replacing capacity (117.712216ms) -2026-09-27T05:32:09.7071980Z ✔ en: setup is available through the existing Settings controls (369.479698ms) -2026-09-27T05:32:09.7522462Z ✔ kimi-coding-plan/kimi-for-coding: persisted output budget reaches the wire without replacing capacity (169.798127ms) -2026-09-27T05:32:09.8976286Z ✔ zh-CN: setup is available through the existing Settings controls (185.547579ms) -2026-09-27T05:32:09.9937086Z ✔ kimi-coding-plan/k3: persisted output budget reaches the wire without replacing capacity (233.147693ms) -2026-09-27T05:32:10.0811450Z ✔ zh-TW: setup is available through the existing Settings controls (189.399459ms) -2026-09-27T05:32:10.2016330Z ✔ remote targets cannot start an external agent (117.212535ms) -2026-09-27T05:32:10.3616430Z ✔ mixed discovery survives persistence and user overrides through both SDK tool loops (370.371624ms) -2026-09-27T05:32:10.3802709Z (node:9952) Warning: AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false. -2026-09-27T05:32:10.3852411Z (Use `node --trace-warnings ...` to show where the warning was created) -2026-09-27T05:32:10.3927103Z (node:9952) Warning: AI SDK Warning (anthropic.messages / new-model): The feature "maxOutputTokens" is used in a compatibility mode. The model "new-model" is unknown. The max output tokens have been limited to 4096. Set maxOutputTokens explicitly to override this limit. -2026-09-27T05:32:10.4008686Z ✔ Host generation change cancels an in-flight start and ignores its late response (174.71169ms) -2026-09-27T05:32:10.4102526Z (node:9952) Warning: AI SDK Warning (anthropic.messages / gpt-5.5): The feature "maxOutputTokens" is used in a compatibility mode. The model "gpt-5.5" is unknown. The max output tokens have been limited to 4096. Set maxOutputTokens explicitly to override this limit. -2026-09-27T05:32:10.4195973Z ✔ an explicit model protocol overrides the provider default and a static SDK override (27.379688ms) -2026-09-27T05:32:10.4254306Z ✔ native Anthropic sends automatic prompt caching on the Messages wire (12.307516ms) -2026-09-27T05:32:10.4334641Z ✔ custom Messages models request summarized thinking only for a declared level (23.236812ms) -2026-09-27T05:32:10.4775562Z (node:9952) Warning: AI SDK Warning (anthropic.messages / claude-sonnet-4): The feature "maxOutputTokens" is used in a compatibility mode. The model "claude-sonnet-4" is unknown. The max output tokens have been limited to 128000. Set maxOutputTokens explicitly to override this limit. -2026-09-27T05:32:10.4992433Z (node:9952) Warning: AI SDK Warning (anthropic.messages / anthropic/claude-opus-4.5): The feature "maxOutputTokens" is used in a compatibility mode. The model "anthropic/claude-opus-4.5" is unknown. The max output tokens have been limited to 128000. Set maxOutputTokens explicitly to override this limit. -2026-09-27T05:32:10.5106126Z ✔ Anthropic request bodies follow the SDK adaptive-thinking capability (77.822127ms) -2026-09-27T05:32:10.5426400Z ✔ Anthropic Messages accepts the Claude Code web_search_20250305 tool (23.100238ms) -2026-09-27T05:32:10.5529667Z (node:9952) Warning: AI SDK Warning (anthropic.messages / deepseek-v4-flash): The feature "maxOutputTokens" is used in a compatibility mode. The model "deepseek-v4-flash" is unknown. The max output tokens have been limited to 4096. Set maxOutputTokens explicitly to override this limit. -2026-09-27T05:32:10.5704754Z ✔ changing saved configuration clears the previous success (199.523259ms) -2026-09-27T05:32:10.5799730Z ✔ Anthropic Messages replays provider-executed web search inside assistant content (28.68612ms) -2026-09-27T05:32:10.6185838Z ✔ xAI OAuth credential completes a Grok 4.5 Responses reasoning tool loop (61.246344ms) -2026-09-27T05:32:10.6620121Z ✔ GitHub Copilot connection probe validates the selected account model without inference (45.185093ms) -2026-09-27T05:32:10.6732919Z ✔ GitHub Copilot connection probe rejects an account that cannot discover models (5.691395ms) -2026-09-27T05:32:10.6876309Z ✔ connection probe tests the selected model even when the last inventory came back empty (13.411903ms) -2026-09-27T05:32:10.7086297Z ✔ connection probe skips a stale default when a live inventory is available (23.906581ms) -2026-09-27T05:32:10.7165836Z ✔ connection probe verifies a connection that enables no models at all (5.03316ms) -2026-09-27T05:32:10.7267674Z ✔ connection probe tests the model the user chose, not the snapshot beside it (6.457199ms) -2026-09-27T05:32:10.7480487Z ✔ OpenAI routes gpt-5* through the Responses wire and other models through Chat Completions by declaration (20.838663ms) -2026-09-27T05:32:10.7628439Z ✔ DeepSeek V4 Flash uses standard Responses function tools (24.355008ms) -2026-09-27T05:32:10.7718066Z ✔ browser failure can retry with a fresh attempt and authenticate independently of check (181.127229ms) -2026-09-27T05:32:10.7916520Z ✔ OpenCode Zen routes GPT through Responses and preserves tool results across both stages (27.451843ms) -2026-09-27T05:32:10.8053787Z ✔ OpenCode connection probes follow each selected model protocol (16.614553ms) -2026-09-27T05:32:10.8206211Z ✔ OpenCode Go connection probes identify every supported wire request (13.035448ms) -2026-09-27T05:32:10.8311562Z ✔ Volcengine Agent Plan connection probes do not retain the synthetic response (5.947709ms) -2026-09-27T05:32:10.8361534Z ✔ an Ark plan probe tests the model the plan serves, not the shipped snapshot (5.894473ms) -2026-09-27T05:32:10.8435848Z ✔ DeepSeek V4 Pro connection probes use its default Responses wire (5.364339ms) -2026-09-27T05:32:10.8499224Z ✔ an Open Responses probe normalizes a base URL that already names the endpoint (6.169446ms) -2026-09-27T05:32:10.8697957Z ✔ custom Responses models preserve exact ids, tool results, and encrypted reasoning (18.327824ms) -2026-09-27T05:32:10.8916131Z ✔ clearing the saved configuration disables setup (130.064914ms) -2026-09-27T05:32:10.8966732Z ✔ a custom Chat Completions connection requests usage in streamed chat completions by default (31.110251ms) -2026-09-27T05:32:10.9141560Z ✔ local Ollama requests usage in streamed chat completions by default (15.95166ms) -2026-09-27T05:32:10.9296084Z ✔ Ollama Cloud requests usage in streamed chat completions (15.284278ms) -2026-09-27T05:32:11.0147065Z ✔ a relay that rejects stream_options is answered once without the field (89.879064ms) -2026-09-27T05:32:11.0536568Z ✔ Hugging Face discovers tool-capable routed models and preserves its two-stage OpenAI wire (31.034954ms) -2026-09-27T05:32:11.0566550Z ✔ models.dev provider conformance (3106.693809ms) -2026-09-27T05:32:11.0706899Z ✔ changing configuration away and back still invalidates an older attempt (180.409189ms) -2026-09-27T05:32:11.1512150Z ✔ agent list uses a brand mark and opens a setup detail with a back action (84.006016ms) -2026-09-27T05:32:11.1812523Z ✔ provider override cells and executable bindings are a bijection (9.840228ms) -2026-09-27T05:32:11.1886779Z ▶ provider conformance matrix — override cells execute their bound contract -2026-09-27T05:32:11.1935177Z ✔ github-copilot:discovery · GitHub Copilot discovers only account-enabled tool models and preserves each exact endpoint wire (123.677891ms) -2026-09-27T05:32:11.1943608Z ✔ github-copilot:exact-model-id + github-copilot:tool-loop + github-copilot:reasoning-replay · GitHub Copilot discovers the account model and completes a reasoning tool loop on its exact wire (203.706767ms) -2026-09-27T05:32:11.2005966Z ✔ fireworks-ai:discovery · Fireworks discovers exact serverless model paths and completes a two-stage tool-call loop (50.104216ms) -2026-09-27T05:32:11.2065133Z ✔ ollama:discovery · Ollama preserves exact local model ids (complex ids and cloud aliases) through /api/tags discovery and a no-secret tool-call loop (70.458131ms) -2026-09-27T05:32:11.2096751Z ✔ cohere:discovery · Cohere paginates account models and completes its native V2 tool-call loop (55.352667ms) -2026-09-27T05:32:11.2101244Z ✔ cloudflare-workers-ai:discovery · Cloudflare Workers AI discovers text-generation models through its native catalog (12.312499ms) -2026-09-27T05:32:11.2129020Z ✔ zenmux:reasoning-replay · ZenMux replays signed reasoning details in the streamed runtime tool loop (152.161906ms) -2026-09-27T05:32:11.2164957Z ✔ deepseek:reasoning-replay · DeepSeek replays plaintext reasoning content on its Responses wire (40.876381ms) -2026-09-27T05:32:11.2200881Z ✔ xai:reasoning-replay + xai-oauth:reasoning-replay · xAI API-key and OAuth paths retain encrypted Responses reasoning (102.600987ms) -2026-09-27T05:32:11.2225520Z ✔ volcengine-agent-plan:exact-model-id + volcengine-agent-plan:tool-loop + volcengine-agent-plan:reasoning-replay · Volcengine Agent Plan uses its dedicated key on the OpenAI Responses tool wire (63.534053ms) -2026-09-27T05:32:11.2284378Z ✔ moonshot-global:exact-model-id + moonshot-global:tool-loop + moonshot-global:reasoning-replay · Moonshot Global replays Kimi summary-only reasoning items across a Responses tool loop (32.859731ms) -2026-09-27T05:32:11.2356243Z ✔ alibaba-token-plan-cn:reasoning-replay + alibaba-token-plan:reasoning-replay · Alibaba Token Plan replays plaintext summary items on its Responses wire (64.26306ms) -2026-09-27T05:32:11.2396315Z ✔ provider conformance matrix — override cells execute their bound contract (976.83377ms) -2026-09-27T05:32:11.2465373Z ▶ provider conformance matrix — discovery -2026-09-27T05:32:11.2545562Z ✔ anthropic · discovery · generated (anthropic) (25.822811ms) -2026-09-27T05:32:11.2626299Z ✔ kimi-coding-plan · discovery · generated (anthropic) (4.11375ms) -2026-09-27T05:32:11.2711568Z ✔ minimax-coding-plan · discovery · generated (anthropic) (7.012195ms) -2026-09-27T05:32:11.2805863Z ✔ tencent-coding-plan · discovery · generated (openai) (14.449104ms) -2026-09-27T05:32:11.2815509Z ✔ volcengine-coding-plan · discovery · generated (openai) (2.272616ms) -2026-09-27T05:32:11.2907007Z ✔ volcengine-agent-plan · discovery · N/A (Agent Plan model discovery is a control-plane API that requires AK/SK signing; the plan API key reaches only the inference data plane) does not call /models (9.910119ms) -2026-09-27T05:32:11.2975647Z ✔ tencent-token-plan · discovery · generated (openai) (9.608794ms) -2026-09-27T05:32:11.3024657Z ✔ openai · discovery · generated (openai) (8.972024ms) -2026-09-27T05:32:11.3063397Z ✔ google · discovery · generated (google) (13.195588ms) -2026-09-27T05:32:11.3110316Z ✔ deepseek · discovery · generated (openai) (9.721633ms) -2026-09-27T05:32:11.3177082Z ✔ moonshot · discovery · generated (openai) (8.47897ms) -2026-09-27T05:32:11.3255581Z ✔ moonshot-global · discovery · generated (openai) (8.337004ms) -2026-09-27T05:32:11.3299199Z ✔ zai-coding-plan · discovery · generated (openai) (2.142021ms) -2026-09-27T05:32:11.3395660Z ✔ MiniMax · discovery · generated (anthropic) (8.987694ms) -2026-09-27T05:32:11.3455582Z ✔ MiniMax-cn · discovery · generated (anthropic) (8.978326ms) -2026-09-27T05:32:11.3468038Z ✔ siliconflow · discovery · generated (openai) (4.253642ms) -2026-09-27T05:32:11.3537010Z ✔ vercel · discovery · generated (openai) (10.388484ms) -2026-09-27T05:32:11.3555675Z ✔ xai · discovery · generated (openai) (4.273222ms) -2026-09-27T05:32:11.3607294Z ✔ xai-oauth · discovery · generated (openai) (11.17161ms) -2026-09-27T05:32:11.3635057Z ✔ zai · discovery · generated (openai) (7.711158ms) -2026-09-27T05:32:11.3675417Z ✔ xiaomi · discovery · generated (openai) (5.619642ms) -2026-09-27T05:32:11.3697309Z ✔ xiaomi-token-plan-cn · discovery · generated (openai) (6.450365ms) -2026-09-27T05:32:11.3743589Z ✔ xiaomi-token-plan-sgp · discovery · generated (openai) (2.058635ms) -2026-09-27T05:32:11.3796226Z ✔ xiaomi-token-plan-ams · discovery · generated (openai) (8.067283ms) -2026-09-27T05:32:11.3895590Z ✔ cerebras · discovery · generated (openai) (8.44023ms) -2026-09-27T05:32:11.3915639Z ✔ mistral · discovery · generated (openai) (9.989013ms) -2026-09-27T05:32:11.3985613Z ✔ huggingface · discovery · generated (openai) (11.528075ms) -2026-09-27T05:32:11.4040377Z ✔ zenmux · discovery · generated (openai) (5.27633ms) -2026-09-27T05:32:11.4095492Z ✔ opencode · discovery · generated (openai) (5.210256ms) -2026-09-27T05:32:11.4119342Z ✔ opencode-go · discovery · generated (openai) (7.64235ms) -2026-09-27T05:32:11.4205475Z ✔ togetherai · discovery · generated (openai) (1.874779ms) -2026-09-27T05:32:11.4269165Z ✔ nvidia · discovery · generated (openai) (6.962176ms) -2026-09-27T05:32:11.4339808Z ✔ tencent-tokenhub · discovery · generated (openai) (8.169777ms) -2026-09-27T05:32:11.4375150Z ✔ stepfun · discovery · generated (openai) (14.114968ms) -2026-09-27T05:32:11.4449534Z ✔ stepfun-step-plan · discovery · generated (openai) (6.793388ms) -2026-09-27T05:32:11.4543383Z ✔ stepfun-ai-step-plan · discovery · generated (openai) (9.836872ms) -2026-09-27T05:32:11.4635602Z ✔ stepfun-ai · discovery · generated (openai) (8.322899ms) -2026-09-27T05:32:11.4662951Z ✔ volcengine-ark · discovery · N/A (Ark model discovery is a control-plane API that requires AK/SK signing; inference API keys cannot call it) does not call /models (0.416241ms) -2026-09-27T05:32:11.4751180Z ✔ deepinfra · discovery · generated (openai) (8.11711ms) -2026-09-27T05:32:11.4855574Z ✔ groq · discovery · generated (openai) (3.15505ms) -2026-09-27T05:32:11.4915462Z ✔ openrouter · discovery · generated (openai) (7.649381ms) -2026-09-27T05:32:11.4975418Z ✔ alibaba · discovery · generated (openai) (7.183716ms) -2026-09-27T05:32:11.5038705Z ✔ alibaba-cn · discovery · generated (openai) (13.147941ms) -2026-09-27T05:32:11.5039575Z ✔ alibaba-coding-plan-cn · discovery · generated (openai) (7.051137ms) -2026-09-27T05:32:11.5128401Z ✔ alibaba-coding-plan · discovery · generated (openai) (7.536182ms) -2026-09-27T05:32:11.5183394Z ✔ alibaba-token-plan-cn · discovery · generated (openai) (6.01637ms) -2026-09-27T05:32:11.5301290Z ✔ alibaba-token-plan · discovery · generated (openai) (1.906887ms) -2026-09-27T05:32:11.5365588Z ✔ commandcode · discovery · generated (openai) (8.857289ms) -2026-09-27T05:32:11.5396249Z ✔ ollama-cloud · discovery · generated (openai) (4.984524ms) -2026-09-27T05:32:11.5524994Z ✔ lm-studio · discovery · generated (openai) (5.062189ms) -2026-09-27T05:32:11.5575664Z ✔ localai · discovery · generated (openai) (56.02501ms) -2026-09-27T05:32:11.5657328Z ✔ saved program exposes file selection without an advanced path editor (177.870518ms) -2026-09-27T05:32:11.5735845Z ✔ custom · discovery · generated (openai) (11.528439ms) -2026-09-27T05:32:11.5795904Z ✔ provider conformance matrix — discovery (462.317908ms) -2026-09-27T05:32:11.5851028Z ▶ provider conformance matrix — wire (exact-model-id + tool-loop + reasoning-replay) -2026-09-27T05:32:11.5955970Z ✔ anthropic · anthropic-messages · exact-model-id + tool-loop (67.12083ms) -2026-09-27T05:32:11.6017807Z ✔ first setup offers managed install and an official source without exposing a path editor (71.598713ms) -2026-09-27T05:32:11.6066794Z (node:10216) Warning: AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false. -2026-09-27T05:32:11.6101716Z (Use `node --trace-warnings ...` to show where the warning was created) -2026-09-27T05:32:11.6136362Z (node:10216) Warning: AI SDK Warning (anthropic.messages / k3): The feature "maxOutputTokens" is used in a compatibility mode. The model "k3" is unknown. The max output tokens have been limited to 4096. Set maxOutputTokens explicitly to override this limit. -2026-09-27T05:32:11.6186760Z (node:10216) Warning: AI SDK Warning (anthropic.messages / k3): The feature "maxOutputTokens" is used in a compatibility mode. The model "k3" is unknown. The max output tokens have been limited to 4096. Set maxOutputTokens explicitly to override this limit. -2026-09-27T05:32:11.6265803Z ✔ kimi-coding-plan · anthropic-messages · exact-model-id + tool-loop (27.289077ms) -2026-09-27T05:32:11.6357320Z (node:10216) Warning: AI SDK Warning (anthropic.messages / MiniMax-M3): The feature "maxOutputTokens" is used in a compatibility mode. The model "MiniMax-M3" is unknown. The max output tokens have been limited to 4096. Set maxOutputTokens explicitly to override this limit. -2026-09-27T05:32:11.6416550Z (node:10216) Warning: AI SDK Warning (anthropic.messages / MiniMax-M3): The feature "maxOutputTokens" is used in a compatibility mode. The model "MiniMax-M3" is unknown. The max output tokens have been limited to 4096. Set maxOutputTokens explicitly to override this limit. -2026-09-27T05:32:11.6461566Z ✔ minimax-coding-plan · anthropic-messages · exact-model-id + tool-loop (23.238153ms) -2026-09-27T05:32:11.6496937Z (node:10216) Warning: AI SDK Warning (anthropic.messages / MiniMax-M2.7-highspeed): The feature "maxOutputTokens" is used in a compatibility mode. The model "MiniMax-M2.7-highspeed" is unknown. The max output tokens have been limited to 4096. Set maxOutputTokens explicitly to override this limit. -2026-09-27T05:32:11.6547948Z (node:10216) Warning: AI SDK Warning (anthropic.messages / MiniMax-M2.7-highspeed): The feature "maxOutputTokens" is used in a compatibility mode. The model "MiniMax-M2.7-highspeed" is unknown. The max output tokens have been limited to 4096. Set maxOutputTokens explicitly to override this limit. -2026-09-27T05:32:11.6595861Z ✔ minimax-coding-plan · anthropic-messages · edge sample "MiniMax-M2.7-highspeed" (29.130244ms) -2026-09-27T05:32:11.6666069Z ✔ tencent-coding-plan · openai-chat · exact-model-id + tool-loop + reasoning-replay (23.645693ms) -2026-09-27T05:32:11.6725890Z ✔ volcengine-coding-plan · openai-chat · exact-model-id + tool-loop + reasoning-replay (20.639806ms) -2026-09-27T05:32:11.6753116Z ✔ installed output is saved through existing settings mutation, then connection becomes verified (126.982723ms) -2026-09-27T05:32:11.6807038Z ✔ tencent-token-plan · openai-chat · exact-model-id + tool-loop + reasoning-replay (14.532365ms) -2026-09-27T05:32:11.6843390Z ✔ openai · openai-chat · exact-model-id + tool-loop (35.696485ms) -2026-09-27T05:32:11.6898117Z (node:10216) Warning: AI SDK Warning (google.generative-ai / gemini-3.5-flash): Replayed 1 `functionCall` part(s) for a Gemini 3 model without a `thoughtSignature` (tools: `echo`). Injected the documented `skip_thought_signature_validator` sentinel to keep the request from failing with HTTP 400. The likely cause is application code that drops `providerOptions.google.thoughtSignature` when persisting or serializing assistant tool-call messages. See https://ai.google.dev/gemini-api/docs/thought-signatures. -2026-09-27T05:32:11.6918234Z ✔ google · google-generate · exact-model-id + tool-loop (68.905261ms) -2026-09-27T05:32:11.6937468Z ✔ deepseek · openai-chat · exact-model-id + tool-loop (20.816051ms) -2026-09-27T05:32:11.6938965Z ✔ moonshot · openai-chat · exact-model-id + tool-loop + reasoning-replay (17.348903ms) -2026-09-27T05:32:11.7006731Z ✔ a late installed result never overwrites a newer saved configuration (151.149809ms) -2026-09-27T05:32:11.7026137Z ✔ zai-coding-plan · openai-chat · exact-model-id + tool-loop + reasoning-replay (17.050937ms) -2026-09-27T05:32:11.7127046Z (node:10216) Warning: AI SDK Warning (anthropic.messages / MiniMax-M3): The feature "maxOutputTokens" is used in a compatibility mode. The model "MiniMax-M3" is unknown. The max output tokens have been limited to 4096. Set maxOutputTokens explicitly to override this limit. -2026-09-27T05:32:11.7226791Z (node:10216) Warning: AI SDK Warning (anthropic.messages / MiniMax-M3): The feature "maxOutputTokens" is used in a compatibility mode. The model "MiniMax-M3" is unknown. The max output tokens have been limited to 4096. Set maxOutputTokens explicitly to override this limit. -2026-09-27T05:32:11.7303072Z ✔ MiniMax · anthropic-messages · exact-model-id + tool-loop (24.496548ms) -2026-09-27T05:32:11.7329328Z (node:10216) Warning: AI SDK Warning (anthropic.messages / MiniMax-M3): The feature "maxOutputTokens" is used in a compatibility mode. The model "MiniMax-M3" is unknown. The max output tokens have been limited to 4096. Set maxOutputTokens explicitly to override this limit. -2026-09-27T05:32:11.7438437Z (node:10216) Warning: AI SDK Warning (anthropic.messages / MiniMax-M3): The feature "maxOutputTokens" is used in a compatibility mode. The model "MiniMax-M3" is unknown. The max output tokens have been limited to 4096. Set maxOutputTokens explicitly to override this limit. -2026-09-27T05:32:11.7482495Z ✔ MiniMax-cn · anthropic-messages · exact-model-id + tool-loop (23.254995ms) -2026-09-27T05:32:11.7595809Z ✔ choosing an existing executable saves it without installing (90.932172ms) -2026-09-27T05:32:11.7725817Z ✔ siliconflow · openai-chat · exact-model-id + tool-loop + reasoning-replay (24.897218ms) -2026-09-27T05:32:11.7965913Z ✔ vercel · openai-chat · exact-model-id + tool-loop + reasoning-replay (24.999497ms) -2026-09-27T05:32:11.8195858Z ✔ xai · openai-chat · exact-model-id + tool-loop (13.204519ms) -2026-09-27T05:32:11.8353404Z ✔ xai-oauth · openai-chat · exact-model-id + tool-loop (22.094884ms) -2026-09-27T05:32:11.8596282Z ✔ zai · openai-chat · exact-model-id + tool-loop + reasoning-replay (22.704308ms) -2026-09-27T05:32:11.8631823Z ▶ isExternalUrl -2026-09-27T05:32:11.8703830Z ✔ allows http and https (3.620214ms) -2026-09-27T05:32:11.8785719Z ✔ allows mailto (0.247854ms) -2026-09-27T05:32:11.8865192Z ✔ rejects file:// — would let untrusted markdown reach local FS (0.282884ms) -2026-09-27T05:32:11.8872619Z ✔ rejects javascript: — XSS vector (0.26138ms) -2026-09-27T05:32:11.8874355Z ✔ rejects internal schemes (0.215495ms) -2026-09-27T05:32:11.8875380Z ✔ rejects non-URL input safely (0.216293ms) -2026-09-27T05:32:11.8876204Z ✔ isExternalUrl (20.466004ms) -2026-09-27T05:32:11.8877334Z ✔ projects imported Session ids into the same Desktop identity space as Session summaries (2.039056ms) -2026-09-27T05:32:11.8878275Z ▶ follow-up submit routing -2026-09-27T05:32:11.8879196Z ✔ restores workspace references after queued text returns to the draft (3.863861ms) -2026-09-27T05:32:11.8938917Z ✔ follow-up submit routing (5.088823ms) -2026-09-27T05:32:11.8991683Z ✔ default UI font size equals the renderer type-scale base (3.114282ms) -2026-09-27T05:32:11.9059897Z ✔ makaTheme generates its type scale from the shared base constant (0.642796ms) -2026-09-27T05:32:11.9111051Z ▶ Git Review snapshot authority -2026-09-27T05:32:11.9159958Z ✔ separates branch, unstaged, staged, and untracked changes (418.035683ms) -2026-09-27T05:32:11.9260526Z ✔ lists the remote default branch before the branches it resolves from (158.506077ms) -2026-09-27T05:32:11.9304061Z ✔ compares the branch rather than a same-named tag, using a qualified ref (310.270834ms) -2026-09-27T05:32:11.9328707Z ✔ keeps local and remote refs with the same label distinct and rejects unqualified names (417.790119ms) -2026-09-27T05:32:11.9385424Z ✔ resolves the default branch without following a same-named tag (243.152818ms) -2026-09-27T05:32:11.9426348Z ✔ returns branch choices when unrelated history prevents a diff, including on repeated reads (249.384954ms) -2026-09-27T05:32:11.9427660Z ✔ degrades a diff that overflows the git buffer to a truncated review (222.148067ms) -2026-09-27T05:32:11.9428742Z ✔ returns an explicit non-repository outcome (8.676619ms) -2026-09-27T05:32:11.9429784Z ✔ includes staged and unstaged changes when the current branch is the base (130.286868ms) -2026-09-27T05:32:11.9430964Z ✔ compares a branch from its merge base when the base branch has advanced (259.090308ms) -2026-09-27T05:32:11.9431921Z ✔ Git Review snapshot authority (2420.872375ms) -2026-09-27T05:32:11.9432660Z ▶ importGitHubCopilotLocalCredential -2026-09-27T05:32:11.9433643Z ✔ prefers an explicit Copilot Requests credential over the generic GitHub CLI login (6.762696ms) -2026-09-27T05:32:11.9435026Z ✔ returns credential material without asking GitHub about entitlement (0.394813ms) -2026-09-27T05:32:11.9435847Z ✔ rejects classic PATs locally (0.264062ms) -2026-09-27T05:32:11.9436542Z ✔ rejects an unsupported local credential shape (0.21845ms) -2026-09-27T05:32:11.9437380Z ✔ reports when no local GitHub credential can be discovered (0.306674ms) -2026-09-27T05:32:11.9438287Z ✔ importGitHubCopilotLocalCredential (16.996411ms) -2026-09-27T05:32:11.9439387Z ✔ successful Goal arming closes while every reconciliation result locks the form (5.237791ms) -2026-09-27T05:32:11.9440622Z ✔ Goal reconciliation copy explains authoritative state in Chinese and English (0.555826ms) -2026-09-27T05:32:11.9441531Z ▶ useGoalController -2026-09-27T05:32:11.9442284Z ✔ clears on Session switch and ignores the previous Session late read (97.048803ms) -2026-09-27T05:32:11.9443175Z ✔ refreshes for matching and broadcast Goal changes only (51.31133ms) -2026-09-27T05:32:11.9444177Z ✔ snapshots the dialog Session across navigation and routes arm through the port (30.686661ms) -2026-09-27T05:32:11.9530237Z [desktop] operation failed: Error: offline -2026-09-27T05:32:11.9556445Z at file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/goal-controller.test.js:179:44 -2026-09-27T05:32:11.9586720Z at process.env.NODE_ENV.exports.act (/home/runner/work/maka/maka/node_modules/react/cjs/react.development.js:890:22) -2026-09-27T05:32:11.9625861Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/goal-controller.test.js:179:15) -2026-09-27T05:32:11.9658715Z at async Test.run (node:internal/test_runner/test:1409:7) -2026-09-27T05:32:11.9689111Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:32:11.9731673Z ✔ projects the kill switch and deduplicates pending pause controls (22.57929ms) -2026-09-27T05:32:11.9758148Z ✔ routes resume and clear controls for paused Goals (11.581057ms) -2026-09-27T05:32:11.9797209Z ✔ useGoalController (215.279489ms) -2026-09-27T05:32:11.9802005Z ✔ xiaomi · openai-chat · exact-model-id + tool-loop + reasoning-replay (32.766266ms) -2026-09-27T05:32:11.9832383Z ✔ xiaomi-token-plan-cn · openai-chat · exact-model-id + tool-loop + reasoning-replay (33.53697ms) -2026-09-27T05:32:11.9875782Z ✔ xiaomi-token-plan-sgp · openai-chat · exact-model-id + tool-loop + reasoning-replay (21.285654ms) -2026-09-27T05:32:11.9936167Z ✔ xiaomi-token-plan-ams · openai-chat · exact-model-id + tool-loop + reasoning-replay (23.01773ms) -2026-09-27T05:32:11.9938787Z ✔ cerebras · openai-chat · exact-model-id + tool-loop + reasoning-replay (26.69418ms) -2026-09-27T05:32:12.0226214Z ✔ mistral · openai-chat · exact-model-id + tool-loop + reasoning-replay (23.938254ms) -2026-09-27T05:32:12.0499636Z ✔ cohere · cohere-v2 · exact-model-id + tool-loop (28.624795ms) -2026-09-27T05:32:12.0759737Z ✔ huggingface · openai-chat · exact-model-id + tool-loop + reasoning-replay (24.787003ms) -2026-09-27T05:32:12.1021907Z ✔ zenmux · openai-chat · exact-model-id + tool-loop (25.809208ms) -2026-09-27T05:32:12.1278398Z ✔ opencode · openai-chat · exact-model-id + tool-loop + reasoning-replay (29.466966ms) -2026-09-27T05:32:12.1564686Z ✔ opencode-go · openai-chat · exact-model-id + tool-loop + reasoning-replay (25.128371ms) -2026-09-27T05:32:12.2706325Z ✔ opencode-go · openai-chat · edge sample "kimi-k2.7-code" (106.192075ms) -2026-09-27T05:32:12.3006537Z ✔ togetherai · openai-chat · exact-model-id + tool-loop + reasoning-replay (35.381824ms) -2026-09-27T05:32:12.3357454Z ✔ fireworks-ai · openai-chat · exact-model-id + tool-loop + reasoning-replay (30.528493ms) -2026-09-27T05:32:12.3706340Z ✔ nvidia · openai-chat · exact-model-id + tool-loop + reasoning-replay (37.55579ms) -2026-09-27T05:32:12.3826139Z ✔ tencent-tokenhub · openai-chat · exact-model-id + tool-loop + reasoning-replay (19.752427ms) -2026-09-27T05:32:12.4105611Z ✔ tencent-tokenhub · openai-chat · edge sample "hy3-preview" (25.117782ms) -2026-09-27T05:32:12.4296642Z ✔ stepfun · openai-chat · exact-model-id + tool-loop + reasoning-replay (20.253098ms) -2026-09-27T05:32:12.4398137Z ✔ stepfun-step-plan · openai-chat · exact-model-id + tool-loop + reasoning-replay (15.531831ms) -2026-09-27T05:32:12.4626473Z ✔ stepfun-ai-step-plan · openai-chat · exact-model-id + tool-loop + reasoning-replay (16.629079ms) -2026-09-27T05:32:12.4884882Z ✔ stepfun-ai · openai-chat · exact-model-id + tool-loop + reasoning-replay (24.63791ms) -2026-09-27T05:32:12.5106540Z ✔ volcengine-ark · openai-chat · exact-model-id + tool-loop + reasoning-replay (19.48982ms) -2026-09-27T05:32:12.5257426Z ✔ deepinfra · openai-chat · exact-model-id + tool-loop + reasoning-replay (19.102406ms) -2026-09-27T05:32:12.5416297Z ✔ groq · openai-chat · exact-model-id + tool-loop + reasoning-replay (19.00217ms) -2026-09-27T05:32:12.5560068Z ✔ openrouter · openai-chat · exact-model-id + tool-loop + reasoning-replay (13.044745ms) -2026-09-27T05:32:12.5709398Z ✔ alibaba · openai-chat · exact-model-id + tool-loop + reasoning-replay (12.904194ms) -2026-09-27T05:32:12.5817741Z ✔ alibaba-cn · openai-chat · exact-model-id + tool-loop + reasoning-replay (12.918ms) -2026-09-27T05:32:12.6048913Z ✔ alibaba-coding-plan-cn · openai-chat · exact-model-id + tool-loop + reasoning-replay (15.9025ms) -2026-09-27T05:32:12.6096313Z ✔ alibaba-coding-plan · openai-chat · exact-model-id + tool-loop + reasoning-replay (12.650643ms) -2026-09-27T05:32:12.6286492Z ✔ alibaba-token-plan-cn · openai-chat · exact-model-id + tool-loop (16.727674ms) -2026-09-27T05:32:12.6424356Z ✔ alibaba-token-plan · openai-chat · exact-model-id + tool-loop (12.996082ms) -2026-09-27T05:32:12.6586035Z ✔ commandcode · openai-chat · exact-model-id + tool-loop + reasoning-replay (16.445758ms) -2026-09-27T05:32:12.6891436Z ✔ cloudflare-workers-ai · openai-chat · exact-model-id + tool-loop + reasoning-replay (28.042606ms) -2026-09-27T05:32:12.6996235Z ✔ ollama-cloud · openai-chat · exact-model-id + tool-loop + reasoning-replay (17.939219ms) -2026-09-27T05:32:12.7193555Z ✔ ollama · openai-chat · exact-model-id + tool-loop + reasoning-replay (11.365728ms) -2026-09-27T05:32:12.7310230Z ✔ lm-studio · openai-chat · exact-model-id + tool-loop + reasoning-replay (18.730358ms) -2026-09-27T05:32:12.7506589Z ✔ lm-studio · openai-chat · edge sample "lmstudio-community/Qwen3-Coder-30B-A3B-Instruct-GGUF" (18.004524ms) -2026-09-27T05:32:12.7906770Z ✔ localai · openai-chat · exact-model-id + tool-loop + reasoning-replay (38.294274ms) -2026-09-27T05:32:12.8295241Z ✔ localai · openai-chat · edge sample "localai/Qwen3-8B-Instruct-GGUF:Q4_K_M" (34.953988ms) -2026-09-27T05:32:12.8761419Z ✔ custom · openai-chat · exact-model-id + tool-loop + reasoning-replay (24.006807ms) -2026-09-27T05:32:12.8801960Z ✔ provider conformance matrix — wire (exact-model-id + tool-loop + reasoning-replay) (1526.106894ms) -2026-09-27T05:32:13.0083127Z ▶ Provider error classification -2026-09-27T05:32:13.0121621Z ✔ projects only bounded allowlisted facts into durable diagnostics (10.480152ms) -2026-09-27T05:32:13.0175742Z ✔ structured usage-limit codes project to billing regardless of status (5.58488ms) -2026-09-27T05:32:13.0285794Z ✔ plan-window wording on a credential-shaped status projects to billing (17.918501ms) -2026-09-27T05:32:13.0325730Z ✔ genuine credential and permission failures stay auth on 401/403 (0.5197ms) -2026-09-27T05:32:13.0365989Z ✔ classifies exhausted Codex HTML edge 403 retries as provider unavailable (13.105324ms) -2026-09-27T05:32:13.0413551Z ✔ recovers structured Codex HTTP facts through an SDK wrapper and truncates identifiers (8.615035ms) -2026-09-27T05:32:13.0465759Z ✔ extracts allowlisted fields from JSON string failures without copying the payload (0.841623ms) -2026-09-27T05:32:13.0533423Z ✔ derives retryability from the failure kind alone (9.919076ms) -2026-09-27T05:32:13.0595604Z ✔ Retry-After only sets the delay, never the retryability (7.170909ms) -2026-09-27T05:32:13.0635588Z ✔ abort and a spent Codex edge budget override the retryable kinds (2.355515ms) -2026-09-27T05:32:13.0674851Z ✔ treats a status-less provider server_error as temporarily unavailable (0.426374ms) -2026-09-27T05:32:13.0736072Z ✔ retries an AI SDK transport failure without an HTTP response (6.163778ms) -2026-09-27T05:32:13.0795594Z ✔ retries a transport failure identified only by a cause code (1.244078ms) -2026-09-27T05:32:13.0825646Z ✔ an exhausted free tier on 429 is billing, not a throttle to retry (0.589388ms) -2026-09-27T05:32:13.0826990Z ✔ classifies provider capacity errors and retries with backoff (3.873352ms) -2026-09-27T05:32:13.0855669Z ✔ classifies context overflow by predicate, carrier shape, and evidence precedence (4.96942ms) -2026-09-27T05:32:13.0885456Z ✔ classifies wording retained only in schema-invalid response bodies (152.971905ms) -2026-09-27T05:32:13.0910343Z ✔ preserves provider evidence through the official AI SDK retry wrapper (12.909008ms) -2026-09-27T05:32:13.0925337Z ✔ Provider error classification (267.325103ms) -2026-09-27T05:32:13.0969556Z ✔ auth classification matches authentication without matching authority (0.230558ms) -2026-09-27T05:32:13.0985565Z ▶ provider image overflow recovery projection -2026-09-27T05:32:13.1017549Z ✔ omits only eligible historical tool-result images and names their artifact (4.193704ms) -2026-09-27T05:32:13.1052596Z ✔ preserves the tool-result envelope and siblings without mutating its input (0.738149ms) -2026-09-27T05:32:13.1080642Z ✔ uses the durable context identity when an omitted image has no file path (0.4452ms) -2026-09-27T05:32:13.1095524Z ✔ still recovers a pre-artifact image result that has no durable projection (0.833197ms) -2026-09-27T05:32:13.1134938Z ✔ provider image overflow recovery projection (8.647533ms) -2026-09-27T05:32:13.1136009Z ▶ strict provider-request usage -2026-09-27T05:32:13.1165645Z ✔ preserves Anthropic cache fields as provider-reported values (6.603047ms) -2026-09-27T05:32:13.1206917Z ✔ reconciles Anthropic compaction iterations with normalized input usage (0.318615ms) -2026-09-27T05:32:13.1225082Z ✔ marks OpenAI cache miss as derived and leaves unsupported cache-write missing (0.281065ms) -2026-09-27T05:32:13.1237719Z ✔ preserves OpenAI Chat cache-write and derives cache miss from the raw total (1.567339ms) -2026-09-27T05:32:13.1271503Z ✔ preserves Google usage and derives cache miss from raw usage metadata (1.678873ms) -2026-09-27T05:32:13.1298565Z ✔ does not inherit Google adapter zeroes for omitted raw cache and reasoning fields (4.124846ms) -2026-09-27T05:32:13.1325706Z ✔ does not turn omitted provider cache details into zero-valued evidence (0.249072ms) -2026-09-27T05:32:13.1357695Z ✔ does not inherit normalized zero totals when the raw provider fields are missing (0.37229ms) -2026-09-27T05:32:13.1369929Z ✔ keeps normalized totals when no raw provider payload is available (0.340674ms) -2026-09-27T05:32:13.1405640Z ✔ does not derive cache miss from inconsistent provider components (3.660997ms) -2026-09-27T05:32:13.1415372Z ✔ strict provider-request usage (27.324815ms) -2026-09-27T05:32:13.1445297Z ▶ provider request tracker -2026-09-27T05:32:13.1478449Z ✔ records the request model context window on completed attempts (13.009341ms) -2026-09-27T05:32:13.1489815Z ✔ omits a non-positive request model context window (5.173192ms) -2026-09-27T05:32:13.1555594Z ✔ counts a retry as another attempt of the same step (19.308206ms) -2026-09-27T05:32:13.1598493Z ✔ attributes a non-streaming physical provider call (0.94857ms) -2026-09-27T05:32:13.1658148Z ✔ keeps a redacted request out of the canonical attempt (3.174295ms) -2026-09-27T05:32:13.1744287Z ✔ awaits the durable dispatch gate before a non-streaming provider call (2.053243ms) -2026-09-27T05:32:13.1775470Z ✔ records an errored stream after output as interrupted (7.565611ms) -2026-09-27T05:32:13.1810555Z ✔ records an in-flight attempt as aborted when its signal is cancelled (0.61451ms) -2026-09-27T05:32:13.1856168Z ✔ does not record an attempt when cancellation predates dispatch (0.34424ms) -2026-09-27T05:32:13.2038716Z ✔ does not dispatch or record an attempt when cancellation happens at the gate (3.784302ms) -2026-09-27T05:32:13.2087879Z ✔ provider request tracker (56.882354ms) -2026-09-27T05:32:13.2162009Z ▶ canonical model-call accounting -2026-09-27T05:32:13.2203339Z ✔ a call abandoned before dispatch never enters the canonical sent sequence (0.57732ms) -2026-09-27T05:32:13.2235580Z ✔ emits a decodable priced record for a completed call (5.011118ms) -2026-09-27T05:32:13.2270807Z ✔ persists a structured failure fingerprint and the selected compaction route (1.049306ms) -2026-09-27T05:32:13.2291564Z ✔ records the physical route when one compaction call falls back (3.972093ms) -2026-09-27T05:32:13.2386038Z ✔ a call the provider reported no usage for records usageBasis missing (2.122429ms) -2026-09-27T05:32:13.2399449Z ✔ carries the folded prompt composition on the canonical attempt (1.10956ms) -2026-09-27T05:32:13.2436146Z ✔ an unresolvable price records unpriced rather than zero (0.772077ms) -2026-09-27T05:32:13.2477318Z ✔ retries of one step share a logicalCallId and increment the ordinal (3.392797ms) -2026-09-27T05:32:13.2479621Z ✔ a sink failure never errors the model stream (0.691ms) -2026-09-27T05:32:13.2480952Z ✔ the readiness gate refuses before dispatch, without calling the provider (0.313209ms) -2026-09-27T05:32:13.2483520Z ✔ an abort settles late usage instead of freezing the bill at zero (0.683876ms) -2026-09-27T05:32:13.2486111Z ✔ late reported usage waits for provisional accounting and remains authoritative (57.355734ms) -2026-09-27T05:32:13.2556807Z ✔ no canonical record is emitted without a resolvable run (0.546857ms) -2026-09-27T05:32:13.2602693Z ✔ canonical model-call accounting (78.60034ms) -2026-09-27T05:32:13.2730436Z ✔ PTY driver exposes the live child PID and acknowledges forced exit (240.508243ms) -2026-09-27T05:32:13.2805552Z ▶ PtyScreenCollector -2026-09-27T05:32:13.2869631Z ✔ restores cursor visibility after a DECSTR soft reset (154.115186ms) -2026-09-27T05:32:13.2895600Z ✔ coalesces queued parser writes so a cut waits behind bounded work (18.009132ms) -2026-09-27T05:32:13.3007447Z ✔ keeps the newest frame and evicts the oldest queued data when the parse queue exceeds its budget (17.671835ms) -2026-09-27T05:32:13.3064230Z ✔ resets the parser at an input gap so eviction cannot swallow the newest frame behind an unterminated escape sequence (25.811827ms) -2026-09-27T05:32:13.3145871Z ✔ distinguishes an intentional screen clear from scrollback eviction (111.583525ms) -2026-09-27T05:32:13.3185657Z ✔ PtyScreenCollector (332.769177ms) -2026-09-27T05:32:13.3187080Z ✔ enters Runtime Kernel quiescence before preparing a Session snapshot (8.429264ms) -2026-09-27T05:32:13.3305993Z ✔ maps an active Runtime execution claim to a stable snapshot_busy error (7.615664ms) -2026-09-27T05:32:13.3366045Z ✔ does not invoke snapshot work when Host eligibility rejects the Session (0.405055ms) -2026-09-27T05:32:13.3430136Z ✔ preserves an operation AbortError for coordinator cancellation normalization (0.504988ms) -2026-09-27T05:32:13.3473248Z ✖ actual Runtime Kernel serializes an admitted mutation before snapshot work (1.395495ms) -2026-09-27T05:32:13.3565877Z ✔ does not run a snapshot admitted after its cancellation (0.366248ms) -2026-09-27T05:32:13.3645917Z ✔ malformed continuation positions fail instead of restarting the resource (10.010952ms) -2026-09-27T05:32:13.3685906Z ✔ default and explicit large ranges stay bounded and continue to the requested end (81.804359ms) -2026-09-27T05:32:13.3745941Z ✔ a long Unicode line continues without loss and refuses changed content (47.415235ms) -2026-09-27T05:32:13.3805795Z ✔ line-boundary continuations reject a rolling output snapshot (6.660579ms) -2026-09-27T05:32:13.3865638Z ✔ archive Read decodes content lines and retains terminal execution metadata (0.69621ms) -2026-09-27T05:32:13.3867022Z ✔ archive Read pages a long shell failure without losing output or execution metadata (8.960511ms) -2026-09-27T05:32:13.3925718Z ✔ archive Read preserves fields beside structured text across pages (3.801487ms) -2026-09-27T05:32:14.1587948Z ▶ recall over the corpus a live workspace actually has -2026-09-27T05:32:14.1616214Z ✔ a Session born on the ledger is reachable, and narrowing matches the full scan (959.275764ms) -2026-09-27T05:32:14.4146247Z ✔ a pasted file is reachable by name through the real stores (257.193042ms) -2026-09-27T05:32:14.4497328Z ✔ a second Host client admitting a Turn after the idle read blocks MCP replacement (7148.114527ms) -2026-09-27T05:32:14.6626264Z ✔ narrowing reads only the Sessions that can match (246.242306ms) -2026-09-27T05:32:14.6668699Z ✔ recall over the corpus a live workspace actually has (1464.774279ms) -2026-09-27T05:32:14.7105723Z ▶ recovery authority equivalence -2026-09-27T05:32:14.7129125Z ✔ gives online projection, reopen, rebuild, and Resolver one terminal interpretation (163.314321ms) -2026-09-27T05:32:14.7176056Z ✔ keeps prepared, normal T2, and parked states equivalent across reopen and rebuild (229.312796ms) -2026-09-27T05:32:14.7215865Z ✔ preserves duplicate event identity and semantic-lane diagnostics (0.686636ms) -2026-09-27T05:32:14.7273632Z ✔ treats a valid parked recovery bundle as terminal (6.965428ms) -2026-09-27T05:32:14.7326580Z ✔ blocks resume whenever the recovery ledger contains top-level corruption (1.409441ms) -2026-09-27T05:32:14.7345612Z ✔ recovery authority equivalence (403.727122ms) -2026-09-27T05:32:14.7373112Z ▶ RecoveryResolver -2026-09-27T05:32:14.7397687Z ✔ proves a new-protocol call without dispatch was never dispatched (3.676525ms) -2026-09-27T05:32:14.7420180Z ✔ requires reconciliation after dispatch when no response was committed (1.488838ms) -2026-09-27T05:32:14.7477085Z ✔ settles every dispatched operation, including hidden nested calls (3.18512ms) -2026-09-27T05:32:14.7505984Z ✔ commits a projected recovery outcome through the projection-aware SQLite T2 gate (102.164329ms) -2026-09-27T05:32:14.7565973Z ✔ marks generic interrupted tools as outcome-unknown and does not retry them (0.801901ms) -2026-09-27T05:32:14.7613667Z ✔ settles a dispatched user question as interrupted without claiming a side effect (0.86071ms) -2026-09-27T05:32:14.7646054Z ✔ does not append an interrupted result after the invocation terminal event (0.449767ms) -2026-09-27T05:32:14.7767185Z ✔ treats a matching response without dispatch as a completed pre-T1 result (0.456762ms) -2026-09-27T05:32:14.7818096Z ✔ classifies a dispatch without its canonical function call as corruption (0.527802ms) -2026-09-27T05:32:14.7906265Z ✔ classifies a response without its canonical function call as corruption (0.477055ms) -2026-09-27T05:32:14.7926096Z ✔ classifies dispatch identity drift as corruption (0.421933ms) -2026-09-27T05:32:14.7975965Z ✔ classifies repeated dispatch for one operation as corruption (0.362712ms) -2026-09-27T05:32:14.8018004Z ✔ classifies repeated response for one operation as corruption (3.03093ms) -2026-09-27T05:32:14.8075677Z ✔ rejects a protocol marker added after the first canonical event (0.259308ms) -2026-09-27T05:32:14.8132668Z ✔ rejects an unknown protocol marker on the first canonical event (0.21136ms) -2026-09-27T05:32:14.8165549Z ✔ classifies a response linked to a different operation as corruption (0.311803ms) -2026-09-27T05:32:14.8207478Z ✔ RecoveryResolver (125.374328ms) -2026-09-27T05:32:14.8266823Z ▶ createRequestCustomizationFetch -2026-09-27T05:32:14.8307382Z ✔ preserves caller cancellation, including signal override and explicit null (91.09969ms) -2026-09-27T05:32:14.8365892Z ✔ native response still aborts after temporary customization Requests are collected (646.422606ms) -2026-09-27T05:32:14.8406862Z ✔ applies generic headers and extra fields to a JSON POST request (25.359632ms) -2026-09-27T05:32:14.8445575Z ✔ adds headers to model discovery without adding a body (7.139606ms) -2026-09-27T05:32:14.8489725Z ✔ passes URL and init across fetch implementations instead of a realm-specific Request (5.488763ms) -2026-09-27T05:32:14.8536520Z ✔ rejects collisions instead of silently overriding generated request data (7.685089ms) -2026-09-27T05:32:14.8593244Z ✔ applies a provider finalizer after caller body overlays (13.94304ms) -2026-09-27T05:32:14.8675810Z ✔ createRequestCustomizationFetch (800.545931ms) -2026-09-27T05:32:14.8685753Z ▶ canonicalizeToolSet active allow-list -2026-09-27T05:32:14.8743681Z ✔ withholds inactive tools without removing them from the dispatch registry (35.503461ms) -2026-09-27T05:32:14.8775212Z ✔ measures only the provider-visible tool schemas (1.427868ms) -2026-09-27T05:32:14.8832584Z ✔ canonicalizeToolSet active allow-list (38.590334ms) -2026-09-27T05:32:14.8860517Z ▶ prepared prompt composition -2026-09-27T05:32:14.8886949Z ✔ folds every semantic part into its bucket and names the tools (4.036802ms) -2026-09-27T05:32:14.8929623Z ✔ sizes non-JSON values rather than dropping them (0.441906ms) -2026-09-27T05:32:14.8976513Z ✔ folds a long conversation into one row without losing its bytes (37.574062ms) -2026-09-27T05:32:14.9039040Z ✔ names the largest tools and carries the rest as a counted remainder (1.024415ms) -2026-09-27T05:32:14.9105621Z ✔ has nothing to say about an empty request (0.209409ms) -2026-09-27T05:32:14.9117238Z ✔ prepared prompt composition (48.601364ms) -2026-09-27T05:32:14.9178195Z ✔ round-trips one bounded versioned plaintext Responses item identity (13.763829ms) -2026-09-27T05:32:14.9193833Z ✔ rejects malformed, widened, and unsafe plaintext Responses state (3.5941ms) -2026-09-27T05:32:14.9237791Z ✔ degrades a well-formed state version that this Runtime cannot replay (0.278978ms) -2026-09-27T05:32:14.9254640Z ✔ reconstructs provider-native summary parts (0.408126ms) -2026-09-27T05:32:14.9337523Z ✔ drops summary boundaries that disagree with canonical text (0.201205ms) -2026-09-27T05:32:14.9376118Z ✔ keeps encrypted OpenAI item identity readable for shared step grouping (0.154931ms) -2026-09-27T05:32:15.5696302Z ✔ ignores a stale Goal arm result after switching Sessions (326.781367ms) -2026-09-27T05:32:15.6884361Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:32:15.7506308Z ✔ ignores a stale Goal arm rejection after closing and reopening (151.560938ms) -2026-09-27T05:32:15.9558638Z ✔ closes only for armed and locks reconciled state until reopen (227.946502ms) -2026-09-27T05:32:16.0065910Z [desktop] operation failed: Error: Goal already exists -2026-09-27T05:32:16.0075916Z at Object.onArm (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/goal-dialog.test.js:111:15) -2026-09-27T05:32:16.0125915Z at arm (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/goals/ui/goal-dialog.js:98:41) -2026-09-27T05:32:16.0157845Z at Object.onClick (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/goals/ui/goal-dialog.js:145:409) -2026-09-27T05:32:16.0186656Z at handleClick (file:///home/runner/work/maka/maka/node_modules/@astryxdesign/core/dist/Button/Button.js:413:20) -2026-09-27T05:32:16.0236902Z at executeDispatch (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:20804:9) -2026-09-27T05:32:16.0305564Z at runWithFiberInDEV (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:1045:30) -2026-09-27T05:32:16.0337303Z at processDispatchQueue (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:20854:19) -2026-09-27T05:32:16.0343089Z at /home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:21423:9 -2026-09-27T05:32:16.0344348Z at batchedUpdates$1 (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:3437:40) -2026-09-27T05:32:16.0377167Z at dispatchEventForPluginEventSystem (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:21008:7) -2026-09-27T05:32:16.0603796Z ✔ keeps the Goal form editable after a deterministic rejection (109.721057ms) -2026-09-27T05:32:16.1583662Z ✔ blocks invalid budgets and arms the exact values the form shows (130.042617ms) -2026-09-27T05:32:16.2748608Z ▶ Goals model -2026-09-27T05:32:16.2849866Z ✔ parses only whole, bounded, safe budget values (2.768501ms) -2026-09-27T05:32:16.2942062Z ✔ projects only running and well-formed paused Goals (0.360398ms) -2026-09-27T05:32:16.2992632Z ✔ Goals model (4.627239ms) -2026-09-27T05:32:16.3083365Z ✔ Goal arm preload routing preserves target scope and projects every outcome (7.040776ms) -2026-09-27T05:32:16.3105333Z ▶ GoalProvider render scope -2026-09-27T05:32:16.3150835Z ✔ updates only the projection whose reader changed (98.014761ms) -2026-09-27T05:32:16.3238672Z [desktop] operation failed: Error: offline -2026-09-27T05:32:16.3314874Z at Object.pause (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/goal-provider-scope.test.js:124:27) -2026-09-27T05:32:16.3370492Z at file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/goals/controller/use-goal-controller.js:112:73 -2026-09-27T05:32:16.3438949Z at file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/goals/controller/use-goal-controller.js:74:14 -2026-09-27T05:32:16.3515839Z at Object.onPause (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/goals/controller/use-goal-controller.js:112:17) -2026-09-27T05:32:16.3538669Z at file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/goal-provider-scope.test.js:134:54 -2026-09-27T05:32:16.3631926Z at process.env.NODE_ENV.exports.act (/home/runner/work/maka/maka/node_modules/react/cjs/react.development.js:890:22) -2026-09-27T05:32:16.3721500Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/goal-provider-scope.test.js:133:15) -2026-09-27T05:32:16.3845788Z at async Test.run (node:internal/test_runner/test:1409:7) -2026-09-27T05:32:16.3910077Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:32:16.3976162Z ✔ withholds the command when disabled and reports failures to the latest owner (64.095112ms) -2026-09-27T05:32:16.4075850Z ✔ defaults standalone UI readers to an inactive Goal projection (6.907535ms) -2026-09-27T05:32:16.4125598Z ✔ GoalProvider render scope (171.142321ms) -2026-09-27T05:32:16.4165742Z ▶ createDesktopGoalServices -2026-09-27T05:32:16.4205916Z ✔ maps Goal operations and narrows Session changes to Goal events (5.320018ms) -2026-09-27T05:32:16.4228595Z ✔ createDesktopGoalServices (6.981161ms) -2026-09-27T05:32:16.4286931Z ▶ Goals feature boundary -2026-09-27T05:32:16.4331863Z ✔ contains no Desktop global bridge or shell/process imports (14.861055ms) -2026-09-27T05:32:16.4375379Z ✔ is consumed outside the feature only through public entries (189.716709ms) -2026-09-27T05:32:16.4493218Z ✔ keeps fake services out of the production entry (0.324542ms) -2026-09-27T05:32:16.4548762Z ✔ keeps the controller owned by GoalProvider and out of renderer roots (92.351724ms) -2026-09-27T05:32:16.4584243Z ✔ keeps the controller module behind GoalProvider and the testing entry (2.501096ms) -2026-09-27T05:32:16.4618951Z ✔ binds separate projection contexts at the authoritative UI readers (8.876441ms) -2026-09-27T05:32:16.4704114Z ✔ keeps Goal projection consumers exclusive to the authorized renderer leaves (189.397376ms) -2026-09-27T05:32:16.4765853Z ✔ keeps Goal state, controls, and dialog reads below AppShell (2.04605ms) -2026-09-27T05:32:16.4789789Z ✔ Goals feature boundary (513.736718ms) -2026-09-27T05:32:16.4845578Z ▶ responses wire contract -2026-09-27T05:32:16.4880910Z ✔ GPT-6 catalog thinking levels reach Responses for API and Codex OAuth (78.632062ms) -2026-09-27T05:32:16.4935865Z ✔ does not route Maka tool_search history through OpenAI native tool_search validation (88.261603ms) -2026-09-27T05:32:16.4990566Z ✔ keeps the runtime tool_search name in a Code Mode catalog nested inside exec (56.692498ms) -2026-09-27T05:32:16.5106251Z ✔ routes only Qwen3.8 Max through Token Plan Responses (1.029503ms) -2026-09-27T05:32:16.5180757Z ✔ keeps Qwen3.8 Max on Alibaba (China) Chat until the provider adapter supports Responses (0.268565ms) -2026-09-27T05:32:16.5249939Z ✔ routes OpenCode Go Muse Spark through the Responses endpoint (11.698061ms) -2026-09-27T05:32:16.5326156Z ✔ sends OpenCode Go session identities through their model adapters (54.295167ms) -2026-09-27T05:32:16.5414844Z ✔ normalizes the upstream Open Responses endpoint exactly once (2.820332ms) -2026-09-27T05:32:16.5465887Z ✔ reduces an endpoint-form override to the base the native adapter expects (5.613163ms) -2026-09-27T05:32:16.5507341Z ✔ resolves only supported Responses adapter and replay pairings (3.041432ms) -2026-09-27T05:32:16.5560902Z ✔ one custom connection resolves each model on its own wire (0.529699ms) -2026-09-27T05:32:16.5625635Z ✔ resolves parallel tool calls from model facts before native wire defaults (0.482148ms) -2026-09-27T05:32:16.5685542Z ✔ every encrypted-content Responses contract asks for encrypted reasoning (136.829129ms) -2026-09-27T05:32:16.5710960Z ✔ responses wire contract (444.840048ms) -2026-09-27T05:32:16.5759735Z ▶ responses wire request body -2026-09-27T05:32:16.5856468Z ✔ Alibaba compatibility owns store:false after request overlays (17.658003ms) -2026-09-27T05:32:16.5945740Z ✔ Alibaba compatibility preserves documented required tool choices (9.838787ms) -2026-09-27T05:32:16.5996592Z ✔ Alibaba compatibility survives header-only request customization (7.746943ms) -2026-09-27T05:32:16.6044193Z ✔ adds the V2 trigger only through the explicit OpenAI provider option (2.523653ms) -2026-09-27T05:32:16.6075634Z ✔ returns native apply_patch results with the provider output item (4.120034ms) -2026-09-27T05:32:16.6085712Z ✔ DeepSeek uses plaintext Responses options without asking for encrypted content (1.375681ms) -2026-09-27T05:32:16.6145562Z ✔ replays plaintext reasoning before its function call and result (4.341838ms) -2026-09-27T05:32:16.6175310Z ✔ responses wire request body (51.294856ms) -2026-09-27T05:32:16.6215691Z ✔ Codex custom ApplyPatch streams raw input and replays custom tool results (60.194327ms) -2026-09-27T05:32:16.6265492Z ✔ only a WSL distribution names where the Host runs (2.004758ms) -2026-09-27T05:32:16.6272514Z ✔ the environment survives the worker launch argument (1.940139ms) -2026-09-27T05:32:16.6340495Z ✔ every missing-ripgrep message says where to install it and to retry, never to restart (0.73141ms) -2026-09-27T05:32:16.6342962Z ✔ the guidance never carries the machine name to the model (0.308402ms) -2026-09-27T05:32:16.6385744Z ✔ handoff cancellation leaves the same execution free to continue (1.941542ms) -2026-09-27T05:32:16.6450464Z ✔ only the held boundary can commit and stale cancellation cannot release a later reservation (4.53924ms) -2026-09-27T05:32:16.6457259Z ✔ user Stop releases a paused boundary and natural completion resolves a pending request (0.521982ms) -2026-09-27T05:32:16.6525392Z ▶ RunTrace error diagnostics -2026-09-27T05:32:16.6569201Z ✔ model stream failures keep generic copy plus redacted raw diagnostics (19.371781ms) -2026-09-27T05:32:16.6570331Z ✔ model stream failure diagnostics are bounded (6.571515ms) -2026-09-27T05:32:16.6619278Z ✔ model stream failure diagnostics preserve redacted structured error fields (1.177956ms) -2026-09-27T05:32:16.6678381Z ✔ RunTrace error diagnostics (37.912346ms) -2026-09-27T05:32:16.6705410Z ▶ RuntimeCommitSink identities -2026-09-27T05:32:16.6736999Z ✔ builds operation identity from the invocation and provider call, never argument text (1.679539ms) -2026-09-27T05:32:16.6771462Z ✔ keeps tuple identity unambiguous when provider strings contain NUL (0.306765ms) -2026-09-27T05:32:16.6772721Z ✔ hashes stable-json tool identity while preserving semantic argument differences (4.319066ms) -2026-09-27T05:32:16.6811810Z ✔ RuntimeCommitSink identities (25.898264ms) -2026-09-27T05:32:19.3769179Z ✔ labels blocker counts as global across filtered health views (1.195242ms) -2026-09-27T05:32:19.3770846Z ✔ Traditional Chinese health copy localizes structured signal text (0.532018ms) -2026-09-27T05:32:19.3877294Z ✔ renders configuration message codes distinctly in both locales (0.421755ms) -2026-09-27T05:32:19.3947698Z ✔ renders runtime probe details from structured params, not string parsing (0.478601ms) -2026-09-27T05:32:19.4015881Z ✔ capability reason codes have copy in every locale, unknown reasons keep the fallback (3.227505ms) -2026-09-27T05:32:19.4203617Z ✔ maps connection test error classes without exposing machine tokens (0.263495ms) -2026-09-27T05:32:19.4248887Z ✔ maps connection test error classes in connection details (0.90679ms) -2026-09-27T05:32:19.4366786Z ✔ suffixes runtime signal labels per locale from the id, not the producer (0.247769ms) -2026-09-27T05:32:19.4686016Z ✔ dimensions come out of the bytes, for both offered formats (8.103662ms) -2026-09-27T05:32:19.4756237Z ✔ a small file declaring a huge bitmap reports the huge dimensions (0.528902ms) -2026-09-27T05:32:19.4812806Z ✔ anything that is not PNG or JPEG is not recognised (0.274595ms) -2026-09-27T05:32:19.4848742Z ✔ a JPEG whose markers run out is not guessed at (0.14573ms) -2026-09-27T05:32:20.5186863Z ▶ ImportTasksSettingsPage durable import state -2026-09-27T05:32:20.5267739Z ✔ renders imported history and an entry to the newest imported task after remount (450.579303ms) -2026-09-27T05:32:20.6851125Z ✔ scopes catalog reads and import to the selected Runtime Host (197.496931ms) -2026-09-27T05:32:20.8329202Z ✔ shows an actionable banner and does not re-read the catalog when no model is usable (140.164826ms) -2026-09-27T05:32:20.9710167Z ✔ shows a source-unreadable banner when the conversation cannot be converted (149.068259ms) -2026-09-27T05:32:21.1055909Z ✔ shows the exact source limit without generic retry advice in en (125.170905ms) -2026-09-27T05:32:21.1206502Z ✔ a committed MCP replacement survives cancellation after another Host client starts a Turn (6671.838751ms) -2026-09-27T05:32:21.2416634Z ✔ shows the exact source limit without generic retry advice in zh-CN (141.109935ms) -2026-09-27T05:32:21.4290422Z ✔ shows the exact source limit without generic retry advice in zh-TW (164.213719ms) -2026-09-27T05:32:21.5564920Z ✔ uses catalog in-flight state after remount to disable the source row (141.746289ms) -2026-09-27T05:32:21.6492066Z ✔ renders durable repeat-import state in Chinese (101.084045ms) -2026-09-27T05:32:21.7523469Z ✔ polls catalog-owned in-flight state until the imported task becomes durable (100.291969ms) -2026-09-27T05:32:21.9478556Z ▶ runtime resume phase 1 process crash harness -2026-09-27T05:32:21.9506012Z ✔ reopens and repairs every committed continuation prefix after SIGKILL (5919.951553ms) -2026-09-27T05:32:21.9545879Z ✔ runtime resume phase 1 process crash harness (5924.810752ms) -2026-09-27T05:32:22.0032783Z ✔ polls the whole loaded page window without dropping a later-page import (234.112647ms) -2026-09-27T05:32:22.0216378Z ✔ local continuation safety inspector returns current authoritative workspace facts (10.402022ms) -2026-09-27T05:32:22.0328836Z ✔ RuntimeContinuationPlanner reads the durable source boundary and allocates fresh identities (23.244176ms) -2026-09-27T05:32:22.0361131Z ✔ RuntimeContinuationPlanner parks with a stable reason when the ledger cannot be read (6.194728ms) -2026-09-27T05:32:22.0486189Z ✔ RuntimeContinuationPlanner derives terminal repair from durable run and event facts (9.239092ms) -2026-09-27T05:32:22.0515988Z ✔ RuntimeContinuationPlanner parks when the source ledger does not end on its terminal fact (1.980824ms) -2026-09-27T05:32:22.0541371Z ✔ RuntimeContinuationPlanner rejects immutable output after the source terminal fact (8.314642ms) -2026-09-27T05:32:22.0564928Z ✔ RuntimeContinuationPlanner uses canonical provider items for composite head and tail gates (9.358792ms) -2026-09-27T05:32:22.0641108Z ✔ RuntimeContinuationPlanner rejects a ledger returned for another source run (0.751997ms) -2026-09-27T05:32:22.0706417Z ✔ RuntimeContinuationPlanner fails a cyclic continuation lineage closed (11.984754ms) -2026-09-27T05:32:22.0733900Z ✔ RuntimeContinuationPlanner parks when a continuation ancestor is unavailable (3.743825ms) -2026-09-27T05:32:22.0737360Z ✔ RuntimeContinuationPlanner caps continuation lineage at 64 segments (46.336803ms) -2026-09-27T05:32:22.0761907Z ✔ RuntimeContinuationPlanner verifies a v2 lineage edge prefix digest (9.403102ms) -2026-09-27T05:32:22.0828238Z ✔ RuntimeContinuationPlanner binds every v2 lineage edge to its continuation-start T1 (1.187039ms) -2026-09-27T05:32:22.0877998Z ✔ RuntimeContinuationPlanner rejects downgrading a canonical v2 start to legacy lineage (9.714498ms) -2026-09-27T05:32:22.0908013Z ✔ RuntimeContinuationPlanner requires a durable target before authenticating edge replay (12.175621ms) -2026-09-27T05:32:22.0957321Z ✔ RuntimeContinuationPlanner rejects a v2 lineage edge whose durable claim is missing (3.758356ms) -2026-09-27T05:32:22.0987418Z ▶ projectRuntimeEventsToStoredMessages -2026-09-27T05:32:22.1091634Z ✔ streaming projection is equivalent to the batch read model (27.604254ms) -2026-09-27T05:32:22.1159858Z ✔ every event prefix projects the rows the full ledger attributes to it (8.404318ms) -2026-09-27T05:32:22.1226995Z ✔ unclaimed thinking is a defect only once its invocation has ended (4.809391ms) -2026-09-27T05:32:22.1301272Z ✔ loads canonical permission outcomes after the streaming scan and preserves acceptance order (3.936031ms) -2026-09-27T05:32:22.1408889Z ✔ projects decoded tool results during push and reports emitted messages (1.0893ms) -2026-09-27T05:32:22.1465610Z ✔ bounds local terminal transcript output to a recoverable tail preview (11.734659ms) -2026-09-27T05:32:22.1529958Z ✔ exposes a session image ref as a Markdown image source to the model (4.471399ms) -2026-09-27T05:32:22.1605770Z ✔ projects user displayText from RuntimeEvent text content (0.366074ms) -2026-09-27T05:32:22.1635590Z ✔ full RuntimeEvent turn projects legacy-compatible rows (4.122701ms) -2026-09-27T05:32:22.1740014Z ✔ projects provider-native search through the canonical read model while replay keeps raw output (6.963015ms) -2026-09-27T05:32:22.1815398Z ✔ projects an AskUserQuestion round trip without a legacy row for the live request (0.472079ms) -2026-09-27T05:32:22.1936280Z ✔ replays generic provider tool results without Maka result decoding (8.119381ms) -2026-09-27T05:32:22.1988274Z ✔ folds retired permission modes while projecting persisted tool results (1.079833ms) -2026-09-27T05:32:22.2079804Z ✔ folds retired ExploreAgent results before model replay (5.046276ms) -2026-09-27T05:32:22.2135522Z ✔ restores a settled Agent Swarm function response (6.866787ms) -2026-09-27T05:32:22.2236545Z ✔ projects first-observed step content order for stable live handoff (0.380161ms) -2026-09-27T05:32:22.2281958Z ✔ archived tool-result placeholders project to diagnostic tool-result rows (0.671261ms) -2026-09-27T05:32:22.2351457Z ✔ legacy archived tool-result placeholders gain a deterministic ArchiveRead ref for replay (9.986543ms) -2026-09-27T05:32:22.2443559Z ✔ archive status wrapper can project missing and corrupt rows without changing sync defaults (1.153405ms) -2026-09-27T05:32:22.2466261Z ✔ partial RuntimeEvents are excluded (0.289651ms) -2026-09-27T05:32:22.2495655Z ✔ tool dispatch recovery facts are accepted without creating legacy message rows (0.216703ms) -2026-09-27T05:32:22.2515602Z ✔ question answer acknowledgements remain non-visible audit facts (0.183316ms) -2026-09-27T05:32:22.2565673Z ✔ terminal recovery bundle facts are accepted without creating legacy message rows (1.484729ms) -2026-09-27T05:32:22.2605867Z ✔ continuation-start recovery facts are accepted without creating legacy message rows (0.350945ms) -2026-09-27T05:32:22.2635750Z ✔ sandbox boundary request and decision facts are accepted without creating legacy message rows (1.449175ms) -2026-09-27T05:32:22.2666679Z ✔ a sandbox boundary request without a justification stays unclaimed (0.524863ms) -2026-09-27T05:32:22.2695529Z ✔ a sandbox boundary request with an unusable expansion stays unclaimed (0.248509ms) -2026-09-27T05:32:22.2725641Z ✔ a sandbox boundary request that lost its tool-call reference stays unclaimed (0.182658ms) -2026-09-27T05:32:22.2750210Z ✔ a sandbox boundary request attributed to someone other than the system stays unclaimed (0.329502ms) -2026-09-27T05:32:22.2816270Z ✔ a sandbox boundary decision without a status stays unclaimed (0.225626ms) -2026-09-27T05:32:22.2863868Z ✔ a sandbox boundary decision with a status the boundary never settles to stays unclaimed (0.182966ms) -2026-09-27T05:32:22.2901942Z ✔ a sandbox boundary decision without a revision stays unclaimed (0.26113ms) -2026-09-27T05:32:22.2927120Z ✔ a sandbox boundary decision attributed to the agent instead of the user stays unclaimed (0.165835ms) -2026-09-27T05:32:22.2928474Z ✔ model thinking attaches to the assistant text row that shares its step message id (0.339603ms) -2026-09-27T05:32:22.2929476Z ✔ per-step thinking pairs each step assistant row by its own message id (0.359952ms) -2026-09-27T05:32:22.2930363Z ✔ unsupported and incomplete events are diagnostic-only (0.38714ms) -2026-09-27T05:32:22.2931293Z ✔ an unclaimed control-only event is soft and leaves every message intact (0.260512ms) -2026-09-27T05:32:22.2932124Z ✔ an unclaimed event that carries content stays hard (0.149433ms) -2026-09-27T05:32:22.2933068Z ✔ failed terminal RuntimeEvent maps to failed turn state with the class it states (0.336549ms) -2026-09-27T05:32:22.2934103Z ✔ failure diagnostics survive terminal projection and serialization round-trip (1.114446ms) -2026-09-27T05:32:22.2935319Z ✔ bounds terminal diagnostics before publishing decodable turn states (1.173615ms) -2026-09-27T05:32:22.2936477Z ✔ a session written with the retired context_budget_exhausted reads back as context_overflow (0.266565ms) -2026-09-27T05:32:22.2937563Z ✔ tool step cap terminal fact projects a persistent system notice (6.720421ms) -2026-09-27T05:32:22.2938548Z ✔ aborted terminal RuntimeEvent preserves abort source from runtime state (0.366582ms) -2026-09-27T05:32:22.2939643Z ✔ aborted terminal RuntimeEvent that states no source still projects its turn state (0.207401ms) -2026-09-27T05:32:22.2940711Z ✔ projects tool_call stepId from refs so the UI timeline keeps step pairing (0.305647ms) -2026-09-27T05:32:22.2941741Z ✔ retains nested CodeMode identity on tool rows used by the UI read model (0.33079ms) -2026-09-27T05:32:22.2942691Z ✔ projects tool_call activityKind from runtime state for replay (0.189096ms) -2026-09-27T05:32:22.2943516Z ✔ projectRuntimeEventsToStoredMessages (134.185935ms) -2026-09-27T05:32:22.2944086Z ▶ system note projection -2026-09-27T05:32:22.2944895Z ✔ projects a turn-scoped note back into its transcript row (0.359567ms) -2026-09-27T05:32:22.2945730Z ✔ converts a legacy turn-scoped note and reads back the same row (7.088328ms) -2026-09-27T05:32:22.2946566Z ✔ leaves a session-level note out of the run ledger (0.287985ms) -2026-09-27T05:32:22.2947235Z ✔ system note projection (7.993441ms) -2026-09-27T05:32:22.2947839Z ▶ legacy transcript conversion keeps every row -2026-09-27T05:32:22.2948643Z ✔ keeps a tool result whose call is not in the turn, out of model replay (0.531342ms) -2026-09-27T05:32:22.2949560Z ✔ keeps a provider-native call whose opaque output was not retained (2.111915ms) -2026-09-27T05:32:22.2950316Z ✔ converts a permission decision on its own evidence (1.273054ms) -2026-09-27T05:32:22.2951086Z ✔ ends a turn whose transcript never said how it ended (1.191298ms) -2026-09-27T05:32:22.2951799Z ✔ legacy transcript conversion keeps every row (5.393014ms) -2026-09-27T05:32:22.2952422Z ▶ RuntimeEventActions projection coverage -2026-09-27T05:32:22.2953195Z ✔ actions.coordination projects without an unclaimed-event diagnostic (0.463695ms) -2026-09-27T05:32:22.2954130Z ✔ actions.handoffPause projects without an unclaimed-event diagnostic (0.119377ms) -2026-09-27T05:32:22.3025987Z ✔ actions.stateDelta projects without an unclaimed-event diagnostic (0.11636ms) -2026-09-27T05:32:22.3028064Z ✔ actions.managedMutationTerminal projects without an unclaimed-event diagnostic (0.098828ms) -2026-09-27T05:32:22.3052873Z ✔ actions.continuationStart projects without an unclaimed-event diagnostic (0.091701ms) -2026-09-27T05:32:22.3053910Z ✔ actions.artifactDelta projects without an unclaimed-event diagnostic (0.073529ms) -2026-09-27T05:32:22.3055032Z ✔ actions.permissionRequest projects without an unclaimed-event diagnostic (0.087457ms) -2026-09-27T05:32:22.3056097Z ✔ actions.permissionDecision projects without an unclaimed-event diagnostic (0.617865ms) -2026-09-27T05:32:22.3057108Z ✔ actions.permissionAnswerAccepted projects without an unclaimed-event diagnostic (0.403052ms) -2026-09-27T05:32:22.3058466Z ✔ actions.permissionClosureAccepted projects without an unclaimed-event diagnostic (0.17681ms) -2026-09-27T05:32:22.3059675Z ✔ actions.userQuestionRequest projects without an unclaimed-event diagnostic (0.101813ms) -2026-09-27T05:32:22.3060790Z ✔ actions.userQuestionAnswerAccepted projects without an unclaimed-event diagnostic (0.071377ms) -2026-09-27T05:32:22.3061815Z ✔ actions.formRequest projects without an unclaimed-event diagnostic (0.066727ms) -2026-09-27T05:32:22.3062831Z ✔ actions.formAnswerAccepted projects without an unclaimed-event diagnostic (0.092155ms) -2026-09-27T05:32:22.3063905Z ✔ actions.transferToAgent projects without an unclaimed-event diagnostic (0.077662ms) -2026-09-27T05:32:22.3065080Z ✔ actions.endInvocation projects without an unclaimed-event diagnostic (0.08506ms) -2026-09-27T05:32:22.3066030Z ✔ actions.tokenUsage projects without an unclaimed-event diagnostic (0.090569ms) -2026-09-27T05:32:22.3066936Z ✔ actions.toolDispatch projects without an unclaimed-event diagnostic (0.066911ms) -2026-09-27T05:32:22.3067892Z ✔ actions.toolRecovery projects without an unclaimed-event diagnostic (0.064958ms) -2026-09-27T05:32:22.3068833Z ✔ actions.workspaceFact projects without an unclaimed-event diagnostic (0.059444ms) -2026-09-27T05:32:22.3069746Z ✔ actions.runtimeProtocol projects without an unclaimed-event diagnostic (0.05429ms) -2026-09-27T05:32:22.3070538Z ✔ RuntimeEventActions projection coverage (5.242331ms) -2026-09-27T05:32:22.3071068Z ▶ token usage projection -2026-09-27T05:32:22.3071621Z ✔ carries the cross-turn request anchor both ways (0.836862ms) -2026-09-27T05:32:22.3072201Z ✔ token usage projection (0.954011ms) -2026-09-27T05:32:22.3072716Z ▶ SessionManager read behavior -2026-09-27T05:32:22.3073593Z ✔ getMessages requires RuntimeReadModel stores instead of reading SessionStore messages directly (2.318463ms) -2026-09-27T05:32:22.3127416Z ✔ SessionManager read behavior (2.434046ms) -2026-09-27T05:32:22.3138088Z ✔ Coordination receipts materialize as host facts, never assistant output (0.260601ms) -2026-09-27T05:32:22.3140496Z ✔ does not claim another client task after an unknown import outcome (122.568307ms) -2026-09-27T05:32:22.3159968Z ✔ ImportTasksSettingsPage durable import state (2086.558483ms) -2026-09-27T05:32:22.3182149Z ▶ ImportTasksSettingsPage source switching -2026-09-27T05:32:22.3183080Z ✔ shows the reading spinner the first time a source is opened (161.638968ms) -2026-09-27T05:32:22.3843754Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:32:22.4651874Z ✔ Runtime-owned handoff commit preserves canonical logical outcome (669.914435ms) -2026-09-27T05:32:22.4669673Z ✔ Runtime-owned handoff cancel preserves canonical logical outcome (307.747727ms) -2026-09-27T05:32:22.4774698Z ✔ Runtime-owned handoff stop preserves canonical logical outcome (248.764896ms) -2026-09-27T05:32:22.4776374Z ✔ Runtime-owned handoff write_failure preserves canonical logical outcome (267.933917ms) -2026-09-27T05:32:22.4827703Z ✔ Runtime-owned handoff missing_source_snapshot preserves canonical logical outcome (350.986336ms) -2026-09-27T05:32:22.4886003Z ✔ Runtime-owned handoff missing_persisted_source_snapshot preserves canonical logical outcome (259.51881ms) -2026-09-27T05:32:22.4945068Z ✔ Runtime-owned handoff missing_capability preserves canonical logical outcome (528.280349ms) -2026-09-27T05:32:22.5000099Z ✔ Runtime-owned handoff uncommitted_preparation preserves canonical logical outcome (448.789206ms) -2026-09-27T05:32:22.5003417Z ✔ Runtime-owned handoff prompt_drift preserves canonical logical outcome (493.795795ms) -2026-09-27T05:32:22.5048581Z ✔ Runtime-owned handoff tool_drift preserves canonical logical outcome (422.746517ms) -2026-09-27T05:32:22.5106098Z ✔ Runtime-owned handoff availability_drift preserves canonical logical outcome (437.862813ms) -2026-09-27T05:32:22.5180160Z ✔ Runtime-owned handoff provider_options_drift preserves canonical logical outcome (499.892086ms) -2026-09-27T05:32:22.5215381Z ✔ shows a previously-loaded source instantly with no spinner, then refreshes in place (215.389552ms) -2026-09-27T05:32:22.6856845Z ✔ does not let a stale background refresh overwrite a newer source selection (194.328961ms) -2026-09-27T05:32:22.8067638Z ✔ drops an in-flight import poll after switching source, with no stuck spinner (119.340849ms) -2026-09-27T05:32:22.8826104Z ✔ Runtime-owned handoff context_window_drift preserves canonical logical outcome (417.942272ms) -2026-09-27T05:32:23.0007788Z ✔ clears the reading spinner when a pending search returns to a cached term (168.688127ms) -2026-09-27T05:32:23.2546249Z ✔ clears a pending Load More lock when switching back to a cached source (259.348435ms) -2026-09-27T05:32:23.4040055Z ✔ Runtime-owned handoff revision_only preserves canonical logical outcome (521.233225ms) -2026-09-27T05:32:23.4676539Z ✔ keeps every loaded page when a revisited multi-page source refreshes (229.87853ms) -2026-09-27T05:32:23.6173383Z ✔ does not start a second catalog read when revisiting a still-importing source (152.643096ms) -2026-09-27T05:32:23.6223305Z ✔ ImportTasksSettingsPage source switching (1502.829728ms) -2026-09-27T05:32:23.7398774Z ▶ ImportTasksSettingsPage batch import -2026-09-27T05:32:23.7436164Z ✔ the master box marks and unmarks exactly the rows on screen (128.555947ms) -2026-09-27T05:32:23.8326300Z ✔ the master box reads indeterminate for a partial selection (83.78744ms) -2026-09-27T05:32:23.9306577Z ✔ Runtime-owned handoff inherited_denial preserves canonical logical outcome (528.594852ms) -2026-09-27T05:32:23.9458104Z ✔ select all and batch submission exclude a source the Host is already importing (113.691466ms) -2026-09-27T05:32:24.0868610Z ✔ does not carry a selected source id into another adapter (141.901294ms) -2026-09-27T05:32:24.2749535Z ✔ does not let a completed batch refresh overwrite a newer source selection (187.13027ms) -2026-09-27T05:32:24.4142860Z ✔ Runtime-owned handoff denial_lookup_failure preserves canonical logical outcome (484.229581ms) -2026-09-27T05:32:24.4257502Z ✔ imports the marked rows one at a time and counts each outcome once (141.512815ms) -2026-09-27T05:32:24.4876532Z ✔ the invocation index returns the same inventory as a rebuild from events alone (678.997704ms) -2026-09-27T05:32:24.4966223Z ▶ RuntimeKernel Interaction close cleanup -2026-09-27T05:32:24.4996508Z ✔ reserve followed by begin failure settles a concurrent stop claim (67.825466ms) -2026-09-27T05:32:24.5045945Z ✔ stop during owner bind waits for exact close and reports its failure once (21.02369ms) -2026-09-27T05:32:24.5086086Z ✔ explicit stop starts backend cleanup before deferred close settles and reports both failures (18.538439ms) -2026-09-27T05:32:24.5145640Z ✔ abandoned consumer starts backend cleanup before deferred close settles (3.459676ms) -2026-09-27T05:32:24.5175885Z ✔ multiple owner cleanup failures retain one fail-stop marker (38.836438ms) -2026-09-27T05:32:24.5235608Z ✔ explicit stop and iterator cleanup share one pending backend stop attempt (9.893036ms) -2026-09-27T05:32:24.5263778Z ✔ public stop rejection with a blocked send actively disposes the backend (16.540871ms) -2026-09-27T05:32:24.5339958Z ✔ the session run epoch bumps on every turn start and end (8.003904ms) -2026-09-27T05:32:24.5357804Z ✔ a generation stopped after Run reservation cannot send on the stale backend (8.347543ms) -2026-09-27T05:32:24.5415625Z ✔ a failed stop operation is not reused by the next backend Run generation (11.19224ms) -2026-09-27T05:32:24.5475653Z ✔ disposal failure permanently quarantines the Session from backend activation (7.087998ms) -2026-09-27T05:32:24.5501370Z ✔ RuntimeKernel Interaction close cleanup (215.810212ms) -2026-09-27T05:32:24.5540662Z ✔ a Host that does not answer is not counted as a failure (104.120162ms) -2026-09-27T05:32:24.6296267Z ✔ repairs imported transcript turns into provider-neutral canonical history (529.876925ms) -2026-09-27T05:32:24.6356054Z ✔ an imported snapshot cutoff survives materialization as aborted (208.763085ms) -2026-09-27T05:32:24.6380449Z ✔ does not import Host-handed-off transcript messages as synthetic runs (255.97102ms) -2026-09-27T05:32:24.6445796Z ✔ an imported turn that opens on an assistant reply still materializes (316.008227ms) -2026-09-27T05:32:24.6447123Z ✔ an imported turn with no terminal state is repaired to failed (204.009626ms) -2026-09-27T05:32:24.6482071Z ✔ converts Maka's own legacy transcript whole, and resumes an interrupted conversion (365.462005ms) -2026-09-27T05:32:24.6505720Z ✔ converts an imported turn ahead of a run the Session already sent (358.525354ms) -2026-09-27T05:32:24.6565853Z ✔ startup recovery leaves an interrupted legacy conversion for the importer to finish (319.35347ms) -2026-09-27T05:32:24.6595856Z ✔ a resolved Claude transcript replays as the conversation the user kept (317.506916ms) -2026-09-27T05:32:24.6619281Z ✔ resumes a conversion a released build opened under a random event id (373.149684ms) -2026-09-27T05:32:24.7320436Z ✔ allows a source to be submitted again after an unknown outcome (206.58911ms) -2026-09-27T05:32:24.9676890Z ✔ finishes a released conversion that had already converted messages (328.760382ms) -2026-09-27T05:32:24.9698354Z ✔ keeps source limit details in the batch summary after the catalog refresh (218.470037ms) -2026-09-27T05:32:25.1599871Z ✔ counts code-classified batch failures as failed, not unconfirmed, and raises the model banner (219.266741ms) -2026-09-27T05:32:25.3000480Z ✔ spins only the conversion in flight, not every queued row (140.77302ms) -2026-09-27T05:32:25.3129849Z ✔ explicitly resumes a ready interrupted Turn through ACP and the real Host (4183.826511ms) -2026-09-27T05:32:25.3650213Z ✔ the batch button stays out of reach until something is marked (62.775582ms) -2026-09-27T05:32:25.3705853Z ✔ ImportTasksSettingsPage batch import (1753.382657ms) -2026-09-27T05:32:25.3821236Z ▶ ImportTasksSettingsPage bundle source -2026-09-27T05:32:25.3876771Z ✔ does not offer the bundle source where the feature is not mounted (17.989488ms) -2026-09-27T05:32:25.4348718Z ✔ offers it where the feature is mounted (42.37755ms) -2026-09-27T05:32:25.4417490Z ✔ says so when neither an agent nor the bundle source is available (20.541845ms) -2026-09-27T05:32:25.4500885Z ✔ ImportTasksSettingsPage bundle source (81.375388ms) -2026-09-27T05:32:25.5329601Z ✔ completed OpenCode text followed by reasoning stays outside the process disclosure (124.302954ms) -2026-09-27T05:32:25.5383698Z ▶ ink ladder -2026-09-27T05:32:25.5484693Z ✔ keeps the retired ink names out of product source (743.726198ms) -2026-09-27T05:32:25.5546737Z ✔ derives every ink tier in one colour space (7.566386ms) -2026-09-27T05:32:25.5586329Z ✔ ink ladder (752.915804ms) -2026-09-27T05:32:25.5595026Z ▶ mode expression -2026-09-27T05:32:25.5677325Z ✔ keeps every token the Astryx theme aliases out of the .dark selector (13.925608ms) -2026-09-27T05:32:25.5688965Z ✔ collapses the ink tiers on an inverted surface (8.021209ms) -2026-09-27T05:32:25.5700109Z ✔ never reads a palette token as a colour (500.247661ms) -2026-09-27T05:32:25.5702749Z ✔ allows the explicit layout reads without admitting palette or unknown properties (0.596156ms) -2026-09-27T05:32:25.5715026Z ✔ mode expression (523.915062ms) -2026-09-27T05:32:25.5715801Z ▶ latest interrupted resume candidate -2026-09-27T05:32:25.5785476Z ✔ recognizes a timeout after a completed tool result (1.014249ms) -2026-09-27T05:32:25.5793961Z ✔ does not offer continuation for an incomplete or errored tool (0.2282ms) -2026-09-27T05:32:25.5826607Z ✔ rejects the mixed shape produced by materializeTurns (5.093605ms) -2026-09-27T05:32:25.5863909Z ✔ latest interrupted resume candidate (11.906445ms) -2026-09-27T05:32:25.5865432Z ▶ keep-system-awake controller -2026-09-27T05:32:25.5866794Z ✔ does NOT force the display on (never uses prevent-display-sleep) (3.911184ms) -2026-09-27T05:32:25.5877801Z ✔ guards double-start: re-applying enabled does not leak a second blocker (0.30541ms) -2026-09-27T05:32:25.5879729Z ✔ re-enabling after a stop starts a fresh blocker (0.217254ms) -2026-09-27T05:32:25.5890877Z ✔ re-acquires a blocker when the previous id was released underneath it (1.538649ms) -2026-09-27T05:32:25.5892559Z ✔ a named hold keeps the blocker alive after the setting is turned off (0.291324ms) -2026-09-27T05:32:25.5903863Z ✔ the setting survives a hold being released (4.399688ms) -2026-09-27T05:32:25.5906122Z ✔ holding twice for the same reason is one hold (0.245442ms) -2026-09-27T05:32:25.5915179Z ✔ two holds need two releases (0.192939ms) -2026-09-27T05:32:25.5916911Z ✔ keep-system-awake controller (18.935632ms) -2026-09-27T05:32:25.5926795Z ✔ reads the newest anchor on the active route (1.320954ms) -2026-09-27T05:32:25.5929124Z ✔ scans past an anchorless usage row, which is what manual compaction writes (0.303533ms) -2026-09-27T05:32:25.5939762Z ✔ refuses an anchor from another model (0.242047ms) -2026-09-27T05:32:25.5941367Z ✔ refuses an anchor from another connection (0.199667ms) -2026-09-27T05:32:25.5952443Z ✔ refuses an anchor written before anchors carried their route (0.217381ms) -2026-09-27T05:32:25.5954897Z ✔ refuses when there is no active route yet (0.185074ms) -2026-09-27T05:32:25.5964973Z ✔ refuses a non-positive input count (0.143881ms) -2026-09-27T05:32:25.5966922Z ✔ catalog hydration does not replace an already-bound Session observation (1.348909ms) -2026-09-27T05:32:25.5979950Z ✔ a real Session observation authority handoff advances the revision (0.252595ms) -2026-09-27T05:32:25.6016857Z ✔ withholds live content until the current observation generation is ready (0.265648ms) -2026-09-27T05:32:25.6056241Z ✔ A → B → A does not reuse the previous ready generation (2.29674ms) -2026-09-27T05:32:25.6095305Z ✔ a recovery generation only exposes live content after that generation completes (1.847859ms) -2026-09-27T05:32:26.8132671Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:32:28.9853769Z ▶ liveContextUsageFromDiagnostics -2026-09-27T05:32:28.9908091Z ✔ maps a matching snapshot onto the gauge, window included (16.740208ms) -2026-09-27T05:32:28.9972949Z ✔ refuses a snapshot from another model or provider (0.281838ms) -2026-09-27T05:32:29.0025701Z ✔ refuses when the composer has no settled route (0.180685ms) -2026-09-27T05:32:29.0093589Z ✔ refuses unavailable or unmetered snapshots (0.211448ms) -2026-09-27T05:32:29.0134929Z ✔ stands alone without a window (0.192563ms) -2026-09-27T05:32:29.0193350Z ✔ liveContextUsageFromDiagnostics (19.231745ms) -2026-09-27T05:32:29.0215393Z ▶ createLiveContextUsageTracker -2026-09-27T05:32:29.0251831Z ✔ reads immediately when aimed at a session (8.352496ms) -2026-09-27T05:32:29.0299769Z ✔ reports nothing when there is no target (0.292827ms) -2026-09-27T05:32:29.0383605Z ✔ re-reads on ledger-changing events after the debounce, coalescing bursts (5.065132ms) -2026-09-27T05:32:29.0445899Z ✔ ignores streaming deltas (0.25256ms) -2026-09-27T05:32:29.0485466Z ✔ discards a read that answers an older question (0.307445ms) -2026-09-27T05:32:29.0515422Z ✔ discards an in-flight read invalidated by a newer event (0.25908ms) -2026-09-27T05:32:29.0585521Z ✔ keeps the last value when a read fails (0.228601ms) -2026-09-27T05:32:29.0619519Z ✔ clears the previous target’s reading before the first read on a new one (0.320318ms) -2026-09-27T05:32:29.0671159Z ✔ keeps the standing value when re-aimed at the same target (0.378871ms) -2026-09-27T05:32:29.0756310Z ✔ clears immediately and drops in-flight reads when the target goes away (0.249064ms) -2026-09-27T05:32:29.0808626Z ✔ drops a read in flight for a session the user has left (0.355804ms) -2026-09-27T05:32:29.0885789Z ✔ re-evaluates the same session when the route changes (0.219723ms) -2026-09-27T05:32:29.0915623Z ✔ cancels a scheduled refresh and drops in-flight reads on dispose (0.184931ms) -2026-09-27T05:32:29.0965696Z ✔ createLiveContextUsageTracker (21.300574ms) -2026-09-27T05:32:29.1230281Z ✔ retains an extended bounded tail of main-process logs (62.006825ms) -2026-09-27T05:32:29.1277599Z ✔ formats one redacted Desktop and Runtime Host diagnostic report (4.613226ms) -2026-09-27T05:32:29.1295908Z ✔ names the update channel, which buildMode alone cannot distinguish (2.316158ms) -2026-09-27T05:32:29.1395713Z ✔ bounds renderer diagnostic text and rejects unknown fields (30.489865ms) -2026-09-27T05:32:29.1481318Z ✔ accepts only a Runtime Host target and renderer context for capture (3.048752ms) -2026-09-27T05:32:29.1498952Z ✔ formats a manual capture without inventing an error (3.658934ms) -2026-09-27T05:32:29.1633899Z ✔ copies Desktop diagnostics while Runtime Host is unavailable (3.305513ms) -2026-09-27T05:32:29.1710312Z ✔ acknowledges one previous-run notice while keeping its diagnostics copyable (0.787849ms) -2026-09-27T05:32:29.1757320Z ✔ copies Desktop diagnostics while the scoped Host is reconnecting (3.288061ms) -2026-09-27T05:32:29.1815950Z ✔ keeps renderer-only error diagnostics Desktop-only (7.013193ms) -2026-09-27T05:32:29.1885760Z ✔ copies task error diagnostics without Host evidence when its scope is unavailable (0.86728ms) -2026-09-27T05:32:29.1908202Z ✔ copies bounded evidence for the exact failed Turn (4.14491ms) -2026-09-27T05:32:29.1934328Z ✔ keeps every diagnostic read bound to the scoped Host during a switch (4.251426ms) -2026-09-27T05:32:29.1945575Z ✔ copies manual Desktop diagnostics without an active Runtime Host (1.20678ms) -2026-09-27T05:32:29.1946640Z ✔ copies diagnostics from the Runtime Host that owns the current task (0.715117ms) -2026-09-27T05:32:29.1947780Z ✔ keeps targeted manual capture Desktop-only when the task Host is unavailable (4.144365ms) -2026-09-27T05:32:29.1948906Z ✔ rejects a default diagnostic request that carries a task Host scope (0.399404ms) -2026-09-27T05:32:29.1949845Z ✔ rejects Desktop-only diagnostics that carry a Host scope (0.589661ms) -2026-09-27T05:32:29.1950803Z ✔ rejects the copy request when the main-process clipboard write fails (0.472727ms) -2026-09-27T05:32:29.1951674Z ✔ copies startup diagnostics without requiring a renderer (0.512699ms) -2026-09-27T05:32:29.1952558Z ✔ recovers one bounded redacted snapshot after an unclean exit (84.881023ms) -2026-09-27T05:32:29.1953653Z ✔ debounces the first snapshot and rate-limits a continuing log stream (26.881017ms) -2026-09-27T05:32:29.1954920Z ✔ flushes an uncaught JavaScript failure without intercepting process exit (12.27546ms) -2026-09-27T05:32:29.1975239Z ✔ persists only the bounded newest log tail (114.067738ms) -2026-09-27T05:32:29.1976244Z ✔ retains a newly discovered interruption and expires pending evidence after seven days (10.833456ms) -2026-09-27T05:32:29.1977311Z ✔ ignores corrupt pending records without amplifying invalid log arrays (14.06862ms) -2026-09-27T05:32:29.1978214Z ✔ refuses to read a symlinked recovery record (4.974024ms) -2026-09-27T05:32:29.1978937Z [main] failed to clear dev renderer HTTP cache: Error: cache locked -2026-09-27T05:32:29.1980071Z at Object.clearCache (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/main-renderer-dev-cache.test.js:39:40) -2026-09-27T05:32:29.1981640Z at clearDevRendererHttpCache (file:///home/runner/work/maka/maka/apps/desktop/dist/main/main-renderer-dev-cache.js:30:23) -2026-09-27T05:32:29.2155868Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/main-renderer-dev-cache.test.js:41:32) -2026-09-27T05:32:29.2235545Z at Test.runInAsyncScope (node:async_hooks:227:14) -2026-09-27T05:32:29.2302531Z at Test.run (node:internal/test_runner/test:1402:25) -2026-09-27T05:32:29.2372324Z at Suite.processPendingSubtests (node:internal/test_runner/test:974:18) -2026-09-27T05:32:29.2421856Z at Test.postRun (node:internal/test_runner/test:1542:19) -2026-09-27T05:32:29.2475713Z at Test.run (node:internal/test_runner/test:1467:12) -2026-09-27T05:32:29.2505440Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:32:29.2586279Z ▶ dev renderer HTTP cache hygiene (issue #4775) -2026-09-27T05:32:29.2605786Z ✔ clears the session HTTP cache before loading a Vite dev server (3.640297ms) -2026-09-27T05:32:29.2645612Z ✔ leaves the cache alone for packaged file:// builds (0.260326ms) -2026-09-27T05:32:29.2675594Z ✔ downgrades a clearCache failure to a warning instead of blocking load (7.816658ms) -2026-09-27T05:32:29.2732704Z ✔ dev renderer HTTP cache hygiene (issue #4775) (19.85248ms) -2026-09-27T05:32:29.2734064Z ✔ observes one unexpected main Renderer exit while the app is running (4.746752ms) -2026-09-27T05:32:29.2754634Z ✔ ignores clean exits and app shutdown (0.389473ms) -2026-09-27T05:32:29.2771031Z ✔ accepts first-paint readiness only from the frame committed by this reload (2.666547ms) -2026-09-27T05:32:29.2842794Z ✔ keeps recovery active when a Renderer reload fails, exits, or stops responding (4.001053ms) -2026-09-27T05:32:29.2862266Z ✔ bounds a Renderer reload that emits no terminal event (10.017192ms) -2026-09-27T05:32:29.2962997Z ✔ retains process lifetime before a standalone startup dialog can close (4.231246ms) -2026-09-27T05:32:29.2997690Z ✔ registers one shared quit cleanup before the initial Host handoff (0.503028ms) -2026-09-27T05:32:29.3040018Z ✔ mounts the handoff overlay inside the locale providers (0.228101ms) -2026-09-27T05:32:29.3065797Z ✔ creates the main window before starting Local Host reconciliation (0.278905ms) -2026-09-27T05:32:29.3093891Z ✔ does not release renderer IPC before persistent handlers are registered (0.355276ms) -2026-09-27T05:32:29.3125605Z ✔ resolves persisted locale before first post-settings recovery prompt (0.278719ms) -2026-09-27T05:32:29.3155673Z ✔ lets the Runtime Host migrate its State Root before Desktop opens shared tables (0.642265ms) -2026-09-27T05:32:29.3157071Z ✔ routes the first-paint IPC only to the active Renderer recovery listener (0.433924ms) -2026-09-27T05:32:29.3186353Z ✔ retires the launch overlay only when a surface marks ready content (4.358325ms) -2026-09-27T05:32:29.3215624Z ✔ dragover: session payload reaches a project target through the window guard (6.924261ms) -2026-09-27T05:32:29.3275647Z ✔ dragover: files and foreign text remain blocked on project targets (3.386774ms) -2026-09-27T05:32:29.3277001Z ✔ dragover: session drops outside a move target remain blocked (1.80836ms) -2026-09-27T05:32:29.3304271Z ✔ dragover: attachment and queue drop routes remain available (3.028922ms) -2026-09-27T05:32:29.3335640Z ✔ drop: session payload reaches a project target through the window guard (4.074387ms) -2026-09-27T05:32:29.3348832Z ✔ drop: files and foreign text remain blocked on project targets (2.30855ms) -2026-09-27T05:32:29.3387065Z ✔ drop: session drops outside a move target remain blocked (4.91387ms) -2026-09-27T05:32:29.3425741Z ✔ drop: attachment and queue drop routes remain available (5.105066ms) -2026-09-27T05:32:29.3468426Z ▶ main window Chromium permission policy -2026-09-27T05:32:29.3551269Z ✔ allows top-level clipboard writes from the product renderer (1.083508ms) -2026-09-27T05:32:29.3595774Z ✔ denies media, subframes, auxiliary windows, and unrelated permissions (1.658429ms) -2026-09-27T05:32:29.3685819Z ✔ keeps clipboard writes gated to the trusted top-level renderer frame (0.288784ms) -2026-09-27T05:32:29.3686975Z ✔ trusts the dev origin and exact packaged entry without trusting arbitrary files (0.343654ms) -2026-09-27T05:32:29.3780983Z ✔ installs both Electron handlers on the renderer session (0.800838ms) -2026-09-27T05:32:29.3813118Z ✔ main window Chromium permission policy (7.995439ms) -2026-09-27T05:32:29.3835451Z ▶ Maka URI safety boundary -2026-09-27T05:32:29.3859937Z ✔ parses only supported settings and compose destinations (6.401921ms) -2026-09-27T05:32:29.3888831Z ✔ rejects malformed, case-variant, and oversized internal URIs (0.306783ms) -2026-09-27T05:32:29.3911313Z ✔ rejects widened settings, compose, and action namespaces (2.803651ms) -2026-09-27T05:32:29.3920879Z ✔ flags case-variant internal candidates without allowing navigation (0.345944ms) -2026-09-27T05:32:29.3921806Z ✔ allows only explicit external schemes (1.498596ms) -2026-09-27T05:32:29.3922508Z ✔ Maka URI safety boundary (17.029964ms) -2026-09-27T05:32:29.3923526Z ✔ serves exact registered bytes over loopback without claiming a browser load (134.027055ms) -2026-09-27T05:32:29.3924890Z ✔ isolates leases by origin and rejects credentials for another preview (68.445589ms) -2026-09-27T05:32:29.3926007Z ✔ expires and closes its listener without deleting the durable Artifact (85.24522ms) -2026-09-27T05:32:29.3927083Z ✔ rejects missing, non-HTML, oversized, inconsistent and malformed artifacts (21.31876ms) -2026-09-27T05:32:29.3928219Z ✔ close and cancellation during a stream cannot publish a live endpoint (9.549606ms) -2026-09-27T05:32:29.3929283Z ✔ bounds concurrent preparations before allocating buffers or ports (105.259761ms) -2026-09-27T05:32:29.3930406Z ✔ tool binds to the admitted session and returns endpoint evidence only (19.255418ms) -2026-09-27T05:32:29.3931235Z ▶ managed skill sources -2026-09-27T05:32:29.3932137Z ✔ resolves the global source cache under .maka without making it a runtime path (1.14176ms) -2026-09-27T05:32:29.3933220Z ✔ imports a local SKILL.md into a managed source cache (67.336141ms) -2026-09-27T05:32:29.3968610Z ✔ lists managed sources from the real SKILL.md instead of stale registry metadata (12.145949ms) -2026-09-27T05:32:29.3975433Z ✔ keeps readable managed sources when one source fails to read (4.031465ms) -2026-09-27T05:32:29.4032219Z ✔ rejects symlinked managed source cache roots before writing (3.806962ms) -2026-09-27T05:32:29.4080759Z ✔ rejects invalid or duplicate managed sources (9.495788ms) -2026-09-27T05:32:29.4107387Z ✔ managed skill sources (108.165342ms) -2026-09-27T05:32:29.8562147Z ▶ MCP command line parsing -2026-09-27T05:32:29.8585251Z ✔ splits on whitespace without shell interpretation (2.096181ms) -2026-09-27T05:32:29.8586665Z ✔ groups quoted spans, including mid-token quotes (0.321499ms) -2026-09-27T05:32:29.8587496Z ✔ reports unbalanced quotes instead of guessing (0.201865ms) -2026-09-27T05:32:29.8623062Z ✔ round-trips config command and args through format and parse (0.522478ms) -2026-09-27T05:32:29.8735960Z ✔ MCP command line parsing (4.793454ms) -2026-09-27T05:32:30.5180406Z ✔ converts a legacy transcript larger than one page without reading it whole (5561.041828ms) -2026-09-27T05:32:30.7107283Z ▶ MCP editor validation -2026-09-27T05:32:30.7190937Z ✔ requires an issuer for a pre-registered OAuth client (2.032457ms) -2026-09-27T05:32:30.7239557Z ✔ requires a server id and the selected transport endpoint (0.34992ms) -2026-09-27T05:32:30.7395913Z ✔ accepts a full command line and rejects unbalanced quotes (0.428132ms) -2026-09-27T05:32:30.7422478Z ✔ accepts only HTTP(S) URLs for remote servers (0.413643ms) -2026-09-27T05:32:30.7545780Z ✔ MCP editor validation (5.015025ms) -2026-09-27T05:32:31.8196701Z ✔ keeps an interrupted Turn parked until the required MCP contract is restored (6514.929455ms) -2026-09-27T05:32:31.8224936Z ✔ Maka ACP child process (83462.520626ms) -2026-09-27T05:32:31.9661021Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:32:31.9697289Z ▶ ACP Goal/Plan real Host routes -2026-09-27T05:32:31.9713362Z ✔ cancel stops the exact Plan Turn and close/EOF release its attachment (9665.872706ms) -2026-09-27T05:32:31.9753783Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:32:31.9770336Z ✔ load reuses an active Plan observer across retries, cancellation and close (7953.000238ms) -2026-09-27T05:32:31.9833877Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:32:31.9870657Z ✔ resume reuses an active Plan observer across retries, cancellation and close (8083.902883ms) -2026-09-27T05:32:31.9913251Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:32:31.9929785Z ✔ Plan paging preserves storeVersion and returns revision_changed after an external write (24757.21814ms) -2026-09-27T05:32:31.9938720Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:32:31.9975338Z ✔ Goal arm is passive and a prompt enables observable Host continuation (6023.524169ms) -2026-09-27T05:32:32.0011402Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:32:32.0018379Z ✔ submits and executes a Plan through the model, ACP, and real Host (12707.595515ms) -2026-09-27T05:32:32.0028832Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:32:32.0063719Z ✔ owns, arms, queries and controls a Goal while observing domain state (3721.290536ms) -2026-09-27T05:32:32.0069800Z ✔ ACP Goal/Plan real Host routes (72914.847111ms) -2026-09-27T05:32:32.0096288Z ✔ dispatched Goal arm keeps its observation and never infers success from equal content (9.154439ms) -2026-09-27T05:32:32.0104536Z ✔ Plan start preserves the caller turnId on a lost result and queries admission once (2.34822ms) -2026-09-27T05:32:32.0106888Z ✔ definite Plan control conflict rolls back without changing operation identity (0.609638ms) -2026-09-27T05:32:32.0136142Z ▶ ACP prompt content -2026-09-27T05:32:32.0140342Z ✔ rejects a FIFO without blocking the process (756.652963ms) -2026-09-27T05:32:32.0142488Z ✔ joins ordered text blocks with paragraph separators (6.393053ms) -2026-09-27T05:32:32.0166882Z ✔ maps an ordinary local resource link to an external-file attachment (32.978702ms) -2026-09-27T05:32:32.0174200Z ✔ keeps a resource-only prompt model-visible while its display text is empty (10.658896ms) -2026-09-27T05:32:32.0177459Z ✔ rejects unadvertised content kinds and non-local or non-file resources (4.931314ms) -2026-09-27T05:32:32.0205867Z ✔ enforces the shared attachment count and size limits before admission (7.964966ms) -2026-09-27T05:32:32.0209806Z ✔ publishes bounded chunks and uses canonical Host attachment metadata in input order (14.100359ms) -2026-09-27T05:32:32.0211920Z ✔ aborts an open Artifact upload when a chunk is cancelled (8.365059ms) -2026-09-27T05:32:32.0235911Z ✔ aborts an open Artifact upload when a chunk is failed (3.520351ms) -2026-09-27T05:32:32.0244137Z ✔ rechecks the file size before opening an Artifact upload (6.216718ms) -2026-09-27T05:32:32.0245842Z ✔ ACP prompt content (855.351119ms) -2026-09-27T05:32:32.0275656Z ✔ projects the ordered ACP configuration options (17.381267ms) -2026-09-27T05:32:32.0277269Z ✔ projects canonical values and keeps reserved explore as a current value only (0.569739ms) -2026-09-27T05:32:32.0279147Z ✔ projects only the current model thinking levels and omits the switch when empty (0.341449ms) -2026-09-27T05:32:32.0312111Z ✔ validates requests and creates exact one-field patches (0.536328ms) -2026-09-27T05:32:32.0313596Z ✔ rejects unsupported config ids, boolean values, and unsupported strings (5.580977ms) -2026-09-27T05:32:32.0315408Z ✔ latest null Goal survives an in-flight notification (pending clear: false) (20.686144ms) -2026-09-27T05:32:32.0346249Z ✔ latest null Goal survives an in-flight notification (pending clear: true) (6.760307ms) -2026-09-27T05:32:32.0348873Z ✔ Goal delivery coalesces newer revisions and deduplicates only after delivery (1.158905ms) -2026-09-27T05:32:32.0374661Z ✔ duplicate Goal changes during delivery do not schedule a duplicate notification (6.132385ms) -2026-09-27T05:32:32.0381866Z ✔ a late Goal delivery cannot suppress the same snapshot in a new canonical epoch (1.088997ms) -2026-09-27T05:32:32.0383832Z ✔ dispose fences a pending Goal after delivery success (7.475586ms) -2026-09-27T05:32:32.0412127Z ✔ dispose fences a pending Goal after delivery failure (1.887813ms) -2026-09-27T05:32:32.0413610Z ✔ failed Goal delivery is logged once and retried only after another domain update (104.973628ms) -2026-09-27T05:32:32.0415978Z ✔ failed Plan delivery is logged once and retried only after another domain update (108.862641ms) -2026-09-27T05:32:32.0417787Z ✔ canonical Plan replacement rereads even when Goal is unchanged and rejects an old page (4.453012ms) -2026-09-27T05:32:32.0445368Z [acp] Plan status refresh failed: Error: temporary read failure -2026-09-27T05:32:32.0449029Z at AcpSessionDomainObservation.queryPlan (file:///home/runner/work/maka/maka/packages/cli/dist/__tests__/acp-session-domain-observation.test.js:271:23) -2026-09-27T05:32:32.0451334Z at #refreshPlan (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-domain-observation.js:110:53) -2026-09-27T05:32:32.0481928Z at #kickPlan (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-domain-observation.js:79:50) -2026-09-27T05:32:32.0491559Z at AcpSessionDomainObservation.planChanged (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-domain-observation.js:75:23) -2026-09-27T05:32:32.0515752Z at TestContext. (file:///home/runner/work/maka/maka/packages/cli/dist/__tests__/acp-session-domain-observation.test.js:279:14) -2026-09-27T05:32:32.0526067Z at Test.runInAsyncScope (node:async_hooks:227:14) -2026-09-27T05:32:32.0527909Z at Test.run (node:internal/test_runner/test:1402:25) -2026-09-27T05:32:32.0545299Z at Test.processPendingSubtests (node:internal/test_runner/test:974:18) -2026-09-27T05:32:32.0555285Z at Test.postRun (node:internal/test_runner/test:1542:19) -2026-09-27T05:32:32.0560200Z at Test.run (node:internal/test_runner/test:1467:12) -2026-09-27T05:32:32.0562154Z ✔ Plan invalidations coalesce during one read and dispose fences late delivery (8.847454ms) -2026-09-27T05:32:32.0563969Z ✔ failed initial Plan refresh retries without inventing a state notification (27.801759ms) -2026-09-27T05:32:32.0594113Z ▶ ACP Session event mapper -2026-09-27T05:32:32.0596321Z ✔ replays attachments with user text "" (9.358273ms) -2026-09-27T05:32:32.0628297Z ✔ replays attachments with user text "Read this report" (0.401509ms) -2026-09-27T05:32:32.0630035Z ✔ replay preserves non-user origin and omits unsupported steering rows (3.36189ms) -2026-09-27T05:32:32.0655576Z ✔ streams text and thinking while deduplicating matching completion events (5.165415ms) -2026-09-27T05:32:32.0665163Z ✔ rejects non-prefix revisions instead of reporting a second message or success (4.13526ms) -2026-09-27T05:32:32.0666862Z ✔ serializes canonical transcript replacement with live notifications (8.273145ms) -2026-09-27T05:32:32.0667790Z ✔ rejects a canonical message that clears already delivered thinking (2.14997ms) -2026-09-27T05:32:32.0668686Z ✔ leaves terminal classification to the Runtime Host Session channel (0.395597ms) -2026-09-27T05:32:32.0669497Z ✔ flush waits for every already accepted notification (42.585364ms) -2026-09-27T05:32:32.0670339Z ✔ prompt cancellation releases stalled notification delivery and flush (11.589724ms) -2026-09-27T05:32:32.0671447Z ✔ replaces cumulative tool content, deduplicates output sequences and preserves stream/redaction (5.096561ms) -2026-09-27T05:32:32.0672621Z ✔ an omitted result preserves live content until authoritative transcript replacement (11.185575ms) -2026-09-27T05:32:32.0673654Z ✔ result before start creates one terminal card and late start only fills identity (0.666529ms) -2026-09-27T05:32:32.0674952Z ✔ progress and preview replace a snapshot containing earlier output without ending a tool (7.226315ms) -2026-09-27T05:32:32.0675918Z ✔ marks missing live output chunks without joining their text (0.519683ms) -2026-09-27T05:32:32.0676755Z ✔ does not label projected stored inputs as complete raw input (11.22686ms) -2026-09-27T05:32:32.0677596Z ✔ uses field-appropriate markers for bounded title and previews (0.661505ms) -2026-09-27T05:32:32.0678605Z ✔ bounds live output, terminal content and raw output, including multibyte truncation (15.275365ms) -2026-09-27T05:32:32.0679727Z ✔ enforces the aggregate live-tool budget with a sticky projection failure (25.97237ms) -2026-09-27T05:32:32.0680737Z ✔ requires the authoritative result promised by an omitted terminal event (4.553605ms) -2026-09-27T05:32:32.0681646Z ✔ a completed turn leaves a resultless started tool interrupted (0.47262ms) -2026-09-27T05:32:32.0682608Z ✔ notification failure remains visible through flush and suppresses later delivery (0.455792ms) -2026-09-27T05:32:32.0683697Z ✔ keeps only bounded terminal identities and rejects the next distinct tool (431.038428ms) -2026-09-27T05:32:32.0685010Z ✔ repeated authoritative results and stale omitted events do not repeat terminal content (0.344619ms) -2026-09-27T05:32:32.0686067Z ✔ a corrected tool result removes an obsolete Artifact reference (0.700471ms) -2026-09-27T05:32:32.0686996Z ✔ an missing archived result does not advertise a readable Artifact (0.276922ms) -2026-09-27T05:32:32.0687914Z ✔ an corrupt archived result does not advertise a readable Artifact (2.899483ms) -2026-09-27T05:32:32.0689012Z ✔ interaction updates preserve Host closure reasons without reopening terminal tools (0.831285ms) -2026-09-27T05:32:32.0689894Z ✔ ACP Session event mapper (618.133029ms) -2026-09-27T05:32:32.0690397Z ▶ ACP Session interactions -2026-09-27T05:32:32.0691142Z ✔ official SDK routes carry typed forms and Session-scoped permission choices (63.658104ms) -2026-09-27T05:32:32.0692281Z ✔ official SDK question schema only advertises answers that fit the Host UTF-8 limit (12.505343ms) -2026-09-27T05:32:32.0693461Z ✔ three schema-valid question answers fit the serialized Host limit after JSON escaping (3.641182ms) -2026-09-27T05:32:32.0766707Z ✔ questions preserve option hints, free text and individual unanswered questions (0.896974ms) -2026-09-27T05:32:32.0768030Z ✔ form schemas preserve all field types and constrain accepted values without coercion (0.992989ms) -2026-09-27T05:32:32.0769053Z ✔ form decline and cancel remain distinct and never submit content or defaults (3.299682ms) -2026-09-27T05:32:32.0769945Z ✔ question decline submits unanswered while cancel stops the Turn (0.855199ms) -2026-09-27T05:32:32.0770994Z ✔ rejects invalid typed forms, unknown fields and oversized Unicode answers before Host mutation (5.31018ms) -2026-09-27T05:32:32.0772085Z ✔ permission options bind opaque identifiers to the exact Session capability target (0.66547ms) -2026-09-27T05:32:32.0773453Z ✔ sandbox permissions display exact expansion and preserve Host conflict outcomes (0.601376ms) -2026-09-27T05:32:32.0774822Z ✔ permission cancellation stops the exact Turn and never becomes a denial (0.347216ms) -2026-09-27T05:32:32.0775863Z ✔ legacy permission choices preserve one-shot and Turn-scoped decisions (3.88946ms) -2026-09-27T05:32:32.0776796Z ✔ unadvertised elicitation fails without synthetic answers (0.39692ms) -2026-09-27T05:32:32.0777802Z ✔ an old permission already closed by Host recovery is observed without a dialog (0.264395ms) -2026-09-27T05:32:32.0778892Z ✔ deduplicates pending replay and publishes one authoritative external answer (0.704026ms) -2026-09-27T05:32:32.0780016Z ✔ late conflicting Host answers re-query canonical closure without failing the Turn (3.094824ms) -2026-09-27T05:32:32.0781058Z ✔ close and Turn cancellation release a client that ignores cancellation and late replies (0.592335ms) -2026-09-27T05:32:32.0782231Z ✔ closing while card delivery is blocked releases local work and sends no client request (0.401216ms) -2026-09-27T05:32:32.0783333Z ✔ Turn cancellation releases reconciliation and notification delivery that have stalled (0.913938ms) -2026-09-27T05:32:32.0784572Z ✔ unknown permission choices and unrecognized elicitation actions fail instead of granting (3.670607ms) -2026-09-27T05:32:32.0785533Z ✔ Host identities and failures cannot silently rebind a pending request (0.566941ms) -2026-09-27T05:32:32.0786280Z ✔ ACP Session interactions (111.024256ms) -2026-09-27T05:32:32.1605454Z ✔ ACP stdio configuration copies cwd, arguments and explicit environment into the existing MCP model (4.684709ms) -2026-09-27T05:32:32.1626601Z ✔ Session MCP reconfiguration reuses equivalent processes and applies replacement and empty scope (2934.373522ms) -2026-09-27T05:32:32.1653987Z ✔ reconfiguring one Session keeps another Session MCP provider callable (3450.348194ms) -2026-09-27T05:32:32.1692519Z ✔ failed Session MCP replacement restores the previous published configuration (1447.817615ms) -2026-09-27T05:32:32.1694855Z ✔ an active Turn conflict leaves the existing MCP process and publication intact (1473.883682ms) -2026-09-27T05:32:32.1726877Z ✔ a Turn admitted after the idle query cannot lose its previous MCP provider (2852.638575ms) -2026-09-27T05:32:32.1752166Z ✔ close during a staged replacement closes both MCP processes (2716.58404ms) -2026-09-27T05:32:32.1776788Z ✔ authoritative retirement during a staged replacement closes both MCP processes (2688.67031ms) -2026-09-27T05:32:32.1778275Z ✔ a cancelled replacement retains a committed provider when another Turn becomes active (2774.325252ms) -2026-09-27T05:32:32.1779760Z ✔ an unknown replacement outcome keeps both processes until reconnect confirms the new provider (3001.671757ms) -2026-09-27T05:32:32.1781010Z ✔ Session MCP readiness waits for an in-flight replacement publication (1348.436295ms) -2026-09-27T05:32:32.1782245Z ✔ invalid ACP stdio configurations fail as invalid params before resource preparation (1.395154ms) -2026-09-27T05:32:32.1783675Z ✔ Session preparation waits for scoped publication and reconnect reuses its MCP processes (963.154724ms) -2026-09-27T05:32:32.1785264Z ✔ authoritative retirement of the current Session registration closes its MCP process (1055.486857ms) -2026-09-27T05:32:32.1786529Z ✔ authoritative retirement makes an in-flight local close succeed (1455.466023ms) -2026-09-27T05:32:32.1787823Z ✔ one failed MCP discovery closes every prepared server without publishing a partial group (1853.290218ms) -2026-09-27T05:32:32.1789100Z ✔ a crashed MCP server withdraws its tools without blocking later prompts (1750.684339ms) -2026-09-27T05:32:32.1790298Z ✔ a Session remains ready when its only MCP server crashes and all tools withdraw (1233.327471ms) -2026-09-27T05:32:32.1791593Z ✔ a server crash while disconnected publishes an empty scope before Host prompt admission (1580.710601ms) -2026-09-27T05:32:32.1792918Z ✔ abort during MCP startup closes the child before preparation completes (815.315368ms) -2026-09-27T05:32:32.1794697Z ✔ failed Host publication fails preparation and releases discovered MCP processes (1220.654397ms) -2026-09-27T05:32:32.6586747Z ✔ keeps interleaved turns through their final state across a page boundary (2133.678316ms) -2026-09-27T05:32:32.7237672Z ✔ Desktop modern MCP accept travels through the canonical Host form and back to the server (2044.027387ms) -2026-09-27T05:32:33.2436314Z ✔ Desktop modern MCP decline travels through the canonical Host form and back to the server (523.770377ms) -2026-09-27T05:32:33.3939173Z ✔ ready aborts locally while a reconnect publication is pending and close awaits withdrawal (1232.378701ms) -2026-09-27T05:32:33.8296515Z ✔ Desktop modern MCP cancel travels through the canonical Host form and back to the server (589.131083ms) -2026-09-27T05:32:34.3026538Z ✔ Desktop handles a second MCP question as a new canonical Host form (471.508683ms) -2026-09-27T05:32:34.4136707Z ✔ a dispatched create with unknown outcome retains its published MCP scope until the returned Session is closed (1017.655975ms) -2026-09-27T05:32:34.5601370Z ✔ Desktop stop closes a pending modern MCP Host form without a user answer or retry (257.678135ms) -2026-09-27T05:32:34.8953623Z ✔ Desktop disconnect closes a pending modern MCP Host form without a user answer or retry (331.614049ms) -2026-09-27T05:32:35.2155543Z ✔ Desktop provider loss closes a pending modern MCP Host form without a user answer or retry (321.987277ms) -2026-09-27T05:32:35.2449318Z ✔ a known Host create failure withdraws the already prepared scope and leaves no Session ownership (832.253984ms) -2026-09-27T05:32:35.2666601Z ✔ MCP remove reconciles a live manager after the real store publishes then fails directory sync (775.686943ms) -2026-09-27T05:32:35.2696629Z ✔ MCP update reconciles the reread authority including an intervening writer without replaying its mutation (51.571625ms) -2026-09-27T05:32:35.2754029Z ✔ MCP published write explicitly reports out-of-sync when reconciliation read fails (21.813281ms) -2026-09-27T05:32:35.2767508Z ✔ MCP published write explicitly reports out-of-sync when reconciliation sync fails (20.613673ms) -2026-09-27T05:32:35.2834654Z ✔ MCP published write explicitly reports out-of-sync when reconciliation emit fails (13.491674ms) -2026-09-27T05:32:35.2883535Z ✔ MCP pre-publication failure does not reconcile or retry the failed mutation (7.62311ms) -2026-09-27T05:32:35.2955807Z ✔ MCP IPC commits config before publishing capabilities and emitting status (13.218572ms) -2026-09-27T05:32:35.3023334Z ✔ MCP remove aborts before touching the config when credential deletion fails (1.369571ms) -2026-09-27T05:32:35.3057274Z ✔ MCP IPC redacts clientSecret toward the renderer and restores the sentinel from disk (5.903363ms) -2026-09-27T05:32:35.3095520Z ✔ an active login on a secret-bearing server does not veto edits to another server (1.185687ms) -2026-09-27T05:32:35.3185831Z ✔ a URL change retires the old endpoint credentials before the write, and an erase failure aborts it (13.90954ms) -2026-09-27T05:32:35.3187679Z ✔ a login claim travels the shared lane and cannot land inside an open transaction (17.430336ms) -2026-09-27T05:32:35.3189276Z ✔ the config commit applies its mutation to the transaction snapshot (0.68171ms) -2026-09-27T05:32:35.3190568Z ✔ MCP config commit is not rolled back by a capability publication failure (1.890055ms) -2026-09-27T05:32:35.3195018Z ✔ an edit from an older copy writes nothing, and a toggle keeps a change made elsewhere (125.228895ms) -2026-09-27T05:32:35.3196369Z ✔ a change another process makes to mcp.json reaches the manager until unregistered (780.890096ms) -2026-09-27T05:32:35.3197571Z ✔ following never leaves the manager on a copy older than the last one read (28.147352ms) -2026-09-27T05:32:35.3225697Z ✔ following another process never holds a login claim behind a slow connect (189.645219ms) -2026-09-27T05:32:35.6850830Z ✔ controller login drives browser round-trip to a connected server (461.312774ms) -2026-09-27T05:32:35.6887420Z ✔ an OAuth error callback is issuer-validated before its error is accepted (57.425451ms) -2026-09-27T05:32:35.6966553Z ✔ resumeLogin rebinds the persisted callback port and completes the round (164.575442ms) -2026-09-27T05:32:35.7052748Z ✔ resumeLogin resolves undefined when the persisted port is already taken (78.451018ms) -2026-09-27T05:32:35.7128273Z ✔ login refuses a cleartext non-loopback authorization URL without opening it (3.7523ms) -2026-09-27T05:32:35.7196086Z ✔ a reflected error_description never crosses into the login rejection (65.66434ms) -2026-09-27T05:32:35.7229243Z ✔ an unregistered callback error code is generalized before crossing IPC (65.246072ms) -2026-09-27T05:32:35.7230318Z ✔ controller rejects a forged callback state and an OAuth error response (55.57638ms) -2026-09-27T05:32:35.7231337Z ✔ a hung readiness gate or store lookup cannot outlive the round deadline (244.622042ms) -2026-09-27T05:32:35.7232290Z ✔ cancelling a round releases the guard and clears the pending state (1.482245ms) -2026-09-27T05:32:35.7233245Z ✔ a hung terminal-failure cleanup cannot park the login rejection (123.248428ms) -2026-09-27T05:32:35.7235536Z ✔ a timed-out logout aborts the in-flight credential clear (61.859298ms) -2026-09-27T05:32:35.7236661Z ✔ a hung readiness gate or credential clear cannot outlive the logout deadline (123.390718ms) -2026-09-27T05:32:35.7237641Z ✔ a hung browser launch cannot outlive the round deadline (206.910867ms) -2026-09-27T05:32:35.7251770Z ✔ a hung discovery cannot hold the login guard past the deadline (104.922511ms) -2026-09-27T05:32:35.7252856Z ✔ a hung token endpoint releases the listener and the guard at the deadline (767.778664ms) -2026-09-27T05:32:35.7253889Z ✔ ACP EOF during MCP startup aborts preparation before any Session create dispatch (469.808926ms) -2026-09-27T05:32:35.8069147Z ▶ ACP Session registry -2026-09-27T05:32:35.8139954Z ✔ does not replay a dispatched Memory mutation after Host connection loss (7.170159ms) -2026-09-27T05:32:35.8202997Z ✔ close aborts a possibly opened Artifact after its dispatched response is lost (1.445571ms) -2026-09-27T05:32:35.8255929Z ✔ Session close waits for a dispatched Artifact begin and aborts its staged upload (32.387921ms) -2026-09-27T05:32:35.8311395Z ✔ a conflicting replay does not hide an earlier open Artifact from Session close (4.519186ms) -2026-09-27T05:32:35.8335101Z ✔ a failed concurrent begin does not discard a successful begin with the same ID (1.675769ms) -2026-09-27T05:32:35.8426372Z ✔ failed Artifact commits do not exhaust an adapter-only upload limit (16.95098ms) -2026-09-27T05:32:35.8506554Z ✔ definitively rejected Artifact begins do not accumulate for Session close (16.721413ms) -2026-09-27T05:32:35.8596010Z ✔ outcome-unknown Artifact begins remain bounded and are cleaned up on close (17.246003ms) -2026-09-27T05:32:35.8639807Z ✔ expired Artifact identities are aborted before the tracking limit rejects a new upload (12.89908ms) -2026-09-27T05:32:35.8764301Z ✔ expired-upload cleanup finishes before a concurrent begin reuses that identity (same_host) (19.759344ms) -2026-09-27T05:32:35.8795184Z ✔ expired-upload cleanup finishes before a concurrent begin reuses that identity (replaced_host) (14.771469ms) -2026-09-27T05:32:35.8966415Z ✔ expired-upload cleanup finishes before a concurrent begin reuses that identity (failed_old_abort) (20.211122ms) -2026-09-27T05:32:35.9037722Z ✔ expired-upload cleanup finishes before a concurrent begin reuses that identity (lost_new_begin) (17.371883ms) -2026-09-27T05:32:35.9106011Z ✔ Host replacement releases upload identities from the previous connection (14.464786ms) -2026-09-27T05:32:35.9147736Z ✔ load failure before client replacement preserves a live prompt interaction (38.333647ms) -2026-09-27T05:32:35.9269931Z ✔ resume failure before client replacement preserves a live prompt interaction (5.984103ms) -2026-09-27T05:32:35.9325983Z ✔ retained restore preserves notification invocation order across a successor (repeat=false) (24.913676ms) -2026-09-27T05:32:35.9359108Z ✔ retained restore preserves notification invocation order across a successor (repeat=true) (13.674712ms) -2026-09-27T05:32:35.9452678Z ✔ aborted history replay restores the interaction client it replaced (62.311997ms) -2026-09-27T05:32:35.9462458Z ✔ a failed explicit resume cannot roll back a newer restore using the same context (10.31356ms) -2026-09-27T05:32:35.9523650Z ✔ overlapping failed restores return to the original prompt client (14.996387ms) -2026-09-27T05:32:35.9622291Z ✔ load reuses an attachment and adopts a Turn started before restore (10.495208ms) -2026-09-27T05:32:35.9685876Z ✔ resume reuses an attachment and adopts a Turn started before restore (10.641865ms) -2026-09-27T05:32:35.9806249Z ✔ loads durable history, returns configuration, and retains attachment for prompt (22.154413ms) -2026-09-27T05:32:35.9861912Z ✔ close wins a held load catalog read without opening an attachment (4.15168ms) -2026-09-27T05:32:35.9937131Z ✔ load waits for an in-flight close before restoring the Session (7.032417ms) -2026-09-27T05:32:36.0106370Z ✔ load scans every correlated transcript page in order (8.291999ms) -2026-09-27T05:32:36.0156388Z ✔ retry after a partial history delivery resumes without repeating accepted chunks (6.149353ms) -2026-09-27T05:32:36.0279414Z ✔ history replay omits live output when streaming starts during load (6.031182ms) -2026-09-27T05:32:36.0344806Z ✔ history replay omits live output when streaming starts before load (6.24511ms) -2026-09-27T05:32:36.0375690Z ✔ load replays a prefix that resume seeded without delivering (8.688139ms) -2026-09-27T05:32:36.0480596Z ✔ load rejects missing, archived, and mismatched Sessions before ownership or attachment (4.655259ms) -2026-09-27T05:32:36.0535848Z ✔ resume attaches to an existing live Turn without replaying history or starting it (5.772088ms) -2026-09-27T05:32:36.0636056Z ✔ restore reports completed during readiness with next Turn none (3.89402ms) -2026-09-27T05:32:36.0695750Z ✔ restore reports completed during readiness with next Turn running (7.569269ms) -2026-09-27T05:32:36.0758577Z ✔ restore reports completed during readiness with next Turn completed (5.268077ms) -2026-09-27T05:32:36.0905940Z ✔ restore reports failed during readiness with next Turn none (13.044376ms) -2026-09-27T05:32:36.1025969Z ✔ restore reports failed during readiness with next Turn running (7.703301ms) -2026-09-27T05:32:36.1082631Z ✔ restore reports failed during readiness with next Turn completed (10.670631ms) -2026-09-27T05:32:36.1195776Z ✔ restore reports cancelled during readiness with next Turn none (7.847536ms) -2026-09-27T05:32:36.1269689Z ✔ restore reports cancelled during readiness with next Turn running (8.324204ms) -2026-09-27T05:32:36.1307088Z ✔ restore reports cancelled during readiness with next Turn completed (7.681896ms) -2026-09-27T05:32:36.1356168Z ✔ resume restores a pending interaction on the attached Turn (16.057491ms) -2026-09-27T05:32:36.1392688Z ✔ load finishes historical delivery before releasing an existing live Turn (9.413959ms) -2026-09-27T05:32:36.1547269Z ✔ load does not redeliver a live chunk already included in historical replay (5.684971ms) -2026-09-27T05:32:36.1554206Z ✔ failed historical hydration releases the newly opened attachment (19.40178ms) -2026-09-27T05:32:36.1595935Z ✔ failed load of an owned unattached Session releases only its new subscription (5.729137ms) -2026-09-27T05:32:36.1627787Z ✔ failed live history load releases its observer without stopping the existing Host Turn (8.715182ms) -2026-09-27T05:32:36.1655900Z ✔ unsupported restored interaction leaves its Host Turn pending (11.036549ms) -2026-09-27T05:32:36.1677256Z ✔ restored unsupported-method leaves the Host Turn pending without answering (7.956289ms) -2026-09-27T05:32:36.1684372Z ✔ restored invalid-answer leaves the Host Turn pending without answering (10.751828ms) -2026-09-27T05:32:36.1719132Z ✔ restored output-failure leaves the Host Turn pending without answering (7.762481ms) -2026-09-27T05:32:36.1735672Z ✔ cancelling a restored Turn fences a late answer after Stop fails (14.221334ms) -2026-09-27T05:32:36.1765615Z ✔ cancelling a restored permission fences its late selection (9.18523ms) -2026-09-27T05:32:36.1806668Z ✔ load refuses an MCP change while the Host reports an active Turn (1932.365382ms) -2026-09-27T05:32:36.1837116Z [acp] Attached Turn observation failed: Error: Client output failed -2026-09-27T05:32:36.1861146Z at Object.notify (file:///home/runner/work/maka/maka/packages/cli/dist/__tests__/acp-session-registry.test.js:2482:27) -2026-09-27T05:32:36.1906737Z at Object.notify (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-registry.js:1269:35) -2026-09-27T05:32:36.1922344Z at AcpSessionEventMapper.notify (file:///home/runner/work/maka/maka/packages/cli/dist/acp/turn-observation.js:49:35) -2026-09-27T05:32:36.1989814Z at #deliver (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:178:38) -2026-09-27T05:32:36.2015570Z at #acceptText (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:173:28) -2026-09-27T05:32:36.2046361Z at file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:47:43 -2026-09-27T05:32:36.2085626Z at file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:188:30 -2026-09-27T05:32:36.2115683Z ✔ explicit Turn resume observes before Host admission and reports terminal status (5.933586ms) -2026-09-27T05:32:36.2129099Z [acp] Attached Turn observation failed: Error: Client output failed -2026-09-27T05:32:36.2145573Z at Object.notify (file:///home/runner/work/maka/maka/packages/cli/dist/__tests__/acp-session-registry.test.js:2482:27) -2026-09-27T05:32:36.2175529Z at Object.notify (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-registry.js:1269:35) -2026-09-27T05:32:36.2202355Z at AcpSessionEventMapper.notify (file:///home/runner/work/maka/maka/packages/cli/dist/acp/turn-observation.js:49:35) -2026-09-27T05:32:36.2235601Z at #deliver (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:178:38) -2026-09-27T05:32:36.2245495Z at #acceptText (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:173:28) -2026-09-27T05:32:36.2275412Z at file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:47:43 -2026-09-27T05:32:36.2305297Z at file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:188:30 -2026-09-27T05:32:36.2330188Z ✔ close waits for an explicit resume failure Stop (13.59644ms) -2026-09-27T05:32:36.2345765Z ✔ dispose waits for an explicit resume failure Stop (5.560755ms) -2026-09-27T05:32:36.2385770Z ✔ explicit Turn resume returns a Host parked plan without opening a subscription (0.928983ms) -2026-09-27T05:32:36.2465709Z ✔ a lost dispatched Turn resume response retains its exact target identity (4.36541ms) -2026-09-27T05:32:36.2566201Z ✔ a rejected Turn resume releases its idle Session for a changed MCP load (2785.855259ms) -2026-09-27T05:32:36.2595719Z ✔ attached Turn reports completed after output when a next Turn starts (7.498773ms) -2026-09-27T05:32:36.2625656Z ✔ attached Turn reports failed after output when a next Turn starts (5.887969ms) -2026-09-27T05:32:36.2627021Z ✔ attached Turn reports cancelled after output when a next Turn starts (4.985753ms) -2026-09-27T05:32:36.2655989Z ✔ cancel fences an in-flight explicit resume and Stops the admitted Turn (6.026838ms) -2026-09-27T05:32:36.2685968Z ✔ copy-source query requires ownership, forwards bounded paging, and captures revision before reading Turns (0.981043ms) -2026-09-27T05:32:36.2715853Z ✔ committed branch and revision targets are immediately owned; retained and abandoned remain distinct (1.674723ms) -2026-09-27T05:32:36.2736277Z ✔ copy retries an unknown dispatch and does not claim an unverified target (4.377719ms) -2026-09-27T05:32:36.2755579Z ✔ copy claims a target only after its exact retry confirms a commit (1.492161ms) -2026-09-27T05:32:36.2785789Z ✔ does not connect when disposed before a Session method is used (0.253209ms) -2026-09-27T05:32:36.2816908Z ✔ reports the requested Session operation after disposal (2.206978ms) -2026-09-27T05:32:36.2845475Z ✔ does not start a queued connection after disposal begins (0.506828ms) -2026-09-27T05:32:36.2850850Z ✔ aborts an in-flight connection before disposal waits for it (5.989181ms) -2026-09-27T05:32:36.2894359Z ✔ shares one in-flight connection across concurrent Session methods (1.222259ms) -2026-09-27T05:32:36.2925756Z ✔ reports a stable connection error and retries on a later Session request (2.061468ms) -2026-09-27T05:32:36.2957637Z ✔ closes a connection that resolves after disposal starts (4.471933ms) -2026-09-27T05:32:36.2985579Z ✔ creates more than the Host subscription limit without opening a subscription (4.514509ms) -2026-09-27T05:32:36.2986850Z ✔ rejects unsupported prompt content before opening a real Session channel (0.680655ms) -2026-09-27T05:32:36.3022864Z ✔ shares a concurrent first real Session channel and consumes events before turn.start settles (73.889195ms) -2026-09-27T05:32:36.3056437Z ✔ tool reconciliation through the real Session channel handles complete (17.291539ms) -2026-09-27T05:32:36.3069823Z ✔ tool reconciliation through the real Session channel handles completed-without-result (4.381884ms) -2026-09-27T05:32:36.3095735Z ✔ tool reconciliation through the real Session channel handles notification-failure (17.634548ms) -2026-09-27T05:32:36.3125685Z ✔ tool reconciliation through the real Session channel handles cancel (5.180261ms) -2026-09-27T05:32:36.3135657Z ✔ tool reconciliation through the real Session channel handles cancel-stalled-notification (5.475163ms) -2026-09-27T05:32:36.3169462Z ✔ tool reconciliation through the real Session channel handles host-failure (7.235202ms) -2026-09-27T05:32:36.3185798Z ✔ tool reconciliation through the real Session channel handles host-abort (8.788504ms) -2026-09-27T05:32:36.3215787Z ✔ recovers mid-prompt and settles a live tool from the replacement transcript (9.413167ms) -2026-09-27T05:32:36.3245717Z ✔ reports an attached Turn terminal status across a replacement with a successor root (12.122941ms) -2026-09-27T05:32:36.3275931Z ✔ explicit cancellation wins after a notification transport failure (4.725781ms) -2026-09-27T05:32:36.3277271Z ✔ latches cancellation while the real Session subscription is opening (4.778711ms) -2026-09-27T05:32:36.3305759Z ✔ aborting load during open releases its attachment and allows retry (6.661795ms) -2026-09-27T05:32:36.3330038Z ✔ aborting load during hydrate releases its attachment and allows retry (4.640303ms) -2026-09-27T05:32:36.3355660Z ✔ aborting resume during open releases its attachment and allows retry (5.052272ms) -2026-09-27T05:32:36.3356742Z ✔ aborting resume during hydrate releases its attachment and allows retry (8.896119ms) -2026-09-27T05:32:36.3386036Z ✔ aborting resumeTurn during open releases its attachment and allows retry (7.2867ms) -2026-09-27T05:32:36.3415733Z ✔ aborting resumeTurn during hydrate releases its attachment and allows retry (10.172704ms) -2026-09-27T05:32:36.3454797Z ✔ aborting load preserves a concurrent attachment consumer before-wait (10.038364ms) -2026-09-27T05:32:36.3475575Z ✔ aborting load preserves a concurrent attachment consumer during-wait (2.057459ms) -2026-09-27T05:32:36.3496673Z ✔ aborting prompt preserves a concurrent attachment consumer before-wait (17.510041ms) -2026-09-27T05:32:36.3516987Z ✔ aborting prompt preserves a concurrent attachment consumer during-wait (7.887062ms) -2026-09-27T05:32:36.3546576Z ✔ aborting a prompt signal closes its pending initial transcript hydration (1.861265ms) -2026-09-27T05:32:36.3576346Z ✔ aborting one prompt preserves the shared initial attachment for another prompt (7.236832ms) -2026-09-27T05:32:36.3605689Z ✔ a second prompt settling cannot reopen a cancelled Turn interaction replay (8.851072ms) -2026-09-27T05:32:36.3628472Z ✔ an externally resolved interaction cannot clear a cancelled Turn fence before settlement (12.63528ms) -2026-09-27T05:32:36.3645416Z [acp] Host Stop delivery failed: Error: Stop delivery failed -2026-09-27T05:32:36.3676157Z at Object.request (file:///home/runner/work/maka/maka/packages/cli/dist/__tests__/acp-session-registry.test.js:4179:31) -2026-09-27T05:32:36.3707285Z at Object.request (file:///home/runner/work/maka/maka/packages/cli/dist/__tests__/acp-session-registry.test.js:6237:35) -2026-09-27T05:32:36.3737195Z at #stopPromptWhenObservable (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-registry.js:820:38) -2026-09-27T05:32:36.3775686Z at #cancelPrompt (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-registry.js:794:59) -2026-09-27T05:32:36.3777200Z at AbortSignal.onAbort (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-registry.js:610:36) -2026-09-27T05:32:36.3805728Z at [nodejs.internal.kHybridDispatch] (node:internal/event_target:848:20) -2026-09-27T05:32:36.3835330Z at AbortSignal.dispatchEvent (node:internal/event_target:789:26) -2026-09-27T05:32:36.3895237Z at runAbort (node:internal/abort_controller:554:10) -2026-09-27T05:32:36.3935957Z at abortSignal (node:internal/abort_controller:518:3) -2026-09-27T05:32:36.3979845Z at AbortController.abort (node:internal/abort_controller:573:5) -2026-09-27T05:32:36.4005668Z ✔ a failed Stop keeps a cancelled Turn fenced after the ACP prompt settles (13.478304ms) -2026-09-27T05:32:36.4035615Z ✔ close during real Session channel open prevents Turn admission (4.034046ms) -2026-09-27T05:32:36.4061022Z ✔ dispose during real Session channel open prevents Turn admission (3.763826ms) -2026-09-27T05:32:36.4085592Z ✔ waits for the real channel root identity before issuing exactly one turn.stop (5.401501ms) -2026-09-27T05:32:36.4108610Z ✔ shutdown stops a late admission after closing its real Session channel (9.238323ms) -2026-09-27T05:32:36.4135586Z ✔ shutdown closes the Host when an outcome-unknown query never settles (5.937953ms) -2026-09-27T05:32:36.4163489Z ✔ retries failed admission reads after healthy recovery until not_found is authoritative (24.960726ms) -2026-09-27T05:32:36.4195759Z ✔ retries failed admission reads after healthy recovery until terminal is authoritative (4.977729ms) -2026-09-27T05:32:36.4235659Z ✔ retries failed admission reads after healthy recovery until running is authoritative (7.935333ms) -2026-09-27T05:32:36.4255504Z ✔ persistent admission read failures let prompt finish (13.363259ms) -2026-09-27T05:32:36.4285524Z ✔ persistent admission read failures let cancel_and_close finish (5.42668ms) -2026-09-27T05:32:36.4286518Z ✔ close closes the real Session channel when Stop delivery fails (6.618647ms) -2026-09-27T05:32:36.4326411Z ✔ dispose closes the real Session channel when Stop delivery fails (1.338132ms) -2026-09-27T05:32:36.4345632Z ✔ retains a cancelled prompt until Stop delivery settles after a terminal event (9.178927ms) -2026-09-27T05:32:36.4355417Z [acp] Attached Turn observation failed: Error: Client notification delivery failed -2026-09-27T05:32:36.4397198Z at Object.notify (file:///home/runner/work/maka/maka/packages/cli/dist/__tests__/acp-session-registry.test.js:4724:23) -2026-09-27T05:32:36.4422035Z at Object.notify (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-registry.js:1269:35) -2026-09-27T05:32:36.4448622Z at AcpSessionEventMapper.notify (file:///home/runner/work/maka/maka/packages/cli/dist/acp/turn-observation.js:49:35) -2026-09-27T05:32:36.4462704Z at #deliver (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:178:38) -2026-09-27T05:32:36.4495564Z at #acceptText (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:173:28) -2026-09-27T05:32:36.4535406Z at file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:47:43 -2026-09-27T05:32:36.4581477Z at file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:188:30 -2026-09-27T05:32:36.4615755Z ✔ close and dispose retain an adopted Turn Stop after terminal observation (8.674995ms) -2026-09-27T05:32:36.4646404Z [acp] Attached Turn observation failed: Error: Client notification delivery failed -2026-09-27T05:32:36.4677249Z at Object.notify (file:///home/runner/work/maka/maka/packages/cli/dist/__tests__/acp-session-registry.test.js:4782:23) -2026-09-27T05:32:36.4696834Z at Object.notify (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-registry.js:1269:35) -2026-09-27T05:32:36.4715507Z at AcpSessionEventMapper.notify (file:///home/runner/work/maka/maka/packages/cli/dist/acp/turn-observation.js:49:35) -2026-09-27T05:32:36.4755673Z at #deliver (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:178:38) -2026-09-27T05:32:36.4756925Z at #acceptText (file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:173:28) -2026-09-27T05:32:36.4798647Z at file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:47:43 -2026-09-27T05:32:36.4827874Z at file:///home/runner/work/maka/maka/packages/cli/dist/acp/session-event-mapper.js:188:30 -2026-09-27T05:32:36.4888411Z [acp] Host Stop delivery failed: Error: Host connection lost during Stop -2026-09-27T05:32:36.4938808Z at TestContext. (file:///home/runner/work/maka/maka/packages/cli/dist/__tests__/acp-session-registry.test.js:4754:29) -2026-09-27T05:32:36.4999413Z at Test.runInAsyncScope (node:async_hooks:227:14) -2026-09-27T05:32:36.5035994Z at Test.run (node:internal/test_runner/test:1402:25) -2026-09-27T05:32:36.5055303Z at Suite.processPendingSubtests (node:internal/test_runner/test:974:18) -2026-09-27T05:32:36.5125384Z at Test.postRun (node:internal/test_runner/test:1542:19) -2026-09-27T05:32:36.5185750Z at Test.run (node:internal/test_runner/test:1467:12) -2026-09-27T05:32:36.5214899Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:32:36.5265784Z ✔ an adopted Turn Stop failure settles before close releases the connection (14.737498ms) -2026-09-27T05:32:36.5318709Z ✔ retires a failed real Session channel so the next prompt opens a fresh one (9.071054ms) -2026-09-27T05:32:36.5355685Z ✔ cancel stops an externally started root observed by an idle real channel (1.715309ms) -2026-09-27T05:32:36.5356735Z ✔ close stops an externally started root observed by an idle real channel (7.37649ms) -2026-09-27T05:32:36.5357848Z ✔ dispose stops an externally started root observed by an idle real channel (1.229295ms) -2026-09-27T05:32:36.5376558Z ✔ cancel retains the external root with a pending interaction when Stop succeeds (8.290485ms) -2026-09-27T05:32:36.5413989Z ✔ cancel retains the external root with a pending interaction when Stop fails (8.392595ms) -2026-09-27T05:32:36.5425880Z ✔ close retains the external root with a pending interaction when Stop succeeds (1.38391ms) -2026-09-27T05:32:36.5439824Z ✔ close retains the external root with a pending interaction when Stop fails (8.086595ms) -2026-09-27T05:32:36.5441191Z ✔ keeps a real channel prompt streaming after a failed configuration refresh (6.721128ms) -2026-09-27T05:32:36.5442383Z ✔ keeps a real channel prompt streaming after a stalled configuration refresh (10.145532ms) -2026-09-27T05:32:36.5443496Z ✔ suppresses a real channel configuration projection that finishes after close (8.131788ms) -2026-09-27T05:32:36.5459853Z ✔ closing an active real channel prompt does not wait for a stalled configuration read (6.134066ms) -2026-09-27T05:32:36.5473509Z ✔ maps real Session channel observation failures to stable ACP errors (5.362566ms) -2026-09-27T05:32:36.5495967Z ✔ returns projected configuration and owns only a representable successful create (4.083478ms) -2026-09-27T05:32:36.5575754Z ✔ omits thinking configuration when the selected model declares no levels (0.399747ms) -2026-09-27T05:32:36.5586627Z ✔ does not grant ownership by listing a Session (0.68839ms) -2026-09-27T05:32:36.5587799Z ✔ keeps failed creates unowned and returns committed IDs even for unsupported projections (6.460893ms) -2026-09-27T05:32:36.5665936Z ✔ returns the committed ID on catalog failure without admitting mutations during projection (6.280953ms) -2026-09-27T05:32:36.5696162Z ✔ rejects non-owned and invalid configuration requests before Host I/O (3.579801ms) -2026-09-27T05:32:36.5743806Z ✔ updates one configuration field with the latest revision and returns committed options (0.721981ms) -2026-09-27T05:32:36.5745291Z ✔ rereads the Session after one revision conflict before retrying (0.634031ms) -2026-09-27T05:32:36.5777217Z ✔ concurrent different-field changes converge through one-field CAS patches (7.9166ms) -2026-09-27T05:32:36.5825602Z ✔ stops after three revision conflicts without a fourth Host operation (11.012694ms) -2026-09-27T05:32:36.5838118Z ✔ rejects invalid, missing, and legacy catalog lookup results with stable errors (1.26336ms) -2026-09-27T05:32:36.5910996Z ✔ maps configuration Host failures without retrying them (12.806431ms) -2026-09-27T05:32:36.5945658Z ✔ does not start an update after disposal begins during its catalog read (5.472019ms) -2026-09-27T05:32:36.5992163Z ✔ does not reread after a held update conflicts during disposal (4.053902ms) -2026-09-27T05:32:36.6035669Z ✔ rejects unsupported creation inputs before touching Runtime Host (7.192977ms) -2026-09-27T05:32:36.6065448Z ✔ keeps failed and outcome-unknown creates distinct (0.652002ms) -2026-09-27T05:32:36.6112046Z ✔ maps one filtered Host catalog page per ACP page and carries cwd across pages (14.045913ms) -2026-09-27T05:32:36.6183297Z ✔ rejects a cursor reused with a different normalized cwd before Host I/O (3.729599ms) -2026-09-27T05:32:36.6253723Z ✔ rejects malformed and oversized ACP cursors as invalid params (1.403458ms) -2026-09-27T05:32:36.6295781Z ✔ translates stale and repeated Host cursors into stable ACP errors (9.66095ms) -2026-09-27T05:32:36.6325557Z ✔ maps Runtime Host invalid_request from session/list to invalid params (0.402442ms) -2026-09-27T05:32:36.6356880Z ✔ cancel during resource upload aborts staging without starting a Turn (25.848629ms) -2026-09-27T05:32:36.6360776Z ✔ close during resource upload aborts staging without starting a Turn (6.881903ms) -2026-09-27T05:32:36.6445810Z ✔ abort during resource upload aborts staging without starting a Turn (4.593419ms) -2026-09-27T05:32:36.6525564Z ✔ ACP Session registry (6134.727389ms) -2026-09-27T05:32:36.6585421Z ▶ Maka ACP stdio server -2026-09-27T05:32:36.6631019Z ✔ prompt through stdio handles recovery (107.403598ms) -2026-09-27T05:32:36.6682543Z ✔ prompt through stdio handles question (15.825755ms) -2026-09-27T05:32:36.6705505Z ✔ prompt through stdio handles form (9.903233ms) -2026-09-27T05:32:36.6785878Z ✔ prompt through stdio handles permission (17.394823ms) -2026-09-27T05:32:36.6841896Z ✔ prompt through stdio handles sandbox_boundary (13.971106ms) -2026-09-27T05:32:36.6871522Z ✔ prompt through stdio handles client_capability (8.622888ms) -2026-09-27T05:32:36.6947094Z ✔ settles outcome-unknown ACP cancellation with pending query and running recovery (19.224446ms) -2026-09-27T05:32:36.6989093Z ✔ settles outcome-unknown ACP cancellation with pending query and absent recovery (17.129657ms) -2026-09-27T05:32:36.7061812Z ✔ settles outcome-unknown ACP cancellation with internal_failure query and running recovery (10.382871ms) -2026-09-27T05:32:36.7063398Z ✔ settles outcome-unknown ACP cancellation with internal_failure query and held_empty recovery (6.324834ms) -2026-09-27T05:32:36.7185910Z ✔ settles outcome-unknown ACP cancellation with internal_failure query and terminal recovery (10.811384ms) -2026-09-27T05:32:36.7230330Z ✔ settles outcome-unknown ACP cancellation with internal_failure query and absent recovery (6.952256ms) -2026-09-27T05:32:36.7281616Z ✔ settles outcome-unknown ACP cancellation with internal_failure query and other_turn recovery (10.375416ms) -2026-09-27T05:32:36.7315668Z ✔ settles outcome-unknown ACP cancellation with internal_failure query and failed recovery (14.109087ms) -2026-09-27T05:32:36.7375713Z ✔ settles outcome-unknown ACP cancellation with not_found query and none recovery (9.050564ms) -2026-09-27T05:32:36.7435960Z ✔ publishes a local configuration commit before a newer external revision (13.538392ms) -2026-09-27T05:32:36.7515838Z ✔ answers initialize without connecting a Runtime Host (16.01906ms) -2026-09-27T05:32:36.7605889Z ✔ EOF aborts a first attachment waiting for real connection recovery during hydration (22.278147ms) -2026-09-27T05:32:36.7635641Z ✔ returns zero after normal EOF without connecting a Runtime Host (1.028916ms) -2026-09-27T05:32:36.7636468Z ✔ returns a JSON-RPC parse error and then zero after EOF (1.36904ms) -2026-09-27T05:32:36.7705520Z ✔ propagates a stdin transport error (1.941441ms) -2026-09-27T05:32:36.7815954Z ✔ _maka/goal/status write failure closes ACP and releases the retained attachment (9.773095ms) -2026-09-27T05:32:36.7885940Z ✔ _maka/plan/changed write failure closes ACP and releases the retained attachment (3.390187ms) -2026-09-27T05:32:36.7896586Z ✔ serializes Session creation and configuration through the Runtime Host catalog (2.732402ms) -2026-09-27T05:32:36.7996001Z ✔ returns a Host connection failure from the Session request and keeps serving ACP (4.41079ms) -2026-09-27T05:32:36.8032818Z ✔ keeps close for an unknown Session Host-independent (1.64869ms) -2026-09-27T05:32:36.8169880Z ✔ Maka ACP stdio server (368.854012ms) -2026-09-27T05:32:37.0096389Z ✔ MCP write errors retain actionable localized meaning across Electron serialization (1.83548ms) -2026-09-27T05:32:37.0147982Z ✔ a newly-authored remote MCP persists an explicit auto preference (1.282399ms) -2026-09-27T05:32:37.0227746Z ✔ editing an omitted remote preference presents and preserves legacy semantics (4.511511ms) -2026-09-27T05:32:37.0285821Z ✔ editing a remote MCP round-trips auto and exact modern preferences (0.250506ms) -2026-09-27T05:32:37.0336246Z ✔ legacy SSE projects legacy without erasing an explicit remote pin (0.234355ms) -2026-09-27T05:32:37.0355710Z ✔ a newly-authored stdio MCP persists an explicit auto preference (0.393294ms) -2026-09-27T05:32:37.0456845Z ✔ stdio editing presents omitted legacy and round-trips explicit modern preferences (0.509975ms) -2026-09-27T05:32:37.0506014Z ✔ kind changes preserve an explicit protocol choice and derive only unselected defaults (0.192909ms) -2026-09-27T05:32:37.0535582Z ✔ an edit that does not touch OAuth preserves the block through save (0.525663ms) -2026-09-27T05:32:37.0537084Z ✔ editing does not invent an oauth block for servers that never had one (0.266577ms) -2026-09-27T05:32:37.0655727Z ✔ a stdio config round-trips through the command-line field (0.379292ms) -2026-09-27T05:32:37.0706833Z ✔ an untouched environment reads back unchanged, whatever its values hold (0.234454ms) -2026-09-27T05:32:37.1379074Z ✔ every MCP bridge method rides the scoped Runtime Host seam (5.336999ms) -2026-09-27T05:32:37.1872689Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:32:38.4090919Z ▶ runtime resume phase 0 process crash harness -2026-09-27T05:32:38.4197683Z ✔ reopens every fully committed P0-P11 ledger prefix after SIGKILL (15639.464639ms) -2026-09-27T05:32:38.4269083Z ✔ runtime resume phase 0 process crash harness (15642.418762ms) -2026-09-27T05:32:38.4683587Z ▶ runtime resume phase 0 projection -2026-09-27T05:32:38.4727400Z ✔ publishes the stable P0-P11 crash failpoint catalog (4.980079ms) -2026-09-27T05:32:38.4856152Z ✔ projects deterministic tool operations from legal RuntimeEvent prefixes (8.080043ms) -2026-09-27T05:32:38.4885899Z ✔ distinguishes committed failed results from indeterminate missing results (1.352239ms) -2026-09-27T05:32:38.4956023Z ✔ excludes unresolved tool calls from provider replay history (0.299825ms) -2026-09-27T05:32:38.4957247Z ✔ never replays hidden nested CodeMode operations on resume (2.631929ms) -2026-09-27T05:32:38.4999883Z ✔ blocks resume when a hidden nested CodeMode operation is still indeterminate (1.847678ms) -2026-09-27T05:32:38.5040386Z ✔ blocks replay on unmatched tool results rather than inventing provider history (0.442077ms) -2026-09-27T05:32:38.5041836Z ✔ rejects runtime high-water mismatches with a stable fallback reason (4.441555ms) -2026-09-27T05:32:38.5042856Z ✔ runtime resume phase 0 projection (26.008907ms) -2026-09-27T05:32:38.5043625Z ▶ runtime resume phase 1 safe-boundary continuation -2026-09-27T05:32:38.5056980Z ✔ replays the user-anchored ancestor prefix when continuing a continuation run (25.538871ms) -2026-09-27T05:32:38.5115603Z ✔ uses RecoveryResolver to distinguish a new-protocol call that never crossed T1 (0.471311ms) -2026-09-27T05:32:38.5195596Z ✔ lets composite replay trim a new-protocol call that never crossed T1 (8.230045ms) -2026-09-27T05:32:38.5205587Z ✔ creates a new execution identity from a fully committed safe boundary (2.912871ms) -2026-09-27T05:32:38.5206646Z ✔ parks when a permission request has no committed decision (0.392689ms) -2026-09-27T05:32:38.5207673Z ✔ clears a pending permission with an identity-only accepted answer (0.398282ms) -2026-09-27T05:32:38.5208692Z ✔ continues after a hosted timeout durably closes the pending permission (0.317732ms) -2026-09-27T05:32:38.5209810Z ✔ parks when the current workspace identity differs from the source boundary (0.193684ms) -2026-09-27T05:32:38.5210855Z ✔ continues after a workspace path change when the UUID marker is unchanged (0.249932ms) -2026-09-27T05:32:38.5211731Z ✔ parks while a background operation is still unsettled (0.306246ms) -2026-09-27T05:32:38.5213485Z ✔ parks when a historical tool is unavailable in the current catalog (0.280354ms) -2026-09-27T05:32:38.5216361Z ✔ parks when any required external safety fact is absent (3.384405ms) -2026-09-27T05:32:38.5217549Z ✔ requires a non-empty single-source ledger and fresh continuation identity (0.348621ms) -2026-09-27T05:32:38.5222581Z ✔ parks when committed provider history ends with a model message (0.201372ms) -2026-09-27T05:32:38.5232348Z ✔ parks when committed provider history does not start at a user boundary (0.288835ms) -2026-09-27T05:32:38.5233511Z ✔ requires a restored workspace checkpoint with the same runtime high-water when supplied (0.298268ms) -2026-09-27T05:32:38.5234788Z ✔ keeps the durable high-water even when partial events are excluded from replay context (0.284636ms) -2026-09-27T05:32:38.5236110Z ✔ runtime resume phase 1 safe-boundary continuation (45.292536ms) -2026-09-27T05:32:38.5236887Z ▶ declared Bash sandbox boundary error classification -2026-09-27T05:32:38.5237805Z ✔ maps a model-correctable boundary semantic error to invalid_boundary_declaration (36.459782ms) -2026-09-27T05:32:38.5239148Z ✔ preserves an injected filesystem failure instead of calling the declaration invalid (1.197582ms) -2026-09-27T05:32:38.5240264Z ✔ declared Bash sandbox boundary error classification (43.184748ms) -2026-09-27T05:32:38.5241075Z ▶ sandbox boundary restart recovery on durable stores -2026-09-27T05:32:38.5241980Z ✔ attributes a closure whose RuntimeEvent never reached the ledger (491.964224ms) -2026-09-27T05:32:38.5243084Z ✔ re-reads a closure across a recovery interrupted before the terminal commit (386.942991ms) -2026-09-27T05:32:38.5244557Z ✔ keeps provenance absent for rows written before the column existed (226.611568ms) -2026-09-27T05:32:38.5245649Z ✔ sandbox boundary restart recovery on durable stores (1109.047291ms) -2026-09-27T05:32:38.5246394Z ▶ isLikelySandboxDenial -2026-09-27T05:32:38.5247245Z ✔ recognizes explicit sandbox denial evidence from either output stream (4.533296ms) -2026-09-27T05:32:38.5258676Z ✔ requires an active sandbox and unambiguous denial evidence (0.240524ms) -2026-09-27T05:32:38.5259530Z ✔ isLikelySandboxDenial (23.142521ms) -2026-09-27T05:32:38.5260141Z ▶ sandbox error diagnostics -2026-09-27T05:32:38.5260976Z ✔ serializes stable metadata without copying the raw error message (2.197485ms) -2026-09-27T05:32:38.5262120Z ✔ serializes filesystem worker validation failures through the same contract (3.105808ms) -2026-09-27T05:32:38.5263267Z ✔ preserves the exact expansion required for a session boundary request (1.294226ms) -2026-09-27T05:32:38.5264604Z ✔ rejects malformed required expansions instead of laundering them into diagnostics (0.278394ms) -2026-09-27T05:32:38.5265507Z ✔ sandbox error diagnostics (18.962678ms) -2026-09-27T05:32:38.5266108Z ▶ SandboxManager.shouldSandbox -2026-09-27T05:32:38.5266667Z ✔ uses PermissionProfile under auto preference (7.31123ms) -2026-09-27T05:32:38.5267436Z ✔ requires a sandbox when only process network remains restricted (0.237862ms) -2026-09-27T05:32:38.5268234Z ✔ honors require and forbid preference overrides (5.219323ms) -2026-09-27T05:32:38.5269085Z ✔ SandboxManager.shouldSandbox (14.533454ms) -2026-09-27T05:32:38.5269689Z ▶ SandboxManager.selectInitial -2026-09-27T05:32:38.5270706Z ✔ selects macos-seatbelt on darwin when restricted profile needs sandbox and backend exists (8.48297ms) -2026-09-27T05:32:38.5271917Z ✔ fails closed on darwin when sandbox is required but macOS backend is unavailable (0.379925ms) -2026-09-27T05:32:38.5272865Z ✔ selects linux when a Linux backend is registered (0.509812ms) -2026-09-27T05:32:38.5273731Z ✔ reports whether the selected backend can enforce the profile (4.613862ms) -2026-09-27T05:32:38.5274881Z ✔ does not report enforcement for Linux profiles the backend will reject (3.100681ms) -2026-09-27T05:32:38.5275892Z ✔ returns backend_not_available for win32 restricted profiles without a broker (0.236506ms) -2026-09-27T05:32:38.5276896Z ✔ selects none for danger-full-access, external, disabled, and forbid (1.657645ms) -2026-09-27T05:32:38.5277688Z ✔ SandboxManager.selectInitial (19.729203ms) -2026-09-27T05:32:38.5278235Z ▶ SandboxManager.transform -2026-09-27T05:32:38.5278912Z ✔ returns raw argv when selected sandbox is none (0.401928ms) -2026-09-27T05:32:38.5279729Z ✔ delegates macos-seatbelt transform to the registered backend (3.200911ms) -2026-09-27T05:32:38.5280613Z ✔ returns selection failure from transform without throwing (0.197725ms) -2026-09-27T05:32:38.5281400Z ✔ SandboxManager.transform (4.048606ms) -2026-09-27T05:32:38.5282195Z ✔ formats Host time with an explicit offset and zone (60.451101ms) -2026-09-27T05:32:38.5283341Z ✔ list reports the current Host time so runAt needs no shell (12.633169ms) -2026-09-27T05:32:38.5284209Z ✔ create echoes the local fire time next to the epoch (8.120441ms) -2026-09-27T05:32:38.5285553Z ✔ create checks the catalog and reports the persisted execution directory (22.989371ms) -2026-09-27T05:32:38.5286495Z ✔ create warns of possible persistence when catalog is missing (11.237945ms) -2026-09-27T05:32:38.5287416Z ✔ create warns of possible persistence when catalog is unavailable (0.778481ms) -2026-09-27T05:32:38.5288216Z ✔ rejects unresolved project cwd "" before mutation (0.74582ms) -2026-09-27T05:32:38.5289277Z ✔ rejects unresolved project cwd " " before mutation (8.337322ms) -2026-09-27T05:32:38.5291540Z ✔ allows a filesystem-root workspace when the Host provides it (6.594411ms) -2026-09-27T05:32:38.5294105Z ✔ notifications do not require a project directory (4.373109ms) -2026-09-27T05:32:38.5300019Z ✔ list is explicitly a query and never creates tasks (5.775974ms) -2026-09-27T05:32:38.5300948Z ✔ creation error is preserved without querying the catalog (4.434608ms) -2026-09-27T05:32:38.5302140Z ✔ cancelled executor completion preserves its provider stop reason in the durable ledger (5.965512ms) -2026-09-27T05:32:38.5328293Z ▶ SessionEvent Runtime mapper -2026-09-27T05:32:38.5330183Z ✔ maps the original steering content digest into the durable Runtime event (0.454618ms) -2026-09-27T05:32:38.5331219Z ✔ maps provider retry progress as a partial non-terminal runtime fact (0.306759ms) -2026-09-27T05:32:38.5332247Z ✔ maps provider capacity retry progress without collapsing its reason (2.411906ms) -2026-09-27T05:32:38.5333078Z ✔ SessionEvent Runtime mapper (4.632696ms) -2026-09-27T05:32:38.5333726Z ▶ mapSessionEventToRuntimeEvent (pure) -2026-09-27T05:32:38.5334650Z ✔ mapCompleteStopReason covers all stop reasons (0.45596ms) -2026-09-27T05:32:38.5335595Z ✔ step_limit uses the established tool-step-cap failure class (1.398864ms) -2026-09-27T05:32:38.5336637Z ✔ tool_output_delta and tool_progress map to partial tool-role heartbeats (1.87999ms) -2026-09-27T05:32:38.5337781Z ✔ tool activity mapping retains nested CodeMode replay and parent identity (1.796989ms) -2026-09-27T05:32:38.5338791Z ✔ owns independent tool args across SessionEvent to RuntimeEvent mappings (0.42241ms) -2026-09-27T05:32:38.5339731Z ✔ plan_submitted maps to an agent-authored state delta (0.350699ms) -2026-09-27T05:32:38.5340633Z ✔ user_question_request maps to one system-authored runtime action (0.288225ms) -2026-09-27T05:32:38.5341555Z ✔ user_question_answer_ack maps without duplicating the canonical answer (0.177617ms) -2026-09-27T05:32:38.5342380Z ✔ form_request maps to one system-authored runtime action (0.217789ms) -2026-09-27T05:32:38.5343123Z ✔ form_answer_ack maps without duplicating the canonical result (0.195551ms) -2026-09-27T05:32:38.5344039Z ✔ tool_result without a prior tool_start still maps (name falls back to empty) (6.110379ms) -2026-09-27T05:32:38.5345014Z ✔ branch is propagated when present on the context (0.168294ms) -2026-09-27T05:32:38.5345829Z ✔ mapSessionEventToRuntimeEvent (pure) (14.403459ms) -2026-09-27T05:32:38.5346448Z ▶ SessionEvent projection coverage -2026-09-27T05:32:38.5347141Z ✔ keeps Host admission facts out of durable Runtime events (3.231217ms) -2026-09-27T05:32:38.5348056Z ✔ keeps Host-owned Client Capability interactions out of backend projection (0.348772ms) -2026-09-27T05:32:38.5352498Z ✔ text_delta projects without an unclaimed-event diagnostic (1.509678ms) -2026-09-27T05:32:38.5353326Z ✔ text_complete projects without an unclaimed-event diagnostic (0.602441ms) -2026-09-27T05:32:38.5354196Z ✔ thinking_delta projects without an unclaimed-event diagnostic (0.146566ms) -2026-09-27T05:32:38.5355231Z ✔ thinking_complete projects without an unclaimed-event diagnostic (3.0868ms) -2026-09-27T05:32:38.5356078Z ✔ tool_start projects without an unclaimed-event diagnostic (0.49877ms) -2026-09-27T05:32:38.5357052Z ✔ tool_output_delta projects without an unclaimed-event diagnostic (0.159263ms) -2026-09-27T05:32:38.5358242Z ✔ tool_progress projects without an unclaimed-event diagnostic (0.170662ms) -2026-09-27T05:32:38.5359285Z ✔ tool_result_preview projects without an unclaimed-event diagnostic (3.135182ms) -2026-09-27T05:32:38.5369093Z ✔ tool_result projects without an unclaimed-event diagnostic (2.043837ms) -2026-09-27T05:32:38.5370627Z ✔ sandbox_boundary_request projects without an unclaimed-event diagnostic (2.876966ms) -2026-09-27T05:32:38.5372596Z ✔ sandbox_boundary_decision_ack projects without an unclaimed-event diagnostic (0.299854ms) -2026-09-27T05:32:38.5374914Z ✔ user_question_request projects without an unclaimed-event diagnostic (0.1345ms) -2026-09-27T05:32:38.5377136Z ✔ user_question_answer_ack projects without an unclaimed-event diagnostic (0.115751ms) -2026-09-27T05:32:38.5378499Z ✔ form_request projects without an unclaimed-event diagnostic (0.186195ms) -2026-09-27T05:32:38.5380357Z ✔ form_answer_ack projects without an unclaimed-event diagnostic (0.123595ms) -2026-09-27T05:32:38.5382410Z ✔ plan_submitted projects without an unclaimed-event diagnostic (0.480473ms) -2026-09-27T05:32:38.5385449Z ✔ token_usage projects without an unclaimed-event diagnostic (0.367028ms) -2026-09-27T05:32:38.5387760Z ✔ steering_message projects without an unclaimed-event diagnostic (0.207222ms) -2026-09-27T05:32:38.5389874Z ✔ provider_retry projects without an unclaimed-event diagnostic (0.166635ms) -2026-09-27T05:32:38.5391885Z ✔ error projects without an unclaimed-event diagnostic (0.672114ms) -2026-09-27T05:32:38.5392823Z ✔ complete projects without an unclaimed-event diagnostic (0.162234ms) -2026-09-27T05:32:38.5395945Z ✔ abort projects without an unclaimed-event diagnostic (3.291553ms) -2026-09-27T05:32:38.5436575Z ✔ an unmapped SessionEvent maps to a reported control-only fact (0.278854ms) -2026-09-27T05:32:38.5454019Z ✔ SessionEvent projection coverage (26.650004ms) -2026-09-27T05:32:38.5455309Z ✔ MCP tools stay bound to the connection generation that advertised them (1348.206798ms) -2026-09-27T05:32:38.5456205Z ▶ MCP secret redaction -2026-09-27T05:32:38.5457052Z ✔ masks all remote header values and restores them only for the same URL (9.875911ms) -2026-09-27T05:32:38.5458217Z ✔ treats an unnormalized stored URL as the same endpoint (4.21424ms) -2026-09-27T05:32:38.5459199Z ✔ masks every stdio env value and binds restore to the whole launch basis (5.758362ms) -2026-09-27T05:32:38.5460289Z ✔ masks credential-bearing args and binds their restore to the command line (0.791682ms) -2026-09-27T05:32:38.5461305Z ✔ masks sensitive URL query values and binds their restore to the rest of the URL (0.64627ms) -2026-09-27T05:32:38.5462513Z ✔ treats cosmetic query-encoding differences as the same endpoint (0.555745ms) -2026-09-27T05:32:38.5463462Z ✔ masks and restores repeated sensitive query keys per occurrence (1.807823ms) -2026-09-27T05:32:38.5464305Z ✔ rejects a marker moved to a different position (0.442242ms) -2026-09-27T05:32:38.5465434Z ✔ replaces a stored clientSecret with the sentinel and leaves the rest (0.372167ms) -2026-09-27T05:32:38.5466353Z ✔ restores a sentinel from the previous on-disk value (0.729518ms) -2026-09-27T05:32:38.5467213Z ✔ rejects a sentinel when the endpoint URL changed (3.242151ms) -2026-09-27T05:32:38.5467939Z ✔ rejects a sentinel when the clientId changed (0.352033ms) -2026-09-27T05:32:38.5541203Z ✔ rejects a sentinel when the OAuth issuer changed (0.285165ms) -2026-09-27T05:32:38.5571415Z ✔ rejects a sentinel that has no previous value instead of persisting or dropping it (0.225477ms) -2026-09-27T05:32:38.5608280Z ✔ keeps a genuinely new secret (not the sentinel) on single-server restore (0.238264ms) -2026-09-27T05:32:38.5633502Z ✔ MCP secret redaction (34.287548ms) -2026-09-27T05:32:38.5657507Z ✔ shortens Memory paths with their native separator (1.420745ms) -2026-09-27T05:32:38.5684907Z ✔ leaves short Memory paths unchanged (0.244625ms) -2026-09-27T05:32:38.7750556Z ✔ exports session state, artifacts, and inspectable identity (999.879389ms) -2026-09-27T05:32:38.7795487Z ✔ omits diagnostics and keeps event types this build has never seen (650.396662ms) -2026-09-27T05:32:38.7846063Z ✔ exports the complete subagent subtree with per-session artifacts (747.686216ms) -2026-09-27T05:32:38.7903712Z ✔ rejects an active session before export (398.642014ms) -2026-09-27T05:32:38.7918120Z ✔ reports a missing live artifact without creating the destination (289.173931ms) -2026-09-27T05:32:38.7980392Z ✔ refuses to overwrite an existing destination (220.827101ms) -2026-09-27T05:32:38.8085912Z ✔ separates a directory that is not a workspace from a Session that is not there (366.725248ms) -2026-09-27T05:32:38.8145888Z ✔ carries JSON columns as bytes rather than re-encoding them (521.552508ms) -2026-09-27T05:32:38.8165671Z ✔ exports the subtree under any node, not only a top-level Session (1039.790579ms) -2026-09-27T05:32:38.8223882Z ✔ names the connection without carrying any credential into the bundle (730.416652ms) -2026-09-27T05:32:38.8253263Z ✔ refuses the whole tree when only a child session is still active (373.323849ms) -2026-09-27T05:32:38.8325813Z ✔ terminates on a subagent parent link that points back into the tree (354.035642ms) -2026-09-27T05:32:38.8338316Z ✔ leaves no excluded bytes in the bundled database file (911.392545ms) -2026-09-27T05:32:39.3546915Z ✔ drops a row that names no owning Session (577.46648ms) -2026-09-27T05:32:39.7076085Z ✔ refuses an artifact whose ancestor directory is a symlink (351.968786ms) -2026-09-27T05:32:39.9666328Z ✔ rebuilds a terminal unanswered question as abandoned (264.487254ms) -2026-09-27T05:32:40.0188232Z ✔ local delivery recovery cannot republish accepted Host queue rows (83.906326ms) -2026-09-27T05:32:40.0276288Z ✔ queue_update events drive the independent desktop queue projection (18.637797ms) -2026-09-27T05:32:40.0316321Z ✔ a rootless resubscription seed retires a stale queued card (2.217055ms) -2026-09-27T05:32:40.0376173Z ✔ steering delivery clears a promoted follow-up from the desktop queue (3.547386ms) -2026-09-27T05:32:40.0406493Z ✔ complete events deliver the durable context compaction outcome to Desktop (8.87298ms) -2026-09-27T05:32:40.4291407Z ▶ model catalog picker helpers -2026-09-27T05:32:40.4320748Z ✔ uses the readiness-checked activation candidate before an unverified first choice (1.883887ms) -2026-09-27T05:32:40.4346277Z ✔ keeps API connection labels while redacting OAuth account identities (3.501379ms) -2026-09-27T05:32:40.4364619Z ✔ does not offer Daily Review a Codex model the subscription cannot serve (0.707969ms) -2026-09-27T05:32:40.4406460Z ✔ labels a saved-but-unavailable selection in the UI locale (5.831331ms) -2026-09-27T05:32:40.4407548Z ✔ model catalog picker helpers (14.188335ms) -2026-09-27T05:32:40.5166560Z ✔ exports an unanswered question as abandoned when its invocation is terminal (547.731868ms) -2026-09-27T05:32:40.5266290Z ▶ Module Hub feature boundary -2026-09-27T05:32:40.5296139Z ✔ keeps Desktop globals and shell/process dependencies outside production feature code (26.500708ms) -2026-09-27T05:32:40.5325826Z ✔ is consumed outside the feature only through index or testing (148.683081ms) -2026-09-27T05:32:40.5372614Z ✔ keeps fakes out of the production entry (0.30336ms) -2026-09-27T05:32:40.5373685Z ✔ keeps module data, pages, nonce, bridges, and subscriptions out of AppShell (5.83833ms) -2026-09-27T05:32:40.5397698Z ✔ Module Hub feature boundary (184.675684ms) -2026-09-27T05:32:40.6119848Z ✔ official SDK receives one authoritative builtin tool result before end_turn (7605.880162ms) -2026-09-27T05:32:41.0546731Z ✔ round-trips opaque legacy RuntimeEvents beside a terminal unsettled tool (538.527088ms) -2026-09-27T05:32:41.4436758Z ✔ still refuses an unanswered question from a live invocation (389.83481ms) -2026-09-27T05:32:42.2707250Z ✔ exports an interrupted tool with unknown side effects as an explicit terminal state (823.851947ms) -2026-09-27T05:32:42.4572206Z ✔ does not write a terminal event while any dispatched tool is still prepared (189.303288ms) -2026-09-27T05:32:42.6646558Z ✔ stable page bridge retries rather than exposing a stale default-Host read (9.09903ms) -2026-09-27T05:32:42.6904052Z ✔ today paste captures its composer claim before reading and drops a late result (75.796267ms) -2026-09-27T05:32:42.6977220Z ✔ today paste rechecks its composer claim after an async failure Host fence (15.287648ms) -2026-09-27T05:32:42.7357065Z ✔ page actions suppress late feedback after leaving Daily Review (42.570464ms) -2026-09-27T05:32:42.7676449Z ✔ current default-Host Daily Review failures retain their diagnostic target (31.523686ms) -2026-09-27T05:32:42.8126460Z ✔ still refuses export while a dispatched tool belongs to an open invocation (349.666883ms) -2026-09-27T05:32:43.0269451Z ✔ reports an unreadable database as an environment failure, not a schema verdict (221.299039ms) -2026-09-27T05:32:43.3756334Z ✔ refuses a source whose schema is not current (342.838436ms) -2026-09-27T05:32:43.4056168Z ✔ Module Hub resolves all four leaf routes and no chat route (1.06057ms) -2026-09-27T05:32:43.4110870Z ✔ Host maps each route to one Module Hub leaf (0.614154ms) -2026-09-27T05:32:43.4979439Z ✔ falls back safely after the initial read fails and propagates write failures (64.098173ms) -2026-09-27T05:32:43.5006103Z ✔ external changes win over a slow write and the subscription is disposed (10.52975ms) -2026-09-27T05:32:43.5011221Z ✔ unsupported settings stay hidden and never probe an unavailable bridge (12.04823ms) -2026-09-27T05:32:43.5012418Z ✔ a pending initial read cannot publish after controller disposal (34.327547ms) -2026-09-27T05:32:44.0265980Z ✔ exports under authority the caller already holds (653.360597ms) -2026-09-27T05:32:44.3681702Z ✔ round-trips a Session into another workspace, row for row (1291.350668ms) -2026-09-27T05:32:44.3761632Z ✔ refuses a Session this workspace already has (622.748009ms) -2026-09-27T05:32:44.3816169Z ✔ carries the subagent subtree and its artifact bytes across (839.816285ms) -2026-09-27T05:32:44.3834972Z ✔ leaves the shared workspace connection as it found it (1030.644078ms) -2026-09-27T05:32:44.3905850Z ✔ refuses a bundle written against a different schema (840.135213ms) -2026-09-27T05:32:44.3952693Z ✔ carries managed context payloads and keeps usage accounting true (845.334521ms) -2026-09-27T05:32:44.3971701Z ✔ a failed context merge leaves nothing published and the retry then succeeds (1029.658488ms) -2026-09-27T05:32:44.4035816Z ✔ a failure after the context commit is still retryable (902.085027ms) -2026-09-27T05:32:44.4070753Z ✔ keeps bytes queued for deletion in the physical total (798.581376ms) -2026-09-27T05:32:44.4125845Z ✔ imports context into a workspace that has never held a Session (705.152202ms) -2026-09-27T05:32:44.4166021Z ✔ accepts an identical artifact left by a crashed attempt, and only an identical one (534.155795ms) -2026-09-27T05:32:44.4233062Z ✔ refuses a context payload whose path already holds different bytes (575.029132ms) -2026-09-27T05:32:44.4255868Z ✔ publishes a context payload past a staging file a crashed attempt left (699.544334ms) -2026-09-27T05:32:44.4295996Z ✔ imports under authority the caller already holds (535.883961ms) -2026-09-27T05:32:45.0296299Z ✔ refuses a lease that names a different Storage Root (661.316067ms) -2026-09-27T05:32:45.6447242Z ✔ refuses a bundle whose payload does not hash to what its row claims (610.716403ms) -2026-09-27T05:32:46.0413769Z ✔ refuses to publish through a payload directory that leaves the Storage Root (400.311724ms) -2026-09-27T05:32:46.5366264Z ✔ Module Hub owns deferred startup, default-Host refresh, and cleanup (1.99888ms) -2026-09-27T05:32:46.6087391Z ✔ clears the collection candidate of a blob the import references again (567.086494ms) -2026-09-27T05:32:46.7226977Z ✔ MCP create rejects an occupied ID and refreshes committed config after a failed connection (112.68615ms) -2026-09-27T05:32:46.7700157Z ✔ MCP holds an action until its refreshed config lands (44.129609ms) -2026-09-27T05:32:46.7855603Z ✔ MCP login can be cancelled on its original Host and never writes a late result into another Host (28.656642ms) -2026-09-27T05:32:46.7976199Z ✔ MCP ignores an older config read after a change notification (3.928787ms) -2026-09-27T05:32:46.8021907Z ✔ MCP can cancel an active login after reopening the page (6.272606ms) -2026-09-27T05:32:46.8106032Z ✔ MCP follows a configured Chrome server until its extension connects (3.198126ms) -2026-09-27T05:32:46.8585835Z ✔ controller scoping removes shell-wide work from Module Hub updates (143.134124ms) -2026-09-27T05:32:46.8625990Z ✔ command port keeps the newest controller through stale cleanup (0.876379ms) -2026-09-27T05:32:46.8627897Z ✔ Skills locations load when local path capability arrives at mount deferred startup (33.435669ms) -2026-09-27T05:32:46.8695971Z ✔ Skills locations load when local path capability arrives before deferred startup (22.66596ms) -2026-09-27T05:32:46.8717840Z ✔ Skills locations load when local path capability arrives after deferred startup (11.722573ms) -2026-09-27T05:32:47.2396352Z ✔ refuses a bundle whose context references a Session it does not carry (629.99348ms) -2026-09-27T05:32:47.7956310Z ✔ refuses a bundle carrying collection state from the workspace it left (554.797044ms) -2026-09-27T05:32:48.3643313Z ✔ refuses a payload path that is a symlink, even onto matching bytes (567.015097ms) -2026-09-27T05:32:48.9832537Z ✔ reports a payload path occupied by a directory as a conflict (617.094047ms) -2026-09-27T05:32:49.3816301Z ✔ Scheduled Tasks read uses generation and current-default-Host fences (53.162682ms) -2026-09-27T05:32:49.3875989Z ✔ stale Scheduled Task refresh errors do not outlive a newer generation (8.041589ms) -2026-09-27T05:32:49.3964942Z ✔ Scheduled Task mutations recheck their Host after the refresh (10.432999ms) -2026-09-27T05:32:49.4386603Z ✔ mutations keep titles current, preserve refreshes, and fence confirm continuation (37.531333ms) -2026-09-27T05:32:49.4516651Z ✔ a destructive confirmation cannot continue after controller unmount (6.451206ms) -2026-09-27T05:32:49.4616206Z ✔ subscriptions refresh, due navigation action is live, disposers run, and nonce resets (5.40709ms) -2026-09-27T05:32:49.4750714Z [desktop] operation failed: Error: list failed -2026-09-27T05:32:49.4796092Z at runOnDefaultRuntimeHost (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/module-hub/controller/default-runtime-host.js:36:15) -2026-09-27T05:32:49.4875514Z at async Object.refresh (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/module-hub/controller/use-scheduled-tasks-controller.js:52:26) -2026-09-27T05:32:49.4882816Z ✔ Scheduled Tasks refresh failures stay silent while the default Host is unavailable (29.3162ms) -2026-09-27T05:32:49.5274694Z ✔ refuses a bundle carrying a payload nothing references (548.866432ms) -2026-09-27T05:32:49.5565894Z ▶ createDesktopModuleHubServices -2026-09-27T05:32:49.5626088Z ✔ maps host-scoped Skills, Scheduled Tasks, Daily Review, and clipboard operations (16.528529ms) -2026-09-27T05:32:49.5635768Z ✔ forwards subscriptions, narrows Runtime Host events, and preserves disposers (6.729377ms) -2026-09-27T05:32:49.5685822Z ✔ maps keep-awake settings and safely gates an older preload (1.217139ms) -2026-09-27T05:32:49.5747050Z ✔ createDesktopModuleHubServices (26.090973ms) -2026-09-27T05:32:50.1875948Z ✔ refuses a bundle carrying usage for a Session it does not hold (660.885584ms) -2026-09-27T05:32:50.1996130Z ✔ Skills projections have independent same-Host generation and default-Host fences (110.180312ms) -2026-09-27T05:32:50.2326024Z ✔ Skills mutations preserve refresh combinations and suppress inactive or cancelled feedback (30.393302ms) -2026-09-27T05:32:50.2527557Z ✔ Skills capabilities and stale mutation diagnostics are fenced (17.074636ms) -2026-09-27T05:32:50.2648724Z ✔ Skills errors recheck the active surface after an async Host fence (7.530908ms) -2026-09-27T05:32:50.2736153Z ✔ stale Skills refresh errors do not outlive a newer successful generation (12.589989ms) -2026-09-27T05:32:50.2855671Z [desktop] operation failed: Error: list failed -2026-09-27T05:32:50.2893156Z at runOnDefaultRuntimeHost (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/module-hub/controller/default-runtime-host.js:36:15) -2026-09-27T05:32:50.2940385Z at async file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/module-hub/controller/use-skills-controller.js:83:26 -2026-09-27T05:32:50.2995451Z at async Promise.all (index 0) -2026-09-27T05:32:50.3048979Z at async Object.onRefreshSkills (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/module-hub/controller/use-skills-controller.js:572:13) -2026-09-27T05:32:50.3116161Z ✔ Skills refresh failures stay silent while the default Host is unavailable (20.807244ms) -2026-09-27T05:32:50.3117438Z [desktop] operation failed: Error: project-b unavailable -2026-09-27T05:32:50.3118900Z at runOnDefaultRuntimeHost (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/module-hub/controller/default-runtime-host.js:36:15) -2026-09-27T05:32:50.3120611Z at async file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/module-hub/controller/use-skills-controller.js:151:26 -2026-09-27T05:32:50.3121879Z at async Promise.all (index 1) -2026-09-27T05:32:50.3123246Z at async Object.refreshProjectSkills (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/module-hub/controller/use-skills-controller.js:559:9) -2026-09-27T05:32:50.3124990Z at async file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/module-hub-skills-controller.test.js:459:9 -2026-09-27T05:32:50.3126609Z ✔ changing Projects invalidates displayed Skill locations even when the refresh fails (15.34116ms) -2026-09-27T05:32:50.3186653Z ✔ Skill location actions do not retarget a snapshot from a previous default Host (8.82269ms) -2026-09-27T05:32:50.3314759Z ✔ a late Skill location response cannot restore the previous Project's directories (9.692031ms) -2026-09-27T05:32:50.3350676Z [desktop] operation failed: Error: Project is unavailable -2026-09-27T05:32:50.3407298Z at runOnDefaultRuntimeHost (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/module-hub/controller/default-runtime-host.js:36:15) -2026-09-27T05:32:50.3465884Z at async file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/module-hub/controller/use-skills-controller.js:83:26 -2026-09-27T05:32:50.3532600Z at async Promise.all (index 0) -2026-09-27T05:32:50.3585878Z at async Object.refreshProjectSkills (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/module-hub/controller/use-skills-controller.js:559:9) -2026-09-27T05:32:50.3609231Z ✔ independent Skill locations stay actionable when the Project has no usable context (7.476767ms) -2026-09-27T05:32:50.3647204Z ✔ refreshes Skill locations after stale_context without retrying the open action (2.490657ms) -2026-09-27T05:32:50.3707523Z ✔ refreshes Skill locations after missing without retrying the open action (5.727345ms) -2026-09-27T05:32:50.3765718Z ✔ remote Skills refreshes skip location IPC and clear local directory actions (8.745308ms) -2026-09-27T05:32:50.3825512Z ✔ a late Skill location failure cannot refresh after its Host changes (2.885601ms) -2026-09-27T05:32:50.3848415Z ✔ a late Skill location failure cannot refresh after its surface changes (4.949567ms) -2026-09-27T05:32:50.3876062Z ✔ a late Skill location failure cannot refresh after its generation changes (5.323519ms) -2026-09-27T05:32:50.3938171Z ✔ a late Skill location failure cannot refresh after its capability changes (5.348243ms) -2026-09-27T05:32:50.3941450Z ✔ revoking local paths during Host lookup suppresses pending Skill locations (2.215375ms) -2026-09-27T05:32:50.3945526Z ✔ revoking local paths during location response suppresses pending Skill locations (4.964604ms) -2026-09-27T05:32:50.4583269Z ✔ interleaves Hosts so one large corpus cannot fill the window (10.04326ms) -2026-09-27T05:32:50.4616262Z ✔ a Host that failed contributes nothing rather than failing the search (0.340039ms) -2026-09-27T05:32:50.4646005Z ✔ reports a Host failure when every Host failed, without inventing a result (0.311844ms) -2026-09-27T05:32:50.4647223Z ✔ a malformed Host payload is not mistaken for a success (0.249209ms) -2026-09-27T05:32:50.4676393Z ✔ gaps describe one corpus only, and a single Host keeps its full-scan flag (4.794189ms) -2026-09-27T05:32:50.4706048Z ✔ across several Hosts the envelope is complete only if every Host scanned fully (0.30675ms) -2026-09-27T05:32:50.4715900Z ✔ cancelling before Host discovery never dispatches the abandoned search (0.603614ms) -2026-09-27T05:32:50.4735896Z ✔ cancelling reaches every dispatched Host without waiting for results (3.921684ms) -2026-09-27T05:32:50.4765595Z ✔ the same request identity cannot run twice at once (5.659659ms) -2026-09-27T05:32:50.4795436Z ✔ copies diagnostics as an auxiliary dialog action (3.012302ms) -2026-09-27T05:32:50.4815736Z ✔ keeps Default Runtime Host errors in diagnostics instead of dialog copy (10.110826ms) -2026-09-27T05:32:50.4830615Z ✔ fatal startup errors remain copyable without a renderer or BrowserWindow (0.91327ms) -2026-09-27T05:32:50.4855692Z ✔ main Renderer loss keeps Copy Diagnostics auxiliary to recovery (0.699064ms) -2026-09-27T05:32:50.4885707Z ✔ every native file dialog string is translated in each locale (4.227628ms) -2026-09-27T05:32:50.4915717Z ✔ native menu returns only the selected action, cancels cleanly, and anchors at renderer zoom (14.547847ms) -2026-09-27T05:32:50.4916641Z ▶ Navigation selection persistence -2026-09-27T05:32:50.4945803Z ✔ hydrates the hub-shaped navigation state written by supported versions (8.093055ms) -2026-09-27T05:32:50.4976289Z ✔ migrates plan reminders written by the oldest supported version (0.34357ms) -2026-09-27T05:32:50.4978460Z ✔ ignores pre-hub selections from versions outside the support window (0.412774ms) -2026-09-27T05:32:50.4980452Z ✔ Navigation selection persistence (14.577136ms) -2026-09-27T05:32:50.7669597Z ✔ never replaces a context database that is already there (573.827069ms) -2026-09-27T05:32:51.2466573Z ✔ publishes only the payloads the bundle declares (480.726368ms) -2026-09-27T05:32:51.6916297Z ✔ refuses a bundle that declares a payload it does not carry (442.802262ms) -2026-09-27T05:32:51.7407818Z ▶ SessionManager terminal ledger invariants -2026-09-27T05:32:51.7476238Z ✔ coalesces one partial stream and flushes it before the final model event (12.457944ms) -2026-09-27T05:32:51.7505635Z ✔ fails a model boundary closed when its pending partial batch cannot be stored (3.037961ms) -2026-09-27T05:32:51.7536056Z ✔ error streams persist a failed terminal fact without non-terminal error ledger rows (15.10187ms) -2026-09-27T05:32:51.7537301Z ✔ an ordinary send leaves session_messages empty (4.317927ms) -2026-09-27T05:32:51.7597596Z ✔ stopSession keeps renderer abortSource on terminal facts and run headers (9.545782ms) -2026-09-27T05:32:51.7645790Z ✔ stopSession persists a WorkHub action-bound abort source (26.185528ms) -2026-09-27T05:32:51.7694115Z ✔ stopSession commits a terminal fact when the backend stream never ends (3.863037ms) -2026-09-27T05:32:51.7725776Z ✔ a stop whose terminal settlement fails stays retryable (5.791895ms) -2026-09-27T05:32:51.7758533Z ✔ a hosted stop leaves the terminal fact to the Host (8.308268ms) -2026-09-27T05:32:51.7785747Z ✔ terminal acceptance wins over a later stop during terminal persistence (5.044809ms) -2026-09-27T05:32:51.7815734Z ✔ concurrent terminal writes reserve exactly one terminal fact (3.750209ms) -2026-09-27T05:32:51.7855700Z ✔ a ledger rejection does not cost the run its terminal write (2.396783ms) -2026-09-27T05:32:51.7911587Z ✔ a corrupt ledger keeps stream writes closed but still lets the run say it ended (8.845395ms) -2026-09-27T05:32:51.7965623Z ✔ finalization keeps the silent skip when even the terminal barrier is refused (0.831664ms) -2026-09-27T05:32:51.7987474Z ✔ a sealed-run refusal neither latches the store nor stamps a trace failure (3.8427ms) -2026-09-27T05:32:51.7988787Z ✔ the continuation boundary hook fires only after the terminal barrier (0.323859ms) -2026-09-27T05:32:51.7989982Z ✔ synthetic finalization claims its terminal outcome before its first await (0.638561ms) -2026-09-27T05:32:51.7991546Z ✔ terminal run commits reject mismatched terminal RuntimeEvent statuses (0.342271ms) -2026-09-27T05:32:51.7992751Z ✔ terminal run commits reject terminal RuntimeEvents from another run (0.267456ms) -2026-09-27T05:32:51.7994050Z ✔ terminal run commits reject partial terminal RuntimeEvents (0.260603ms) -2026-09-27T05:32:51.8049720Z ✔ a synthetic cancelled terminal carries the fallback abortSource (3.746368ms) -2026-09-27T05:32:51.8093818Z ✔ synthetic terminal durability failures are not tolerated as header failures (0.629266ms) -2026-09-27T05:32:51.8135701Z ✔ synthetic terminal builder keeps live and recovered metadata distinct (0.304944ms) -2026-09-27T05:32:51.8177807Z ✔ terminal ledger classification rejects multiple terminal RuntimeEvent signals (0.33006ms) -2026-09-27T05:32:51.8240056Z ✔ runtime constructors reject AgentRunStore without a RuntimeEventStore (0.44971ms) -2026-09-27T05:32:51.8265581Z ✔ direct AgentRun terminal writes fail before terminal headers can commit (8.041479ms) -2026-09-27T05:32:51.8266867Z ✔ caught failures keep diagnostic text within the terminal byte budget (1.477506ms) -2026-09-27T05:32:51.8312770Z ✔ direct AgentRun finalize synthesizes a failed terminal fact when no terminal event was recorded (0.874403ms) -2026-09-27T05:32:51.8327013Z ✔ direct AgentRun stop synthesizes a cancelled terminal fact when no terminal event was recorded (4.228422ms) -2026-09-27T05:32:51.8367691Z ✔ a run that failed while recording its prompt records it before sealing (0.905125ms) -2026-09-27T05:32:51.8385645Z ✔ a run that failed while opening still records its prompt once finalize reopens it (0.695706ms) -2026-09-27T05:32:51.8410497Z ✔ a stop settlement racing finalize commits exactly one terminal run event (31.31285ms) -2026-09-27T05:32:51.8436814Z ✔ a stop settlement leaves an already sealed ledger untouched (0.850019ms) -2026-09-27T05:32:51.8465432Z ✔ stop settlement probes a latched store and settles when it answers (3.977362ms) -2026-09-27T05:32:51.8475544Z ✔ a retried stop settles once a latched store answers again (0.959679ms) -2026-09-27T05:32:51.8505736Z ✔ stop settlement probes a latched run store instead of skipping the terminal commit (10.75862ms) -2026-09-27T05:32:51.8535747Z ✔ Runtime execution still commits failed terminal facts when failed turn projection fails (1.995557ms) -2026-09-27T05:32:51.8555783Z ✔ startup recovery leaves a failed terminal RuntimeEvent that states no failure class alone (5.446149ms) -2026-09-27T05:32:51.8565713Z ✔ startup recovery leaves an aborted terminal RuntimeEvent that states no source alone (0.881246ms) -2026-09-27T05:32:51.8595637Z ✔ RuntimeReadModel reads a run outcome off its terminal RuntimeEvent fact (6.757623ms) -2026-09-27T05:32:51.8697760Z ✔ RuntimeReadModel preserves per-run event order when timestamps disagree (0.899257ms) -2026-09-27T05:32:51.8766107Z ✔ RuntimeReadModel retains terminal partial snapshots alongside durable events (0.820849ms) -2026-09-27T05:32:51.8835760Z ✔ RuntimeReadModel rejects a failing durable-order reader (3.583229ms) -2026-09-27T05:32:51.8895900Z ✔ RuntimeReadModel rejects a run whose ledger has no valid terminal fact (0.721566ms) -2026-09-27T05:32:51.8955647Z ✔ SessionManager terminal ledger invariants (227.530389ms) -2026-09-27T05:32:51.8995776Z ✔ sendMessage rejects removed Automation as a live trigger (6.171283ms) -2026-09-27T05:32:51.9055687Z ✔ sendMessage rejects removed child AgentRun lineage as a live trigger (8.319064ms) -2026-09-27T05:32:51.9139624Z ✔ listSessions preserves known-empty live run state (5.595663ms) -2026-09-27T05:32:51.9175641Z ✔ listChildSessions preserves known-empty live run state (1.086205ms) -2026-09-27T05:32:51.9225800Z ▶ SessionManager Plan control boundaries -2026-09-27T05:32:51.9285818Z ✔ an exact approval retry completes Session side effects after a partial failure (4.488065ms) -2026-09-27T05:32:51.9345762Z ✔ does not commit a same-mode Plan revision before backend disposal succeeds (2.587127ms) -2026-09-27T05:32:51.9419218Z ✔ does not commit Plan cancellation before backend disposal succeeds (7.590904ms) -2026-09-27T05:32:51.9456408Z ✔ classifies an ineligible execution cancellation as a domain conflict (0.734857ms) -2026-09-27T05:32:51.9518646Z ✔ rejects Plan mode for a linked child Session (9.372049ms) -2026-09-27T05:32:51.9545591Z ✔ SessionManager Plan control boundaries (25.640969ms) -2026-09-27T05:32:51.9636691Z ▶ SessionManager Plan terminal settlement -2026-09-27T05:32:51.9695651Z ✔ a completed root Turn commits the terminal steps the model already reported (6.306126ms) -2026-09-27T05:32:51.9725785Z ✔ a completed root Turn interrupts an execution that never reached a terminal step (0.670481ms) -2026-09-27T05:32:51.9805569Z ✔ a failed or cancelled root Turn interrupts the active execution (3.382925ms) -2026-09-27T05:32:51.9806720Z ✔ a repeated settlement replays the recorded receipt without a second write (754.767767ms) -2026-09-27T05:32:51.9843677Z ✔ settling an execution that already finished writes nothing (292.463637ms) -2026-09-27T05:32:51.9884721Z ✔ a Session without Plan authority settles nothing (0.397412ms) -2026-09-27T05:32:51.9915529Z ✔ SessionManager Plan terminal settlement (1061.61506ms) -2026-09-27T05:32:51.9945468Z ▶ SessionManager graph operator provisioning -2026-09-27T05:32:51.9946401Z ✔ provisions a graph operator before its active supervisor turn returns (38.412102ms) -2026-09-27T05:32:51.9947358Z ✔ serializes graph operator provisioning with parent permission narrowing (6.331004ms) -2026-09-27T05:32:51.9948432Z ✔ snapshots a catalog agent into a metadata-only child with reserved activation ids (1.150667ms) -2026-09-27T05:32:51.9949504Z ✔ provisions a graph child on an explicit plugin executor without Maka tools (0.940603ms) -2026-09-27T05:32:51.9950582Z ✔ keeps four large graph branches and a replacement off the supervisor data plane (206.290481ms) -2026-09-27T05:32:51.9951691Z ✔ does not advertise implementation when the current project cannot use worktrees (0.959784ms) -2026-09-27T05:32:51.9952686Z ✔ binds implementation operators to a durable project worktree (1.465829ms) -2026-09-27T05:32:51.9953677Z ✔ recovers only the latest unpublished implementation patch idempotently (2.203967ms) -2026-09-27T05:32:51.9954730Z ✔ SessionManager graph operator provisioning (261.970283ms) -2026-09-27T05:32:51.9955448Z ▶ SessionManager claimed graph intent execution -2026-09-27T05:32:51.9956249Z ✔ fails closed without a trusted hosted graph execution capability (1.231086ms) -2026-09-27T05:32:51.9957275Z ✔ hosted execution reads the trusted claim and delegates the exact root descriptor (10.525526ms) -2026-09-27T05:32:51.9958397Z ✔ hosted execution rejects prompt drift from the durable graph claim before admission (0.848452ms) -2026-09-27T05:32:51.9959457Z ✔ hosted retry reuses an admitted user message identity before a Run exists (2.681749ms) -2026-09-27T05:32:51.9960476Z ✔ hosted retry rejects an existing Run without its durable RootTurn admission (1.197769ms) -2026-09-27T05:32:51.9961431Z ✔ hosted explicit abort stops only the exact claimed root identity (5.052537ms) -2026-09-27T05:32:51.9962367Z ✔ recovers a pending hosted graph admission without source lineage (1.816758ms) -2026-09-27T05:32:51.9963390Z ✔ runs the exact claimed session-inline activation and durably deduplicates retries (7.72164ms) -2026-09-27T05:32:51.9964529Z ✔ joins concurrent execution of one claim and rejects in-flight input drift (5.332935ms) -2026-09-27T05:32:51.9995104Z ✔ serializes different claims per child session without letting a queued abort stop active work (20.390844ms) -2026-09-27T05:32:51.9996794Z ✔ evaluates execution admission only after a claimed child-session slot is available (15.121257ms) -2026-09-27T05:32:51.9998048Z ✔ keeps a stop pending across graph admission with an idle cached backend (10.221333ms) -2026-09-27T05:32:51.9999294Z ✔ runtime stop settles queued graph claims without letting their slots pass the active claim (19.033725ms) -2026-09-27T05:32:52.0000559Z ✔ recovers an existing nonterminal claimed run without invoking the backend again (14.152576ms) -2026-09-27T05:32:52.0002192Z ✔ target Session stop owns a claimed graph execution before its first runtime preflight (17.777449ms) -2026-09-27T05:32:52.0003553Z ✔ fails closed before runtime when claim routing collides or targets a main session (2.096941ms) -2026-09-27T05:32:52.0054921Z ✔ SessionManager claimed graph intent execution (140.086268ms) -2026-09-27T05:32:52.0055875Z ▶ SessionManager child-session runtime primitive -2026-09-27T05:32:52.0056753Z ✔ runs an explicitly delegated child through a plugin executor with no Maka tools (8.500937ms) -2026-09-27T05:32:52.0057821Z ✔ creates a fresh read-only child with a session-inline first run and no parent history (19.936178ms) -2026-09-27T05:32:52.0058939Z ✔ freezes a configured subagent model target independently from the parent (9.886456ms) -2026-09-27T05:32:52.0059885Z ✔ tells callers to retry when a subagent preset profile changes during spawn (3.390361ms) -2026-09-27T05:32:52.0060767Z ✔ child sessions preserve an explicit no-project association (7.225517ms) -2026-09-27T05:32:52.0061782Z ✔ hosted child spawn joins the exact in-flight identity and rejects request drift (13.074162ms) -2026-09-27T05:32:52.0062889Z ✔ starts a metadata-only retry once, notifies once, and rechecks cancellation (13.224243ms) -2026-09-27T05:32:52.0086067Z ✔ reopens a child from its exact runtime snapshot after the builtin profile changes (19.219414ms) -2026-09-27T05:32:52.0087125Z ✔ reopens after restart with isolated history, tool activity, usage, and compaction (30.726721ms) -2026-09-27T05:32:52.0088099Z ✔ recovers an idempotent retry whose persisted initial run is no longer active (5.855298ms) -2026-09-27T05:32:52.0089069Z ✔ requires the exact parent run to remain active before admitting child work (9.204591ms) -2026-09-27T05:32:52.0089958Z ✔ admits child work through an external parent-run authority (7.703467ms) -2026-09-27T05:32:52.0090908Z ✔ child stop is isolated while parent stop reaches every foreground child session (11.190658ms) -2026-09-27T05:32:52.0091881Z ✔ observes a rejected hosted stop while child lookup is pending (12.451632ms) -2026-09-27T05:32:52.0092741Z ✔ observes a rejected direct stop while hosted child lookup is pending (5.933145ms) -2026-09-27T05:32:52.0093738Z ✔ startup recovery reads Runtime handoff evidence only for a domain-owned active Plan (1.603528ms) -2026-09-27T05:32:52.0094926Z ✔ startup recovery reads Plan evidence only for inventory candidates (3.773487ms) -2026-09-27T05:32:52.0095989Z ✔ startup recovery repairs an interrupted child inline run only in the child session (4.532107ms) -2026-09-27T05:32:52.0097090Z ✔ SessionManager child-session runtime primitive (206.923866ms) -2026-09-27T05:32:52.0097913Z ▶ SessionManager manual compaction and quiescent session changes -2026-09-27T05:32:52.0098797Z ✔ runs backend history compaction as a runtime turn and persists diagnostics (10.927187ms) -2026-09-27T05:32:52.0099799Z ✔ manual compaction settles one canonical record for the run the kernel opened (286.661553ms) -2026-09-27T05:32:52.0100754Z ✔ persists one visible warning when manual compaction fails open (17.773753ms) -2026-09-27T05:32:52.0101662Z ✔ persists exactly one context_compacted note when manual compaction succeeds (2.240737ms) -2026-09-27T05:32:52.0102593Z ✔ persists a fail-open note when the backend throws during manual compaction (11.77241ms) -2026-09-27T05:32:52.0103549Z ✔ manual compaction stopped before backend start does not write compact artifacts (5.657578ms) -2026-09-27T05:32:52.0205046Z ✔ cold manual compaction normalizes only its execution cancellation reason (11.335241ms) -2026-09-27T05:32:52.0206478Z ✔ stopSession waits for compaction blocked before Run reservation (1.053288ms) -2026-09-27T05:32:52.0207532Z ✔ manual compaction is stopped through the active runtime run lifecycle (5.605963ms) -2026-09-27T05:32:52.0208639Z ✔ compactSession rejects while a turn is running and writes no compact artifacts (4.865322ms) -2026-09-27T05:32:52.0209798Z ✔ configuration transitions fence active runs and unavailable resource side effects (6.127043ms) -2026-09-27T05:32:52.0211326Z ✔ configuration transitions clear a connection block only on explicit Host authority (2.263407ms) -2026-09-27T05:32:52.0212690Z ✔ workspace relocation uses the same quiescent revision fence as execution configuration (0.932895ms) -2026-09-27T05:32:52.0213795Z ✔ configuration transitions reject a claimed turn without waiting for it to settle (1.336113ms) -2026-09-27T05:32:52.0215062Z ✔ a claimed turn waits for an in-flight session mutation before reading its header (21.359234ms) -2026-09-27T05:32:52.0216185Z ✔ backend refresh propagates delayed disposal failure after an active turn settles (6.457995ms) -2026-09-27T05:32:52.0217305Z ✔ backend refresh joins an in-flight best-effort disposal and observes its failure (3.66371ms) -2026-09-27T05:32:52.0218509Z ✔ backend activation waits for disposal and a later mutation invalidates its replacement (16.679396ms) -2026-09-27T05:32:52.0219681Z ✔ backend refresh invalidates only cached sessions without listing persisted history (7.286468ms) -2026-09-27T05:32:52.0220774Z ✔ SessionManager manual compaction and quiescent session changes (425.773809ms) -2026-09-27T05:32:52.0221564Z ▶ SessionManager permission mode updates -2026-09-27T05:32:52.0222404Z ✔ preserves the plugin executor when widening permission with an active turn (2.082255ms) -2026-09-27T05:32:52.0223558Z ✔ configuration authority rejects a stale revision without changing the committed grant (4.717344ms) -2026-09-27T05:32:52.0224830Z ✔ serializes configuration commits that observed the same execution boundary (385.977876ms) -2026-09-27T05:32:52.0226016Z ✔ rejects unprotected boundary commits when admission mutation authority is unavailable (2.167632ms) -2026-09-27T05:32:52.0227182Z ✔ retains a permission refresh during backend header until the admitted turn exits (6.70655ms) -2026-09-27T05:32:52.0228308Z ✔ retains a permission refresh during backend safety until the admitted turn exits (13.812799ms) -2026-09-27T05:32:52.0229458Z ✔ retains a permission refresh during backend admission until the admitted turn exits (8.026041ms) -2026-09-27T05:32:52.0230657Z ✔ retains a permission refresh during backend activation_gate until the admitted turn exits (1.495095ms) -2026-09-27T05:32:52.0231832Z ✔ retains a permission refresh during backend prepare until the admitted turn exits (8.583722ms) -2026-09-27T05:32:52.0232856Z ✔ retains a permission refresh during backend build until the admitted turn exits (6.376986ms) -2026-09-27T05:32:52.0233874Z ✔ strict refresh marks cold snapshots without waiting for the policy gate (4.785652ms) -2026-09-27T05:32:52.0305573Z ✔ a pre-activation refresh does not retain a cancelled admission (1.734218ms) -2026-09-27T05:32:52.0306498Z ✔ a pre-activation refresh does not retain a failed admission (2.986838ms) -2026-09-27T05:32:52.0307321Z ✔ settles a backend refresh when an in-flight build fails (7.557968ms) -2026-09-27T05:32:52.0308169Z ✔ revokes background shell authority before narrowing Auto to Explore (0.752096ms) -2026-09-27T05:32:52.0309235Z ✔ treats an expanded Explore profile as narrowing before restoring Explore (5.278803ms) -2026-09-27T05:32:52.0310619Z ✔ restoring Explore revokes an approved read through configuration authority (277.756033ms) -2026-09-27T05:32:52.0311716Z ✔ restoring Explore revokes an approved write through configuration authority (260.87531ms) -2026-09-27T05:32:52.0312803Z ✔ restoring Explore revokes an approved network through configuration authority (273.87601ms) -2026-09-27T05:32:52.0313865Z ✔ configuration narrowing revokes descendant background shell authority (5.371678ms) -2026-09-27T05:32:52.0314996Z ✔ keeps narrowing blocked until all overlapping turns finish (6.132562ms) -2026-09-27T05:32:52.0316076Z ✔ legacy research Sessions stay read-only after restart until explicitly changed (1.067446ms) -2026-09-27T05:32:52.0317243Z ✔ configuration changes require Store capability: readHeaderRecordSnapshot (0.41071ms) -2026-09-27T05:32:52.0318337Z ✔ configuration changes require Store capability: updateSessionConfiguration (0.202822ms) -2026-09-27T05:32:52.0319578Z ✔ starts a new turn without workspace identity when safety inspection fails (4.525559ms) -2026-09-27T05:32:52.0320653Z ✔ records handoff workspace identity even while manual resume is disabled (1.552921ms) -2026-09-27T05:32:52.0321770Z ✔ declares the T1 protocol for an AiSdk run when the host wires the durable boundary (4.6034ms) -2026-09-27T05:32:52.0322917Z ✔ plans continuation from authoritative host facts without caller-supplied safety claims (18.381523ms) -2026-09-27T05:32:52.0324009Z ✔ parks when authoritative continuation safety inspection fails (0.562763ms) -2026-09-27T05:32:52.0325202Z ✔ keeps the authoritative continuation entry disabled unless the host enables it (0.246152ms) -2026-09-27T05:32:52.0326279Z ✔ discovers the newest resumable top-level source run from durable state (13.108231ms) -2026-09-27T05:32:52.0327352Z ✔ fresh-turn tool policy changes only new runs and preserves Session defaults (6.699455ms) -2026-09-27T05:32:52.0328425Z ✔ RuntimeKernel drives the backend while preserving the SessionEvent stream (1.942538ms) -2026-09-27T05:32:52.0329404Z ✔ the invocation opening fact is durable before any dispatch (7.990972ms) -2026-09-27T05:32:52.0330334Z ✔ a rejected opening fact stops the turn before the backend can dispatch (8.308205ms) -2026-09-27T05:32:52.0331331Z ✔ snapshots mutable turn content before durable commit and backend dispatch (2.670179ms) -2026-09-27T05:32:52.0332112Z ✔ RuntimeKernel preserves the per-turn step cap through backend dispatch (64.230507ms) -2026-09-27T05:32:52.0333122Z ✔ manual continuation preserves sandbox denial authority: client_denied (32.920002ms) -2026-09-27T05:32:52.0334142Z ✔ manual continuation preserves sandbox denial authority: turn_stopped (23.067562ms) -2026-09-27T05:32:52.0395894Z ✔ manual continuation preserves sandbox denial authority: turn_terminal (16.891677ms) -2026-09-27T05:32:52.0397043Z ✔ manual continuation preserves sandbox denial authority: host_restarted (16.287051ms) -2026-09-27T05:32:52.0398081Z ✔ manual continuation preserves sandbox denial authority: missing_reader (7.647062ms) -2026-09-27T05:32:52.0399087Z ✔ executes an approved continuation after a path move without another user message (36.711387ms) -2026-09-27T05:32:52.0400166Z ✔ authenticates the exact target-aware continuation projection that reaches the provider (129.87418ms) -2026-09-27T05:32:52.0401140Z ✔ strict backend refresh settles after an active continuation finalizes (22.932703ms) -2026-09-27T05:32:52.0402108Z ✔ parks repeated planning after the source run already produced a continuation (32.745458ms) -2026-09-27T05:32:52.0403063Z ✔ rejects continuation while a normal turn is still registering (16.149792ms) -2026-09-27T05:32:52.0404079Z ✔ rejects a stale second plan after another continuation claims the same source (23.40802ms) -2026-09-27T05:32:52.0405247Z ✔ serializes concurrent continuation claims for the same source boundary (24.688208ms) -2026-09-27T05:32:52.0406263Z ✔ does not call the backend and claim recovery closes a continuation-start persistence failure (24.79325ms) -2026-09-27T05:32:52.0407627Z ✔ stop after the durable continuation-start commit fences backend dispatch (15.32944ms) -2026-09-27T05:32:52.0408628Z ✔ does not call the backend when the durable continuation claim cannot be created (15.128983ms) -2026-09-27T05:32:52.0409696Z ✔ refuses a planned continuation whose source ledger changed after planning (5.894784ms) -2026-09-27T05:32:52.0410837Z ✔ startup recovery retries claim-only terminal projection without dispatching the provider (25.492076ms) -2026-09-27T05:32:52.0412027Z ✔ rejects continuation when the authoritative workspace identity changes after planning (6.742805ms) -2026-09-27T05:32:52.0413052Z ✔ requires exact tool-catalog equality between continuation planning and execution (20.598796ms) -2026-09-27T05:32:52.0414105Z ✔ revalidates continuation safety inside the backend activation barrier (4.455056ms) -2026-09-27T05:32:52.0415574Z ✔ fails closed when continuation execution has no authoritative safety inspector (5.731117ms) -2026-09-27T05:32:52.0416569Z ✔ sendMessage completes interrupted imported history beside native runs (12.910935ms) -2026-09-27T05:32:52.0417526Z ✔ sendMessage admits assistant-first repaired history at a user boundary (76.069218ms) -2026-09-27T05:32:52.0418470Z ✔ sendMessage rejects an imported Session while its history is staging (0.464998ms) -2026-09-27T05:32:52.0419450Z ✔ sendMessage replays a prior run left non-terminal by an unanswered interaction (4.357382ms) -2026-09-27T05:32:52.0420567Z ✔ RuntimeReadModel projects messages turns and terminal facts without SessionStore messages (1.105777ms) -2026-09-27T05:32:52.0421650Z ✔ SessionManager projects hosted permission details from the canonical outcome (2.815632ms) -2026-09-27T05:32:52.0422662Z ✔ SessionManager joins a canonical hosted permission without a ledger request (0.735384ms) -2026-09-27T05:32:52.0423606Z ✔ RuntimeReadModel fails closed for a missing or mismatched hosted permission outcome (3.216449ms) -2026-09-27T05:32:52.0484916Z ✔ RuntimeReadModel bounds concurrent hosted permission outcome reads (4.155122ms) -2026-09-27T05:32:52.0486015Z ✔ RuntimeReadModel excludes child runs from the default session transcript (0.999383ms) -2026-09-27T05:32:52.0486948Z ✔ projection/cache mismatch does not override RuntimeEvent read output (0.571306ms) -2026-09-27T05:32:52.0487923Z ✔ getMessages repairs missing failed header class from an existing terminal RuntimeEvent (0.891031ms) -2026-09-27T05:32:52.0488983Z ✔ getMessages leaves a failed terminal RuntimeEvent that states no class alone (4.011155ms) -2026-09-27T05:32:52.0490107Z ✔ getMessages includes continuation output without inlining child agent output (1.155366ms) -2026-09-27T05:32:52.0491048Z ✔ getMessages reads an active run from its own ledger (4.189187ms) -2026-09-27T05:32:52.0491936Z ✔ getMessages overlays a canonical permission acceptance from a running ledger (0.76167ms) -2026-09-27T05:32:52.0493004Z ✔ the in-flight overlay keeps a pending sandbox boundary request visible in the view (0.697847ms) -2026-09-27T05:32:52.0494124Z ✔ mixed projection-cache-only system notes do not override RuntimeEvent projection (0.651272ms) -2026-09-27T05:32:52.0495474Z ✔ getMessages orders RuntimeEvent-primary reads by durable session chronology (1.568188ms) -2026-09-27T05:32:52.0496590Z ✔ multi-run RuntimeEvent projection preserves retry regenerate and branch lineage on turns (3.302831ms) -2026-09-27T05:32:52.0497897Z ✔ next turn projects failed prior RuntimeEvents with the terminal fact failure class (6.649862ms) -2026-09-27T05:32:52.0498936Z ✔ next parent turn excludes child run RuntimeEvents from model context (3.669022ms) -2026-09-27T05:32:52.0499890Z ✔ stopSession owns an active Run and a parent turn admitted before reservation (10.090381ms) -2026-09-27T05:32:52.0500826Z ✔ a factory AbortError is not normalized as execution cancellation (1.042595ms) -2026-09-27T05:32:52.0501728Z ✔ stop signal cooperatively releases a blocked backend factory (1.205487ms) -2026-09-27T05:32:52.0502748Z ✔ node timers AbortError is cancellation only when its cause is this execution stop (1.043831ms) -2026-09-27T05:32:52.0504182Z ✔ late ignored-signal backend is disposed once and never cached or dispatched (9.017691ms) -2026-09-27T05:32:52.0505502Z ✔ late cancelled backend disposal failure propagates as an AggregateError (5.908319ms) -2026-09-27T05:32:52.0506479Z ✔ concurrent stopSession calls share one stop attempt (1.884253ms) -2026-09-27T05:32:52.0507472Z ✔ stopSession waits for a registering turn and fences it before backend send (10.659547ms) -2026-09-27T05:32:52.0508503Z ✔ stopSession fences dispatch after the public onRunStarted hook (4.215687ms) -2026-09-27T05:32:52.0509461Z ✔ concurrent cold turns share one backend generation without accepting an ownerless response (8.275433ms) -2026-09-27T05:32:52.0510472Z ✔ stopSession retries an unsettled abort without a second backend stop (8.228249ms) -2026-09-27T05:32:52.0511778Z ✔ stopSession retains a failed projection after its Run exits without reentering backend stop (1.736673ms) -2026-09-27T05:32:52.0513023Z ✔ agent projections list catalog definitions separately from child runs and read output artifacts by child turn (7.854182ms) -2026-09-27T05:32:52.0514215Z ✔ child agent projections use the terminal RuntimeEvent fact when the child header is stale (0.915779ms) -2026-09-27T05:32:52.0576023Z ✔ agent output returns a bounded child inspection instead of full replay internals (7.885561ms) -2026-09-27T05:32:52.0577108Z ✔ agent output bounds oversized runtime events by serialized bytes (1.76765ms) -2026-09-27T05:32:52.0578114Z ✔ backend build failure after user append writes a failed terminal run fact (4.630236ms) -2026-09-27T05:32:52.0579170Z ✔ marks a sandbox boundary request waiting and blocks boundary mode changes (5.152909ms) -2026-09-27T05:32:52.0580176Z ✔ lists an unanswered user question until its answer ack lands (115.629524ms) -2026-09-27T05:32:52.0581103Z ✔ releases a question abandoned by a stopped turn (105.141739ms) -2026-09-27T05:32:52.0581963Z ✔ reads a completed session back after a sandbox boundary allow (9.056952ms) -2026-09-27T05:32:52.0582942Z ✔ reads a completed session back with an unclaimed control fact in its ledger (8.208724ms) -2026-09-27T05:32:52.0583873Z ✔ refuses a session view when an unclaimed event carries content (7.69185ms) -2026-09-27T05:32:52.0585044Z ✔ complete(stopReason=error) without a prior error event classifies as runtime_error not unknown (1.590587ms) -2026-09-27T05:32:52.0586100Z ✔ marks an explicit step limit incomplete without blocking the session (7.523715ms) -2026-09-27T05:32:52.0587021Z ✔ does not let a late complete event overwrite a prior turn error (7.659488ms) -2026-09-27T05:32:52.0587931Z ✔ stopSession records renderer abort source for diagnostics (1.304802ms) -2026-09-27T05:32:52.0588982Z ✔ stopSession persists abortSource on a terminal RuntimeEvent emitted during backend stop (3.694523ms) -2026-09-27T05:32:52.0590117Z ✔ sendMessage does not emit or persist backend events after the first terminal event (8.656613ms) -2026-09-27T05:32:52.0591215Z ✔ sendMessage ignores backend errors thrown after a completed terminal event is recorded (13.739881ms) -2026-09-27T05:32:52.0592277Z ✔ stopSession keeps aborted state even if the backend emits a late error (2.070074ms) -2026-09-27T05:32:52.0593353Z ✔ durable run ledger records lifecycle trace events and redacts obvious secrets (8.905219ms) -2026-09-27T05:32:52.0594791Z ✔ history compact cleanup includes continuation events without including child agent events (23.922831ms) -2026-09-27T05:32:52.0595743Z ✔ persists an explicit same-coverage successor checkpoint (11.216747ms) -2026-09-27T05:32:52.0596656Z ✔ rejects checkpoint recording after the current AgentRun store becomes unavailable (2.09313ms) -2026-09-27T05:32:52.0597814Z ✔ recovers a missing projection before rejecting a shorter cold-start checkpoint (10.501567ms) -2026-09-27T05:32:52.0598982Z ✔ startup recovery unsticks a legacy transcript Session and its import settles the turns (22.400008ms) -2026-09-27T05:32:52.0600089Z ✔ startup recovery settles arbitrary dispatched tools before terminalizing the run (17.003291ms) -2026-09-27T05:32:52.0601421Z ✔ startup recovery does not leave stale permission waits stuck (6.471075ms) -2026-09-27T05:32:52.0602417Z ✔ startup recovery keeps the generic restart class for an answered boundary request (6.448021ms) -2026-09-27T05:32:52.0603332Z ✔ SessionManager permission mode updates (2582.719562ms) -2026-09-27T05:32:52.0603903Z ▶ session projection helpers -2026-09-27T05:32:52.0664961Z ✔ binds WorkHub Stop provenance to one valid action identity (2.138284ms) -2026-09-27T05:32:52.0666316Z ✔ buildStatusPatch normalizes blocked reasons and clears non-blocked reasons (1.063081ms) -2026-09-27T05:32:52.0667366Z ✔ projects terminal run statuses and session terminal events (0.552757ms) -2026-09-27T05:32:52.0668321Z ✔ projects turn terminal events without changing failure classes (0.291769ms) -2026-09-27T05:32:52.0669379Z ✔ session projection helpers (6.047627ms) -2026-09-27T05:32:52.0670344Z ✔ session recap drops a repaired Assistant prefix before its provider request (10.584367ms) -2026-09-27T05:32:52.0671402Z ✔ session recap bounds its request to the newest complete turns (1.085723ms) -2026-09-27T05:32:52.0672419Z ✔ session recap keeps bounded evidence from one oversized latest turn (2.027306ms) -2026-09-27T05:32:52.0673602Z ✔ session recap includes a concise durable outcome without tool protocol or raw output (5.517736ms) -2026-09-27T05:32:52.0674790Z ✔ session recap budgets only the evidence it sends (8.102865ms) -2026-09-27T05:32:52.0675671Z ✔ session recap carries the quoted excerpt of a structured-only message (0.537421ms) -2026-09-27T05:32:52.0676561Z ✔ session recap excludes model-hidden tool outcomes (0.325938ms) -2026-09-27T05:32:52.0677558Z ✔ session recap treats a zero evidence budget as no evidence, not unbounded input (2.690725ms) -2026-09-27T05:32:52.0678744Z ✔ todo_read returns the complete committed snapshot and names empty distinctly (12.145081ms) -2026-09-27T05:32:52.0679806Z ✔ todo_write renders only the store-returned committed snapshot (1.645599ms) -2026-09-27T05:32:52.0680760Z ✔ todo_write names a successful clear and propagates failure (1.493976ms) -2026-09-27T05:32:52.0681846Z ✔ tool schemas enforce the exact bounded document while counting Unicode characters (5.930865ms) -2026-09-27T05:32:52.0682915Z ✔ todo tool results use the shared display-safe content projection (4.665424ms) -2026-09-27T05:32:52.0683610Z ▶ session trace projection -2026-09-27T05:32:52.0684307Z ✔ keeps the same turn identity separate across distinct runs (7.526864ms) -2026-09-27T05:32:52.0685455Z ✔ preserves durable history-compaction route and provider failure facts (2.39359ms) -2026-09-27T05:32:52.0686434Z ✔ an entirely unpriced logical call keeps its step cost absent (0.356276ms) -2026-09-27T05:32:52.0687413Z ✔ a logical call sums its priced retry attempts and ignores unpriced ones (0.449548ms) -2026-09-27T05:32:52.0688464Z ✔ attributes a turn failure to what failed first, not to the terminal error (0.929252ms) -2026-09-27T05:32:52.0689471Z ✔ projects a generic-lane function call as an in-flight tool step (0.886244ms) -2026-09-27T05:32:52.0690390Z ✔ settles a generic-lane tool step from its matching response (1.731314ms) -2026-09-27T05:32:52.0691327Z ✔ prefers the durable dispatch step when a function call also has one (1.855067ms) -2026-09-27T05:32:52.0692425Z ✔ reports a backend that emits no canonical records instead of rendering an idle session (0.556072ms) -2026-09-27T05:32:52.0693512Z ✔ known unreadable evidence makes an otherwise absent backend partial (2.514212ms) -2026-09-27T05:32:52.0754957Z ✔ distinguishes a partially covered session from a wholly uncovered one (6.660148ms) -2026-09-27T05:32:52.0756253Z ✔ a session with no model activity is uncovered rather than incomplete (0.224343ms) -2026-09-27T05:32:52.0757243Z ✔ collapses a re-appended settlement instead of inventing a retry (0.298454ms) -2026-09-27T05:32:52.0758545Z ✔ reports a shortfall when usage stands for more steps than there are calls (1.250303ms) -2026-09-27T05:32:52.0759741Z ✔ a matching turn is reported as no known gap rather than as proven complete (2.014294ms) -2026-09-27T05:32:52.0760733Z ✔ a tool failure the turn recovered from does not fail the turn (0.321033ms) -2026-09-27T05:32:52.0761706Z ✔ an unreadable record is a known gap even with no other evidence of one (0.205323ms) -2026-09-27T05:32:52.0762709Z ✔ a session that is only unreadable records is still a covered session (0.191842ms) -2026-09-27T05:32:52.0763517Z ✔ session trace projection (53.423617ms) -2026-09-27T05:32:52.0763991Z ▶ detectShell -2026-09-27T05:32:52.0764798Z ✔ on win32 picks pwsh from PATH ahead of everything else (7.486326ms) -2026-09-27T05:32:52.0765712Z ✔ on win32 finds pwsh at its default install location when not on PATH (0.268553ms) -2026-09-27T05:32:52.0766679Z ✔ on win32 falls back to Windows PowerShell 5.1 when pwsh is absent (0.252211ms) -2026-09-27T05:32:52.0767607Z ✔ on win32 falls back to cmd.exe when no PowerShell exists (1.743848ms) -2026-09-27T05:32:52.0768451Z ✔ on POSIX platforms keeps the system default shell (0.466401ms) -2026-09-27T05:32:52.0769091Z ✔ detectShell (20.298706ms) -2026-09-27T05:32:52.0769543Z ▶ resolveShellPlan -2026-09-27T05:32:52.0770269Z ✔ keeps automatic detection unchanged when no override is selected (0.445892ms) -2026-09-27T05:32:52.0771216Z ✔ resolves an existing absolute bash.exe on the Windows Host (1.123486ms) -2026-09-27T05:32:52.0772168Z ✔ recognizes the legacy System32 WSL shim as a distinct Bash plan (1.600524ms) -2026-09-27T05:32:52.0773188Z ✔ fails closed for another platform, a relative path, or a missing executable (5.551879ms) -2026-09-27T05:32:52.0774099Z ✔ probes GNU Bash identity before accepting the preference (1.688528ms) -2026-09-27T05:32:52.0774905Z ✔ resolveShellPlan (13.485928ms) -2026-09-27T05:32:52.0775396Z ▶ resolveTurnShellPlan -2026-09-27T05:32:52.0776101Z ✔ resolves a healthy explicit preference into a ready plan (1.552876ms) -2026-09-27T05:32:52.0777178Z ✔ captures a moved or uninstalled executable instead of throwing at turn admission (0.351081ms) -2026-09-27T05:32:52.0778094Z ✔ keeps automatic detection error-free (0.097848ms) -2026-09-27T05:32:52.0778976Z ✔ fails closed at the Bash boundary without falling back to another shell (0.195783ms) -2026-09-27T05:32:52.0779991Z ✔ declares the outage to the model instead of naming a shell that cannot run (0.336678ms) -2026-09-27T05:32:52.0780817Z ✔ resolveTurnShellPlan (3.709476ms) -2026-09-27T05:32:52.0781335Z ▶ buildShellSpawnPlan -2026-09-27T05:32:52.0782072Z ✔ spawns an explicit Git Bash executable with POSIX command syntax (0.257757ms) -2026-09-27T05:32:52.0783125Z ✔ feeds the legacy WSL shim through stdin instead of quoting a command argument (0.252332ms) -2026-09-27T05:32:52.0784183Z ✔ never falls back to the platform shell for a malformed explicit Bash plan (0.308024ms) -2026-09-27T05:32:52.0846033Z ✔ spawns PowerShell explicitly and preserves the command in an isolated script block (0.312887ms) -2026-09-27T05:32:52.0847131Z ✔ appends an exit-code wrapper so native command exit codes survive -Command (1.783904ms) -2026-09-27T05:32:52.0848126Z ✔ keeps shell:true for the system default shells (posix and cmd) (0.195735ms) -2026-09-27T05:32:52.0848843Z ✔ buildShellSpawnPlan (5.465877ms) -2026-09-27T05:32:52.0849348Z ▶ buildPtyShellSpawnPlan -2026-09-27T05:32:52.0850010Z ✔ uses explicit argv for POSIX, cmd, and PowerShell PTYs (0.339454ms) -2026-09-27T05:32:52.0850706Z ✔ buildPtyShellSpawnPlan (0.62604ms) -2026-09-27T05:32:52.5185624Z ✔ new plugin-executor Sessions preserve the selected thinking level (1.046151ms) -2026-09-27T05:32:52.5268987Z ✔ new native Sessions continue using the catalog-resolved thinking level (0.224302ms) -2026-09-27T05:32:52.6463049Z ✔ registers an explicit unassociated Desktop directory as a Project target (7.438834ms) -2026-09-27T05:32:52.6508099Z ✔ preserves an explicit no-Project directory as a Host-path target (0.240171ms) -2026-09-27T05:32:52.6559065Z ✔ uses an explicit Project identity without trusting the Client directory (4.755368ms) -2026-09-27T05:32:52.6616056Z ✔ uses the configured default before the current Project preference (0.386818ms) -2026-09-27T05:32:52.6641015Z ✔ falls back to the current preference when the configured default is stale (0.257915ms) -2026-09-27T05:32:52.6668438Z ✔ falls back to the current Host path when no Project preference exists (0.185578ms) -2026-09-27T05:32:52.6715541Z ✔ requires a Host Project for remote session creation (6.73861ms) -2026-09-27T05:32:53.2146738Z ✔ a Session keeps its own staged quotes, and the new-task bucket keeps its own (79.792367ms) -2026-09-27T05:32:53.2367834Z ✔ a completing send clears the attachments it submitted (21.931899ms) -2026-09-27T05:32:53.2918935Z ✔ AppShell composition shows the localized non-vision image notice once per task (57.495946ms) -2026-09-27T05:32:53.2986164Z ✔ retracted queue attachments can be restored and submitted without re-ingest (7.343304ms) -2026-09-27T05:32:53.3090306Z ✔ files chosen in the native dialog land in the composer now on screen (6.533739ms) -2026-09-27T05:32:53.3145850Z ✔ files dropped while a session switch is mid-sniff land in the composer now on screen (8.930173ms) -2026-09-27T05:32:53.3232931Z ✔ dropped files stage by content: a real image named .pdf notices, a disguised .png does not (5.848033ms) -2026-09-27T05:32:53.3294328Z ✔ a failed leading-byte read downgrades the declared image claim rather than trusting it (6.218608ms) -2026-09-27T05:32:53.4173232Z ✔ gates native notifications through every required condition (1.275325ms) -2026-09-27T05:32:53.4202134Z ✔ sanitizes notification content, caps it, and falls back per field (2.097863ms) -2026-09-27T05:32:53.4240350Z ▶ useOAuthLoginFlow pending-action guard -2026-09-27T05:32:53.4261755Z ✔ admits the first action and rejects a concurrent second one (1.021078ms) -2026-09-27T05:32:53.4296826Z ✔ re-admits an action only after the pending one finishes (1.271601ms) -2026-09-27T05:32:53.4325663Z ✔ useOAuthLoginFlow pending-action guard (9.889177ms) -2026-09-27T05:32:53.4332292Z ▶ useOAuthLoginFlow cancel-on-unmount -2026-09-27T05:32:53.4363003Z ✔ cancels a still-pending authorization request and clears the holder (6.950714ms) -2026-09-27T05:32:53.4385581Z ✔ does nothing when no authorization request is pending (0.18924ms) -2026-09-27T05:32:53.4419566Z ✔ clears the holder before cancelling so re-entrancy cannot double-cancel (0.210041ms) -2026-09-27T05:32:53.4423872Z ✔ useOAuthLoginFlow cancel-on-unmount (7.724389ms) -2026-09-27T05:32:53.7126799Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:32:53.7166265Z ▶ ACP tools through the official SDK, child process and Runtime Host -2026-09-27T05:32:53.7229585Z ✔ rejects conflicting live-client MCP takeover and applies it after the original owner closes (19368.743222ms) -2026-09-27T05:32:53.7455884Z ▶ runShellWithBoundedTail -2026-09-27T05:32:53.7499468Z ✔ writes a legacy WSL Bash command through stdin (21.399663ms) -2026-09-27T05:32:53.7549628Z ✔ keeps only the bounded tail of large output (never killed by size) (6.853262ms) -2026-09-27T05:32:53.7652717Z ✔ captures stderr and a non-zero exit code as data (does not reject) (5.580665ms) -2026-09-27T05:32:53.7733449Z ✔ times out a slow command, kills it, and reports timedOut (206.98883ms) -2026-09-27T05:32:53.7785742Z ✔ does not spawn a process for an already-aborted invocation (12.567792ms) -2026-09-27T05:32:53.7871306Z ✔ bounds output drain after the root exits while a detached descendant retains stdout (223.351519ms) -2026-09-27T05:32:53.7926380Z ✔ on timeout, escalates SIGTERM->SIGKILL and resolves only after the child is actually dead (634.707725ms) -2026-09-27T05:32:53.8026092Z ✔ on abort, kills detached descendants of a directly spawned process (202.851038ms) -2026-09-27T05:32:53.8052488Z ✔ keeps the bounded tail of oversized output without a newline (135.554523ms) -2026-09-27T05:32:53.8155331Z ✔ spawns a detected PowerShell explicitly with non-interactive flags (not via shell:true) (10.985668ms) -2026-09-27T05:32:53.8255958Z ✔ a native command exit code survives the PowerShell -Command path (requires pwsh) (1620.608849ms) -2026-09-27T05:32:53.8346322Z ✔ deliberate boundary: earlier native exit code wins over a final cmdlet failure (requires pwsh) (4245.019472ms) -2026-09-27T05:32:53.8405704Z ✔ emits every chunk live via emitOutput (14.811496ms) -2026-09-27T05:32:53.8455763Z ✔ caps live emitOutput per stream with a single suppressed marker (result keeps full tail) (12.144784ms) -2026-09-27T05:32:53.8535629Z ✔ killWindowsTree resolves false when taskkill cannot act on the target (5.644573ms) -2026-09-27T05:32:53.8556153Z ✔ runShellWithBoundedTail (7362.415061ms) -2026-09-27T05:32:54.0770439Z ✔ renders a coded Copilot import failure per locale, ignoring its machine message (1.198726ms) -2026-09-27T05:32:54.0881874Z ✔ renders the typed experimental_disabled reason per locale (0.224054ms) -2026-09-27T05:32:54.0918009Z ✔ renders the typed login_in_progress and presentation_failed reasons per locale (0.219134ms) -2026-09-27T05:32:54.0965215Z ✔ presentation prose no longer hijacks the presenter after the regex removal (1.776833ms) -2026-09-27T05:32:54.1036265Z ✔ falls back to catalog copy for an unknown code instead of the raw message (4.403782ms) -2026-09-27T05:32:54.1136045Z ✔ renders provider rate limits consistently from the stable status code (0.294012ms) -2026-09-27T05:32:54.1245792Z ✔ rejects raw backend prose for Traditional Chinese subscription errors (0.518679ms) -2026-09-27T05:32:54.1310103Z ▶ ShellRunProcessManager -2026-09-27T05:32:54.1385916Z ✔ rejects a model Read of a user-owned resource while preserving client inspection (420.116264ms) -2026-09-27T05:32:54.1439378Z ✔ rejects unprojectable provider tool-call identities before durable admission (177.546033ms) -2026-09-27T05:32:54.1456245Z ✔ keeps the default pipe path raw, separated, durable, and observed (278.19082ms) -2026-09-27T05:32:54.1457587Z ﹣ preserves CJK PowerShell output through pipes (0.372805ms) # Windows PowerShell 5.1 regression -2026-09-27T05:32:54.1458869Z ﹣ preserves the requested cwd through a real Git Bash login PTY (0.159069ms) # Git Bash PTY regression -2026-09-27T05:32:54.1459957Z ✔ uses the shared explicit PowerShell pipe plan (221.69088ms) -2026-09-27T05:32:54.1460973Z ✔ runs explicit argv and supplies inherited fd payloads on the pipe path (332.834622ms) -2026-09-27T05:32:54.1462051Z ✔ keeps foreground execution bounded and rejects PTY promotion (251.212498ms) -2026-09-27T05:32:54.1463126Z ✔ persists a late ConPTY PID on read without new output (481.290855ms) -2026-09-27T05:32:54.1464132Z ✔ persists a late ConPTY PID on exit without new output (344.32241ms) -2026-09-27T05:32:54.1465471Z ✔ hands off a long pipe command without output and publishes monotonic revisions (522.389174ms) -2026-09-27T05:32:54.1466822Z ✔ notifies resource owners when foreground and background commands reach terminal state (353.30596ms) -2026-09-27T05:32:54.1468409Z ✔ notifies resource owners exactly once when startup fails before admission (213.453563ms) -2026-09-27T05:32:54.1469722Z ✔ commits a durable starting identity before the native pipe process spawns (287.194203ms) -2026-09-27T05:32:54.1471006Z ✔ session close and runtime shutdown fence pipe startups blocked in durable creation (433.687886ms) -2026-09-27T05:32:54.1472178Z ✔ rechecks the session fence after the durable running commit (318.80647ms) -2026-09-27T05:32:54.1473279Z ✔ applies only explicit background timeouts and enforces their upper bound (281.843854ms) -2026-09-27T05:32:54.1475016Z ✔ latches timeout when the root exits during POSIX process discovery (420.515791ms) -2026-09-27T05:32:54.1476251Z ✔ preserves cancellation when timeout fires during POSIX process discovery (276.115207ms) -2026-09-27T05:32:54.1477460Z ✔ aborting foreground Bash terminates the process without leaking a ref (318.140074ms) -2026-09-27T05:32:54.1478614Z ✔ fences PTY starts admitted before session close and runtime shutdown (703.373425ms) -2026-09-27T05:32:54.1479846Z ✔ keeps overlapping session close leases isolated through rollback and commit (457.30995ms) -2026-09-27T05:32:54.3685558Z ✔ gives exactly one concurrent StopBackgroundTask call termination ownership (252.213379ms) -2026-09-27T05:32:54.8635587Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:32:54.8967836Z ✔ ignores a Stop abort that occurs after another admitted Stop commits termination (526.834135ms) -2026-09-27T05:32:55.3306807Z ✔ closes PTY control admission synchronously when Stop is admitted (435.461821ms) -2026-09-27T05:32:55.7306681Z ✔ closes PTY control at its mutation cut when shutdown starts after admission (397.077974ms) -2026-09-27T05:32:56.1849019Z ✔ reopens PTY control only after every pre-commit Stop has aborted (458.043321ms) -2026-09-27T05:32:56.6642908Z ✔ keeps a pipe task alive when Stop aborts during process-tree preparation (479.783944ms) -2026-09-27T05:32:56.9376657Z ✔ a remote Owner delta is scoped and a later failed full read keeps its last projection (931.120206ms) -2026-09-27T05:32:57.0025225Z ✔ keeps a PTY task controllable when Stop aborts during process-tree preparation (331.435019ms) -2026-09-27T05:32:57.2526929Z ✔ recovers durable starting and running records without live handles as orphaned (251.930762ms) -2026-09-27T05:32:57.4357934Z ✔ concurrent orphan observers converge on the same durable terminal record (187.284631ms) -2026-09-27T05:32:57.5249493Z ✔ a Renderer Session event crosses preload to only its owning Host update (594.616344ms) -2026-09-27T05:32:57.7166300Z ✔ keeps unauthorized refs non-disclosing and rejects malformed selectors before storage (272.929976ms) -2026-09-27T05:32:58.1191716Z ✔ an older complete read cannot erase a newer targeted outcome (587.626254ms) -2026-09-27T05:32:58.1310390Z ✔ runs with real TTY stdin/stdout at 80x24 and preserves the shell exit code (412.649633ms) -2026-09-27T05:32:58.1336950Z ﹣ preserves CJK PowerShell output through a real PTY (0.303552ms) # Windows PowerShell 5.1 regression -2026-09-27T05:32:58.1355430Z ﹣ preserves the caller environment through a PowerShell PTY (0.122283ms) # Windows PowerShell 5.1 regression -2026-09-27T05:32:58.2224904Z ✔ first and last Session use targeted reads and preserve the settled milestone (14.970741ms) -2026-09-27T05:32:58.2256397Z ✔ global credential changes rebuild active and rail readiness from Core rules (0.727641ms) -2026-09-27T05:32:58.2305703Z ✔ a named change reads one row and never lists the catalog again (31.325712ms) -2026-09-27T05:32:58.2359128Z ✔ failed targeted reads leave the accepted baseline intact (1.147546ms) -2026-09-27T05:32:58.2429214Z ✔ an update before initial coverage requests a resync (0.285238ms) -2026-09-27T05:32:58.2483918Z ✔ a complete read waits for an in-flight targeted read before replacing its basis (0.779755ms) -2026-09-27T05:32:58.2507383Z ✔ a targeted read arriving during a complete read uses the newly accepted basis (0.725569ms) -2026-09-27T05:32:58.2545660Z ✔ a milestone write waits for an in-flight targeted read (0.84625ms) -2026-09-27T05:32:58.2632849Z ▶ open path guard -2026-09-27T05:32:58.2668731Z ✔ rejects the retired Skills key even when the compatibility folder exists (38.858534ms) -2026-09-27T05:32:58.2743420Z ✔ resolves known allowlisted keys inside workspace (20.185588ms) -2026-09-27T05:32:58.2822000Z ✔ resolves the main-owned project directory without accepting renderer paths (8.878296ms) -2026-09-27T05:32:58.2835436Z ✔ rejects unknown keys, missing targets, and files (8.261448ms) -2026-09-27T05:32:58.2932034Z ✔ rejects renderer attempts to pass paths or URLs as keys (3.260802ms) -2026-09-27T05:32:58.2976397Z ✔ rejects symlink escapes from inside an allowed directory (5.118468ms) -2026-09-27T05:32:58.3023823Z ✔ allows an allowed root that is itself a symlink after realpath normalization (7.158105ms) -2026-09-27T05:32:58.3088640Z ✔ open path guard (94.431064ms) -2026-09-27T05:32:58.3137465Z ✔ launchers run the entry in Node mode with the mode each caller needs (291.47732ms) -2026-09-27T05:32:58.3143313Z ✔ Windows launchers set Node mode before starting the entry (3.769245ms) -2026-09-27T05:32:58.3197797Z ✔ the host manifest goes to Chrome and existing browsers, never over another live install (6.033136ms) -2026-09-27T05:32:58.3235761Z ✔ Windows opens the store page in installed Chrome, not the default browser (77.71684ms) -2026-09-27T05:32:58.3260029Z ▶ createOptimisticDraftController last-write-wins -2026-09-27T05:32:58.3345746Z ✔ edits the local draft without persisting (2.206998ms) -2026-09-27T05:32:58.3416140Z ✔ drops a stale save response so it cannot clobber a newer draft (2.065261ms) -2026-09-27T05:32:58.3495989Z ✔ rolls the draft back to persisted on failure and reports failure (0.282586ms) -2026-09-27T05:32:58.3545686Z ✔ rolls a newer failed save back to an earlier confirmed success (0.261794ms) -2026-09-27T05:32:58.3577681Z ✔ applies an earlier confirmed success that settles after a newer failure (0.403839ms) -2026-09-27T05:32:58.3619624Z ✔ does not resync the draft from persisted while a save is in flight (0.466182ms) -2026-09-27T05:32:58.3667746Z ✔ applies the latest persisted snapshot when the final pending save settles (1.270886ms) -2026-09-27T05:32:58.3715549Z ✔ reports saving for the full pending batch instead of each individual settle (1.058302ms) -2026-09-27T05:32:58.3775630Z ✔ invalidates an in-flight save after dispose even while the owner still reports mounted (3.312213ms) -2026-09-27T05:32:58.3835759Z ✔ accepts updates again after a StrictMode cleanup replay reactivates it (0.787124ms) -2026-09-27T05:32:58.3876853Z ✔ keeps pre-dispose responses invalid after reactivation (0.267076ms) -2026-09-27T05:32:58.3886801Z ✔ createOptimisticDraftController last-write-wins (20.060712ms) -2026-09-27T05:32:58.3941766Z ▶ OS permission platform policy -2026-09-27T05:32:58.3987563Z ✔ normalizes Electron media states without treating restrictions as requestable (1.203187ms) -2026-09-27T05:32:58.4015401Z ✔ only probes media statuses on platforms where Electron exposes them (0.280507ms) -2026-09-27T05:32:58.4045046Z ✔ advertises only request actions the main process can perform (3.071111ms) -2026-09-27T05:32:58.4046807Z ✔ routes stale denied requests to System Settings and never fakes notification success (2.390683ms) -2026-09-27T05:32:58.4048088Z ✔ attempts a real screen capture before deciding whether settings are needed (0.413181ms) -2026-09-27T05:32:58.4049101Z ✔ OS permission platform policy (16.767168ms) -2026-09-27T05:32:58.5026526Z ✔ writes semantic text and Enter actions through a real PTY (377.396236ms) -2026-09-27T05:32:58.8736917Z ✔ rejects malformed PTY controls before commit without poisoning later input (371.606847ms) -2026-09-27T05:32:58.9596560Z ✔ ask authorizes the exact MCP Session scope and settles the authoritative result before end_turn (5245.621065ms) -2026-09-27T05:32:59.3216292Z ✔ encodes keys from the terminal mode parsed before the control cut (444.474751ms) -2026-09-27T05:32:59.6981471Z ✔ encodes mouse actions from SGR cell mode parsed before the control cut (380.845169ms) -2026-09-27T05:33:00.0736573Z ✔ rejects unavailable mouse input without changing or terminating the PTY (365.736058ms) -2026-09-27T05:33:00.0902701Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:33:00.6166339Z ✔ delivers Ctrl-C and Ctrl-D as terminal control characters (549.786674ms) -2026-09-27T05:33:01.0011989Z ✔ keeps concurrent PTY controls FIFO without an output-observation wait (386.630369ms) -2026-09-27T05:33:01.2846404Z ✔ publishes raw PTY deltas and exposes a bounded replay snapshot (280.569868ms) -2026-09-27T05:33:01.8436729Z ✔ sequences each published PTY delta and keeps snapshots on publish boundaries (552.228512ms) -2026-09-27T05:33:02.2346602Z ✔ keeps concurrent PTY control and Read persistence in parser-cut order (396.289634ms) -2026-09-27T05:33:02.5896225Z ✔ joins finalization when a real PTY exits before a queued control cut (355.874083ms) -2026-09-27T05:33:02.9046948Z ✔ writeStdin itself returns terminal status when persist is held through finalization (310.36217ms) -2026-09-27T05:33:03.2756314Z ✔ rejects WriteStdin aborted before commit without stopping the PTY (376.148694ms) -2026-09-27T05:33:03.6009072Z ✔ restores the trailing PTY flush after a queued control aborts before commit (325.112221ms) -2026-09-27T05:33:03.9412165Z ✔ linearizes native resize, collector resize, input, and snapshot on a real PTY (338.47651ms) -2026-09-27T05:33:04.2658921Z ✔ uses Unicode 11 cell widths for CJK, combining marks, and emoji (325.524263ms) -2026-09-27T05:33:04.5619808Z ✔ joins soft-wrapped scrollback into logical lines (300.337657ms) -2026-09-27T05:33:05.4666722Z ✔ drains the final frame after parser backpressure and drops an evicted wrapped prefix (897.306116ms) -2026-09-27T05:33:05.7148336Z ✔ returns the redrawn screen rather than stale pre-clear text (254.98229ms) -2026-09-27T05:33:06.0088051Z ✔ captures only the latest alternate-screen epoch when a real PTY program leaves it (293.007836ms) -2026-09-27T05:33:06.2245175Z ✔ consumes terminal side channels while preserving visible hyperlink text (214.330644ms) -2026-09-27T05:33:06.5473689Z ✔ writes xterm protocol replies back to the real PTY synchronously (324.475736ms) -2026-09-27T05:33:07.1929836Z ✔ fails closed before terminal protocol replies can form an unbounded native write queue (641.845727ms) -2026-09-27T05:33:07.4807161Z ✔ redacts a secret across a soft wrap and the scrollback/screen boundary (288.187804ms) -2026-09-27T05:33:07.8947156Z ✔ settles after root exit when a detached descendant retains inherited stdout (416.113066ms) -2026-09-27T05:33:08.2516350Z ✔ stops descendants that detach from the real PTY process group (353.957461ms) -2026-09-27T05:33:09.0266441Z ▶ keeps the first committed lifecycle cause across Stop and timeout races -2026-09-27T05:33:09.0303851Z ✔ Stop commits first -> cancelled (Stop owns the termination) (776.852567ms) -2026-09-27T05:33:09.8627840Z ✔ timeout kills, then Stop arrives -> timed_out (driverExit branch) (831.206133ms) -2026-09-27T05:33:10.6468055Z ✔ timeout commits but process still alive, then Stop arrives -> timed_out (termination branch) (782.558296ms) -2026-09-27T05:33:10.6531291Z ✔ keeps the first committed lifecycle cause across Stop and timeout races (2391.417291ms) -2026-09-27T05:33:10.9145897Z ✔ releases failed startup slots and enforces total and PTY capacities independently (271.694858ms) -2026-09-27T05:33:11.8728379Z ✔ keeps SIGTERM final output and escalates an ignored SIGTERM without leaking slots (694.595014ms) -2026-09-27T05:33:11.8766050Z ✔ ShellRunProcessManager (24589.356117ms) -2026-09-27T05:33:12.0076185Z ▶ shell result projection -2026-09-27T05:33:12.0136116Z ✔ foreground terminal results retain executor output for durable Read recovery (1.613175ms) -2026-09-27T05:33:12.0238016Z ✔ shares one UTF-8 budget in screen, alternate, then latest scrollback priority (3.357465ms) -2026-09-27T05:33:12.0316011Z ✔ returns a losslessly serializable PTY result without an alternate screen (10.270868ms) -2026-09-27T05:33:12.0375729Z ✔ shell result projection (27.174482ms) -2026-09-27T05:33:12.0432846Z ▶ shell run sandbox denial projection -2026-09-27T05:33:12.0489367Z ✔ reports a diagnostic signal only for a failed sandboxed process (1.018354ms) -2026-09-27T05:33:12.0520475Z ✔ round-trips the producer sandbox denial through strict FileSessionStore recovery (584.164247ms) -2026-09-27T05:33:12.0565610Z ✔ shell run sandbox denial projection (585.83375ms) -2026-09-27T05:33:12.0590325Z ▶ PTY flattening for sandbox denial -2026-09-27T05:33:12.0653988Z ✔ detects denial in PTY scrollback field (0.408167ms) -2026-09-27T05:33:12.0685500Z ✔ detects denial in PTY screen field (0.271243ms) -2026-09-27T05:33:12.0701070Z ✔ detects denial in PTY lastAlternateScreen field (0.215282ms) -2026-09-27T05:33:12.0743732Z ✔ does NOT detect denial split across PTY fields (regex cannot cross newline) (0.216271ms) -2026-09-27T05:33:12.0775433Z ✔ does not flag PTY output when sandbox is not enforced (0.557196ms) -2026-09-27T05:33:12.0861381Z ✔ PTY flattening for sandbox denial (2.239479ms) -2026-09-27T05:33:12.0912248Z ✔ an explicit Git Bash tool declares POSIX syntax (4.142806ms) -2026-09-27T05:33:12.0995729Z ▶ Bash tool fails closed when the turn shell plan carries a setup error -2026-09-27T05:33:12.1076207Z ✔ description declares the outage instead of dialect guidance (0.656678ms) -2026-09-27T05:33:12.1155647Z ✔ local foreground execution throws the setup error before spawning (1.163161ms) -2026-09-27T05:33:12.1189718Z ✔ managed execution throws before any shell-run reaches the host (5.328395ms) -2026-09-27T05:33:12.1255782Z ✔ Bash tool fails closed when the turn shell plan carries a setup error (7.787124ms) -2026-09-27T05:33:12.1315752Z ▶ Bash tool shell is threaded through to execution, not just the description -2026-09-27T05:33:12.1355546Z ✔ foreground tool executes with the same shell it declares (44.629468ms) -2026-09-27T05:33:12.1376283Z ✔ background tool forwards its shell to the shell-run controller (1.440383ms) -2026-09-27T05:33:12.1435803Z ✔ managed completion callback remains exactly-once when the launcher settles it (1.02981ms) -2026-09-27T05:33:12.1495756Z ✔ Bash tool shell is threaded through to execution, not just the description (50.722886ms) -2026-09-27T05:33:12.1525478Z ▶ Bash provider-facing result projection -2026-09-27T05:33:12.1557045Z ✔ managed Bash removes only the duplicated foreground command (1.37099ms) -2026-09-27T05:33:12.1615683Z ✔ Bash provider-facing result projection (4.704917ms) -2026-09-27T05:33:12.1675347Z ▶ shapeTerminalResult projection -2026-09-27T05:33:12.1715587Z ✔ preserves foreground command output verbatim (1.025007ms) -2026-09-27T05:33:12.1737711Z ✔ surfaces sandboxDenial when a sandboxed command fails with a denial message (3.376156ms) -2026-09-27T05:33:12.1785554Z ✔ omits sandboxDenial when sandboxed is false (0.200789ms) -2026-09-27T05:33:12.1835737Z ✔ omits sandboxDenial when sandboxed field is absent (BoundedShellResult shape) (0.127767ms) -2026-09-27T05:33:12.1893882Z ✔ shapeTerminalResult projection (5.450427ms) -2026-09-27T05:33:12.1945798Z ▶ WriteStdin provider/strict contract conformance -2026-09-27T05:33:12.1998406Z ✔ every documented minimal example is accepted by BOTH the provider and strict layers (18.116204ms) -2026-09-27T05:33:12.2005592Z ✔ every mouse event has a covering example that passes both layers (1.406821ms) -2026-09-27T05:33:12.2044002Z ✔ every action type has a covering example (0.172086ms) -2026-09-27T05:33:12.2135760Z ✔ provider null/0/empty placeholders are tolerated and normalized away by the strict layer (2.153134ms) -2026-09-27T05:33:12.2159892Z ✔ strict validation is not vacuous: contract violations are rejected (0.943707ms) -2026-09-27T05:33:12.2205633Z ✔ WriteStdin provider/strict contract conformance (23.107423ms) -2026-09-27T05:33:12.2245208Z ▶ skill invocation -2026-09-27T05:33:12.2305563Z ✔ projects successful receipt occurrences by request or canonical Skill id (3.659472ms) -2026-09-27T05:33:12.2364031Z ✔ bounds successful Skill references to canonical transcript limits (3.990083ms) -2026-09-27T05:33:12.2393240Z ✔ lists only enabled, host-eligible skills as slim entries (141.763873ms) -2026-09-27T05:33:12.2445792Z ✔ discovers skills across all standard paths with first-found-wins dedupe (32.79154ms) -2026-09-27T05:33:12.2516038Z ✔ resolves several requests against one scan with per-request failures (32.97688ms) -2026-09-27T05:33:12.2559961Z ✔ matches loadSkillInstructions one-for-one against the same scan (22.670371ms) -2026-09-27T05:33:12.2625503Z ✔ composes trust-framed skill blocks followed by the user message (0.7672ms) -2026-09-27T05:33:12.2678032Z ✔ falls back to a directive when the user sent invocations only (0.260662ms) -2026-09-27T05:33:12.2754319Z ✔ preserves significant leading indentation in the user-message body (0.22569ms) -2026-09-27T05:33:12.2865706Z ✔ prepares mixed success and failure tokens from one latest scan (23.018604ms) -2026-09-27T05:33:12.2895072Z ✔ projects long Skill metadata into a transport-bounded receipt (13.261976ms) -2026-09-27T05:33:12.2967211Z ✔ reads the current state at send time and blocks when every invocation fails (16.21529ms) -2026-09-27T05:33:12.3025509Z ✔ merges structured ids before text tokens and deduplicates by id (13.964272ms) -2026-09-27T05:33:12.3055520Z ✔ blocks with resolution_failed when the authoritative scan throws (1.188527ms) -2026-09-27T05:33:12.3125486Z ✔ bounds explicit invocation request diagnostics (12.759229ms) -2026-09-27T05:33:12.3175703Z ✔ fails closed instead of resolving a partial request set after distinct-request overflow (12.535012ms) -2026-09-27T05:33:12.3215711Z ✔ applies the distinct-request limit across structured and text inputs (20.795348ms) -2026-09-27T05:33:12.3248603Z ✔ skill invocation (356.358919ms) -2026-09-27T05:33:12.3289989Z ▶ shared bundled skill catalog -2026-09-27T05:33:12.3405876Z ✔ trusts the Computer Use lock shipped immediately before the current bundled body (2.038254ms) -2026-09-27T05:33:12.3496237Z ✔ constructs and validates managed provenance and update status (0.646031ms) -2026-09-27T05:33:12.3515983Z ✔ shared bundled skill catalog (13.781189ms) -2026-09-27T05:33:12.3551021Z ▶ shared managed skill source reader -2026-09-27T05:33:12.3585642Z ✔ lists and reads real sources without requiring registry metadata (94.184346ms) -2026-09-27T05:33:12.3695984Z ✔ rejects symlinked roots and contained source escapes (10.380198ms) -2026-09-27T05:33:12.3864088Z ✔ distinguishes missing roots and children from read failures (14.591157ms) -2026-09-27T05:33:12.3938190Z ✔ resolves only the read-only machine source location contract (0.303889ms) -2026-09-27T05:33:12.3980191Z ✔ shared managed skill source reader (123.169836ms) -2026-09-27T05:33:12.4195891Z ▶ shared skill preference semantics -2026-09-27T05:33:12.4265905Z ✔ resolves stable refs and rejects ambiguous ids (0.362175ms) -2026-09-27T05:33:12.4285214Z ✔ patches one stable ref and clears review only after every collision is explicit (0.444241ms) -2026-09-27T05:33:12.4365930Z ✔ resolves case-only stable refs exactly while keeping bare ids normalized (0.17155ms) -2026-09-27T05:33:12.4405774Z ✔ encodes canonical schema v2 state for all persistence owners (26.514539ms) -2026-09-27T05:33:12.4422789Z ✔ shared skill preference semantics (27.885068ms) -2026-09-27T05:33:12.4489119Z ▶ runtime skills -2026-09-27T05:33:12.4545441Z ✔ reports malformed and missing required metadata as structured errors (30.469338ms) -2026-09-27T05:33:12.4546543Z ✔ keeps compatible skills loadable while reporting non-blocking metadata warnings (8.063142ms) -2026-09-27T05:33:12.4625716Z ✔ excludes invalid skills from the model catalog and preserves their diagnostics (85.040203ms) -2026-09-27T05:33:12.4658690Z ✔ reports deterministic duplicate id and display-name diagnostics (6.318498ms) -2026-09-27T05:33:12.4767772Z ✔ buildSkillsPromptFragment lists available skills and loadSkillInstructions loads them lazily (13.888584ms) -2026-09-27T05:33:12.4825967Z ✔ writeSkillRuntimeState persists per-workspace enablement and scan excludes disabled skills (20.381395ms) -2026-09-27T05:33:12.4877882Z ✔ loadSkillInstructions loads an enabled duplicate-name skill before reporting a disabled duplicate (12.228203ms) -2026-09-27T05:33:12.4953506Z ✔ readSkillRuntimeState fails closed when the state file is invalid (25.620706ms) -2026-09-27T05:33:12.4995427Z ✔ writeSkillRuntimeState does not write through a symlinked workspace metadata directory (20.170121ms) -2026-09-27T05:33:12.5029257Z ✔ reports blocked discovery roots instead of collapsing them into an empty catalog (7.600146ms) -2026-09-27T05:33:12.5105875Z ✔ discovers contained symlinked skill directories using the link identity (7.848933ms) -2026-09-27T05:33:12.5157407Z ✔ diagnoses unusable symlinked skill directories without hiding valid skills (18.313681ms) -2026-09-27T05:33:12.5215713Z ✔ readSkillRuntimeState does not read through a symlinked state file (48.825881ms) -2026-09-27T05:33:12.5290726Z ✔ buildSkillAgentTool exposes a read-only Skill tool that loads a single matching local skill (61.7109ms) -2026-09-27T05:33:12.5305555Z ✔ buildSkillAgentTool resolves project skills from each tool call cwd (13.189989ms) -2026-09-27T05:33:12.5416902Z ✔ loadSkillInstructions bounds loaded instructions and returns available skills on miss (17.41926ms) -2026-09-27T05:33:12.5455638Z ✔ buildSkillAgentTool honors the host capability gate when loading skills (11.553398ms) -2026-09-27T05:33:12.5545890Z ✔ loadSkillInstructions rejects skills hidden by the host capability gate with host_incompatible (17.749609ms) -2026-09-27T05:33:12.5679154Z ✔ resolves the Skill tool host per session (11.068933ms) -2026-09-27T05:33:12.5903355Z ✔ buildSkillsPromptFragment filters out skills whose required tools are missing on the host (15.366703ms) -2026-09-27T05:33:12.5987538Z ✔ gateSkillsByHostCapabilities hard-hides skills whose required tools are missing and only hints at missing declared tools (0.516908ms) -2026-09-27T05:33:12.6064084Z ✔ gateSkillsByHostCapabilities hides skills whose required capabilities are missing (0.242826ms) -2026-09-27T05:33:12.6097625Z ✔ scanSkills discovers skills from multiple directories and dedupes by id (first-found wins) (21.779954ms) -2026-09-27T05:33:12.6175924Z ✔ resolveSkillDiscoveryPaths returns the five standard paths with containment roots in precedence order (0.456857ms) -2026-09-27T05:33:12.6277298Z ✔ buildSkillsPromptFragment does not impose an arbitrary count limit (77.691241ms) -2026-09-27T05:33:12.6338099Z ✔ buildSkillsPromptFragment truncates by char budget without expanding every omitted id (426.306503ms) -2026-09-27T05:33:12.6385695Z ✔ keeps a scope-aware inventory while retaining only the highest-precedence duplicate (14.186482ms) -2026-09-27T05:33:12.6442386Z ✔ uses one canonical inventory for prompt, Skill, and SkillSearch without exposing shadowed duplicates (30.038991ms) -2026-09-27T05:33:12.6532672Z ✔ re-evaluates zero-match schema v2 bare preferences after multi-scope discovery changes (71.571617ms) -2026-09-27T05:33:12.6618080Z ✔ selects pinned skills first and explains every inventory decision (19.629187ms) -2026-09-27T05:33:12.6732854Z ✔ bounds SkillSearch results and records search-to-load ranking telemetry (218.021091ms) -2026-09-27T05:33:12.6825289Z ✔ runtime skills (1338.518631ms) -2026-09-27T05:33:12.6934954Z ▶ stream graph admission -2026-09-27T05:33:12.6964704Z ✔ claims one durable activation identity without invoking runtime (5.72058ms) -2026-09-27T05:33:12.7018550Z ✔ binds resolved execution input into the durable intent fingerprint (1.171842ms) -2026-09-27T05:33:12.7115571Z ✔ stream graph admission (11.51557ms) -2026-09-27T05:33:12.7215469Z ▶ host-managed agent graph coordinator -2026-09-27T05:33:12.7355760Z ✔ does not enumerate Sessions when no durable graph schedule needs recovery (6.413633ms) -2026-09-27T05:33:12.7535930Z ✔ authorizes only selected committed results from an earlier epoch of the same root (162.196952ms) -2026-09-27T05:33:12.7639203Z ✔ boots an empty graph from agent work and recovers it without duplicate topology (11004.598114ms) -2026-09-27T05:33:12.7726883Z ✔ derives stable graph identity from the root Session (0.570501ms) -2026-09-27T05:33:12.7806418Z ✔ reports asynchronous epoch lookup failures from a fire-and-forget wake (71.575543ms) -2026-09-27T05:33:12.7835551Z ✔ reads the epoch page and current marker from one storage observation (65.0291ms) -2026-09-27T05:33:12.7836539Z ✔ lists graph ids for tombstone cleanup without reading the Session header (55.430907ms) -2026-09-27T05:33:12.7837584Z ✔ advances only a finished and quiescent graph without waiting for old operator cleanup (100.051258ms) -2026-09-27T05:33:12.7838557Z ✔ concurrent cutovers converge on epoch 2 without skipping an epoch (79.760406ms) -2026-09-27T05:33:12.7839521Z ✔ persists work-keyed reconciliation failures across coordinator recovery (1054.578907ms) -2026-09-27T05:33:12.7840515Z ✔ rebuilds an exact historical graph projection without falling through to current (1.66022ms) -2026-09-27T05:33:12.7841547Z ✔ classifies retirement from durable graph state, not a stale client projection (19.910527ms) -2026-09-27T05:33:12.7842410Z ✔ surfaces topology cleanup failures from close (0.762447ms) -2026-09-27T05:33:12.7843171Z ✔ attempts every operator stop and surfaces all close failures (0.801044ms) -2026-09-27T05:33:12.7844099Z ✔ rejects concurrent yield when reconciliation only waits for uncommitted input (110.152144ms) -2026-09-27T05:33:12.7845123Z ✔ host-managed agent graph coordinator (12740.443955ms) -2026-09-27T05:33:12.7845714Z ▶ agent graph operator handoffs -2026-09-27T05:33:12.7846536Z ✔ hydrates a selected result or terminal record from the authoritative RuntimeEvent stream (7.693791ms) -2026-09-27T05:33:12.7847488Z ✔ bounds hydrated conclusion text across all selected inputs (2.49375ms) -2026-09-27T05:33:12.7848345Z ✔ fails closed when a committed record cannot resolve its source event (1.024468ms) -2026-09-27T05:33:12.7849267Z ✔ renders upstream conclusions as data under a common handoff protocol (1.546309ms) -2026-09-27T05:33:12.7850387Z ✔ agent graph operator handoffs (15.836018ms) -2026-09-27T05:33:12.7851070Z ▶ committed stream graph projection -2026-09-27T05:33:12.7851866Z ✔ projects immutable child-session events into a stable reference-only graph trace (11.518811ms) -2026-09-27T05:33:12.7852865Z ✔ replay is deterministic for reordered delivery and idempotent duplicates (0.897325ms) -2026-09-27T05:33:12.7853811Z ✔ replays reserved JavaScript property names as ordinary graph identities (0.555341ms) -2026-09-27T05:33:12.7854870Z ✔ rejects one Session projected under different operators across observations (0.945289ms) -2026-09-27T05:33:12.7855918Z ✔ keeps existing records byte-stable when a late operator contributes earlier event time (6.720429ms) -2026-09-27T05:33:12.7856949Z ✔ allows equal event times and resolves them with the stable source order key (0.623071ms) -2026-09-27T05:33:12.7857998Z ✔ projects concurrent tool commits whose immutable event times are not commit-monotonic (0.450268ms) -2026-09-27T05:33:12.7859125Z ✔ orders locale-equivalent Unicode source identities independently of stream input order (35.659495ms) -2026-09-27T05:33:12.7860239Z ✔ routes human-interaction facts to the always-on supervisor without blocking lifecycle (1.021926ms) -2026-09-27T05:33:12.7861217Z ✔ keeps later session-inline runs as distinct activations of one operator (0.589867ms) -2026-09-27T05:33:12.7862094Z ✔ fails closed on ambiguous authority or impossible replay order (4.995937ms) -2026-09-27T05:33:12.7862972Z ✔ preserves graph identity when no committed operator facts exist yet (0.265473ms) -2026-09-27T05:33:12.7863815Z ✔ committed stream graph projection (71.676672ms) -2026-09-27T05:33:12.7915284Z ▶ agent graph client read model -2026-09-27T05:33:12.8022952Z ✔ bounds terminal history with a reconnect-safe opaque cursor (19.296182ms) -2026-09-27T05:33:12.8033284Z ✔ rejects a terminal cursor from another graph (12.572438ms) -2026-09-27T05:33:12.8076152Z ✔ keeps schedule payloads bounded while preserving durable control refs (3.766483ms) -2026-09-27T05:33:12.8077130Z ✔ treats finish as admission closure until existing claims settle (1.654069ms) -2026-09-27T05:33:12.8115742Z ✔ bounds nested operator and inspection collections with omitted counts (74.907341ms) -2026-09-27T05:33:12.8205693Z ✔ materializes duplicate and out-of-order runtime records deterministically (19.567783ms) -2026-09-27T05:33:12.8255779Z ✔ agent graph client read model (136.395417ms) -2026-09-27T05:33:12.8290520Z ▶ operator-local stream graph readiness -2026-09-27T05:33:12.8315165Z ✔ derives one stable map intent per direct input route without supervisor gating (8.150688ms) -2026-09-27T05:33:12.8372260Z ✔ keeps a map operator waiting while exposing that state to the supervisor (0.707275ms) -2026-09-27T05:33:12.8415819Z ✔ waits for an exact all-settled activation frontier and accepts every terminal outcome (3.423383ms) -2026-09-27T05:33:12.8475735Z ✔ does not let a later follow-up activation rewrite a sealed all-settled intent (2.060762ms) -2026-09-27T05:33:12.8505698Z ✔ keeps local intent identity stable across unrelated and downstream-only topology changes (1.507676ms) -2026-09-27T05:33:12.8527440Z ✔ orders distinct Unicode identities canonically across topology and sealed inputs (11.233463ms) -2026-09-27T05:33:12.8609433Z ✔ keeps reserved JavaScript property names safe in readiness identities (0.742147ms) -2026-09-27T05:33:12.8645678Z ✔ fails closed on ambiguous or incomplete local readiness policies (1.529643ms) -2026-09-27T05:33:12.8695575Z ✔ operator-local stream graph readiness (31.786849ms) -2026-09-27T05:33:12.8716189Z ▶ stream graph schedule reconciliation -2026-09-27T05:33:12.8785978Z ✔ hydrates selected results without leaking them into another work item (125.796463ms) -2026-09-27T05:33:12.8796134Z ✔ defers work whose historical result source becomes unresolvable (120.52153ms) -2026-09-27T05:33:12.8842596Z ✔ resolves each historical result source once per reconciliation (102.812489ms) -2026-09-27T05:33:12.8896005Z ✔ defers only the work items whose historical source failed (132.694121ms) -2026-09-27T05:33:12.9019658Z ✔ executes existing operators durably and leaves new agents waiting for topology (92.638237ms) -2026-09-27T05:33:12.9145786Z ✔ materializes agent work as a child operator and claims its reserved first run (89.265378ms) -2026-09-27T05:33:12.9168387Z ✔ stops an admitted activation before considering later work (95.165254ms) -2026-09-27T05:33:12.9199861Z ✔ does not admit stale work when a stop wins the SQLite revision race (53.871916ms) -2026-09-27T05:33:12.9235797Z ✔ durably cancels a claim when stop wins before Runtime execution admission (77.983925ms) -2026-09-27T05:33:12.9250985Z ✔ ignores unknown stop and replacement targets without poisoning later work (78.700161ms) -2026-09-27T05:33:12.9272083Z ✔ notifies a dispatch failure before slower siblings settle (64.236433ms) -2026-09-27T05:33:12.9295849Z ✔ stream graph schedule reconciliation (1057.918783ms) -2026-09-27T05:33:12.9332499Z ▶ stream graph supervisor tools -2026-09-27T05:33:12.9333437Z ✔ exposes compact read, durable update, and cooperative yield tools (92.600981ms) -2026-09-27T05:33:12.9334781Z ✔ keeps graph identity and idempotency fields out of the model-facing update schema (36.623471ms) -2026-09-27T05:33:12.9336005Z ✔ rejects yield when requested work is already terminal and no future wake is pending (40.596676ms) -2026-09-27T05:33:12.9337183Z ✔ registers yield admission before reading a terminal runtime transition (46.044314ms) -2026-09-27T05:33:12.9338380Z ✔ uses explicit discriminators when a provider fills unrelated optional fields (29.947551ms) -2026-09-27T05:33:12.9339524Z ✔ fails closed on non-contiguous durable schedule replay (0.451636ms) -2026-09-27T05:33:12.9340577Z ✔ fails closed when the runtime observation is for another graph (57.52285ms) -2026-09-27T05:33:12.9341648Z ✔ paginates all live state instead of hiding older requested work (150.984717ms) -2026-09-27T05:33:12.9342599Z ✔ stream graph supervisor tools (457.344515ms) -2026-09-27T05:33:12.9343292Z ▶ stream graph trace topology -2026-09-27T05:33:12.9344242Z ✔ materializes deterministic direct-edge routes without putting the supervisor in the path (7.142253ms) -2026-09-27T05:33:12.9345615Z ✔ is deterministic and idempotent for reordered duplicate observations (1.741858ms) -2026-09-27T05:33:12.9346663Z ✔ fingerprints only declared topology fields in raw identity order (21.060418ms) -2026-09-27T05:33:12.9347704Z ✔ keeps existing route identities stable as later observations arrive (1.460936ms) -2026-09-27T05:33:12.9348728Z ✔ retains an observable topology before any runtime facts arrive (0.404496ms) -2026-09-27T05:33:12.9349635Z ✔ materializes reserved JavaScript property names as own snapshot keys (0.784417ms) -2026-09-27T05:33:12.9375601Z ✔ binds route identity to immutable edge endpoints (1.13883ms) -2026-09-27T05:33:12.9392772Z ✔ fails closed on invalid topology and record ownership (1.194639ms) -2026-09-27T05:33:12.9428508Z ✔ stream graph trace topology (37.186912ms) -2026-09-27T05:33:12.9465265Z ▶ StreamWatchdog -2026-09-27T05:33:12.9475566Z ✔ fires connect timeout before any activity (9.404285ms) -2026-09-27T05:33:12.9501154Z ✔ activity switches to idle timeout and resets the clock (0.322176ms) -2026-09-27T05:33:12.9525617Z ✔ pause suppresses timeout while waiting for user permission (0.604326ms) -2026-09-27T05:33:12.9555566Z ✔ nested pauses require matching resumes before idle timeout restarts (0.417935ms) -2026-09-27T05:33:12.9575446Z ✔ stop cancels the active timer (0.268551ms) -2026-09-27T05:33:12.9591876Z ✔ StreamWatchdog (20.915047ms) -2026-09-27T05:33:12.9615161Z ▶ subagent tools -2026-09-27T05:33:12.9635541Z ✔ parent-facing agent tools declare permission hints and names (22.404286ms) -2026-09-27T05:33:12.9661717Z ✔ parent tools advertise only definitions runnable in their composition (13.333532ms) -2026-09-27T05:33:12.9691610Z ✔ agent_spawn does not advertise retired task binding (14.618494ms) -2026-09-27T05:33:12.9719536Z ✔ agent_spawn strips task_id when task binding is unavailable (6.540522ms) -2026-09-27T05:33:12.9725981Z ✔ agent_spawn names both recovery routes when no child selector is provided (27.517931ms) -2026-09-27T05:33:12.9785767Z ✔ agent_spawn identifies the missing profile in profile mode and accepts the correction (2.351587ms) -2026-09-27T05:33:12.9795804Z ✔ agent_spawn identifies the missing subagent_id in preset mode and accepts the correction (5.580514ms) -2026-09-27T05:33:12.9815896Z ✔ explicit spawn modes discard provider-filled inactive fields and validate active fields (3.88785ms) -2026-09-27T05:33:12.9845902Z ✔ empty presets still expose a callable implementation profile and recover a mistaken preset selector (11.741529ms) -2026-09-27T05:33:12.9875582Z ✔ preset selectors remain authoritative even when their id matches a built-in profile (7.521611ms) -2026-09-27T05:33:12.9895735Z ✔ built-in catalog exposes local-read without shell, web, nested, or write tools (0.684853ms) -2026-09-27T05:33:12.9915867Z ✔ built-in catalog exposes web-research with only WebSearch and no local or write tools (2.442466ms) -2026-09-27T05:33:12.9935914Z ✔ built-in catalog exposes implementation only when a worktree executor is available (0.720592ms) -2026-09-27T05:33:12.9936999Z ✔ agent definition policy uses the explicit tool allowlist (0.239715ms) -2026-09-27T05:33:12.9937910Z ✔ implementation remains available with the Write and Edit fallback (0.164562ms) -2026-09-27T05:33:12.9938862Z ✔ implementation remains available with the ApplyPatch alternative (0.143344ms) -2026-09-27T05:33:12.9939836Z ✔ child agent toolset keeps only built-in profile allowlisted tools (6.605652ms) -2026-09-27T05:33:12.9940750Z ✔ does not smuggle ArchiveRead through the child allowlist (4.573897ms) -2026-09-27T05:33:12.9941732Z ✔ child agent toolset enforces explore-mode read-only behavior without prompting (143.277842ms) -2026-09-27T05:33:12.9942868Z ✔ agent_spawn delegates an explicit profile and task through the narrow context capability (1.446497ms) -2026-09-27T05:33:12.9943873Z ✔ agent_spawn bounds projected child tool activity (1.815255ms) -2026-09-27T05:33:12.9944958Z ✔ agent_spawn bounds projected child tool activity by characters (6.410625ms) -2026-09-27T05:33:12.9945891Z ✔ agent_spawn bounds projected startup failures (3.423239ms) -2026-09-27T05:33:12.9946925Z ✔ agent_spawn validates profile contracts and delegates worktree availability to runtime (1.956127ms) -2026-09-27T05:33:12.9948032Z ✔ agent projection tools delegate through read-only context capabilities (1.387979ms) -2026-09-27T05:33:12.9949120Z ✔ agent_list keeps discovery compact, paginated, and free of execution history (8.234415ms) -2026-09-27T05:33:12.9950190Z ✔ agent_output uses an explicit locator when a provider fills unrelated fields (7.020198ms) -2026-09-27T05:33:12.9950969Z ✔ subagent tools (309.751077ms) -2026-09-27T05:33:12.9951824Z ✔ extractCodexAccountId reads the ChatGPT account id from the access token (3.865844ms) -2026-09-27T05:33:12.9952856Z ✔ openAiCodexHeaders routes with the account id when present (2.679719ms) -2026-09-27T05:33:12.9953931Z ✔ extractCodexAccountClaims reads the ChatGPT account id from the access token (1.279559ms) -2026-09-27T05:33:12.9955657Z ✔ extractCodexAccountClaims falls back to sub when the chatgpt_account_id claim is missing (0.308271ms) -2026-09-27T05:33:12.9956828Z ✔ extractCodexAccountClaims extracts email + plan from the access token when present (0.394812ms) -2026-09-27T05:33:12.9958136Z ✔ extractCodexAccountClaims fills picture + email from id_token when access token does not carry them (0.316797ms) -2026-09-27T05:33:12.9959380Z ✔ extractCodexAccountClaims returns null when neither token contains an account id (0.502388ms) -2026-09-27T05:33:12.9960603Z ✔ xAI OAuth refresh preserves a rotated refresh token through the shared provider contract (43.404367ms) -2026-09-27T05:33:12.9961699Z ✔ xAI OAuth refresh uses the documented one-hour lifetime when expires_in is omitted (1.493339ms) -2026-09-27T05:33:12.9962476Z ▶ GitHub Copilot subscription credentials -2026-09-27T05:33:12.9963578Z ✔ preserves the account-scoped API endpoint in the existing OAuth token record (0.549107ms) -2026-09-27T05:33:13.0055515Z ✔ stores one direct Copilot-capable GitHub token in the shared OAuth record (0.360248ms) -2026-09-27T05:33:13.0056945Z ✔ resolves the durable direct token without calling the retired exchange endpoint (0.520274ms) -2026-09-27T05:33:13.0058065Z ✔ renews an expiring GitHub account token through the device-flow refresh grant (0.637266ms) -2026-09-27T05:33:13.0059066Z ✔ refuses a refresh GitHub reported as an error body under HTTP 200 (0.562069ms) -2026-09-27T05:33:13.0059897Z ✔ GitHub Copilot subscription credentials (3.409455ms) -2026-09-27T05:33:13.0060539Z ▶ OAuth refresh response validation -2026-09-27T05:33:13.0061318Z ✔ a 200 refresh with empty object never replaces the stored token (1.440134ms) -2026-09-27T05:33:13.0062254Z ✔ a 200 refresh with empty access token never replaces the stored token (0.425011ms) -2026-09-27T05:33:13.0063187Z ✔ a 200 refresh with missing expiry never replaces the stored token (0.43011ms) -2026-09-27T05:33:13.0064061Z ✔ a 200 refresh with non-numeric expiry never replaces the stored token (0.414086ms) -2026-09-27T05:33:13.0065160Z ✔ a 200 refresh with non-positive expiry never replaces the stored token (0.302121ms) -2026-09-27T05:33:13.0066186Z ✔ a rotated refresh token that is an empty string keeps the previous refresh token (0.486392ms) -2026-09-27T05:33:13.0067043Z ✔ OAuth refresh response validation (4.241284ms) -2026-09-27T05:33:13.0067635Z ▶ OAuth refresh persistence transaction -2026-09-27T05:33:13.0068301Z ✔ a read-only store fails before starting a remote refresh (0.3722ms) -2026-09-27T05:33:13.0069186Z ✔ resolve accepts a store whose only write capability is compare-and-set (1.21526ms) -2026-09-27T05:33:13.0070106Z ✔ near-expiry resolve keeps its first read as the refresh commit basis (0.558134ms) -2026-09-27T05:33:13.0071140Z ✔ a custom automatic refresh keeps its expiry-decision read as the commit basis (0.459704ms) -2026-09-27T05:33:13.0072133Z ✔ a logout from another store stays terminal while refresh is in flight (57.231888ms) -2026-09-27T05:33:13.0073092Z ✔ a stale refresh lease is recoverable after its owner exits (23.009678ms) -2026-09-27T05:33:13.0073976Z ✔ a failed refresh releases its lease so a later request can retry (27.790468ms) -2026-09-27T05:33:13.0105516Z ✔ aborts a remote refresh before its credential lease can expire (6.239136ms) -2026-09-27T05:33:13.0106618Z ✔ preserves lease finalization time when claiming the credential is delayed (1.341096ms) -2026-09-27T05:33:13.0107697Z ✔ two concurrent refreshes perform one remote rotation and converge on its token (92.444184ms) -2026-09-27T05:33:13.0108628Z ✔ OAuth refresh persistence transaction (212.329352ms) -2026-09-27T05:33:13.0109216Z ▶ subscription model fetch -2026-09-27T05:33:13.0109954Z ✔ maps Codex OAuth requests into the ChatGPT backend request shape (81.812104ms) -2026-09-27T05:33:13.0110969Z ✔ sends the resolved Codex parallel-tool-call default through the OpenAI SDK (70.874145ms) -2026-09-27T05:33:13.0112137Z ✔ streams a non-streaming Codex call and folds the events into one Responses body (21.578798ms) -2026-09-27T05:33:13.0113558Z ✔ passes a streamed turn through unfolded, keeping its configured output cap (28.556946ms) -2026-09-27T05:33:13.0175009Z ✔ rejects a folded Codex stream that ends without a terminal response (2.284397ms) -2026-09-27T05:33:13.0176335Z ✔ rejects an incomplete folded Codex stream instead of returning its partial output (0.718336ms) -2026-09-27T05:33:13.0177465Z ✔ surfaces a failed folded Codex stream as an error, not an empty success (0.608621ms) -2026-09-27T05:33:13.0178611Z ✔ force-refreshes one Codex 401 without consuming the independent edge retry budget (31.153724ms) -2026-09-27T05:33:13.0179615Z ✔ does not replay a Codex 401 when forced refresh fails (1.100955ms) -2026-09-27T05:33:13.0180400Z ✔ retries a transient HTML 403 from the Codex edge (12.33052ms) -2026-09-27T05:33:13.0181542Z ✔ does not treat parseable JSON auth errors as HTML edge rejections (1.081944ms) -2026-09-27T05:33:13.0182485Z ✔ does not stamp a non-replayable HTML 403 as an exhausted edge rejection (6.623427ms) -2026-09-27T05:33:13.0183358Z ✔ does not retry a JSON 403 from the Codex API (2.047474ms) -2026-09-27T05:33:13.0184029Z ✔ aborts while waiting to retry an HTML 403 (0.697113ms) -2026-09-27T05:33:13.0185003Z ✔ aborts a retry delay through a Request signal (26.219192ms) -2026-09-27T05:33:13.0185747Z ✔ prefers an init signal over a Request signal (3.633044ms) -2026-09-27T05:33:13.0186652Z ✔ does not inherit a Request signal when init explicitly sets signal to null (3.659944ms) -2026-09-27T05:33:13.0187631Z ✔ caps HTML 403 retries after fallback delays of 2, 10, and 30 seconds (1.791722ms) -2026-09-27T05:33:13.0188559Z ✔ preserves a JSON auth failure that follows three HTML edge retries (8.568971ms) -2026-09-27T05:33:13.0189376Z ✔ caps a numeric Retry-After delay at 30 seconds (5.382096ms) -2026-09-27T05:33:13.0190431Z ✔ adds the Copilot compatibility headers and derives the turn initiator without rewriting the body (4.599928ms) -2026-09-27T05:33:13.0191453Z ✔ force-refreshes and replays one xAI OAuth request on 401 (0.747386ms) -2026-09-27T05:33:13.0192177Z ✔ subscription model fetch (321.258ms) -2026-09-27T05:33:13.0192731Z ▶ Swarm orchestration admission -2026-09-27T05:33:13.0193518Z ✔ an exclusive tool cannot follow or precede another tool in the same step (19.073237ms) -2026-09-27T05:33:13.0194589Z ✔ exclusive admission is scoped to one assistant step (1.755194ms) -2026-09-27T05:33:13.0195262Z ✔ Swarm orchestration admission (22.512765ms) -2026-09-27T05:33:13.0196039Z ✔ Tavily search sends one bounded request and projects only safe rows (87.224847ms) -2026-09-27T05:33:13.0197078Z ✔ Tavily search fails closed over oversized or invalid provider responses (4.658276ms) -2026-09-27T05:33:13.0198132Z ✔ Tavily search distinguishes its timeout from caller cancellation (14.303962ms) -2026-09-27T05:33:13.0198786Z ▶ tool argument field lookup -2026-09-27T05:33:13.0199393Z ✔ reads the field names off a plain object schema (2.222529ms) -2026-09-27T05:33:13.0200055Z ✔ still reads them through a refinement (0.484054ms) -2026-09-27T05:33:13.0200722Z ✔ picks the branch a discriminated union was called on (0.509129ms) -2026-09-27T05:33:13.0201590Z ✔ says nothing rather than something wrong when the branch is unknown (0.541572ms) -2026-09-27T05:33:13.0202439Z ✔ reads provider schemas declared as JSON Schema (0.283314ms) -2026-09-27T05:33:13.0203167Z ✔ degrades to no answer on a schema it cannot read (0.324899ms) -2026-09-27T05:33:13.0203942Z ✔ an empty schema is a different answer from an unreadable one (0.274658ms) -2026-09-27T05:33:13.0285705Z ✔ Computer Use answers per action, not with every field of every action (0.592442ms) -2026-09-27T05:33:13.0286556Z ✔ tool argument field lookup (7.369526ms) -2026-09-27T05:33:13.0287074Z ▶ tool argument refusal text -2026-09-27T05:33:13.0287725Z ✔ names the tool and the fields the call does take (5.101824ms) -2026-09-27T05:33:13.0288842Z ✔ says nothing about fields when the schema could not answer (0.432327ms) -2026-09-27T05:33:13.0289845Z ✔ keeps the field list when a long error has to be cut (1.005559ms) -2026-09-27T05:33:13.0290550Z ✔ names fields and never values (0.406298ms) -2026-09-27T05:33:13.0291159Z ✔ tool argument refusal text (7.3915ms) -2026-09-27T05:33:13.0292108Z ✔ ToolRuntime enforces the declared schema before impl without a permissionArgs workaround (8.571615ms) -2026-09-27T05:33:13.0293511Z ✔ ToolRuntime validates without rewriting arguments at permission and implementation boundaries (2.915074ms) -2026-09-27T05:33:13.0294884Z ✔ a sandbox denial names the tool that widens the boundary (11.739499ms) -2026-09-27T05:33:13.0295564Z ▶ unrepairable tool calls -2026-09-27T05:33:13.0296256Z ✔ an unknown tool name is answered with the names that exist (0.478698ms) -2026-09-27T05:33:13.0297072Z ✔ a known tool called with the wrong shape is told its fields (0.287821ms) -2026-09-27T05:33:13.0297865Z ✔ still redacts secret-shaped text in what it relays (0.198757ms) -2026-09-27T05:33:13.0298536Z ✔ unrepairable tool calls (1.161856ms) -2026-09-27T05:33:13.0299095Z ▶ deriveToolArtifactCandidates -2026-09-27T05:33:13.0299850Z ✔ Write derives a file-backed candidate from structured result path (2.130176ms) -2026-09-27T05:33:13.0300733Z ✔ Edit derives a diff candidate from structured edit args (0.678954ms) -2026-09-27T05:33:13.0301667Z ✔ Bash derives only explicit stdout redirects and does not scan stdout/stderr text (0.925556ms) -2026-09-27T05:33:13.0302650Z ✔ extractStdoutRedirectPath ignores stderr and fd redirects (0.387281ms) -2026-09-27T05:33:13.0303421Z ✔ deriveToolArtifactCandidates (6.032474ms) -2026-09-27T05:33:13.0303986Z ▶ recordToolArtifactsSafely -2026-09-27T05:33:13.0304901Z ✔ recorder failure emits a generalized warning and never throws (2.218409ms) -2026-09-27T05:33:13.0305683Z ✔ recordToolArtifactsSafely (2.437818ms) -2026-09-27T05:33:13.0306276Z ▶ ToolRuntime artifact recorder scheduling -2026-09-27T05:33:13.0307053Z ✔ ordinary tool results do not wait for a slow artifact recorder (8.539054ms) -2026-09-27T05:33:13.0307915Z ✔ ToolRuntime artifact recorder scheduling (9.943865ms) -2026-09-27T05:33:13.0308673Z ✔ tool availability hash canonicalizes group members (2.301444ms) -2026-09-27T05:33:13.0309633Z ✔ tool availability hash distinguishes full and search-enabled bindings (0.347741ms) -2026-09-27T05:33:13.0310452Z ▶ ToolAvailabilityRuntime — search activation -2026-09-27T05:33:13.0311307Z ✔ step 0 exposes direct tools and tool_search, but not searchable schemas (47.297487ms) -2026-09-27T05:33:13.0312218Z ✔ a group cannot defer the fixed direct baseline (5.315514ms) -2026-09-27T05:33:13.0313068Z ✔ skill discovery tools stay direct while search is enabled (3.702985ms) -2026-09-27T05:33:13.0313968Z ✔ Plan execution tools stay direct when search is enabled (10.846877ms) -2026-09-27T05:33:13.0401608Z ✔ provider-routed apply_patch inherits direct editing visibility (0.877423ms) -2026-09-27T05:33:13.0402680Z ✔ inventory contains group and canonical names without tool descriptions (7.188928ms) -2026-09-27T05:33:13.0403724Z ✔ search indexes group meaning without exposing it in the initial inventory (7.797074ms) -2026-09-27T05:33:13.0404977Z ✔ a successful search activates bounded matches for the next projection (4.67955ms) -2026-09-27T05:33:13.0406018Z ✔ a same-name replacement does not inherit the retired contribution activation (2.772802ms) -2026-09-27T05:33:13.0406965Z ✔ an equivalent rebuilt Host wrapper keeps its activation (1.600506ms) -2026-09-27T05:33:13.0407769Z ✔ ordinary result is thin and contains no complete schemas (4.858515ms) -2026-09-27T05:33:13.0408695Z ✔ repeated and parallel searches union and deduplicate turn activation (4.251695ms) -2026-09-27T05:33:13.0409646Z ✔ already-active matches do not consume a later search limit or schema budget (14.545322ms) -2026-09-27T05:33:13.0410601Z ✔ reports and skips an oversized tool without hiding a smaller later match (2.567272ms) -2026-09-27T05:33:13.0411914Z ✔ stops at the schema ceiling instead of silently changing relevance order (2.95389ms) -2026-09-27T05:33:13.0413139Z ✔ required orchestration tools are visible without changing activation state (0.756971ms) -2026-09-27T05:33:13.0414054Z ✔ activation maps isolate overlapping and subsequent turns (1.406231ms) -2026-09-27T05:33:13.0445553Z ✔ an ungrouped bound tool is deferred by default (0.773838ms) -2026-09-27T05:33:13.0446583Z ✔ omitting availability keeps an explicit binding fully visible (0.525886ms) -2026-09-27T05:33:13.0447635Z ✔ buckets ungrouped native tools into capability families by categoryHint (3.015802ms) -2026-09-27T05:33:13.0448668Z ✔ a caller-supplied group keeps precedence over a categoryHint family (1.041364ms) -2026-09-27T05:33:13.0449630Z ✔ ToolAvailabilityRuntime — search activation (130.591722ms) -2026-09-27T05:33:13.0450268Z ▶ ToolOutputDelta emitter -2026-09-27T05:33:13.0451039Z ✔ emits per-tool monotonic seq and preserves stdout/stderr stream labels (16.952919ms) -2026-09-27T05:33:13.0452027Z ✔ redacts chunk metadata without mutating the event shape (1.040197ms) -2026-09-27T05:33:13.0453069Z ✔ buffers unterminated chunks so secrets split across writes are still redacted (0.724523ms) -2026-09-27T05:33:13.0454164Z ✔ keeps a redaction tail when forced to flush a long unterminated stream (6.275193ms) -2026-09-27T05:33:13.0516932Z ✔ enforces chunk bound before pushing to renderer (7.190328ms) -2026-09-27T05:33:13.0517833Z ✔ flush emits the final partial chunk before tool_result can arrive (0.29143ms) -2026-09-27T05:33:13.0518571Z ✔ ToolOutputDelta emitter (34.384905ms) -2026-09-27T05:33:13.0519068Z ▶ truncateToolOutput -2026-09-27T05:33:13.0519793Z ✔ keeps the head and reports removed lines when over the line budget (10.382904ms) -2026-09-27T05:33:13.0520767Z ✔ keeps the tail with the marker at the top when direction is tail (0.298896ms) -2026-09-27T05:33:13.0521564Z ✔ truncates by bytes and reports the bytes unit (0.290345ms) -2026-09-27T05:33:13.0522516Z ✔ does not report a truncation when only a trailing newline exceeds the byte budget (0.172242ms) -2026-09-27T05:33:13.0523519Z ✔ a single trailing newline is a terminator, not an extra line (0.16186ms) -2026-09-27T05:33:13.0524700Z ✔ keeps a byte-safe slice of a single oversized line instead of dropping it (3.738644ms) -2026-09-27T05:33:13.0525737Z ✔ byte-safe single-line slice does not split a multi-byte character (0.531777ms) -2026-09-27T05:33:13.0526482Z ✔ truncateToolOutput (22.474621ms) -2026-09-27T05:33:13.0527023Z ▶ AiSdkBackend tool-result archive capability -2026-09-27T05:33:13.0527761Z ✔ advertises Read when the session archives tool results (149.355141ms) -2026-09-27T05:33:13.0528584Z ✔ advertises no Read when the session archives nothing (28.42557ms) -2026-09-27T05:33:13.0529503Z ✔ resource-only Read preserves Session scope and grants no file access (10.862799ms) -2026-09-27T05:33:13.0530426Z ✔ AiSdkBackend tool-result archive capability (190.516992ms) -2026-09-27T05:33:13.0531071Z ▶ ToolRuntime argument ownership -2026-09-27T05:33:13.0531841Z ✔ keeps each runtime owner isolated from the canonical invocation (16.422759ms) -2026-09-27T05:33:13.0532658Z ✔ ToolRuntime argument ownership (17.753337ms) -2026-09-27T05:33:13.8489013Z ▶ ToolRuntime durable boundary -2026-09-27T05:33:13.8542114Z ✔ does not invoke the tool or publish a result when T1 fails (9.528016ms) -2026-09-27T05:33:13.8666150Z ✔ publishes no call side effects when another dispatcher owns the operation (0.705994ms) -2026-09-27T05:33:13.8741799Z ✔ refuses durable tool execution when the turn carries no run id (0.463633ms) -2026-09-27T05:33:13.8860849Z ✔ does not cross T1 when durable dispatch is already aborted (0.750717ms) -2026-09-27T05:33:13.8885902Z ✔ commits T1 before implementation and T2 before publishing the result (18.851177ms) -2026-09-27T05:33:13.8993827Z ✔ commits the completed outcome with its model projection in T2 (4.697005ms) -2026-09-27T05:33:13.9028222Z ✔ commits one deterministic fallback when projection fails (1.384499ms) -2026-09-27T05:33:13.9086285Z ✔ commits fallback instead of awaiting an asynchronous projector (2.131331ms) -2026-09-27T05:33:13.9145916Z ✔ persists inline image output as a Session artifact before committing T2 (6.060426ms) -2026-09-27T05:33:13.9186051Z ✔ rejects an oversized nested result before durable publication (9.66021ms) -2026-09-27T05:33:13.9279940Z ✔ uses serialized bytes before publishing a nested string result (4.566193ms) -2026-09-27T05:33:13.9345751Z ✔ rejects an array whose toJSON expands beyond the nested result limit (1.174594ms) -2026-09-27T05:33:13.9435877Z ✔ rejects a non-JSON nested result before coercion can expand it (1.146347ms) -2026-09-27T05:33:13.9458799Z ✔ admits a nested tool that returned nothing under the result limit (2.998576ms) -2026-09-27T05:33:13.9535807Z ✔ persists nested CodeMode identity across durable and legacy tool activity (1.050246ms) -2026-09-27T05:33:13.9615601Z ✔ links nested live output to the outer exec activity (4.512121ms) -2026-09-27T05:33:13.9645611Z ✔ retains nested identity when the tool settles with an error (3.875301ms) -2026-09-27T05:33:13.9705597Z ✔ wraps business-domain kind values as canonical JSON tool results (1.436646ms) -2026-09-27T05:33:13.9735479Z ✔ does not publish an implementation result when T2 fails (1.048818ms) -2026-09-27T05:33:13.9768234Z ✔ keeps the T2 persistence error authoritative when compensation also fails (2.260544ms) -2026-09-27T05:33:13.9786085Z ✔ commits a normalized error outcome before returning a thrown tool failure to the model (3.112754ms) -2026-09-27T05:33:13.9855730Z ✔ commits outcome_unknown as a structured non-retryable tool failure (2.992403ms) -2026-09-27T05:33:13.9885590Z ✔ ToolRuntime durable boundary (89.727088ms) -2026-09-27T05:33:14.4155893Z ▶ ToolRuntime form Interaction -2026-09-27T05:33:14.4188724Z ✔ parks one Tool call and resumes only after a schema-valid answer (38.813627ms) -2026-09-27T05:33:14.4258028Z ✔ keeps decline distinct and rejects a late answer after Turn closure (15.168893ms) -2026-09-27T05:33:14.4344012Z ✔ withdraws the exact hosted form when its producer is cancelled (10.52902ms) -2026-09-27T05:33:14.4425922Z ✔ waits for hosted admission before withdrawing a cancelled producer form (2.936052ms) -2026-09-27T05:33:14.4437604Z ✔ ToolRuntime form Interaction (75.054608ms) -2026-09-27T05:33:14.6578861Z ✔ ToolRuntime emits only valid progress through the shared codec (13.955829ms) -2026-09-27T05:33:14.9320147Z ▶ ToolRuntime session sandbox boundary -2026-09-27T05:33:14.9477516Z ✔ inherits explicit denial without inheriting correction budgets or replacing live authority (17.133352ms) -2026-09-27T05:33:14.9567076Z ✔ rejects an embedding without explicit execution boundary authority (0.732827ms) -2026-09-27T05:33:14.9657555Z ✔ reads the authoritative boundary for every tool invocation (8.781681ms) -2026-09-27T05:33:14.9712752Z ✔ reads the selected mode live while letting a Bypass boundary override it (4.475857ms) -2026-09-27T05:33:14.9776450Z ✔ holds Plan mode to read-only even when the live boundary allows writes (6.711628ms) -2026-09-27T05:33:15.0410881Z ✔ parks the dedicated tool and admits only one boundary request at a time (127.41775ms) -2026-09-27T05:33:15.0790352Z ✔ publishes a hosted boundary only after admission and settles only through its continuation (38.060606ms) -2026-09-27T05:33:15.0824923Z ✔ rejects an invalid expansion before creating durable pending state (7.636574ms) -2026-09-27T05:33:15.1042345Z ✔ canonicalizes filesystem authority before creating durable pending state (28.870603ms) -2026-09-27T05:33:15.1116010Z ✔ rejects exact directory authority before creating durable pending state (7.897936ms) -2026-09-27T05:33:15.1393285Z ✔ durably denies a pending boundary request before an aborted turn closes (11.451266ms) -2026-09-27T05:33:15.1442697Z ✔ does not orphan a request created concurrently with turn shutdown (3.778462ms) -2026-09-27T05:33:15.1487201Z ✔ returns a structured boundary requirement to the agent (1.596204ms) -2026-09-27T05:33:15.1516356Z ✔ counts one boundary correction per model step and keeps failure kinds independent (6.430675ms) -2026-09-27T05:33:15.1578507Z ✔ cancels a suspended nested boundary wait when its cell aborts (5.67519ms) -2026-09-27T05:33:15.1625645Z ✔ keeps a durable deny failure attached to the aborted nested call (3.874025ms) -2026-09-27T05:33:15.1635681Z ✔ returns structured requires_bypass without opening an interaction (0.895735ms) -2026-09-27T05:33:15.1705754Z ✔ a surface without boundary storage refuses with the same sentence the tool carries (4.761303ms) -2026-09-27T05:33:15.1745592Z ✔ ToolRuntime session sandbox boundary (293.900193ms) -2026-09-27T05:33:15.3557320Z ▶ Overlays feature boundary -2026-09-27T05:33:15.3618547Z ✔ keeps the services hook exclusively owned by the controller (7862.523826ms) -2026-09-27T05:33:15.3655130Z ✔ keeps Desktop globals and shell/process dependencies out of the feature (4.940331ms) -2026-09-27T05:33:15.3710846Z ✔ pins the production entry surface to the shell, the overlay layer, and composition (1910.041594ms) -2026-09-27T05:33:15.3756000Z ✔ keeps the Desktop adapter exclusively owned by feature-services composition (1729.316706ms) -2026-09-27T05:33:15.3815981Z ✔ keeps the controller, the models, and the fakes out of the production entry (0.477612ms) -2026-09-27T05:33:15.3875945Z ✔ keeps the raw search capability out of every production renderer module (5.123572ms) -2026-09-27T05:33:15.3915843Z ✔ mounts one OverlaysRoot in the shell and the overlay UI only in the overlay layer (8990.466147ms) -2026-09-27T05:33:15.3966041Z ✔ Overlays feature boundary (20512.145488ms) -2026-09-27T05:33:15.4472682Z ✔ tool results settle at the full 16-subscription capacity without opening another subscription (16488.319474ms) -2026-09-27T05:33:15.4585779Z ▶ Settings modal state model -2026-09-27T05:33:15.4606825Z ✔ a plain open keeps the remembered request and resets every sub-surface (5.711567ms) -2026-09-27T05:33:15.4641838Z ✔ a section open merges the section into the request (0.277603ms) -2026-09-27T05:33:15.4665742Z ✔ a project open replaces the whole request so a stale profile cannot leak (0.205548ms) -2026-09-27T05:33:15.4688390Z ✔ the models openers land on models and raise only their own sub-surface (0.251151ms) -2026-09-27T05:33:15.4715519Z ✔ the persisted section is the one the intent lands on (0.311026ms) -2026-09-27T05:33:15.4725513Z ✔ closing drops the open flag and the catalog, keeps the rest for the next open (0.233708ms) -2026-09-27T05:33:15.4785579Z ✔ a profile change is a no-op when the profile is already set (2.41212ms) -2026-09-27T05:33:15.4786340Z ✔ Settings modal state model (12.394904ms) -2026-09-27T05:33:15.4786803Z ▶ OverlaysRoot -2026-09-27T05:33:15.4787413Z ✔ hands the shell frame closed overlays and stable commands (82.945648ms) -2026-09-27T05:33:15.4788367Z ✔ an omitted section opens Settings without changing the persisted section (15.756548ms) -2026-09-27T05:33:15.4789424Z ✔ opens Settings through the persisted section and settles focus only when closed (24.934933ms) -2026-09-27T05:33:15.4790459Z ✔ records the search scroll target until the transcript clears it (7.018766ms) -2026-09-27T05:33:15.4791509Z ✔ routes search requests and cancellation to the mounted service with stable commands (9.198402ms) -2026-09-27T05:33:15.4792489Z ✔ throws for an overlay reader mounted outside OverlaysRoot (13.054634ms) -2026-09-27T05:33:15.4793130Z ✔ OverlaysRoot (158.227043ms) -2026-09-27T05:33:15.4793821Z Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype. -2026-09-27T05:33:15.4795138Z ✔ overlay search preserves cancellation across supersession, close, reopen, and unmount (3546.90115ms) -2026-09-27T05:33:15.4796687Z ✔ the Desktop adapter hands the search namespace through and owns the browser edges (2.698536ms) -2026-09-27T05:33:15.4797601Z ✔ the adapter tolerates an unavailable store and a missing active element (0.401476ms) -2026-09-27T05:33:15.4798688Z ✔ mouse focus moving from the password draft to Eye does not commit and Eye reveals it (273.420744ms) -2026-09-27T05:33:15.4800249Z ✔ assistant observations exclude credentials and their controls before and after reveal (108.5967ms) -2026-09-27T05:33:15.4801543Z ✔ keyboard focus stays inside through Eye and commits once when Tab leaves the group (74.147703ms) -2026-09-27T05:33:15.4802461Z ✔ window blur does not commit a partially typed password draft (73.532686ms) -2026-09-27T05:33:15.4803398Z ✔ focus exit with no destination still commits while the document is focused (56.868124ms) -2026-09-27T05:33:15.4834874Z ✔ proxy password can hide Copy while ordinary password inputs keep it by default (44.488134ms) -2026-09-27T05:33:15.4836147Z ✔ IME confirmation keys do not submit or cancel the password draft (48.955787ms) -2026-09-27T05:33:15.4837126Z ✔ non-composing Enter submits once and remains observable by the caller (103.299327ms) -2026-09-27T05:33:15.4838067Z ✔ the pending chat view names no connection or model it cannot know (5.066044ms) -2026-09-27T05:33:15.4838901Z ✔ the pending chat view matches no offered model choice (0.284226ms) -2026-09-27T05:33:15.4839863Z ✔ bot capability reasons resolve to localized sentences for every locale (2897.506237ms) -2026-09-27T05:33:15.4840897Z ✔ unknown bot reasons degrade to the localized generic line, never the raw code (0.563798ms) -2026-09-27T05:33:15.4841871Z ✔ health center renders localized bot capability reasons in all locales (5.062985ms) -2026-09-27T05:33:15.4877172Z ✔ health center resolves non-bot capability codes through the shared catalog (5.003198ms) -2026-09-27T05:33:15.4942398Z ✔ presents a granted OS permission as a verified success (1.130479ms) -2026-09-27T05:33:15.4979910Z ✔ renders capability reason codes per locale (0.233218ms) -2026-09-27T05:33:15.5036689Z ✔ composes the computer-use backend status from snapshot facts per locale (0.356789ms) -2026-09-27T05:33:15.5076011Z ▶ resolveDefaultPermissionMode -2026-09-27T05:33:15.5107852Z ✔ returns bypass when that is the configured default (no special-casing) (1.436661ms) -2026-09-27T05:33:15.5173106Z ✔ falls back to ask when the settings read rejects (corrupted settings.json) (0.325449ms) -2026-09-27T05:33:15.5195611Z ✔ resolveDefaultPermissionMode (14.726337ms) -2026-09-27T05:33:15.5205293Z ▶ drag-to-grant permission overlay -2026-09-27T05:33:15.5225809Z ✔ requests screen capture before continuing into the drag card (6.772953ms) -2026-09-27T05:33:15.5336361Z ✔ only recognises the two drag-to-grant permissions (4.363324ms) -2026-09-27T05:33:15.5399145Z ✔ opens the settings pane, shows the card inactive, and starts watching (0.96653ms) -2026-09-27T05:33:15.5433924Z ✔ refuses to stack a second window or a second set of timers (0.43057ms) -2026-09-27T05:33:15.5466011Z ✔ closes itself once the permission is granted (0.588444ms) -2026-09-27T05:33:15.5525632Z ✔ gives up rather than leaving an immortal always-on-top card (0.355424ms) -2026-09-27T05:33:15.5585613Z ✔ stops every timer when the window disappears on its own (0.559188ms) -2026-09-27T05:33:15.5665642Z ✔ dismiss() tears everything down and can be called twice (0.430309ms) -2026-09-27T05:33:15.5732871Z ✔ does not open a card for a permission that is already granted (14.283059ms) -2026-09-27T05:33:15.5759445Z ✔ reports a failed settings deep-link instead of floating a useless card (0.544858ms) -2026-09-27T05:33:15.5785573Z ✔ rejects non-macOS and unknown ids before touching the window (0.3173ms) -2026-09-27T05:33:15.5807447Z ✔ anchors the card on the cursor, clamped inside the work area (1.499508ms) -2026-09-27T05:33:15.5808270Z ✔ drag-to-grant permission overlay (33.32178ms) -2026-09-27T05:33:15.5808871Z ▶ app bundle resolution for the drag -2026-09-27T05:33:15.5809561Z ✔ walks three levels up from the executable to the .app (1.114578ms) -2026-09-27T05:33:15.5810469Z ✔ resolves the containing app bundle independent of its development name (0.229329ms) -2026-09-27T05:33:15.5811316Z ✔ fails explicitly when the walk does not land on a bundle (0.32881ms) -2026-09-27T05:33:15.5812118Z ✔ fails when the bundle path does not exist on disk (0.143924ms) -2026-09-27T05:33:15.5812721Z ✔ fails on non-darwin (0.10369ms) -2026-09-27T05:33:15.5813726Z ✔ app bundle resolution for the drag (2.227122ms) -2026-09-27T05:33:15.5814729Z ▶ permission response IPC boundary -2026-09-27T05:33:15.5815404Z ✔ accepts only bounded permission and question responses (2.810787ms) -2026-09-27T05:33:15.5816212Z ✔ normalizes turn actions and rejects malformed identifiers (0.900072ms) -2026-09-27T05:33:15.5817070Z ✔ strips untrusted send fields while preserving supported payloads (1.708232ms) -2026-09-27T05:33:15.5817874Z ✔ rejects malformed or oversized send payloads (0.820793ms) -2026-09-27T05:33:15.5818539Z ✔ rejects empty send text without skills (0.234584ms) -2026-09-27T05:33:15.5819294Z ✔ accepts a retained-attachment-only edit without inline text (0.25769ms) -2026-09-27T05:33:15.5820084Z ✔ accepts an inline base64 attachment as the only content (0.194772ms) -2026-09-27T05:33:15.5820808Z ✔ accepts only the supported stop source (0.523973ms) -2026-09-27T05:33:15.5821450Z ✔ permission response IPC boundary (9.696687ms) -2026-09-27T05:33:15.5822073Z ▶ personalization prompt fragment -2026-09-27T05:33:15.5822851Z ✔ keeps suspicious content quoted inside the preference block and emits warnings (5.822415ms) -2026-09-27T05:33:15.5823931Z ✔ sanitizes displayName as addressing only, stripping newline/control injection (0.257277ms) -2026-09-27T05:33:15.5825114Z ✔ maps secret-shaped content to sensitive-pattern warning (1.037018ms) -2026-09-27T05:33:15.5825854Z ✔ personalization prompt fragment (8.937957ms) -2026-09-27T05:33:15.5826690Z ✔ imports only the manifest-selected sprite into the atomic store (48.338693ms) -2026-09-27T05:33:15.5827590Z ✔ rejects malformed manifests and leaves the store empty (10.819334ms) -2026-09-27T05:33:15.5828552Z ✔ rejects a sprite symlink that redirects outside the selected directory (13.434278ms) -2026-09-27T05:33:15.5829721Z ✔ rejects a symlinked asset directory even when it points back inside the source (27.140451ms) -2026-09-27T05:33:15.5830740Z ✔ maps a duplicate id without replacing the installed pet (43.532579ms) -2026-09-27T05:33:15.5831722Z ✔ IPC imports only the native picker result and returns stable envelopes (33.146576ms) -2026-09-27T05:33:15.5832853Z ✔ IPC returns sprite bytes, removes the pack, and emits only real mutations (111.797188ms) -2026-09-27T05:33:15.5835690Z ✔ localizes Plan Mode chrome and abandon confirmation without rewriting plan content (3.98305ms) -2026-09-27T05:33:15.5836786Z ✔ plan controls stay pending until the bridge promise settles (108.005323ms) -2026-09-27T05:33:15.5837695Z [plan-mode:refresh] operation failed: Error: Plan projection is unavailable -2026-09-27T05:33:15.5838950Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/plan-mode-panel-refresh.test.js:65:47) -2026-09-27T05:33:15.5840001Z at async Test.run (node:internal/test_runner/test:1409:7) -2026-09-27T05:33:15.5840826Z at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3) -2026-09-27T05:33:15.5841907Z ✔ only the newest read of the Session on screen may publish (165.25474ms) -2026-09-27T05:33:15.5842895Z ✔ a read started for a Session the panel has left cannot publish (58.459082ms) -2026-09-27T05:33:15.5843975Z ✔ an action that settles after a Session switch owns no panel state (86.912668ms) -2026-09-27T05:33:15.5845323Z ✔ a confirmation that outlives a Session switch does not run the action (138.345417ms) -2026-09-27T05:33:15.5846437Z ✔ an approval retry after the plan advanced replays the persisted input (42.528596ms) -2026-09-27T05:33:15.5847429Z ✔ a late response does not retire the retry of a newer request (41.009249ms) -2026-09-27T05:33:15.5848077Z ▶ resolveProjectContextRoot -2026-09-27T05:33:15.5848799Z ✔ uses the app project root when there is no active session (17.314475ms) -2026-09-27T05:33:15.5849758Z ✔ uses the persisted session cwd instead of the app project root (8.159643ms) -2026-09-27T05:33:15.5850670Z ✔ rejects a deleted session cwd without falling back to the app project (7.333317ms) -2026-09-27T05:33:15.5851940Z ✔ rejects a session cwd without read and traversal access (5.433956ms) -2026-09-27T05:33:15.5852690Z ✔ resolveProjectContextRoot (42.626449ms) -2026-09-27T05:33:15.5853739Z ✔ owns Project selection and reversible lifecycle actions in Desktop (502.058637ms) -2026-09-27T05:33:15.5854963Z ✔ adding a nested folder selects that folder instead of the parent project (275.872441ms) -2026-09-27T05:33:15.5875880Z ✔ can register a draft Project without changing the Host selection (0.590329ms) -2026-09-27T05:33:15.5876807Z ✔ names the Project in the same step as registering it (1.380237ms) -2026-09-27T05:33:15.5877672Z ✔ a blank name leaves the folder-derived name alone (2.067166ms) -2026-09-27T05:33:15.5878582Z ✔ rejects malformed Project identities before catalog access (0.79556ms) -2026-09-27T05:33:15.5879405Z ✔ keeps an explicit no-Project selection local to Desktop (0.31159ms) -2026-09-27T05:33:15.5880368Z ✔ does not silently replace a stale Project preference with another Project (0.338216ms) -2026-09-27T05:33:15.5881372Z ✔ does not expose Client directory actions for a remote Host (2.808021ms) -2026-09-27T05:33:15.5882269Z ✔ persists Project preferences by Runtime Host root identity (33.965149ms) -2026-09-27T05:33:15.5883249Z ✔ serializes rapid selections without losing another Runtime Host root (12.633078ms) -2026-09-27T05:33:15.5884161Z ✔ does not reuse a preference from another Runtime Host root (5.798797ms) -2026-09-27T05:33:15.5939292Z ✔ a custom connection is created without a hand-typed model id (8.787906ms) -2026-09-27T05:33:15.5940272Z ✔ no provider type demands a model id at creation (17.262102ms) -2026-09-27T05:33:15.5941220Z ✔ a discovery failure reaches the caller for a custom connection (0.600425ms) -2026-09-27T05:33:15.5942280Z ✔ a discovery failure reaches the caller for a built-in provider too (0.426854ms) -2026-09-27T05:33:15.5943322Z ✔ a failed catalog fetch still yields the created connection (0.501392ms) -2026-09-27T05:33:15.5944187Z ✔ a successful catalog fetch reports no error (1.189618ms) -2026-09-27T05:33:15.5945439Z ✔ a provider without discovery is not asked, and reports no error (0.542207ms) -2026-09-27T05:33:15.5946594Z ✔ a create failure propagates instead of being reported as a discovery problem (3.053177ms) -2026-09-27T05:33:15.5947618Z ✔ the field gate preserves stable slug validation issues (1.281901ms) -2026-09-27T05:33:15.5948506Z ✔ the field gate still reports the rules that survived (0.42728ms) -2026-09-27T05:33:15.5949533Z ✔ a duplicate slug outranks a missing key, so one fix is asked for at a time (0.205457ms) -2026-09-27T05:33:15.5950825Z ✔ routes only fixed-endpoint API-key drafts without request customization to Host onboarding (0.307197ms) -2026-09-27T05:33:15.5952122Z ✔ uses a stable discovered-model order and prefers the registered recommendation (5.317925ms) -2026-09-27T05:33:15.5953191Z ✔ only an idle form projects a dispatched save as outcome unknown (0.184049ms) -2026-09-27T05:33:15.5954213Z ✔ a late old save cannot clear the uncertainty lease for a newer attempt (0.849819ms) -2026-09-27T05:33:15.5955379Z ✔ save uncertainty is isolated between Runtime Host targets (0.300652ms) -2026-09-27T05:33:15.5956482Z ✔ a definitive save settlement reaches a generation-remounted React consumer (60.454559ms) -2026-09-27T05:33:15.5957474Z ✔ onboarding transport forwards the selected Runtime Host target (0.924823ms) -2026-09-27T05:33:15.5958369Z ✔ a retired connection reads as broken rather than repairable (9.74901ms) -2026-09-27T05:33:15.5959272Z ✔ retirement outranks every repairable state (2.270138ms) -2026-09-27T05:33:15.5960022Z ✔ a live connection keeps its existing statuses (0.294273ms) -2026-09-27T05:33:15.5961018Z ✔ fixed Alibaba access paths expose their distinct effective endpoints read-only (13.637931ms) -2026-09-27T05:33:15.5962015Z ✔ a persisted override is the displayed effective endpoint (9.165553ms) -2026-09-27T05:33:15.6047226Z ✔ displaying a custom endpoint masks userinfo and every query value without hiding its route (0.431342ms) -2026-09-27T05:33:15.6048374Z ✔ query values are masked under arbitrary key names, not just known ones (0.472751ms) -2026-09-27T05:33:15.6049668Z ✔ custom relays and local runtimes retain endpoint editing (0.330866ms) -2026-09-27T05:33:15.6050632Z ✔ derived and OAuth endpoints remain visible but read-only (0.320347ms) -2026-09-27T05:33:15.6051469Z ✔ an absent custom endpoint remains visible as a missing editable value (0.179331ms) -2026-09-27T05:33:15.6052564Z ✔ providers with model-level endpoint overrides say so when showing the default (0.319315ms) -2026-09-27T05:33:15.6053697Z ✔ a configured endpoint wins over model overrides, so no caveat applies (0.211015ms) -2026-09-27T05:33:15.6054869Z ✔ endpointCarriesCredentials gates userinfo and query-bearing endpoints (6.670937ms) -2026-09-27T05:33:15.6055963Z ✔ draft request previews follow the relay protocol, custom prefixes and endpoint forms (0.83504ms) -2026-09-27T05:33:15.6057025Z ✔ switching a custom connection protocol replaces the full OpenAI endpoint (0.199898ms) -2026-09-27T05:33:15.6058312Z ✔ draft request previews redact token-shaped path segments without changing URL normalization (0.206902ms) -2026-09-27T05:33:15.6059603Z ✔ empty, incomplete, unsaveable and unsupported protocol drafts have no request preview (0.325492ms) -2026-09-27T05:33:15.6060672Z ✔ proxy password typing remains local until the complete draft is committed (6.801589ms) -2026-09-27T05:33:15.6061555Z ✔ Enter followed by focus exit reuses one in-flight save (4.533454ms) -2026-09-27T05:33:15.6062336Z ✔ a failed save retains the complete draft for retry (0.850213ms) -2026-09-27T05:33:15.6063159Z ✔ an old save response never clears edits made while it was pending (0.33635ms) -2026-09-27T05:33:15.6064110Z ✔ a test-time commit waits for an in-flight save then commits newer edits (6.511985ms) -2026-09-27T05:33:15.6065258Z ✔ cancel clears only work that has not entered the save lane (0.353037ms) -2026-09-27T05:33:15.6066014Z ✔ empty drafts are keep operations (0.214149ms) -2026-09-27T05:33:15.6066792Z ✔ proxy testing waits for the save and aborts when that save fails (0.352339ms) -2026-09-27T05:33:15.6067490Z ▶ QQ Bot QR bind secret decryption -2026-09-27T05:33:15.6068156Z ✔ decrypts the AES-256-GCM response envelope (5.172343ms) -2026-09-27T05:33:15.6068873Z ✔ rejects malformed keys and truncated envelopes (2.352164ms) -2026-09-27T05:33:15.6069501Z ✔ QQ Bot QR bind secret decryption (10.023549ms) -2026-09-27T05:33:15.6070052Z ▶ quote companion disposal fencing -2026-09-27T05:33:15.6070891Z ✔ creates a WorkHub companion from an empty boundary without reading coordination turns (11.178374ms) -2026-09-27T05:33:15.6071884Z ✔ preserves a retryable busy reason from Side Conversation creation (6.907108ms) -2026-09-27T05:33:15.6072767Z ✔ does not start a send when the panel was disposed after fork setup (0.94547ms) -2026-09-27T05:33:15.6073658Z ✔ does not report success when disposal wins the send race (1.726982ms) -2026-09-27T05:33:15.6175117Z ✔ cleans a fork that resolves after its panel was disposed and never sends (4.018785ms) -2026-09-27T05:33:15.6176336Z ✔ quote companion disposal fencing (26.840042ms) -2026-09-27T05:33:16.3490832Z ▶ ToolRuntime settlement -2026-09-27T05:33:16.3517837Z ✔ rejects Client Capability Host admission without preparation in every boundary (25.465983ms) -2026-09-27T05:33:16.3556074Z ✔ does not promote an expanded Explore boundary into Client Capability admission (2.723835ms) -2026-09-27T05:33:16.3595890Z ✔ prepares Bypass Client Capability work before T1 and admits only after T1 (12.448606ms) -2026-09-27T05:33:16.3631877Z ✔ cancels prepared Client Capability work when T1 fails (4.028007ms) -2026-09-27T05:33:16.3645984Z ✔ keeps the durable Bash command while omitting it from the durable projection (11.846948ms) -2026-09-27T05:33:16.3695917Z ✔ projects every managed foreground Bash terminal state without its command (19.730602ms) -2026-09-27T05:33:16.3725620Z ✔ preserves live provider error mapping (0.799174ms) -2026-09-27T05:33:16.3775782Z ✔ records apply_patch failures without changing their provider output shape (0.665115ms) -2026-09-27T05:33:16.3786001Z ✔ falls back from provider text to the raw error message (4.605133ms) -2026-09-27T05:33:16.3835674Z ✔ keeps structured durable failures on the live success arm (0.941176ms) -2026-09-27T05:33:16.3873634Z ✔ rejects direct-only nested tools before permission argument projection or implementation (0.534024ms) -2026-09-27T05:33:16.3925864Z ✔ keeps permission projections for ordinary step-admission failures (5.171862ms) -2026-09-27T05:33:16.3975860Z ✔ publishes a live tool_result_preview when a linked child becomes ready (1.631461ms) -2026-09-27T05:33:16.4035453Z ✔ ToolRuntime settlement (101.280523ms) -2026-09-27T05:33:16.5682755Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:33:16.6397616Z ▶ ToolRuntime with real SQLite boundary -2026-09-27T05:33:16.6446138Z ✔ replays raw MCP model arguments without persisting the execution binding (274.574424ms) -2026-09-27T05:33:16.7317092Z ✔ persists a boundary-blocked Client Capability without an orphan response (94.713472ms) -2026-09-27T05:33:16.8588291Z ✔ persists a subagent admission rejection without an orphan response (126.046809ms) -2026-09-27T05:33:16.9476517Z ✔ persists a preflight-rejected sibling beside an exclusive tool without an orphan response (86.076617ms) -2026-09-27T05:33:17.0016500Z ✔ persists one atomic prepared/outcome pair around the real implementation (58.447112ms) -2026-09-27T05:33:17.1206244Z ✔ does not repeat tool or projection side effects after an atomic T2 failure (104.782298ms) -2026-09-27T05:33:17.1946820Z ✔ persists the same normalized error event that the Runtime flow later observes (87.301847ms) -2026-09-27T05:33:17.1976214Z ✔ ToolRuntime with real SQLite boundary (841.676151ms) -2026-09-27T05:33:17.4575563Z ✔ keeps companion forms pending until the Host acknowledgement arrives (7.010116ms) -2026-09-27T05:33:17.5556138Z ▶ ToolRuntime turn-close outcome identity -2026-09-27T05:33:17.5617542Z ✔ keeps the operation identity on a result synthesized after endTurn (76.225401ms) -2026-09-27T05:33:17.5717479Z ✔ ToolRuntime turn-close outcome identity (81.946427ms) -2026-09-27T05:33:17.6396125Z ✔ WebFetch forwards the canonical URL to its executor (11.416938ms) -2026-09-27T05:33:17.6608802Z ✔ WebFetch accepts only an HTTP or HTTPS url argument (6.529932ms) -2026-09-27T05:33:17.6666006Z ✔ WebFetch bounds model output with a head-truncation marker (2.182342ms) -2026-09-27T05:33:17.6695783Z ✔ privacy mode removes WebFetch from a turn (0.450647ms) -2026-09-27T05:33:17.6755757Z ✔ maps broker rejection codes onto worker error classification (7.225933ms) -2026-09-27T05:33:17.6917238Z ✔ leaves unknown stderr shapes unclassified so worker_crashed is preserved (0.303716ms) -2026-09-27T05:33:17.6945904Z ✔ compiles workspace-write roots, runtime roots, network, and environment (12.021602ms) -2026-09-27T05:33:17.7000189Z ✔ fails closed on write shapes that need parent-entry authority (3.822046ms) -2026-09-27T05:33:17.7121521Z ✔ fails closed for unsupported deny rules (0.335665ms) -2026-09-27T05:33:17.7156223Z ✔ fails closed when a profile requests enabled networking (0.359818ms) -2026-09-27T05:33:17.7185839Z ✔ compiles an exact file grant as a non-recursive broker root (5.389297ms) -2026-09-27T05:33:17.7225781Z ✔ rejects noncanonical paths and case-insensitive duplicate environment names (0.712246ms) -2026-09-27T05:33:17.7285824Z ✔ accepts real Windows environment names with parentheses and rejects block-breaking names (1.970716ms) -2026-09-27T05:33:17.7335039Z ✔ writes broker manifests to exclusive per-process temporary files (43.795554ms) -2026-09-27T05:33:17.7415667Z ✔ transforms a Windows managed profile into a broker-client invocation (5.633181ms) -2026-09-27T05:33:17.7453157Z ✔ rejects a request id with characters that are unsafe in a manifest filename (0.766412ms) -2026-09-27T05:33:17.7472904Z ✔ rejects a request id whose derived launch id exceeds the native protocol bound (3.838449ms) -2026-09-27T05:33:17.7548875Z ✔ rejects an invalid per-invocation client nonce (2.031827ms) -2026-09-27T05:33:17.7631296Z ✔ rejects a noncanonical materialized manifest path (2.602545ms) -2026-09-27T05:33:17.7654730Z ✔ honors a configured broker timeout and rejects out-of-range values (1.094228ms) -2026-09-27T05:33:17.7802725Z ✔ fails closed when broker client is unavailable or policy cannot be compiled (0.386565ms) -2026-09-27T05:33:18.3763676Z ▶ LocalWorkspaceExecutor exec -2026-09-27T05:33:18.3806030Z ✔ runs commands in the provided cwd and streams stdout/stderr (88.445332ms) -2026-09-27T05:33:18.3958172Z ✔ reports non-zero exit without throwing so tools can preserve their own error contract (25.6277ms) -2026-09-27T05:33:18.5372439Z ✔ runs argv commands without routing through the host shell (138.555201ms) -2026-09-27T05:33:18.7816059Z ✔ reports timeout with captured output (244.975388ms) -2026-09-27T05:33:18.9557440Z ✔ reports abort with captured output (172.067992ms) -2026-09-27T05:33:18.9590481Z ✔ LocalWorkspaceExecutor exec (672.124085ms) -2026-09-27T05:33:18.9773309Z ▶ LocalWorkspaceExecutor file operations -2026-09-27T05:33:18.9843464Z ✔ reads valid PNG, JPEG, GIF, and WebP images by magic bytes (21.237434ms) -2026-09-27T05:33:18.9912660Z ✔ ignores text windows when reading an image (4.502273ms) -2026-09-27T05:33:18.9916953Z ✔ rejects extension-only and over-limit image files (10.749035ms) -2026-09-27T05:33:19.0088267Z ✔ reads and writes text files by absolute path (17.763537ms) -2026-09-27T05:33:19.0143984Z ✔ applies read offset and limit at the executor boundary (6.129832ms) -2026-09-27T05:33:19.0440854Z ✔ globs files from the provided cwd with a result cap (19.340161ms) -2026-09-27T05:33:19.1027344Z ✔ greps file contents with rg-compatible no-match behavior (68.975614ms) -2026-09-27T05:33:19.1150966Z ✔ reports a missing ripgrep as grep_unavailable with an install hint (#5167) (10.712148ms) -2026-09-27T05:33:19.1362074Z ✔ keeps a missing working directory distinct from a missing ripgrep (22.566833ms) -2026-09-27T05:33:19.1707347Z ✔ a bypass Grep finds ripgrep installed after Host startup outside its inherited PATH (32.167633ms) -2026-09-27T05:33:19.1866220Z ✔ leaves other spawn failures, such as a non-executable rg, untouched (11.083633ms) -2026-09-27T05:33:19.1956118Z ✔ LocalWorkspaceExecutor file operations (228.389867ms) -2026-09-27T05:33:19.2276003Z ▶ workspace instructions prompt fragment -2026-09-27T05:33:19.2336216Z ✔ renders global instructions before project instructions (94.599948ms) -2026-09-27T05:33:19.2357169Z ✔ skips symlink escapes from allowlisted instruction filenames (19.576021ms) -2026-09-27T05:33:19.2395807Z ✔ skips global symlink escapes from ~/.maka instruction filenames (13.862125ms) -2026-09-27T05:33:19.2505738Z ✔ truncates large instruction files (24.012135ms) -2026-09-27T05:33:19.2558320Z ✔ lets a large global file consume the shared prompt budget before project files (19.957439ms) -2026-09-27T05:33:19.2625743Z ✔ collapses a CLAUDE.md symlinked to AGENTS.md into one block (13.546989ms) -2026-09-27T05:33:19.2670488Z ✔ collapses byte-identical instruction files that are not links (9.0432ms) -2026-09-27T05:33:19.2696287Z ✔ keeps instruction files in one directory that genuinely differ (8.036496ms) -2026-09-27T05:33:19.2745578Z ✔ keeps identical instructions that live in different scopes (11.924814ms) -2026-09-27T05:33:19.2795547Z ✔ workspace instructions prompt fragment (227.947494ms) -2026-09-27T05:33:19.2808780Z ✔ xAI device enrollment bounds authorization and polls through provider backoff (124.469502ms) -2026-09-27T05:33:19.2837403Z ✔ xAI device enrollment rejects untrusted presentation URLs (7.706731ms) -2026-09-27T05:33:19.2865834Z ✔ xAI token polling completes an admitted request after caller cancellation (8.831186ms) -2026-09-27T05:33:19.2867582Z ✔ xAI device polling classifies a local window expiry separately from a provider rejection (0.405273ms) -2026-09-27T05:33:19.3026641Z ✔ xAI device polling never issues a request after the window elapses mid-sleep (0.923127ms) -2026-09-27T05:33:19.3091681Z ✔ Zod esm preserves recursive identity across reentry and thrown parses (314.34377ms) -2026-09-27T05:33:19.3140142Z ✔ Zod cjs preserves recursive identity across reentry and thrown parses (234.660794ms) -2026-09-27T05:33:19.3164049Z ▶ BaseBotAdapter -2026-09-27T05:33:19.3228560Z ✔ emits normalized incoming messages and updates lastEventAt (2.127064ms) -2026-09-27T05:33:19.3244637Z ✔ detects restart boundaries from channel settings (0.442762ms) -2026-09-27T05:33:19.3290553Z ✔ does NOT restart when only allowedUserIds changes (runtime filter, not connection parameter) (0.203208ms) -2026-09-27T05:33:19.3314329Z ✔ derives readiness only from current credential facts (0.211302ms) -2026-09-27T05:33:19.3346105Z ✔ BaseBotAdapter (4.910786ms) -2026-09-27T05:33:19.3375372Z [bots:feishu] connection_failed: SDK unavailable -2026-09-27T05:33:19.3405296Z [bots:wecom] connection_failed: SDK unavailable -2026-09-27T05:33:19.3406262Z [bots:slack] connection_failed: SDK unavailable -2026-09-27T05:33:19.3437830Z [BotRegistry] slack start failed: Operation failed -2026-09-27T05:33:19.3465426Z ▶ BotRegistry -2026-09-27T05:33:19.3495651Z ✔ reports lazy SDK loading failures through bot status (14.653136ms) -2026-09-27T05:33:19.3496724Z ✔ reports disabled and missing-credential statuses without opening network connections (6.091823ms) -2026-09-27T05:33:19.3525780Z ✔ keeps the newest settings when overlapping updates disable and re-enable a bot (0.918124ms) -2026-09-27T05:33:19.3566207Z ✔ stopAll waits behind any pending applySettings call and clears bridges (1.479078ms) -2026-09-27T05:33:19.3595416Z ✔ BotRegistry (27.948975ms) -2026-09-27T05:33:19.3596120Z ▶ isAllowedUser -2026-09-27T05:33:19.3625695Z ✔ defaults open and otherwise requires an exact user-id match (0.959028ms) -2026-09-27T05:33:19.3656876Z ✔ isAllowedUser (2.506893ms) -2026-09-27T05:33:19.6146350Z ▶ quote companion panel ownership -2026-09-27T05:33:19.6167147Z ✔ opens an empty companion and reuses it for the same source session (2.224156ms) -2026-09-27T05:33:19.6246186Z ✔ replaces an empty companion when the source session changes (0.296609ms) -2026-09-27T05:33:19.6268811Z ✔ owns and consumes an initial slash-command prompt exactly once (0.261821ms) -2026-09-27T05:33:19.6304071Z ✔ consumes only the snapshot attached to the accepted send (0.572013ms) -2026-09-27T05:33:19.6305493Z ✔ ignores a late callback from a panel that has been replaced (0.254091ms) -2026-09-27T05:33:19.6306463Z ✔ removes one staged quote by stable panel and quote ids (0.346413ms) -2026-09-27T05:33:19.6307361Z ✔ ignores a stale removal from a replaced panel (0.183976ms) -2026-09-27T05:33:19.6308361Z ✔ quote companion panel ownership (6.914583ms) -2026-09-27T05:33:19.6425667Z ▶ decideDingTalkClose (PR-BOT-DINGTALK-OPERATIONAL-0) -2026-09-27T05:33:19.6455783Z ✔ only treats explicit stops as terminal (9.206716ms) -2026-09-27T05:33:19.6531688Z ✔ decideDingTalkClose (PR-BOT-DINGTALK-OPERATIONAL-0) (10.569702ms) -2026-09-27T05:33:19.6555565Z ▶ pickDingTalkSendRoute -2026-09-27T05:33:19.6568372Z ✔ routes a stamped single chat to the 1:1 endpoint by staff id (8.685768ms) -2026-09-27T05:33:19.6662022Z ✔ routes a stamped group chat to the group endpoint (0.316838ms) -2026-09-27T05:33:19.6696563Z ✔ keeps an unprefixed conversation id on the group endpoint (0.227406ms) -2026-09-27T05:33:19.6733438Z ✔ keeps an unprefixed staff id on the 1:1 endpoint (5.069582ms) -2026-09-27T05:33:19.6769464Z ✔ rejects empty and prefix-only ids (0.233014ms) -2026-09-27T05:33:19.6865817Z ✔ pickDingTalkSendRoute (15.115661ms) -2026-09-27T05:33:19.6918756Z ▶ classifyDingTalkSendResponse -2026-09-27T05:33:19.6945569Z ✔ accepts successful responses with or without a message id (0.487109ms) -2026-09-27T05:33:19.6995599Z ✔ distinguishes API errors, retryable throttling, and fatal HTTP errors (0.309783ms) -2026-09-27T05:33:19.7031476Z ✔ classifyDingTalkSendResponse (1.141358ms) -2026-09-27T05:33:19.7058809Z ▶ dingTalkPayloadToEvent -2026-09-27T05:33:19.7115912Z ✔ addresses a single chat by staff id, not by conversation id (9.689582ms) -2026-09-27T05:33:19.7145588Z ✔ addresses a group chat by conversation id (0.340345ms) -2026-09-27T05:33:19.7195657Z ✔ round-trips a single chat from receive to the 1:1 send body (0.269756ms) -2026-09-27T05:33:19.7244140Z ✔ round-trips a group chat from receive to the group send body (0.200883ms) -2026-09-27T05:33:19.7269458Z ✔ still delivers a single chat that carries no staff id (0.151022ms) -2026-09-27T05:33:19.7326039Z ✔ drops payloads missing text or routing identity (0.273441ms) -2026-09-27T05:33:19.7412864Z ✔ dingTalkPayloadToEvent (12.465945ms) -2026-09-27T05:33:19.7435307Z ▶ buildDingTalkAckFrame -2026-09-27T05:33:19.7495474Z ✔ builds default and data-bearing acknowledgements (0.244409ms) -2026-09-27T05:33:19.7628601Z ✔ buildDingTalkAckFrame (0.366012ms) -2026-09-27T05:33:19.9715931Z ▶ resume gateway url lifecycle -2026-09-27T05:33:19.9752107Z ✔ clears resumeGatewayUrl when the session is dropped (8.552888ms) -2026-09-27T05:33:19.9825733Z ✔ resume gateway url lifecycle (10.020319ms) -2026-09-27T05:33:19.9945592Z ▶ Discord gateway helpers -2026-09-27T05:33:20.0035786Z ✔ classifies stopped, fatal, resumable, and non-resumable closes (6.736204ms) -2026-09-27T05:33:20.0065687Z ✔ Discord gateway helpers (6.965529ms) -2026-09-27T05:33:20.0155692Z ▶ Discord send payloads -2026-09-27T05:33:20.0275879Z ✔ threads only the first chunk under a valid originating message (0.513732ms) -2026-09-27T05:33:20.0374746Z ✔ normalizes positive reply and channel snowflakes only (0.677472ms) -2026-09-27T05:33:20.0435923Z ✔ Discord send payloads (1.52127ms) -2026-09-27T05:33:20.0495610Z ▶ classifyDiscordSendResponse -2026-09-27T05:33:20.0583382Z ✔ returns the optional message id on successful responses (2.63671ms) -2026-09-27T05:33:20.0675925Z ✔ clamps rate-limit delays to the bounded retry window (0.490952ms) -2026-09-27T05:33:20.0685823Z ✔ returns fatal classifications for permanent HTTP failures (4.082882ms) -2026-09-27T05:33:20.0745494Z ✔ classifyDiscordSendResponse (9.082873ms) -2026-09-27T05:33:20.0769250Z ▶ discordMessageToEvent -2026-09-27T05:33:20.0825388Z ✔ maps guild and direct messages without retaining Discord transport shape (0.349677ms) -2026-09-27T05:33:20.0855644Z ✔ drops bot echoes and messages without an author (4.224465ms) -2026-09-27T05:33:20.0928128Z ✔ discordMessageToEvent (4.861303ms) -2026-09-27T05:33:20.1026919Z ▶ splitDiscordContent -2026-09-27T05:33:20.1095838Z ✔ preserves content while splitting only above Discord limits (1.067984ms) -2026-09-27T05:33:20.1109746Z ✔ splitDiscordContent (1.217697ms) -2026-09-27T05:33:20.1188295Z ▶ reconnectBackoffMs (shared backoff) -2026-09-27T05:33:20.1266001Z ✔ grows exponentially from the floor and caps at the ceiling (0.790126ms) -2026-09-27T05:33:20.1324704Z ✔ reconnectBackoffMs (shared backoff) (1.998185ms) -2026-09-27T05:33:20.1355424Z ▶ GatewayBridgeBase start gate -2026-09-27T05:33:20.1456327Z ✔ does not open a connection when the channel is disabled (11.769031ms) -2026-09-27T05:33:20.1485576Z ✔ does not open a connection when credentials are missing (0.392173ms) -2026-09-27T05:33:20.1547386Z ✔ reports as gateway connection kind once connected (0.646213ms) -2026-09-27T05:33:20.1575994Z ✔ GatewayBridgeBase start gate (13.184262ms) -2026-09-27T05:33:20.1605228Z ▶ GatewayBridgeBase hello / identify / resume -2026-09-27T05:33:20.1615690Z ✔ identifies on HELLO when no session exists (36.776406ms) -2026-09-27T05:33:20.1635809Z ✔ first send while the source is still on its first turn forks with an empty context (84.18348ms) -2026-09-27T05:33:20.1707089Z ✔ first send after a completed turn forks through the settled turn (39.558913ms) -2026-09-27T05:33:20.1755481Z [bots:qq] gateway-closed-4004: authentication failed -2026-09-27T05:33:20.1788786Z [bots:qq] gateway-closed-1000: -2026-09-27T05:33:20.1836946Z ✔ resumes on HELLO once READY established a session (4.0297ms) -2026-09-27T05:33:20.1908993Z ✔ GatewayBridgeBase hello / identify / resume (41.593304ms) -2026-09-27T05:33:20.1956153Z ▶ GatewayBridgeBase inbound dispatch -2026-09-27T05:33:20.1988258Z ✔ forwards DISPATCH events with type and payload (0.400896ms) -2026-09-27T05:33:20.2025708Z ✔ ignores frames that are not valid JSON (2.823334ms) -2026-09-27T05:33:20.2053179Z ✔ answers a server-requested heartbeat with the current seq (0.382142ms) -2026-09-27T05:33:20.2095719Z ✔ GatewayBridgeBase inbound dispatch (3.948708ms) -2026-09-27T05:33:20.2135484Z ▶ GatewayBridgeBase reconnect triggers -2026-09-27T05:33:20.2189189Z ✔ force-reconnects when a heartbeat fires before the previous ack (1.665196ms) -2026-09-27T05:33:20.2209386Z ✔ clears the session on non-resumable INVALID_SESSION and keeps it on resumable (3.801436ms) -2026-09-27T05:33:20.2295939Z ✔ schedules a reconnect when the gateway url fetch fails (0.260204ms) -2026-09-27T05:33:20.2297296Z ✔ schedules a reconnect with a stable failure code when constructing the socket throws (4.648375ms) -2026-09-27T05:33:20.2315676Z ✔ GatewayBridgeBase reconnect triggers (10.814507ms) -2026-09-27T05:33:20.2355618Z ▶ GatewayBridgeBase close policy -2026-09-27T05:33:20.2370271Z ✔ treats a fatal close as terminal: no reconnect, session dropped (0.664693ms) -2026-09-27T05:33:20.2407579Z ✔ reconnects resumably with a stable close code and redacted diagnostics (5.948389ms) -2026-09-27T05:33:20.2444919Z ✔ drops the session after a clean close and still reconnects (1.285518ms) -2026-09-27T05:33:20.2469412Z ✔ ignores closes that arrive after an explicit stop (0.256766ms) -2026-09-27T05:33:20.2521130Z ✔ GatewayBridgeBase close policy (8.453025ms) -2026-09-27T05:33:20.2550978Z ▶ review hardening: HELLO interval validation -2026-09-27T05:33:20.2565350Z ✔ falls back to the default interval when HELLO omits heartbeat_interval (15.586544ms) -2026-09-27T05:33:20.2598018Z ✔ a first send shows the question bubble immediately but arms Stop only once the fork exists (15.211585ms) -2026-09-27T05:33:20.2674356Z ✔ falls back to the default interval when HELLO has no payload at all (0.754746ms) -2026-09-27T05:33:20.2705573Z ✔ accepts a valid HELLO interval (0.937494ms) -2026-09-27T05:33:20.2763206Z ✔ review hardening: HELLO interval validation (17.569145ms) -2026-09-27T05:33:20.2841954Z ▶ review hardening: null auth payloads -2026-09-27T05:33:20.2872099Z ✔ force-reconnects without the session when the identify payload is null (1.392586ms) -2026-09-27T05:33:20.2896324Z ✔ force-reconnects keeping the session when the resume payload is null (4.229037ms) -2026-09-27T05:33:20.2938387Z ✔ review hardening: null auth payloads (5.876171ms) -2026-09-27T05:33:20.2983896Z ▶ review hardening: jitter timeout ownership -2026-09-27T05:33:20.2985652Z ✔ cancels a pending jitter timeout on stop (0.353396ms) -2026-09-27T05:33:20.2986543Z ✔ review hardening: jitter timeout ownership (0.472022ms) -2026-09-27T05:33:20.3039219Z ▶ review hardening: detached socket close events -2026-09-27T05:33:20.3045692Z ✔ ignores the late close event from a socket forceReconnect already closed (8.319769ms) -2026-09-27T05:33:20.3093598Z ✔ ignores the late close event that fires after an explicit stop (0.571704ms) -2026-09-27T05:33:20.3116051Z ✔ review hardening: detached socket close events (9.140556ms) -2026-09-27T05:33:20.3138406Z ▶ IM channel event mapping -2026-09-27T05:33:20.3165748Z ✔ maps a normalized Feishu group message without retaining the raw SDK payload (4.783935ms) -2026-09-27T05:33:20.3189578Z ✔ drops Feishu group messages outside the local allowlist (0.230952ms) -2026-09-27T05:33:20.3214088Z ✔ maps a WeCom direct text message to the sender conversation (0.295465ms) -2026-09-27T05:33:20.3215358Z ✔ drops WeCom messages outside the local allowlist (0.25345ms) -2026-09-27T05:33:20.3257015Z ✔ force-closes a Feishu raw socket even when the channel handshake never completed (0.31167ms) -2026-09-27T05:33:20.3287827Z ✔ detaches WeCom listeners before disconnecting the client (0.272315ms) -2026-09-27T05:33:20.3305373Z ✔ IM channel event mapping (16.611942ms) -2026-09-27T05:33:20.6632672Z ▶ proxiedFetch -2026-09-27T05:33:20.6676423Z ✔ returns a streaming proxied response at headers, before body EOF (141.237614ms) -2026-09-27T05:33:20.6729740Z ✔ keeps the initial Side Chat prompt before its reply when transcript reads fail (send reply) (588.907322ms) -2026-09-27T05:33:20.6866141Z ✔ cancelling the streamed body detaches the caller abort listener (27.40548ms) -2026-09-27T05:33:20.7059824Z ✔ caller abort after headers still aborts the original streamed body (25.584677ms) -2026-09-27T05:33:20.8226426Z ✔ times out and destroys stuck active proxy dispatchers (105.211105ms) -2026-09-27T05:33:20.9018963Z ✔ timeoutMs 0 disables the internal timeout for streaming callers (89.076715ms) -2026-09-27T05:33:20.9045428Z ✔ proxiedFetch (395.903523ms) -2026-09-27T05:33:20.9131029Z ✔ keeps the initial Side Chat prompt before its reply when transcript reads fail (admission event) (235.603802ms) -2026-09-27T05:33:20.9186229Z ✔ a failed first send retires the optimistic bubble without ever arming Stop (6.365364ms) -2026-09-27T05:33:20.9317997Z ✔ dispatches /compact to the committed companion fork without sending model input (10.162947ms) -2026-09-27T05:33:20.9328182Z ✔ dispatches the exact /compact Composer command before steering or ordinary send (0.47045ms) -2026-09-27T05:33:20.9385882Z ✔ routes running Side Conversation submissions like the main conversation (0.332096ms) -2026-09-27T05:33:20.9400130Z ✔ keeps an async companion compaction exclusive until its terminal event (5.603834ms) -2026-09-27T05:33:20.9485390Z ▶ QQ gateway helpers -2026-09-27T05:33:20.9525860Z ✔ classifies stopped, fatal, resumable, and non-resumable closes (1.943414ms) -2026-09-27T05:33:20.9548994Z ✔ QQ gateway helpers (3.511843ms) -2026-09-27T05:33:20.9603899Z ▶ classifyQQSendResponse -2026-09-27T05:33:20.9635161Z ✔ returns ids from either QQ success response shape (0.404098ms) -2026-09-27T05:33:20.9672268Z ✔ retries only rate-limited sends (0.236002ms) -2026-09-27T05:33:20.9728584Z ✔ returns stable fatal descriptions for permanent failures (0.26295ms) -2026-09-27T05:33:20.9755344Z ✔ classifyQQSendResponse (1.285577ms) -2026-09-27T05:33:20.9794727Z ▶ QQ message mapping -2026-09-27T05:33:20.9825634Z ✔ maps channel, group, and C2C identities to prefixed chat ids (0.600664ms) -2026-09-27T05:33:20.9830465Z ✔ drops bot echoes and messages without required identities (0.486744ms) -2026-09-27T05:33:20.9856974Z ✔ QQ message mapping (1.481648ms) -2026-09-27T05:33:20.9880948Z ▶ QQ REST routing -2026-09-27T05:33:20.9904668Z ✔ routes channel, group, and C2C sends with trimmed targets and optional replies (0.468911ms) -2026-09-27T05:33:20.9933739Z ✔ rejects unknown or empty send targets and restricts typing to channels (0.251221ms) -2026-09-27T05:33:20.9937667Z ✔ QQ REST routing (3.679117ms) -2026-09-27T05:33:20.9975447Z ▶ Slack bridge message mapping -2026-09-27T05:33:20.9976383Z ✔ maps a user message into the shared bot event contract (7.640067ms) -2026-09-27T05:33:21.0026592Z ✔ treats direct messages as private and drops bot/subtype echoes (0.312259ms) -2026-09-27T05:33:21.0076039Z ✔ keeps replies in the originating Slack thread (0.21398ms) -2026-09-27T05:33:21.0085148Z ✔ Slack bridge message mapping (10.293446ms) -2026-09-27T05:33:21.0228022Z ✔ releases an async companion compaction after a Host interruption (10.464403ms) -2026-09-27T05:33:21.0256695Z ✔ consecutive compactions each stop their observed Host Turn (15.33778ms) -2026-09-27T05:33:21.0301834Z ✔ does not settle a pending companion compaction from another turn outcome (11.892515ms) -2026-09-27T05:33:21.0304340Z ✔ clears a failed companion compaction request so it can be retried (9.545407ms) -2026-09-27T05:33:21.0306703Z ✔ rejects /compact while the companion is running without consuming staged quotes (11.391189ms) -2026-09-27T05:33:21.0307568Z ✔ rejects /compact while the companion fork is preparing (7.004864ms) -2026-09-27T05:33:21.0308432Z ✔ rejects /compact for an archived companion fork without invoking Runtime Host (7.013144ms) -2026-09-27T05:33:21.0388013Z ✔ does not fork on mount or when the source Session object refreshes (14.653761ms) -2026-09-27T05:33:21.0479996Z ✔ does not fork or send when the source model is unavailable (18.630329ms) -2026-09-27T05:33:21.0603232Z ✔ cleans up a first-send fork whose model no longer matches on commit (8.16757ms) -2026-09-27T05:33:21.0696156Z ✔ retains a fork whose in-flight send is waiting for observation when the model rebinds (16.272793ms) -2026-09-27T05:33:21.0756078Z ▶ classifyTelegramSendResponse -2026-09-27T05:33:21.0785706Z ✔ returns the optional message id on successful responses (7.834242ms) -2026-09-27T05:33:21.0786584Z ✔ clamps Telegram retry hints to the bounded retry window (0.373648ms) -2026-09-27T05:33:21.0816097Z ✔ classifies permanent and malformed failures with stable descriptions (0.282378ms) -2026-09-27T05:33:21.0845593Z ✔ classifyTelegramSendResponse (18.272072ms) -2026-09-27T05:33:21.1188218Z ✔ retains an admitted fork interrupted before send settles when its model changes (40.70841ms) -2026-09-27T05:33:21.1189400Z ✔ source model readiness requires the exact Connection id, slug, and model (0.421895ms) -2026-09-27T05:33:21.1495847Z ▶ Telegram reply streaming -2026-09-27T05:33:21.1546323Z ✔ keeps private-only drafts disabled for Telegram groups (1.971768ms) -2026-09-27T05:33:21.1604819Z ✔ coalesces snapshots and always persists the final reply (9.077091ms) -2026-09-27T05:33:21.1662612Z ✔ falls back to the final send after native draft delivery fails (1.664189ms) -2026-09-27T05:33:21.1766813Z ✔ does not resend a bounded draft when only hidden overflow changes (2.098621ms) -2026-09-27T05:33:21.1827020Z ✔ waits for an in-flight draft before publishing the final message (1.399813ms) -2026-09-27T05:33:21.1885639Z ✔ persists the final reply at most once (0.498032ms) -2026-09-27T05:33:21.1935921Z ✔ keeps only the latest pending snapshot while a draft request is slow (1.359244ms) -2026-09-27T05:33:21.1955972Z ✔ refreshes an unchanged draft before Telegram expires it (0.961927ms) -2026-09-27T05:33:21.1998685Z ✔ derives a stable non-zero draft identity for one Turn stream (0.484697ms) -2026-09-27T05:33:21.2075469Z ✔ accepts only safe positive private chat identities (2.231844ms) -2026-09-27T05:33:21.2175504Z ✔ Telegram reply streaming (25.582802ms) -2026-09-27T05:33:21.2214330Z ✔ keeps Side Conversation events owned by the Host-admitted turn across an admission race (32.45102ms) -2026-09-27T05:33:21.2240648Z ✔ binds a busy-raced Side Conversation send through its Host-admitted message identity (22.132665ms) -2026-09-27T05:33:21.2287713Z ✔ keeps staged quotes when Host retracts a busy-raced Side Conversation send (10.568405ms) -2026-09-27T05:33:21.2305766Z ✔ replays queued Side Conversation text after Host assigns the ticket to a successor Turn (29.890363ms) -2026-09-27T05:33:21.2346027Z ✔ binds an unproven Side Conversation send through the durable transcript (13.182228ms) -2026-09-27T05:33:21.2462485Z ✔ clears a stopped Side Conversation admission when its live retraction is lost (16.385919ms) -2026-09-27T05:33:21.2596029Z ✔ keeps a Side Conversation admission when Host stop outcome is unknown (11.883085ms) -2026-09-27T05:33:21.2736432Z ✔ stops a bound Side Conversation by its exact Host Turn identity (2.646722ms) -2026-09-27T05:33:21.2806030Z ✔ releases a queued Side Conversation admission from the Host queue retract (8.83661ms) -2026-09-27T05:33:21.2896275Z ✔ keeps the same Side Conversation admission across an observation failure (10.734461ms) -2026-09-27T05:33:21.2982124Z ✔ Side Chat stops presenting execution on observation loss while retaining the Stop target (13.877533ms) -2026-09-27T05:33:21.3211651Z ✔ keeps the active Side Conversation streaming when Stop retracts a queued steer (17.105897ms) -2026-09-27T05:33:21.3316514Z ✔ stops the active Side Conversation after retracting its queued steer (14.618211ms) -2026-09-27T05:33:21.3456352Z ✔ does not let an older Stop failure release a newer active Turn Stop (7.361642ms) -2026-09-27T05:33:21.3551371Z ✔ continues projecting the active Turn while a steer awaits Host admission (10.219682ms) -2026-09-27T05:33:21.3656806Z ✔ keeps an outcome-unknown Side Conversation steer addressable by message identity (7.794959ms) -2026-09-27T05:33:21.3728123Z ✔ recovers the Host-edited Side Conversation steer from the queue projection (12.106728ms) -2026-09-27T05:33:21.3916216Z ✔ consumes a steered attachment when the started turn binds the admission (10.452267ms) -2026-09-27T05:33:21.4023769Z ✔ retracts a queued Side Conversation message without stopping the active turn (11.758692ms) -2026-09-27T05:33:21.4180700Z ✔ queues multiple Side Conversation follow-ups while the active turn keeps streaming (10.738341ms) -2026-09-27T05:33:21.4386370Z ▶ buildTelegramSendBody -2026-09-27T05:33:21.4427525Z ✔ threads only the first chunk under a valid originating message (4.063276ms) -2026-09-27T05:33:21.4485228Z ✔ buildTelegramSendBody (6.119085ms) -2026-09-27T05:33:21.4541013Z ▶ normalizeTelegramReplyToMessageId -2026-09-27T05:33:21.4587633Z ✔ accepts positive safe integers and rejects malformed or unsafe values (2.809006ms) -2026-09-27T05:33:21.4596914Z ✔ normalizeTelegramReplyToMessageId (3.039713ms) -2026-09-27T05:33:21.4790526Z ▶ Telegram UTF-16 limits -2026-09-27T05:33:21.4813419Z ✔ splits oversized text within limits, on code points, and preferably at newlines (12.687276ms) -2026-09-27T05:33:21.4815277Z ✔ Telegram UTF-16 limits (14.027243ms) -2026-09-27T05:33:21.5136765Z ✔ adopts a queued Side Conversation follow-up that starts after the active turn settles (started receipt) (101.980012ms) -2026-09-27T05:33:21.5927753Z ▶ WechatBridge -2026-09-27T05:33:21.6020217Z ✔ normalizes only local http bridge URLs (1.601903ms) -2026-09-27T05:33:21.6042276Z ✔ normalizes only the iLink base URL for direct WeChat login (0.304616ms) -2026-09-27T05:33:21.6135753Z ✔ normalizes send targets before direct bridge and iLink sends (0.242746ms) -2026-09-27T05:33:21.6158038Z ✔ bridge URL is a credential fact and a restart boundary (0.334731ms) -2026-09-27T05:33:21.6588200Z ✔ adopts a queued Side Conversation follow-up that starts after the active turn settles (admission event) (145.811586ms) -2026-09-27T05:33:21.7576466Z ✔ places a raced steer before its successor reply after a lost receipt (admission event) (100.616117ms) -2026-09-27T05:33:21.8340312Z ✔ places a raced steer before its successor reply after a lost receipt (ownership recovery) (72.966229ms) -2026-09-27T05:33:21.8417367Z ✔ fetches an iLink-compatible QR payload from the local bridge and renders a data URL (253.74578ms) -2026-09-27T05:33:21.8476510Z ✔ rejects QR requests to non-local bridge URLs (0.529307ms) -2026-09-27T05:33:21.8545716Z ✔ maps live direct bridge messages into bot events (4.636251ms) -2026-09-27T05:33:21.8588680Z ✔ drops self messages and unmentioned group messages (0.268598ms) -2026-09-27T05:33:21.8672891Z ✔ accepts mentioned group messages and common bridge aliases (3.437711ms) -2026-09-27T05:33:21.8706355Z ✔ maps iLink text and voice transcript messages into bot events (0.527197ms) -2026-09-27T05:33:21.8725574Z ✔ maps bridge media kinds and rejects empty non-media messages (0.248056ms) -2026-09-27T05:33:21.8758290Z ✔ parses SSE data objects with LF and CRLF event boundaries (4.917894ms) -2026-09-27T05:33:21.8762753Z ✔ WechatBridge (273.110182ms) -2026-09-27T05:33:21.8786939Z ✔ reconciles a queued Side Conversation follow-up that settles before its started receipt (30.593571ms) -2026-09-27T05:33:21.8835877Z ✔ does not re-arm a settled follow-up after it leaves the bounded transcript tail (6.815915ms) -2026-09-27T05:33:21.8885718Z ✔ does not re-arm a settled follow-up after its transcript read fails (4.345903ms) -2026-09-27T05:33:21.8917389Z ✔ does not let a late Side Conversation started receipt replace a newer active turn (7.511259ms) -2026-09-27T05:33:21.8943584Z ▶ matchesBypassList -2026-09-27T05:33:21.8982023Z ✔ matches exact, wildcard, and CIDR entries (17.998829ms) -2026-09-27T05:33:21.8987586Z ✔ is case-insensitive and supports global wildcard (0.206723ms) -2026-09-27T05:33:21.8996209Z ✔ rejects malformed CIDR entries (4.331549ms) -2026-09-27T05:33:21.8999131Z ✔ matchesBypassList (24.207671ms) -2026-09-27T05:33:21.8999673Z ▶ getEnvWithProxy -2026-09-27T05:33:21.9000487Z ✔ injects proxy env without overwriting user exports (1.094797ms) -2026-09-27T05:33:21.9001383Z ✔ emits socks5 and IPv6 URLs (0.299107ms) -2026-09-27T05:33:21.9002037Z ✔ getEnvWithProxy (3.041321ms) -2026-09-27T05:33:21.9002569Z ▶ parseProxyConfig -2026-09-27T05:33:21.9003138Z ✔ coerces type and port safely (6.331596ms) -2026-09-27T05:33:21.9003885Z ✔ drops empty credentials and filters bypassList (0.362805ms) -2026-09-27T05:33:21.9212773Z ✔ parseProxyConfig (13.896464ms) -2026-09-27T05:33:21.9225447Z ▶ buildProxyUrl -2026-09-27T05:33:21.9231679Z ✔ builds proxy URLs with encoded credentials (0.628506ms) -2026-09-27T05:33:21.9232583Z ✔ brackets IPv6 hosts (0.197415ms) -2026-09-27T05:33:21.9233209Z ✔ buildProxyUrl (1.116529ms) -2026-09-27T05:33:21.9234143Z ✔ keeps the settled prior turn visible while a queued successor is running (5.497096ms) -2026-09-27T05:33:21.9235723Z ✔ retires a cancelled queued Side Conversation message after observation reseeds (3.30101ms) -2026-09-27T05:33:21.9237091Z ✔ releases an outcome-unknown Side Conversation steer when reseeding proves it cancelled (7.169409ms) -2026-09-27T05:33:21.9238397Z ✔ releases an outcome-unknown Side Conversation steer when reseeding proves it owned (8.107977ms) -2026-09-27T05:33:21.9239753Z ✔ retires durable Side Conversation identities before observation recovery queries (3.673478ms) -2026-09-27T05:33:21.9241003Z ✔ recovers every queued Side Conversation successor across one observation gap (4.659331ms) -2026-09-27T05:33:21.9242174Z ✔ fails a send when observation seed rejects and resubscribes for retry (3.984046ms) -2026-09-27T05:33:21.9243365Z ✔ releases a send waiting for observation when the Side Conversation is disposed (1.909292ms) -2026-09-27T05:33:21.9244783Z ✔ releases the fork observation while the panel is hidden and re-seeds on return (3.87848ms) -2026-09-27T05:33:21.9246069Z ✔ applies a permission mode picked before the first send once the fork is created (3.034922ms) -2026-09-27T05:33:21.9250555Z ✔ replaces a stale empty fork on the next send after the source model rebinds (3.870571ms) -2026-09-27T05:33:21.9275775Z ✔ fails closed when the staged permission write fails on the first send (2.038145ms) -2026-09-27T05:33:21.9426495Z ✔ replays the empty copy point across an ambiguous retry even after the source settles (2.85459ms) -2026-09-27T05:33:21.9456209Z ✔ declining Full access through the side-chat hook does not persist the permission mode (10.775294ms) -2026-09-27T05:33:21.9576114Z ✔ a structured-only send (empty text with a staged quote) reaches the fork admission (6.640672ms) -2026-09-27T05:33:21.9676102Z ✔ a structured-only steer (empty text with a staged quote) rides the steering contract (12.859328ms) -2026-09-27T05:33:21.9792570Z ✔ a steer with staged attachments consumes them only on confirmed admission (13.985973ms) -2026-09-27T05:33:21.9863440Z ✔ an unknown steer outcome that later retracts keeps the staged attachments (7.121447ms) -2026-09-27T05:33:22.0326330Z ✔ retires React measures, preserves other diagnostics, and releases its observer (34.808608ms) -2026-09-27T05:33:22.0355937Z ✔ preserves a mixed-name bucket when only one measure belongs to React (2.872595ms) -2026-09-27T05:33:22.0385460Z ▶ redactSecrets -2026-09-27T05:33:22.0416586Z ✔ masks credential headers, query parameters, provider keys, and high-entropy tokens (4.456956ms) -2026-09-27T05:33:22.0417841Z ✔ preserves non-secret URL context and ordinary text (0.341848ms) -2026-09-27T05:33:22.0418656Z ✔ redactSecrets (7.096653ms) -2026-09-27T05:33:22.2106198Z ▶ testProxyConnection -2026-09-27T05:33:22.2120594Z ✔ returns an error when the proxy host refuses connections (27.862264ms) -2026-09-27T05:33:22.2398132Z ✔ does not depend on the ambient global fetch when using the proxy dispatcher (29.153315ms) -2026-09-27T05:33:22.3444066Z ✔ times out when the proxy accepts TCP but never responds (111.204226ms) -2026-09-27T05:33:22.3486086Z ✔ testProxyConnection (170.390989ms) -2026-09-27T05:33:22.4437766Z ✔ modern stdio inputRequired becomes a typed ACP form and resumes the same MCP call (6993.133648ms) -2026-09-27T05:33:22.6808028Z ▶ connection effect network transport -2026-09-27T05:33:22.6856114Z ✔ concurrent discovery uses immutable per-effect proxy snapshots (147.887824ms) -2026-09-27T05:33:22.7000969Z ✔ close terminates owned proxy resources and rejects later fetches (9.625251ms) -2026-09-27T05:33:22.7220477Z ✔ close terminates resources owned by a direct transport (29.004361ms) -2026-09-27T05:33:22.7906263Z ✔ body timeout remains active after response headers arrive (55.622556ms) -2026-09-27T05:33:22.9661840Z ✔ bounds and redacts the browser-only renderer error report (58.527277ms) -2026-09-27T05:33:22.9687011Z ✔ keeps raw exceptions out of the localized crash surface (35.751377ms) -2026-09-27T05:33:23.0386009Z ▶ Desktop review base branch preferences -2026-09-27T05:33:23.0447856Z ✔ persists explicit refs across adapter instances without pinning new Sessions (8.89187ms) -2026-09-27T05:33:23.0477795Z ✔ ignores malformed records and recovers on the next explicit choice (1.459886ms) -2026-09-27T05:33:23.0520296Z ✔ handles a restricted localStorage getter lazily (0.665944ms) -2026-09-27T05:33:23.0558266Z ✔ handles read failures and quota errors without breaking comparisons (8.07059ms) -2026-09-27T05:33:23.0564758Z ✔ Desktop review base branch preferences (31.981336ms) -2026-09-27T05:33:23.0574650Z ✔ production proxied fetch keeps the deadline active while reading the body (268.503432ms) -2026-09-27T05:33:23.1472259Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:33:23.2019028Z ✔ oversized provider JSON and error bodies fail without escaping their bounds (154.884515ms) -2026-09-27T05:33:23.2137817Z ✔ successful probes cancel an unused response body (12.014116ms) -2026-09-27T05:33:23.2338487Z ✔ discovery exposes closed classifications without provider response bodies (21.570276ms) -2026-09-27T05:33:23.2435018Z ✔ connection testing reuses provider logic with an explicit direct transport (12.32608ms) -2026-09-27T05:33:23.2465650Z ✔ connection effect network transport (714.786884ms) -2026-09-27T05:33:23.2876019Z ℹ tests 3566 -2026-09-27T05:33:23.2927460Z ℹ suites 316 -2026-09-27T05:33:23.2985453Z ℹ pass 3560 -2026-09-27T05:33:23.3045501Z ℹ fail 1 -2026-09-27T05:33:23.3052380Z ℹ cancelled 0 -2026-09-27T05:33:23.3054009Z ℹ skipped 5 -2026-09-27T05:33:23.3054938Z ℹ todo 0 -2026-09-27T05:33:23.3085428Z ℹ duration_ms 136274.997375 -2026-09-27T05:33:23.3114596Z -2026-09-27T05:33:23.3115206Z ✖ failing tests: -2026-09-27T05:33:23.3115570Z -2026-09-27T05:33:23.3116099Z test at dist/__tests__/quiescent-session-snapshot.test.js:87:1 -2026-09-27T05:33:23.3117229Z ✖ actual Runtime Kernel serializes an admitted mutation before snapshot work (1.395495ms) -2026-09-27T05:33:23.3118101Z TypeError: deps.now is not a function -2026-09-27T05:33:23.3119136Z at new RuntimeKernel (file:///home/runner/work/maka/maka/packages/runtime/dist/runtime-kernel.js:92:42) -2026-09-27T05:33:23.3120570Z at TestContext. (file:///home/runner/work/maka/maka/packages/runtime/dist/__tests__/quiescent-session-snapshot.test.js:88:20) -2026-09-27T05:33:23.3121693Z at Test.runInAsyncScope (node:async_hooks:227:14) -2026-09-27T05:33:23.3122422Z at Test.run (node:internal/test_runner/test:1402:25) -2026-09-27T05:33:23.3123323Z at Test.processPendingSubtests (node:internal/test_runner/test:974:18) -2026-09-27T05:33:23.3124340Z at Test.postRun (node:internal/test_runner/test:1542:19) -2026-09-27T05:33:23.3125203Z at Test.run (node:internal/test_runner/test:1467:12) -2026-09-27T05:33:23.3125925Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:33:23.3235625Z npm error Lifecycle script `test:dist` failed with error: -2026-09-27T05:33:23.3236529Z npm error code 1 -2026-09-27T05:33:23.3265587Z npm error path /home/runner/work/maka/maka/packages/runtime -2026-09-27T05:33:23.3290084Z npm error workspace @maka/runtime@0.1.0 -2026-09-27T05:33:23.3307499Z npm error location /home/runner/work/maka/maka/packages/runtime -2026-09-27T05:33:23.3308361Z npm error command failed -2026-09-27T05:33:23.3309073Z npm error command sh -c node --test "dist/**/*.test.js" -2026-09-27T05:33:23.3775032Z -2026-09-27T05:33:23.3805736Z [storage] start: npm run test:dist -2026-09-27T05:33:23.6425845Z ▶ RiveWorkflow tool and CLI bridge -2026-09-27T05:33:23.6456160Z ✔ builds shell-free argv for high-level workflow commands (2.656836ms) -2026-09-27T05:33:23.6475842Z ✔ runs a fake Rive CLI and returns projection ids, not stdout success (48.621475ms) -2026-09-27T05:33:23.6535686Z ✔ fails closed when Rive is not installed (5.290365ms) -2026-09-27T05:33:23.6586525Z ✔ reports timeout and abort without parsing stdout as success (73.095181ms) -2026-09-27T05:33:23.6665683Z ✔ kills and reaps a Rive child that ignores SIGTERM on abort (2029.160317ms) -2026-09-27T05:33:23.6751335Z ✔ surfaces bad JSON and Rive error envelopes as structured tool failures (33.747665ms) -2026-09-27T05:33:23.6805582Z ✔ rejects invalid scheduler arguments before spawning Rive (5.841927ms) -2026-09-27T05:33:23.6958591Z ✔ redacts secrets from bridge errors and output tails (13.958647ms) -2026-09-27T05:33:23.7030153Z ✔ RiveWorkflow tool and CLI bridge (2215.380222ms) -2026-09-27T05:33:23.7276098Z ▶ synchronizeRuntimeHostAccountConnection -2026-09-27T05:33:23.7316073Z ✔ selects a default model when model discovery is rejected (2.120694ms) -2026-09-27T05:33:23.7350949Z ✔ selects a default model when model discovery throws (0.41526ms) -2026-09-27T05:33:23.7351713Z ✔ leaves an existing default alone (0.315532ms) -2026-09-27T05:33:23.7375665Z ✔ synchronizeRuntimeHostAccountConnection (4.711784ms) -2026-09-27T05:33:23.7405740Z ✔ HTML external open uses the managed endpoint and reports launch failure=false (136.813806ms) -2026-09-27T05:33:23.7428692Z ✔ HTML external open uses the managed endpoint and reports launch failure=true (21.10876ms) -2026-09-27T05:33:23.7462635Z ✔ Save As preserves the destination and reports none correctly (33.139208ms) -2026-09-27T05:33:23.7463892Z ✔ Save As preserves the destination and reports stream correctly (9.806539ms) -2026-09-27T05:33:23.7506913Z ✔ Save As preserves the destination and reports total correctly (6.118778ms) -2026-09-27T05:33:23.7536352Z ✔ Save As preserves the destination and reports length correctly (5.683174ms) -2026-09-27T05:33:23.7557252Z ✔ Save As preserves the destination and reports rename correctly (13.065813ms) -2026-09-27T05:33:23.7593493Z ✔ Save As preserves the destination and reports directory correctly (9.768731ms) -2026-09-27T05:33:23.7595690Z ✔ Save As preserves the destination and reports write correctly (6.937432ms) -2026-09-27T05:33:23.7656850Z ✔ Save As preserves the destination and reports sync correctly (8.776752ms) -2026-09-27T05:33:23.7687458Z ✔ Save As preserves the destination and reports close correctly (5.789396ms) -2026-09-27T05:33:23.7715743Z ✔ Runtime Host Artifact IPC preserves previews and streams complete exports (15.897062ms) -2026-09-27T05:33:23.7717172Z ✔ HTML Artifact materializes and opens with the operating system default app (9.44502ms) -2026-09-27T05:33:23.7748146Z ✔ HTML Artifact reveal uses Finder without invoking the default app (19.281662ms) -2026-09-27T05:33:23.7776821Z ✔ HTML Artifact reports default-app failure when opener returns an error (13.145684ms) -2026-09-27T05:33:23.7805835Z ✔ HTML Artifact reports default-app failure when opener rejects (3.024776ms) -2026-09-27T05:33:23.7835621Z ✔ HTML Artifact does not invoke an opener when materialization fails (6.026995ms) -2026-09-27T05:33:23.7836908Z ✔ Attachment byte IPC rejects preview-ineligible metadata before streaming (0.569062ms) -2026-09-27T05:33:23.7866917Z ✔ Attachment byte IPC stops a stream that exceeds its preview admission (0.443839ms) -2026-09-27T05:33:23.7895927Z ✔ creates a bot-mode Session through the Host-owned default model route (2.840023ms) -2026-09-27T05:33:23.7914831Z ✔ prepares a bound Session without exposing Host configuration revisions to the Bot (1.115874ms) -2026-09-27T05:33:23.7955653Z ✔ rejects archived Sessions before and after a permission transition (0.432477ms) -2026-09-27T05:33:23.7956779Z ✔ reconciles an uncertain Host Session create with its stable Session identity (0.409104ms) -2026-09-27T05:33:23.7985710Z ✔ subscribes before Turn start and settles a fast Host reply without losing text (1.882498ms) -2026-09-27T05:33:23.8015757Z ✔ accepts an empty reset delta as the authoritative Bot reply (0.738999ms) -2026-09-27T05:33:23.8017004Z ✔ reply snapshot observers cannot interrupt the authoritative Host Turn (0.827677ms) -2026-09-27T05:33:23.8045697Z ✔ returns blocked Skill feedback without waiting for a Turn that was not created (0.606666ms) -2026-09-27T05:33:23.8075640Z ✔ projects Host interaction and failure outcomes into the Bot reply contract (3.459744ms) -2026-09-27T05:33:23.8105656Z ✔ publishes an offline revision to the replacement candidate generation (2.375938ms) -2026-09-27T05:33:23.8106900Z ✔ does not let a retired candidate confirm an in-flight publication (1.070239ms) -2026-09-27T05:33:23.9285726Z -2026-09-27T05:33:23.9313029Z > @maka/storage@0.1.0 test:dist -2026-09-27T05:33:23.9335493Z > node --test "dist/**/*.test.js" -2026-09-27T05:33:23.9364972Z -2026-09-27T05:33:24.2976432Z ✔ restarts a paginated catalog read instead of mixing revisions (34.170936ms) -2026-09-27T05:33:24.3039638Z ✔ resolves WorkHub coordination through the dedicated Host operation (0.648139ms) -2026-09-27T05:33:24.3125924Z ✔ re-reads the Session revision before retrying a product update (0.635122ms) -2026-09-27T05:33:24.3155837Z ✔ settles cleanup when its copy target is already absent (0.322435ms) -2026-09-27T05:33:24.3156925Z ✔ settles branch cleanup when its target disappears between catalog reads (0.364786ms) -2026-09-27T05:33:24.3215914Z ✔ settles revision cleanup when abandon observes an already absent target (0.481106ms) -2026-09-27T05:33:24.3325862Z ✔ replays one exact model patch across fresh CAS projections (4.809826ms) -2026-09-27T05:33:24.3380593Z ✔ retries a Session update through transient revision churn (0.421146ms) -2026-09-27T05:33:24.3439179Z ✔ abandons a remove whose task was restored under it (0.383506ms) -2026-09-27T05:33:24.3505804Z ✔ retries a remove through revision churn that left the task archived (0.479739ms) -2026-09-27T05:33:24.3635918Z ✔ removes a task that was never archived when no premise was stated (6.110124ms) -2026-09-27T05:33:24.3715894Z ✔ rebuilds a Runtime Policy mutation from each fresh CAS projection (0.675917ms) -2026-09-27T05:33:24.3803724Z ✔ stops a guarded Runtime Policy retry after its semantic basis changes (0.306157ms) -2026-09-27T05:33:24.3875810Z ✔ treats empty configuration patches as read-only lookups (0.230287ms) -2026-09-27T05:33:24.3938029Z ✔ binds message controls to the current Host Epoch (0.409011ms) -2026-09-27T05:33:24.3976941Z ✔ uploads Attachment bytes in bounded Host chunks and commits the digest (7.415878ms) -2026-09-27T05:33:24.3999220Z ✔ aborts an opened Attachment upload when a later chunk fails (0.860491ms) -2026-09-27T05:33:24.4056160Z ✔ accepts an idempotently committed Attachment upload at begin (0.246021ms) -2026-09-27T05:33:24.4145281Z ✔ streams Artifact content without mixing chunk offsets or totals (0.636647ms) -2026-09-27T05:33:24.4175666Z ✔ restarts Session sidecar reads when a paginated revision changes (24.823791ms) -2026-09-27T05:33:24.4232150Z ✔ retries Goal clear only while the same Goal generation remains active (0.727122ms) -2026-09-27T05:33:24.4338808Z ✔ controlGoalWithRetry applies pause/resume with the queried revision (0.281507ms) -2026-09-27T05:33:24.4406114Z ✔ controlGoalWithRetry rethrows a status refusal instead of retrying it away (0.264215ms) -2026-09-27T05:33:24.4556158Z ✔ arms a Goal in one request and reports a conflicting Goal instead of retrying (0.362975ms) -2026-09-27T05:33:24.4587727Z ✔ rejects a SessionTodo projection for a different Session (0.307973ms) -2026-09-27T05:33:24.4647736Z ✔ projects SessionTodo content through the shared Desktop display boundary (7.579485ms) -2026-09-27T05:33:24.4678811Z ✔ a relocate conflict is reported, not replayed with a stale directory (0.511173ms) -2026-09-27T05:33:24.4745433Z ▶ ActivationSecretInjector -2026-09-27T05:33:24.4765631Z ✔ injects into an isolated launch environment and restores its prior state (16.2536ms) -2026-09-27T05:33:24.4845613Z ✔ literal redaction cannot rewrite its own replacement marker (10.93552ms) -2026-09-27T05:33:24.4860829Z ✔ resolves before injection and gives the sink one complete batch effect (3.548563ms) -2026-09-27T05:33:24.4925795Z ✔ the environment sink restores the complete batch if applying an entry fails (5.931992ms) -2026-09-27T05:33:24.5000317Z ✔ injects nothing when any reference is missing authorization (0.689714ms) -2026-09-27T05:33:24.5068388Z ✔ rejects reordered material references before the first sink effect (0.642349ms) -2026-09-27T05:33:24.5095768Z ✔ uses a private material snapshot across asynchronous sink effects (7.597677ms) -2026-09-27T05:33:24.5145515Z ✔ wraps a batch sink failure without exposing resolved material (0.648051ms) -2026-09-27T05:33:24.5215806Z ✔ keeps successful-handle cleanup failures retryable (0.629873ms) -2026-09-27T05:33:24.5235041Z ✔ rejects duplicate and malformed environment targets before resolution (0.635998ms) -2026-09-27T05:33:24.5301457Z ✔ ActivationSecretInjector (49.69629ms) -2026-09-27T05:33:24.6886643Z ✔ drives the Desktop Pricing adapter through a real Runtime Host connection (276.871165ms) -2026-09-27T05:33:25.1444865Z ✔ restarts a paginated Pricing read instead of mixing revisions (9.065521ms) -2026-09-27T05:33:25.1505919Z ✔ fails after bounded Pricing snapshot restarts under continuous churn (6.903514ms) -2026-09-27T05:33:25.1527104Z ✔ rejects duplicate or non-canonical keys split across Pricing pages (0.383961ms) -2026-09-27T05:33:25.1621461Z ✔ rejects a Pricing mutation from another Host Epoch before dispatch (0.515635ms) -2026-09-27T05:33:25.1670263Z ✔ rejects a Pricing mutation from a previous connection with the same Host Epoch (0.384149ms) -2026-09-27T05:33:25.1742991Z ✔ reloads authority after a committed Pricing mutation (7.229384ms) -2026-09-27T05:33:25.1806410Z ✔ keeps a known save outcome distinct when the authoritative reload fails (0.4376ms) -2026-09-27T05:33:25.1883420Z ✔ propagates a typed rejected mutation without classifying it as uncertain (0.434421ms) -2026-09-27T05:33:25.1956041Z ✔ does not replay a conflicting mutation and reports when authority already matches (5.771228ms) -2026-09-27T05:33:25.2023232Z ✔ requires review when a conflicting write differs from fresh authority (0.628848ms) -2026-09-27T05:33:25.2061897Z ✔ reconciles an uncertain mutation without claiming which command committed it (0.531987ms) -2026-09-27T05:33:25.2152772Z ✔ requires review after response loss when fresh authority differs (0.355823ms) -2026-09-27T05:33:25.2264070Z ✔ keeps writes blocked when uncertain-outcome reconciliation cannot reload authority (8.439361ms) -2026-09-27T05:33:25.2297602Z ✔ distinguishes reset from Custom-only delete while reconciling (0.405958ms) -2026-09-27T05:33:25.2345731Z ✔ requires custom provenance when an upsert equals the bundled values (0.282289ms) -2026-09-27T05:33:25.2405933Z ✔ captures the canonical mutation target before an uncertain request settles (0.498843ms) -2026-09-27T05:33:25.2465837Z ✔ does not collapse an omitted cache rate into an explicit zero during reconciliation (0.262393ms) -2026-09-27T05:33:25.3316284Z ▶ SQLite Agent Graph epochs -2026-09-27T05:33:25.3419245Z ✔ resolves legacy epoch 1 without persisting state for an unused graph (165.112953ms) -2026-09-27T05:33:25.3426005Z ✔ advances with compare-and-swap semantics and makes retries idempotent (102.004723ms) -2026-09-27T05:33:25.3509317Z ✔ rejects stale writers and graph identities already bound elsewhere (88.649516ms) -2026-09-27T05:33:25.3656812Z ✔ rejects a drifted legacy identity after adoption (77.799818ms) -2026-09-27T05:33:25.3810549Z ✔ retains the epoch directory until root-scoped retirement cleanup commits (68.800794ms) -2026-09-27T05:33:25.3875801Z ✔ SQLite Agent Graph epochs (512.508332ms) -2026-09-27T05:33:25.3984095Z ▶ SQLite agent graph intent claims -2026-09-27T05:33:25.4055447Z ✔ atomically allocates one stable activation identity per intent (64.356458ms) -2026-09-27T05:33:25.4135844Z ✔ rejects reused intent and activation identities with different semantics (89.396432ms) -2026-09-27T05:33:25.4144859Z ✔ rolls back a claim when the transaction fails before commit (81.061127ms) -2026-09-27T05:33:25.4205947Z ✔ atomically transitions claimed work to executing or cancelled (71.510078ms) -2026-09-27T05:33:25.4295523Z ✔ SQLite agent graph intent claims (320.636072ms) -2026-09-27T05:33:25.4326264Z ▶ SQLite agent graph schedule updates -2026-09-27T05:33:25.4365763Z ✔ lists only graph identities that have durable schedule intent (106.500218ms) -2026-09-27T05:33:25.4445751Z ✔ commits ordered idempotent updates and closes the schedule atomically (99.389635ms) -2026-09-27T05:33:25.4520910Z ✔ rejects tool-call and update identities reused for different work (89.54707ms) -2026-09-27T05:33:25.4616048Z ✔ rolls back an update when the transaction fails before commit (82.318504ms) -2026-09-27T05:33:25.6766572Z ✔ replays the same schedule after reopening the workspace database (159.182804ms) -2026-09-27T05:33:25.6812476Z ✔ linearizes scheduled admission against revision changes and closure (92.693233ms) -2026-09-27T05:33:25.6859711Z ✔ SQLite agent graph schedule updates (638.095939ms) -2026-09-27T05:33:26.0585830Z ✔ Agent Graph supervisor admission durably binds wake identity and Graph orchestration (471.649279ms) -2026-09-27T05:33:26.1926518Z ✔ Agent Graph supervisor admission rejects malformed identity and non-Graph orchestration (136.716539ms) -2026-09-27T05:33:26.2166117Z ▶ SQLite Agent Graph supervisor wakes -2026-09-27T05:33:26.2206254Z ✔ tracks retry attempts separately and marks delivery only after completion (39.039913ms) -2026-09-27T05:33:26.2260224Z ✔ recovers pre-run pending wakes without guessing the AgentRun state (26.406306ms) -2026-09-27T05:33:26.2375987Z ✔ terminally supersedes only non-delivered wakes for retired Sessions (30.526125ms) -2026-09-27T05:33:26.2425756Z ✔ SQLite Agent Graph supervisor wakes (97.76769ms) -2026-09-27T05:33:26.3504944Z ▶ SQLite agent graph timeline metadata -2026-09-27T05:33:26.3556346Z ✔ reads one graph control-plane snapshot with current admission and wake attempts (142.456435ms) -2026-09-27T05:33:26.3665969Z ✔ SQLite agent graph timeline metadata (143.782968ms) -2026-09-27T05:33:26.5886712Z ✔ drives Desktop Session operations through a real Runtime Host connection (222.971194ms) -2026-09-27T05:33:27.2234168Z ▶ artifact attachment authority -2026-09-27T05:33:27.2318068Z ✔ reads only live user-uploaded text within the invoking Session (641.189996ms) -2026-09-27T05:33:27.2455933Z ✔ drives the renderer Session catalog facade through real UDS framing (644.806675ms) -2026-09-27T05:33:27.3456404Z ✔ drives the renderer Session execution facade through real UDS framing (113.140263ms) -2026-09-27T05:33:27.4244854Z ✔ drives bounded Session domain projections through real UDS framing (80.774657ms) -2026-09-27T05:33:27.4566401Z ✔ resolves a live session ref and never forwards tombstoned bytes (229.914099ms) -2026-09-27T05:33:27.4671748Z ✔ loads a full transcript only on explicit request and closes Sessions before the connection (15.882865ms) -2026-09-27T05:33:27.4721627Z ✔ derives turn records from bounded contribution pages (0.826359ms) -2026-09-27T05:33:27.4766219Z ✔ reads the bounded prompt rail index, or one Turn, without paging every turn (1.17584ms) -2026-09-27T05:33:27.4767964Z ✔ requires plaintext confirmation and reports the issued invitation routes (16.882578ms) -2026-09-27T05:33:27.4770034Z ✔ treats an unavailable collaboration authority as an empty background inbox (0.948021ms) -2026-09-27T05:33:27.4772082Z ✔ Runtime Host config export omits settings secrets unless credentials are selected (3.903198ms) -2026-09-27T05:33:27.4774015Z ✔ Runtime Host config export reads selected credentials from Host authority (1.693979ms) -2026-09-27T05:33:27.4775525Z ✔ Runtime Host config export retries when a bound connection target changes (1.01664ms) -2026-09-27T05:33:27.4777301Z ✔ Runtime Host credentials-only export includes only schema-v1 credential fields (0.743353ms) -2026-09-27T05:33:27.4801668Z ✔ Runtime Host credentials-only proxy export carries a target binding without patching policy (2.991896ms) -2026-09-27T05:33:27.4803131Z ✔ Runtime Host settings export retries when the proxy changes after its secret read (0.771452ms) -2026-09-27T05:33:27.4804884Z ✔ Runtime Host credentials-only export omits each absent settings-carried secret (1.488111ms) -2026-09-27T05:33:27.4806185Z ✔ Runtime Host config export writes an empty v1 proxy password when none is configured (4.973291ms) -2026-09-27T05:33:27.4807497Z ✔ Runtime Host config import adapts v1 proxy passwords only with credential consent (1.433521ms) -2026-09-27T05:33:27.4808642Z ✔ Runtime Host config import rejects an unbound legacy proxy password (2.021823ms) -2026-09-27T05:33:27.4809786Z ✔ Runtime Host config import rejects a non-string v1 password during preflight (1.341715ms) -2026-09-27T05:33:27.4811051Z ✔ Runtime Host config import rejects conflicting authentication before apply (0.390119ms) -2026-09-27T05:33:28.0520952Z ✔ refuses a prototype member posing as a provider type (6.439443ms) -2026-09-27T05:33:28.0566272Z ✔ registers pure Connection reads for replacement-Host retry (1.522362ms) -2026-09-27T05:33:28.0578396Z ✔ forwards managed onboarding and emits only after a canonical save (1.179961ms) -2026-09-27T05:33:28.0595875Z ✔ keeps a dispatched onboarding save interruption outcome unknown (0.53663ms) -2026-09-27T05:33:28.0599972Z ✔ keeps Host commit_outcome_unknown distinct from a safe non-save (0.500593ms) -2026-09-27T05:33:28.0602195Z ✔ fails closed when a dispatched onboarding response cannot be decoded (9.765013ms) -2026-09-27T05:33:28.0603417Z ✔ retries connection delete after a stale revision instead of failing permanently (1.109997ms) -2026-09-27T05:33:28.0604858Z ✔ treats a missing connection as a successful delete without calling remove (0.354933ms) -2026-09-27T05:33:28.0606072Z ✔ does not delete a replacement Connection that reused the stale detail slug (0.419991ms) -2026-09-27T05:33:28.0607265Z ✔ rejects invalid connection identity input instead of treating it as already deleted (4.313802ms) -2026-09-27T05:33:28.0608303Z ✔ reports an existing but unconfigured credential as missing (0.381542ms) -2026-09-27T05:33:28.0609402Z ✔ keeps saved custom header values out of the renderer and preserves them by name (1.15598ms) -2026-09-27T05:33:28.0610494Z ✔ creates a connection with only the explicitly selected model (1.525966ms) -2026-09-27T05:33:28.0611670Z ✔ projects the Host default target without inventing a second Connection authority (0.252307ms) -2026-09-27T05:33:28.0612842Z ✔ does not invent a per-Connection default when the Host target is unset (0.141696ms) -2026-09-27T05:33:28.0614028Z ✔ preserves the Host-tested model and diagnostics for the existing Desktop UI (0.311642ms) -2026-09-27T05:33:28.1284745Z ✔ rejects unsupported refs and applies the shared byte limit inside authority (675.404276ms) -2026-09-27T05:33:28.2576564Z ✔ renderer service saves through IPC into the canonical catalog and reads it back (210.45158ms) -2026-09-27T05:33:28.3037989Z ✔ recovers an unavailable default Host without blocking other Hosts (9.781126ms) -2026-09-27T05:33:28.3058030Z ✔ prompts to retry a failed Local default instead of leaving the app degraded (0.435242ms) -2026-09-27T05:33:28.3477237Z ✔ routes durable context refs through the Session-bound snapshot reader (214.687249ms) -2026-09-27T05:33:28.5729972Z ✔ passes through real store not-found and unsupported-mime failures (231.51197ms) -2026-09-27T05:33:28.7276380Z ✔ uses the manager-owned launch barrier for local candidate startup (6.177515ms) -2026-09-27T05:33:28.7946310Z ✔ snapshotter rejects provider-unsafe images before publication (214.188184ms) -2026-09-27T05:33:29.0006239Z ✔ snapshotter reuses one content-addressed artifact for the same turn image (203.959717ms) -2026-09-27T05:33:29.0877224Z ✔ same-named servers keep different Session environments and grants after one Session closes (6646.864159ms) -2026-09-27T05:33:29.2826184Z ✔ protects a durable projection image until its Session is purged (284.753406ms) -2026-09-27T05:33:29.3816492Z ✔ updates a protocol-compatible managed Host before exposing a candidate over its old storage (638.495441ms) -2026-09-27T05:33:29.3876477Z ✔ formats bounded local Host exit evidence without leaking stderr secrets (4.36753ms) -2026-09-27T05:33:29.3935814Z ✔ drops a partial secret record retained across the stderr tail boundary (0.593718ms) -2026-09-27T05:33:29.4025798Z ✔ redacts a compact JSON secret embedded in local Host stderr (3.553806ms) -2026-09-27T05:33:29.4078231Z ✔ does not claim a blank local Host stderr tail was truncated (0.287252ms) -2026-09-27T05:33:29.4131257Z ✔ owns one complete Desktop candidate generation and can restart cleanly (10.091608ms) -2026-09-27T05:33:29.4165665Z ✔ routes Guest catalog changes through the mount projection authority (16.758251ms) -2026-09-27T05:33:29.4617099Z Desktop omitted desktop_mcp tool browser_snapshot: Client Capability tool schema root must be an object -2026-09-27T05:33:29.4993718Z ✔ owner and Guest candidates notify without opening a conversation and detach on close (5.513066ms) -2026-09-27T05:33:29.5197514Z ✔ rejects a stale Host identity when raw Session IDs collide (14.890802ms) -2026-09-27T05:33:29.5365569Z ✔ rejects a stale target generation when two profiles share one Host (7.765987ms) -2026-09-27T05:33:29.5419244Z ✔ planner derives the final ref without publishing before commit (223.689101ms) -2026-09-27T05:33:29.5485377Z ✔ artifact attachment authority (2926.61054ms) -2026-09-27T05:33:29.5618077Z ✔ tears down the whole candidate when the Host connection closes (2.421815ms) -2026-09-27T05:33:29.5631191Z ✔ preserves supported IPC when the connection closes before candidate startup returns (11.845164ms) -2026-09-27T05:33:29.5720672Z ✔ disposes candidate-scoped product IPC state on reconnect teardown (2.522345ms) -2026-09-27T05:33:29.5771572Z ✔ starts without registering an empty native capability set (0.502404ms) -2026-09-27T05:33:29.5790763Z ✔ refreshes native capabilities with a new immutable provider snapshot (8.631827ms) -2026-09-27T05:33:29.5815845Z ✔ releases all native Session resources on retirement and generation close (6.632252ms) -2026-09-27T05:33:29.5875938Z ✔ drains an accepted Host-backed Bot turn before closing its generation (7.393848ms) -2026-09-27T05:33:29.5915868Z ✔ rolls back only candidate-owned IPC after a registration collision (0.591163ms) -2026-09-27T05:33:29.5946501Z ✔ closes the claimed Host connection when native capability construction fails (3.928918ms) -2026-09-27T05:33:29.6004887Z ✔ isolates an invalid dynamic MCP tool without dropping the Host connection (3.45927ms) -2026-09-27T05:33:29.6036825Z ✔ does not release or report a Revision the Host retained during cleanup (3.699451ms) -2026-09-27T05:33:29.6077920Z ✔ resyncs Goal, exact interaction, and sidecar state after candidate replacement (12.754935ms) -2026-09-27T05:33:29.6125639Z ✔ retries candidate startup when a restored observation cannot seed (9.400808ms) -2026-09-27T05:33:29.6185656Z ✔ drops a stale shared Session observation when Guest access is gone (5.765347ms) -2026-09-27T05:33:29.6216070Z ✔ forgets an observed Session the Host no longer serves instead of blocking every reconnect (4.903088ms) -2026-09-27T05:33:29.6229609Z ✔ verified artifact copy replays after reopen and concurrent writers without rewriting (449.328965ms) -2026-09-27T05:33:29.6285300Z ✔ verified copy rejects conflicting ownership and every retained metadata field (504.285662ms) -2026-09-27T05:33:29.6345760Z ✔ verified copy rejects changed, truncated, extended or missing source payload without replacing it (374.768244ms) -2026-09-27T05:33:29.6385654Z ✔ verified copy rejects changed, truncated, extended or missing target payload without replacing it (425.462342ms) -2026-09-27T05:33:29.6477202Z ✔ verified copy converges after a partially copied attachment batch (391.987725ms) -2026-09-27T05:33:29.6567853Z ✔ replaces a disconnected Runtime Host generation (25.315799ms) -2026-09-27T05:33:29.6682454Z ✔ quiesces reconnect and waits for the Host process before update install (6.80389ms) -2026-09-27T05:33:29.6727270Z ✔ quiesces Local reconnect while a managed service changes (4.612889ms) -2026-09-27T05:33:29.6762008Z [runtime-host] reconnecting: { -2026-09-27T05:33:29.6836229Z profileId: 'shared-offline', -2026-09-27T05:33:29.6869062Z code: 'direct_path_unavailable', -2026-09-27T05:33:29.6919829Z message: 'No direct path' -2026-09-27T05:33:29.6945583Z } -2026-09-27T05:33:29.6985740Z ✔ waits through a reconnect gap before quiescing Host retirement (4.348942ms) -2026-09-27T05:33:29.7025907Z ✔ does not treat an in-flight replacement as retired after admission times out (7.5857ms) -2026-09-27T05:33:29.7028906Z ✔ retires the owned ephemeral Host before Desktop quit (3.897355ms) -2026-09-27T05:33:29.7056609Z ✔ quit refuses active work before asking for consent (0.730522ms) -2026-09-27T05:33:29.7076443Z ✔ quit commits idle retirement without waiting for process exit (0.584433ms) -2026-09-27T05:33:29.7080668Z ✔ quit preserves a Host this Desktop does not own (4.71415ms) -2026-09-27T05:33:29.7082085Z ✔ an unreachable Host never blocks quit (0.973615ms) -2026-09-27T05:33:29.7083096Z ✔ replacement still waits for process exit after quit has prepared retirement (0.740979ms) -2026-09-27T05:33:29.7084615Z ✔ does not retire the local Host twice when an update handoff triggers quit (4.326868ms) -2026-09-27T05:33:29.7087377Z ✔ does not block quit after a retired Local Host hands off to an unavailable supervisor (2.690468ms) -2026-09-27T05:33:29.7089560Z ✔ coalesces concurrent retirement intents onto one exact Host request (3.926907ms) -2026-09-27T05:33:29.7090769Z ✔ reissues a concurrent strong retirement when weak retirement is refused (0.700481ms) -2026-09-27T05:33:29.7091791Z ✔ retires unadopted candidates before draining the tracked Host (0.941038ms) -2026-09-27T05:33:29.7092678Z ✔ resumes candidate launches when active tasks block the update (0.531952ms) -2026-09-27T05:33:29.7093741Z ✔ preserves Host facts when authorized retirement is refused (3.796387ms) -2026-09-27T05:33:29.7094906Z ✔ resumes candidate launches when candidate retirement fails (4.480839ms) -2026-09-27T05:33:29.7095827Z ✔ keeps active-task confirmation bound to the current Host (0.723783ms) -2026-09-27T05:33:29.7096809Z ✔ leaves supervised Host ownership intact during a Desktop update (6.553227ms) -2026-09-27T05:33:29.7097836Z ✔ leaves external Host ownership intact during a Desktop update (0.275007ms) -2026-09-27T05:33:29.7098907Z ✔ keeps Local and remote Hosts active and routes work by owning Host (1.261466ms) -2026-09-27T05:33:29.7101538Z ✔ does not poll a remote service PID when the Host cannot be replaced (7.43611ms) -2026-09-27T05:33:29.7102716Z ✔ keeps independent shared-session credentials active for the same Host (1.211428ms) -2026-09-27T05:33:29.7103851Z ✔ aborts an in-flight Guest mount without publishing a late target (6.595047ms) -2026-09-27T05:33:29.7105234Z ✔ replays pairing finalization after an unknown commit and reconnect (1.68301ms) -2026-09-27T05:33:29.7106389Z ✔ reconnects after a pairing candidate becomes bound to this Client (5.771036ms) -2026-09-27T05:33:29.7107547Z ✔ reports Guest admission capacity instead of retrying the initial mount (1.119218ms) -2026-09-27T05:33:29.7108821Z ✔ Guest finalization does not claim a commit while the peer path is unavailable (26.907152ms) -2026-09-27T05:33:29.7110055Z ✔ completes Guest import at credential activation while reconnect continues (1.270165ms) -2026-09-27T05:33:29.7111253Z ✔ replays not_dispatched pairing finalization after connection loss (7.028116ms) -2026-09-27T05:33:29.7112357Z ✔ replays dispatched pairing finalization after connection loss (0.71404ms) -2026-09-27T05:33:29.7113554Z ✔ defers reconnecting pairing finalization when the manager closes (1.068159ms) -2026-09-27T05:33:29.7115095Z ✔ defers pairing finalization when reconnect does not complete in time (20.029755ms) -2026-09-27T05:33:29.7116134Z ✔ bounds an in-flight pairing finalization and preserves its unknown outcome (0.988493ms) -2026-09-27T05:33:29.7117102Z ✔ coalesces concurrent enable requests for one remote profile (7.748541ms) -2026-09-27T05:33:29.7118854Z ✔ disable cancels queued starts without affecting a subsequent enable (7.107516ms) -2026-09-27T05:33:29.7119824Z ✔ close cancels an initial remote compatibility handoff (9.82392ms) -2026-09-27T05:33:29.7122328Z [runtime-host] reconnecting: office Error: A Runtime Host was found but did not become ready before the startup deadline elapsed. It may still be opening this workspace (large workspaces can need longer right after an upgrade); retrying once it settles usually succeeds, or set MAKA_RUNTIME_HOST_ELECTION_DEADLINE_MS to allow more time. -2026-09-27T05:33:29.7125298Z at runtimeHostStartupError (file:///home/runner/work/maka/maka/packages/runtime-host/dist/client/startup-error.js:59:20) -2026-09-27T05:33:29.7126688Z at Object.observe (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:865:33) -2026-09-27T05:33:29.7128272Z at async runHostHandoff (file:///home/runner/work/maka/maka/packages/runtime-host/dist/client/host-handoff.js:92:28) -2026-09-27T05:33:29.7143683Z at async RuntimeHostDesktopManagerImpl.connect (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:873:20) -2026-09-27T05:33:29.7148280Z at async RuntimeHostReconnectLifecycleImpl.start (file:///home/runner/work/maka/maka/packages/runtime-host/dist/client/reconnect-lifecycle.js:109:27) -2026-09-27T05:33:29.7149852Z at async Object.start (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:1025:21) -2026-09-27T05:33:29.7151126Z at async #enable (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:384:13) -2026-09-27T05:33:29.7152292Z [runtime-host] connection restored: { profileId: 'office', failedAttempts: 2, durationMs: 4 } -2026-09-27T05:33:29.7153336Z ✔ waits for an in-flight remote enable before closing (4.707019ms) -2026-09-27T05:33:29.7154563Z ✔ keeps Local explicitly usable without routing default work away from an unavailable remote (1.22473ms) -2026-09-27T05:33:29.7155843Z ✔ keeps an initially unavailable Direct target live and wakes it on new routes (5.198919ms) -2026-09-27T05:33:29.7156739Z [runtime-host] reconnecting: office Error: route is temporarily unavailable -2026-09-27T05:33:29.7158096Z at RuntimeHostDesktopManagerImpl.startCandidate (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-desktop-manager.test.js:1193:23) -2026-09-27T05:33:29.7159572Z at Object.observe (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:710:41) -2026-09-27T05:33:29.7160835Z at runHostHandoff (file:///home/runner/work/maka/maka/packages/runtime-host/dist/client/host-handoff.js:92:40) -2026-09-27T05:33:29.7162221Z at RuntimeHostDesktopManagerImpl.connect (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:873:26) -2026-09-27T05:33:29.7163729Z at RuntimeHostReconnectLifecycleImpl.connect (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:949:29) -2026-09-27T05:33:29.7165618Z at RuntimeHostReconnectLifecycleImpl.start (file:///home/runner/work/maka/maka/packages/runtime-host/dist/client/reconnect-lifecycle.js:109:46) -2026-09-27T05:33:29.7167125Z at Object.start (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:1025:37) -2026-09-27T05:33:29.7168403Z at #enable (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:384:26) -2026-09-27T05:33:29.7169618Z at file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:339:85 -2026-09-27T05:33:29.7170702Z at file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:1067:77 -2026-09-27T05:33:29.7172191Z [runtime-host] reconnecting: local Error: Runtime Host failed while recovering this workspace. Try again; if the problem persists, report diagnostic code INTERNAL_STARTUP_FAILURE. -2026-09-27T05:33:29.7173715Z at runtimeHostStartupError (file:///home/runner/work/maka/maka/packages/runtime-host/dist/client/startup-error.js:35:20) -2026-09-27T05:33:29.7175155Z at Object.observe (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:865:33) -2026-09-27T05:33:29.7178592Z at async runHostHandoff (file:///home/runner/work/maka/maka/packages/runtime-host/dist/client/host-handoff.js:92:28) -2026-09-27T05:33:29.7180249Z at async RuntimeHostDesktopManagerImpl.connect (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:873:20) -2026-09-27T05:33:29.7181795Z at async #reconnect (file:///home/runner/work/maka/maka/packages/runtime-host/dist/client/reconnect-lifecycle.js:273:34) -2026-09-27T05:33:29.7183060Z [runtime-host] connection restored: { profileId: 'local', failedAttempts: 2, durationMs: 0 } -2026-09-27T05:33:29.7184627Z ✔ repeated offline Guest failures preserve Local readiness without rebroadcasting each retry (16.610474ms) -2026-09-27T05:33:29.7185958Z ✔ marks a retrying Direct target unavailable on permanent failure (1.336382ms) -2026-09-27T05:33:29.7187286Z ✔ keeps reconnecting through transient startup failures until the Desktop adapter is restored (5.008154ms) -2026-09-27T05:33:29.7188841Z ✔ reconciles interrupted managed setup after a Local discovery result (0.597431ms) -2026-09-27T05:33:29.7190051Z ✔ reconciles interrupted managed setup after Local discovery throws (2.610043ms) -2026-09-27T05:33:29.7191295Z ✔ stops reconnecting when the replacement Host is incompatible (1.676488ms) -2026-09-27T05:33:29.7192484Z ✔ does not retain manual-stop authority after the owned Host process exits (4.040492ms) -2026-09-27T05:33:29.7193781Z ✔ does not block quit after a supervised Local Host becomes permanently unavailable (0.631345ms) -2026-09-27T05:33:29.7195244Z ✔ automatically replaces a proven-idle managed Host without an interruption decision (2.440155ms) -2026-09-27T05:33:29.7196477Z ✔ active and unknown work use the shared explicit interruption decision (1.985046ms) -2026-09-27T05:33:29.7197783Z ✔ an admission race needs fresh explicit consent instead of repeated automatic replacement (0.701133ms) -2026-09-27T05:33:29.7199199Z ✔ an exact legacy ephemeral stop always requires consent and preserves the OS lifetime fence (4.511776ms) -2026-09-27T05:33:29.7200416Z ✔ cancelling a live handoff does not authorize any replacement (0.950064ms) -2026-09-27T05:33:29.7201586Z ✔ a scope published before the first connection waits for that connection (3.882784ms) -2026-09-27T05:33:29.7202816Z ✔ a scope published before the first connection fails with that connection (0.704352ms) -2026-09-27T05:33:29.7203989Z ✔ recovers a degraded Local start through a fresh target generation (1.135947ms) -2026-09-27T05:33:29.7205211Z ✔ keeps a known repair actionable when its first authority inspection fails (1.388237ms) -2026-09-27T05:33:29.7226664Z ✔ managed WSL handoff uses its verified adapter and reconnects without local process ownership (1.600616ms) -2026-09-27T05:33:29.7227977Z ✔ forwards bounded external Session requests and publishes imported Sessions (5.180078ms) -2026-09-27T05:33:29.7232484Z ✔ an uncertain commit still asks the shell to re-read the catalog (0.736153ms) -2026-09-27T05:33:29.7243339Z ✔ does not turn a missing import destination into an uncertain commit (0.917243ms) -2026-09-27T05:33:29.7295498Z ✔ keeps catalog eligibility owned by the Host after an uncertain import (0.624223ms) -2026-09-27T05:33:29.7345667Z ✔ a dispatched interrupted import has the same uncertain outcome as the Host error (1.095586ms) -2026-09-27T05:33:29.7351215Z ✔ fails closed when a dispatched import response cannot be decoded (0.426528ms) -2026-09-27T05:33:29.7377158Z ✔ does not relabel an explicitly undispatched import as uncertain (0.588844ms) -2026-09-27T05:33:29.7445627Z ✔ maps a no-usable-model failure to a distinct, non-recovering reason (0.6388ms) -2026-09-27T05:33:29.7486784Z ✔ maps a pre-commit conversion failure to source_unreadable (0.386906ms) -2026-09-27T05:33:29.7530328Z ✔ maps a decoded source limit to IPC data without publishing a created Session (0.651961ms) -2026-09-27T05:33:29.7588297Z ✔ rethrows import failures that have no distinct renderer reason (0.670549ms) -2026-09-27T05:33:29.7665192Z ✔ rejects malformed renderer requests before they reach the Host client (0.59871ms) -2026-09-27T05:33:29.8295963Z ✔ delegates local credential adoption to one Host onboarding command (2.801427ms) -2026-09-27T05:33:29.8845861Z ▶ SQLite Artifact store -2026-09-27T05:33:29.8919082Z ✔ creates a missing workspace root before acquiring the writer lock (382.756355ms) -2026-09-27T05:33:29.8995766Z ✔ publishes stable identities and persists canonical records (257.383018ms) -2026-09-27T05:33:29.9171160Z ✔ lists only live Artifacts committed by one exact Turn (318.72569ms) -2026-09-27T05:33:29.9197741Z ✔ persists and reopens bounded synthetic turn keys (338.856446ms) -2026-09-27T05:33:29.9301862Z ✔ owns stable session revisions across paging, reopen, mutations, and no-ops (443.388328ms) -2026-09-27T05:33:29.9396184Z ✔ copies an exact turn-scoped Artifact snapshot and purges only the target Session (285.355669ms) -2026-09-27T05:33:29.9435646Z ✔ excludes selected Artifacts from a conversation snapshot (319.771725ms) -2026-09-27T05:33:29.9519310Z ✔ copies explicit linked child Artifacts into a conversation snapshot (241.683834ms) -2026-09-27T05:33:29.9590620Z ✔ includes explicit same-Session Artifacts outside the copied turns (391.623759ms) -2026-09-27T05:33:30.2406961Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:33:30.2868714Z ✔ user deletion respects the current artifact source while owner cleanup remains possible (401.706815ms) -2026-09-27T05:33:30.6906336Z ✔ sanitizes adversarial names idempotently across reopen and stable-id retry (402.165918ms) -2026-09-27T05:33:30.8092024Z ✔ onboarding and workspace search never fan out Owner IPC to a ready Guest (1015.014915ms) -2026-09-27T05:33:30.9486174Z [session-collaboration] import failed: RuntimeHostPermanentReconnectError: Shared Session access is no longer available -2026-09-27T05:33:30.9515960Z at recordSharedSession (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-guest-session-mounts.js:232:19) -2026-09-27T05:33:30.9596120Z at async file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-guest-session-mounts.js:339:17 -2026-09-27T05:33:30.9666690Z at async activate (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-guest-session-mounts.js:348:20) -2026-09-27T05:33:30.9715903Z at async runImport (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-guest-session-mounts.js:486:34) -2026-09-27T05:33:30.9777593Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-guest-session-mounts.test.js:127:19) -2026-09-27T05:33:30.9846060Z at async Test.run (node:internal/test_runner/test:1409:7) -2026-09-27T05:33:30.9875570Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:33:30.9927869Z [session-collaboration] import failed: RuntimeHostRemoteCompatibilityError: RUNTIME_HOST_REMOTE_INCOMPATIBLE: Runtime Host profile shared-incompatible is incompatible. Client compatibility epoch 192. Host compatibility epoch 191. Use compatible Client and Host builds, restart the remote Runtime Host service after updating the Host, then retry -2026-09-27T05:33:30.9985938Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-guest-session-mounts.test.js:269:19) -2026-09-27T05:33:31.0015533Z at Test.runInAsyncScope (node:async_hooks:227:14) -2026-09-27T05:33:31.0067579Z at Test.run (node:internal/test_runner/test:1402:25) -2026-09-27T05:33:31.0096670Z at Test.processPendingSubtests (node:internal/test_runner/test:974:18) -2026-09-27T05:33:31.0150674Z at Test.postRun (node:internal/test_runner/test:1542:19) -2026-09-27T05:33:31.0195247Z at Test.run (node:internal/test_runner/test:1467:12) -2026-09-27T05:33:31.0237765Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:33:31.0286155Z [session-collaboration] import failed: RuntimeHostPairingFinalizationInterruptedError: Runtime Host pairing finalization is continuing in the background -2026-09-27T05:33:31.0326874Z at Object.finalizeAccess (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-guest-session-mounts.test.js:377:19) -2026-09-27T05:33:31.0375701Z at file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-guest-session-mounts.js:315:40 -2026-09-27T05:33:31.0446326Z at activate (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-guest-session-mounts.js:345:11) -2026-09-27T05:33:31.0495946Z at async runImport (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-guest-session-mounts.js:486:34) -2026-09-27T05:33:31.0525885Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-guest-session-mounts.test.js:380:20) -2026-09-27T05:33:31.0557440Z at async Test.run (node:internal/test_runner/test:1409:7) -2026-09-27T05:33:31.0585412Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:33:31.0587205Z ✔ retains a successful Guest mount and rehydrates the same authority after restart (14.458889ms) -2026-09-27T05:33:31.0611140Z ✔ keeps live Guest state in memory without persisting ephemeral run identities (3.378534ms) -2026-09-27T05:33:31.0637058Z ✔ collapses fresh credentials for the same authenticated shared Session (2.370781ms) -2026-09-27T05:33:31.0664331Z ✔ unmounts a superseded Guest when its replacement is rejected during projection commit (5.884268ms) -2026-09-27T05:33:31.0703656Z ✔ reports activated Guest access as recovering while reauthentication continues (1.055704ms) -2026-09-27T05:33:31.0705270Z ✔ persists authenticated route rotation for reconnect and restart (2.705269ms) -2026-09-27T05:33:31.0757506Z ✔ retries authenticated route rotation after transient persistence failure (2.423494ms) -2026-09-27T05:33:31.0787643Z ✔ derives retained mount readiness from the Runtime Host connection owner (0.495177ms) -2026-09-27T05:33:31.0804381Z ✔ removes failed activation desire instead of creating recoverable profile state (0.824819ms) -2026-09-27T05:33:31.0876098Z ✔ reports incompatible hosts without losing retained access or treating a failed import as committed (15.182489ms) -2026-09-27T05:33:31.0889230Z ✔ does not retry a startup mount whose reachability recovery is exhausted (3.377429ms) -2026-09-27T05:33:31.0925786Z ✔ retires a retained Session projection only after explicit access rejection (1.122911ms) -2026-09-27T05:33:31.0955761Z ✔ a connection timeout before finalization is not an uncertain authorization commit (1.549243ms) -2026-09-27T05:33:31.0985960Z ✔ fails closed when a revoked Session projection cannot be persisted immediately (4.090418ms) -2026-09-27T05:33:31.0987373Z ✔ publishes a refreshed Guest projection while persistence is unavailable (1.297416ms) -2026-09-27T05:33:31.1019221Z ✔ serves a published Guest projection while its durable write is pending (4.001912ms) -2026-09-27T05:33:31.1045903Z ✔ cancels an admitted Guest projection refresh during shutdown (0.739885ms) -2026-09-27T05:33:31.1075960Z ✔ retains activated Guest access when shutdown cancels initial projection hydration (0.660022ms) -2026-09-27T05:33:31.1089586Z ✔ does not lose a catalog invalidation that races Guest activation (3.977389ms) -2026-09-27T05:33:31.1128080Z ✔ logs unexpected activation failures without returning Host details (1.437098ms) -2026-09-27T05:33:31.1185761Z ✔ settles admitted finalization before committing unmount desire (4.176367ms) -2026-09-27T05:33:31.1216333Z ✔ removal fences a connecting startup mount before credential finalization (0.536675ms) -2026-09-27T05:33:31.1245653Z ✔ removal settles one admitted startup finalization without waiting through retries (0.456395ms) -2026-09-27T05:33:31.1251360Z ✔ settles admitted finalization before closing and retains the mount (0.555287ms) -2026-09-27T05:33:31.1278751Z ✔ does not enter startup retry backoff after closing during finalization (0.411058ms) -2026-09-27T05:33:31.1305757Z ✔ retains and reconciles a mount when finalization outcome is unknown (2.930382ms) -2026-09-27T05:33:31.1335748Z ✔ finishes a committed credential reconnect and records its Session projection (0.692084ms) -2026-09-27T05:33:31.1365810Z ✔ retains a finalized mount when its first Session projection read is interrupted (0.747213ms) -2026-09-27T05:33:31.1367141Z ✔ cancels an in-flight import and removes its durable mount desire (0.558274ms) -2026-09-27T05:33:31.1395798Z ✔ reads an invitation from the clipboard only on explicit IPC invocation (4.059715ms) -2026-09-27T05:33:31.1424205Z ✔ publishes only the newest attention view; progress cannot steal the slot (26.271421ms) -2026-09-27T05:33:31.1456911Z ✔ raises the window once per attention revision, never for progress (17.103743ms) -2026-09-27T05:33:31.1458200Z ✔ a publication superseded by close cannot resurrect the stale view (26.605378ms) -2026-09-27T05:33:31.1525834Z ✔ decide routes only a live attention revision and advertised action (9.574242ms) -2026-09-27T05:33:31.5766592Z ✔ ignores metadata names that neither writer could have produced (885.888959ms) -2026-09-27T05:33:31.5938833Z ✔ retirement cancellation sends EOF without terminating or abandoning the operator transaction (95.228872ms) -2026-09-27T05:33:31.6031684Z ✔ local setup installs one managed service for the Desktop root with Direct peer enabled (0.580636ms) -2026-09-27T05:33:31.6179776Z ✔ local setup forwards the exact development archive evidence (53.109572ms) -2026-09-27T05:33:31.6296187Z ✔ local setup scratch cleanup cannot replace its framed outcome (15.425616ms) -2026-09-27T05:33:31.7298433Z ✔ Windows npm discovery cannot outlive setup cancellation (74.690329ms) -2026-09-27T05:33:31.7842482Z ✔ local update runs the selected package against the exact managed deployment (23.741824ms) -2026-09-27T05:33:31.7897142Z ✔ local Peer Mesh join keeps invitations off argv and accepts bounded large results (54.530629ms) -2026-09-27T05:33:31.8727985Z ✔ does not split a surrogate pair at the persisted name boundary (300.351196ms) -2026-09-27T05:33:32.0669470Z ✔ reopens legacy research reports and archived tool results (191.909085ms) -2026-09-27T05:33:32.2685834Z ✔ enabling remote access hands the same root to one managed service before Desktop resumes (78.216872ms) -2026-09-27T05:33:32.2835268Z ✔ shares the running Local Host endpoint instead of its persisted startup routes (9.503114ms) -2026-09-27T05:33:32.2927582Z ✔ revokes the one Local sharing authority without changing peer connectivity (7.643908ms) -2026-09-27T05:33:32.3004678Z ✔ keeps the managed service visible when Direct peer support is unavailable (2.845668ms) -2026-09-27T05:33:32.3059356Z ✔ repairs an existing managed Host with the current setup package and restarts it when already current (6.41918ms) -2026-09-27T05:33:32.3100074Z ✔ preserves service readiness evidence in the managed repair blocker (12.800941ms) -2026-09-27T05:33:32.3172489Z ✔ exact live replay returns the canonical record without rewriting or accepting conflicts (249.185753ms) -2026-09-27T05:33:32.3238370Z ✔ replaces a conflicting supervised Host with the requested active-work policy (12.48044ms) -2026-09-27T05:33:32.3367565Z ✔ does not persist recoverable setup authority before Desktop ownership commits (11.469792ms) -2026-09-27T05:33:32.3557383Z ✔ adopts a released handoff through its existing legacy operator (16.501194ms) -2026-09-27T05:33:32.3649379Z ✔ migrates a released managed receipt before exposing it to lifecycle operations (11.89086ms) -2026-09-27T05:33:32.4163708Z ✔ interrupted Local Host setup converges to its exact managed service (46.459941ms) -2026-09-27T05:33:32.4299568Z ✔ startup replays the persisted peer intent instead of gating recovery on status (17.416436ms) -2026-09-27T05:33:32.4596747Z ✔ re-enabling a managed peer forwards explicit interruption authority (14.859509ms) -2026-09-27T05:33:32.4694784Z ✔ pre-start recovery cleans a committed uninstall before an ephemeral Host can claim the root (24.161369ms) -2026-09-27T05:33:32.4876675Z ✔ pre-start recovery settles a canonical uninstall transition through its exact operator (14.195837ms) -2026-09-27T05:33:32.6066140Z ✔ a stable id can be created again after physical deletion (288.402291ms) -2026-09-27T05:33:32.7884840Z ✔ migrates released WSL deployment bindings to the legacy operator route (67.233734ms) -2026-09-27T05:33:32.7920466Z ✔ keeps Desktop service bindings outside the shared profile catalog (123.05758ms) -2026-09-27T05:33:32.7965912Z ✔ persists a WSL deployment through its environment control route (16.550573ms) -2026-09-27T05:33:32.7985720Z ✔ waits for a live deployment writer and recovers after it is killed (275.194502ms) -2026-09-27T05:33:32.9336514Z ✔ serializes concurrent creates without dropping metadata (326.632134ms) -2026-09-27T05:33:33.1313382Z ✔ cancels a live Runtime Host Mesh status query (6.364662ms) -2026-09-27T05:33:33.1363354Z ✔ projects an unknown live Mesh mutation outcome across IPC (3.341195ms) -2026-09-27T05:33:33.1427858Z ✔ requires explicit interruption authority before a provider restarts active work (4.857905ms) -2026-09-27T05:33:33.1468957Z ✔ routes WSL status and directory configuration through the persisted operator route (2.973618ms) -2026-09-27T05:33:33.1534683Z ✔ identifies, rotates, and revokes managed credentials without exposing secrets (21.149889ms) -2026-09-27T05:33:33.1546460Z ✔ manages only the service identity bound by Desktop onboarding (4.247139ms) -2026-09-27T05:33:33.1621349Z ✔ publishes update progress and waits for the managed profile to reconnect (6.534307ms) -2026-09-27T05:33:33.1720405Z ✔ configures Project roots with CAS and reconnects only after a committed cutover (1.936746ms) -2026-09-27T05:33:33.1795869Z ✔ manages one Host update policy and reconciles it through the bound operator (32.91911ms) -2026-09-27T05:33:33.1848933Z ✔ retries acknowledged deployment cleanup without repeating uninstall (7.544016ms) -2026-09-27T05:33:33.1907174Z ✔ rechecks uninstall intent before retrying the remote service (4.916476ms) -2026-09-27T05:33:33.1982358Z ✔ keeps the SSH profile while adding and removing its managed Direct peer (11.267454ms) -2026-09-27T05:33:33.2046036Z ✔ disables a newly enabled listener when its Desktop profile cannot be committed (1.503475ms) -2026-09-27T05:33:33.2091226Z ✔ does not invoke peer management when the remote operator lacks its capability (11.601008ms) -2026-09-27T05:33:33.2181978Z ✔ serializes independent SQLite stores without dropping metadata (219.220556ms) -2026-09-27T05:33:33.4279715Z ✔ snapshots mutable create input and bytes before waiting for the writer lock (277.609527ms) -2026-09-27T05:33:33.6277253Z ✔ refreshes a loaded SQLite store after another instance commits metadata (196.793576ms) -2026-09-27T05:33:33.6378191Z ✔ restarts the complete Memory projection when its component revisions differ (7.392436ms) -2026-09-27T05:33:33.6446133Z ✔ projects a fresh workspace as an empty usable Memory state (1.255383ms) -2026-09-27T05:33:33.6511597Z ✔ does not project or open remote Runtime Host file paths (2.786019ms) -2026-09-27T05:33:33.8474925Z ✔ does not publish a payload after the SQLite metadata repository closes (217.896262ms) -2026-09-27T05:33:34.0149652Z ✔ legacy publication residue cannot block stable-id creation (163.708083ms) -2026-09-27T05:33:34.1529038Z ✔ cancels and closes a Turn while the SDK client never answers its permission request (5065.244763ms) -2026-09-27T05:33:34.2456591Z ✔ Artifact preview is discoverable and admitted without a pre-existing browser origin (26.1589ms) -2026-09-27T05:33:34.2493272Z ✔ publishes self-described session-affine Browser and Computer Use offers (8.316003ms) -2026-09-27T05:33:34.2516012Z ✔ remote providers do not request Host paths and use a Client-owned cwd (2.211641ms) -2026-09-27T05:33:34.2535893Z ✔ publishes the real Computer Use schema through the Client Capability protocol (20.135061ms) -2026-09-27T05:33:34.2557311Z ✔ projects and publishes jsonSchema-wrapped MCP proxy tool descriptors (4.3638ms) -2026-09-27T05:33:34.2573472Z ✔ forwards JSON Schema native capability arguments to the MCP authority (0.926003ms) -2026-09-27T05:33:34.2695788Z ✔ skips non-object root jsonSchema tools without dropping the offer (0.835504ms) -2026-09-27T05:33:34.2726602Z ✔ skips malformed record-shaped schemas without dropping healthy MCP tools (0.565215ms) -2026-09-27T05:33:34.2747538Z ✔ skips unsupported schema type tools without dropping the offer (9.230526ms) -2026-09-27T05:33:34.2820675Z ✔ skips a malformed MCP tool without dropping the other offers (2.106446ms) -2026-09-27T05:33:34.2866981Z ✔ empty allOf/anyOf/oneOf are projected away so the schema still publishes (4.21423ms) -2026-09-27T05:33:34.2935674Z ✔ publishes every production Desktop-owned tool schema through the protocol (53.661891ms) -2026-09-27T05:33:34.2936864Z ✔ publishes and admits additional Desktop native-effect services (0.856866ms) -2026-09-27T05:33:34.3005682Z ✔ validates before admission and invokes the exact offered tool with Host context (16.27079ms) -2026-09-27T05:33:34.3038158Z ✔ does not execute Browser work when its Origin changes while admission is pending (22.877347ms) -2026-09-27T05:33:34.3095533Z ✔ watches Computer Use turns without widening Browser lifecycle (16.311863ms) -2026-09-27T05:33:34.3145748Z ✔ projects Computer Use screenshots and releases all native resources for a Session (9.678913ms) -2026-09-27T05:33:34.3212033Z ✔ does not advertise unavailable capability groups or dispatch unknown identities (3.242085ms) -2026-09-27T05:33:34.3275768Z ✔ dispatches through the same immutable tool snapshot it advertised (1.020766ms) -2026-09-27T05:33:34.3347430Z ✔ chunks a dynamic capability group beyond the single-offer tool limit (15.08807ms) -2026-09-27T05:33:34.3369943Z ✔ omits trailing dynamic tools beyond the manifest tool budget and keeps fixed groups (45.970049ms) -2026-09-27T05:33:34.3445655Z ✔ omits trailing dynamic tools beyond the manifest byte budget (29.576084ms) -2026-09-27T05:33:34.3535780Z ✔ reports dynamic tools the decoder rejects instead of dropping them silently (0.859311ms) -2026-09-27T05:33:34.3595597Z ✔ publishes identified tools under their real normalized MCP identity (5.192918ms) -2026-09-27T05:33:34.3655576Z ✔ chunks and degrades a dynamic capability group deterministically (28.489916ms) -2026-09-27T05:33:34.3735636Z ✔ fails loudly when a fixed capability group exceeds the manifest budget (12.485366ms) -2026-09-27T05:33:34.3805804Z ✔ reports provider retirement once after its registration is released (0.464001ms) -2026-09-27T05:33:34.3875668Z ✔ settles every native Session cleanup before reporting a release failure (52.680853ms) -2026-09-27T05:33:34.3889455Z ✔ forwards Host cancellation to an admitted Desktop invocation (1.330154ms) -2026-09-27T05:33:34.3918547Z ✔ WorkHub groups receive their target epoch and join Desktop interaction turn lifecycle (0.730627ms) -2026-09-27T05:33:34.3947037Z ✔ stable-id creation replaces an untracked payload (279.209121ms) -2026-09-27T05:33:34.3965816Z ✔ successful external-agent setup invalidates the new-task executor catalog (963.202707ms) -2026-09-27T05:33:34.9652883Z ✔ offline Guest notifications cannot starve the Local new-task catalog or redirect onboarding (614.881861ms) -2026-09-27T05:33:34.9711332Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:33:35.6273434Z ✔ invalid path identities and turn keys cannot block later artifact writes (1341.714165ms) -2026-09-27T05:33:35.7192498Z ✔ an Owner replacement still invalidates the new-task catalog (748.807402ms) -2026-09-27T05:33:35.7626783Z ✔ notifies for every session through the Host feed without renderer or transcript subscriptions (18.755602ms) -2026-09-27T05:33:35.7676024Z ✔ discards in-flight notification content after disposal (11.559802ms) -2026-09-27T05:33:35.7716158Z ✔ shared sessions use the scoped catalog and content-read failures still notify with fallback copy (10.835494ms) -2026-09-27T05:33:35.7738283Z ✔ overlapping owner and Guest feeds notify once while distinct events, sessions and Hosts still notify (5.241714ms) -2026-09-27T05:33:35.8397995Z ✔ legacy purge-intent residue cannot block later writes (212.944127ms) -2026-09-27T05:33:35.9776445Z ✔ presents the Host OAuth handoff without exposing the authorization URL (7.2928ms) -2026-09-27T05:33:35.9836046Z ✔ adapts every Host OAuth provider through one Desktop flow (7.348128ms) -2026-09-27T05:33:35.9926937Z ✔ provider-scoped OAuth IPC rejects a Connection ID owned by another provider (8.40585ms) -2026-09-27T05:33:35.9973418Z ✔ malformed OAuth Connection IDs fail closed before catalog or credential access (1.210844ms) -2026-09-27T05:33:36.0031513Z ✔ a second OAuth start cannot replace or cancel a pending active attempt (256.079261ms) -2026-09-27T05:33:36.0115956Z ✔ completion rejects a terminal projection that changes Connection identity (16.638235ms) -2026-09-27T05:33:36.0186489Z ✔ keeps a committed OAuth login successful when model discovery fails without replacing the existing default (1.156719ms) -2026-09-27T05:33:36.0276040Z ✔ lets the selected Host refuse enrollment instead of prechecking Desktop state (0.639227ms) -2026-09-27T05:33:36.0357012Z ✔ projects the selected Host answer for whether a provider may enrol (2.042635ms) -2026-09-27T05:33:36.0436253Z ✔ get-auth-url maps only specific Host failures to typed reasons (3.639878ms) -2026-09-27T05:33:36.0526170Z ✔ get-auth-url carries a browser-open rejection through presentation to the IPC result (0.917149ms) -2026-09-27T05:33:36.0556081Z ✔ user delete physically removes metadata and bytes idempotently (204.881867ms) -2026-09-27T05:33:36.3840677Z ✔ a partial purge retains its cleanup obligations across reopen (336.243672ms) -2026-09-27T05:33:36.4632289Z ✔ observation readiness includes its active seed even when the invoke reply overtakes event IPC (954.572104ms) -2026-09-27T05:33:36.4657602Z ✔ execution and observation failures stay separate from Runtime events (643.679696ms) -2026-09-27T05:33:36.6034811Z ✔ purge rejects a symlink escape without deleting external bytes or metadata (220.097918ms) -2026-09-27T05:33:36.8298628Z ✔ purge unlinks a final symlink without deleting its in-root target (224.484282ms) -2026-09-27T05:33:37.0572931Z ✔ purge preserves a payload inode still referenced by a non-target canonical record (228.593142ms) -2026-09-27T05:33:37.0637438Z ﹣ purge rejects case aliases that resolve to another live record (5.431843ms) # filesystem is case-sensitive -2026-09-27T05:33:37.0706527Z ﹣ purge rejects case aliases of the same final symlink without unlinking it (6.741334ms) # filesystem is case-sensitive -2026-09-27T05:33:37.0776182Z ✔ one ordered stream handles no-content roots, late acknowledgements, new subscribers and recovery (613.036693ms) -2026-09-27T05:33:37.2059234Z ✔ durable attachment reads report physically deleted bytes as missing (134.168934ms) -2026-09-27T05:33:37.4610526Z ✔ enforces preview limits and sniffed binary MIME types (254.285373ms) -2026-09-27T05:33:37.6496731Z ✔ cancelled Session observation removes preload listeners without publishing readiness or errors (568.812673ms) -2026-09-27T05:33:37.6909980Z ✔ persists canonical entity identities at the shared 128-character boundary (229.86033ms) -2026-09-27T05:33:38.2420513Z ✔ unsubscribing while consuming a seed prevents remaining content and readiness (600.098096ms) -2026-09-27T05:33:38.6250056Z ✔ create rejects invalid path identities and bounded turn keys (938.523438ms) -2026-09-27T05:33:38.6320916Z ✔ keeps relative path resolution inside the artifact root (6.524928ms) -2026-09-27T05:33:38.7886505Z ✔ resolve and read reject a canonical payload that escapes through a symlink (154.780205ms) -2026-09-27T05:33:38.8604552Z ✔ cancelled transcript open rejects and removes its preload listener (612.476518ms) -2026-09-27T05:33:38.9357413Z ✔ persists a verified on-demand SSH profile without endpoint or credential projection (8.050448ms) -2026-09-27T05:33:38.9396778Z ✔ onboards WSL as a credential-free environment profile (0.811138ms) -2026-09-27T05:33:38.9468367Z ✔ projects WSL setup failures as recoverable onboarding state (0.41414ms) -2026-09-27T05:33:38.9506315Z ✔ projects invalid setup input as a recoverable failure (0.289224ms) -2026-09-27T05:33:38.9527264Z ✔ rejects relative remote Project roots before starting SSH setup (7.313691ms) -2026-09-27T05:33:38.9556025Z ✔ finishes Host pairing after the cancellable SSH phase has completed (0.860979ms) -2026-09-27T05:33:38.9581085Z ✔ resolves the setup package only when onboarding starts (0.425223ms) -2026-09-27T05:33:38.9617209Z ✔ development uses the native peer addon only for the peer-enabled launch (20.658808ms) -2026-09-27T05:33:38.9634375Z ✔ persists one closed Desktop STUN policy and rejects TURN endpoints (61.261702ms) -2026-09-27T05:33:38.9655774Z ✔ repairs a malformed Desktop STUN policy through the normal writer (50.743663ms) -2026-09-27T05:33:38.9789861Z ✔ recovers an abandoned deployment lock before loading Host choices (saved=false) (78.384014ms) -2026-09-27T05:33:38.9811066Z ✔ recovers an abandoned deployment lock before loading Host choices (saved=true) (61.480178ms) -2026-09-27T05:33:38.9906820Z ✔ does not discard unexpected contents in an abandoned deployment lock (5.74655ms) -2026-09-27T05:33:38.9939217Z ✔ migrates the former selected Host into enabled and default preferences (16.056401ms) -2026-09-27T05:33:38.9987775Z ✔ removes obsolete experimental Guest profiles and pairing intents at startup (21.757858ms) -2026-09-27T05:33:38.9990759Z [runtime-host] remote profiles could not be read; starting with Local only: Error: profile catalog is unreadable -2026-09-27T05:33:39.0023992Z at catalog.read (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-profile-service.test.js:177:19) -2026-09-27T05:33:39.0040023Z at resolveDesktopRuntimeHostStartup (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-profile-service.js:61:34) -2026-09-27T05:33:39.0095817Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-profile-service.test.js:181:21) -2026-09-27T05:33:39.0120936Z at async Test.run (node:internal/test_runner/test:1409:7) -2026-09-27T05:33:39.0178704Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:33:39.0221032Z ✔ starts Local and preserves remote preferences when the profile catalog is unreadable (27.129222ms) -2026-09-27T05:33:39.0232087Z [runtime-host] preferences could not be read; using Local defaults: Error: preferences are temporarily unavailable -2026-09-27T05:33:39.0253864Z at Object.readPreferences (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-profile-service.test.js:213:33) -2026-09-27T05:33:39.0271874Z at resolveDesktopRuntimeHostStartup (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-profile-service.js:40:57) -2026-09-27T05:33:39.0275441Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-profile-service.test.js:211:21) -2026-09-27T05:33:39.0291324Z at async Test.run (node:internal/test_runner/test:1409:7) -2026-09-27T05:33:39.0293482Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) { -2026-09-27T05:33:39.0297550Z code: 'EACCES' -2026-09-27T05:33:39.0297998Z } -2026-09-27T05:33:39.0327056Z ✔ does not overwrite Runtime Host preferences that were unreadable at startup (8.293719ms) -2026-09-27T05:33:39.0329488Z ✔ keeps Local enabled while a new remote Host connects (42.797806ms) -2026-09-27T05:33:39.0332536Z ✔ reuses the existing WSL profile when the same managed Host is added again (33.174698ms) -2026-09-27T05:33:39.0339900Z ✔ rolls back a new WSL profile when its managed binding cannot be saved (24.617811ms) -2026-09-27T05:33:39.0352869Z ✔ reconnects an enabled remote Host with interactive SSH (29.163677ms) -2026-09-27T05:33:39.0376804Z ✔ does not enable the same State Root twice (28.482481ms) -2026-09-27T05:33:39.0385269Z ✔ starts an enabled Owner profile beside a retained Guest mount for the same Root (30.433557ms) -2026-09-27T05:33:39.0386648Z ✔ preserves an enabled remote profile when that Host is unavailable (34.517434ms) -2026-09-27T05:33:39.0393201Z ✔ projects a shared compatibility error through an unavailable enabled remote profile (51.081764ms) -2026-09-27T05:33:39.0400351Z ✔ removes a managed profile when its verified connection cannot be established (94.600237ms) -2026-09-27T05:33:39.0418461Z ✔ refreshes the existing profile when managed setup pairs the same Host again (59.803043ms) -2026-09-27T05:33:39.0959563Z ✔ keeps a separate profile when the same Host is paired through another connection (57.013496ms) -2026-09-27T05:33:39.1140268Z ✔ create path and identity failures leave no payload or metadata (324.404059ms) -2026-09-27T05:33:39.1174709Z ✔ SQLite Artifact store (12212.65914ms) -2026-09-27T05:33:39.1621924Z ▶ interactive artifact store authority -2026-09-27T05:33:39.1641031Z ✔ upgrade cleanup addresses one page without decoding 0 unrelated records (675.239116ms) -2026-09-27T05:33:39.1679468Z ✔ upgrade cleanup addresses one page without decoding 1000 unrelated records (248.550366ms) -2026-09-27T05:33:39.1680954Z ✔ upgrade cleanup addresses one page without decoding 12000 unrelated records (397.862139ms) -2026-09-27T05:33:39.1712587Z ✔ reads retained v1 payloads after upgrade without reviving retired rows (488.122844ms) -2026-09-27T05:33:39.1714380Z ✔ reclaims the bytes the v1 upgrade orphaned, including a user-deleted upload (390.647659ms) -2026-09-27T05:33:39.1716427Z ✔ does not follow a replaced parent directory while reclaiming upgrade residue (348.688353ms) -2026-09-27T05:33:39.1717778Z ﹣ does not reclaim an upgrade orphan path that aliases a live artifact (13.176141ms) # requires a case-insensitive filesystem -2026-09-27T05:33:39.1718922Z ✔ requires authentic leases and writer facades (0.637929ms) -2026-09-27T05:33:39.1720000Z ✔ returns one authenticated writer per lease and preserves mutation operations (350.691565ms) -2026-09-27T05:33:39.1721143Z ✔ root close revokes new facade operations after draining an in-flight write (406.406547ms) -2026-09-27T05:33:39.1722176Z ✔ snapshots create inputs and makes user deletion idempotent (346.599571ms) -2026-09-27T05:33:39.1723592Z ✔ interactive artifact store authority (3670.329131ms) -2026-09-27T05:33:39.1724968Z ✔ classifies connection-code failures without exposing transport errors to the renderer (67.612385ms) -2026-09-27T05:33:39.2298389Z ✔ persists authenticated Owner routes imported through a connection code (65.238953ms) -2026-09-27T05:33:39.3342704Z ✔ finishes a persisted pairing after Desktop restarts before finalization (106.298794ms) -2026-09-27T05:33:39.4772396Z ✔ unleased write authority waits for a child-held writer lock and preserves metadata (1033.499029ms) -2026-09-27T05:33:39.4784203Z ✔ unleased write authorities in separate processes reload and publish under one OS lock (1748.016898ms) -2026-09-27T05:33:39.4866621Z ✔ unleased writes share the rootId writer lock used by lease-bound authority (917.136092ms) -2026-09-27T05:33:39.4911257Z ✔ mutations spanning initial root marking remain serialized by the bootstrap writer lock (1016.092909ms) -2026-09-27T05:33:39.4947053Z ✔ unleased mutation rejects an unmarked replacement installed while waiting for bootstrap (692.516298ms) -2026-09-27T05:33:39.4956071Z ✔ unleased mutation through a retargeted alias stays bound to its verified canonical root (662.464165ms) -2026-09-27T05:33:39.4983164Z ✔ admitted lease-bound mutations reject a replacement root without modifying it (1050.359515ms) -2026-09-27T05:33:39.4995827Z ✔ lease-bound mutation does not rebuild a root deleted while waiting for the writer lock (884.084301ms) -2026-09-27T05:33:39.5035607Z ✔ bundle export excludes a mutation queued behind the same child-held writer lock (1064.039804ms) -2026-09-27T05:33:39.7096822Z ✔ keeps a managed Direct route on the SSH profile credential authority (370.012599ms) -2026-09-27T05:33:39.8556856Z ✔ recovers interrupted managed credential rotation after restart (150.039551ms) -2026-09-27T05:33:39.9192498Z ✔ does not rotate a managed credential after its profile target changes (58.879176ms) -2026-09-27T05:33:40.0202585Z ✔ reactivates the previous credential after a pre-rebind rotation crash (106.699047ms) -2026-09-27T05:33:40.0625522Z ✔ recovers a new profile after a crash before its enable preference is written (37.714702ms) -2026-09-27T05:33:40.1182989Z ✔ does not let journal cleanup failure lock a completed pairing (59.387892ms) -2026-09-27T05:33:40.2124141Z ✔ discarding a committed rotation unlocks the restored local profile (93.055178ms) -2026-09-27T05:33:40.2879832Z ✔ keeps managed service recovery when a failed pairing profile cannot be removed (74.983264ms) -2026-09-27T05:33:40.4306414Z ✔ keeps an offline pairing recoverable without blocking another Host (144.156692ms) -2026-09-27T05:33:40.4761052Z ✔ bundle export holds Artifact authority through selected-session projection (1000.626117ms) -2026-09-27T05:33:40.5256649Z ✔ restores the previous credential when an interrupted pairing can no longer authenticate (94.586744ms) -2026-09-27T05:33:40.5295809Z ▶ writeAtomicFile -2026-09-27T05:33:40.5333233Z ✔ writes the exact bytes and leaves no temp file behind (53.345633ms) -2026-09-27T05:33:40.5399383Z ✔ removes its temp file and rethrows after a write failure (6.787757ms) -2026-09-27T05:33:40.5417218Z ✔ removes its temp file and rethrows after a sync failure (4.996559ms) -2026-09-27T05:33:40.5427782Z ✔ removes its temp file and rethrows after a close failure (3.775427ms) -2026-09-27T05:33:40.5429064Z ✔ removes its temp file and rethrows after a chmod failure (6.968774ms) -2026-09-27T05:33:40.5430443Z ✔ sets the final mode before synchronizing the temp file (31.637461ms) -2026-09-27T05:33:40.5443000Z ✔ reports an unknown commit outcome when directory fsync fails after publication (13.491635ms) -2026-09-27T05:33:40.5465690Z ✔ creates the target 0600 on POSIX (16.299752ms) -2026-09-27T05:33:40.5466764Z ✔ re-chmods a pre-existing world-readable target to 0600 on the next write (17.812645ms) -2026-09-27T05:33:40.5501695Z ✔ refuses to write through a pre-planted symlink at the temp path (13.025624ms) -2026-09-27T05:33:40.5502749Z ✔ writeAtomicFile (177.931454ms) -2026-09-27T05:33:40.5503437Z ▶ claimed agent graph root admission -2026-09-27T05:33:40.5505563Z ✔ round-trips an exact, deeply frozen durable descriptor (512.086823ms) -2026-09-27T05:33:40.5507463Z ✔ rejects descriptor unknown fields and malformed claims (110.922489ms) -2026-09-27T05:33:40.5914217Z ✔ rejects every claim target identity drift before writing admission (171.281275ms) -2026-09-27T05:33:40.5925808Z ✔ rejects queue sources and a missing canonical UserMessage (213.862637ms) -2026-09-27T05:33:40.5926866Z ✔ claimed agent graph root admission (1010.40345ms) -2026-09-27T05:33:40.6120358Z ✔ restores an existing profile when replacement finalization fails (87.539677ms) -2026-09-27T05:33:40.6248932Z [runtime-host] pairing recovery journal could not be read: DesktopRuntimeHostPairingJournalInvalidError: Runtime Host pairing recovery journal is invalid -2026-09-27T05:33:40.6336085Z at readDesktopRuntimeHostPairingIntents (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-pairing-journal.js:50:15) -2026-09-27T05:33:40.6365948Z at async resolveDesktopRuntimeHostStartup (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-profile-service.js:52:26) -2026-09-27T05:33:40.6401111Z ... 2 lines matching cause stack trace ... -2026-09-27T05:33:40.6405018Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) { -2026-09-27T05:33:40.6407065Z [cause]: SyntaxError: Unexpected token 'o', "not-json" is not valid JSON -2026-09-27T05:33:40.6407777Z at JSON.parse () -2026-09-27T05:33:40.6408898Z at readDesktopRuntimeHostPairingIntents (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-pairing-journal.js:47:42) -2026-09-27T05:33:40.6410598Z at async resolveDesktopRuntimeHostStartup (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-profile-service.js:52:26) -2026-09-27T05:33:40.6421460Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-profile-service.test.js:1201:21) -2026-09-27T05:33:40.6422819Z at async Test.run (node:internal/test_runner/test:1409:7) -2026-09-27T05:33:40.6425414Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:33:40.6426164Z } -2026-09-27T05:33:40.6605771Z ✔ keeps existing Hosts available while corrupt pairing recovery awaits resolution (47.874413ms) -2026-09-27T05:33:40.6671666Z ✔ migrates an interrupted SSH pairing from the released operator path (7.094236ms) -2026-09-27T05:33:40.6986629Z [runtime-host] pairing recovery journal could not be read: Error: credential store is temporarily unavailable -2026-09-27T05:33:40.7035743Z at Object.getSecret (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-profile-service.test.js:1272:23) -2026-09-27T05:33:40.7095471Z at readDesktopRuntimeHostPairingIntents (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-pairing-journal.js:40:40) -2026-09-27T05:33:40.7158462Z at resolveDesktopRuntimeHostStartup (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-profile-service.js:52:32) -2026-09-27T05:33:40.7191766Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-profile-service.test.js:1282:21) -2026-09-27T05:33:40.7252835Z at async Test.run (node:internal/test_runner/test:1409:7) -2026-09-27T05:33:40.7305778Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:33:40.7378068Z ✔ retries pairing recovery before discarding it (45.42701ms) -2026-09-27T05:33:40.7413071Z [runtime-host] preferences could not be read; using Local defaults: Error: preferences are temporarily unavailable -2026-09-27T05:33:40.7446210Z at Object.readPreferences (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-profile-service.test.js:1310:19) -2026-09-27T05:33:40.7506193Z at resolveDesktopRuntimeHostStartup (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-profile-service.js:40:57) -2026-09-27T05:33:40.7591927Z at async TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-profile-service.test.js:1307:21) -2026-09-27T05:33:40.7656656Z at async Test.run (node:internal/test_runner/test:1409:7) -2026-09-27T05:33:40.7685434Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:33:40.7749118Z ✔ does not recover pairing through unreadable saved preferences (26.256807ms) -2026-09-27T05:33:40.7790033Z [runtime-host] Office is unavailable: Error: Runtime Host profile was disabled -2026-09-27T05:33:40.7866171Z at RuntimeHostDesktopManagerImpl.disable (file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-desktop-manager.js:422:69) -2026-09-27T05:33:40.7946276Z at Object.disable (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-profile-service.test.js:1375:34) -2026-09-27T05:33:40.8002641Z at file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-profile-service.js:935:29 -2026-09-27T05:33:40.8042329Z ✔ disabling a startup compatibility handoff releases Host settings and permits re-enabling (61.997298ms) -2026-09-27T05:33:40.9199877Z ✔ keeps enablement, default selection, and removal as separate states (113.253389ms) -2026-09-27T05:33:40.9784202Z ✔ preserves opaque remote paths while normalizing labels (2.312926ms) -2026-09-27T05:33:40.9856115Z ✔ rejects paths that are not absolute on the remote POSIX Host (0.769281ms) -2026-09-27T05:33:40.9885946Z ✔ quit dialog defaults to preserving background work (4.233514ms) -2026-09-27T05:33:40.9935277Z ✔ quit dialog copy promises durable recovery in every locale (0.61825ms) -2026-09-27T05:33:40.9956058Z ✔ quit fences a real Host before Desktop cleanup without waiting for Host cleanup (157.695632ms) -2026-09-27T05:33:40.9996969Z ✔ quit proceeds without consent when there is no owned Host (2.127233ms) -2026-09-27T05:33:41.0074984Z ✔ quit proceeds without consent after the idle Host stops admission (0.28881ms) -2026-09-27T05:33:41.0095831Z ✔ background work requires consent before quitting (0.317733ms) -2026-09-27T05:33:41.0150642Z ✔ quit proceeds without an owner (0.19446ms) -2026-09-27T05:33:41.0208745Z ✔ relays the Host envelope unchanged, including the navigation coordinate (7.59291ms) -2026-09-27T05:33:41.0245757Z ✔ refuses a malformed request identity without asking the Host (0.422036ms) -2026-09-27T05:33:41.0305606Z ✔ an unavailable Host answers a search failure rather than throwing (1.714633ms) -2026-09-27T05:33:41.0385852Z ✔ a cancellation abandons the wait and reports it as aborted (1.366565ms) -2026-09-27T05:33:41.0396055Z ✔ a renderer that goes away stops its in-flight search (3.443978ms) -2026-09-27T05:33:41.0449587Z ✔ a superseded request on one sender is cancelled before the new one runs (1.62715ms) -2026-09-27T05:33:41.0531743Z ✔ a request without an identity is still answered (0.599967ms) -2026-09-27T05:33:41.0618660Z ✔ unsupported Guest IPC fails immediately while an Owner channel still survives reconnect (10.416829ms) -2026-09-27T05:33:41.0681603Z ✔ reconciliation becomes unavailable when the replacement no longer supports its channel (19.234725ms) -2026-09-27T05:33:41.0755844Z ✔ classifies only dispatched control connection loss for reconciliation (0.765087ms) -2026-09-27T05:33:41.0775007Z ✔ reconciles a dispatched control on a replacement without replaying it (3.318268ms) -2026-09-27T05:33:41.0819640Z ✔ bounds reconciliation when no replacement candidate becomes available (4.904737ms) -2026-09-27T05:33:41.0875872Z ✔ retries only reconciliation when its replacement connection is lost (3.426508ms) -2026-09-27T05:33:41.0938995Z ✔ never reconciles a control through a different target epoch (2.997976ms) -2026-09-27T05:33:41.0987288Z ✔ holds an invocation across a Runtime Host candidate replacement (1.33752ms) -2026-09-27T05:33:41.1046006Z ✔ bounds an invocation while an active Runtime Host has no handler (8.096027ms) -2026-09-27T05:33:41.1080877Z ✔ bounds reconnectable reads when no replacement handler becomes available (5.413072ms) -2026-09-27T05:33:41.1141757Z ✔ settles concurrent invocations after one bounded replacement window (13.357666ms) -2026-09-27T05:33:41.1225808Z ✔ does not reset one reconnectable read deadline across failed replacements (1.463033ms) -2026-09-27T05:33:41.1265622Z ✔ does not return a late read from a replaced Runtime Host candidate (0.435497ms) -2026-09-27T05:33:41.1319385Z ✔ does not return a late failure from a replaced Runtime Host candidate (0.2303ms) -2026-09-27T05:33:41.1370310Z ✔ does not replay a command IPC handler after a draining rejection (0.374687ms) -2026-09-27T05:33:41.1437754Z ✔ does not replay Host commands through a read-marked IPC boundary (0.495894ms) -2026-09-27T05:33:41.1555978Z ✔ never dispatches or completes an invocation across target epochs (1.094121ms) -2026-09-27T05:33:41.1557309Z ✔ routes concurrent Runtime Host targets by explicit scope (0.376338ms) -2026-09-27T05:33:41.1620575Z ✔ read adapters project ordinary failures without hiding reconnectable failures (0.501927ms) -2026-09-27T05:33:41.1696036Z ✔ WorkHub reconciles a lost answer through the replacement IPC owner without a fresh submission (5.3106ms) -2026-09-27T05:33:41.1751995Z [session-bundle] unclassified failure: Error: Invalid Session id -2026-09-27T05:33:41.1790785Z at Object.importSessionBundle (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/runtime-host-session-bundle-ipc-main.test.js:100:23) -2026-09-27T05:33:41.1837216Z at file:///home/runner/work/maka/maka/apps/desktop/dist/main/runtime-host-session-bundle-ipc-main.js:64:46 -2026-09-27T05:33:41.1906550Z ✔ writes to the picked destination and reports what travelled (3.513774ms) -2026-09-27T05:33:41.1966807Z ✔ closing the save dialog asks the Host for nothing (0.367624ms) -2026-09-27T05:33:41.2016928Z ✔ publishes each imported Session so the shell reads the catalog again (0.474658ms) -2026-09-27T05:33:41.2076377Z ✔ keeps the reason a reader can act on (0.488876ms) -2026-09-27T05:33:41.2187265Z ✔ carries the message of a failure no reason code describes (1.520814ms) -2026-09-27T05:33:41.2215985Z ✔ proposes a filename a task name cannot steer (0.277228ms) -2026-09-27T05:33:41.2230567Z ✔ the digest it sends is over the ids the Host knows (0.881747ms) -2026-09-27T05:33:41.6008572Z ✔ maps Runtime Host live run state without collapsing unknown and known-empty (7.824175ms) -2026-09-27T05:33:41.6028597Z ✔ preserves the Session revision in Owner Desktop Host summaries (0.287381ms) -2026-09-27T05:33:41.6078311Z ✔ session creation forwards the caller name for a mode that carries none (9.729547ms) -2026-09-27T05:33:41.6131404Z ✔ session creation forwards a plugin executor model without a native model target (0.496064ms) -2026-09-27T05:33:41.6293128Z ✔ local pending Sessions sort by local creation without inventing Host activity (5.732257ms) -2026-09-27T05:33:41.6332898Z ✔ starts a fresh catalog read after the previous refresh settles (0.652178ms) -2026-09-27T05:33:41.6369466Z ✔ does not commit a catalog read superseded while it is in flight (0.417927ms) -2026-09-27T05:33:41.6408452Z ✔ continues to an admitted trailing read after a superseded read fails (0.390829ms) -2026-09-27T05:33:41.6464997Z ✔ keeps a newly created Session when the superseding catalog read fails (4.320185ms) -2026-09-27T05:33:41.6477467Z ✔ rejects a delayed bootstrap seed after a Session is created (0.55101ms) -2026-09-27T05:33:41.6540666Z ✔ collects every healthy Owner catalog and reports only complete Hosts (2.153294ms) -2026-09-27T05:33:41.6565744Z ✔ keeps incomplete coverage when every Owner catalog rejects (0.776603ms) -2026-09-27T05:33:41.6600572Z ✔ reconciles Owner catalogs per Host and retires removed Owner profiles (1.445377ms) -2026-09-27T05:33:41.6687333Z ✔ uses the mount service as the complete Guest catalog authority (0.462928ms) -2026-09-27T05:33:41.6732354Z ✔ prefers a live Guest projection over an unavailable Owner fallback (0.219092ms) -2026-09-27T05:33:41.6796709Z ✔ retains the last Guest projection only when mount inventory is unavailable (3.485289ms) -2026-09-27T05:33:41.6847729Z ✔ preserves an authenticated onboarding Owner seed across a failed catalog refresh (0.489477ms) -2026-09-27T05:33:41.6901348Z ✔ an observed Guest event cannot replace an accepted Owner authority (0.226576ms) -2026-09-27T05:33:41.8848345Z ✔ projects observed running Turn identities into renderer Session lists (10.130643ms) -2026-09-27T05:33:41.8966301Z ✔ merges catalog and observed running Turn identities in stable order (0.627184ms) -2026-09-27T05:33:41.9377519Z ▶ ClaudeCodeSessionAdapter -2026-09-27T05:33:41.9418382Z ✔ a turn that stopped with end_turn imports as completed (36.776366ms) -2026-09-27T05:33:41.9435979Z ✔ a turn stopped at tool_use with no result is recorded as a snapshot cutoff (11.294183ms) -2026-09-27T05:33:41.9465741Z ✔ a prompt with no answer at all is recorded as a snapshot cutoff (10.112737ms) -2026-09-27T05:33:41.9525698Z ✔ an interrupt notice imports as aborted, not as a user message (11.695039ms) -2026-09-27T05:33:41.9535403Z ✔ an API error imports as failed (6.571086ms) -2026-09-27T05:33:41.9536975Z ✔ tool results arrive as user records and must not import as user turns (6.179488ms) -2026-09-27T05:33:41.9614695Z ✔ a turn cut off by max_tokens is not reported as completed (8.763824ms) -2026-09-27T05:33:41.9662171Z ✔ a tool result with no tool_use_id is dropped rather than left detached (18.35195ms) -2026-09-27T05:33:41.9690379Z ✔ turn ids are dense and never collide with message ids (8.024359ms) -2026-09-27T05:33:41.9691670Z ✔ a record written twice emits one message, not two (4.545924ms) -2026-09-27T05:33:41.9692966Z ✔ one response is assembled from every fragment, calls before their results (4.851766ms) -2026-09-27T05:33:41.9694079Z ✔ a sidechain transcript is neither listed nor readable (4.40057ms) -2026-09-27T05:33:41.9695459Z ✔ a transcript larger than the import budget remains visible in the catalog (3.861089ms) -2026-09-27T05:33:41.9702144Z ✔ a transcript with a first record beyond the former summary window remains visible (391.624447ms) -2026-09-27T05:33:41.9703430Z ✔ an oversized JSONL record falls back to a visible catalog row (699.488621ms) -2026-09-27T05:33:41.9704760Z ✔ streams valid transcripts larger than the legacy 64 MiB whole-file limit (2973.090468ms) -2026-09-27T05:33:41.9705840Z ✔ rejects an oversized JSONL record without buffering the complete transcript (9.528155ms) -2026-09-27T05:33:41.9717488Z ✔ rejects transcripts that exceed the parsed-record limit (7.730878ms) -2026-09-27T05:33:41.9732403Z ✔ rejects converted histories that exceed message count or byte budgets (13.092323ms) -2026-09-27T05:33:41.9752575Z ✔ parses a UTF-8 JSONL record split across read buffers (27.323721ms) -2026-09-27T05:33:41.9761553Z ✔ rejects a transcript truncated before its fixed snapshot is complete (37.333501ms) -2026-09-27T05:33:41.9769125Z ✔ keeps reading the opened snapshot when the transcript path is replaced (7.522848ms) -2026-09-27T05:33:41.9770845Z ✔ rejects an in-place rewrite between streaming passes (13.320722ms) -2026-09-27T05:33:41.9775940Z ✔ ignores records appended after the transcript snapshot is opened (7.122382ms) -2026-09-27T05:33:41.9777735Z ✔ uses a custom title in both the catalog and imported metadata (7.687774ms) -2026-09-27T05:33:41.9780166Z ✔ the catalog does not read past its head window to find a prompt (74.37113ms) -2026-09-27T05:33:41.9783678Z ✔ an oversized summary without cwd does not claim a workspace (54.957688ms) -2026-09-27T05:33:41.9786184Z ✔ an oversized summary matches a hyphenated workspace without decoding its project key (20.387732ms) -2026-09-27T05:33:41.9787830Z ✔ large streaming imports preserve rewinds and fragmented responses (2334.425842ms) -2026-09-27T05:33:41.9918335Z ✔ goal:arm reconciles a lost dispatched response without dispatching again (11.99619ms) -2026-09-27T05:33:42.0075072Z ✔ goal:arm reconciliation compares every canonical requested field (1.347429ms) -2026-09-27T05:33:42.0211126Z ✔ goal:arm reconciliation reports different, missing, and unavailable authority (2.227191ms) -2026-09-27T05:33:42.0227445Z ✔ goal:arm preserves deterministic and non-dispatched rejection semantics (0.899841ms) -2026-09-27T05:33:42.0231905Z ✔ goal:arm takes the Session from the scoped channel and refuses any other key (2.229139ms) -2026-09-27T05:33:42.0233828Z ✔ adapts Host Goal, Task, and Resource projections (2.953446ms) -2026-09-27T05:33:42.0240362Z ✔ adapts bounded Agent Graph epoch reads without changing graph identity (4.351706ms) -2026-09-27T05:33:42.0241538Z ✔ keeps a failed Close across connection replacement and acknowledges Stop without a post-read (6.477868ms) -2026-09-27T05:33:42.0243680Z ✔ adapts interactive terminal ownership to one Host controller lease (5.459236ms) -2026-09-27T05:33:42.0244858Z ✔ reuses terminal controller identity after an ambiguous acquire response (1.770748ms) -2026-09-27T05:33:42.0245981Z ✔ restores terminal observation after the observer drops its registration (0.544024ms) -2026-09-27T05:33:42.0269516Z ✔ reacquires a missing terminal controller with protocol-exact identity fields (0.419274ms) -2026-09-27T05:33:42.0270804Z ✔ adapts Plan controls and starts approved execution through one Host command (3.902711ms) -2026-09-27T05:33:42.0272038Z ✔ publishes typed invalidations and refreshes only changed Runtime Resources (24.859014ms) -2026-09-27T05:33:42.0273127Z ✔ plan control channels rethrow failures outside the expected plan-control set (0.940641ms) -2026-09-27T05:33:42.0329434Z ✔ plan control channels return the Host error code across the IPC boundary (6.148925ms) -2026-09-27T05:33:42.4178148Z ✔ a second ACP process loads a Turn with a pending permission and answers it (8256.245591ms) -2026-09-27T05:33:42.4276201Z ✔ ACP tools through the official SDK, child process and Runtime Host (68071.262098ms) -2026-09-27T05:33:42.6991445Z ✔ registers Session observation as one reconnectable operation (9.095843ms) -2026-09-27T05:33:42.7116370Z ✔ Session observation IPC returns cancellation after unobserve while connecting (22.736012ms) -2026-09-27T05:33:42.7196189Z ✔ Session observation IPC returns cancellation after renderer destruction while connecting (1.463144ms) -2026-09-27T05:33:42.7262213Z ✔ Session observation IPC returns cancellation after unobserve while seeding (4.151554ms) -2026-09-27T05:33:42.7496497Z ▶ maka activate argument and request contracts -2026-09-27T05:33:42.7530460Z ✔ requires explicit non-overlapping roots and accepts JSON input options (2.129118ms) -2026-09-27T05:33:42.7568998Z ✔ decodes versioned message and resumed activation requests (5.453444ms) -2026-09-27T05:33:42.7619932Z ✔ rejects malformed input before runtime startup (3.776709ms) -2026-09-27T05:33:42.7678315Z ✔ maka activate argument and request contracts (21.855746ms) -2026-09-27T05:33:42.7723083Z ▶ maka activate JSONL protocol -2026-09-27T05:33:42.7752954Z ✔ emits start, redacted runtime events, and exactly one completed outcome (11.319726ms) -2026-09-27T05:33:42.7807472Z ✔ emits a terminal fatal outcome for malformed JSON input (2.377055ms) -2026-09-27T05:33:42.7871419Z ✔ returns blocked after denying a non-interactive sandbox boundary request (7.283347ms) -2026-09-27T05:33:42.7956000Z ✔ returns blocked for an unresolved production sandbox tool failure (3.948859ms) -2026-09-27T05:33:42.8033576Z ✔ blocks a completed invocation whose stream carried a boundary failure (3.72396ms) -2026-09-27T05:33:42.8065658Z ✔ retries non-permission blocked sessions instead of requesting permission (8.8867ms) -2026-09-27T05:33:42.8074913Z ✔ resumes an existing compatible session without creating another one (3.714136ms) -2026-09-27T05:33:42.8076210Z ✔ maps timeout to retryable_failure and emits one terminal outcome (17.145791ms) -2026-09-27T05:33:42.8077210Z ✔ maka activate JSONL protocol (60.007278ms) -2026-09-27T05:33:42.8077968Z ▶ maka activate filesystem boundaries -2026-09-27T05:33:42.8078843Z ✔ rejects workspace/state/config overlap before bootstrap (17.982094ms) -2026-09-27T05:33:42.8079728Z ✔ maka activate filesystem boundaries (18.323547ms) -2026-09-27T05:33:42.8080395Z ▶ BoundedChunkBuffer -2026-09-27T05:33:42.8081600Z ✔ releases a discarded backing slot before delayed storage compaction (1.219906ms) -2026-09-27T05:33:42.8082620Z ✔ ignores a replay of a sequence that was already discarded (1.110556ms) -2026-09-27T05:33:42.8083601Z ✔ does not split a UTF-16 surrogate pair at the character boundary (4.373211ms) -2026-09-27T05:33:42.8084938Z ✔ shares a smaller presentation budget without forgetting discarded sequence identities (4.345745ms) -2026-09-27T05:33:42.8085927Z ✔ BoundedChunkBuffer (15.103688ms) -2026-09-27T05:33:42.8086508Z ▶ Maka CLI invocation copy -2026-09-27T05:33:42.8087269Z ✔ keeps release resume instructions on the release launcher (0.961436ms) -2026-09-27T05:33:42.8088318Z ✔ keeps development remote and cwd retries on the development launcher (0.269458ms) -2026-09-27T05:33:42.8089231Z ✔ Maka CLI invocation copy (3.161102ms) -2026-09-27T05:33:42.8089839Z ▶ CLI TUI locale authority -2026-09-27T05:33:42.8090564Z ✔ an explicit MAKA_LOCALE wins over the POSIX locale (2.336848ms) -2026-09-27T05:33:42.8091445Z ✔ preserves legacy and POSIX-style Chinese aliases (0.270123ms) -2026-09-27T05:33:42.8092364Z ✔ auto honors POSIX locale authority order (0.678058ms) -2026-09-27T05:33:42.8093307Z ✔ treats empty and whitespace-only MAKA_LOCALE as auto (0.229096ms) -2026-09-27T05:33:42.8094374Z ✔ rejects an unsupported explicit preference with a configuration error (0.205547ms) -2026-09-27T05:33:42.8095441Z ✔ CLI TUI locale authority (5.677326ms) -2026-09-27T05:33:42.8095976Z ▶ Maka CLI args -2026-09-27T05:33:42.8096606Z ✔ declares a bin-only package surface (31.488587ms) -2026-09-27T05:33:42.8097390Z ✔ publishes the supported release command surface (12.815413ms) -2026-09-27T05:33:42.8098631Z ✔ requires an explicit installed update target and interruption choice (0.770056ms) -2026-09-27T05:33:42.8099690Z ✔ selects a Runtime Host and Project for TUI startup (0.400095ms) -2026-09-27T05:33:42.8100641Z ✔ parses the ACP stdio command before TUI flags (0.397269ms) -2026-09-27T05:33:42.8101523Z ✔ compiled ACP launcher rejects trailing arguments without help output (1309.836962ms) -2026-09-27T05:33:42.8102841Z ✔ uses the active launcher in development help and rejects an empty profile name (25.995065ms) -2026-09-27T05:33:42.8103812Z ✔ does not add a discoverable global locale flag (7.657153ms) -2026-09-27T05:33:42.8105512Z ✔ establishes the fatal exit before reporting can throw (1034.78056ms) -2026-09-27T05:33:42.8135948Z ✔ compiled release and repository entries isolate profile writes (2494.969176ms) -2026-09-27T05:33:42.8159709Z ✔ compiled launchers isolate capability-provider identities (3899.34115ms) -2026-09-27T05:33:42.8185417Z ✔ Maka CLI args (8829.15443ms) -2026-09-27T05:33:42.8200654Z ▶ layered help coverage -2026-09-27T05:33:42.8201474Z ✔ every command the parser accepts has a help screen (1.046307ms) -2026-09-27T05:33:42.8202393Z ✔ the credential environment variable stays documented (0.278392ms) -2026-09-27T05:33:42.8203293Z ✔ every summary in the root screen shares one column (6.264286ms) -2026-09-27T05:33:42.8204059Z ✔ layered help coverage (7.876367ms) -2026-09-27T05:33:42.8214753Z ✔ names each tool, and marks every derived figure as an estimate (12.053294ms) -2026-09-27T05:33:42.8237985Z ✔ says a request left no composition rather than printing an empty one (0.36962ms) -2026-09-27T05:33:42.8246716Z ▶ installed Eval bundle -2026-09-27T05:33:42.8247579Z ✔ points Eval containers at the installed package root (22.876942ms) -2026-09-27T05:33:42.8248412Z ✔ preserves an explicit bundle path (0.380898ms) -2026-09-27T05:33:42.8249320Z ✔ does not change source-checkout behavior without a packaged Eval runtime (0.229381ms) -2026-09-27T05:33:42.8250165Z ✔ installed Eval bundle (27.993014ms) -2026-09-27T05:33:42.8251506Z ✔ publication deduplicates a snapshot within one Host connection and republishes on reconnect (6.947974ms) -2026-09-27T05:33:42.8252858Z ✔ publication coalesces revisions while a manifest is in flight and awaits the latest delivery (28.159433ms) -2026-09-27T05:33:42.8254177Z ✔ an obsolete successful replacement is withdrawn when the latest snapshot becomes empty (0.73384ms) -2026-09-27T05:33:42.8255967Z ✔ an old connection completion cannot unregister or advertise tools on its replacement (3.055497ms) -2026-09-27T05:33:42.8257290Z ✔ failed publication releases its provider and readiness can retry the same revision (2.968023ms) -2026-09-27T05:33:42.8258627Z ✔ close waits for an admitted publication then withdraws it without notifying after close (1.75305ms) -2026-09-27T05:33:42.8259883Z ✔ authoritative retirement closes publication state without unregistering again (0.502937ms) -2026-09-27T05:33:42.8261128Z ✔ empty snapshots and unavailable connections never create or withdraw a registration (7.904849ms) -2026-09-27T05:33:42.8262415Z ✔ TUI modern MCP accept travels through the canonical Host form and back to the server (2371.351745ms) -2026-09-27T05:33:42.8263690Z ✔ TUI modern MCP decline travels through the canonical Host form and back to the server (399.75496ms) -2026-09-27T05:33:42.8265067Z ✔ TUI modern MCP cancel travels through the canonical Host form and back to the server (346.355621ms) -2026-09-27T05:33:42.8286894Z ✔ TUI handles a second MCP question as a new canonical Host form (534.741454ms) -2026-09-27T05:33:42.8319037Z ✔ TUI stop closes a pending modern MCP Host form without a user answer or retry (312.40274ms) -2026-09-27T05:33:42.8349966Z ✔ TUI disconnect closes a pending modern MCP Host form without a user answer or retry (230.75799ms) -2026-09-27T05:33:42.8357463Z ✔ TUI provider loss closes a pending modern MCP Host form without a user answer or retry (301.77959ms) -2026-09-27T05:33:42.8359714Z ▶ pi-goal display helpers -2026-09-27T05:33:42.8365999Z ✔ strips generic ESC character-set sequences from displayed text (1.630318ms) -2026-09-27T05:33:42.8367126Z ✔ every declared goal status has a label and a live/terminal classification (1.24967ms) -2026-09-27T05:33:42.8368161Z ✔ elapsed freezes at pausedAt for a paused goal and never goes negative (0.288264ms) -2026-09-27T05:33:42.8369020Z ✔ formatGoalElapsed is compact (0.288766ms) -2026-09-27T05:33:42.8369946Z ✔ status-line text: active shows elapsed, waiting and paused show the state name (0.365064ms) -2026-09-27T05:33:42.8371261Z ✔ summary lines include budget only when set and the evaluator note only when present (4.06928ms) -2026-09-27T05:33:42.8372512Z ✔ summary collapses embedded whitespace and labels a cleared goal as cleared (0.591342ms) -2026-09-27T05:33:42.8373684Z ✔ summary hides elapsed for terminal verdicts that carry no freeze timestamp (0.347132ms) -2026-09-27T05:33:42.8374885Z ✔ summary keeps the frozen elapsed for an achieved goal (0.309923ms) -2026-09-27T05:33:42.8375773Z ✔ token formatting is the shared status-line formatter (0.301961ms) -2026-09-27T05:33:42.8376677Z ✔ pause and attach notices name the loop and its controls (0.37645ms) -2026-09-27T05:33:42.8377453Z ✔ pi-goal display helpers (13.460172ms) -2026-09-27T05:33:42.8378069Z ▶ Maka Pi TUI transcript -2026-09-27T05:33:42.8378936Z ✔ hides a retired provider dropping note that an old session still carries (12.025024ms) -2026-09-27T05:33:42.8380001Z ✔ renders manual compaction from the typed terminal outcome (0.87322ms) -2026-09-27T05:33:42.8381470Z ✔ renders stored legacy Automation prompts as read-only provenance (10.126263ms) -2026-09-27T05:33:42.8382445Z ✔ renders fresh-session guidance in the resolved locale (13.996341ms) -2026-09-27T05:33:42.8383460Z ✔ keeps every pending-queue preview on exactly one terminal row (#3824) (1.114765ms) -2026-09-27T05:33:42.8384708Z ✔ renders the pending-queue edit shortcut for the current platform (91.306076ms) -2026-09-27T05:33:42.8412322Z ✔ renders goal-origin prompts as autonomous provenance, not as user prompts (8.68606ms) -2026-09-27T05:33:42.8413546Z ✔ status line shows a live goal and hides terminal or absent goals (1.819223ms) -2026-09-27T05:33:42.8414816Z ✔ renders side conversation status in English for every UI locale (1.242562ms) -2026-09-27T05:33:42.8415973Z ✔ status line degrades to ctx ?/window when the window is known but usage is not (#3371) (0.849309ms) -2026-09-27T05:33:42.8417489Z ✔ status line drops whole low-value segments on overflow, lowest rank first (#3421) (0.753611ms) -2026-09-27T05:33:42.8418642Z ✔ status line shortens cwd to its basename before dropping it (#3421) (0.569154ms) -2026-09-27T05:33:42.8419741Z ✔ status line drops a drive-root cwd instead of rendering an empty basename (#3421) (4.511508ms) -2026-09-27T05:33:42.8420895Z ✔ status line never drops mode, model, goal, or ctx at narrow widths (#3421) (0.724295ms) -2026-09-27T05:33:42.8422060Z ✔ status line compacts every critical segment before the narrow-width fallback (#3421) (2.494947ms) -2026-09-27T05:33:42.8423178Z ✔ keeps assistant text after a tool call visible after the tool block (0.801162ms) -2026-09-27T05:33:42.8424263Z ✔ preserves a transient user row across a sparse transcript replacement (0.276769ms) -2026-09-27T05:33:42.8425517Z ✔ removes only transient rows with durable cancellation proof (0.224861ms) -2026-09-27T05:33:42.8426853Z ✔ keeps a transient user row before later durable output in a sparse replacement (0.398306ms) -2026-09-27T05:33:42.8428151Z ✔ keeps an unanchored transient user row after existing durable history (0.315219ms) -2026-09-27T05:33:42.8429216Z ✔ keeps a leading transient row before an entirely new durable replacement (0.202782ms) -2026-09-27T05:33:42.8430300Z ✔ reconciles a transient user row by messageId when durable history arrives (0.15877ms) -2026-09-27T05:33:42.8431500Z ✔ keeps a projected in-flight steering echo transient until durable reconciliation (5.684341ms) -2026-09-27T05:33:42.8432585Z ✔ removes only the transient row named by a retracted admission (0.183212ms) -2026-09-27T05:33:42.8433594Z ✔ updates a projected steering echo in its transient message position (0.185468ms) -2026-09-27T05:33:42.8434668Z ✔ uses a shared message gutter and trims trailing block rows (37.315844ms) -2026-09-27T05:33:42.8437320Z ✔ treats text_complete as the authoritative assistant text (18.907759ms) -2026-09-27T05:33:42.8438475Z ✔ allows text_complete to replace streamed assistant text with empty text (0.230788ms) -2026-09-27T05:33:42.8439657Z ✔ hydrates durable tool details without resetting live turn state (5.834501ms) -2026-09-27T05:33:42.8440774Z ✔ keeps a hydrated background Bash live when its omitted settlement arrives (0.946454ms) -2026-09-27T05:33:42.8441917Z ✔ does not replace a newer live ShellRun revision with an older durable snapshot (0.392299ms) -2026-09-27T05:33:42.8443051Z ✔ does not materialize an omitted placeholder as a tool result (0.248502ms) -2026-09-27T05:33:42.8444090Z ✔ does not reopen a settled call from a resultless durable snapshot (0.349642ms) -2026-09-27T05:33:42.8445483Z ✔ does not replace a newer live result or terminal outcome with durable history (6.819167ms) -2026-09-27T05:33:42.8446712Z ✔ keeps an in-flight background poll suppressed during durable hydration (0.650731ms) -2026-09-27T05:33:42.8447710Z ✔ drops a hydrated in-flight background poll on abort (0.355152ms) -2026-09-27T05:33:42.8448533Z ✔ drops a resultless background poll when the turn completes (0.390894ms) -2026-09-27T05:33:42.8449570Z ✔ lets the live result own failed-poll tail placement after durable hydration (5.150576ms) -2026-09-27T05:33:42.8450857Z ✔ keeps a successful poll correlated until its live result folds it (0.635467ms) -2026-09-27T05:33:42.8451992Z ✔ renders steering messages with human-facing text and falls back to model-facing text (2.560423ms) -2026-09-27T05:33:42.8453163Z ✔ shows failed-open compact diagnostics before success diagnostics (0.574943ms) -2026-09-27T05:33:42.8454224Z ✔ folds stored background-task polling into its parent Bash card on resume (0.389123ms) -2026-09-27T05:33:42.8461092Z ✔ explains a stored tool call whose turn ended without a result (2.397355ms) -2026-09-27T05:33:42.8462346Z ✔ keeps a stored errored Read poll as a card without folding it into the parent Bash card (1.673669ms) -2026-09-27T05:33:42.8468775Z ✔ Ctrl+O leaves tool cards above the live viewport untouched (#1097) (8.280896ms) -2026-09-27T05:33:42.8474078Z ✔ Ctrl+O with a head-scrolled expanded card flips the default back and leaves a notice (#1134) (6.300142ms) -2026-09-27T05:33:42.8475789Z ✔ a collapse with mixed card positions names the stranded cards and offers the second press (#4011) (4.31431ms) -2026-09-27T05:33:42.8477127Z ✔ the confirmed second press collapses the stranded card without flipping the default (#4011) (0.520976ms) -2026-09-27T05:33:42.8478397Z ✔ an expand toggle with collapsed cards above the viewport stays silent about them (#4011) (1.164013ms) -2026-09-27T05:33:42.8479638Z ✔ hasExpandedEntriesAboveViewport is false while entry positions are unknown (#4011) (0.194029ms) -2026-09-27T05:33:42.8480776Z ✔ Ctrl+T leaves thinking entries above the live viewport untouched (#1097) (1.109049ms) -2026-09-27T05:33:42.8481969Z ✔ Ctrl+T with only head-scrolled thinking flips the default back and leaves a notice (#1134) (1.013428ms) -2026-09-27T05:33:42.8483267Z ✔ replays WriteStdin as a human-readable operation row while merging its PTY revision into Bash (7.382611ms) -2026-09-27T05:33:42.8484645Z ✔ renders an unboxed session sandbox boundary request with exact scopes (0.428465ms) -2026-09-27T05:33:42.8487666Z ✔ queues sandbox boundary, question, and form requests in arrival order (0.373243ms) -2026-09-27T05:33:42.8488694Z ✔ deduplicates sandbox boundary interactions by request id (0.416388ms) -2026-09-27T05:33:42.8489704Z ✔ orders thinking entries by arrival, before text and around tools (5.992866ms) -2026-09-27T05:33:42.8490853Z ✔ replaces the streamed thinking entry when thinking_complete arrives after the reply (0.263682ms) -2026-09-27T05:33:42.8491986Z ✔ replaces live Bash output with the authoritative terminal snapshot (0.952403ms) -2026-09-27T05:33:42.8493022Z ✔ folds concurrent child lifecycles into their parent agent cards (4.66118ms) -2026-09-27T05:33:42.8493997Z ✔ restores one parent card with its child terminal state (0.26705ms) -2026-09-27T05:33:42.8495144Z ✔ keeps a background Bash card running until the process settles (0.427802ms) -2026-09-27T05:33:42.8519085Z ✔ never renders a background-task Read card while a poll is in flight (0.466858ms) -2026-09-27T05:33:42.8520391Z ✔ folds an omitted Runtime Host poll result using its live correlation (0.288247ms) -2026-09-27T05:33:42.8521522Z ✔ surfaces an errored poll carrying shell_run content instead of folding it (0.565675ms) -2026-09-27T05:33:42.8522720Z ✔ keeps an errored non-folded poll card instead of splicing it into the parent (3.44124ms) -2026-09-27T05:33:42.8523940Z ✔ surfaces an errored background-task poll as a card instead of swallowing it (0.664157ms) -2026-09-27T05:33:42.8529784Z ✔ keeps generic compact text outcomes distinct by real presentation status (1.069371ms) -2026-09-27T05:33:42.8530996Z ✔ surfaces a failed poll at the tail without rewriting scrollback (0.59826ms) -2026-09-27T05:33:42.8532084Z ✔ removes a successful off-screen poll without changing scrollback (4.80737ms) -2026-09-27T05:33:42.8532994Z ✔ gives a suppressed poll zero transcript footprint (0.475879ms) -2026-09-27T05:33:42.8534247Z ✔ never renders a StopBackgroundTask card while the stop is in flight (0.816137ms) -2026-09-27T05:33:42.8535609Z ✔ never folds a WriteStdin aimed at a background-task ref (0.40457ms) -2026-09-27T05:33:42.8536579Z ✔ stays silent for a hydration catch-up update that settles a resumed card (4.330731ms) -2026-09-27T05:33:42.8537581Z ✔ updates a local user command card from its Runtime Resource (0.402401ms) -2026-09-27T05:33:42.8538592Z ✔ keeps user commands expanded and outside Ctrl+O model-tool toggles (0.293246ms) -2026-09-27T05:33:42.8539715Z ✔ preserves local user-command cards only for same-session reconnect replacement (0.180867ms) -2026-09-27T05:33:42.8540923Z ✔ reconnect re-inserts preserved user-command cards at their chronological position (#3210) (0.320217ms) -2026-09-27T05:33:42.8542082Z ✔ notifies a settle exactly once across a folded poll and the live update (0.317088ms) -2026-09-27T05:33:42.8543243Z ✔ announces a detached background task settle exactly once when its owner completes it (3.417469ms) -2026-09-27T05:33:42.8544313Z ✔ does not pair stale ownership with a newer ShellRun revision (0.305459ms) -2026-09-27T05:33:42.8545581Z ✔ announces a detached background task orphaned settle as an error exactly once (0.323631ms) -2026-09-27T05:33:42.8546708Z ✔ notifies a settle exactly once when the live update precedes the folded poll (0.347262ms) -2026-09-27T05:33:42.8547849Z ✔ announces a failed background task as an error with its exit and message (0.295329ms) -2026-09-27T05:33:42.8548879Z ✔ stays silent for a background task already settled in stored history (0.3936ms) -2026-09-27T05:33:42.8549770Z ✔ drops a folded poll when the turn aborts mid-flight (0.403236ms) -2026-09-27T05:33:42.8550929Z ✔ folds the real Read observation into its Bash card while the model gets a bounded page (10.069687ms) -2026-09-27T05:33:42.8552131Z ✔ shows polled background output instead of a stale live delta (1.208709ms) -2026-09-27T05:33:42.8553380Z ✔ re-renders a background Bash card when polling replaces output with the same length (0.621364ms) -2026-09-27T05:33:42.8554760Z ✔ keeps background-task Read cards when their parent Bash card is missing (0.287729ms) -2026-09-27T05:33:42.8560583Z ✔ folds StopBackgroundTask into its parent Bash card as aborted (0.372188ms) -2026-09-27T05:33:42.8561752Z ✔ applies a runtime-published terminal update directly to its parent Bash card (0.356118ms) -2026-09-27T05:33:42.8562913Z ✔ does not erase a runtime-published output update with an equal-time handoff result (0.250535ms) -2026-09-27T05:33:42.8564115Z ✔ keeps shell_run status and exit visible while capping its stream body (0.803211ms) -2026-09-27T05:33:42.8565459Z ✔ keeps generic compact summaries bounded for malformed and oversized results (0.825431ms) -2026-09-27T05:33:42.8566453Z ✔ names a live quiet Bash row from the wire args preview (0.338623ms) -2026-09-27T05:33:42.8567426Z ✔ keeps todo_write arguments quiet and shows only its settled snapshot (0.537447ms) -2026-09-27T05:33:42.8568632Z ✔ never restores todo_write arguments from durable transcript reconciliation (2.491272ms) -2026-09-27T05:33:42.8569713Z ✔ prefers a redacted runtime intent for a live compact row (0.360815ms) -2026-09-27T05:33:42.8570724Z ✔ never renders a secret Bash command from the durable shell_run result (0.412133ms) -2026-09-27T05:33:42.8571761Z ✔ keeps the no-output placeholder when the row cannot name the call (0.317879ms) -2026-09-27T05:33:42.8572933Z ✔ orders and de-dupes tool_output_delta by seq and marks redacted chunks (3.729851ms) -2026-09-27T05:33:42.8574130Z ✔ renders the redaction marker for an empty redacted output delta (0.331139ms) -2026-09-27T05:33:42.8575338Z ✔ caps a long live stream group in the expanded card (0.473669ms) -2026-09-27T05:33:42.8576303Z ✔ retains the newest live output when a stream exceeds its buffer limit (2.363933ms) -2026-09-27T05:33:42.8577333Z ✔ drops the oldest progress when the chunk count reaches its limit (5.29617ms) -2026-09-27T05:33:42.8578129Z ✔ Maka Pi TUI transcript (359.328121ms) -2026-09-27T05:33:42.8579154Z ▶ transcript entry render memoization -2026-09-27T05:33:42.8580153Z ✔ re-renders thinking when a same-length final replaces the streamed text (0.419099ms) -2026-09-27T05:33:42.8581238Z ✔ merges a latestStream-only ShellRun update into the card result (0.528831ms) -2026-09-27T05:33:42.8582519Z ✔ provider retry activity strip counts down in the client clock domain (4.303411ms) -2026-09-27T05:33:42.8583576Z ✔ provider retry strip counts down from the host-authoritative remainingMs (0.418765ms) -2026-09-27T05:33:42.8584845Z ✔ re-renders equal-length ShellRun output only when revision advances (0.537208ms) -2026-09-27T05:33:42.8587570Z ✔ transcript entry render memoization (6.758411ms) -2026-09-27T05:33:42.8588206Z ▶ shortenCwd -2026-09-27T05:33:42.8588873Z ✔ shortens POSIX paths under the home directory (0.201038ms) -2026-09-27T05:33:42.8589747Z ✔ keeps POSIX paths outside the home directory absolute (0.115895ms) -2026-09-27T05:33:42.8590649Z ﹣ shortens Windows profile paths (#3825) (0.06719ms) # SKIP -2026-09-27T05:33:42.8591549Z ﹣ shortens Windows profile paths with case-only differences (#3825) (0.057688ms) # SKIP -2026-09-27T05:33:42.8592600Z ﹣ keeps Windows paths outside the profile directory absolute (#3825) (0.042553ms) # SKIP -2026-09-27T05:33:42.8593432Z ✔ shortenCwd (0.761876ms) -2026-09-27T05:33:42.8594308Z ✔ TUI drafts cover every primitive and preserve optional omission (11.702494ms) -2026-09-27T05:33:42.8595562Z ✔ TUI acceptance parses numbers without inventing omitted values (0.750452ms) -2026-09-27T05:33:42.8596567Z ✔ protocol field names remain own data properties (0.288049ms) -2026-09-27T05:33:42.8597603Z ✔ overlay retains invalid drafts, then submits the corrected value (71.630711ms) -2026-09-27T05:33:42.8598756Z ✔ overlay restores a same-request draft and explains active constraints (4.182019ms) -2026-09-27T05:33:42.8599853Z ✔ overlay distinguishes optional false, decline, and cancel (1.834052ms) -2026-09-27T05:33:42.8600959Z ✔ overlay renders provenance and neutralizes terminal control text (3.249611ms) -2026-09-27T05:33:42.8602088Z ✔ overlay keeps bounded field and option windows around the active row (1.952915ms) -2026-09-27T05:33:42.8602836Z ▶ MCP management overlay -2026-09-27T05:33:42.8603593Z ✔ renders the local publication and negotiated server status (14.842012ms) -2026-09-27T05:33:42.8604738Z ✔ states the remote limitation instead of implying an empty local config (0.585216ms) -2026-09-27T05:33:42.8611236Z ✔ masks remote provider credentials while typing and clears them after submission (16.864447ms) -2026-09-27T05:33:42.8612430Z ✔ renders a competing remote provider as a visible conflict (0.620016ms) -2026-09-27T05:33:42.8613410Z ✔ localizes manager states without changing their source values (1.569124ms) -2026-09-27T05:33:42.8614580Z ✔ renders Traditional Chinese without Simplified fallbacks (2.586713ms) -2026-09-27T05:33:42.8615552Z ✔ subscribes only for the overlay lifetime (0.407766ms) -2026-09-27T05:33:42.8616652Z ✔ keeps long-list selection visible and applies actions to the visible server (25.189074ms) -2026-09-27T05:33:42.8617928Z ✔ walks the guided add flow with en, protocol key "2", headings, labels, and hints (14.495328ms) -2026-09-27T05:33:42.8619103Z ✔ walks the guided add flow with en, protocol key "\r", headings, labels, and hints (5.625005ms) -2026-09-27T05:33:42.8620159Z ✔ renders the en remove confirmation with the server id (0.812424ms) -2026-09-27T05:33:42.8621093Z ✔ labels the busy phase per action kind in en (2.189659ms) -2026-09-27T05:33:42.8622145Z ✔ walks the guided add flow with zh-CN, protocol key "2", headings, labels, and hints (5.239862ms) -2026-09-27T05:33:42.8623392Z ✔ walks the guided add flow with zh-CN, protocol key "\r", headings, labels, and hints (5.733187ms) -2026-09-27T05:33:42.8624731Z ✔ renders the zh-CN remove confirmation with the server id (0.500304ms) -2026-09-27T05:33:42.8625741Z ✔ labels the busy phase per action kind in zh-CN (0.397839ms) -2026-09-27T05:33:42.8626955Z ✔ routes every action result to its en catalog notice (30.57753ms) -2026-09-27T05:33:42.8628212Z ✔ Session observation IPC returns cancellation after renderer destruction while seeding (2.376986ms) -2026-09-27T05:33:42.8629726Z ✔ transcript history IPC forwards open mode, load-earlier, and read-turn to the registry (5.386092ms) -2026-09-27T05:33:42.8630934Z ✔ treats pending Session observation teardown as IPC cancellation (0.536584ms) -2026-09-27T05:33:42.8631904Z ✔ treats pending transcript teardown as IPC cancellation (2.387317ms) -2026-09-27T05:33:42.8633073Z ✔ forgetSession rejects pending observation IPC instead of silently cancelling (0.997531ms) -2026-09-27T05:33:42.8634142Z ✔ routes every action result to its zh-CN catalog notice (9.209908ms) -2026-09-27T05:33:42.8659725Z ✔ renders an unknown runtime result code as the raw code (4.522954ms) -2026-09-27T05:33:42.8689551Z ✔ keeps punctuation-sensitive catalog strings byte-for-byte (0.259446ms) -2026-09-27T05:33:42.8715377Z ✔ MCP management overlay (149.567446ms) -2026-09-27T05:33:42.8744008Z ▶ Maka Pi TUI runner -2026-09-27T05:33:42.8745084Z ✔ localizes the session search title and scope in every supported locale (27.085435ms) -2026-09-27T05:33:42.8746229Z ✔ session names use wide viewports and keep selection across resizing (24.049023ms) -2026-09-27T05:33:42.8747240Z ✔ can delegate session search to the catalog authority (6.592485ms) -2026-09-27T05:33:42.8748242Z ✔ /help uses the resolved locale for headings and command descriptions (83.283893ms) -2026-09-27T05:33:42.8749222Z ✔ ! runs once without opening an agent turn (14.911813ms) -2026-09-27T05:33:42.8750151Z ✔ a second leading bang remains part of the shell command (12.77077ms) -2026-09-27T05:33:42.8751087Z ✔ a submitted bare ! shows usage without starting a turn (9.100716ms) -2026-09-27T05:33:42.8752190Z ✔ Ctrl-C stops a running user command without exiting the TUI (64.241121ms) -2026-09-27T05:33:42.8753300Z ✔ a rejected startNewSession aborts /new with identity and transcript intact (#3210 review) (24.39775ms) -2026-09-27T05:33:42.8754694Z ✔ a rejected user-command stop hands Ctrl-C back to the exit chord (#3210) (44.029098ms) -2026-09-27T05:33:42.8755751Z ✔ a new user command re-arms Ctrl-C after an earlier stop rejection (37.843499ms) -2026-09-27T05:33:42.8756802Z ✔ same-session reconnect keeps a user-command card for its terminal update (13.107577ms) -2026-09-27T05:33:42.8757854Z ✔ disables taskbar progress on Windows and Windows Terminal by default (6.950557ms) -2026-09-27T05:33:42.8758859Z ✔ allows environment and explicit taskbar progress overrides (0.195364ms) -2026-09-27T05:33:42.8759880Z ✔ does not publish taskbar progress when the policy disables it (31.152159ms) -2026-09-27T05:33:42.8760891Z ✔ keeps slash autocomplete visible while a short terminal resizes (42.292252ms) -2026-09-27T05:33:42.8761807Z ✔ restores the terminal before exiting on SIGTERM (1519.549221ms) -2026-09-27T05:33:42.8762941Z ✔ forces signal exit when outer cleanup never settles after terminal restoration (4546.969631ms) -2026-09-27T05:33:42.8764207Z ✔ restores the terminal before reporting an uncaught exception (1468.22833ms) -2026-09-27T05:33:42.8765546Z ✔ closing the TUI restores the terminal without issuing a Runtime stop (0.947532ms) -2026-09-27T05:33:42.8766700Z ✔ Host controls show localized confirmation and require an affirmative choice (en) (23.90587ms) -2026-09-27T05:33:42.8767960Z ✔ Host controls show localized confirmation and require an affirmative choice (zh-CN) (12.872578ms) -2026-09-27T05:33:42.8769157Z ✔ Host controls show localized confirmation and require an affirmative choice (zh-TW) (22.778159ms) -2026-09-27T05:33:42.8770225Z ✔ restores the terminal when focus reporting fails after TUI start (11.774699ms) -2026-09-27T05:33:42.8771184Z ✔ a new OAuth account flows from identity through authorization to model save (200.823407ms) -2026-09-27T05:33:42.8772314Z ✔ an unconfirmed OAuth result stays on authorization and can resume model setup (en) (56.312044ms) -2026-09-27T05:33:42.8773813Z ✔ an unconfirmed OAuth result stays on authorization and can resume model setup (zh-CN) (48.419995ms) -2026-09-27T05:33:42.8775353Z ✔ an unconfirmed OAuth result stays on authorization and can resume model setup (zh-TW) (46.535634ms) -2026-09-27T05:33:42.8776587Z ✔ Esc closes unconfirmed OAuth setup without pretending to return to an uncreated identity (36.623644ms) -2026-09-27T05:33:42.8777719Z ✔ an OAuth slug collision returns a new account to the identity step (41.308873ms) -2026-09-27T05:33:42.8778761Z ✔ an existing OAuth account skips identity and keeps its Connection identity (34.803887ms) -2026-09-27T05:33:42.8779755Z ✔ Esc returns authenticated OAuth to refreshed providers (loading) (69.044768ms) -2026-09-27T05:33:42.8780745Z ✔ Esc returns authenticated OAuth to refreshed providers (failed) (89.323396ms) -2026-09-27T05:33:42.8781770Z ✔ Esc returns authenticated OAuth to refreshed providers (models) (119.386693ms) -2026-09-27T05:33:42.8782735Z ✔ retries model discovery after OAuth without signing in again (22.65816ms) -2026-09-27T05:33:42.8783713Z ✔ verify failure re-arms the key prompt so the key can be retried (36.674076ms) -2026-09-27T05:33:42.8784950Z ✔ localizes a save rejection without displaying Host text (30.579163ms) -2026-09-27T05:33:42.8786044Z ✔ threads the selected same-provider account identity through verify and save (25.728052ms) -2026-09-27T05:33:42.8787182Z ✔ an armed key prompt routes a slash command instead of swallowing it as the key (30.09162ms) -2026-09-27T05:33:42.8788318Z ✔ /setup without an onboarding surface reports unavailable in-frame instead of throwing (23.298275ms) -2026-09-27T05:33:42.8789475Z ✔ /setup reports a listProviders failure as an error instead of "no providers" (6.818444ms) -2026-09-27T05:33:42.8790580Z ✔ wizard ignores a verify result from an abandoned attempt (44.878745ms) -2026-09-27T05:33:42.8791612Z ✔ an abandoned create save keeps its committed identity for retry (50.32821ms) -2026-09-27T05:33:42.8792498Z ✔ a late save cannot rebind a reselected create row (64.011703ms) -2026-09-27T05:33:42.8793544Z ✔ wizard collects a base URL for a custom relay and threads it through verify and save (57.548574ms) -2026-09-27T05:33:42.8794864Z ✔ a late abandoned save cannot replace the running model choices (29.618667ms) -2026-09-27T05:33:42.8796071Z ✔ first-run wizard never reaches an agent turn after a slash command escapes the key field (49.017805ms) -2026-09-27T05:33:42.8797198Z ✔ first-run closes after a durable save even when catalog refresh fails (23.721177ms) -2026-09-27T05:33:42.8798205Z ✔ wizard moves focus from Name to Slug and submits the edited identity (101.010833ms) -2026-09-27T05:33:42.8799278Z ✔ accepting the identity defaults sends a bare create target any Host vintage takes (27.300797ms) -2026-09-27T05:33:42.8800358Z ✔ a slug_taken rejection bounces the wizard back to the identity step (40.673099ms) -2026-09-27T05:33:42.8801453Z ✔ freezes and preserves the editor draft while a boundary request owns input (27.127417ms) -2026-09-27T05:33:42.8805796Z ✔ ignores repeated allow keys while a sandbox boundary request waits (8.243397ms) -2026-09-27T05:33:42.8807093Z ✔ denies a pending sandbox boundary request from the terminal (8.019637ms) -2026-09-27T05:33:42.8808156Z ✔ waits for boundary acknowledgement before advancing concurrent requests (18.557761ms) -2026-09-27T05:33:42.8809302Z ✔ answers sequential questions inline with a choice, Escape, and type-to-jump Other (38.410933ms) -2026-09-27T05:33:42.8813565Z ✔ keeps the transcript tail visible above a long pending question across resizes (107.331031ms) -2026-09-27T05:33:42.8815109Z ✔ a question prompt opened on a short terminal keeps its input row after the terminal grows (#4610) (29.675548ms) -2026-09-27T05:33:42.8823176Z ✔ Ctrl-C stops a turn while a user-question prompt is open (21.448459ms) -2026-09-27T05:33:42.8824609Z ✔ reviews and answers a Host-owned form without losing typed or optional values (15.834661ms) -2026-09-27T05:33:42.8825703Z ✔ keeps form cancel distinct from global Turn stop (20.183468ms) -2026-09-27T05:33:42.8826983Z ✔ closes a stale form when reconnect replaces the authoritative transcript (24.026658ms) -2026-09-27T05:33:42.8828707Z ✔ restores a still-pending form draft after reconnect replay (41.91948ms) -2026-09-27T05:33:42.8829676Z ✔ off-screen shell-run settle never clears scrollback (#1135) (20.528986ms) -2026-09-27T05:33:42.8830720Z ✔ streaming text past the viewport keeps appending visible content (#1135) (9.886472ms) -2026-09-27T05:33:42.8831791Z ✔ renders a background ShellRun terminal update after the agent turn ends (26.239188ms) -2026-09-27T05:33:42.8832929Z ✔ keeps the detailed reader open on key release and preserves the draft on close (72.905286ms) -2026-09-27T05:33:42.8834097Z ✔ hides the reader for a pending question and reopens it without losing the draft (60.698656ms) -2026-09-27T05:33:42.8859225Z ✔ a confirmed second Ctrl+T collapses a head-scrolled block with one full redraw (#4011) (44.912671ms) -2026-09-27T05:33:42.8862046Z ✔ an expired Ctrl+T confirmation re-offers collapse instead of reversing it (#4011) (68.234071ms) -2026-09-27T05:33:42.8863168Z ✔ does not treat a kitty Escape press+release as a double Escape (18.145196ms) -2026-09-27T05:33:42.8864612Z ✔ waits to drain a visible turn until shared session activity releases (10.845475ms) -2026-09-27T05:33:42.8865706Z ✔ reserves first-session activity before its prepared event stream starts (2.063077ms) -2026-09-27T05:33:42.8866792Z ✔ does not start a visible turn after closing while it waits for shared activity (11.055922ms) -2026-09-27T05:33:42.8867940Z ✔ flows a transcript taller than the viewport into scrollback, untruncated and un-paged (7.513067ms) -2026-09-27T05:33:42.8868957Z ✔ browses a long transcript without depending on terminal scrollback (81.208486ms) -2026-09-27T05:33:42.8870035Z ✔ resets the cached reader after successful /new with non-persisted session ids (76.915467ms) -2026-09-27T05:33:42.8871000Z ✔ does not reset the cached reader when /new fails (69.908111ms) -2026-09-27T05:33:42.8871861Z ✔ opens the read-only /mcp status on an idle local TUI (25.735968ms) -2026-09-27T05:33:42.8872770Z ✔ /mcp previews pasted JSON and completes guided setup in-frame (65.461495ms) -2026-09-27T05:33:42.8873833Z ✔ /mcp ignores a late action result after the user cancels its busy view (16.149754ms) -2026-09-27T05:33:42.8874959Z ✔ clears an unsent draft on Ctrl-C without closing Maka (32.898391ms) -2026-09-27T05:33:42.8877570Z ✔ requires a second idle Ctrl-C to exit Maka (10.33811ms) -2026-09-27T05:33:42.8878483Z ✔ does not count a Kitty Ctrl-C repeat as the second press (7.308801ms) -2026-09-27T05:33:42.8879383Z ✔ keeps Maka open when Ctrl-D is pressed during a turn (16.535138ms) -2026-09-27T05:33:42.8880451Z ✔ Enter during a turn steers the running turn and shows a pending Steering line (21.346538ms) -2026-09-27T05:33:42.8881596Z ✔ removes an idle transient message after a definite Host rejection (7.426066ms) -2026-09-27T05:33:42.8882625Z ✔ keeps an admitted message when a Host-started turn attaches from a sparse tail (17.015422ms) -2026-09-27T05:33:42.8883651Z ✔ shows unavailable rather than empty when a driver lacks Todo queries (7.509819ms) -2026-09-27T05:33:42.8885002Z ✔ refreshes Todo on domain invalidation and clears the old session after /new (32.007613ms) -2026-09-27T05:33:42.8886348Z ✔ opens current Todo during a turn without steering and returns Escape to the composer (28.449433ms) -2026-09-27T05:33:42.8887560Z ✔ opens /transcript during a running turn instead of steering it (17.664984ms) -2026-09-27T05:33:42.8888454Z ✔ refuses /mcp during a running turn instead of steering it (20.66897ms) -2026-09-27T05:33:42.8889486Z ✔ quit during a running turn detaches without steering or stopping Host-owned work (8.235508ms) -2026-09-27T05:33:42.8890639Z ✔ Alt+Enter during a turn queues a followup and shows a pending Queued line (19.962586ms) -2026-09-27T05:33:42.8891508Z ✔ Alt+Up takes the queued messages back into the editor (30.001469ms) -2026-09-27T05:33:42.8892851Z ✔ Alt+Up removes the exact transient rows without a subscription retraction event (43.676577ms) -2026-09-27T05:33:42.8900601Z ✔ Alt+Up in the enqueue tick retracts from the authority, not the lagging mirror (23.119101ms) -2026-09-27T05:33:42.8907164Z ✔ double-Escape interrupt refills the editor with the cleared queue (31.391235ms) -2026-09-27T05:33:42.8908412Z ✔ interrupt refills only messages still queued, not steering already consumed (44.541721ms) -2026-09-27T05:33:42.8909486Z ✔ Alt+Enter during a control action keeps the draft in the editor (30.02379ms) -2026-09-27T05:33:42.8910454Z ✔ a second Enter during Host admission submits another Message (24.174096ms) -2026-09-27T05:33:42.8911626Z ✔ input during the interrupt convergence window stays in the editor and opens no turn (21.630079ms) -2026-09-27T05:33:42.8912710Z ✔ exits on the second Ctrl-C during a control command (18.608003ms) -2026-09-27T05:33:42.8913788Z ✔ requires the same second confirmation for typed /permissions bypass (7.095715ms) -2026-09-27T05:33:42.8915101Z ✔ rejects Swarm commands during a running turn instead of steering them (17.885183ms) -2026-09-27T05:33:42.8916209Z ✔ cancelling a one-shot Swarm turn leaves the persistent mode off (20.311377ms) -2026-09-27T05:33:42.8917161Z ✔ removes a one-shot Swarm transient when turn admission fails (9.421406ms) -2026-09-27T05:33:42.8918107Z ✔ inspects a historical Agent Graph run without starting a turn (13.944555ms) -2026-09-27T05:33:42.8919076Z ✔ does not render a historical Agent Graph snapshot after shutdown (8.36032ms) -2026-09-27T05:33:42.8920145Z ✔ rejects unsupported /thinking levels with usage instead of sending an update (8.680659ms) -2026-09-27T05:33:42.8921229Z ✔ localizes generic model and thinking picker hints in Chinese (17.956064ms) -2026-09-27T05:33:42.8922308Z ✔ resumes a read-only session as Read only, and never marks Auto as current (26.978041ms) -2026-09-27T05:33:42.8923372Z ✔ switches connection and model together from a cross-connection /model (27.810041ms) -2026-09-27T05:33:42.8924696Z ✔ cross-connection /model search matches by every required criterion (117.146254ms) -2026-09-27T05:33:42.8943311Z ✔ switches models in a fresh conversation without a cache warning (13.741882ms) -2026-09-27T05:33:42.8944573Z ✔ names both connections when the model id stays the same (11.553064ms) -2026-09-27T05:33:42.8945584Z ✔ disambiguates same-name onboarded accounts and selects the exact slug (19.628011ms) -2026-09-27T05:33:42.8946832Z ✔ disambiguates a connection name that collides with another fallback slug (0.303755ms) -2026-09-27T05:33:42.8950742Z ✔ keeps final account labels globally unique after formatting collisions (0.203215ms) -2026-09-27T05:33:42.8951801Z ✔ ignores a delayed title refresh after switching sessions (8.288429ms) -2026-09-27T05:33:42.8952753Z ✔ ignores a delayed title refresh after a manual rename (7.596508ms) -2026-09-27T05:33:42.8953786Z ✔ nests linked child sessions in the picker and allows opening one directly (14.670941ms) -2026-09-27T05:33:42.8955050Z ✔ searches sessions and preserves the query across Current/All scope (42.027542ms) -2026-09-27T05:33:42.8956136Z ✔ shows localized live status badges in the Session picker (28.908952ms) -2026-09-27T05:33:42.8957155Z ✔ imports a Host external session and opens it without starting a turn (36.291884ms) -2026-09-27T05:33:42.8958214Z ✔ opens the latest imported task without importing another copy (46.583027ms) -2026-09-27T05:33:42.8959197Z ✔ reports the catalog task id when opening the latest import fails (34.341939ms) -2026-09-27T05:33:42.8960358Z ✔ explains stable external import failures instead of collapsing them (38.577557ms) -2026-09-27T05:33:42.8961557Z ✔ takes external catalog scope from its surface, not the Session driver (11.565772ms) -2026-09-27T05:33:42.8962979Z ✔ allows another import after an unknown outcome without claiming a catalog copy (45.162131ms) -2026-09-27T05:33:42.8964205Z ✔ fails closed when an external import response cannot be decoded (22.997426ms) -2026-09-27T05:33:42.8965811Z ✔ does not submit an external source the Host reports as already importing (18.432945ms) -2026-09-27T05:33:42.8966990Z ✔ opens an existing task while the Host imports another copy of its source (31.395103ms) -2026-09-27T05:33:42.8968042Z ✔ loads the next Host external catalog page without replacing earlier rows (20.306812ms) -2026-09-27T05:33:42.8969133Z ✔ coalesces external catalog search while retiring stale responses immediately (255.750254ms) -2026-09-27T05:33:42.8975826Z ✔ cancels external catalog search timers during runner shutdown (168.62849ms) -2026-09-27T05:33:42.8976928Z ✔ reports the durable Session id when import succeeds but opening fails (23.183546ms) -2026-09-27T05:33:42.8978049Z ✔ does not report an open failure when only old side-session cleanup fails (36.833179ms) -2026-09-27T05:33:42.8979108Z ✔ keeps Maka sessions usable when Host external source discovery fails (13.424331ms) -2026-09-27T05:33:42.8980113Z ✔ restores switched session state from stored messages (8.47854ms) -2026-09-27T05:33:42.8981116Z ✔ ctx segment refreshes mid-turn from the live context snapshot (#4545) (34.741977ms) -2026-09-27T05:33:42.8982224Z ✔ ctx refresh leaves the last value standing when the snapshot read fails (#4545) (15.077671ms) -2026-09-27T05:33:42.8983255Z ✔ hydrates a resumed background Bash card from durable shell-run state (5.87721ms) -2026-09-27T05:33:42.8984239Z ✔ announces a live settle that arrives after hydration completes (25.83859ms) -2026-09-27T05:33:42.8985644Z ✔ shows every connection in Current while hiding other cwd sessions (9.860045ms) -2026-09-27T05:33:42.8986667Z ✔ adopts a resumed cwd and remembers the All scope for the TUI process (43.306064ms) -2026-09-27T05:33:42.8987761Z ✔ close rejects pending observation IPC instead of silently cancelling (0.622817ms) -2026-09-27T05:33:42.8988788Z ✔ keeps live status visible for a session without a cwd but prevents resuming it (39.220783ms) -2026-09-27T05:33:42.9020274Z ✔ /new cancels hydration retries owned by the previous session (326.800578ms) -2026-09-27T05:33:42.9021423Z ✔ serializes a control command with prompts and shared session activity (26.614238ms) -2026-09-27T05:33:42.9022485Z ✔ keeps the sandbox boundary prompt visible when responding rejects (11.423075ms) -2026-09-27T05:33:42.9023423Z ✔ blocks prompts while the session list is loading (26.694151ms) -2026-09-27T05:33:42.9024259Z ✔ interrupts the running turn on double Escape (26.169013ms) -2026-09-27T05:33:42.9025336Z ✔ opens a rewind picker from /rewind and branches on select (12.094345ms) -2026-09-27T05:33:42.9026302Z ✔ shows an in-progress notice while the rewind branch is being created (39.69684ms) -2026-09-27T05:33:42.9027408Z ✔ keeps a draft typed while the rewind is in flight instead of overwriting it (45.514859ms) -2026-09-27T05:33:42.9028536Z ✔ lets a bracketed paste still being buffered win over the prompt refill (31.238774ms) -2026-09-27T05:33:42.9029510Z ✔ refuses a rewind selection with a notice when another action claimed busy (18.444368ms) -2026-09-27T05:33:42.9030486Z ✔ marks an inherited running Bash card detached after rewind (281.804147ms) -2026-09-27T05:33:42.9031507Z ✔ rehydrates after buffer overflow instead of losing an evicted terminal update (29.830874ms) -2026-09-27T05:33:42.9032581Z ✔ idle double Escape opens the rewind picker; a single Escape does not (34.971283ms) -2026-09-27T05:33:42.9033563Z ✔ does not open the rewind picker while the editor has a draft (20.579799ms) -2026-09-27T05:33:42.9034656Z ✔ a non-Escape key between two Escapes does not open the rewind picker (14.733202ms) -2026-09-27T05:33:42.9035643Z ✔ interrupts at most once while the stop is still settling (20.309514ms) -2026-09-27T05:33:42.9036489Z ✔ stops the running turn on Ctrl-C without closing Maka (13.817038ms) -2026-09-27T05:33:42.9037406Z ✔ exits on a second Ctrl-C while a turn interrupt is still in flight (13.171207ms) -2026-09-27T05:33:42.9041582Z ✔ keeps Escape as deny while a sandbox boundary prompt is pending (6.112812ms) -2026-09-27T05:33:42.9078753Z ✔ clears the sandbox boundary prompt when the turn errors (24.20866ms) -2026-09-27T05:33:42.9080214Z ✔ enables focus reporting only after raw mode, so no stray ^[[I leaks on launch (0.87574ms) -2026-09-27T05:33:42.9081523Z ✔ delegates explicit Skill invocation to the Host while showing the typed prompt (13.10514ms) -2026-09-27T05:33:42.9082694Z ✔ shows partial Skill feedback when the Host queues the Message (10.678323ms) -2026-09-27T05:33:42.9083674Z ✔ localizes runner notices in Chinese mode (12.957269ms) -2026-09-27T05:33:42.9084867Z ✔ does not create a turn when every skill token fails to resolve (5.894414ms) -2026-09-27T05:33:42.9086094Z ✔ does not create a turn when distinct skill requests exceed the preparation limit (7.814323ms) -2026-09-27T05:33:42.9088536Z ▶ /recap command -2026-09-27T05:33:42.9094016Z ✔ an idle-triggered recap is discarded when a later prompt supersedes it before it resolves (11.971963ms) -2026-09-27T05:33:42.9095776Z ✔ two /recap commands submitted back-to-back with no await between them only start one generate() call (26.16527ms) -2026-09-27T05:33:42.9097197Z ✔ a recap result is discarded when the active session switches away while generate() is in flight (13.399016ms) -2026-09-27T05:33:42.9101381Z ✔ a slash command submitted on the way back from idle does not consume the idle gap for the next real prompt (17.72885ms) -2026-09-27T05:33:42.9102466Z ✔ /recap command (69.908628ms) -2026-09-27T05:33:42.9103125Z ▶ slash commands during a running turn -2026-09-27T05:33:42.9103992Z ✔ /recap answers locally instead of steering into the model (19.670234ms) -2026-09-27T05:33:42.9105329Z ✔ /resume refuses with a clear message instead of steering into the model (18.463446ms) -2026-09-27T05:33:42.9106437Z ✔ /resume parked by the host is informational, not a red error (25.731725ms) -2026-09-27T05:33:42.9107511Z ✔ /resume with no interrupted run explains there is nothing to resume (26.228784ms) -2026-09-27T05:33:42.9108519Z ✔ /resume keeps genuine parked recovery failures red (28.611619ms) -2026-09-27T05:33:42.9109471Z ✔ /resume keeps continuation_authority_unavailable red (27.881275ms) -2026-09-27T05:33:42.9115601Z ✔ /resume keeps safety_observation_unavailable red (25.940778ms) -2026-09-27T05:33:42.9116692Z ✔ /model refuses instead of opening the picker behind the running turn (22.271547ms) -2026-09-27T05:33:42.9117822Z ✔ /session mid-turn detaches from the running Turn instead of refusing (27.257014ms) -2026-09-27T05:33:42.9120554Z ✔ /session mid-turn opens the picker and Escape closes it without arming an interrupt (79.242225ms) -2026-09-27T05:33:42.9121625Z ✔ a failed mid-turn /session leaves the running Turn fully live (31.682621ms) -2026-09-27T05:33:42.9122687Z ✔ a second mid-turn /session while a detach is in flight is ignored (23.79498ms) -2026-09-27T05:33:42.9123718Z ✔ a Turn that attaches after a mid-turn detach does not adopt abandoned metadata (34.412864ms) -2026-09-27T05:33:42.9124948Z ✔ unknown slash-prefixed text still steers into the running turn (20.501147ms) -2026-09-27T05:33:42.9125863Z ✔ slash commands during a running turn (412.997257ms) -2026-09-27T05:33:42.9126504Z ▶ /goal command -2026-09-27T05:33:42.9127314Z ✔ /goal prints the live goal summary and the status line carries the indicator (30.762693ms) -2026-09-27T05:33:42.9128463Z ✔ /goal during a running turn answers locally instead of steering into the model (19.011636ms) -2026-09-27T05:33:42.9129675Z ✔ /goal pause during a running turn refuses with a clear message instead of steering (24.860094ms) -2026-09-27T05:33:42.9130769Z ✔ /goal pause|resume|clear control the loop and print confirmations (27.403884ms) -2026-09-27T05:33:42.9131782Z ✔ a host-pushed pause announces itself with resume/clear guidance (22.883259ms) -2026-09-27T05:33:42.9132875Z ✔ a settled /goal pause does not suppress a later host-initiated pause notice (31.878982ms) -2026-09-27T05:33:42.9138384Z ✔ resuming into a session with a live goal announces the auto-continuing loop (5.95109ms) -2026-09-27T05:33:42.9139811Z ✔ /goal control pre-validates impossible transitions (43.530527ms) -2026-09-27T05:33:42.9143217Z ✔ /goal with no goal armed says so, and a bad subcommand shows usage (20.282243ms) -2026-09-27T05:33:42.9144038Z ✔ /goal command (227.476035ms) -2026-09-27T05:33:42.9145075Z ✔ "quit now" and "请 exit" are sent as ordinary prompts, not the exit word (1.373947ms) -2026-09-27T05:33:42.9146044Z ✔ /side submits in a temporary Session and one empty Ctrl-C closes it (38.664669ms) -2026-09-27T05:33:42.9147031Z ✔ /side detaches from a running parent Turn without stopping it (16.027999ms) -2026-09-27T05:33:42.9148082Z ✔ one empty Ctrl-C interrupts and closes a running side conversation (6.304279ms) -2026-09-27T05:33:42.9149038Z ✔ preserves legacy editor undo before a side conversation exists (14.809217ms) -2026-09-27T05:33:42.9150042Z ✔ Ctrl+/ toggles side views, preserves drafts, and projects parent status in English (30.169015ms) -2026-09-27T05:33:42.9151125Z ✔ closing an empty side conversation restores the retained parent draft (32.492481ms) -2026-09-27T05:33:42.9152171Z ✔ does not report main closed when the parent observer cannot open (7.017097ms) -2026-09-27T05:33:42.9153119Z ✔ Ctrl+/ detaches from a running side Turn without stopping it (1.278838ms) -2026-09-27T05:33:42.9154074Z ✔ /session outside the pair discards its retained side conversation (20.255143ms) -2026-09-27T05:33:42.9155201Z ✔ relocates a moved session before resuming it at startup (8.322319ms) -2026-09-27T05:33:42.9156046Z ✔ tells a legacy Session exactly how to choose an account (7.947959ms) -2026-09-27T05:33:42.9157063Z ✔ reports a deleted original account and recovers only through an exact model pick (20.710027ms) -2026-09-27T05:33:42.9158141Z ✔ refreshes connection identities after setup before adopting the new model (87.4919ms) -2026-09-27T05:33:42.9177010Z ✔ resumes an active Host turn from its atomic transcript and continues live output (9.074073ms) -2026-09-27T05:33:42.9178335Z ✔ adopts a Host-started successor after the visible turn reaches its boundary (34.425995ms) -2026-09-27T05:33:42.9179503Z ✔ reports a resume failure and continues with the fresh session (8.010679ms) -2026-09-27T05:33:42.9180594Z ✔ exits when the selected execution location cannot safely start fresh (0.785655ms) -2026-09-27T05:33:42.9184881Z ✔ /copy writes the last reply to the clipboard via OSC 52 (19.172917ms) -2026-09-27T05:33:42.9190706Z ✔ /copy all writes the whole conversation with role labels via OSC 52 (14.904286ms) -2026-09-27T05:33:42.9191835Z ✔ /copy is refused mid-turn instead of copying the half-written reply (20.056756ms) -2026-09-27T05:33:42.9192713Z ✔ Maka Pi TUI runner (14660.95387ms) -2026-09-27T05:33:42.9193783Z ✔ current Todo reserves one chrome row and yields to the minimum composer on short screens (9.581676ms) -2026-09-27T05:33:42.9195210Z ✔ CurrentTodoStore distinguishes loading, empty, ready, and failure (4.88219ms) -2026-09-27T05:33:42.9196421Z ✔ CurrentTodoStore exposes one current session and invalidates on dispose (0.413303ms) -2026-09-27T05:33:42.9197591Z ✔ CurrentTodoStore starts the new session while an old refresh is pending (4.246268ms) -2026-09-27T05:33:42.9198761Z ✔ refresh bursts coalesce without clearing the visible current list (0.476406ms) -2026-09-27T05:33:42.9199734Z ✔ renders a bounded indicator and hides empty state (7.562947ms) -2026-09-27T05:33:42.9200667Z ✔ CurrentTodoStore does not coalesce across A -> undefined -> A (2.252351ms) -2026-09-27T05:33:42.9201739Z ✔ TodoOverlay renders status symbols, failure, and scrolls safely (80.842971ms) -2026-09-27T05:33:42.9202937Z ✔ TodoOverlay permits Kitty scrolling repeats but ignores closing repeats and releases (8.6759ms) -2026-09-27T05:33:42.9211543Z ✔ TodoOverlay wraps grapheme-safe content and supports Home/End (10.757619ms) -2026-09-27T05:33:42.9215077Z ✔ error state renders unavailable instead of exposing query errors (0.656199ms) -2026-09-27T05:33:42.9215867Z ▶ TranscriptViewerOverlay -2026-09-27T05:33:42.9217068Z ✔ opens at the tail and supports line, page, and boundary navigation (10.628345ms) -2026-09-27T05:33:42.9218120Z ✔ follows appended output only while positioned at the end (1.239482ms) -2026-09-27T05:33:42.9241620Z ✔ keeps following after a no-op upward scroll on a short transcript (0.687097ms) -2026-09-27T05:33:42.9265738Z ✔ does not re-enable following merely because resizing reaches the tail (0.635378ms) -2026-09-27T05:33:42.9278671Z ✔ closes with q or Escape (0.230305ms) -2026-09-27T05:33:42.9279655Z ✔ prioritizes content and keeps a valid range in tiny viewports (0.760511ms) -2026-09-27T05:33:42.9280628Z ✔ renders through a detached geometry projection (1.423496ms) -2026-09-27T05:33:42.9281596Z ✔ keeps the same entry when earlier details collapse and new text arrives (0.917925ms) -2026-09-27T05:33:42.9282774Z ✔ search locates Chinese text without filtering the document and Escape restores reading (8.146228ms) -2026-09-27T05:33:42.9283884Z ✔ focuses the search input and emits the hardware cursor marker (0.70673ms) -2026-09-27T05:33:42.9285197Z ✔ expanding document tools and thinking never changes the live entries (0.672967ms) -2026-09-27T05:33:42.9286162Z ✔ does not replace the frozen live-scrollback render cache (34.889232ms) -2026-09-27T05:33:42.9286927Z ✔ TranscriptViewerOverlay (63.239764ms) -2026-09-27T05:33:42.9287492Z ▶ Maka Pi TUI turn -2026-09-27T05:33:42.9288091Z ✔ drains an attached turn under one Session activity lease (5.6637ms) -2026-09-27T05:33:42.9288939Z ✔ projects an EOF without a terminal event exactly once (0.482897ms) -2026-09-27T05:33:42.9289780Z ✔ releases the Session activity when the attached stream fails (2.788594ms) -2026-09-27T05:33:42.9290556Z ✔ Maka Pi TUI turn (11.489897ms) -2026-09-27T05:33:42.9291502Z ✔ Other preserves its wrapped draft and cursor position across focus changes (34.531159ms) -2026-09-27T05:33:42.9292688Z ✔ a short question viewport keeps the answer cursor visible without losing the draft (3.940267ms) -2026-09-27T05:33:42.9293831Z ✔ long options wrap within the row width instead of truncating (#4610) (5.339339ms) -2026-09-27T05:33:42.9295180Z ✔ continuation lines align under the option body, only the first carries the marker (0.665916ms) -2026-09-27T05:33:42.9299584Z ✔ the active row highlights every wrapped line and keeps the arrow marker (0.420666ms) -2026-09-27T05:33:42.9300674Z ✔ the dim description style re-opens on every wrapped line (0.262891ms) -2026-09-27T05:33:42.9301795Z ✔ over-budget rows clamp with a visible ellipsis and stay within width (4.352557ms) -2026-09-27T05:33:42.9302966Z ✔ short options stay on one row; options without a description render the label only (0.335321ms) -2026-09-27T05:33:42.9304110Z ✔ degenerate widths still emit one padded row per wrapped segment (1.052791ms) -2026-09-27T05:33:42.9305538Z ✔ render() respects the row budget: every option, input row, and divider survive (12.323472ms) -2026-09-27T05:33:42.9306650Z ✔ render() without a budget renders every wrapped line (0.804729ms) -2026-09-27T05:33:42.9307366Z ▶ maka run argument parsing -2026-09-27T05:33:42.9308223Z ✔ recognizes stdin prompt mode and rejects malformed limits (20.669227ms) -2026-09-27T05:33:42.9309537Z ✔ accepts only the explicit non-interactive sandbox bypass flag (0.325934ms) -2026-09-27T05:33:42.9310602Z ✔ parses resume and continue session selectors and rejects combining them (4.34284ms) -2026-09-27T05:33:42.9311649Z ✔ accepts a remote Host Project and rejects client cwd semantics (2.375581ms) -2026-09-27T05:33:42.9312567Z ✔ forwards --max-steps to local and Graph turn inputs (37.248627ms) -2026-09-27T05:33:42.9313364Z ✔ maka run argument parsing (66.957693ms) -2026-09-27T05:33:42.9313972Z ▶ maka run process contract -2026-09-27T05:33:42.9314843Z ✔ uses stdin as the complete prompt for run - (271.742418ms) -2026-09-27T05:33:42.9315830Z ✔ uses non-TTY stdin as the prompt when no positional prompt is provided (235.361906ms) -2026-09-27T05:33:42.9316862Z ✔ combines a positional instruction with piped stdin context (191.225013ms) -2026-09-27T05:33:42.9318412Z ✔ fails closed when a sandbox boundary request reaches non-interactive run (231.481389ms) -2026-09-27T05:33:42.9319301Z ✔ returns exit 130 on SIGINT (380.98617ms) -2026-09-27T05:33:42.9320301Z ✔ returns exit 130 when SIGINT interrupts Graph completion wait (262.558701ms) -2026-09-27T05:33:42.9321167Z ✔ maka run process contract (1574.709089ms) -2026-09-27T05:33:42.9321832Z ▶ maka run session selection -2026-09-27T05:33:42.9322619Z ✔ new runs canonicalize the explicit cwd or process cwd (5.196351ms) -2026-09-27T05:33:42.9323694Z ✔ resume uses the stored canonical cwd and ignores implicit process cwd (4.048449ms) -2026-09-27T05:33:42.9325001Z ✔ resume accepts a canonically equal explicit cwd and rejects a conflict (2.528417ms) -2026-09-27T05:33:42.9326425Z ✔ resume accepts Auto sessions and rejects missing cwd, unsupported backend, and explicit config conflicts (3.533118ms) -2026-09-27T05:33:42.9348487Z ✔ continue selects by lastMessageAt descending then id ascending after cwd filtering (24.366585ms) -2026-09-27T05:33:42.9351864Z ✔ continue skips linked child sessions while explicit resume still accepts them (0.437108ms) -2026-09-27T05:33:42.9353155Z ✔ continue returns a preflight failure when no cwd-compatible session exists (0.396742ms) -2026-09-27T05:33:42.9354134Z ✔ maka run session selection (49.818335ms) -2026-09-27T05:33:42.9355457Z ✔ TUI MCP control keeps its capability provider on the pure import boundary (16.453466ms) -2026-09-27T05:33:42.9356849Z ✔ provider readiness reports a failed MCP server with its sanitized diagnostic (30.894364ms) -2026-09-27T05:33:42.9358045Z ✔ provider readiness sanitizes failed MCP server ids into one line (5.46617ms) -2026-09-27T05:33:42.9359192Z ✔ MCP capability publication freezes an accepted callable tool snapshot (9.522452ms) -2026-09-27T05:33:42.9360285Z ✔ MCP capability publication forwards admitted tool progress (0.980946ms) -2026-09-27T05:33:42.9361361Z ✔ MCP capability publication packs tools across server boundaries (7.766327ms) -2026-09-27T05:33:42.9362477Z ✔ CLI Runtime Host bootstrap launches the execution composition (42.836673ms) -2026-09-27T05:33:42.9363624Z ✔ connection-only CLI bootstrap does not read the model connection catalog (41.201925ms) -2026-09-27T05:33:42.9364994Z ✔ npx CLI preserves an existing Host and guards only npx candidate launches (0.92511ms) -2026-09-27T05:33:42.9366268Z ✔ ordinary CLI preserves an existing Host and guards only npx candidate launches (0.397235ms) -2026-09-27T05:33:42.9367461Z ✔ CLI refuses a staged Host whose durable installation claim is missing (20.577027ms) -2026-09-27T05:33:42.9368648Z ✔ CLI Runtime Host bootstrap aborts a stalled catalog read and closes its connection (9.306038ms) -2026-09-27T05:33:42.9369872Z ✔ CLI Runtime Host bootstrap closes an initial connection acquired after abort (4.964394ms) -2026-09-27T05:33:42.9371020Z ✔ non-interactive CLI reports how to retire an incompatible Runtime Host (11.205866ms) -2026-09-27T05:33:42.9379317Z ✔ CLI explains a service Host without inventing resident work (4.199732ms) -2026-09-27T05:33:42.9380370Z ✔ CLI reports an actionable stored-data startup failure (5.59049ms) -2026-09-27T05:33:42.9381434Z ✔ remote CLI profiles pin root identity and resolve credential outside the profile (1.210574ms) -2026-09-27T05:33:42.9382922Z ✔ remote CLI profile state and Client identity use the explicit Client Data Root (29.268862ms) -2026-09-27T05:33:42.9384087Z ✔ remote CLI enables SSH prompts only for an explicitly interactive TTY (4.679533ms) -2026-09-27T05:33:42.9385291Z ✔ remote profiles preserve shared compatibility errors (7.668129ms) -2026-09-27T05:33:42.9386417Z ✔ local CLI delegates a managed cold start once and reconnects without a launch claim (9.617936ms) -2026-09-27T05:33:42.9387651Z ✔ local CLI does not loop if operator activation fails to make the Host available (8.091566ms) -2026-09-27T05:33:42.9388835Z ✔ local CLI propagates operator failure without attempting unmanaged recovery (4.873928ms) -2026-09-27T05:33:42.9389938Z ✔ activated managed Host incompatibility stays operator-owned (5.774241ms) -2026-09-27T05:33:42.9391184Z ✔ source CLI observed-process recovery requires explicit interruption: cancel (1.341875ms) -2026-09-27T05:33:42.9392372Z ✔ source CLI observed-process recovery requires explicit interruption: interrupt (5.235277ms) -2026-09-27T05:33:42.9397090Z ✔ source CLI observed-process recovery requires explicit interruption: retry (0.47434ms) -2026-09-27T05:33:42.9398175Z ✔ CLI never offers unowned process recovery for managed (0.540159ms) -2026-09-27T05:33:42.9399103Z ✔ CLI never offers unowned process recovery for owner (0.411197ms) -2026-09-27T05:33:42.9400039Z ✔ CLI never offers unowned process recovery for temporary (6.42742ms) -2026-09-27T05:33:42.9400965Z ✔ CLI never offers unowned process recovery for identity (0.362655ms) -2026-09-27T05:33:42.9401932Z ✔ CLI rechecks managed authority after interruption consent (0.929068ms) -2026-09-27T05:33:42.9402896Z ✔ CLI rechecks owner authority after interruption consent (0.61193ms) -2026-09-27T05:33:42.9403929Z ✔ keeps one owner across release changes in the same npm global slot (68.22797ms) -2026-09-27T05:33:42.9405139Z ✔ uses distinct owners for distinct active npm global roots (30.365676ms) -2026-09-27T05:33:42.9406127Z ✔ rejects a package outside the active npm global root (23.08625ms) -2026-09-27T05:33:42.9407143Z ✔ rejects development and npx packages before treating them as owners (26.289649ms) -2026-09-27T05:33:42.9408311Z ✔ recognizes configured and default npx cache roots without prefix collisions (19.944084ms) -2026-09-27T05:33:42.9409578Z ✔ recognizes Windows npm cache provenance without classifying an unrelated installation (10.159777ms) -2026-09-27T05:33:42.9410864Z ✔ rejects non-UTF-8 package metadata instead of normalizing an owner observation (17.874907ms) -2026-09-27T05:33:42.9412097Z ✔ handoff explains the blocker before prompting and clears stale consent on redraw (16.410309ms) -2026-09-27T05:33:42.9413067Z ✔ handoff honors en before the TUI starts (1.139204ms) -2026-09-27T05:33:42.9413713Z ✔ handoff honors zh-CN before the TUI starts (0.580408ms) -2026-09-27T05:33:42.9414640Z ✔ handoff honors zh-TW before the TUI starts (0.551497ms) -2026-09-27T05:33:42.9415792Z ✔ handoff keeps cancellation live during progress and disposes input without submitting (1.131145ms) -2026-09-27T05:33:42.9417037Z ✔ accepts Ready evidence only from the exact target generation and process (2.409019ms) -2026-09-27T05:33:42.9418196Z ✔ reports active work and operator-owned lifecycle without forcing takeover (0.533341ms) -2026-09-27T05:33:42.9419408Z ✔ keeps the short-lived activator through the coordinator durable-commit boundary (1.536833ms) -2026-09-27T05:33:42.9420705Z ✔ fails closed through the authenticated connection when its coordinator channel is absent (1.35035ms) -2026-09-27T05:33:42.9422138Z ✔ durable committed ownership releases the launch barrier after an ambiguous record read (0.716492ms) -2026-09-27T05:33:42.9423329Z ✔ permanent invalid durable ownership fails closed without retrying (0.855823ms) -2026-09-27T05:33:42.9424547Z ✔ persistent durable authority I/O fails closed after its bounded deadline (0.683656ms) -2026-09-27T05:33:42.9428096Z ✔ a readable uncommitted handoff retires the guarded target (0.582239ms) -2026-09-27T05:33:42.9429548Z ✔ launches update coordination from a copy outside the mutable npm-global package (105.449597ms) -2026-09-27T05:33:42.9430790Z ✔ copied update coordinator accepts only a complete observed-source fence (4.881576ms) -2026-09-27T05:33:42.9431883Z ✔ rejects unsupported downgrades before package acquisition (0.749537ms) -2026-09-27T05:33:42.9432837Z The local Runtime Host update requires recovery at prepare_host_cutover. -2026-09-27T05:33:42.9434084Z ✔ TUI update fences host_epoch despite the matching old CLI owner before retirement or install (92.619517ms) -2026-09-27T05:33:42.9495785Z ✔ TUI update fences managed_before_update despite the matching old CLI owner before retirement or install (20.921744ms) -2026-09-27T05:33:42.9515366Z The local Runtime Host update requires recovery at prepare_host_cutover. -2026-09-27T05:33:42.9526089Z ✔ TUI update fences managed_during_cutover despite the matching old CLI owner before retirement or install (53.616559ms) -2026-09-27T05:33:42.9535186Z Updated Maka to 2.0.0. -2026-09-27T05:33:42.9536499Z ✔ retires with the current package, activates with the target, then switches npm before commit (8.606041ms) -2026-09-27T05:33:42.9537370Z Updated Maka to 2.0.0. -2026-09-27T05:33:42.9538365Z ✔ crash-retry observes its own staged target and never retires or re-activates it (6.389567ms) -2026-09-27T05:33:42.9539190Z Updated Maka to 2.0.0. -2026-09-27T05:33:42.9540178Z ✔ crash-retry with the global package already switched skips the second install (1.501296ms) -2026-09-27T05:33:42.9541201Z The local Runtime Host update requires recovery at commit_handoff. -2026-09-27T05:33:42.9542213Z ✔ asks the target activator to adjudicate an uncertain durable commit (8.554129ms) -2026-09-27T05:33:42.9543276Z ✔ rejects extended tar headers before the final global npm switch can spawn (15.906468ms) -2026-09-27T05:33:42.9544562Z ✔ renders the canonical Runtime Host command as a private persistent LaunchAgent (1.691067ms) -2026-09-27T05:33:42.9604823Z ✔ renders managed update reconciliation as a periodic one-shot LaunchAgent (0.416887ms) -2026-09-27T05:33:42.9670590Z ✔ canonical LaunchAgent projection owns persistent enablement (41.236769ms) -2026-09-27T05:33:42.9695589Z ✔ installs and removes the update scheduler with a managed LaunchAgent (140.301959ms) -2026-09-27T05:33:42.9715808Z ✔ maps install, stop, start, restart, and uninstall onto one LaunchAgent service (44.328705ms) -2026-09-27T05:33:42.9745947Z ✔ recognizes and transactionally replaces the exact legacy LaunchAgent definition (75.436635ms) -2026-09-27T05:33:42.9747438Z ✔ restores the previous loaded LaunchAgent when deployment bootstrap fails (80.206216ms) -2026-09-27T05:33:42.9748842Z ✔ operator cancellation covers non-RPC retirement and cannot leak into recovery (97.445849ms) -2026-09-27T05:33:42.9750199Z ✔ control projection repair leaves the running Host supervisor untouched (25.354419ms) -2026-09-27T05:33:42.9751521Z ✔ one authority record recovers provider cutover failures without a journal (479.689747ms) -2026-09-27T05:33:42.9752853Z ✔ replacement reactivates a proven previous authority after a pre-commit failure (196.04516ms) -2026-09-27T05:33:42.9754067Z ✔ failed on-demand candidate activation retains the successor authority (112.166628ms) -2026-09-27T05:33:42.9755500Z ✔ revalidates product invariants after Host retirement and restores the prior lifecycle (60.369059ms) -2026-09-27T05:33:42.9756710Z ✔ interrupted activation compensation completes the previous semantics (84.205227ms) -2026-09-27T05:33:42.9758100Z ✔ does not consume replacement consent after the supervised Host exits (26.43895ms) -2026-09-27T05:33:42.9759511Z ✔ requires explicit interruption authority when a supervised Host drains before diagnostics (33.462735ms) -2026-09-27T05:33:42.9760927Z ✔ requires explicit interruption authority to recover an unreachable supervised transition (126.658932ms) -2026-09-27T05:33:42.9762194Z ✔ readiness waits for a reachable Host to leave the starting state (319.147039ms) -2026-09-27T05:33:42.9763769Z ✔ on-demand source retirement fences identity, preserves active work, and acquires the released root (75.626305ms) -2026-09-27T05:33:42.9774190Z ✔ failed on-demand update activation retains the committed package without reactivating old code (77.920944ms) -2026-09-27T05:33:42.9775974Z ✔ captured update owner is fenced again inside authority after its preliminary read (102.135675ms) -2026-09-27T05:33:42.9801967Z ✔ local CLI deployment roots are stable for one OS account and isolated by owner and root (5.39736ms) -2026-09-27T05:33:42.9828455Z ✔ exact registry evidence becomes a persistent transaction-fenced Host candidate (112.958806ms) -2026-09-27T05:33:42.9864617Z ✔ npm-global handoff stages before the one durable owner transaction (64.513983ms) -2026-09-27T05:33:42.9865844Z ✔ package verification failure leaves deployment authority unchanged (11.019158ms) -2026-09-27T05:33:42.9896046Z ✔ installed release skew is rejected before staging or authority mutation (13.814725ms) -2026-09-27T05:33:42.9926306Z ✔ a changed npm installation invalidates handoff consent before staging or authority mutation (5.287385ms) -2026-09-27T05:33:42.9944977Z ✔ explicit npm-global restart claims an exact staged legacy takeover (109.902219ms) -2026-09-27T05:33:42.9947022Z ✔ legacy restart reports active work without claiming deployment authority (66.615089ms) -2026-09-27T05:33:42.9948680Z ✔ external npm replacement retires through the exact source package and commits the target (110.797079ms) -2026-09-27T05:33:42.9950301Z ✔ external source active work rolls back without launching the target (130.117293ms) -2026-09-27T05:33:42.9951681Z ✔ pre-helper source release keeps the bounded idle-only takeover path (151.560943ms) -2026-09-27T05:33:42.9952860Z ✔ source helper failure preserves the durable handoff for recovery (195.527166ms) -2026-09-27T05:33:42.9954005Z ✔ local restart fences host_epoch despite a matching old CLI owner (103.356873ms) -2026-09-27T05:33:42.9955309Z ✔ local restart fences managed_before_restart despite a matching old CLI owner (53.321815ms) -2026-09-27T05:33:42.9956544Z ✔ local restart fences managed_during_cutover despite a matching old CLI owner (120.02366ms) -2026-09-27T05:33:42.9957813Z ✔ external reconciliation asks the activator to adjudicate when npm changes again (188.671447ms) -2026-09-27T05:33:42.9958945Z ✔ local restart keeps service Hosts under operator authority (0.355916ms) -2026-09-27T05:33:42.9959997Z ✔ committed target conflicting with the observed Host fails closed (6.982479ms) -2026-09-27T05:33:42.9961237Z ✔ external npm replacement rejects a different durable source owner before staging (7.002784ms) -2026-09-27T05:33:42.9962362Z ✔ external npm downgrade is rejected before staging or retirement (6.25501ms) -2026-09-27T05:33:42.9963559Z ✔ legacy npm restart preserves staged deployment authority during explicit recovery (111.734377ms) -2026-09-27T05:33:42.9964906Z ✔ legacy npm restart preserves staged deployment authority during safe recovery (76.672333ms) -2026-09-27T05:33:42.9966147Z ✔ legacy npm restart preserves staged deployment authority during identity_changed recovery (28.33109ms) -2026-09-27T05:33:42.9967325Z ✔ local CLI cold-starts through the installed Node operator (7829.531034ms) -2026-09-27T05:33:42.9968386Z ✔ local CLI cold-starts through the installed legacy operator (7995.679066ms) -2026-09-27T05:33:42.9969545Z ✔ retires only the exact ephemeral Host through the source package client (1.59375ms) -2026-09-27T05:33:42.9970635Z ✔ preserves active work unless the parent explicitly selected interruption (0.353834ms) -2026-09-27T05:33:42.9971698Z ✔ fails closed when the observed Host changes before retirement (11.701764ms) -2026-09-27T05:33:42.9972617Z ✔ keeps service Hosts under operator authority (0.363862ms) -2026-09-27T05:33:42.9973659Z ✔ does not misclassify an unavailable source Host as operator-owned (0.421163ms) -2026-09-27T05:33:42.9975160Z ✔ a parent deadline terminates and waits for a target activator with a hung settlement (3069.185092ms) -2026-09-27T05:33:42.9976940Z ✔ managed source handoff preserves connection/work admission before refuse_active_work (3746.472324ms) -2026-09-27T05:33:42.9978541Z ✔ managed source handoff preserves connection/work admission before interrupt_active_work (2792.154002ms) -2026-09-27T05:33:42.9979566Z ▶ createRuntimeHostOnboardingSurface -2026-09-27T05:33:42.9980520Z ✔ bounds OAuth cancel while a real reconnecting query waits for an offline Host (45.849139ms) -2026-09-27T05:33:42.9981719Z ✔ bounds OAuth close while a real reconnecting query waits for an offline Host (29.750294ms) -2026-09-27T05:33:42.9982904Z ✔ waits for the replacement OAuth capability acknowledgement before retrying start (13.35421ms) -2026-09-27T05:33:42.9984114Z ✔ survives another disconnect while publishing the replacement OAuth capability (95.484857ms) -2026-09-27T05:33:42.9985500Z ✔ retains the attempt and exact target after oauth.login.start times out (35.228409ms) -2026-09-27T05:33:42.9986613Z ✔ retains the attempt and exact target after oauth.login.query times out (23.148093ms) -2026-09-27T05:33:42.9987751Z ✔ retains the attempt and exact target after oauth.login.cancel times out (32.263494ms) -2026-09-27T05:33:42.9995400Z ✔ does not apply the OAuth request timeout to connection acquisition (63.734921ms) -2026-09-27T05:33:43.0000196Z ✔ shutdown bounds a pending connection and releases it if it arrives late (23.131679ms) -2026-09-27T05:33:43.0008317Z ✔ cancelling during capability publication never dispatches OAuth start (0.967273ms) -2026-09-27T05:33:43.0009712Z ✔ a slow connection cleanup cannot hide an authenticated result or block shutdown (32.843236ms) -2026-09-27T05:33:43.0010962Z ✔ an unconfirmed attempt cannot be resumed against a different Host root (25.760819ms) -2026-09-27T05:33:43.0012276Z ✔ reopening setup during cancellation observes the original commit instead of starting again (1.129776ms) -2026-09-27T05:33:43.0013486Z ✔ asks the Host enrollment gate before offering Codex OAuth (4.571763ms) -2026-09-27T05:33:43.0014653Z ✔ runs presentation and polling behind one OAuth login call (1.037002ms) -2026-09-27T05:33:43.0016052Z ✔ reconciles a dispatched OAuth start after its response is lost (0.61162ms) -2026-09-27T05:33:43.0017311Z ✔ retries the same OAuth start when reconciliation proves it was not admitted (9.657411ms) -2026-09-27T05:33:43.0018552Z ✔ reconciles a dispatched OAuth cancellation instead of trusting the local signal (1.782658ms) -2026-09-27T05:33:43.0019734Z ✔ retries cancellation when reconciliation still finds an active OAuth attempt (2.816188ms) -2026-09-27T05:33:43.0020841Z ✔ does not mistake a Host cancellation failure for local cancellation (0.514621ms) -2026-09-27T05:33:43.0021838Z ✔ preserves a Host slug_taken error as an OAuth failure reason (1.85582ms) -2026-09-27T05:33:43.0022783Z ✔ forwards the requested Connection identity to OAuth start (0.455209ms) -2026-09-27T05:33:43.0023822Z ✔ closing the onboarding surface cancels and settles its active OAuth attempt (0.616258ms) -2026-09-27T05:33:43.0025096Z ✔ accepts authentication when cancellation loses the Host commit race (25.695109ms) -2026-09-27T05:33:43.0061480Z ✔ preserves Host failure codes without projecting backend text (0.534412ms) -2026-09-27T05:33:43.0075780Z ✔ classifies transport exceptions without exposing their message (0.211446ms) -2026-09-27T05:33:43.0114201Z ✔ keeps the committed Connection when the follow-up catalog refresh fails (0.234406ms) -2026-09-27T05:33:43.0121881Z ✔ createRuntimeHostOnboardingSurface (488.614583ms) -2026-09-27T05:33:43.0127580Z ▶ projectRuntimeHostModelChoices -2026-09-27T05:33:43.0128535Z ✔ a retained retired connection contributes no /model choices (9.337374ms) -2026-09-27T05:33:43.0129621Z ✔ a disabled connection is also excluded, so the filter is not over-broad (0.322612ms) -2026-09-27T05:33:43.0130743Z ✔ projects the catalog display name onto each model choice (7.790249ms) -2026-09-27T05:33:43.0131677Z ✔ a model that exists only in the resolved catalog still carries its context window (0.516825ms) -2026-09-27T05:33:43.0132937Z ✔ projectRuntimeHostModelChoices (18.270172ms) -2026-09-27T05:33:43.0157496Z ▶ projectProviders -2026-09-27T05:33:43.0158798Z ✔ enabled Codex OAuth projects existing accounts and one add-account row (0.697381ms) -2026-09-27T05:33:43.0159947Z ✔ a Desktop-created relay and add-account action are both explicit (0.582958ms) -2026-09-27T05:33:43.0188403Z ✔ picking the Anthropic Messages custom entry creates an Anthropic Messages connection (3.950387ms) -2026-09-27T05:33:43.0196518Z ✔ several non-canonical connections remain independently editable (0.518247ms) -2026-09-27T05:33:43.0197716Z ✔ the create row carries the Host-derived slug suggestion for the identity step (0.495936ms) -2026-09-27T05:33:43.0198740Z ✔ a canonical connection does not hide another account (0.397823ms) -2026-09-27T05:33:43.0199504Z ✔ projectProviders (7.000988ms) -2026-09-27T05:33:43.0200447Z ✔ OpenRC provider owns one supervised Host and reconciliation loop (132.303007ms) -2026-09-27T05:33:43.0207813Z ✔ preserves genuine Session observation initialization failures (1.002005ms) -2026-09-27T05:33:43.0209247Z ✔ releases a transcript registration whose source lacks the window contract (0.392252ms) -2026-09-27T05:33:43.0210635Z ✔ returns explicit ready results for Session observation IPC (0.549049ms) -2026-09-27T05:33:43.0211759Z ▶ Runtime Host operator commands -2026-09-27T05:33:43.0212997Z ✔ parses resident Peer Mesh management without accepting invitations in argv (6.655406ms) -2026-09-27T05:33:43.0214251Z ✔ parses and emits the stable framed managed activation contract (14.664022ms) -2026-09-27T05:33:43.0215634Z ✔ parses project management and machine-readable service readiness (1.723517ms) -2026-09-27T05:33:43.0216743Z ✔ expands access presets without access administration or Host paths (4.365008ms) -2026-09-27T05:33:43.0217881Z ✔ emits bounded service identity and listener facts without credentials (0.560353ms) -2026-09-27T05:33:43.0219002Z ✔ registers a Project without preferring it unless explicitly requested (0.713695ms) -2026-09-27T05:33:43.0220022Z ✔ uses every Plugin Platform surface through the Runtime Host (3.228754ms) -2026-09-27T05:33:43.0220939Z ✔ Runtime Host operator commands (33.873419ms) -2026-09-27T05:33:43.0222082Z ✔ operator stdin EOF cancels reversible retirement, not a committed result or later recovery (13.535151ms) -2026-09-27T05:33:43.0223016Z ▶ Runtime Host profile CLI -2026-09-27T05:33:43.0223894Z ✔ parses profile management without accepting credential material on argv (4.659375ms) -2026-09-27T05:33:43.0225144Z ✔ passes the credential to the catalog without writing it to command output (2.630108ms) -2026-09-27T05:33:43.0226016Z ✔ Runtime Host profile CLI (9.814453ms) -2026-09-27T05:33:43.0227160Z ✔ prompt transcript pages on its existing subscription, preserves sparse cuts and waits for its consumer (12.889729ms) -2026-09-27T05:33:43.0228524Z ✔ explicit revision replay rereads the admission cut and ignores unrelated turns (2.937649ms) -2026-09-27T05:33:43.0229750Z ✔ ordinary reconciliation decodes each of 1024 sequential results once (418.746416ms) -2026-09-27T05:33:43.0230956Z ✔ ordinary reconciliation decodes each of 2048 sequential results once (834.33967ms) -2026-09-27T05:33:43.0232062Z ✔ coalesced advance waits for consumption before moving the lower cut (67.910846ms) -2026-09-27T05:33:43.0233194Z ✔ coalesced replay waits for consumption before moving the lower cut (4.42873ms) -2026-09-27T05:33:43.0234334Z ✔ a failed later page does not commit partially consumed progress (5.288577ms) -2026-09-27T05:33:43.0255883Z ✔ cancel and channel close release a stalled read without waiting for missing results (14.543093ms) -2026-09-27T05:33:43.0257514Z ✔ recovery across root turns rereads the old prompt below the new bootstrap cut and drops stale pages (12.01057ms) -2026-09-27T05:33:43.0258943Z ✔ prompt transcript rejects nonadvancing cursors and propagates consumer failures (1.587925ms) -2026-09-27T05:33:43.0259928Z ▶ Runtime Host maka run adapter -2026-09-27T05:33:43.0261222Z ✔ stops before context creation when CLI preflight finds a confirmed blocker (47.613506ms) -2026-09-27T05:33:43.0262404Z ✔ routes both launch roots through the selected Host profile and canonical Project (11.148142ms) -2026-09-27T05:33:43.0263768Z ✔ continues the Host-owned cwd Session without creating another identity (29.000908ms) -2026-09-27T05:33:43.0265231Z ✔ fails the public command explicitly when an ordinary Host Turn requests permission (21.114028ms) -2026-09-27T05:33:43.0298333Z ✔ returns exit code 1 when an ordinary Host Turn fails (12.427779ms) -2026-09-27T05:33:43.0302337Z ✔ returns exit code 1 when a same-step sibling succeeds after a sandbox failure (6.066639ms) -2026-09-27T05:33:43.0336758Z ✔ returns exit code 1 when a denied boundary request follows a sandbox failure (25.986928ms) -2026-09-27T05:33:43.0364819Z ✔ keeps a sandbox failure unresolved after an unrelated tool succeeds (11.038198ms) -2026-09-27T05:33:43.0383377Z ✔ keeps the boundary unresolved when a later same-named call succeeds (live) (10.93671ms) -2026-09-27T05:33:43.0438338Z ✔ keeps the boundary unresolved when a later same-named call succeeds (durable) (10.434477ms) -2026-09-27T05:33:43.0477040Z ✔ returns exit code 1 when a denied widening precedes any later tool success (6.145097ms) -2026-09-27T05:33:43.0511677Z ✔ returns exit code 1 when reconnect restores a missed sandbox failure (9.49755ms) -2026-09-27T05:33:43.0556376Z ✔ prints the transcript answer when the live stream never carried one (4.24346ms) -2026-09-27T05:33:43.0595087Z ✔ prints the answer when a durable transcript read lands after it (11.108216ms) -2026-09-27T05:33:43.0652841Z ✔ returns exit code 1 when one retry follows two sandbox failures (10.048682ms) -2026-09-27T05:33:43.0655487Z ✔ returns exit code 0 when the final Graph Turn completes (10.448071ms) -2026-09-27T05:33:43.0720069Z ✔ keeps a root Graph boundary failure unresolved even when a later same-named call succeeds (11.327999ms) -2026-09-27T05:33:43.0775831Z ✔ returns exit code 1 when a same-step Graph sibling succeeds after a sandbox failure (3.038803ms) -2026-09-27T05:33:43.0779425Z ✔ returns exit code 1 when a denied Graph boundary request follows a sandbox failure (1.574058ms) -2026-09-27T05:33:43.0839735Z ✔ returns exit code 1 when one Graph retry follows two sandbox failures (10.892912ms) -2026-09-27T05:33:43.0895826Z ✔ returns exit code 1 when the final Graph Turn fails (7.591985ms) -2026-09-27T05:33:43.0928965Z ✔ waits for Host-started graph supervisor Turns before returning (1.09467ms) -2026-09-27T05:33:43.0985900Z ✔ uses the durable Graph supervisor outcome independently of live projection (0.455043ms) -2026-09-27T05:33:43.1015633Z ✔ keeps the sandbox boundary unresolved across live and durable Turns (0.781371ms) -2026-09-27T05:33:43.1058452Z ✔ leaves sandbox failures unresolved when their provider steps are unavailable (1.025584ms) -2026-09-27T05:33:43.1083162Z ✔ keeps the boundary unresolved across interleaved successes and a later sandbox failure (0.430949ms) -2026-09-27T05:33:43.1122509Z ✔ classifies live and durable Turn cancellations as aborted (0.598025ms) -2026-09-27T05:33:43.1123619Z ✔ classifies live and durable step-cap failures equally (0.484991ms) -2026-09-27T05:33:43.1185702Z ✔ uses the latest durable terminal state for a Graph Turn (9.815483ms) -2026-09-27T05:33:43.1234855Z ✔ waits for the exact final Graph wake after an earlier wake already settled (0.69326ms) -2026-09-27T05:33:43.1265713Z ✔ releases a pending Graph durable-terminal wait when the context closes (12.594885ms) -2026-09-27T05:33:43.1271358Z ✔ does not reuse a historical Graph outcome when this execution has no successor (0.602894ms) -2026-09-27T05:33:43.1322418Z ✔ applies the requested step cap through the Host turn (12.503576ms) -2026-09-27T05:33:43.1399269Z ✔ never selects a discovered model that the Host has not enabled (0.36874ms) -2026-09-27T05:33:43.1455013Z ✔ stops both the active Host Turn and its Graph on cancellation (0.431278ms) -2026-09-27T05:33:43.1490664Z ✔ stops a Turn that starts after cancellation was requested (4.941202ms) -2026-09-27T05:33:43.1545280Z ✔ fails and stops instead of waiting for an interactive question (5.117072ms) -2026-09-27T05:33:43.1601412Z ✔ fails and stops instead of dropping an interactive form (0.544981ms) -2026-09-27T05:33:43.1655859Z ✔ stops Graph Mode when a successor waits for an interactive question (0.357006ms) -2026-09-27T05:33:43.1688931Z ✔ preserves the interaction error when Graph stop races an in-flight query (0.41801ms) -2026-09-27T05:33:43.1726217Z ✔ denies a Graph successor sandbox expansion in non-interactive mode (8.527317ms) -2026-09-27T05:33:43.1728926Z ✔ Runtime Host maka run adapter (356.616165ms) -2026-09-27T05:33:43.1729785Z ▶ managed Runtime Host selected update -2026-09-27T05:33:43.1731023Z ✔ replaces an exact observed Host even when its package is already current (47.937032ms) -2026-09-27T05:33:43.1732396Z ✔ revalidates selection inside the deployment lock before reading service state (25.512579ms) -2026-09-27T05:33:43.1826596Z ✔ parses an optional target without changing the exact-package command (1.64003ms) -2026-09-27T05:33:43.1865736Z ✔ requires exact canonical deployment authority for manual update consent (4.704313ms) -2026-09-27T05:33:43.1927365Z ✔ carries interruption authority through selection and preserves active work (4.392587ms) -2026-09-27T05:33:43.1956101Z ✔ hands one verified admitted package to the existing update transaction (9.189014ms) -2026-09-27T05:33:43.1958402Z ✔ lets the exact transaction inspect the current deployment without downloading it again (0.600365ms) -2026-09-27T05:33:43.1985743Z ✔ requires a registration-bound confirmation for manual candidates (3.475799ms) -2026-09-27T05:33:43.2017179Z ✔ managed Runtime Host selected update (101.840894ms) -2026-09-27T05:33:43.2091554Z ▶ canonical WSL update fences -2026-09-27T05:33:43.2128676Z ✔ rejects a downgrade or stale consent before staging: 1.0.0 (9.515573ms) -2026-09-27T05:33:43.2185572Z ✔ rejects a downgrade or stale consent before staging: 3.0.0 (2.131736ms) -2026-09-27T05:33:43.2249585Z ✔ rejects a downgrade or stale consent before staging: 3.0.0 (6.411744ms) -2026-09-27T05:33:43.2318807Z ✔ runs the source package under the inherited lease and preserves a refused Host (10.716501ms) -2026-09-27T05:33:43.2362509Z ✔ canonical WSL update fences (29.291288ms) -2026-09-27T05:33:43.2434747Z ▶ managed Runtime Host service -2026-09-27T05:33:43.2479391Z ✔ parses the bounded managed service command surface (13.754845ms) -2026-09-27T05:33:43.2538223Z ✔ applies Project roots as a compare-and-set transaction and restores failed changes (339.271478ms) -2026-09-27T05:33:43.2586208Z ✔ restores install config only after the candidate process is quiescent (72.990461ms) -2026-09-27T05:33:43.2648683Z ✔ migrates and restores an exact legacy systemd deployment inside configure (100.609953ms) -2026-09-27T05:33:43.2725694Z ✔ installs, reports, and cleanly uninstalls while retaining the State Root (538.955479ms) -2026-09-27T05:33:43.2788673Z ✔ refuses to remove a managed deployment through a redirected ancestor (31.344992ms) -2026-09-27T05:33:43.2859026Z ✔ isolates managed services by Client Data Root without mutating on status (139.568807ms) -2026-09-27T05:33:43.2940745Z ✔ quotes systemd arguments without exposing specifier or environment expansion (0.760087ms) -2026-09-27T05:33:43.2979779Z ✔ emits one stable machine error for an unmet service prerequisite (0.902913ms) -2026-09-27T05:33:43.3033198Z ✔ emits bounded retirement facts in framed output (37.980151ms) -2026-09-27T05:33:43.3075874Z ✔ reports active work as a blocked retirement result (4.12881ms) -2026-09-27T05:33:43.3139344Z ✔ projects requested operator capabilities without launch configuration (29.131361ms) -2026-09-27T05:33:43.3185782Z ✔ reads service logs when an interrupted install left no config (10.588631ms) -2026-09-27T05:33:43.3235777Z ✔ verifies the bound service and State Root before management mutations (74.873176ms) -2026-09-27T05:33:43.3290556Z ✔ stops partial deployment state when start or restart fails (87.065268ms) -2026-09-27T05:33:43.3314678Z ✔ retires the exact managed Host only after active work is authorized (295.653754ms) -2026-09-27T05:33:43.3355544Z ✔ fails closed without stopping a successor that won the State Root (52.512658ms) -2026-09-27T05:33:43.3356940Z ✔ restores the deployed service when the replacement never becomes ready (101.760077ms) -2026-09-27T05:33:43.3453340Z ✔ distinguishes backend replacement failure from unknown target readiness (179.825469ms) -2026-09-27T05:33:43.3516162Z ✔ updates through the current operator and preserves exact update outcomes (29.471671ms) -2026-09-27T05:33:43.3517727Z ✔ keeps synthetic E2E interactions visible through Host hydration and retires their answer (9.363184ms) -2026-09-27T05:33:43.3570645Z ✔ rejects invalid Project roots and temporary npx launch paths before deployment (34.175444ms) -2026-09-27T05:33:43.3639963Z ✔ reports an unavailable systemd manager instead of not installed (0.473658ms) -2026-09-27T05:33:43.3687081Z ✔ answers a Client Capability approval through the existing Interaction authority (1.513802ms) -2026-09-27T05:33:43.3755909Z ✔ validates and forwards Desktop form responses to the pending Host interaction (1.721415ms) -2026-09-27T05:33:43.3797965Z ✔ retries committed Branch and Revision copies with the renderer-owned identity (1.640121ms) -2026-09-27T05:33:43.3875826Z ✔ sends Side Conversation intent and metadata atomically to Runtime Host (47.438036ms) -2026-09-27T05:33:43.3950034Z ✔ returns structured Side Conversation setup failures across IPC (4.082288ms) -2026-09-27T05:33:43.4008359Z ✔ sends canonical content and uploads owned Attachment bytes through the Host (9.758846ms) -2026-09-27T05:33:43.4081148Z ✔ treats an absent systemd supervisor as already retired (7.971671ms) -2026-09-27T05:33:43.4131122Z ✔ serializes status behind an in-flight deployment (36.82015ms) -2026-09-27T05:33:43.4155748Z ✔ formats bounded, redacted readiness evidence for a failed managed Host (2.238129ms) -2026-09-27T05:33:43.4205574Z ✔ managed Runtime Host service (2227.067436ms) -2026-09-27T05:33:43.4244572Z ▶ Runtime Host Maka Session driver -2026-09-27T05:33:43.4285726Z ✔ maps authoritative Catalog activity into Session summaries (7.391774ms) -2026-09-27T05:33:43.4320608Z ✔ maps authoritative live Turn ids into Session summaries (1.167695ms) -2026-09-27T05:33:43.4321572Z ✔ queries the attached Session Todo projection without storing history (16.058142ms) -2026-09-27T05:33:43.4403987Z ✔ publishes only Todo domain invalidations and supports unsubscribe (18.683576ms) -2026-09-27T05:33:43.4460462Z ✔ keeps remote Session paths out of Client filesystem policy (1.829182ms) -2026-09-27T05:33:43.4537149Z ✔ exposes the session goal from the pushed continuity snapshot (33.448128ms) -2026-09-27T05:33:43.4549736Z ✔ controlGoal applies actions with the snapshot revision and retries conflicts (6.965145ms) -2026-09-27T05:33:43.4596637Z ✔ honors explicit Project intent before inheriting the current workspace (6.735253ms) -2026-09-27T05:33:43.4632797Z ✔ starts one user command without opening an agent turn (7.040552ms) -2026-09-27T05:33:43.4683509Z ✔ retains a terminal user-command update that arrives before its card is created (25.040342ms) -2026-09-27T05:33:43.4705873Z ✔ stops an already-running user command when the driver closes (1.075683ms) -2026-09-27T05:33:43.4890434Z ✔ stops a user command whose start races driver close (2.44319ms) -2026-09-27T05:33:43.4945887Z ✔ a rejecting user-command stop does not fail the turn interrupt (#3210) (2.79839ms) -2026-09-27T05:33:43.5016388Z ✔ stops a running user command before switching Sessions (#3210) (4.573886ms) -2026-09-27T05:33:43.5018355Z ✔ a rejecting user-command stop aborts the switch before any durable relocation commits (#3210) (9.838274ms) -2026-09-27T05:33:43.5021578Z ✔ awaits the user-command stop before clearing identity on /new (#3210) (0.784881ms) -2026-09-27T05:33:43.5022952Z ✔ a rejected user-command stop aborts /new without clearing identity (#3210 review) (3.204049ms) -2026-09-27T05:33:43.5024875Z ✔ submits a same-slug model recovery with the newly selected Connection id (4.085658ms) -2026-09-27T05:33:43.5026327Z ✔ drops a per-session Full access elevation when a fresh Session starts (#3020) (1.494257ms) -2026-09-27T05:33:43.5027814Z ✔ relocates a moved Session through Host authority before attaching (24.379193ms) -2026-09-27T05:33:43.5029024Z ✔ does not relocate an externally isolated Session during resume (0.61743ms) -2026-09-27T05:33:43.5030306Z ✔ atomically joins an active turn without losing output produced during transcript load (9.294892ms) -2026-09-27T05:33:43.5031599Z ✔ delivers completed thinking while a later step remains active (5.672514ms) -2026-09-27T05:33:43.5032901Z ✔ restarts initial hydration when the first connection closes during transcript load (1.817906ms) -2026-09-27T05:33:43.5034097Z ✔ drains the active cut when its turn completes during transcript load (5.711353ms) -2026-09-27T05:33:43.5090447Z ✔ reattaches atomically when another client starts the successor turn (12.072885ms) -2026-09-27T05:33:43.5138671Z ✔ hides the copied parent transcript when a Host starts the side successor turn (11.541142ms) -2026-09-27T05:33:43.5217672Z ✔ adopts a successor that finishes before its atomic reattach completes (4.739834ms) -2026-09-27T05:33:43.5277252Z ✔ serializes buffered successor reattach so transcript completion cannot reverse turn order (8.026045ms) -2026-09-27T05:33:43.5313187Z ✔ a retired intermediate channel cannot republish its buffered successor (8.767381ms) -2026-09-27T05:33:43.5360974Z ✔ an explicit Session switch fences an older successor reattach already loading (9.578791ms) -2026-09-27T05:33:43.5425195Z ✔ a stale reattach cannot overwrite configuration adopted by an explicit switch (8.827076ms) -2026-09-27T05:33:43.5476807Z ✔ a stale generation cannot block successor reattach after an explicit switch (5.46564ms) -2026-09-27T05:33:43.5530644Z ✔ routes queue and retract mutations through Host authority (2.334186ms) -2026-09-27T05:33:43.5551249Z ✔ submits an idle message under the caller-owned stable identity (5.769026ms) -2026-09-27T05:33:43.5589500Z ✔ admits concurrent first messages into one Session in submission order (0.899493ms) -2026-09-27T05:33:43.5615565Z ✔ keeps a configuration change from crossing a pending admission (4.548533ms) -2026-09-27T05:33:43.5664994Z ✔ keeps an unknown message admission available for transcript reconciliation (6.668284ms) -2026-09-27T05:33:43.5692394Z ✔ keeps a dispatched interrupted admission available for transcript reconciliation (0.951514ms) -2026-09-27T05:33:43.5693778Z ✔ projects the acknowledgement that releases a question answered through the Host (7.764219ms) -2026-09-27T05:33:43.5695253Z ✔ answers and releases a Host-owned form through the generic Interaction operation (8.70755ms) -2026-09-27T05:33:43.5696448Z ✔ publishes a pending permission that has no transcript event (2.559813ms) -2026-09-27T05:33:43.5697396Z ✔ keeps Host-triggered prompts out of rewind (3.103658ms) -2026-09-27T05:33:43.5698450Z ✔ fails rewind closed when the selected turn carries structured content (12.155641ms) -2026-09-27T05:33:43.5699619Z ✔ opens a hidden side copy at the latest completed Turn and removes it on close (473.857906ms) -2026-09-27T05:33:43.5700940Z ✔ opens an empty side copy when the parent has no completed Turn yet (335.052444ms) -2026-09-27T05:33:43.5702068Z ✔ observes actionable and terminal parent status from the Host projection (12.851596ms) -2026-09-27T05:33:43.5703154Z ✔ clears parent status when observer recovery is exhausted (1794.852426ms) -2026-09-27T05:33:43.5704159Z ✔ reopens a failed Session channel before starting the next turn (4.624183ms) -2026-09-27T05:33:43.5705435Z ✔ starts explicit Skills through the Host command and preserves its typed feedback (2.469177ms) -2026-09-27T05:33:43.5706507Z ✔ retires a pending question when another client answers it (1.838829ms) -2026-09-27T05:33:43.5707596Z ✔ reconciles the durable transcript after a turn reaches its terminal boundary (7.849426ms) -2026-09-27T05:33:43.5708993Z ✔ publishes only the newest live tool-result transcript refresh (5.007415ms) -2026-09-27T05:33:43.5709922Z ✔ does not publish an older tool-result transcript after the terminal transcript (7.673033ms) -2026-09-27T05:33:43.5710952Z ✔ does not publish an older tool-result transcript after reconnect recovery (5.74812ms) -2026-09-27T05:33:43.5711870Z ✔ resnapshots an active Session after reconnect and continues its live stream (7.003744ms) -2026-09-27T05:33:43.5712965Z ✔ recovers the complete terminal answer when a Turn finishes during reconnect (1.656738ms) -2026-09-27T05:33:43.5717807Z ✔ settles an attached Turn before publishing its reconnect-gap successor (5.813869ms) -2026-09-27T05:33:43.5718986Z ✔ Runtime Host Maka Session driver (3015.004842ms) -2026-09-27T05:33:43.5721902Z ▶ turn consumer lag recovery (#3180) -2026-09-27T05:33:43.5722857Z ✔ resubscribes instead of failing when a turn event consumer falls behind (126.107039ms) -2026-09-27T05:33:43.5723963Z ✔ lands terminal events while shedding deltas from a lagging consumer (163.733061ms) -2026-09-27T05:33:43.5725245Z ✔ admits a terminal outcome when the lagged backlog holds no deltas (120.21467ms) -2026-09-27T05:33:43.5726441Z ✔ admits assistant completion before the terminal outcome over a non-delta backlog (152.788243ms) -2026-09-27T05:33:43.5727600Z ✔ drops the entire pre-resync tool backlog at the canonical cut (60.529568ms) -2026-09-27T05:33:43.5728614Z ✔ admits a tool result when the lagged backlog holds no deltas (163.225165ms) -2026-09-27T05:33:43.5729696Z ✔ sheds lagged tool output deltas so the tool result and terminal outcome land (109.226475ms) -2026-09-27T05:33:43.5730804Z ✔ resubscribes when the live stream ends without a terminal close (7.870591ms) -2026-09-27T05:33:43.5731999Z ✔ recovers from a slow-consumer closure the Host held until hydration declared readiness (8.998983ms) -2026-09-27T05:33:43.5733189Z ✔ backs off several immediate clean-EOF replacements before recovering (182.853015ms) -2026-09-27T05:33:43.5734671Z ✔ preserves an unconsumed terminal event across a replacement with the same terminal turn (2.613533ms) -2026-09-27T05:33:43.5736168Z ✔ preserves an unconsumed terminal event across a replacement with a successor turn (2.503118ms) -2026-09-27T05:33:43.5737473Z ✔ exhausts recovery after repeated one-frame clean-EOF replacements (1794.434707ms) -2026-09-27T05:33:43.5738735Z ✔ does not reset recovery after a silent replacement outlives the stability window (2901.76256ms) -2026-09-27T05:33:43.5739882Z ✔ re-arms lag detection exactly at the hysteresis watermark (285.041964ms) -2026-09-27T05:33:43.5740940Z ✔ recovers again when the consumer lags again after making progress (225.505958ms) -2026-09-27T05:33:43.5741911Z ✔ turn consumer lag recovery (#3180) (6309.278624ms) -2026-09-27T05:33:43.5742841Z ✔ reads the latest Session and returns the committed update (8.443424ms) -2026-09-27T05:33:43.5743934Z ✔ rereads after a revision conflict and stops after three attempts (6.049685ms) -2026-09-27T05:33:43.5814153Z ✔ reports missing and unsupported Session projections without caller-specific errors (3.078744ms) -2026-09-27T05:33:43.5832551Z ✔ checks caller lifecycle before every read and update (6.939143ms) -2026-09-27T05:33:43.5876014Z ✔ on-demand setup installs one exact deployment without a service backend (790.353844ms) -2026-09-27T05:33:43.5933410Z ✔ fresh supervised setup discovers its provider before constructing a legacy backend (91.768486ms) -2026-09-27T05:33:43.5985556Z ✔ managed setup frames reject malformed machine output (3.544273ms) -2026-09-27T05:33:43.6000325Z ✔ persisted OpenRC providers resolve without reselecting the platform default (1.567023ms) -2026-09-27T05:33:43.6001942Z ✔ registry package identity avoids local content and recovers an interrupted removal (532.612296ms) -2026-09-27T05:33:43.6003289Z ✔ managed operator binds its Client Data Root and routes deployment cleanup (1538.158448ms) -2026-09-27T05:33:43.6004693Z ✔ managed Windows task launcher is projected to a stable deployment path (148.980333ms) -2026-09-27T05:33:43.6005584Z ▶ Runtime Host TUI workspace selection -2026-09-27T05:33:43.6006733Z ✔ requires an existing Host Project for a new Host-workspace Session (1.815051ms) -2026-09-27T05:33:43.6007787Z ✔ canonicalizes a Host Project alias without reading a Client path (2.472686ms) -2026-09-27T05:33:43.6008545Z ✔ Runtime Host TUI workspace selection (5.89617ms) -2026-09-27T05:33:43.6009157Z ▶ Runtime Host external Session surface -2026-09-27T05:33:43.6009914Z ✔ owns both available scopes and current-workspace request projection (0.633675ms) -2026-09-27T05:33:43.6010816Z ✔ Runtime Host external Session surface (0.843668ms) -2026-09-27T05:33:43.6011928Z ✔ managed on-demand authority defeats a matching old CLI owner for every TUI mutation (4.163601ms) -2026-09-27T05:33:43.6017475Z ✔ managed authority appearing inside the TUI action lease fences stop and restart (5.135876ms) -2026-09-27T05:33:43.6070671Z ✔ managed authority appearing after TUI update preflight prevents coordinator delegation (0.56778ms) -2026-09-27T05:33:43.6088498Z ✔ owner status remains readable for a compatible attached Host without granting mutation rights (48.774368ms) -2026-09-27T05:33:43.6145725Z ✔ Host status, owner refusals, and busy confirmation follow the TUI locale (11.156968ms) -2026-09-27T05:33:43.6211663Z ✔ remote attachment and foreign installation owner cannot mint owner actions (3.548005ms) -2026-09-27T05:33:43.6270074Z ✔ preflight is read-only and stop retains the durable owner instead of launching a replacement (1.0212ms) -2026-09-27T05:33:43.6333770Z ✔ same-artifact restart reuses selected package and existing durable owner (0.475249ms) -2026-09-27T05:33:43.6407232Z ✔ changed owner or Host epoch invalidates the pending action before retirement (0.66655ms) -2026-09-27T05:33:43.6448847Z ✔ busy work requires confirmation and changed activity invalidates interruption consent (8.297618ms) -2026-09-27T05:33:43.6525895Z ✔ update delegates to the existing safe installed-update coordinator (0.487556ms) -2026-09-27T05:33:43.6583551Z ▶ managed Runtime Host update discovery -2026-09-27T05:33:43.6664056Z ✔ accepts only channels or canonical exact versions (9.88247ms) -2026-09-27T05:33:43.6717151Z ✔ pins registry metadata to an exact version and integrity (1.509385ms) -2026-09-27T05:33:43.6752732Z ✔ admits only exact current or compatible target identities (1.067186ms) -2026-09-27T05:33:43.6786933Z ✔ rejects malformed or contradictory machine evidence (59.882408ms) -2026-09-27T05:33:43.6850044Z ✔ managed Runtime Host update discovery (74.25307ms) -2026-09-27T05:33:43.6879589Z ▶ managed Runtime Host update package acquisition -2026-09-27T05:33:43.6941059Z ✔ keeps the verified archive available for an installation-owner finalizer (43.008778ms) -2026-09-27T05:33:43.6997974Z ✔ revalidates an archive before a coordinator can consume it (7.636175ms) -2026-09-27T05:33:43.7041781Z ✔ binds the official archive to its extracted release evidence (26.708442ms) -2026-09-27T05:33:43.7109223Z ✔ rejects archive or manifest evidence that differs from discovery (19.963303ms) -2026-09-27T05:33:43.7182237Z ✔ rejects a small verified archive whose headers claim excessive expansion (19.09638ms) -2026-09-27T05:33:43.7260485Z ✔ accepts entries whose payload spans multiple gunzip chunks (33.094233ms) -2026-09-27T05:33:43.7300423Z ✔ fails closed for tar extensions that can reinterpret a raw header size (24.804301ms) -2026-09-27T05:33:43.7359094Z ✔ requires two consecutive zero blocks to terminate a tar stream (2.695982ms) -2026-09-27T05:33:43.7426959Z ✔ rejects archives that are not readable gzip tarballs (6.571864ms) -2026-09-27T05:33:43.7529226Z ✔ managed Runtime Host update package acquisition (186.262876ms) -2026-09-27T05:33:43.7589917Z ✔ uploads a selected workspace file as a Host-owned Session Artifact (21.452439ms) -2026-09-27T05:33:43.7645660Z ✔ forwards explicit Skill invocation to the Host-owned Turn admission (0.909102ms) -2026-09-27T05:33:43.7756239Z ✔ submits an ordinary composer message once under its stable message identity (0.695653ms) -2026-09-27T05:33:43.7780738Z ✔ returns Host-owned cancellation proof to the renderer (5.009457ms) -2026-09-27T05:33:43.7835800Z ✔ batches cancellation proof queries at the Runtime Host protocol boundary (0.410997ms) -2026-09-27T05:33:43.7879962Z ✔ rejects duplicate cancellation proof identities across protocol batches (0.353678ms) -2026-09-27T05:33:43.7945763Z ✔ rejects invalid or unbounded Desktop cancellation proof queries before dispatch (0.947252ms) -2026-09-27T05:33:43.8003048Z ✔ rejects duplicate cancellation proofs returned across protocol batches (0.300779ms) -2026-09-27T05:33:43.8028943Z ✔ returns Host-owned Message execution resolutions to the renderer (5.408557ms) -2026-09-27T05:33:43.8085104Z ✔ batches Message execution queries at the Runtime Host protocol boundary (0.537039ms) -2026-09-27T05:33:43.8137026Z ✔ rejects duplicate Message execution identities before protocol batching (10.533719ms) -2026-09-27T05:33:43.8169692Z ✔ rejects invalid or unbounded Desktop Message execution queries before dispatch (0.830346ms) -2026-09-27T05:33:43.8233494Z ✔ submits a slash Skill message and reports the Host Skill outcome (2.210821ms) -2026-09-27T05:33:43.8273362Z ✔ queues a mid-turn send as steering when the Host reports the session busy (0.68637ms) -2026-09-27T05:33:43.8305863Z ✔ resolves a twice-interrupted send as an unknown outcome (0.424517ms) -2026-09-27T05:33:43.8334971Z ✔ retries a dispatched send with its original message identity (3.039497ms) -2026-09-27T05:33:43.8405682Z ✔ answers a send with the Turn the Host started for it (0.408731ms) -2026-09-27T05:33:43.8452872Z ✔ propagates a busy explicit Skill send instead of degrading it to steering (0.423031ms) -2026-09-27T05:33:43.8491291Z ✔ lets the Host queue a textual Skill token as steering (0.286462ms) -2026-09-27T05:33:43.8504982Z ✔ reports a Host-blocked Skill send as a Skill failure (0.271498ms) -2026-09-27T05:33:43.8566810Z ✔ queues explicit Desktop follow-ups (0.662841ms) -2026-09-27T05:33:43.8625888Z ✔ keeps an unknown Desktop follow-up admission available for reconciliation (0.468652ms) -2026-09-27T05:33:43.8665609Z ✔ routes per-entry queue mutations to the Runtime Host (3.999721ms) -2026-09-27T05:33:43.8695768Z ✔ binds steer and stop to Host-owned queue and active Turn identities (7.288851ms) -2026-09-27T05:33:43.8708798Z ✔ does not let an admitted Stop interrupt a replacement Turn (4.722767ms) -2026-09-27T05:33:43.8745739Z ✔ returns the attachment_blocked envelope when an approved source has expired (0.472261ms) -2026-09-27T05:33:43.8807560Z ✔ Session snapshot IPC keeps committed text despite a lagging active marker (8.072419ms) -2026-09-27T05:33:43.8866377Z ✔ Session snapshot IPC rejects invalid budgets and unavailable sources before opening (0.61634ms) -2026-09-27T05:33:43.8894221Z ✔ steers WorkHub through Host admission even though the ordinary Session catalog omits it (2.467346ms) -2026-09-27T05:33:43.8922861Z ✔ renderer reload releases old observations without accumulating destroyed listeners (1.644046ms) -2026-09-27T05:33:43.8948253Z ✔ an observation admitted across document replacement is cancelled before registration (2.666863ms) -2026-09-27T05:33:43.8993860Z ✔ late transcript acknowledgement after renderer teardown is a no-op (0.374492ms) -2026-09-27T05:33:43.9025833Z ✔ prompt suggestion IPC forwards only a validated Session and does not reconnect/retry paid effects (0.31069ms) -2026-09-27T05:33:43.9055354Z ▶ managed Runtime Host update reconciliation -2026-09-27T05:33:43.9115442Z ✔ parses the coordinator-supervised installed-update activator contract (8.338057ms) -2026-09-27T05:33:43.9135634Z ✔ parses the exact source-package retirement helper contract (0.408949ms) -2026-09-27T05:33:43.9165214Z ✔ parses update policy and reconciliation commands against an optional expected target (5.030259ms) -2026-09-27T05:33:43.9174027Z ✔ persists an automatic policy against the canonical managed target and removes manual state (103.421221ms) -2026-09-27T05:33:43.9175846Z ✔ fences policy reads and reports a drifted update scheduler (6.315718ms) -2026-09-27T05:33:43.9177301Z ✔ distinguishes an uncertain policy commit and makes an absent-policy retry durable (19.175044ms) -2026-09-27T05:33:43.9178661Z ✔ resolves one policy snapshot and delegates an admitted exact target to the update transaction (21.294893ms) -2026-09-27T05:33:43.9253017Z ✔ revokes a stale reconcile when automatic policy changes to manual (24.289119ms) -2026-09-27T05:33:43.9277400Z ✔ fails closed on corrupt policy and returns manual-action candidates without mutation (22.725247ms) -2026-09-27T05:33:43.9306331Z ✔ managed Runtime Host update reconciliation (218.586516ms) -2026-09-27T05:33:43.9364855Z ✔ expands home-relative move paths with platform separators (9.621105ms) -2026-09-27T05:33:43.9409374Z ▶ detectColorLevelFromEnv -2026-09-27T05:33:43.9447334Z ✔ uses the terminal capability when TERM is unset — native Windows shells (3.237838ms) -2026-09-27T05:33:43.9493725Z ✔ honours an explicit COLORTERM even when TERM is unset (0.225105ms) -2026-09-27T05:33:43.9509672Z ✔ NO_COLOR and TERM=dumb still win over any capability (0.279345ms) -2026-09-27T05:33:43.9554779Z ✔ maps the reported depth onto the three color levels (1.252617ms) -2026-09-27T05:33:43.9623885Z ✔ falls back to the TERM ladder when there is no terminal to ask (0.356379ms) -2026-09-27T05:33:43.9751198Z ✔ detectColorLevelFromEnv (14.647071ms) -2026-09-27T05:33:43.9853125Z ✔ an overlay hides the composer cursor and preserves its draft and border colors (34.36526ms) -2026-09-27T05:33:43.9881104Z ▶ fitAutocompleteLines -2026-09-27T05:33:43.9909368Z ✔ keeps the selected item visible and reports the full command count (5.264016ms) -2026-09-27T05:33:43.9998177Z ✔ moves the fitted window with a selection near the end (0.790856ms) -2026-09-27T05:33:44.0029797Z ✔ preserves an upstream picker position when fitting an already-windowed list (0.323854ms) -2026-09-27T05:33:44.0062136Z ✔ uses the selected row when only one autocomplete row fits (0.213797ms) -2026-09-27T05:33:44.0082531Z ✔ fitAutocompleteLines (7.509631ms) -2026-09-27T05:33:44.0122107Z ▶ fitPendingQueueLines -2026-09-27T05:33:44.0132316Z ✔ summarizes overflow after preserving the visible pending rows (0.868911ms) -2026-09-27T05:33:44.0133210Z ✔ uses the only available row as an overflow summary (0.297631ms) -2026-09-27T05:33:44.0133842Z ✔ fitPendingQueueLines (1.735335ms) -2026-09-27T05:33:44.0258452Z ▶ osc52ClipboardSequence -2026-09-27T05:33:44.0285356Z ✔ wraps base64-encoded UTF-8 in the OSC 52 clipboard sequence (4.053888ms) -2026-09-27T05:33:44.0315395Z ✔ encodes an empty string as an empty payload (8.388175ms) -2026-09-27T05:33:44.0388394Z ✔ emits a bare sequence with no tmux DCS passthrough wrapper (0.921704ms) -2026-09-27T05:33:44.0489640Z ✔ osc52ClipboardSequence (15.762938ms) -2026-09-27T05:33:44.0568577Z ▶ copyToClipboard -2026-09-27T05:33:44.0635675Z ✔ writes the OSC 52 sequence to the terminal and reports the byte count (1.541636ms) -2026-09-27T05:33:44.0775938Z ✔ accepts a payload exactly at the byte limit (0.32882ms) -2026-09-27T05:33:44.0886146Z ✔ refuses an oversized payload and writes nothing (2.813746ms) -2026-09-27T05:33:44.0963802Z ✔ measures the limit in UTF-8 bytes, not JS string length (0.344277ms) -2026-09-27T05:33:44.0978133Z ✔ copyToClipboard (9.407006ms) -2026-09-27T05:33:44.1025442Z ▶ isCtxRefreshRelevantEvent -2026-09-27T05:33:44.1085657Z ✔ matches the desktop inspector trace-relevant set (1.375965ms) -2026-09-27T05:33:44.1115421Z ✔ streaming deltas never schedule a query (0.248251ms) -2026-09-27T05:33:44.1116135Z ✔ isCtxRefreshRelevantEvent (3.206014ms) -2026-09-27T05:33:44.1175504Z ▶ createCtxRefresher -2026-09-27T05:33:44.1217737Z ✔ a relevant event runs one query after the debounce delay (3.981035ms) -2026-09-27T05:33:44.1316965Z ✔ a burst of events coalesces into one query, at the last event (0.340255ms) -2026-09-27T05:33:44.1378422Z ✔ only the latest issued query may apply (0.356656ms) -2026-09-27T05:33:44.1379649Z ✔ a newer relevant event retires an in-flight query before the replacement runs (11.514886ms) -2026-09-27T05:33:44.1429518Z ✔ a failed query leaves the last value standing and later events still refresh (0.497151ms) -2026-09-27T05:33:44.1491350Z ✔ cancel drops a scheduled query and retires an in-flight one (0.373595ms) -2026-09-27T05:33:44.1545536Z ✔ irrelevant events never schedule a query (1.55215ms) -2026-09-27T05:33:44.1559207Z ✔ the default timeout scheduler fires and cancels for real (30.186026ms) -2026-09-27T05:33:44.1605370Z ✔ createCtxRefresher (51.770914ms) -2026-09-27T05:33:44.1655398Z ▶ TUI copy resources -2026-09-27T05:33:44.1717940Z ✔ registers every domain without a locale-specific getter branch (2.104113ms) -2026-09-27T05:33:44.1755674Z ✔ keeps translated coverage, variables, and ICU formatting aligned with English (48.596237ms) -2026-09-27T05:33:44.1811540Z ✔ keeps model picker copy locale-specific (0.344675ms) -2026-09-27T05:33:44.1855799Z ✔ describes /setup as provider onboarding in every locale (0.482612ms) -2026-09-27T05:33:44.1897071Z ✔ formats the English MCP count with ICU plural rules (0.386426ms) -2026-09-27T05:33:44.1920404Z ✔ localizes rewind and skill notices in both locales (0.212041ms) -2026-09-27T05:33:44.1991616Z ✔ localizes current Todo indicator and overlay copy (3.264928ms) -2026-09-27T05:33:44.2045702Z ✔ localizes stable onboarding failure codes at the TUI boundary (0.333693ms) -2026-09-27T05:33:44.2105016Z ✔ TUI copy resources (58.288745ms) -2026-09-27T05:33:44.2135359Z ▶ lastAssistantText -2026-09-27T05:33:44.2180387Z ✔ returns the text of the most recent assistant entry (0.969585ms) -2026-09-27T05:33:44.2235319Z ✔ ignores trailing non-assistant entries (0.215642ms) -2026-09-27T05:33:44.2275622Z ✔ returns undefined when there is no assistant entry (0.151904ms) -2026-09-27T05:33:44.2345669Z ✔ skips an empty trailing assistant entry and returns the earlier reply (0.14909ms) -2026-09-27T05:33:44.2368012Z ✔ lastAssistantText (4.713289ms) -2026-09-27T05:33:44.2411645Z ▶ serializeTranscriptText -2026-09-27T05:33:44.2469337Z ✔ serializes user and assistant turns in order with role labels (0.423672ms) -2026-09-27T05:33:44.2539328Z ✔ collapses consecutive assistant steps under one label and drops empty ones (0.449176ms) -2026-09-27T05:33:44.2568655Z ✔ keeps two adjacent user turns in separate blocks (0.213063ms) -2026-09-27T05:33:44.2632508Z ✔ a text-less assistant entry between two user turns does not join them (0.190557ms) -2026-09-27T05:33:44.2675772Z ✔ labels goal_continuation and legacy_automation by provenance, not as the user (0.243629ms) -2026-09-27T05:33:44.2756578Z ✔ returns an empty string when there are no conversation turns (0.236513ms) -2026-09-27T05:33:44.2846552Z ✔ serializeTranscriptText (3.300221ms) -2026-09-27T05:33:44.2905249Z ▶ getTuiCopyCopy -2026-09-27T05:33:44.2925590Z ✔ resolves localized copy for each locale (0.317853ms) -2026-09-27T05:33:44.2967135Z ✔ getTuiCopyCopy (0.487748ms) -2026-09-27T05:33:44.4215632Z ✔ large streaming imports preserve deduplication and compaction boundaries (2482.529708ms) -2026-09-27T05:33:44.4498751Z ✔ a text query filters the source, before paging (23.285252ms) -2026-09-27T05:33:44.4636105Z ✔ reads only enough ordered transcript summaries to fill each catalog page (18.520284ms) -2026-09-27T05:33:44.4856835Z ✔ a rewritten transcript is re-read, a deleted one drops out (16.810938ms) -2026-09-27T05:33:44.4902636Z ✔ a project query tolerates a trailing separator (10.593991ms) -2026-09-27T05:33:44.5045033Z ✔ a project query matches the record cwd, not the mangled directory name (13.094906ms) -2026-09-27T05:33:44.5129875Z ✔ every emitted message survives the canonical decoder (11.228594ms) -2026-09-27T05:33:44.5276981Z ✔ a corrupt line does not fail an otherwise readable transcript (7.700009ms) -2026-09-27T05:33:44.5305657Z ✔ is registered by the internal default registry (0.640486ms) -2026-09-27T05:33:44.5356348Z ✔ ClaudeCodeSessionAdapter (9405.26685ms) -2026-09-27T05:33:44.5916879Z ▶ resolveTranscriptLineage -2026-09-27T05:33:44.6046166Z ✔ a withdrawn prompt and its answer are dropped, the edit kept (9.980401ms) -2026-09-27T05:33:44.6106352Z ✔ the whole withdrawn subtree goes, not just its head (0.480714ms) -2026-09-27T05:33:44.6162747Z ✔ three siblings leave only the last (0.314962ms) -2026-09-27T05:33:44.6245649Z ✔ an ordinary tool fork survives whole (9.393493ms) -2026-09-27T05:33:44.6281255Z ✔ two tool results under one parent are both kept (0.352441ms) -2026-09-27T05:33:44.6335509Z ✔ an assistant fork with no prompt in it is left alone (0.257845ms) -2026-09-27T05:33:44.6405632Z ✔ a tool result is not a prompt (0.20163ms) -2026-09-27T05:33:44.6455826Z ✔ both sides of a compaction boundary survive (1.724546ms) -2026-09-27T05:33:44.6536650Z ✔ a boundary's logicalParentUuid is not followed as a parent (2.740629ms) -2026-09-27T05:33:44.6635915Z ✔ a rewind before a compaction boundary does not disturb what follows (0.455062ms) -2026-09-27T05:33:44.6656567Z ✔ a repeated uuid is kept once (1.766659ms) -2026-09-27T05:33:44.6734284Z ✔ a record the graph cannot place is kept (0.219267ms) -2026-09-27T05:33:44.6834829Z ✔ a sidechain record is passed through untouched (4.339476ms) -2026-09-27T05:33:44.6867853Z ✔ a parent cycle terminates instead of hanging the import (0.195839ms) -2026-09-27T05:33:44.6975246Z ✔ an empty transcript resolves to nothing rather than throwing (0.190563ms) -2026-09-27T05:33:44.7040551Z ✔ resolveTranscriptLineage (58.961825ms) -2026-09-27T05:33:44.7137242Z ✔ persists Client Capability grants for one Session and purges them with it (535.643408ms) -2026-09-27T05:33:44.7203911Z ▶ CodexSessionAdapter -2026-09-27T05:33:44.7294380Z ✔ lists active and archived root Sessions from the newest Codex state database (91.939692ms) -2026-09-27T05:33:44.7460331Z ✔ orders mixed Codex second and millisecond timestamps before paging (25.421703ms) -2026-09-27T05:33:44.7529091Z ✔ lists every supported Codex thread source (#3693) (45.585377ms) -2026-09-27T05:33:44.7562410Z ✔ a Windows path spelling reaches the matcher instead of being lost in SQL (63.532823ms) -2026-09-27T05:33:44.7575996Z ✔ converts Codex presentation events and raw tool items without duplicates (71.2692ms) -2026-09-27T05:33:44.7619262Z ✔ converts Codex Desktop completed items without importing response mirrors (40.633012ms) -2026-09-27T05:33:44.7665741Z ✔ imports terminal errors as failed without failing turns on non-terminal errors (24.39412ms) -2026-09-27T05:33:44.7708564Z ✔ preserves a terminal row that closes an older interleaved turn (14.166751ms) -2026-09-27T05:33:44.7711090Z ✔ filesystem fallback excludes internal subagent rollouts (14.62604ms) -2026-09-27T05:33:44.7755701Z ✔ filesystem fallback pages globally by rollout mtime across active and archived roots (92.95565ms) -2026-09-27T05:33:44.7792209Z ✔ filesystem fallback fails with a typed limit instead of scanning an unbounded catalog (20.250857ms) -2026-09-27T05:33:44.7815878Z ✔ filesystem keyset paging never repeats a row moved ahead of the cursor (146.167976ms) -2026-09-27T05:33:44.7825686Z ✔ filesystem keyset paging uses one digest order across equal-mtime pages (29.256153ms) -2026-09-27T05:33:44.7855632Z ✔ filesystem cursor stays wire-bounded for deeply nested rollout paths (56.582895ms) -2026-09-27T05:33:44.7879827Z ✔ database keyset paging stays on the state generation that issued the cursor (65.553036ms) -2026-09-27T05:33:44.7886762Z ✔ database continuation surfaces source read failures without invalidating the cursor (54.880971ms) -2026-09-27T05:33:44.7910328Z ✔ an unreadable newest generation falls through to the rollout scan (38.77908ms) -2026-09-27T05:33:44.7959820Z ✔ an unreadable older generation leaves the newest one in charge (18.14436ms) -2026-09-27T05:33:44.7965629Z ✔ a text-shaped ordering value cannot strand the rest of the catalog (62.052206ms) -2026-09-27T05:33:44.7995690Z ✔ rejects corrupt interior records, tolerates a torn tail, and bounds scanned bytes (59.832311ms) -2026-09-27T05:33:44.8015935Z ✔ parses a UTF-8 JSONL record split across read buffers (50.072516ms) -2026-09-27T05:33:44.8035586Z ✔ rejects a short read before the fixed rollout snapshot is complete (79.133744ms) -2026-09-27T05:33:44.8046218Z ✔ does not follow records appended after the rollout snapshot is opened (19.03426ms) -2026-09-27T05:33:44.8101864Z ✔ rejects an oversized JSONL record without buffering the complete rollout (12.99279ms) -2026-09-27T05:33:44.8104260Z ✔ rejects converted histories that exceed message count or byte budgets (27.06685ms) -2026-09-27T05:33:44.8105493Z ✔ streams valid rollouts larger than the legacy 64 MiB whole-file limit (1243.454761ms) -2026-09-27T05:33:44.8108361Z ✔ never follows a state database rollout path outside CODEX_HOME (37.270305ms) -2026-09-27T05:33:44.8110185Z ✔ is registered by the internal default registry (4.08507ms) -2026-09-27T05:33:44.8110872Z ✔ CodexSessionAdapter (2514.025446ms) -2026-09-27T05:33:44.8111353Z ▶ config-transfer -2026-09-27T05:33:44.8111988Z ✔ records only the selected categories in includedData and round-trips (3.474834ms) -2026-09-27T05:33:44.8112904Z ✔ carries credentials only when the user opted into that category (0.388997ms) -2026-09-27T05:33:44.8114188Z ✔ drops a credentials payload that is not declared in includedData (0.364665ms) -2026-09-27T05:33:44.8115309Z ✔ fails closed on an unknown schema version (0.369275ms) -2026-09-27T05:33:44.8116025Z ✔ rejects non-JSON and malformed payloads (0.340954ms) -2026-09-27T05:33:44.8148375Z ✔ plans connection merges with skip vs overwrite conflict strategies (0.853916ms) -2026-09-27T05:33:44.8165546Z ✔ skips overwriting a custom connection whose default protocol differs (0.467657ms) -2026-09-27T05:33:44.8185497Z ✔ skips a connection whose provider type no longer exists (0.340654ms) -2026-09-27T05:33:44.8225421Z ✔ de-dupes repeated slugs within the imported set (2.943346ms) -2026-09-27T05:33:44.8257183Z ✔ config-transfer (12.555651ms) -2026-09-27T05:33:44.9106555Z ✔ TUI MCP startup stays backgrounded and publishes the discovered snapshot (21.339563ms) -2026-09-27T05:33:44.9238501Z ✔ TUI MCP serializes remote provider credential changes through its publication lane (6.109737ms) -2026-09-27T05:33:44.9326285Z ✔ TUI MCP publication coalesces a discovery change behind the in-flight revision (13.591084ms) -2026-09-27T05:33:44.9502030Z ✔ TUI MCP invalidates a lost generation and republishes on its replacement (20.53693ms) -2026-09-27T05:33:44.9671022Z ✔ TUI MCP unregisters the current generation when discovery removes every tool (13.057475ms) -2026-09-27T05:33:44.9712961Z ✔ TUI MCP fails closed when its saved config cannot be read (6.006927ms) -2026-09-27T05:33:44.9778025Z ✔ offline backup restores context refs and verified managed bytes into an empty root (1390.70096ms) -2026-09-27T05:33:44.9817872Z ✔ single-Session export contains only its refs and shared payload once, with no private free-page bytes (936.781765ms) -2026-09-27T05:33:44.9820194Z ✔ missing or corrupt context bytes never publish a successful backup (766.491529ms) -2026-09-27T05:33:44.9821357Z ✔ restore rejects tampering even if the manifest is recomputed (515.79829ms) -2026-09-27T05:33:44.9823469Z ✔ TUI MCP unregisters a publication that settles while close is waiting (8.711162ms) -2026-09-27T05:33:44.9916470Z ✔ TUI MCP add commits before manager synchronization and reports Host convergence (7.718556ms) -2026-09-27T05:33:45.0105332Z ✔ TUI MCP retires endpoint credentials before persistence and aborts on cleanup failure (14.984806ms) -2026-09-27T05:33:45.0153452Z ✔ TUI MCP rejects an invalid endpoint before retiring the previous credentials (7.426181ms) -2026-09-27T05:33:45.0218428Z ✔ TUI MCP edit rejects a stale revision without touching credentials or disk (7.375613ms) -2026-09-27T05:33:45.0666553Z ✔ TUI MCP import preserves unrelated external edits and rejects changed preview entries (42.836714ms) -2026-09-27T05:33:45.0836073Z ✔ TUI MCP follows a change Desktop makes to mcp.json and keeps an open import preview (18.71209ms) -2026-09-27T05:33:45.0883822Z ✔ TUI MCP follows a change Desktop makes while the TUI is still starting (7.349252ms) -2026-09-27T05:33:45.1121501Z ✔ TUI MCP recovers on the next mcp.json change after a failed start or sync (26.382455ms) -2026-09-27T05:33:45.1230701Z ✔ TUI MCP keeps a durable mutation visible when manager synchronization fails (7.828972ms) -2026-09-27T05:33:45.1886767Z ✔ TUI MCP reconciles an already-published write through execute: remove (58.213939ms) -2026-09-27T05:33:45.2200521Z ✔ TUI MCP reconciles an already-published write through execute: edit (36.203806ms) -2026-09-27T05:33:45.2696238Z ✔ TUI MCP reconciles an already-published write through execute: newer-config (47.660463ms) -2026-09-27T05:33:45.3093623Z ✔ TUI MCP reconciles an already-published write through execute: read-failure (42.67884ms) -2026-09-27T05:33:45.3448210Z ✔ TUI MCP reconciles an already-published write through execute: sync-failure (37.557766ms) -2026-09-27T05:33:45.3716342Z ✔ TUI MCP reconciles an already-published write through execute: publication-failure (24.112588ms) -2026-09-27T05:33:45.3806248Z ✔ TUI MCP does not reconcile or replay a write that fails before publication (7.606298ms) -2026-09-27T05:33:45.3926122Z ✔ TUI MCP close fences reconciliation while retaining the published write error (15.490831ms) -2026-09-27T05:33:45.3981835Z ✔ TUI MCP reports a committed action as pending while the Host is unavailable (7.11238ms) -2026-09-27T05:33:45.4130762Z ✔ TUI MCP close fences an admitted mutation before persistence (12.476181ms) -2026-09-27T05:33:45.4247966Z ✔ TUI MCP waits for manager synchronization before publishing an action snapshot (11.102609ms) -2026-09-27T05:33:45.4299063Z ✔ TUI MCP rebases an action over an unrelated concurrent config edit (7.126736ms) -2026-09-27T05:33:45.4721003Z ✔ independent TUI controllers preserve concurrent additions in one workspace (36.590618ms) -2026-09-27T05:33:45.5016406Z ✔ same-server credential retirement stays inside the shared config transaction (27.514126ms) -2026-09-27T05:33:45.5056186Z ✔ TUI MCP manages enabled state, tests, reconnects, and removes through one lane (5.44448ms) -2026-09-27T05:33:45.6826709Z ✔ a missing context database with a durable image reference fails closed (707.123913ms) -2026-09-27T05:33:45.9798466Z ✔ projects root lifecycle without fabricating content events (87.66762ms) -2026-09-27T05:33:45.9997449Z ✔ joins an active Turn without losing or replaying assistant text (21.723999ms) -2026-09-27T05:33:46.0326221Z [runtime-host-session-observer] recovering subscription { -2026-09-27T05:33:46.0402675Z sessionId: 'session-1', -2026-09-27T05:33:46.0497459Z turnId: 'turn-1', -2026-09-27T05:33:46.0497890Z runId: 'run-1', -2026-09-27T05:33:46.0547540Z reason: 'slow_consumer', -2026-09-27T05:33:46.0595524Z message: 'Runtime Host Session subscription closed for a slow consumer' -2026-09-27T05:33:46.0607638Z } -2026-09-27T05:33:46.0630846Z [runtime-host-session-observer] subscription recovered { -2026-09-27T05:33:46.0688558Z sessionId: 'session-1', -2026-09-27T05:33:46.0736238Z turnId: 'turn-1', -2026-09-27T05:33:46.0801516Z runId: 'run-1', -2026-09-27T05:33:46.0835000Z reason: 'slow_consumer', -2026-09-27T05:33:46.0857861Z message: 'Runtime Host Session subscription closed for a slow consumer' -2026-09-27T05:33:46.0895706Z } -2026-09-27T05:33:46.0926959Z ✔ restores renderer observation after the Host connection is replaced (33.684431ms) -2026-09-27T05:33:46.0965928Z ✔ rebinds a restored renderer observation to the current target scope (0.828081ms) -2026-09-27T05:33:46.1025528Z ✔ does not report an observation ready before its source has seeded (0.515561ms) -2026-09-27T05:33:46.1050510Z ✔ rejects a pending observation when its first seed fails (0.962667ms) -2026-09-27T05:33:46.1092402Z ✔ keeps an active observation across a failed Host replacement (2.584935ms) -2026-09-27T05:33:46.1135443Z ✔ restores transcript consumers across Host replacement (3.210244ms) -2026-09-27T05:33:46.1175298Z ✔ does not hold Host observation recovery on transcript replay (1.064839ms) -2026-09-27T05:33:46.1176542Z ✔ fences earlier transcript failures to the current registration and Host source (1.065517ms) -2026-09-27T05:33:46.1203380Z ✔ fences earlier transcript failures across same-source replica recovery (11.307186ms) -2026-09-27T05:33:46.1277588Z ✔ cancels a transcript consumer while its replica is still preparing (1.155108ms) -2026-09-27T05:33:46.1285634Z ✔ broadcasts durable admission and transcript changes from the same message (4.510529ms) -2026-09-27T05:33:46.1333975Z ✔ proves a removed follow-up is owned before successor content (2.393311ms) -2026-09-27T05:33:46.1357009Z ✔ proves a removed follow-up is cancelled before successor content (1.713372ms) -2026-09-27T05:33:46.1375733Z ✔ proves a removed follow-up is not_admitted before successor content (4.472617ms) -2026-09-27T05:33:46.1410081Z ✔ proves a removed follow-up is pending before successor content (3.787346ms) -2026-09-27T05:33:46.1421390Z ✔ proves a removed follow-up is unavailable before successor content (1.151963ms) -2026-09-27T05:33:46.1475715Z ✔ moves the read marker only as far as the Renderer window reports reaching (5.354135ms) -2026-09-27T05:33:46.1556862Z ✔ keeps a bounded transcript batch window in flight until the renderer acknowledges it (21.8297ms) -2026-09-27T05:33:46.1645485Z [runtime-host-session-observer] recovering subscription { -2026-09-27T05:33:46.1669030Z sessionId: 'session-1', -2026-09-27T05:33:46.1751159Z turnId: 'turn-1', -2026-09-27T05:33:46.1785513Z runId: 'run-1', -2026-09-27T05:33:46.1936685Z reason: 'slow_consumer', -2026-09-27T05:33:46.1985381Z message: 'Runtime Host Session subscription closed for a slow consumer' -2026-09-27T05:33:46.2015039Z } -2026-09-27T05:33:46.2099119Z [runtime-host-session-observer] subscription recovered { -2026-09-27T05:33:46.2121396Z sessionId: 'session-1', -2026-09-27T05:33:46.2215175Z turnId: 'turn-1', -2026-09-27T05:33:46.2245834Z runId: 'run-1', -2026-09-27T05:33:46.2326385Z reason: 'slow_consumer', -2026-09-27T05:33:46.2354063Z message: 'Runtime Host Session subscription closed for a slow consumer' -2026-09-27T05:33:46.2426875Z } -2026-09-27T05:33:46.2489178Z ✔ finishes transcript open on the replacement replica after recovery (33.070238ms) -2026-09-27T05:33:46.2608111Z [runtime-host-session-observer] recovering subscription { -2026-09-27T05:33:46.2665362Z sessionId: 'session-1', -2026-09-27T05:33:46.2692597Z turnId: 'turn-1', -2026-09-27T05:33:46.2765102Z runId: 'run-1', -2026-09-27T05:33:46.2799068Z reason: 'slow_consumer', -2026-09-27T05:33:46.2825637Z message: 'Runtime Host Session subscription closed for a slow consumer' -2026-09-27T05:33:46.2881052Z } -2026-09-27T05:33:46.2955400Z [runtime-host-session-observer] subscription recovered { -2026-09-27T05:33:46.3055166Z sessionId: 'session-1', -2026-09-27T05:33:46.3105504Z turnId: 'turn-1', -2026-09-27T05:33:46.3145184Z runId: 'run-1', -2026-09-27T05:33:46.3169749Z reason: 'slow_consumer', -2026-09-27T05:33:46.3189322Z message: 'Runtime Host Session subscription closed for a slow consumer' -2026-09-27T05:33:46.3219040Z } -2026-09-27T05:33:46.3246344Z ✔ coalesces transcript changes into one bounded delta while renderer delivery is backpressured (10.661155ms) -2026-09-27T05:33:46.3255832Z ✔ delivers history in whole Turns within the budget and continues exactly on load earlier (3.579062ms) -2026-09-27T05:33:46.3276408Z ✔ reads earlier history past its budget down to the requested Turn in one answer (6.649882ms) -2026-09-27T05:33:46.3303998Z ✔ keeps the history already delivered across a same-session recovery (9.273049ms) -2026-09-27T05:33:46.3335843Z ✔ keeps the history already delivered across a replacement of the Host connection (9.004984ms) -2026-09-27T05:33:46.3355491Z ✔ a tail transcript consumer still receives the replica snapshot (3.068242ms) -2026-09-27T05:33:46.3385567Z ✔ reads every row of one Turn through the Host Turn index (2.917279ms) -2026-09-27T05:33:46.3405822Z ✔ does not let one backpressured transcript consumer block another (7.701686ms) -2026-09-27T05:33:46.3415651Z ✔ keeps a transcript consumer available after a delivery fails (22.433777ms) -2026-09-27T05:33:46.3445888Z ✔ ignores a stale seed failure after its replacement succeeds (3.211288ms) -2026-09-27T05:33:46.3475884Z ✔ does not publish a terminal error while an owner-managed connection is replaced (3.043074ms) -2026-09-27T05:33:46.3495781Z ✔ keeps a native Turn watched without a renderer and releases it at terminal (1.232902ms) -2026-09-27T05:33:46.3505765Z ✔ does not let an older terminal projection finish a newer watched Turn (5.479998ms) -2026-09-27T05:33:46.3535982Z ✔ invalidates the transcript when another client starts a Turn (2.609715ms) -2026-09-27T05:33:46.3563430Z ✔ abandons a watched Turn when the initial Host subscription fails (0.62059ms) -2026-09-27T05:33:46.3582160Z [runtime-host-session-observer] recovering subscription { -2026-09-27T05:33:46.3605581Z sessionId: 'session-1', -2026-09-27T05:33:46.3635224Z turnId: 'turn-1', -2026-09-27T05:33:46.3700975Z runId: 'run-1', -2026-09-27T05:33:46.3756160Z reason: 'slow_consumer', -2026-09-27T05:33:46.3811898Z message: 'Runtime Host Session subscription closed for a slow consumer' -2026-09-27T05:33:46.3835092Z } -2026-09-27T05:33:46.3875436Z ✔ abandons a watched Turn and removes it from the catalog when Guest access ends (6.680152ms) -2026-09-27T05:33:46.3915423Z [runtime-host-session-observer] subscription recovered { -2026-09-27T05:33:46.3987295Z sessionId: 'session-1', -2026-09-27T05:33:46.4045611Z turnId: 'turn-1', -2026-09-27T05:33:46.4116988Z runId: 'run-1', -2026-09-27T05:33:46.4138814Z reason: 'slow_consumer', -2026-09-27T05:33:46.4175588Z message: 'Runtime Host Session subscription closed for a slow consumer' -2026-09-27T05:33:46.4227829Z } -2026-09-27T05:33:46.4275366Z [runtime-host-session-observer] recovering subscription { -2026-09-27T05:33:46.4301680Z sessionId: 'session-1', -2026-09-27T05:33:46.4325239Z turnId: 'turn-1', -2026-09-27T05:33:46.4355178Z runId: 'run-1', -2026-09-27T05:33:46.4355832Z reason: 'subscription_closed', -2026-09-27T05:33:46.4388198Z message: 'Session subscription was not found' -2026-09-27T05:33:46.4415088Z } -2026-09-27T05:33:46.4445519Z [runtime-host-session-observer] subscription recovered { -2026-09-27T05:33:46.4490812Z sessionId: 'session-1', -2026-09-27T05:33:46.4506209Z turnId: 'turn-1', -2026-09-27T05:33:46.4519764Z runId: 'run-1', -2026-09-27T05:33:46.4545466Z reason: 'subscription_closed', -2026-09-27T05:33:46.4565866Z message: 'Session subscription was not found' -2026-09-27T05:33:46.4566509Z } -2026-09-27T05:33:46.4567624Z ✔ reopens an evicted active subscription without a renderer resubscribe (5.653736ms) -2026-09-27T05:33:46.4568603Z [runtime-host-session-observer] recovering subscription { -2026-09-27T05:33:46.4584993Z sessionId: 'session-1', -2026-09-27T05:33:46.4615133Z turnId: 'turn-1', -2026-09-27T05:33:46.4645021Z runId: 'run-1', -2026-09-27T05:33:46.4645734Z reason: 'slow_consumer', -2026-09-27T05:33:46.4653157Z message: 'Runtime Host Session subscription closed for a slow consumer' -2026-09-27T05:33:46.4653934Z } -2026-09-27T05:33:46.4655144Z ✔ recovers when transcript paging loses the active subscription (6.727262ms) -2026-09-27T05:33:46.4656146Z [runtime-host-session-observer] recovering subscription { -2026-09-27T05:33:46.4656739Z sessionId: 'session-1', -2026-09-27T05:33:46.4657186Z turnId: 'turn-1', -2026-09-27T05:33:46.4657585Z runId: 'run-1', -2026-09-27T05:33:46.4658037Z reason: 'slow_consumer', -2026-09-27T05:33:46.4659051Z message: 'Runtime Host Session subscription closed for a slow consumer' -2026-09-27T05:33:46.4659874Z } -2026-09-27T05:33:46.4660439Z [runtime-host-session-observer] subscription recovered { -2026-09-27T05:33:46.4661059Z sessionId: 'session-1', -2026-09-27T05:33:46.4661501Z turnId: 'turn-1', -2026-09-27T05:33:46.4661922Z runId: 'run-1', -2026-09-27T05:33:46.4662357Z reason: 'slow_consumer', -2026-09-27T05:33:46.4663059Z message: 'Runtime Host Session subscription closed for a slow consumer' -2026-09-27T05:33:46.4663735Z } -2026-09-27T05:33:46.4664336Z [runtime-host-session-observer] subscription recovered { -2026-09-27T05:33:46.4665141Z sessionId: 'session-1', -2026-09-27T05:33:46.4665584Z turnId: 'turn-2', -2026-09-27T05:33:46.4665996Z runId: 'run-2', -2026-09-27T05:33:46.4666413Z reason: 'slow_consumer', -2026-09-27T05:33:46.4667095Z message: 'Runtime Host Session subscription closed for a slow consumer' -2026-09-27T05:33:46.4667867Z } -2026-09-27T05:33:46.4668873Z ✔ retries an initial subscription evicted before readiness and resyncs once (5.60397ms) -2026-09-27T05:33:46.4671438Z ✔ finishes a watched predecessor after initial catch-up recovery (4.452683ms) -2026-09-27T05:33:46.4672382Z [runtime-host-session-observer] recovering subscription { -2026-09-27T05:33:46.4672991Z sessionId: 'session-1', -2026-09-27T05:33:46.4673676Z turnId: 'turn-1', -2026-09-27T05:33:46.4674138Z runId: 'run-1', -2026-09-27T05:33:46.4674916Z reason: 'slow_consumer', -2026-09-27T05:33:46.4675577Z message: 'Runtime Host Session subscription closed for a slow consumer' -2026-09-27T05:33:46.4676143Z } -2026-09-27T05:33:46.4676918Z [runtime-host-session-observer] subscription recovered { -2026-09-27T05:33:46.4677511Z sessionId: 'session-1', -2026-09-27T05:33:46.4678098Z turnId: 'turn-1', -2026-09-27T05:33:46.4678554Z runId: 'run-1', -2026-09-27T05:33:46.4678967Z reason: 'slow_consumer', -2026-09-27T05:33:46.4679900Z message: 'Runtime Host Session subscription closed for a slow consumer' -2026-09-27T05:33:46.4680499Z } -2026-09-27T05:33:46.4681143Z [runtime-host-session-observer] recovering subscription { -2026-09-27T05:33:46.4681831Z sessionId: 'session-1', -2026-09-27T05:33:46.4682429Z turnId: 'turn-1', -2026-09-27T05:33:46.4682876Z runId: 'run-1', -2026-09-27T05:33:46.4683314Z reason: 'slow_consumer', -2026-09-27T05:33:46.4683965Z message: 'Runtime Host Session subscription closed for a slow consumer' -2026-09-27T05:33:46.4715106Z } -2026-09-27T05:33:46.4734115Z [runtime-host-session-observer] subscription recovered { -2026-09-27T05:33:46.4735147Z sessionId: 'session-1', -2026-09-27T05:33:46.4735630Z turnId: 'turn-1', -2026-09-27T05:33:46.4736078Z runId: 'run-1', -2026-09-27T05:33:46.4736507Z reason: 'slow_consumer', -2026-09-27T05:33:46.4737238Z message: 'Runtime Host Session subscription closed for a slow consumer' -2026-09-27T05:33:46.4737894Z } -2026-09-27T05:33:46.4738478Z [runtime-host-session-observer] recovering subscription { -2026-09-27T05:33:46.4739139Z sessionId: 'session-1', -2026-09-27T05:33:46.4739583Z turnId: 'turn-1', -2026-09-27T05:33:46.4739948Z runId: 'run-1', -2026-09-27T05:33:46.4740375Z reason: 'slow_consumer', -2026-09-27T05:33:46.4741001Z message: 'Runtime Host Session subscription closed for a slow consumer' -2026-09-27T05:33:46.4741596Z } -2026-09-27T05:33:46.4742098Z [runtime-host-session-observer] subscription recovered { -2026-09-27T05:33:46.4742667Z sessionId: 'session-1', -2026-09-27T05:33:46.4743041Z turnId: 'turn-2', -2026-09-27T05:33:46.4743543Z runId: 'run-2', -2026-09-27T05:33:46.4744066Z reason: 'slow_consumer', -2026-09-27T05:33:46.4745062Z message: 'Runtime Host Session subscription closed for a slow consumer' -2026-09-27T05:33:46.4748514Z } -2026-09-27T05:33:46.4749802Z ✔ seeds a joining observer from the attempt that survives repeated catch-up eviction (8.326591ms) -2026-09-27T05:33:46.4751596Z ✔ reconciles terminal, Goal, interaction, and sidecar state after subscription recovery (2.844976ms) -2026-09-27T05:33:46.4752723Z [runtime-host-session-observer] recovering subscription { -2026-09-27T05:33:46.4753803Z sessionId: 'session-1', -2026-09-27T05:33:46.4754678Z turnId: 'turn-1', -2026-09-27T05:33:46.4755108Z runId: 'run-1', -2026-09-27T05:33:46.4757873Z reason: 'slow_consumer', -2026-09-27T05:33:46.4758590Z message: 'Runtime Host Session subscription closed for a slow consumer' -2026-09-27T05:33:46.4759239Z } -2026-09-27T05:33:46.4759775Z [runtime-host-session-observer] subscription recovered { -2026-09-27T05:33:46.4760353Z sessionId: 'session-1', -2026-09-27T05:33:46.4760830Z turnId: 'turn-1', -2026-09-27T05:33:46.4761240Z runId: 'run-1', -2026-09-27T05:33:46.4761630Z reason: 'slow_consumer', -2026-09-27T05:33:46.4762306Z message: 'Runtime Host Session subscription closed for a slow consumer' -2026-09-27T05:33:46.4762933Z } -2026-09-27T05:33:46.4763449Z [runtime-host-session-observer] recovering subscription { -2026-09-27T05:33:46.4764073Z sessionId: 'session-1', -2026-09-27T05:33:46.4764793Z turnId: 'turn-1', -2026-09-27T05:33:46.4776768Z runId: 'run-1', -2026-09-27T05:33:46.4777261Z reason: 'slow_consumer', -2026-09-27T05:33:46.4777906Z message: 'Runtime Host Session subscription closed for a slow consumer' -2026-09-27T05:33:46.4778487Z } -2026-09-27T05:33:46.4779065Z [runtime-host-session-observer] subscription recovered { -2026-09-27T05:33:46.4779604Z sessionId: 'session-1', -2026-09-27T05:33:46.4780050Z turnId: 'turn-2', -2026-09-27T05:33:46.4780455Z runId: 'run-2', -2026-09-27T05:33:46.4780873Z reason: 'slow_consumer', -2026-09-27T05:33:46.4781532Z message: 'Runtime Host Session subscription closed for a slow consumer' -2026-09-27T05:33:46.4782150Z } -2026-09-27T05:33:46.4783069Z ✔ lands a reseeded completion whole on a live step a steering row followed (19.439627ms) -2026-09-27T05:33:46.4784249Z ✔ replays durable admission before a terminal successor on subscription recovery (4.368703ms) -2026-09-27T05:33:46.4785605Z ✔ shares one Host subscription and one delivery per renderer target (2.313062ms) -2026-09-27T05:33:46.4786733Z ✔ releases the renderer destroyed listener when its last observer leaves (0.743153ms) -2026-09-27T05:33:46.4790035Z ✔ closes a Host handle that arrives after the observer is closed (0.35444ms) -2026-09-27T05:33:46.4791567Z ✔ rehydrates pending interactions and publishes answer acknowledgements (6.065445ms) -2026-09-27T05:33:46.4794768Z ✔ publishes form answer acknowledgements for renderer queue retirement (0.703465ms) -2026-09-27T05:33:46.4832283Z ✔ projects Host queue revisions and places steering from the runtime event (7.915547ms) -2026-09-27T05:33:46.4906715Z [runtime-host-session-observer] recovering subscription { -2026-09-27T05:33:46.4942645Z sessionId: 'session-1', -2026-09-27T05:33:46.5015041Z turnId: 'turn-1', -2026-09-27T05:33:46.5015642Z runId: 'run-1', -2026-09-27T05:33:46.5067309Z reason: 'slow_consumer', -2026-09-27T05:33:46.5093988Z message: 'Runtime Host Session subscription closed for a slow consumer' -2026-09-27T05:33:46.5126297Z } -2026-09-27T05:33:46.5197074Z ✔ publishes Host sidecar and graph invalidations without inventing Session status changes (1.231893ms) -2026-09-27T05:33:46.5219794Z ✔ reseeds an evicted replica on the live subscription when a transcript opens (18.07971ms) -2026-09-27T05:33:46.5265322Z [runtime-host-session-observer] subscription recovery failed { -2026-09-27T05:33:46.5287732Z failure: { -2026-09-27T05:33:46.5318295Z sessionId: 'session-1', -2026-09-27T05:33:46.5344076Z turnId: 'turn-1', -2026-09-27T05:33:46.5384607Z runId: 'run-1', -2026-09-27T05:33:46.5488416Z reason: 'slow_consumer', -2026-09-27T05:33:46.5546340Z message: 'Runtime Host Session subscription closed for a slow consumer' -2026-09-27T05:33:46.5605008Z }, -2026-09-27T05:33:46.5668638Z recovery: { -2026-09-27T05:33:46.5765640Z sessionId: 'session-1', -2026-09-27T05:33:46.5795115Z turnId: 'turn-1', -2026-09-27T05:33:46.5846081Z runId: 'run-1', -2026-09-27T05:33:46.5895607Z reason: 'subscription_closed', -2026-09-27T05:33:46.5963467Z message: 'Runtime Host Session observer closed while opening' -2026-09-27T05:33:46.6009586Z } -2026-09-27T05:33:46.6028743Z } -2026-09-27T05:33:46.6055836Z ✔ trims around a replica that recovery already closed (10.142926ms) -2026-09-27T05:33:46.6103798Z ✔ feeds the surviving projector rows that went durable while the replica was evicted (7.241328ms) -2026-09-27T05:33:46.6135655Z ✔ keeps the subscription alive when a catch-up decode hits the cache capacity gate (8.95339ms) -2026-09-27T05:33:46.6178491Z ✔ does not cache a snapshot published before the replica is installed (1.513749ms) -2026-09-27T05:33:46.6245744Z ✔ a running Turn keeps its subscription after the last viewer leaves (7.537659ms) -2026-09-27T05:33:46.6255615Z ✔ the subscription is released once the running Turn ends with no viewer (11.244659ms) -2026-09-27T05:33:46.6313654Z ✔ a later observer in the same renderer receives the accumulated active stream (1.128396ms) -2026-09-27T05:33:46.6355346Z [runtime-host-session-observer] recovering subscription { -2026-09-27T05:33:46.6356171Z sessionId: 'session-1', -2026-09-27T05:33:46.6429014Z turnId: 'turn-1', -2026-09-27T05:33:46.6457987Z runId: 'run-1', -2026-09-27T05:33:46.6515176Z reason: 'subscription_closed', -2026-09-27T05:33:46.6520089Z message: 'subscription transcript context was lost' -2026-09-27T05:33:46.6545167Z } -2026-09-27T05:33:46.6595355Z [runtime-host-session-observer] subscription recovered { -2026-09-27T05:33:46.6635150Z sessionId: 'session-1', -2026-09-27T05:33:46.6673329Z turnId: 'turn-1', -2026-09-27T05:33:46.6674134Z runId: 'run-1', -2026-09-27T05:33:46.6725563Z reason: 'subscription_closed', -2026-09-27T05:33:46.6805210Z message: 'subscription transcript context was lost' -2026-09-27T05:33:46.6835412Z } -2026-09-27T05:33:46.6867950Z ✔ acknowledging the tail of a latched replica is a quiet no-op (12.069188ms) -2026-09-27T05:33:46.6925466Z [runtime-host-session-observer] recovering subscription { -2026-09-27T05:33:46.6957503Z sessionId: 'session-1', -2026-09-27T05:33:46.7011688Z turnId: 'turn-1', -2026-09-27T05:33:46.7049780Z runId: 'run-1', -2026-09-27T05:33:46.7052053Z reason: 'subscription_closed', -2026-09-27T05:33:46.7052780Z message: 'subscription transcript context was lost' -2026-09-27T05:33:46.7055354Z } -2026-09-27T05:33:46.7056329Z [runtime-host-session-observer] subscription recovered { -2026-09-27T05:33:46.7057359Z sessionId: 'session-1', -2026-09-27T05:33:46.7057830Z turnId: 'turn-1', -2026-09-27T05:33:46.7070450Z runId: 'run-1', -2026-09-27T05:33:46.7070999Z reason: 'subscription_closed', -2026-09-27T05:33:46.7072392Z message: 'subscription transcript context was lost' -2026-09-27T05:33:46.7072950Z } -2026-09-27T05:33:46.7073950Z ✔ a latched replica reseeds through recovery for the next reader (7.781783ms) -2026-09-27T05:33:46.7075319Z ✔ dispatches a frame failure before the subscription iterator finishes closing (23.397771ms) -2026-09-27T05:33:46.7076966Z ✔ a committed frame failure is terminal, not absorbed (4.833172ms) -2026-09-27T05:33:46.7078016Z ✔ reseeds an evicted replica on the same live subscription (6.768893ms) -2026-09-27T05:33:46.7079180Z ✔ a reseed superseded by subscription recovery does not displace the new replica (5.345196ms) -2026-09-27T05:33:46.7080294Z ✔ serializes concurrent reseeds into exactly one swap (1.575885ms) -2026-09-27T05:33:46.7081302Z ✔ a reseed committing inside recovery teardown loses the swap (29.999467ms) -2026-09-27T05:33:46.7082330Z ✔ a losing reseed propagates the recovery terminal failure (2.91188ms) -2026-09-27T05:33:46.7083438Z ✔ a reseed masked by the subscription close classifies by its recorded reason (9.016754ms) -2026-09-27T05:33:46.7084748Z ✔ a reseed masked by the subscription close preserves a terminal removal (0.785713ms) -2026-09-27T05:33:46.7085788Z ✔ closes the orphan replica when install throws (7.636208ms) -2026-09-27T05:33:46.7087195Z ✔ routes a post-commit catch-up failure through attempt recovery (5.145252ms) -2026-09-27T05:33:46.7088437Z ✔ retires only Host-owned controllers when a same-key Host enters a new generation (114.486859ms) -2026-09-27T05:33:46.7089966Z ✔ proxy test preserves enabled authentication when credentials are empty (7.252794ms) -2026-09-27T05:33:46.7091110Z ✔ proxy test preserves disabled authentication for a local proxy (0.379667ms) -2026-09-27T05:33:46.7092375Z ✔ runtime settings project credential status without a password value (1.094705ms) -2026-09-27T05:33:46.7093460Z ✔ external agent update does not retry past a changed executable (5.402671ms) -2026-09-27T05:33:46.7094742Z ✔ spread-back derived and legacy password fields never enter Runtime policy (0.956863ms) -2026-09-27T05:33:46.7095830Z ✔ proxy credential operations validate before any write (3.315512ms) -2026-09-27T05:33:46.7097620Z ✔ disabling the proxy keeps credentials while disabling authentication removes them (0.742019ms) -2026-09-27T05:33:46.7098911Z ✔ keep, replace, and explicit delete preserve the derived credential contract (4.848024ms) -2026-09-27T05:33:46.7100143Z ✔ config import skips a proxy password whose bound target no longer matches (0.75149ms) -2026-09-27T05:33:46.7101397Z ✔ a later authentication disable waits for an in-flight replacement and wins (22.456397ms) -2026-09-27T05:33:46.7102574Z ✔ proxy tests wait for the lane and a failed operation does not poison it (6.606006ms) -2026-09-27T05:33:46.7103767Z ✔ a failed credential replacement does not commit proxy policy fields (0.639431ms) -2026-09-27T05:33:46.7105000Z ✔ compound config operations share the lane without re-entering it (5.809658ms) -2026-09-27T05:33:46.7107031Z ✔ Jev settings write Host policy and vault, project only a mask, and never persist the key locally (0.973259ms) -2026-09-27T05:33:46.7108660Z ✔ development setup lazily caches CLI archives by peer target unless overridden (104.735229ms) -2026-09-27T05:33:46.7110812Z ✔ a packaged desktop resolves its own setup package without a development peer target (28.331714ms) -2026-09-27T05:33:46.7115127Z ✔ cancelling the last waiter closes its build before a new setup starts (25.410756ms) -2026-09-27T05:33:46.7119941Z ✔ local TUI discovers, publishes, invokes, republishes, and closes one MCP child (978.621601ms) -2026-09-27T05:33:46.7122159Z ✔ validates typed projection refs without interpreting opaque JSON as storage refs (862.405028ms) -2026-09-27T05:33:46.8485368Z ✔ offline snapshot authority blocks a new Host owner and releases after failure (298.364765ms) -2026-09-27T05:33:47.0778149Z ✔ projects an empty Skill surface until a remote Project is selected (3.675426ms) -2026-09-27T05:33:47.0782292Z ✔ binds new-session Skill discovery to its explicit Project (0.645896ms) -2026-09-27T05:33:47.0906138Z ✔ blocks Skill location opening for a remote Runtime Host (0.552667ms) -2026-09-27T05:33:47.0943097Z ✔ rejects a Skill location from the previously selected Project before creating a directory (20.498638ms) -2026-09-27T05:33:47.3786426Z ✔ context snapshot refuses a symlinked managed-value ancestor (527.087145ms) -2026-09-27T05:33:47.4098328Z ✔ can open existing independent Skill directories after the selected Project disappears (315.831409ms) -2026-09-27T05:33:47.4241550Z ✔ requires authentic Storage Root leases and writer facades (7.336423ms) -2026-09-27T05:33:47.4270151Z ✔ single-flights one limit-bound writer and snapshots admitted inputs (166.219ms) -2026-09-27T05:33:47.4311757Z ✔ close drains admitted work, revokes the facade, and permits a clean reopen (144.434347ms) -2026-09-27T05:33:47.4340682Z ✔ root-owner close revokes new context-offload operations (66.207207ms) -2026-09-27T05:33:47.4365534Z ✔ one root runs its context mutations one at a time (5.178717ms) -2026-09-27T05:33:47.4431800Z ✔ a failed mutation does not wedge the root (0.740751ms) -2026-09-27T05:33:47.4453423Z ✔ separate roots do not wait on each other (4.870658ms) -2026-09-27T05:33:47.4467452Z ▶ FileCredentialStore -2026-09-27T05:33:47.4514167Z ✔ round-trips secrets and returns null for missing ones (40.353145ms) -2026-09-27T05:33:47.4596149Z ✔ deleteSecret(slug) with no kind clears every kind for that slug only (31.701256ms) -2026-09-27T05:33:47.4680141Z ✔ writes a versioned, plaintext (file-first) file (9.833036ms) -2026-09-27T05:33:47.4731051Z ✔ reading an unknown / pre-migration schema fails closed (25.938764ms) -2026-09-27T05:33:47.4760073Z ✔ leaves no temp file behind after a write (17.633148ms) -2026-09-27T05:33:47.4761328Z ✔ creates the file 0600 on POSIX (12.779419ms) -2026-09-27T05:33:47.4865583Z ✔ re-chmods a pre-existing world-readable file to 0600 on write (24.176555ms) -2026-09-27T05:33:47.4910131Z ✔ hardens a pre-existing world-accessible workspace dir to 0700 on write (22.984691ms) -2026-09-27T05:33:47.4999097Z ✔ serializes concurrent writes across slugs without clobbering (232.737305ms) -2026-09-27T05:33:47.5087184Z ✔ two independent store instances writing concurrently both survive (cross-process lock) (52.121816ms) -2026-09-27T05:33:47.5179826Z ✔ a held lock is waited on, never stolen (no lost update) (42.686717ms) -2026-09-27T05:33:47.5219576Z ✔ a never-released lock fails loud with the lock path and recovery hint (96.632804ms) -2026-09-27T05:33:47.5272033Z ✔ FileCredentialStore (612.616586ms) -2026-09-27T05:33:47.5295796Z ▶ FileCredentialStore compareAndSetSecret -2026-09-27T05:33:47.5335737Z ✔ commits when the basis still matches, and the write persists (45.945675ms) -2026-09-27T05:33:47.5345743Z ✔ commits a write-if-absent (expected null) only while the entry is absent (20.103106ms) -2026-09-27T05:33:47.5354994Z ✔ two store instances racing on the same basis: loser sees the entry changed and adopts it (28.350851ms) -2026-09-27T05:33:47.5395639Z ✔ a basis whose entry was deleted (logout) is distinguishable from a changed one (14.411188ms) -2026-09-27T05:33:47.5405878Z ✔ concurrent CAS from the same basis: exactly one wins, the loser returns the winner value (44.567422ms) -2026-09-27T05:33:47.5407157Z ✔ FileCredentialStore compareAndSetSecret (154.118767ms) -2026-09-27T05:33:47.5408169Z ✔ Daily Review authority serializes config revisions and preserves archives (607.134163ms) -2026-09-27T05:33:47.5409300Z ✔ Daily Review authority rejects operations after its root lease closes (216.223664ms) -2026-09-27T05:33:47.5410411Z ✔ Daily Review authority publishes and prunes archives in one operation (563.61169ms) -2026-09-27T05:33:47.5411626Z ✔ Local: plugin executor routes survive configuration and catalog projection (648.001461ms) -2026-09-27T05:33:47.5452515Z ✔ Local: bounded prefix proofs match immutable history and reject exceeded budgets (397.654478ms) -2026-09-27T05:33:47.5474236Z ✔ Local: recovery message evidence has equivalent UTF-8 byte budgets (287.334682ms) -2026-09-27T05:33:47.5475956Z ✔ Local: transcript projection consumes bounded detached event iterators (264.660234ms) -2026-09-27T05:33:47.6266681Z ✔ can create and open missing independent Skill directories after the selected Project disappears (217.345058ms) -2026-09-27T05:33:47.6557217Z ✔ Skill location contexts reject another scope, a remounted root, and a replacement Host (31.466895ms) -2026-09-27T05:33:47.6665961Z ✔ reports open_failed when the native shell cannot open a Skill directory (9.624427ms) -2026-09-27T05:33:47.6789081Z ✔ reports create_failed without opening when a Skill directory parent is not writable (11.963037ms) -2026-09-27T05:33:47.7211920Z ✔ blocks leaf-symlink Skill directories at IPC even when their target is contained (42.343659ms) -2026-09-27T05:33:47.7924284Z ✔ maps supported SSH Node identities to peer targets (1.630739ms) -2026-09-27T05:33:47.7925948Z ✔ detects the peer target through the bounded SSH preflight (5.038359ms) -2026-09-27T05:33:47.7955998Z ✔ retries target detection through the POSIX login shell when Node is not on the default PATH (9.226524ms) -2026-09-27T05:33:47.7987508Z ✔ keeps a connecting SSH prompt observable across renderer presentation changes (2.023702ms) -2026-09-27T05:33:47.8066448Z ✔ dismisses a closed SSH prompt from the authoritative presentation (1.146106ms) -2026-09-27T05:33:47.8110804Z ✔ does not reopen a cancelled SSH prompt for late process output (2.586698ms) -2026-09-27T05:33:47.8166440Z ✔ keeps setup credentials out of the interactive terminal projection (21.287733ms) -2026-09-27T05:33:47.8196405Z ✔ runs Windows setup through one encoded PowerShell command (8.686958ms) -2026-09-27T05:33:47.8216164Z ✔ discards an oversized reserved setup line instead of projecting its tail (1.785716ms) -2026-09-27T05:33:47.8233805Z ✔ keeps a completed setup process owned until it exits (5.692717ms) -2026-09-27T05:33:47.8245657Z ✔ force-stops a cancelled setup when SSH ignores graceful termination (6.726262ms) -2026-09-27T05:33:47.8276063Z ✔ does not signal a reused process identity when cancellation races SSH exit (4.875344ms) -2026-09-27T05:33:47.8305967Z ✔ reads a framed service result without projecting it into the SSH terminal (25.97029ms) -2026-09-27T05:33:47.8335629Z ✔ applies the complete remote Project root policy through the managed operator (6.030671ms) -2026-09-27T05:33:47.8395557Z ✔ keeps a received management result when SSH teardown times out (10.541038ms) -2026-09-27T05:33:47.8423564Z ✔ runs an exact update package and reports progress before an active-work result (7.597307ms) -2026-09-27T05:33:47.8468968Z ✔ uses the managed operator for update policy and one-shot reconciliation (22.267133ms) -2026-09-27T05:33:47.8496204Z ✔ keeps a prepared access credential out of the SSH terminal projection (10.041168ms) -2026-09-27T05:33:47.8519214Z ✔ creates an owner connection code through the framed SSH operator channel (4.869648ms) -2026-09-27T05:33:47.8555311Z ✔ requests adaptive-connectivity status only on the peer-management frame (3.883273ms) -2026-09-27T05:33:47.8556658Z ✔ sends a Mesh invitation only after the authenticated remote operator requests it (3.088906ms) -2026-09-27T05:33:47.8592493Z ✔ rejects a framed service result for a different action (2.037635ms) -2026-09-27T05:33:47.8620064Z ✔ requires an absent operator deployment root to be absent (0.978839ms) -2026-09-27T05:33:47.8655601Z ✔ does not launch a management process after the terminal owner closes (0.360479ms) -2026-09-27T05:33:47.8695688Z ✔ runs interactive operator activation as one strict framed SSH command (6.207145ms) -2026-09-27T05:33:47.8697027Z ✔ uploads a development release archive before running the same remote setup (14.311024ms) -2026-09-27T05:33:47.8739029Z ✔ keeps available collaboration inboxes when another Owner Host rejects (45.881242ms) -2026-09-27T05:33:47.8767161Z ✔ retains the previous inbox projection when every Owner Host rejects (0.811899ms) -2026-09-27T05:33:47.8796211Z ✔ one screen call atomically supplies totals, complete groups, pricing, and only the first activity page (5.418454ms) -2026-09-27T05:33:47.8852671Z ✔ initial All load fixes its time bound before dispatch (2.581546ms) -2026-09-27T05:33:47.8891317Z ✔ capacity failure is surfaced without retry, fallback, or partial reads (0.3003ms) -2026-09-27T05:33:47.8892736Z ✔ continuation forwards query and revision and preserves typed stale or capacity failures (1.72812ms) -2026-09-27T05:33:47.8924747Z ✔ activity IPC rejects a complete-screen request before Host dispatch (2.936552ms) -2026-09-27T05:33:47.8964814Z ✔ independent summary response cannot masquerade as a complete screen (0.362304ms) -2026-09-27T05:33:47.8985618Z ✔ Local: transcript serves a running Turn up to the watermark (320.627125ms) -2026-09-27T05:33:48.2337091Z ✔ Local: a transcript Turn spans every visible invocation carrying its turnId (421.911975ms) -2026-09-27T05:33:48.5001328Z ✔ Local: steering reorder preserves unselected and followup queue slots (269.094511ms) -2026-09-27T05:33:48.5194586Z ✔ registers the WorkHub Session projection as a reconnectable read (1.441053ms) -2026-09-27T05:33:48.5244065Z ✔ stores new-work execution defaults separately from the coordination Session (3.761329ms) -2026-09-27T05:33:48.5292471Z ✔ returns a structured WorkHub attachment rejection across IPC (0.762852ms) -2026-09-27T05:33:48.5293686Z ✔ returns a structured model setup state across IPC (0.456156ms) -2026-09-27T05:33:48.5335992Z ✔ does not diagnose an ordinary WorkHub conflict as missing model setup (0.492244ms) -2026-09-27T05:33:48.5526016Z ✔ WSL management invokes the stable operator directly with the exact deployment target (79.997785ms) -2026-09-27T05:33:48.5553761Z ✔ WSL setup forwards the development archive and its exact evidence (20.787177ms) -2026-09-27T05:33:48.5593121Z ✔ released WSL onboarding cannot authorize replacement or interruption (6.062558ms) -2026-09-27T05:33:48.5596990Z ✔ WSL update cancellation closes retirement input without killing the transaction (4.182721ms) -2026-09-27T05:33:48.5598342Z ✔ released WSL discovery accepts an existing binding without a credential or package mutation (2.34017ms) -2026-09-27T05:33:48.7890548Z ✔ Local: catalog lists subagent Sessions unless a parent filter restricts them (286.664608ms) -2026-09-27T05:33:48.8086623Z ✔ newer WSL Host offers no downgrade and never resolves an update package (1.810997ms) -2026-09-27T05:33:48.8122317Z ✔ unbound WSL connection has no mutation authority (0.44537ms) -2026-09-27T05:33:48.8148966Z ✔ WSL handoff carries exact source identity and separately forwards interruption consent (2.491943ms) -2026-09-27T05:33:48.8166167Z ✔ legacy operator without a configuration fingerprint remains fenced by source version and Host identity (0.755376ms) -2026-09-27T05:33:48.8195721Z ✔ development handoff never presents package integrity as a version (0.450744ms) -2026-09-27T05:33:48.8288849Z ✔ captures collapse scroll motion (1.456261ms) -2026-09-27T05:33:48.8343112Z ✔ a preference for less motion collapses scrolling (0.299005ms) -2026-09-27T05:33:49.2787019Z ✔ Local: catalog paginates parents and subagent Sessions without omissions (486.476235ms) -2026-09-27T05:33:49.3983275Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:33:49.5566710Z ✔ Local: catalog hides preparing copies until publication without losing recovery state (279.03155ms) -2026-09-27T05:33:49.7749062Z ✔ Local: imported message projection finishes before commit starts (220.91364ms) -2026-09-27T05:33:50.0548331Z ✔ Local: external import lookup excludes staged Sessions (275.535106ms) -2026-09-27T05:33:50.4653877Z ✔ Local: catalog pagination visits mixed-case tied IDs exactly once in Local order (415.114225ms) -2026-09-27T05:33:50.6631249Z ✔ Local: catalog reads explicitly opt into the recoverable coordination role (195.851121ms) -2026-09-27T05:33:50.9263836Z ✔ Local: WorkHub binds delegated text and copied attachments to admission and replay (265.620104ms) -2026-09-27T05:33:51.2539403Z ✔ Local: closed children cannot escape the execution group authority (326.00764ms) -2026-09-27T05:33:51.3005971Z ▶ session bundle export tree -2026-09-27T05:33:51.3126153Z ✔ nests a subagent subtree and counts the whole thing (103.226227ms) -2026-09-27T05:33:51.3184062Z ✔ reads the link the catalog actually publishes (46.388897ms) -2026-09-27T05:33:51.3220784Z ✔ shows a task whose parent is not in the list (15.561356ms) -2026-09-27T05:33:51.3295868Z ✔ a Session that names itself as its parent still renders (6.73945ms) -2026-09-27T05:33:51.3337623Z ✔ leaves archived tasks out (5.547225ms) -2026-09-27T05:33:51.3414088Z ✔ offers every row, because a bundle can be rooted at any node (5.978962ms) -2026-09-27T05:33:51.3445940Z ✔ shows an active grandchild whose parent is archived (7.493414ms) -2026-09-27T05:33:51.3478758Z ✔ session bundle export tree (194.950101ms) -2026-09-27T05:33:51.3838064Z ▶ session retirement sweep -2026-09-27T05:33:51.3865816Z ✔ keeps the selected session when an unrelated row changes (20.320183ms) -2026-09-27T05:33:51.3889939Z ✔ keeps a selected session an unrelated row read cannot prove absent (6.938532ms) -2026-09-27T05:33:51.3945566Z ✔ retires the selected session when its row leaves the catalog (1.53914ms) -2026-09-27T05:33:51.3975482Z ✔ keeps the selected session when its row read fails (4.820836ms) -2026-09-27T05:33:51.4017896Z ✔ sweeps retired rows after a membership refresh (1.357047ms) -2026-09-27T05:33:51.4046739Z ✔ session retirement sweep (43.755902ms) -2026-09-27T05:33:51.4076715Z ▶ revision-draft row watch fence -2026-09-27T05:33:51.4105548Z ✔ fences retirement while a just-created owner is still unobserved (0.724657ms) -2026-09-27T05:33:51.4136536Z ✔ still retires a never-admitted row a targeted read reported gone (0.262342ms) -2026-09-27T05:33:51.4165523Z ✔ keeps a patch-admitted row when a list observed before admission lands (0.471023ms) -2026-09-27T05:33:51.4194084Z ✔ retires the draft owner once an authoritative list omits it (0.380128ms) -2026-09-27T05:33:51.4228899Z ✔ revision-draft row watch fence (2.35423ms) -2026-09-27T05:33:51.5375949Z ✔ Local: child bindings stay reserved while group close is pending (283.67109ms) -2026-09-27T05:33:51.7407772Z ✔ owns the dialog below the shell and keeps target changes and polling reader-local (302.283338ms) -2026-09-27T05:33:51.7528563Z ✔ Local: nested Code Mode tool progress stays outside the immutable ledger (215.581827ms) -2026-09-27T05:33:51.8414328Z ✔ does not publish an old target read or restart its poll after target replacement (99.86817ms) -2026-09-27T05:33:51.8845521Z ✔ cleans up in-flight polling on unmount under StrictMode (45.589127ms) -2026-09-27T05:33:51.9384019Z ✔ closes local sharing and opens the existing Settings destination when remote access is off (58.003838ms) -2026-09-27T05:33:51.9856623Z ✔ rechecks local remote access immediately before invitation creation (45.424436ms) -2026-09-27T05:33:52.0288896Z ✔ Local: conversation copy rebuilds Tool T1/T2 projections and exact retries (272.019034ms) -2026-09-27T05:33:52.0456404Z ✔ requires explicit insecure confirmation, then copies the injected invitation (62.929821ms) -2026-09-27T05:33:52.2516265Z ✔ keeps grant revocation and turn decisions bound to the dialog target (198.627125ms) -2026-09-27T05:33:52.2703254Z ✔ Local: completed conversation copy can replay T2 without a prior live T1 (237.106913ms) -2026-09-27T05:33:52.3896452Z ✔ discards the previous invitation immediately when the target changes (143.545496ms) -2026-09-27T05:33:52.4755734Z ✔ does not retry invitation creation when insecure confirmation is declined (76.82966ms) -2026-09-27T05:33:52.5580120Z ✔ Local: a lost copy acknowledgement retries without duplicating facts (295.332766ms) -2026-09-27T05:33:52.7946324Z ✔ Local: copy cannot steal another Session tool operation during projection rebuild (235.16168ms) -2026-09-27T05:33:52.9005152Z [runtime-host] models.dev no longer carries 16 path(s) the bundled snapshot described; adopting upstream: /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-0731, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-flash-vision-exp, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro, /metadata/fireworks-ai/accounts~1fireworks~1models~1deepseek-v4-pro-0813, /metadata/fireworks-ai/accounts~1fireworks~1models~1glm-5p2, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p6, /metadata/fireworks-ai/accounts~1fireworks~1models~1kimi-k2p7-code, /metadata/fireworks-ai/accounts~1fireworks~1models~1minimax-m2p7, /metadata/fireworks-ai/accounts~1fireworks~1models~1muse-glimmer-30b, /metadata/fireworks-ai/accounts~1fireworks~1models~1qwen3p7-plus, /metadata/fireworks-ai/accounts~1fireworks~1routers~1deepseek-pro-latest, /metadata/fireworks-ai/accounts~1fireworks~1routers~1glm-5p2-fast, /metadata/openrouter/anthropic~1claude-3-haiku, /metadata/openrouter/nex-agi~1nex-n2.5-mini:free, /metadata/openrouter/nex-agi~1nex-n2.5-pro:free, /metadata/openrouter/z-ai~1glm-5.2:free -2026-09-27T05:33:53.0321623Z ✔ remote TUI publication keeps its owner association across reconnect and revocation (7170.030273ms) -2026-09-27T05:33:53.1059298Z ✔ Local: copied recovery bundles preserve parked state and reject incomplete evidence (313.700513ms) -2026-09-27T05:33:53.1943105Z ✔ remote TUI publication activates, rotates, and removes one profile-bound credential (39.085128ms) -2026-09-27T05:33:53.1990869Z ✔ remote TUI publication fails closed while the same provider lifetime is active (27.711011ms) -2026-09-27T05:33:53.2016021Z ✔ remote TUI publication cannot bypass a failed lifetime lease (1.739448ms) -2026-09-27T05:33:53.2018468Z ✔ remote TUI publication surfaces rejected credentials without a retry authority (5.987833ms) -2026-09-27T05:33:53.2019756Z ✔ remote TUI publication aborts an in-flight connection before closing (6.520045ms) -2026-09-27T05:33:53.2021127Z ✔ remote TUI publication revalidates its profile before publishing an initial connection (8.688918ms) -2026-09-27T05:33:53.2023468Z ✔ remote TUI publication revalidates every reconnect result (2.527667ms) -2026-09-27T05:33:53.2024850Z ✔ remote TUI publication reconnects through current direct-peer routes (9.850108ms) -2026-09-27T05:33:53.2026076Z ✔ remote TUI publication retires when another process removes its profile (9.99873ms) -2026-09-27T05:33:53.2027238Z ✔ remote TUI publication cannot write into a recreated profile incarnation (1.021474ms) -2026-09-27T05:33:53.2051498Z ✔ remote TUI publication cannot register capabilities after profile recreation (1.196139ms) -2026-09-27T05:33:53.2075921Z ✔ remote TUI publication retires across a coalesced same-target recreation (11.213391ms) -2026-09-27T05:33:53.2099542Z ✔ remote TUI publication close waits for concurrent profile retirement cleanup (1.618598ms) -2026-09-27T05:33:53.2127392Z ✔ remote TUI publication closes its direct peer after a permanent reconnect failure (11.785384ms) -2026-09-27T05:33:53.2155299Z ▶ TUI primary guidance catalog -2026-09-27T05:33:53.2195902Z ✔ both locales describe every TUI slash command (2.100651ms) -2026-09-27T05:33:53.2249187Z ✔ describes /todo as the current session Todo list in every primary locale (0.280612ms) -2026-09-27T05:33:53.2253723Z ✔ keeps keybinding tokens identical across locales (0.793079ms) -2026-09-27T05:33:53.2287859Z ✔ renders Option shortcut labels on macOS and Alt labels elsewhere (0.980082ms) -2026-09-27T05:33:53.2305331Z ✔ TUI primary guidance catalog (5.920038ms) -2026-09-27T05:33:53.2328685Z ▶ TUI Session status badge -2026-09-27T05:33:53.2399988Z ✔ only marks running when the Runtime Host reports a live Turn (1.07255ms) -2026-09-27T05:33:53.2472008Z ✔ distinguishes user questions from permission requests with localized copy (0.24095ms) -2026-09-27T05:33:53.2505461Z ✔ marks only actionable blocked reasons and keeps resting rows unmarked (2.39355ms) -2026-09-27T05:33:53.2506299Z ✔ TUI Session status badge (15.95692ms) -2026-09-27T05:33:53.2620306Z ▶ renderTuiShortcutCopy -2026-09-27T05:33:53.2665792Z ✔ renders Alt shortcut labels with the Option symbol on macOS (1.367008ms) -2026-09-27T05:33:53.2695398Z ✔ preserves Alt shortcut labels on non-macOS platforms (0.228891ms) -2026-09-27T05:33:53.2716141Z ✔ preserves unrelated text on every platform (0.29333ms) -2026-09-27T05:33:53.2740345Z ✔ renderTuiShortcutCopy (9.907334ms) -2026-09-27T05:33:53.2742283Z ℹ tests 1304 -2026-09-27T05:33:53.2743066Z ℹ suites 62 -2026-09-27T05:33:53.2745808Z ℹ pass 1301 -2026-09-27T05:33:53.2746261Z ℹ fail 0 -2026-09-27T05:33:53.2746702Z ℹ cancelled 0 -2026-09-27T05:33:53.2747175Z ℹ skipped 3 -2026-09-27T05:33:53.2747600Z ℹ todo 0 -2026-09-27T05:33:53.2748079Z ℹ duration_ms 166193.016465 -2026-09-27T05:33:53.2748662Z [cli] passed -2026-09-27T05:33:53.2748961Z -2026-09-27T05:33:53.2749306Z [core] start: npm run test:dist -2026-09-27T05:33:53.2904188Z ✔ Local: corrupt copy and conflicting run retries roll back the whole import (183.860035ms) -2026-09-27T05:33:53.5827711Z ✔ Local: model configuration and no-op updates preserve approved sandbox authority (290.112024ms) -2026-09-27T05:33:53.6226376Z ✔ keeps loading progress visible while an irreversible import settles (286.740263ms) -2026-09-27T05:33:53.6824950Z -2026-09-27T05:33:53.6851410Z > @maka/core@0.1.0 test:dist -2026-09-27T05:33:53.6857846Z > node --test "dist/**/*.test.js" -2026-09-27T05:33:53.6880742Z -2026-09-27T05:33:53.7162701Z ✔ closes as a retained background recovery instead of reporting a failed join (94.066112ms) -2026-09-27T05:33:53.8926279Z ✔ Local: temporary Explore and Bypass restore approved Auto authority (306.585472ms) -2026-09-27T05:33:53.9645530Z ✔ identifies a retained shared task and its selected peer transport (270.14367ms) -2026-09-27T05:33:53.9765772Z ▶ absolute path comparison -2026-09-27T05:33:53.9766696Z ✔ uses Windows case-insensitive rules while preserving POSIX case (1.286211ms) -2026-09-27T05:33:53.9767662Z ✔ absolute path comparison (6.576034ms) -2026-09-27T05:33:53.9800983Z ▶ trimTrailingPathSeparators -2026-09-27T05:33:53.9806728Z ✔ preserves filesystem roots and trims non-root paths (0.202454ms) -2026-09-27T05:33:53.9807569Z ✔ trimTrailingPathSeparators (1.580035ms) -2026-09-27T05:33:53.9847310Z ▶ canonicalWindowsPath -2026-09-27T05:33:53.9876192Z ✔ throws for a representative non-canonical path (0.727037ms) -2026-09-27T05:33:53.9891687Z ✔ canonicalWindowsPath (0.969754ms) -2026-09-27T05:33:54.0065536Z ▶ AdditionalPermissionProfile validation -2026-09-27T05:33:54.0085532Z ✔ accepts and canonicalizes a minimal filesystem permission (3.629934ms) -2026-09-27T05:33:54.0128058Z ✔ accepts one-command network enable (0.521596ms) -2026-09-27T05:33:54.0152132Z ✔ rejects empty, relative, malformed, and policy-shaped profiles (0.379495ms) -2026-09-27T05:33:54.0195435Z ✔ compacts covered and duplicate entries deterministically (12.209396ms) -2026-09-27T05:33:54.0221649Z ✔ canonical serialization is stable across input order (0.881106ms) -2026-09-27T05:33:54.0223825Z ✔ AdditionalPermissionProfile validation (19.834297ms) -2026-09-27T05:33:54.0252537Z ▶ agent graph intent claim protocol -2026-09-27T05:33:54.0253475Z ✔ rejects malformed identities, timestamps, and unknown fields (2.00278ms) -2026-09-27T05:33:54.0254209Z ✔ agent graph intent claim protocol (3.411164ms) -2026-09-27T05:33:54.0375876Z ▶ agent graph schedule contract -2026-09-27T05:33:54.0423717Z ✔ accepts explicit selected results from an earlier graph (1.750974ms) -2026-09-27T05:33:54.0455608Z ✔ accepts a plugin executor only on newly created graph targets (0.71505ms) -2026-09-27T05:33:54.0466669Z ✔ rejects ambiguous, duplicate, empty, and add-plus-finish updates (1.292766ms) -2026-09-27T05:33:54.0499131Z ✔ agent graph schedule contract (6.987075ms) -2026-09-27T05:33:54.0886523Z ✔ preserves sharing bridge arguments and adapts remote access and clipboard capabilities (2.786325ms) -2026-09-27T05:33:54.0968277Z ✔ one logical Session copy preserves its target and source boundary across renderer reload (7.912179ms) -2026-09-27T05:33:54.1058113Z ✔ independent Branch and Revision actions never share a copy identity (2.495701ms) -2026-09-27T05:33:54.1168049Z ✔ renderer reload can enumerate every orphaned Side Chat copy owner (18.601591ms) -2026-09-27T05:33:54.1257092Z ▶ provider capacity presentation -2026-09-27T05:33:54.1326555Z ✔ uses capacity-specific copy instead of the unknown error fallback (4.613974ms) -2026-09-27T05:33:54.1351995Z ✔ provider capacity presentation (6.014769ms) -2026-09-27T05:33:54.1374817Z ▶ renderer session event health projection -2026-09-27T05:33:54.1415566Z ✔ marks stale running sessions and asks for one throttled refresh (1.462314ms) -2026-09-27T05:33:54.1458392Z ✔ uses sessions:changed as a recovery signal when stream deltas are quiet (0.316466ms) -2026-09-27T05:33:54.1496802Z ✔ uses any direct session event as a recovery signal (1.530255ms) -2026-09-27T05:33:54.1502307Z ✔ closes the projection when no stream is expected (0.270424ms) -2026-09-27T05:33:54.1538498Z ✔ does not treat terminal live tools as ongoing event-stream activity (0.777514ms) -2026-09-27T05:33:54.1575859Z ✔ renderer session event health projection (11.485839ms) -2026-09-27T05:33:54.1749021Z ▶ agent graph topology provisions -2026-09-27T05:33:54.1806898Z ✔ strictly validates one monotonic operator addition (2.548511ms) -2026-09-27T05:33:54.1855586Z ✔ agent graph topology provisions (3.81013ms) -2026-09-27T05:33:54.2076848Z ✔ Local: configuration cannot clear an unrelated block or invalid timestamp (319.060757ms) -2026-09-27T05:33:54.2423188Z ✔ AgentRun reads an event type this build does not write (1.271493ms) -2026-09-27T05:33:54.2453042Z ✔ AgentRun still rejects a record whose envelope is damaged (10.24282ms) -2026-09-27T05:33:54.2465981Z ✔ AgentRun closes its write contract against a type this build does not emit (0.287944ms) -2026-09-27T05:33:54.2606819Z ▶ agent swarm result contract -2026-09-27T05:33:54.2610088Z ✔ rejects malformed or widened result rows (4.417485ms) -2026-09-27T05:33:54.2643406Z ✔ keeps partial batches settled and classifies failed and cancelled batches (0.431589ms) -2026-09-27T05:33:54.2665475Z ✔ agent swarm result contract (7.03333ms) -2026-09-27T05:33:54.2816878Z ▶ canonical Artifact entity identity -2026-09-27T05:33:54.2817707Z ✔ accepts the shared ASCII grammar through the 128-character boundary (1.123065ms) -2026-09-27T05:33:54.2818554Z ✔ rejects values outside the canonical grammar (0.245311ms) -2026-09-27T05:33:54.2819275Z ✔ canonical Artifact entity identity (3.950389ms) -2026-09-27T05:33:54.2819813Z ▶ Artifact turn key -2026-09-27T05:33:54.2820574Z ✔ accepts bounded opaque turn keys without coupling to synthetic namespaces (0.332859ms) -2026-09-27T05:33:54.2821537Z ✔ rejects empty, unbounded, and control-bearing turn keys (0.241089ms) -2026-09-27T05:33:54.2822274Z ✔ Artifact turn key (0.854309ms) -2026-09-27T05:33:54.2881675Z ▶ Artifact source policy -2026-09-27T05:33:54.2943250Z ✔ keeps workflow-owned evidence out of independent user deletion (0.685713ms) -2026-09-27T05:33:54.2989972Z ✔ includes produced outputs in child results without leaking internal artifacts (0.430674ms) -2026-09-27T05:33:54.3007212Z ✔ keeps projection artifacts internal, durable, and readable in shared sessions (0.278891ms) -2026-09-27T05:33:54.3035701Z ✔ exposes directly written HTML files while keeping other tool results internal (0.195077ms) -2026-09-27T05:33:54.3071210Z ✔ Artifact source policy (2.052078ms) -2026-09-27T05:33:54.4099917Z ▶ attachment resource refs -2026-09-27T05:33:54.4154672Z ✔ round-trips one canonical Session Artifact without embedding Session authority (5.12652ms) -2026-09-27T05:33:54.4195748Z ✔ rejects file paths and non-canonical resource spellings (0.271857ms) -2026-09-27T05:33:54.4235879Z ✔ attachment resource refs (7.092173ms) -2026-09-27T05:33:54.4288212Z ▶ attachment content sniffing -2026-09-27T05:33:54.4315561Z ✔ recognises supported image and PDF signatures (0.615246ms) -2026-09-27T05:33:54.4389794Z ✔ does not sniff BMP: unsupported downstream, and its 2-byte marker is too weak (0.227965ms) -2026-09-27T05:33:54.4406228Z ✔ finds a PDF header behind a preamble, but keeps image sniffing at offset 0 (4.793078ms) -2026-09-27T05:33:54.4430760Z ✔ attachment content sniffing (6.009542ms) -2026-09-27T05:33:54.4469578Z ▶ resolveAttachmentMimeType (content-first precedence) -2026-09-27T05:33:54.4500655Z ✔ sniffed content wins over a conflicting name or supplied MIME (0.413621ms) -2026-09-27T05:33:54.4521353Z ✔ downgrades an unverified image/PDF claim to octet-stream (0.310838ms) -2026-09-27T05:33:54.4538167Z ✔ keeps a non-image document claim so real document kinds still resolve (0.253612ms) -2026-09-27T05:33:54.4562299Z ✔ resolveAttachmentMimeType (content-first precedence) (1.373578ms) -2026-09-27T05:33:54.4625310Z ▶ bot chat settings owner -2026-09-27T05:33:54.4636260Z ✔ normalizes an explicitly patched allowlist without touching it on unrelated patches (3.497975ms) -2026-09-27T05:33:54.4687510Z ✔ parses textarea allowlists with trim, deduplication, and the defensive cap (0.441569ms) -2026-09-27T05:33:54.4695904Z ✔ bot chat settings owner (5.304622ms) -2026-09-27T05:33:54.4715184Z ▶ bot event contract -2026-09-27T05:33:54.4745516Z ✔ derives sanitized session text and stable keys (1.415685ms) -2026-09-27T05:33:54.4755527Z ✔ recognizes only exact plaintext commands in direct messages (1.972303ms) -2026-09-27T05:33:54.4785395Z ✔ bot event contract (8.505507ms) -2026-09-27T05:33:54.5386289Z ▶ browser address input normalization -2026-09-27T05:33:54.5420111Z ✔ returns stable rejection reasons for non-navigable input (2.079344ms) -2026-09-27T05:33:54.5440875Z ✔ browser address input normalization (3.776474ms) -2026-09-27T05:33:54.6034727Z ✔ Local: immutable Session fields, lifecycle no-op and mixed admission ordering (393.544924ms) -2026-09-27T05:33:54.6575962Z ✔ serializes nested objects and arrays in one deterministic order (2.261185ms) -2026-09-27T05:33:54.6596424Z ✔ rejects values that JSON would otherwise coerce or omit (0.681404ms) -2026-09-27T05:33:54.6972208Z ▶ canonical RuntimeEvent encoding -2026-09-27T05:33:54.6973239Z ✔ omits undefined optional fields from token-usage diagnostics (8.154716ms) -2026-09-27T05:33:54.7056107Z ✔ still rejects undefined nested in arbitrary JSON payloads (0.966043ms) -2026-09-27T05:33:54.7195859Z ✔ canonical RuntimeEvent encoding (15.31186ms) -2026-09-27T05:33:54.7280721Z ▶ permission and capability snapshot contracts -2026-09-27T05:33:54.7316329Z ✔ disabled feature is paused, not permission denied (2.771705ms) -2026-09-27T05:33:54.7376820Z ✔ missing configuration is not_configured before runtime health (0.217171ms) -2026-09-27T05:33:54.7421285Z ✔ required denied or unsupported OS permission blocks capability (0.241186ms) -2026-09-27T05:33:54.7435706Z ✔ optional denied OS permission does not block a partial shipped capability (0.479006ms) -2026-09-27T05:33:54.7479632Z ✔ required not_determined or unknown OS permission is not configured yet (0.282332ms) -2026-09-27T05:33:54.7538355Z ✔ degraded runtime probe is surfaced after feature and permission gates pass (0.204335ms) -2026-09-27T05:33:54.7566337Z ✔ bot credentials_valid is runtime not_run, not operational (0.503067ms) -2026-09-27T05:33:54.7575451Z ✔ permission and capability snapshot contracts (7.029393ms) -2026-09-27T05:33:54.7661458Z ✔ legacy connection recovery opens the existing model picker when choices exist (1.301379ms) -2026-09-27T05:33:54.7685606Z ✔ legacy connection recovery falls back to Models settings only when no choice exists (0.256381ms) -2026-09-27T05:33:54.7705757Z ✔ an unsettled connection snapshot offers a reload instead of an empty picker (0.201641ms) -2026-09-27T05:33:54.7718479Z ✔ a live turn disables connection selection until model switching is safe (0.191895ms) -2026-09-27T05:33:54.7745626Z ✔ credential repair remains owned by Models settings (0.280996ms) -2026-09-27T05:33:54.8237012Z ▶ capability audit facts -2026-09-27T05:33:54.8238316Z ✔ reports skill tools and scheduled-task statuses without permission-mode aliases (17.458979ms) -2026-09-27T05:33:54.8241422Z ✔ capability audit facts (18.805968ms) -2026-09-27T05:33:54.8694825Z ✔ MCP grants preserve exact Session/provider/contract/tool authority without changing Desktop grants (7.397755ms) -2026-09-27T05:33:54.8796079Z ✔ Local: active WorkHub linkage requires target evidence and enforces bounds (278.260231ms) -2026-09-27T05:33:54.9072963Z ▶ the call a model reads back as its own -2026-09-27T05:33:54.9091574Z ✔ keeps the arguments it sent, so the shape it learns is the shape that worked (7.800449ms) -2026-09-27T05:33:54.9115743Z ✔ says how much a value held without saying what it was (0.384688ms) -2026-09-27T05:33:54.9135965Z ✔ a semantic element id comes back whole, and a broken one degrades (3.184977ms) -2026-09-27T05:33:54.9162000Z ✔ a window move reads back the place it asked for, and the verb it used (1.192867ms) -2026-09-27T05:33:54.9192426Z ✔ a scrolled element reads back which way and how far (0.424917ms) -2026-09-27T05:33:54.9222042Z ✔ a wait reads back what it was waiting for (0.256891ms) -2026-09-27T05:33:54.9261638Z ✔ a sequence stays a list of steps, with each label withheld (3.848595ms) -2026-09-27T05:33:54.9288366Z ✔ keeps a value the model chose itself (3.650038ms) -2026-09-27T05:33:54.9298223Z ✔ never shows a host-only field as though the model had sent it (1.428793ms) -2026-09-27T05:33:54.9317447Z ✔ never shows the element identity the host resolved for itself (0.358038ms) -2026-09-27T05:33:54.9352326Z ✔ a withheld value is a description of one, not a string that can be resent (0.405984ms) -2026-09-27T05:33:54.9375538Z ✔ answers a camelCase key in the dialect the tool accepts (3.555533ms) -2026-09-27T05:33:54.9400816Z ✔ the call a model reads back as its own (41.609557ms) -2026-09-27T05:33:54.9607311Z ▶ Computer Use foundation contract -2026-09-27T05:33:54.9648374Z ✔ classifies read, screenshot, keyboard, and semantic approval (3.096534ms) -2026-09-27T05:33:54.9693413Z ✔ approval summaries never expose text or coordinates (1.982721ms) -2026-09-27T05:33:54.9698873Z ✔ unbound mutations cannot be remembered for the turn (0.559891ms) -2026-09-27T05:33:54.9785663Z ✔ targetless reads and screenshot downgrade attempts cannot be remembered (0.447718ms) -2026-09-27T05:33:54.9833544Z ✔ display redaction does not collapse exact authorization identity (0.879682ms) -2026-09-27T05:33:54.9884894Z ✔ approval display values redact secret-shaped app and observation identifiers (0.30952ms) -2026-09-27T05:33:54.9955255Z ✔ a secret-shaped element id is redacted on the same terms as an app name (0.795587ms) -2026-09-27T05:33:54.9956472Z ✔ a secret-shaped observation id is redacted, and a real one is not (0.340825ms) -2026-09-27T05:33:54.9957490Z ✔ approval scope separates read, screenshot, and mutation classes (0.928931ms) -2026-09-27T05:33:54.9958422Z ✔ approval scope uses collision-safe structural encoding (0.702242ms) -2026-09-27T05:33:54.9959413Z ✔ rejects accessor-backed approval identity without invoking the getter (0.44704ms) -2026-09-27T05:33:54.9960399Z ✔ unknown action names are not copied into permission events (0.150352ms) -2026-09-27T05:33:54.9961334Z ✔ raw UI text is not accepted as an observation identifier (0.111986ms) -2026-09-27T05:33:54.9962139Z ✔ Computer Use foundation contract (17.68091ms) -2026-09-27T05:33:54.9962765Z ▶ the call as the model reads it back -2026-09-27T05:33:54.9963537Z ✔ speaks the tool argument names, not the host approval dialect (0.603556ms) -2026-09-27T05:33:54.9964669Z ✔ host-only approval fields are never shown as though the model sent them (0.296515ms) -2026-09-27T05:33:54.9965557Z ✔ a key name is a closed-set choice the model made, so it reads it back (0.312658ms) -2026-09-27T05:33:54.9966440Z ✔ an element action name is a closed-set choice too (0.240942ms) -2026-09-27T05:33:54.9967390Z ✔ the same argument name stays withheld where it carries screen or typed text (0.705519ms) -2026-09-27T05:33:54.9968433Z ✔ an argument the model sent keeps its key even when its value is withheld (0.271088ms) -2026-09-27T05:33:54.9969449Z ✔ semantic window geometry is the model's own output, so it reads it back (0.616619ms) -2026-09-27T05:33:54.9970480Z ✔ a geometry argument that is not integers still degrades to a shape (0.379631ms) -2026-09-27T05:33:54.9971773Z ✔ an action the tool cannot accept is reported as the model sent it (0.186425ms) -2026-09-27T05:33:54.9972698Z ✔ a non-string action is the only thing left that reads as unknown (0.105031ms) -2026-09-27T05:33:54.9973494Z ✔ the call as the model reads it back (5.113267ms) -2026-09-27T05:33:55.1296491Z ✔ Local: operational purge removes tool and Goal facts without deleting the Session (251.400242ms) -2026-09-27T05:33:55.2738335Z ✔ Local: close drains entered backend calls and concurrent opens share one owner (140.381245ms) -2026-09-27T05:33:55.2835805Z ▶ isConnectionReady — model capability gate -2026-09-27T05:33:55.2871978Z ✔ rejects an explicitly image-only default model (10.93672ms) -2026-09-27T05:33:55.2887577Z ✔ rejects an explicitly image-only requested model even when the default is chat-capable (0.312511ms) -2026-09-27T05:33:55.2961273Z ✔ rejects a discovered model after the user disables it (0.251751ms) -2026-09-27T05:33:55.3013942Z ✔ keeps explicit chat models send-ready even when they also support image generation (0.245768ms) -2026-09-27T05:33:55.3048208Z ✔ does not block models with unknown capability metadata (0.264462ms) -2026-09-27T05:33:55.3075672Z ✔ keeps optional-key LocalAI ready when no credential is stored (0.206225ms) -2026-09-27T05:33:55.3106880Z ✔ keeps Vercel Gateway gated on its key (3.687387ms) -2026-09-27T05:33:55.3108329Z ✔ does not let a live list veto a model the user enabled (6.089737ms) -2026-09-27T05:33:55.3154855Z ✔ does not let a seed list veto a default model (0.296442ms) -2026-09-27T05:33:55.3195322Z ✔ admits an enabled model a snapshot provider never listed (0.368032ms) -2026-09-27T05:33:55.3228467Z ✔ still rejects a snapshot model the snapshot itself marks image-only (3.231977ms) -2026-09-27T05:33:55.3255946Z ✔ returns the normalized requested model id (0.215969ms) -2026-09-27T05:33:55.3283077Z ✔ isConnectionReady — model capability gate (39.124224ms) -2026-09-27T05:33:55.3330454Z ▶ isConnectionReady — retired provider gate -2026-09-27T05:33:55.3364103Z ✔ refuses to send on a retired provider (3.073049ms) -2026-09-27T05:33:55.3418440Z ✔ reports retirement rather than a repairable reason (0.17494ms) -2026-09-27T05:33:55.3455849Z ✔ isConnectionReady — retired provider gate (4.618311ms) -2026-09-27T05:33:55.5412898Z ✔ Local: uncertain open cannot retry or switch authority on the same lease (269.597086ms) -2026-09-27T05:33:55.7731019Z ✔ Local: failed close retains a revoked owner and forbids backend replacement (229.319757ms) -2026-09-27T05:33:55.9766101Z ✔ Local: owner revocation rejects calls in every selected domain (204.691145ms) -2026-09-27T05:33:56.1015888Z ▶ cron expression authority -2026-09-27T05:33:56.1075771Z ✔ compiles the canonical lists, ranges, and steps grammar (4.72906ms) -2026-09-27T05:33:56.1178442Z ✔ rejects aliases, coercion, irregular spacing, and malformed fields (0.391101ms) -2026-09-27T05:33:56.1245922Z ✔ reports bounded field errors before searching (0.347616ms) -2026-09-27T05:33:56.1345818Z ✔ normalizes Sunday and uses Vixie DOM/DOW OR semantics (24.306989ms) -2026-09-27T05:33:56.1376945Z ✔ finds sparse valid dates within the bounded search (915.05053ms) -2026-09-27T05:33:56.1465691Z ✔ enforces strictly-after and inclusive search bounds (0.50723ms) -2026-09-27T05:33:56.1525850Z ✔ moves forward by epoch minutes across local DST folds and gaps (135.391816ms) -2026-09-27T05:33:56.1555441Z ✔ cron expression authority (1087.906979ms) -2026-09-27T05:33:56.1595561Z ▶ Daily Review archive boundary -2026-09-27T05:33:56.1645787Z ✔ parses canonical identities without accepting impossible calendar dates (3.424637ms) -2026-09-27T05:33:56.1748655Z ✔ rejects structurally invalid canonical archives (1.194437ms) -2026-09-27T05:33:56.1835811Z ✔ Daily Review archive boundary (6.722746ms) -2026-09-27T05:33:56.1867503Z ✔ shouldShowLoserDialog defaults to showing; the launcher flag silences (1.128148ms) -2026-09-27T05:33:56.1868768Z ✔ the last launcher-owned result argument selects the private result file (5.374051ms) -2026-09-27T05:33:56.1955565Z ✔ a winner verdict carries no process identity (1.097673ms) -2026-09-27T05:33:56.1968259Z ✔ keeps a bounded redacted tail of diagnostic logs (11.157915ms) -2026-09-27T05:33:56.1997397Z ✔ collapses the home path belonging to the process that captured the logs (0.576259ms) -2026-09-27T05:33:56.2027017Z ✔ directory references require a Host and an absolute path with a closed shape (3.899637ms) -2026-09-27T05:33:56.2075647Z ✔ directory references are cloned and remain part of durable message identity (4.801434ms) -2026-09-27T05:33:56.2096826Z ✔ directory references survive queue aggregation, StoredMessage and RuntimeEvent decoding (2.876514ms) -2026-09-27T05:33:56.2149475Z ▶ display redactSecrets -2026-09-27T05:33:56.2169936Z ✔ masks URL userinfo credentials without swallowing host or path (13.929638ms) -2026-09-27T05:33:56.2195363Z ✔ display redactSecrets (17.070238ms) -2026-09-27T05:33:56.2230660Z ▶ display streaming suffix redactors -2026-09-27T05:33:56.2294825Z ✔ keeps a stable userinfo suffix compacted until the authority ends (4.587201ms) -2026-09-27T05:33:56.2374612Z ✔ does not treat a completed userinfo URL as a streaming suffix (0.466528ms) -2026-09-27T05:33:56.2445435Z ✔ still shortens a reversible provider token that reaches end-of-input (0.312199ms) -2026-09-27T05:33:56.2446382Z ✔ display streaming suffix redactors (5.750215ms) -2026-09-27T05:33:56.2845097Z ✔ recovery CTA opens the production Composer model picker (218.736458ms) -2026-09-27T05:33:56.2946035Z ✔ Local: mid-transaction WorkHub failure publishes none of the four coupled facts (319.14123ms) -2026-09-27T05:33:56.3145201Z ✔ unsettled recovery reloads the catalog without opening the picker (66.239416ms) -2026-09-27T05:33:56.3719925Z ▶ durable Tool Result projection -2026-09-27T05:33:56.3794258Z ✔ accepts only the closed current-version schema (4.157075ms) -2026-09-27T05:33:56.3828769Z ✔ rejects projections whose serialized JSON exceeds the durable byte bound (384.159946ms) -2026-09-27T05:33:56.3855740Z ✔ accepts only content-addressed references owned by the same Session protocol (2.958028ms) -2026-09-27T05:33:56.3883157Z ✔ empty recovery opens Models settings through the production route (30.547779ms) -2026-09-27T05:33:56.3923800Z ✔ admits only canonical safe image media types (0.806353ms) -2026-09-27T05:33:56.3975589Z ✔ applies the same bounded JSON budget to persisted projections (8.872708ms) -2026-09-27T05:33:56.4059749Z ✔ durable Tool Result projection (403.745615ms) -2026-09-27T05:33:56.4108213Z ✔ a live-turn lock disables the recovery CTA and keeps the picker closed (59.559879ms) -2026-09-27T05:33:56.4226370Z ✔ folds assistant deltas idempotently by source offset (4.974045ms) -2026-09-27T05:33:56.4265871Z ✔ aggregates inline references against the combined display text (1.278352ms) -2026-09-27T05:33:56.4295678Z ✔ preserves an explicit empty inline-reference marker while aggregating (0.336509ms) -2026-09-27T05:33:56.4356523Z ✔ round-trips Session snapshot provenance and rejects partial provenance (3.080175ms) -2026-09-27T05:33:56.4438054Z ✔ round-trips bounded tool step progress through the shared wire codec (0.56161ms) -2026-09-27T05:33:56.4525900Z ✔ rejects invalid tool step progress at both codec boundaries (0.241993ms) -2026-09-27T05:33:56.4555844Z ✔ structured capabilities survive wire normalization with immutable exact references (7.835945ms) -2026-09-27T05:33:56.4626006Z ✔ invalid variant capability is rejected: [{"modelId":"invented","level":"high"},{"modelId":"opaque-low","level":"low"}] (0.62097ms) -2026-09-27T05:33:56.4686024Z ✔ invalid variant capability is rejected: [{"modelId":"opaque-high","level":"high"},{"modelId":"opaque-low","level":"high"}] (0.209836ms) -2026-09-27T05:33:56.4804794Z ✔ invalid variant capability is rejected: [{"modelId":"opaque-high","level":"default"},{"modelId":"opaque-low","level":"low"}] (0.161673ms) -2026-09-27T05:33:56.4887492Z ✔ executor ids use one bounded canonical grammar (7.386052ms) -2026-09-27T05:33:56.4935745Z ▶ externalSessionMatchesQuery -2026-09-27T05:33:56.4958511Z ✔ an absent term selects everything (1.571519ms) -2026-09-27T05:33:56.4971757Z ✔ a term matches the title, case-insensitively (0.281758ms) -2026-09-27T05:33:56.5013598Z ✔ a term matches the project path (0.401501ms) -2026-09-27T05:33:56.5044316Z ✔ a term matches the source Session id (0.356666ms) -2026-09-27T05:33:56.5057166Z ✔ a term that matches neither excludes the row (0.291079ms) -2026-09-27T05:33:56.5075803Z ✔ a blank box is not a filter (0.202299ms) -2026-09-27T05:33:56.5105669Z ✔ an over-long term is truncated rather than refused (0.324172ms) -2026-09-27T05:33:56.5165952Z ✔ a term pasted from a Windows path finds a forward-slash summary (0.353595ms) -2026-09-27T05:33:56.5167105Z ✔ separator folding stays on the path pair and off the title (0.457642ms) -2026-09-27T05:33:56.5204917Z ✔ composed and decomposed Unicode name the same conversation (0.865846ms) -2026-09-27T05:33:56.5208936Z ✔ archived rows stay hidden unless asked for, term or no term (1.331846ms) -2026-09-27T05:33:56.5210022Z ✔ cwd and text both apply, not either (0.200443ms) -2026-09-27T05:33:56.5211003Z ✔ a term matching one field is enough (0.120426ms) -2026-09-27T05:33:56.5212507Z ✔ externalSessionMatchesQuery (10.642559ms) -2026-09-27T05:33:56.5213293Z ▶ sameExternalSessionPath -2026-09-27T05:33:56.5214132Z ✔ separators and a trailing slash do not change the project (0.433745ms) -2026-09-27T05:33:56.5215409Z ✔ a Windows drive letter is case-insensitive, a POSIX path is not (3.782669ms) -2026-09-27T05:33:56.5216437Z ✔ the POSIX root is not the same as an unknown cwd (0.176571ms) -2026-09-27T05:33:56.5217424Z ✔ a term with a trailing separator still names the project (0.203824ms) -2026-09-27T05:33:56.5218319Z ✔ different projects stay different (0.160309ms) -2026-09-27T05:33:56.5219124Z ✔ sameExternalSessionPath (5.084866ms) -2026-09-27T05:33:56.5220136Z ✔ Goal authority decoder rejects cross-authority execution state (3.738388ms) -2026-09-27T05:33:56.5221295Z ✔ Goal authority decoder normalizes pre-outbox records (0.357296ms) -2026-09-27T05:33:56.5384663Z ✔ parses Graph lifecycle controls without consuming ordinary one-shot tasks (4.80172ms) -2026-09-27T05:33:56.5621359Z ✔ Local: t1 mid-transaction failure rolls back the ledger and operation journal (269.129008ms) -2026-09-27T05:33:56.5964079Z ▶ HealthSignal contract -2026-09-27T05:33:56.5981723Z ✔ verified LLM connection is validation health, not runtime operational (1.597895ms) -2026-09-27T05:33:56.6015506Z ✔ separates connection test error classes from legacy diagnostics (1.135547ms) -2026-09-27T05:33:56.6053248Z ✔ a missing default model warns only when the workspace has no default target (0.542774ms) -2026-09-27T05:33:56.6081298Z ✔ a disabled default holder does not count as a workspace default (0.301567ms) -2026-09-27T05:33:56.6083753Z ✔ LLM runtime probe is separate from credential validation (0.382541ms) -2026-09-27T05:33:56.6084937Z ✔ disabled or unconfigured connections do not emit runtime probe health (0.181429ms) -2026-09-27T05:33:56.6092345Z ✔ summarizes independent connection and capability signals (0.819669ms) -2026-09-27T05:33:56.6093718Z ✔ capability denied and degraded remain distinct health states (0.282482ms) -2026-09-27T05:33:56.6095092Z ✔ partial-only capabilities are warnings, not app-wide error states (0.2667ms) -2026-09-27T05:33:56.6096035Z ✔ HealthSignal contract (8.011918ms) -2026-09-27T05:33:56.7127690Z ▶ workspace privacy context -2026-09-27T05:33:56.7187883Z ✔ accepts booleans and strips renderer-supplied authority fields (9.861314ms) -2026-09-27T05:33:56.7265186Z ✔ fails closed for non-objects and missing or non-boolean state (3.12732ms) -2026-09-27T05:33:56.7286984Z ✔ workspace privacy context (20.987361ms) -2026-09-27T05:33:56.7616174Z ✔ Local: t2 mid-transaction failure rolls back the ledger and operation journal (198.209816ms) -2026-09-27T05:33:56.8997870Z ▶ Interaction projection -2026-09-27T05:33:56.9026201Z ✔ projects tool permission without retaining raw args or secrets (3.763219ms) -2026-09-27T05:33:56.9059867Z ✔ redacts review secrets without changing execution args (1.449785ms) -2026-09-27T05:33:56.9106436Z ✔ redacts standard secret access keys in Bash and generic reviews (2.18504ms) -2026-09-27T05:33:56.9131912Z ✔ projects additional, sandbox, and all browser requests as exact closed reviews (13.585304ms) -2026-09-27T05:33:56.9170069Z ✔ projects generic registered tools as stable bounded redacted reviews (6.951396ms) -2026-09-27T05:33:56.9231807Z ✔ redacts multiline assignments in generic string fields without dropping later commands (0.522171ms) -2026-09-27T05:33:56.9242276Z ✔ redacts authorization in generic string fields without consuming the next line (0.357582ms) -2026-09-27T05:33:56.9244314Z ✔ preserves short generic tool fields and fails closed when they exceed the preview cap (41.488729ms) -2026-09-27T05:33:56.9246499Z ✔ fails closed for unrepresentable requests and malformed known optional fields (2.414523ms) -2026-09-27T05:33:56.9299102Z ✔ projects bounded questions with exact arity (0.935914ms) -2026-09-27T05:33:56.9334977Z ✔ projects secrets and unsafe review characters in question text (0.646975ms) -2026-09-27T05:33:56.9375511Z ✔ visibly escapes every omitted Bidi_Control code point in review labels (0.424503ms) -2026-09-27T05:33:56.9405466Z ✔ rejects labels that collide with a Bidi_Control visible escape (0.267645ms) -2026-09-27T05:33:56.9417839Z ✔ rejects option labels that collide after safe projection (0.537904ms) -2026-09-27T05:33:56.9436251Z ✔ Interaction projection (78.98055ms) -2026-09-27T05:33:56.9489839Z ▶ Interaction decoding and validity -2026-09-27T05:33:56.9518717Z ✔ accepts independently bounded sandbox fields without an invented combined cap (61.477152ms) -2026-09-27T05:33:56.9556722Z ✔ keeps sandbox boundary answers tied to exact boundary outcome semantics (1.096108ms) -2026-09-27T05:33:56.9589658Z ✔ keeps Client Capability approval tied to the exact Host grant target (4.535641ms) -2026-09-27T05:33:56.9650963Z ✔ strictly rejects widened shapes, sparse arrays, unsafe text, and serialized overflow (1.088817ms) -2026-09-27T05:33:56.9679199Z ✔ validates answer kind, arity, deny, and remember eligibility (0.45267ms) -2026-09-27T05:33:56.9733765Z ✔ validates canonical closures, equivalence, and safe integer commit times (3.529747ms) -2026-09-27T05:33:56.9751936Z ✔ decodes only bounded auto-review rationale (0.570684ms) -2026-09-27T05:33:56.9761700Z ✔ decodes the complete bounded primitive form contract (6.23279ms) -2026-09-27T05:33:56.9763057Z ✔ projects every human-facing form label through the safe review boundary (2.674051ms) -2026-09-27T05:33:56.9769175Z ✔ drops string defaults that cannot be represented without changing canonical semantics (0.921906ms) -2026-09-27T05:33:56.9785980Z ✔ rejects form option labels that collide after safe projection (0.950681ms) -2026-09-27T05:33:56.9793114Z ✔ reserves canonical outcome overhead before admitting an accepted form answer (1.781116ms) -2026-09-27T05:33:56.9795783Z ✔ validates date-time calendar and clock fields without Date.parse normalization (0.413457ms) -2026-09-27T05:33:56.9796840Z ✔ rejects malformed form schemas and invalid accepted values (1.075867ms) -2026-09-27T05:33:56.9815454Z ✔ rejects forms that cannot produce a bounded accepted answer (6.948727ms) -2026-09-27T05:33:56.9816331Z ✔ reserves the worst-case escaped answer envelope at admission (5.102643ms) -2026-09-27T05:33:56.9817190Z ✔ admits date and date-time strings without an explicit maxLength (0.975497ms) -2026-09-27T05:33:56.9818006Z ✔ compares canonical accepted form values structurally (0.402319ms) -2026-09-27T05:33:56.9818832Z ✔ decodes form responses as a closed renderer-to-runtime shape (0.399696ms) -2026-09-27T05:33:56.9819587Z ✔ Interaction decoding and validity (109.498244ms) -2026-09-27T05:33:56.9820608Z ✔ Local: handoff preserves distinct admission times and rejects wrong or absent proofs (217.353221ms) -2026-09-27T05:33:56.9825294Z ✔ slug validation returns stable issues and preserves format and length boundaries (4.600908ms) -2026-09-27T05:33:56.9868834Z ✔ connection base URLs allow HTTP(S) and reject unsafe or malformed inputs (0.391226ms) -2026-09-27T05:33:56.9906522Z ✔ base URL normalization preserves clear intent and rejects untrusted runtime types (8.118379ms) -2026-09-27T05:33:56.9922872Z ✔ unknown provider ids fail closed without breaking persisted connections (0.351248ms) -2026-09-27T05:33:56.9985533Z ✔ a fetch never deletes a choice the user made (0.56731ms) -2026-09-27T05:33:57.0037113Z ✔ an authoritative account catalog removes unavailable bootstrap and stale models (0.29297ms) -2026-09-27T05:33:57.0085731Z ✔ model reconciliation never invents a default the user cleared (0.262438ms) -2026-09-27T05:33:57.0095852Z ✔ a renamed id follows its model, and only for a caller that supplies the table (0.244395ms) -2026-09-27T05:33:57.0155742Z ✔ the alias table is selected by provider and names only renames (9.89696ms) -2026-09-27T05:33:57.0185750Z ✔ the model picker lists an enabled model a snapshot provider never listed (6.922808ms) -2026-09-27T05:33:57.0215825Z ✔ chat model choices project exact vision support for attachment composition (0.431808ms) -2026-09-27T05:33:57.0245937Z ✔ chat model choices keep provider metadata separate from user context declarations (12.103052ms) -2026-09-27T05:33:57.0247091Z ✔ provider recognition does not resolve inherited object members (1.440083ms) -2026-09-27T05:33:57.0284857Z ✔ stored OpenCode Free models cannot be selected (0.293367ms) -2026-09-27T05:33:57.0301752Z ▶ local MEMORY.md contract -2026-09-27T05:33:57.0340434Z ✔ defaults file enabled but agent read disabled (1.565035ms) -2026-09-27T05:33:57.0352394Z ✔ normalizes malformed settings fail-closed for agent reads (1.048601ms) -2026-09-27T05:33:57.0365765Z ✔ treats only the first metadata comment in a section as authoritative (1.432937ms) -2026-09-27T05:33:57.0375830Z ✔ builds prompt body from active entries only and omits metadata comments (3.339214ms) -2026-09-27T05:33:57.0479716Z ✔ projects session-scoped entries only into their owning session (1.344477ms) -2026-09-27T05:33:57.0505718Z ✔ excludes pending, rejected, and unknown statuses from prompt injection (0.60443ms) -2026-09-27T05:33:57.0551127Z ✔ does not split a Unicode scalar at the prompt budget boundary (5.029867ms) -2026-09-27T05:33:57.0682563Z ✔ creates pending proposals and keeps approval explicit (2.651631ms) -2026-09-27T05:33:57.0683554Z ✔ preserves the owning session when approving a session-scoped proposal (1.480635ms) -2026-09-27T05:33:57.0684843Z ✔ rejects new session-scoped entries without a canonical session identity (1.067731ms) -2026-09-27T05:33:57.0789176Z ✔ rejects pending proposals without creating active memory (1.651731ms) -2026-09-27T05:33:57.0803247Z ✔ rejects entry status updates for invalid or missing ids (0.415964ms) -2026-09-27T05:33:57.0837142Z ✔ rejects blank manual draft entries and oversized resulting drafts (0.724107ms) -2026-09-27T05:33:57.0862190Z ✔ pins persisted memory ids to the injected Node digest (0.893209ms) -2026-09-27T05:33:57.0879463Z ✔ returns safe mode instead of parsing oversized content (0.403137ms) -2026-09-27T05:33:57.0910818Z ✔ local MEMORY.md contract (26.456381ms) -2026-09-27T05:33:57.0915239Z ▶ long-term memory contract -2026-09-27T05:33:57.0935388Z ✔ fails closed over invalid temporal combinations (1.610858ms) -2026-09-27T05:33:57.0952409Z ✔ long-term memory contract (2.941526ms) -2026-09-27T05:33:57.1165850Z ▶ MCP credential retirement -2026-09-27T05:33:57.1196072Z ✔ retires credentials when an id is removed, repointed, or changes transport (11.064702ms) -2026-09-27T05:33:57.1258299Z ✔ keeps credentials when endpoint ownership does not change (0.248596ms) -2026-09-27T05:33:57.1306749Z ✔ retires credentials when a static OAuth registration changes (0.294015ms) -2026-09-27T05:33:57.1310201Z ✔ MCP credential retirement (16.420533ms) -2026-09-27T05:33:57.1818771Z ▶ MCP host classification -2026-09-27T05:33:57.1927289Z ✔ classifies IPv6 literals by parsed bytes, not spelling (13.725247ms) -2026-09-27T05:33:57.1986616Z ✔ covers the whole fe80::/10 link-local range, not just the fe8 spelling (0.359487ms) -2026-09-27T05:33:57.2006860Z ✔ classifies deprecated IPv4-compatible ::/96 embeddings by their bytes (0.325612ms) -2026-09-27T05:33:57.2088111Z ✔ classifies the remaining translation embeddings and the mapped unspecified address (7.665024ms) -2026-09-27T05:33:57.2120617Z ✔ treats exactly 0.0.0.0 as machine-local in the plain IPv4 branch too (0.251756ms) -2026-09-27T05:33:57.2179203Z ✔ rejects literals RFC 4291 does not permit instead of mis-parsing them (0.228504ms) -2026-09-27T05:33:57.2255647Z ✔ keeps global addresses reachable and fails closed on garbage (0.211024ms) -2026-09-27T05:33:57.2308280Z ✔ MCP host classification (30.733661ms) -2026-09-27T05:33:57.2345818Z ✔ Local: Graph schedule fence and Session provisioning share one authority (222.85776ms) -2026-09-27T05:33:57.2385372Z ▶ MCP secret inventory and scrubbing -2026-09-27T05:33:57.2465536Z ✔ substitutes longer secrets before their prefixes (1.17907ms) -2026-09-27T05:33:57.2495898Z ✔ bounded-substitutes short fragments of a longer credential instead of withholding (1.850521ms) -2026-09-27T05:33:57.2555548Z ✔ MCP secret inventory and scrubbing (4.684893ms) -2026-09-27T05:33:57.3195750Z ▶ ModelCallAttempt codec -2026-09-27T05:33:57.3231651Z ✔ accepts the folded prompt composition on the canonical attempt (12.147674ms) -2026-09-27T05:33:57.3256429Z ✔ rejects a composition that names one bucket twice (0.559323ms) -2026-09-27T05:33:57.3326722Z ✔ rejects a composition carrying more named tools than the fold can produce (0.347703ms) -2026-09-27T05:33:57.3328079Z ✔ still decodes the prepared-request observation recorded before the fold (0.665283ms) -2026-09-27T05:33:57.3336660Z ✔ rejects a prepared-request observation whose semantic segments are out of order (0.326877ms) -2026-09-27T05:33:57.3363170Z ✔ rejects a bounded remainder that claims exact comparison (0.400523ms) -2026-09-27T05:33:57.3419576Z ✔ accepts bounded provider failure diagnostics on history compaction calls (0.238287ms) -2026-09-27T05:33:57.3460633Z ✔ rejects invalid or unbounded provider failure diagnostics (5.846586ms) -2026-09-27T05:33:57.3535701Z ✔ rejects an unpriced attempt that carries a cost (1.15167ms) -2026-09-27T05:33:57.3536504Z ✔ rejects a priced attempt that carries no cost (0.40106ms) -2026-09-27T05:33:57.3570122Z ✔ rejects missing usage that still carries tokens (0.298516ms) -2026-09-27T05:33:57.3587673Z ✔ rejects completedAt before startedAt (0.196146ms) -2026-09-27T05:33:57.3641711Z ✔ rejects unknown fields, wrong schema version, and bad enums (0.284969ms) -2026-09-27T05:33:57.3667050Z ✔ rejects empty identity and non-integer ordinals (0.271326ms) -2026-09-27T05:33:57.3673317Z ✔ rejects empty attribution keys (7.539363ms) -2026-09-27T05:33:57.3717680Z ✔ rejects negative and non-finite amounts (0.476385ms) -2026-09-27T05:33:57.3752449Z ✔ validates optional pricing rates when present (2.680581ms) -2026-09-27T05:33:57.3753287Z ✔ ModelCallAttempt codec (46.931635ms) -2026-09-27T05:33:57.3775446Z ▶ ModelCallAttempt projections -2026-09-27T05:33:57.3805696Z ✔ groups retries under one logical call (0.402809ms) -2026-09-27T05:33:57.3885714Z ✔ a replayed attemptId is the same call, kept at its last value (0.182695ms) -2026-09-27T05:33:57.3959823Z ✔ ModelCallAttempt projections (1.881302ms) -2026-09-27T05:33:57.4016672Z ✔ maps each request-composition category to the same colour in the chart and legend (14.279934ms) -2026-09-27T05:33:57.4397335Z ✔ Local: stable create, detached snapshots, metadata CAS and message admission identity (237.174749ms) -2026-09-27T05:33:57.6365368Z ✔ Local: WorkHub assignment publishes target, pending message and coordination fact together (195.403358ms) -2026-09-27T05:33:57.8710450Z ✔ Local: lost WorkHub acknowledgement is recovered by an exact retry after reopen (231.838733ms) -2026-09-27T05:33:58.1906589Z ✔ Local: T1/T2 atomicity, replay, identity conflicts and terminal seal (309.052196ms) -2026-09-27T05:33:58.3349768Z ✔ formats context-window capacity with stable K/M units in every UI locale (1.229ms) -2026-09-27T05:33:58.3430604Z ✔ formats context-window capacity with at most one decimal and promotes rounded K values to M (3.333434ms) -2026-09-27T05:33:58.4577968Z ✔ Local: commitToolPrepared lost acknowledgement does not duplicate facts (279.291836ms) -2026-09-27T05:33:58.5805922Z ✔ Local: commitToolOutcome lost acknowledgement does not duplicate facts (119.038405ms) -2026-09-27T05:33:58.6696669Z ✔ Local: authentic grouped authority rejects backend mixing and retained calls after close (95.530703ms) -2026-09-27T05:33:58.9005650Z ✔ Local: Goal CAS and Session retirement use the same transaction domain (228.441554ms) -2026-09-27T05:33:58.9687497Z ✔ Memory: plugin executor routes survive configuration and catalog projection (69.79288ms) -2026-09-27T05:33:59.0319787Z ✔ Memory: bounded prefix proofs match immutable history and reject exceeded budgets (58.50275ms) -2026-09-27T05:33:59.0516293Z ✔ Memory: recovery message evidence has equivalent UTF-8 byte budgets (18.460974ms) -2026-09-27T05:33:59.0929860Z ✔ Memory: transcript projection consumes bounded detached event iterators (47.007966ms) -2026-09-27T05:33:59.1505556Z ✔ Memory: transcript serves a running Turn up to the watermark (50.328571ms) -2026-09-27T05:33:59.2526356Z ✔ Memory: a transcript Turn spans every visible invocation carrying its turnId (107.557596ms) -2026-09-27T05:33:59.3356265Z ✔ Memory: steering reorder preserves unselected and followup queue slots (80.561637ms) -2026-09-27T05:33:59.4109585Z ✔ Memory: catalog lists subagent Sessions unless a parent filter restricts them (78.494626ms) -2026-09-27T05:33:59.6651820Z ✔ Memory: catalog paginates parents and subagent Sessions without omissions (250.883544ms) -2026-09-27T05:33:59.7653486Z ✔ Memory: catalog hides preparing copies until publication without losing recovery state (105.105538ms) -2026-09-27T05:33:59.7993301Z ✔ Memory: imported message projection finishes before commit starts (34.082508ms) -2026-09-27T05:33:59.8580863Z ✔ Memory: external import lookup excludes staged Sessions (56.480906ms) -2026-09-27T05:34:00.0283934Z ✔ does not render legacy zero cost as a known free Session (10.550325ms) -2026-09-27T05:34:00.0396947Z ✔ reports incomplete provenance as unavailable regardless of recorded request count (1.24198ms) -2026-09-27T05:34:00.0449200Z ✔ Memory: catalog pagination visits mixed-case tied IDs exactly once in Local order (172.621547ms) -2026-09-27T05:34:00.0479163Z ✔ does not estimate a cache-hit ratio from partial usage (0.780822ms) -2026-09-27T05:34:00.0590089Z ✔ derives per-turn cost only from priced model-call step totals (2.149633ms) -2026-09-27T05:34:00.0653868Z ✔ shows one compact diagnostic line for a failed history-compaction call (0.454357ms) -2026-09-27T05:34:00.0689713Z ✔ reports runs omitted only by the bounded online view separately (1.279777ms) -2026-09-27T05:34:00.0788982Z ✔ Memory: catalog reads explicitly opt into the recoverable coordination role (47.180543ms) -2026-09-27T05:34:00.1181930Z ✔ Memory: WorkHub binds delegated text and copied attachments to admission and replay (40.59584ms) -2026-09-27T05:34:00.1816678Z ✔ Memory: closed children cannot escape the execution group authority (63.342971ms) -2026-09-27T05:34:00.2052160Z ✔ Memory: child bindings stay reserved while group close is pending (23.824432ms) -2026-09-27T05:34:00.2506756Z ✔ Memory: nested Code Mode tool progress stays outside the immutable ledger (44.503409ms) -2026-09-27T05:34:00.2936585Z ✔ Memory: conversation copy rebuilds Tool T1/T2 projections and exact retries (44.511644ms) -2026-09-27T05:34:00.3409446Z ✔ Memory: completed conversation copy can replay T2 without a prior live T1 (45.680553ms) -2026-09-27T05:34:00.4604987Z ✔ Memory: a lost copy acknowledgement retries without duplicating facts (121.245251ms) -2026-09-27T05:34:00.5376345Z ✔ Memory: copy cannot steal another Session tool operation during projection rebuild (74.764169ms) -2026-09-27T05:34:00.6056541Z ✔ Memory: copied recovery bundles preserve parked state and reject incomplete evidence (68.389396ms) -2026-09-27T05:34:00.6864062Z ✔ Memory: corrupt copy and conflicting run retries roll back the whole import (79.92999ms) -2026-09-27T05:34:00.7432691Z ✔ Memory: model configuration and no-op updates preserve approved sandbox authority (59.515544ms) -2026-09-27T05:34:00.8206236Z ✔ Memory: temporary Explore and Bypass restore approved Auto authority (74.977724ms) -2026-09-27T05:34:00.9169171Z ✔ Memory: configuration cannot clear an unrelated block or invalid timestamp (93.867366ms) -2026-09-27T05:34:01.0175765Z ✔ Memory: immutable Session fields, lifecycle no-op and mixed admission ordering (104.399495ms) -2026-09-27T05:34:01.1649036Z ✔ Memory: active WorkHub linkage requires target evidence and enforces bounds (145.952682ms) -2026-09-27T05:34:01.2387164Z ✔ Memory: operational purge removes tool and Goal facts without deleting the Session (70.365935ms) -2026-09-27T05:34:01.2758675Z ✔ Memory: close drains entered backend calls and concurrent opens share one owner (38.363219ms) -2026-09-27T05:34:01.3360170Z ▶ Session Inspector Pricing key -2026-09-27T05:34:01.3389171Z ✔ uses the canonical provider rather than the connection slug for an unpriced call (3.73945ms) -2026-09-27T05:34:01.3423602Z ✔ does not offer a Pricing key when the call was priced (0.28415ms) -2026-09-27T05:34:01.3495584Z ✔ Session Inspector Pricing key (5.4435ms) -2026-09-27T05:34:01.3567635Z ✔ Memory: uncertain open cannot retry or switch authority on the same lease (70.94121ms) -2026-09-27T05:34:01.3990755Z ✔ Memory: failed close retains a revoked owner and forbids backend replacement (54.708151ms) -2026-09-27T05:34:01.4319399Z ✔ Memory: owner revocation rejects calls in every selected domain (32.735494ms) -2026-09-27T05:34:01.4815764Z ✔ Memory: mid-transaction WorkHub failure publishes none of the four coupled facts (48.51907ms) -2026-09-27T05:34:01.5606197Z ✔ Memory: t1 mid-transaction failure rolls back the ledger and operation journal (75.345763ms) -2026-09-27T05:34:01.6176559Z ✔ Memory: t2 mid-transaction failure rolls back the ledger and operation journal (57.820918ms) -2026-09-27T05:34:01.6597036Z ✔ Memory: handoff preserves distinct admission times and rejects wrong or absent proofs (38.411347ms) -2026-09-27T05:34:01.7317842Z ✔ catalog transport preserves independent limits and their unmodified defaults (14.607669ms) -2026-09-27T05:34:01.7346281Z ✔ GPT-6 Sol and Luna use GPT labels and expose supported thinking levels (6.809102ms) -2026-09-27T05:34:01.7370619Z ✔ a live inventory annotates a model it omits and preserves higher-priority failures (2.997036ms) -2026-09-27T05:34:01.7426221Z ✔ chat-default validation blocks image-only models but accepts merged partial facts (0.432221ms) -2026-09-27T05:34:01.7481387Z ✔ a declared output modality without text rules a model out of chat (4.218174ms) -2026-09-27T05:34:01.7545633Z ✔ an empty output modality list is not evidence against chat (0.359921ms) -2026-09-27T05:34:01.7546652Z ✔ an explicit chat capability outranks the declared output modality (2.571308ms) -2026-09-27T05:34:01.7547703Z ✔ the catalog and the readiness gate agree that no catalog is a veto (0.780183ms) -2026-09-27T05:34:01.7605786Z ✔ failed or pending discovery keeps the static fallback catalog visible (5.25557ms) -2026-09-27T05:34:01.7656607Z ✔ an explicitly fetched empty inventory remains authoritative (2.422007ms) -2026-09-27T05:34:01.7705770Z ✔ a persisted empty discovery result preserves the connection fallback through the public catalog path (7.376607ms) -2026-09-27T05:34:01.7749255Z ✔ connection catalogs list every model the user saved without inventing availability (0.286298ms) -2026-09-27T05:34:01.7798005Z ✔ every picker sees a model the user enabled but no catalog describes (0.463486ms) -2026-09-27T05:34:01.7812978Z ✔ catalog provenance follows the projected model facts marker used in production (0.229046ms) -2026-09-27T05:34:01.7847681Z ✔ fallback provider catalogs include projected facts-backed models (0.248967ms) -2026-09-27T05:34:01.7877118Z ✔ fallback provider catalogs apply facts to known fallback models (6.096845ms) -2026-09-27T05:34:01.7893834Z ✔ unknown persisted provider ids return an empty catalog (0.192882ms) -2026-09-27T05:34:01.7916917Z ✔ Alibaba Token Plan catalogs the formal Qwen3.8 model instead of its retired preview alias (6.786689ms) -2026-09-27T05:34:01.8010083Z ✔ Alibaba (China) catalogs Qwen3.8 Max as the default model on the China endpoint (9.17454ms) -2026-09-27T05:34:01.8048372Z ✔ DeepSeek catalogs the V4 vision model display metadata from a bare provider id (0.290523ms) -2026-09-27T05:34:01.8107368Z ✔ no provider resolves past the wire bound at the storage maxima (4225.753968ms) -2026-09-27T05:34:01.8147833Z ✔ catalog preserves the image default through overrides and the wire (0.901752ms) -2026-09-27T05:34:01.8175150Z ✔ Memory: Graph schedule fence and Session provisioning share one authority (119.004835ms) -2026-09-27T05:34:01.8185606Z ✔ malformed and unknown model fact fields are rejected (2.454001ms) -2026-09-27T05:34:01.8231795Z ✔ model fact keys preserve colons in provider model ids (0.3099ms) -2026-09-27T05:34:01.8265615Z ▶ provider model-catalog completeness -2026-09-27T05:34:01.8276628Z ✔ treats only GitHub Copilot discovery as a complete account catalog (0.857124ms) -2026-09-27T05:34:01.8315776Z ✔ provider model-catalog completeness (2.16566ms) -2026-09-27T05:34:01.8316529Z ▶ OpenAI Codex OAuth metadata -2026-09-27T05:34:01.8345836Z ✔ does not inherit public API input limits across shipped, refreshed, and fallback metadata (1.512816ms) -2026-09-27T05:34:01.8375235Z ✔ OpenAI Codex OAuth metadata (2.40472ms) -2026-09-27T05:34:01.8393081Z ▶ model-metadata token limits -2026-09-27T05:34:01.8471385Z ✔ refuses to install a table whose limits the wire cannot carry (1.001104ms) -2026-09-27T05:34:01.8497018Z ✔ commits no limit outside the wire domain in any bundled or static layer (5.907087ms) -2026-09-27T05:34:01.8515445Z ✔ model-metadata token limits (7.21588ms) -2026-09-27T05:34:01.8545541Z ▶ model-metadata vision capability -2026-09-27T05:34:01.8567726Z ✔ treats a Claude newer than the generated snapshot as able to read images (2.180609ms) -2026-09-27T05:34:01.8629730Z ✔ still fails closed for the Claude generation that cannot read images (0.230737ms) -2026-09-27T05:34:01.8748420Z ✔ confines the default to the providers that serve Anthropic their own models (0.163679ms) -2026-09-27T05:34:01.8809220Z ✔ yields to what a connection reports, in both directions (0.190297ms) -2026-09-27T05:34:01.8867459Z ✔ lets a user declaration outrank every other signal, in both directions (0.159111ms) -2026-09-27T05:34:01.8918982Z ✔ model-metadata vision capability (3.734892ms) -2026-09-27T05:34:01.8974541Z ▶ openAiAdapterApiProtocol -2026-09-27T05:34:01.9025723Z ✔ routes normalized GPT-5 and GPT-6 families to the Responses wire (0.485261ms) -2026-09-27T05:34:01.9077072Z ✔ keeps an older OpenAI model on the Chat Completions wire (0.138838ms) -2026-09-27T05:34:01.9105522Z ✔ routes only xAI Grok 4.5 through Responses (0.14488ms) -2026-09-27T05:34:01.9126758Z ✔ routes official DeepSeek V4 models through the provider Responses wire (0.163494ms) -2026-09-27T05:34:01.9134911Z ✔ routes only OpenCode Go Muse Spark through its supported Responses wire (1.693122ms) -2026-09-27T05:34:01.9165784Z ✔ routes only Qwen3.8 Max through Alibaba Token Plan Responses (0.180991ms) -2026-09-27T05:34:01.9188514Z ✔ openAiAdapterApiProtocol (3.228324ms) -2026-09-27T05:34:01.9207293Z ▶ deepseek v4 flash vision exp metadata regression -2026-09-27T05:34:01.9245638Z ✔ resolves the bare model id with vision support (0.176614ms) -2026-09-27T05:34:01.9253425Z ✔ keeps the vision-capable baseline model in the deepseek shipped baseline (0.108742ms) -2026-09-27T05:34:01.9275499Z ✔ returns expected metadata from lookupModelMetadata (0.298361ms) -2026-09-27T05:34:01.9305639Z ✔ is recognized from a bare discovered id (0.121302ms) -2026-09-27T05:34:01.9323364Z ✔ deepseek v4 flash vision exp metadata regression (0.929623ms) -2026-09-27T05:34:01.9345330Z ▶ Volcengine Agent Plan official catalog mirror -2026-09-27T05:34:01.9365651Z ✔ offers glm-5.3-flash with the facts the plan page publishes (0.185056ms) -2026-09-27T05:34:01.9391060Z ✔ pins glm-5.3 to the plan page table literals (0.074256ms) -2026-09-27T05:34:01.9418617Z ✔ carries the official 1M context window for minimax-m3 (0.089341ms) -2026-09-27T05:34:01.9445792Z ✔ records the upstream retirement of glm-5.2, kimi-k2.6 and minimax-m2.7 (0.088081ms) -2026-09-27T05:34:01.9475459Z ✔ Volcengine Agent Plan official catalog mirror (0.622048ms) -2026-09-27T05:34:01.9505377Z ▶ Command Code static reasoning metadata -2026-09-27T05:34:01.9506601Z ✔ serves the effort table to the Command Code provider (0.30194ms) -2026-09-27T05:34:01.9535542Z ✔ keeps every declared effort a known ThinkingLevel (0.714962ms) -2026-09-27T05:34:01.9558786Z ✔ leaves a model without a declared level uncovered (0.125903ms) -2026-09-27T05:34:01.9586278Z ✔ Command Code static reasoning metadata (1.313115ms) -2026-09-27T05:34:01.9630445Z ▶ model projection transition schema -2026-09-27T05:34:01.9655617Z ✔ digests the same projection identically regardless of key order (3.168664ms) -2026-09-27T05:34:01.9665405Z ✔ binds the record to the projection it may replace (2.510127ms) -2026-09-27T05:34:01.9695503Z ✔ derives one id from content, so a duplicated concurrent append is idempotent (2.62299ms) -2026-09-27T05:34:01.9717098Z ✔ rejects a record that belongs to another Session (0.663895ms) -2026-09-27T05:34:01.9745035Z ✔ rejects an unknown field and an unrepresentable replacement (2.020447ms) -2026-09-27T05:34:01.9775698Z ✔ model projection transition schema (14.550243ms) -2026-09-27T05:34:01.9806442Z ▶ latestAssistantModelId -2026-09-27T05:34:01.9820941Z ✔ returns undefined until an assistant response exists (4.557124ms) -2026-09-27T05:34:01.9847458Z ✔ uses the latest assistant model as the actual baseline (0.263064ms) -2026-09-27T05:34:01.9867073Z ✔ latestAssistantModelId (6.452791ms) -2026-09-27T05:34:01.9893055Z ✔ declarable relay levels are every intensity tier but off (2.487143ms) -2026-09-27T05:34:01.9919759Z ✔ relay profiles preserve the fast service tier declaration (0.298797ms) -2026-09-27T05:34:01.9947641Z ✔ per-model thinking defaults resolve only when the model offers the level (2.526111ms) -2026-09-27T05:34:01.9956200Z ✔ Fast visibility mirrors the pinned OpenAI SDK priority-processing families (0.848424ms) -2026-09-27T05:34:01.9985168Z ✔ a model wire is its declaration, then discovery, then the connection default (0.261172ms) -2026-09-27T05:34:02.0018470Z ✔ modelOverride returns undefined without a usable declaration (0.323685ms) -2026-09-27T05:34:02.0045800Z ✔ modelOverride normalizes order, keeps explicit vision:false, and bounds context windows (0.398667ms) -2026-09-27T05:34:02.0060845Z ✔ modelOverride honours a declaration on any provider (0.287324ms) -2026-09-27T05:34:02.0074776Z ✔ normalizeModelOverrides sanitizes write-side tables (0.58967ms) -2026-09-27T05:34:02.0106810Z ✔ resolveThinkingLevel discards levels the model does not offer (1.737111ms) -2026-09-27T05:34:02.0139376Z ✔ Alibaba Token Plan exposes the formal Qwen3.8 effort and disable contract (0.654293ms) -2026-09-27T05:34:02.0166049Z ✔ normalizes per-model ApplyPatch without confusing false with automatic (0.234655ms) -2026-09-27T05:34:02.0185240Z ✔ ApplyPatch defaults are model-specific and explicit choices win (0.377415ms) -2026-09-27T05:34:02.0216428Z ▶ hosted web search capability -2026-09-27T05:34:02.0226741Z ✔ enables the implemented Responses path only for declared model families (6.384014ms) -2026-09-27T05:34:02.0255515Z ✔ reports provider support separately from Maka adapter readiness (0.453905ms) -2026-09-27T05:34:02.0279604Z ✔ lets explicit connection model metadata deny or grant provider-hosted search (3.39153ms) -2026-09-27T05:34:02.0306021Z ✔ follows a custom model wire and never infers support from the model name (0.283808ms) -2026-09-27T05:34:02.0335464Z ✔ keeps dual-wire providers on the configured connection protocol (0.217942ms) -2026-09-27T05:34:02.0357177Z ✔ publishes native search for both first-party DeepSeek V4 models (1.316132ms) -2026-09-27T05:34:02.0386673Z ✔ hosted web search capability (13.860057ms) -2026-09-27T05:34:02.0396565Z ✔ a refresh reports every committed path upstream stopped carrying (77.588828ms) -2026-09-27T05:34:02.0425490Z ✔ a refresh that removes nothing does not call back (3.303816ms) -2026-09-27T05:34:02.0456866Z ✔ a zero token limit projects as an absent limit (15.096732ms) -2026-09-27T05:34:02.0458882Z ✔ a token limit outside the wire domain refuses the whole refresh (2.004609ms) -2026-09-27T05:34:02.0497367Z ✔ a declared oversized body is refused instead of drained (2.704664ms) -2026-09-27T05:34:02.0518091Z ✔ a non-ok response never reaches the projection (0.628855ms) -2026-09-27T05:34:02.0535320Z ▶ OAuth subscription helpers -2026-09-27T05:34:02.0578770Z ✔ matches base64url encoding for empty and reserved bytes (4.988083ms) -2026-09-27T05:34:02.0607884Z ✔ OAuth subscription helpers (18.122341ms) -2026-09-27T05:34:02.0626440Z ▶ deriveOnboardingState -2026-09-27T05:34:02.0662096Z ✔ uses history presence without requiring a full Session list (5.462923ms) -2026-09-27T05:34:02.0675851Z ✔ routes the current default to the exact actionable fix (3.625433ms) -2026-09-27T05:34:02.0709632Z ✔ preserves readiness priority across broken and ready alternatives (0.428716ms) -2026-09-27T05:34:02.0718405Z ✔ accepts OAuth providers and ignores validation telemetry (4.291825ms) -2026-09-27T05:34:02.0746726Z ✔ deriveOnboardingState (15.651406ms) -2026-09-27T05:34:02.0766305Z ▶ onboarding milestone persistence -2026-09-27T05:34:02.0795450Z ✔ rejects malformed or privacy-leaking values (0.601487ms) -2026-09-27T05:34:02.0825651Z ✔ sanitizes invalid entries with last-valid-value and first-seen-order semantics (2.046047ms) -2026-09-27T05:34:02.0855628Z ✔ settles initial onboarding only on its completed or skipped terminal state (0.785374ms) -2026-09-27T05:34:02.0860397Z ✔ reports retirement rather than an unhealthy connection (0.49262ms) -2026-09-27T05:34:02.0881315Z ✔ onboarding milestone persistence (4.639248ms) -2026-09-27T05:34:02.0908803Z ▶ orchestration contract -2026-09-27T05:34:02.0941236Z ✔ a persisted swarm mode grants only the session-scoped swarm authorization (7.932552ms) -2026-09-27T05:34:02.0955852Z ✔ graph mode preserves the graph identity without granting swarm authority (7.342511ms) -2026-09-27T05:34:02.0991920Z ✔ a trusted turn override wins without changing the persisted session mode (0.2218ms) -2026-09-27T05:34:02.1015305Z ✔ orchestration contract (17.169481ms) -2026-09-27T05:34:02.1055161Z ▶ compilePermissionProfile -2026-09-27T05:34:02.1056073Z ✔ maps explore to a read-only profile and defaults workspaceRoots to cwd (1.983233ms) -2026-09-27T05:34:02.1076918Z ✔ maps ask to the workspace-write profile while preserving mode (0.350108ms) -2026-09-27T05:34:02.1188040Z ✔ maps bypass to danger-full-access (0.334187ms) -2026-09-27T05:34:02.1195298Z ✔ uses explicit workspaceRoots when provided (0.373938ms) -2026-09-27T05:34:02.1267785Z ✔ compilePermissionProfile (4.872078ms) -2026-09-27T05:34:02.1306074Z ▶ PermissionProfile factories -2026-09-27T05:34:02.1366388Z ✔ read-only profile allows workspace reads and blocks writes (7.208755ms) -2026-09-27T05:34:02.1405636Z ✔ workspace-write profile allows ordinary workspace writes and blocks outside writes (0.361027ms) -2026-09-27T05:34:02.1456032Z ✔ workspace-write profile allows tmp writes when tmp context is provided (0.334785ms) -2026-09-27T05:34:02.1495718Z ✔ workspace-write profile allows protected metadata writes inside the workspace (0.52638ms) -2026-09-27T05:34:02.1555666Z ✔ matches Windows drive roots and protected metadata by backslash-separated segment (0.540848ms) -2026-09-27T05:34:02.1585592Z ✔ danger-full-access profile is managed unrestricted access with network enabled (0.194139ms) -2026-09-27T05:34:02.1605189Z ✔ PermissionProfile factories (15.012859ms) -2026-09-27T05:34:02.1635230Z ▶ isReadOnlyPermissionProfile -2026-09-27T05:34:02.1677480Z ✔ separates the read-only profile from every profile that grants more (0.397974ms) -2026-09-27T05:34:02.1735439Z ✔ follows the policy rather than the profile name (10.321407ms) -2026-09-27T05:34:02.1778547Z ✔ isReadOnlyPermissionProfile (13.538103ms) -2026-09-27T05:34:02.1788844Z ▶ isCanonicalReadOnlyPermissionProfile -2026-09-27T05:34:02.1836753Z ✔ matches the canonical policy without relying on its display name (3.52568ms) -2026-09-27T05:34:02.1855495Z ✔ distinguishes extra read authority from the canonical Explore policy (0.30228ms) -2026-09-27T05:34:02.1905438Z ✔ does not certify other managed policies as canonical Explore (0.26006ms) -2026-09-27T05:34:02.1935405Z ✔ isCanonicalReadOnlyPermissionProfile (4.430451ms) -2026-09-27T05:34:02.1975229Z ▶ PermissionProfile matcher rules -2026-09-27T05:34:02.1985517Z ✔ deny entries take precedence over read and write entries (0.311583ms) -2026-09-27T05:34:02.2055492Z ✔ write access implies read access (0.184883ms) -2026-09-27T05:34:02.2085393Z ✔ path matching respects segment boundaries (0.195022ms) -2026-09-27T05:34:02.2143223Z ✔ special entries resolve through matcher context (0.194178ms) -2026-09-27T05:34:02.2201698Z ✔ PermissionProfile matcher rules (1.131483ms) -2026-09-27T05:34:02.2231724Z ✔ persisted values cross into domain types only through an explicit decoder (2.058485ms) -2026-09-27T05:34:02.2252791Z ✔ persisted values are invariant in their domain type (0.269891ms) -2026-09-27T05:34:02.2295371Z ▶ maka.pet/v1 manifest -2026-09-27T05:34:02.2366668Z ✔ requires the five task-semantic animations (2.972278ms) -2026-09-27T05:34:02.2403496Z ✔ rejects executable or unknown manifest fields (18.244614ms) -2026-09-27T05:34:02.2465687Z ✔ rejects traversal, absolute, Windows, and non-normalized asset paths (0.845392ms) -2026-09-27T05:34:02.2488593Z ✔ bounds sprite geometry, animation rate, and referenced frames (0.376348ms) -2026-09-27T05:34:02.2535519Z ✔ requires explicit animation fallback targets to exist (0.315647ms) -2026-09-27T05:34:02.2575507Z ✔ rejects a fallback on a looping animation (3.146124ms) -2026-09-27T05:34:02.2594912Z ✔ maka.pet/v1 manifest (27.85458ms) -2026-09-27T05:34:02.2605223Z ▶ ProviderAuth contract -2026-09-27T05:34:02.2635650Z ✔ model-key providers expose credential actions only after a secret exists (5.304393ms) -2026-09-27T05:34:02.2659981Z ✔ OAuth subscription providers expose validation actions after login (1.477236ms) -2026-09-27T05:34:02.2714118Z ✔ a discovery-capable OAuth provider keeps fetch_models available after login (0.229412ms) -2026-09-27T05:34:02.2725578Z ✔ OAuth subscription providers route missing login to the OAuth setup path (0.165227ms) -2026-09-27T05:34:02.2726661Z ✔ no-auth local providers can test and fetch without ever holding a secret (0.163779ms) -2026-09-27T05:34:02.2755666Z ✔ an optional-key provider admits testing and fetching before a key exists (0.389371ms) -2026-09-27T05:34:02.2788777Z ✔ ProviderAuth contract (12.83525ms) -2026-09-27T05:34:02.2819132Z ▶ provider connection slug derivation contract -2026-09-27T05:34:02.2837105Z ✔ continues through dense collisions until it finds an unused slug (3.897679ms) -2026-09-27T05:34:02.2855487Z ✔ provider connection slug derivation contract (6.73167ms) -2026-09-27T05:34:02.2856072Z ▶ Moonshot provider regions -2026-09-27T05:34:02.2856708Z ✔ offers the international API as its own provider (1.228012ms) -2026-09-27T05:34:02.2857643Z ✔ Moonshot provider regions (6.379818ms) -2026-09-27T05:34:02.2858394Z ▶ provider catalog contract — structural invariants over CATALOG_PROVIDER_TYPES -2026-09-27T05:34:02.2859281Z ✔ exposes an endpoint source that passes the production baseUrl gate (3.453184ms) -2026-09-27T05:34:02.2860061Z ✔ pins every declared Responses reasoning contract (5.773006ms) -2026-09-27T05:34:02.2860865Z ✔ keeps generated models.dev overrides on the declared contract or none (0.585417ms) -2026-09-27T05:34:02.2861872Z ✔ provider catalog contract — structural invariants over CATALOG_PROVIDER_TYPES (10.512973ms) -2026-09-27T05:34:02.2862599Z ▶ retired provider contract -2026-09-27T05:34:02.2863115Z ✔ pins the entries this catalog retires (0.333102ms) -2026-09-27T05:34:02.2863784Z ✔ keeps a retired provider registered but unwired (0.305073ms) -2026-09-27T05:34:02.2864991Z ✔ keeps a retired provider out of the add-connection catalog (0.237342ms) -2026-09-27T05:34:02.2865764Z ✔ offers no action on a retired connection (0.406685ms) -2026-09-27T05:34:02.2866586Z ✔ reports every model of a retired connection as removed and unselectable (7.787447ms) -2026-09-27T05:34:02.2867310Z ✔ retired provider contract (13.4102ms) -2026-09-27T05:34:02.2867875Z ▶ provider catalog contract — fallback lifecycle -2026-09-27T05:34:02.2868559Z ✔ keeps deprecated snapshot models out of fallback lists (0.790344ms) -2026-09-27T05:34:02.2869346Z ✔ provider catalog contract — fallback lifecycle (0.935812ms) -2026-09-27T05:34:02.2869966Z ▶ providerAcceptsOutputTokenLimit -2026-09-27T05:34:02.2870702Z ✔ refuses an output limit only where the backend rejects max_output_tokens (0.410124ms) -2026-09-27T05:34:02.2871500Z ✔ providerAcceptsOutputTokenLimit (0.555495ms) -2026-09-27T05:34:02.2872394Z ✔ providerRetryRemainingMs counts down from the granted length to a zero floor (2.764852ms) -2026-09-27T05:34:02.2873588Z ✔ providerRetryDisplaySeconds floors the humanized countdown at 1s (0.273046ms) -2026-09-27T05:34:02.2885400Z ✔ recall finds the same messages a full scan would (14.917275ms) -2026-09-27T05:34:02.2916577Z ✔ a candidate source changes speed, never the verified set (12.043689ms) -2026-09-27T05:34:02.2922441Z ✔ a candidate source changes speed, never the ranking (7.575836ms) -2026-09-27T05:34:02.2980664Z ✔ over-selected candidates are rejected by the predicate (5.409343ms) -2026-09-27T05:34:02.2987931Z ✔ a candidate source that declines falls back to a full scan (0.826525ms) -2026-09-27T05:34:02.3065655Z ✔ a candidate source without a corpus count is not used (3.588965ms) -2026-09-27T05:34:02.3119948Z ✔ a term the stored form escapes bypasses the candidate source (1.290277ms) -2026-09-27T05:34:02.3191067Z ✔ a dense tool result does not outrank the answer that explains it (1.806033ms) -2026-09-27T05:34:02.3227344Z ✔ the per-Session quota admits other Sessions without dropping results (2.018042ms) -2026-09-27T05:34:02.3240053Z ✔ the quota is a ceiling, not an allocation (0.891646ms) -2026-09-27T05:34:02.3247901Z ✔ passages come back in rank order after the quota fills gaps (2.615451ms) -2026-09-27T05:34:02.3249184Z ✔ several hits in one turn collapse into a single passage (0.554744ms) -2026-09-27T05:34:02.3250147Z ✔ a passage carries its exchange and marks the anchor (1.208607ms) -2026-09-27T05:34:02.3251062Z ✔ coordination records never enter a passage (0.715533ms) -2026-09-27T05:34:02.3251915Z ✔ a tool result joins a passage only as its anchor (0.71574ms) -2026-09-27T05:34:02.3252820Z ✔ matched terms come back as the caller wrote them (0.389835ms) -2026-09-27T05:34:02.3253829Z ✔ gaps never report a term that matched, whatever its case (0.635821ms) -2026-09-27T05:34:02.3255040Z ✔ a question is accepted, never matched, and never echoed (1.031876ms) -2026-09-27T05:34:02.3256096Z ✔ a credential-shaped term is refused before any corpus is read (0.247965ms) -2026-09-27T05:34:02.3257127Z ✔ recall is closed while incognito is active (0.188379ms) -2026-09-27T05:34:02.3258105Z ✔ an unverifiable privacy snapshot fails closed (1.00951ms) -2026-09-27T05:34:02.3259149Z ✔ matching runs on redacted text, so a secret is unreachable (3.682798ms) -2026-09-27T05:34:02.3260494Z ✔ a term found only in a redaction marker is not a hit (0.847375ms) -2026-09-27T05:34:02.3261393Z ✔ simulator transcripts stay out of recall (0.267154ms) -2026-09-27T05:34:02.3262275Z ✔ the active turn is excluded from its own recall (0.409814ms) -2026-09-27T05:34:02.3263205Z ✔ gaps name what was searched and what was missing (7.448015ms) -2026-09-27T05:34:02.3264149Z ✔ distilled facts are returned alongside passages (0.874559ms) -2026-09-27T05:34:02.3265318Z ✔ an unavailable fact store degrades recall instead of failing it (0.733704ms) -2026-09-27T05:34:02.3266415Z ✔ a fact carrying credential material is redacted on the way out (4.279353ms) -2026-09-27T05:34:02.3267382Z ✔ malformed requests are refused with a typed reason (0.408383ms) -2026-09-27T05:34:02.3268308Z ✔ time bounds exclude messages outside the window (0.679448ms) -2026-09-27T05:34:02.3269586Z ✔ expansion widens a passage around an anchor recall reported (1.34454ms) -2026-09-27T05:34:02.3270671Z ✔ a passage reports the anchor index within its own transcript (0.630446ms) -2026-09-27T05:34:02.3271646Z ✔ expansion refuses an anchor inside the active turn (0.3908ms) -2026-09-27T05:34:02.3272622Z ✔ expansion refuses an anchor that is not visible transcript (0.172091ms) -2026-09-27T05:34:02.3274313Z ✔ expansion refuses an anchor from another Session (0.131515ms) -2026-09-27T05:34:02.3303662Z ✔ expansion is closed while incognito is active (0.130188ms) -2026-09-27T05:34:02.3336320Z ✔ an aborted signal settles promptly (0.177075ms) -2026-09-27T05:34:02.3337486Z ✔ the passage budget keeps the nearest context and says when it cut the rest (5.054807ms) -2026-09-27T05:34:02.3365695Z ✔ a message is reachable by the name of the file it carried (2.468678ms) -2026-09-27T05:34:02.3398302Z ✔ a message whose whole content was a file is still a passage (2.311558ms) -2026-09-27T05:34:02.3448402Z ✔ a foreign ref inside a local passage is named by location, not address (1.255561ms) -2026-09-27T05:34:02.3483914Z ✔ a remote PDF is named without a location to ask for (0.557656ms) -2026-09-27T05:34:02.3494004Z ✔ a message carrying more files than the cap names the first of them (0.824775ms) -2026-09-27T05:34:02.3525604Z ✔ a material Read cannot decode is named without an address (0.547374ms) -2026-09-27T05:34:02.3554378Z ✔ a neighbour carries its own materials (3.659053ms) -2026-09-27T05:34:02.3594660Z ✔ malformed attachments do not consume the per-message cap (0.506552ms) -2026-09-27T05:34:02.3595794Z ✔ an attachment outside the declared shape is not projected (2.270015ms) -2026-09-27T05:34:02.3632713Z ✔ a material outside the asking Session is named without an address (1.222491ms) -2026-09-27T05:34:02.3660934Z ✔ a material whose ref has no readable address is named without one (0.47658ms) -2026-09-27T05:34:02.3689114Z ✔ a malformed attachment is skipped rather than named `undefined` (0.448976ms) -2026-09-27T05:34:02.3715600Z ✔ a credential-shaped file name is redacted on the way out (1.008564ms) -2026-09-27T05:34:02.3742146Z ✔ a material carries an address or a location, never both (0.705545ms) -2026-09-27T05:34:02.3745582Z ✔ a material with no durable locator is named without one (0.904827ms) -2026-09-27T05:34:02.3769383Z ✔ a material is fetched only from a Session recall can see (0.581245ms) -2026-09-27T05:34:02.3771243Z ✔ material retrieval is closed while incognito is active (0.216386ms) -2026-09-27T05:34:02.3772313Z ✔ a host that cannot fetch materials refuses rather than pretending (0.120117ms) -2026-09-27T05:34:02.3773355Z ✔ a malformed material request is refused with a typed reason (0.279514ms) -2026-09-27T05:34:02.3774687Z ✔ a Session the source names but recall did not ask about is not read (2.688396ms) -2026-09-27T05:34:02.3797911Z ✔ a tool result is matched on its output, not on the shape around it (0.197068ms) -2026-09-27T05:34:02.3825283Z ▶ redactSecrets -2026-09-27T05:34:02.3837261Z ✔ masks bearer tokens and provider key prefixes (5.764553ms) -2026-09-27T05:34:02.3872498Z ✔ applies bounded text patterns to top-level JSON number primitives (0.240845ms) -2026-09-27T05:34:02.3996751Z ✔ replaces bare provider tokens entirely, echoing no part of the match (0.650182ms) -2026-09-27T05:34:02.3997462Z ✔ masks only sensitive URL query values (7.460986ms) -2026-09-27T05:34:02.3998179Z ✔ masks URL userinfo credentials without swallowing host or path (3.7953ms) -2026-09-27T05:34:02.3999017Z ✔ masks quoted sensitive object keys in serialized JSON (8.892888ms) -2026-09-27T05:34:02.3999993Z ✔ redacts original string leaves without crossing serialized JSON boundaries (2.328149ms) -2026-09-27T05:34:02.4000843Z ✔ masks common compound credential keys (0.541187ms) -2026-09-27T05:34:02.4001743Z ✔ masks compound credential assignments without changing authorization schemes (0.352017ms) -2026-09-27T05:34:02.4002709Z ✔ does not consume a trailing command after a quoted review comment (0.316934ms) -2026-09-27T05:34:02.4003812Z ✔ preserves own __proto__ data properties while redacting serialized JSON (1.816487ms) -2026-09-27T05:34:02.4005125Z ✔ handles a large batch of malformed sensitive assignment indexes in bounded time (20.207531ms) -2026-09-27T05:34:02.4006102Z ✔ masks standard secret access key names without owning arbitrary access keys (1.09809ms) -2026-09-27T05:34:02.4006968Z ✔ masks space-separated AWS CLI secret access key values (0.650488ms) -2026-09-27T05:34:02.4007766Z ✔ masks AWS secrets across POSIX line continuations (2.117143ms) -2026-09-27T05:34:02.4008397Z ✔ does not mask similar non-secret AWS CLI tokens (0.987159ms) -2026-09-27T05:34:02.4009170Z ✔ masks escaped and non-string sensitive JSON values structurally (0.542418ms) -2026-09-27T05:34:02.4009818Z ✔ redactSecrets (64.34075ms) -2026-09-27T05:34:02.4010304Z ▶ generalizedErrorMessageForLocale -2026-09-27T05:34:02.4011103Z ✔ renders the same classification in each locale and the fallback when none matches (0.450645ms) -2026-09-27T05:34:02.4012048Z ✔ classifies Chromium network stack error codes as network errors (1.519067ms) -2026-09-27T05:34:02.4012819Z ✔ generalizedErrorMessageForLocale (2.196032ms) -2026-09-27T05:34:02.4013397Z ▶ generalizedErrorMessage -2026-09-27T05:34:02.4014108Z ✔ classifies provider failures without exposing secret-bearing input (0.556544ms) -2026-09-27T05:34:02.4015205Z ✔ does not mistake runtime authority errors for authentication failures (0.186675ms) -2026-09-27T05:34:02.4016128Z ✔ does not mistake builder update metadata 404s for authentication failures (0.25314ms) -2026-09-27T05:34:02.4016986Z ✔ recognizes provider authentication error spellings (0.265115ms) -2026-09-27T05:34:02.4017657Z ✔ generalizedErrorMessage (1.484855ms) -2026-09-27T05:34:02.4018214Z ▶ generalizedErrorMessageForLocale zh-CN -2026-09-27T05:34:02.4018997Z ✔ maps provider failures to Chinese categories without leaking secrets (8.894871ms) -2026-09-27T05:34:02.4019893Z ✔ uses a caller-supplied Chinese fallback for unknown errors (0.182752ms) -2026-09-27T05:34:02.4020799Z ✔ does not mistake runtime authority errors for authentication failures (0.161856ms) -2026-09-27T05:34:02.4021606Z ✔ generalizedErrorMessageForLocale zh-CN (9.422249ms) -2026-09-27T05:34:02.4022228Z ▶ localized generalized error messages -2026-09-27T05:34:02.4022963Z ✔ routes one shared classification through each locale catalog (0.227694ms) -2026-09-27T05:34:02.4023853Z ✔ uses Taiwan terminology for Traditional Chinese categories (0.308198ms) -2026-09-27T05:34:02.4153321Z ✔ routes each resolved locale without changing the supplied fallback (0.175132ms) -2026-09-27T05:34:02.4154334Z ✔ localized generalized error messages (0.877127ms) -2026-09-27T05:34:02.4155137Z ▶ createRefreshReadCoordinator -2026-09-27T05:34:02.4155867Z ✔ retires an in-flight read as soon as a newer authority event arrives (4.24376ms) -2026-09-27T05:34:02.4156763Z ✔ retires an in-flight read when an immediate refresh replaces it (3.888332ms) -2026-09-27T05:34:02.4157526Z ✔ createRefreshReadCoordinator (10.686314ms) -2026-09-27T05:34:02.4158330Z ▶ relative timestamp labels -2026-09-27T05:34:02.4159147Z ✔ holds a just-now label for the whole first minute, then switches to minutes (62.975103ms) -2026-09-27T05:34:02.4160151Z ✔ delays the ticker until the just-now window ends (0.288268ms) -2026-09-27T05:34:02.4160921Z ✔ uses scan-friendly units for sidebar timestamps (0.64546ms) -2026-09-27T05:34:02.4161706Z ✔ keeps the existing compact date fallback outside the sidebar (5.725349ms) -2026-09-27T05:34:02.4162562Z ✔ refreshes sidebar timestamps at the next visible bucket (2.928215ms) -2026-09-27T05:34:02.4163447Z ✔ treats a finite future timestamp as just now and schedules recovery (0.366399ms) -2026-09-27T05:34:02.4164305Z ✔ keeps timestamp refresh delays within the scheduler bound (1.71146ms) -2026-09-27T05:34:02.4165408Z ✔ reuses both formatters when relative and absolute readings alternate (2.001149ms) -2026-09-27T05:34:02.4166190Z ✔ relative timestamp labels (86.247879ms) -2026-09-27T05:34:02.4166738Z ▶ request customization validation -2026-09-27T05:34:02.4167414Z ✔ rejects protected and case-insensitively duplicated headers (9.878365ms) -2026-09-27T05:34:02.4168171Z ✔ accepts only safe top-level JSON objects (3.95422ms) -2026-09-27T05:34:02.4168791Z ✔ request customization validation (15.505381ms) -2026-09-27T05:34:02.4169642Z ✔ Run Composition snapshots retain the persisted v1 bootstrap shape (7.258202ms) -2026-09-27T05:34:02.4170701Z ✔ Request Composition snapshots canonicalize complete model-visible tool surfaces (4.131474ms) -2026-09-27T05:34:02.4171789Z ✔ Request Composition applies one fail-closed bound to names and schemas (6.078975ms) -2026-09-27T05:34:02.4172523Z ▶ immutable RuntimeEvent boundary -2026-09-27T05:34:02.4173352Z ✔ derives one prefix identity from canonical event bytes and physical sequence (12.131623ms) -2026-09-27T05:34:02.4174301Z ✔ folds the bounded endpoint proof to the exact released prefix digest (4.273752ms) -2026-09-27T05:34:02.4278220Z ✔ rejects gaps while streaming a bounded prefix proof (0.85016ms) -2026-09-27T05:34:02.4279238Z ✔ preserves the released Automation prefix identity after semantic decoding (2.312598ms) -2026-09-27T05:34:02.4280185Z ✔ rejects gaps in the immutable physical sequence (0.529178ms) -2026-09-27T05:34:02.4281006Z ✔ rejects mutable partial snapshots as durable boundary rows (0.442067ms) -2026-09-27T05:34:02.4281889Z ✔ binds manifest identity to ordered oldest-to-source segments (6.21065ms) -2026-09-27T05:34:02.4282807Z ✔ rejects a forged immutable prefix before reducing it to a segment (1.529511ms) -2026-09-27T05:34:02.4283699Z ✔ rejects a boundary whose segments cross session authority (5.905777ms) -2026-09-27T05:34:02.4284628Z ✔ rejects a boundary that reuses a source run identity (8.960167ms) -2026-09-27T05:34:02.4285457Z ✔ rejects a boundary that reuses a source invocation identity (0.869251ms) -2026-09-27T05:34:02.4286477Z ✔ versions consecutive same-turn physical attempts without weakening released cursors (2.596205ms) -2026-09-27T05:34:02.4287613Z ✔ permits same-turn claims only for explicit handoff to the original logical root (2.829304ms) -2026-09-27T05:34:02.4288595Z ✔ requires a continuation target to remain in the source session (1.608094ms) -2026-09-27T05:34:02.4289510Z ✔ rejects a continuation target that reuses any source run identity (8.472461ms) -2026-09-27T05:34:02.4290470Z ✔ rejects a continuation target that reuses any source invocation identity (8.420734ms) -2026-09-27T05:34:02.4291438Z ✔ rejects a continuation target that reuses any source turn identity (4.984459ms) -2026-09-27T05:34:02.4292378Z ✔ rejects a target opening that does not name the boundary the claim holds (9.422324ms) -2026-09-27T05:34:02.4293226Z ✔ recognises the invocation the claim authorises (3.997209ms) -2026-09-27T05:34:02.4293927Z ✔ immutable RuntimeEvent boundary (96.759578ms) -2026-09-27T05:34:02.4327983Z ✔ Stored assistant reasoning parts survive recovery decoding (7.684297ms) -2026-09-27T05:34:02.4329242Z ✔ decodes released Automation origins as read-only legacy provenance (2.668497ms) -2026-09-27T05:34:02.4330660Z ✔ decodes a released provider dropping note that nothing writes any more (2.192905ms) -2026-09-27T05:34:02.4331726Z ✔ shares one decoder across all TurnOrigin variants (2.381447ms) -2026-09-27T05:34:02.4332367Z ▶ continuation-start protocol -2026-09-27T05:34:02.4333188Z ✔ reads legacy and current replay projections but rejects unknown versions (1.138757ms) -2026-09-27T05:34:02.4334006Z ✔ continuation-start protocol (1.540485ms) -2026-09-27T05:34:02.4377545Z ▶ RuntimeEvent content variants -2026-09-27T05:34:02.4378461Z ✔ recognizes canonical durable Session context references (0.644694ms) -2026-09-27T05:34:02.4379371Z ✔ preserves sent inline references as message identity (0.784602ms) -2026-09-27T05:34:02.4380338Z ✔ rejects an empty sent inline-reference value before UI projection (0.273474ms) -2026-09-27T05:34:02.4381469Z ✔ rejects sent inline references outside their bounded kind grammar (0.644843ms) -2026-09-27T05:34:02.4435264Z ✔ preserves the exact occurrence selected as an inline reference (0.402752ms) -2026-09-27T05:34:02.4436474Z ✔ rejects missing, mismatched, or overlapping reference occurrences (0.358541ms) -2026-09-27T05:34:02.4437548Z ✔ preserves an explicit empty reference projection as message identity (9.304584ms) -2026-09-27T05:34:02.4439050Z ✔ owns canonical MessageContent decoding, copying, and equality (3.445479ms) -2026-09-27T05:34:02.4439920Z ✔ RuntimeEvent content variants (16.836773ms) -2026-09-27T05:34:02.4440892Z ✔ rejects a Tool Result projection that references another Session artifact (1.218532ms) -2026-09-27T05:34:02.4441667Z ▶ RuntimeEvent actions -2026-09-27T05:34:02.4442465Z ✔ binds the managed mutation digest to its canonical execution semantics (0.841633ms) -2026-09-27T05:34:02.4443457Z ✔ decodes only a platform-independent T1-frozen managed mutation identity (4.098921ms) -2026-09-27T05:34:02.4444680Z ✔ permission, question, and form interactions are first-class actions (7.032155ms) -2026-09-27T05:34:02.4445779Z ✔ permission closure acknowledgement has a narrow durable shape (0.617935ms) -2026-09-27T05:34:02.4446766Z ✔ permission decisions optionally retain a bounded tool name (0.377989ms) -2026-09-27T05:34:02.4447559Z ✔ RuntimeEvent actions (13.343389ms) -2026-09-27T05:34:02.4448082Z ▶ isTerminalRuntimeEvent -2026-09-27T05:34:02.4448802Z ✔ classifies terminal status and explicit invocation completion (0.986542ms) -2026-09-27T05:34:02.4449583Z ✔ isTerminalRuntimeEvent (1.217732ms) -2026-09-27T05:34:02.4450159Z ▶ runtimeEventHasModelVisibleContent -2026-09-27T05:34:02.4451056Z ✔ retains nested CodeMode identity while excluding its content from model replay (0.680962ms) -2026-09-27T05:34:02.4451911Z ✔ classifies model-visible content by semantic kind (0.280588ms) -2026-09-27T05:34:02.4452741Z ✔ counts structured user context as model-visible with empty inline text (#4804) (0.18035ms) -2026-09-27T05:34:02.4453757Z ✔ keeps whitespace-only persisted text model-visible, without trimming (#4815 review) (0.130037ms) -2026-09-27T05:34:02.4501102Z ✔ counts directory references as a content carrier (#4815 review) (0.160569ms) -2026-09-27T05:34:02.4502196Z ✔ runtimeEventHasModelVisibleContent (3.443109ms) -2026-09-27T05:34:02.4503250Z ✔ runtime errors reject malformed retry decisions at the durable boundary (0.435433ms) -2026-09-27T05:34:02.4504076Z ▶ RuntimeEvent reference validation -2026-09-27T05:34:02.4505014Z ✔ accepts only canonical source message digests (0.267497ms) -2026-09-27T05:34:02.4513931Z ✔ accepts a provider-request trace reference and rejects a non-string reference (0.172506ms) -2026-09-27T05:34:02.4515207Z ✔ RuntimeEvent reference validation (0.598484ms) -2026-09-27T05:34:02.4516193Z ✔ Coordination Runtime receipts survive decoding and reject unrecognized results (0.787591ms) -2026-09-27T05:34:02.4517363Z ✔ a handoff seals a physical invocation without ending its logical execution (6.436652ms) -2026-09-27T05:34:02.4518580Z ✔ a handoff seal cannot claim completion, carry work, or authorize itself as successor (4.093003ms) -2026-09-27T05:34:02.4536241Z ✔ regenerate root identity requires exactly its own turn lineage (10.762102ms) -2026-09-27T05:34:02.4555867Z ✔ context compact root identity rejects any lineage and any other root (1.327393ms) -2026-09-27T05:34:02.4556902Z ✔ each host authority root matches only its own kind and id (0.2547ms) -2026-09-27T05:34:02.4557906Z ✔ a supervisor wake root carries its graph prefix and graph orchestration (3.334225ms) -2026-09-27T05:34:02.4559057Z ✔ a safe boundary continuation root matches its claim and its own invocation (0.328122ms) -2026-09-27T05:34:02.4559878Z ▶ invocation_opened content contract -2026-09-27T05:34:02.4560454Z ✔ is a runtime event content kind (1.282338ms) -2026-09-27T05:34:02.4561202Z ✔ decodes as RuntimeEvent content and narrows back out (1.153741ms) -2026-09-27T05:34:02.4561884Z ✔ is never model visible (0.316189ms) -2026-09-27T05:34:02.4562684Z ✔ binds connection identity to where the route came from, both ways (0.508594ms) -2026-09-27T05:34:02.4563695Z ✔ binds a plugin executor route to its exact activation generation (0.755612ms) -2026-09-27T05:34:02.4659926Z ✔ accepts every root authority the runtime can open, and no mixture of them (0.495369ms) -2026-09-27T05:34:02.4661329Z ✔ carries a continuation source only with the boundary position it resumes from (0.270986ms) -2026-09-27T05:34:02.4662269Z ✔ rejects anything the closed shape does not name (0.582292ms) -2026-09-27T05:34:02.4663120Z ✔ a malformed opening fact fails the whole RuntimeEvent decode (0.904519ms) -2026-09-27T05:34:02.4663925Z ✔ invocation_opened content contract (9.121495ms) -2026-09-27T05:34:02.4665445Z ✔ normalizes policy input while canonical policy decode rejects producer drift (3.634439ms) -2026-09-27T05:34:02.4666407Z ✔ Code Mode is opt-in and survives policy decoding (0.695797ms) -2026-09-27T05:34:02.4667431Z ✔ preserves the legacy chat thinking field but rejects unknown levels (1.389754ms) -2026-09-27T05:34:02.4668397Z ✔ keeps user-approved subagent presets canonical in Runtime Policy (0.989693ms) -2026-09-27T05:34:02.4669550Z ✔ normalizes the explicit Git Bash preference and rejects arbitrary shell kinds (0.511422ms) -2026-09-27T05:34:02.4670582Z ✔ normalizes only the bounded agent settings patch surface (0.753685ms) -2026-09-27T05:34:02.4671597Z ✔ normalizes catalog inputs while canonical entries reject noncanonical endpoints (1.568513ms) -2026-09-27T05:34:02.4680008Z ✔ catalog decoding preserves the diagnostic: Slug is required (0.385392ms) -2026-09-27T05:34:02.4681164Z ✔ catalog decoding preserves the diagnostic: Slug must be lowercase letters, digits, and hyphens (0.314922ms) -2026-09-27T05:34:02.4682371Z ✔ catalog decoding preserves the diagnostic: Slug must be 64 characters or fewer (0.889649ms) -2026-09-27T05:34:02.4683414Z ✔ rejects new connections for the retired Gemini CLI account provider (0.392878ms) -2026-09-27T05:34:02.4684335Z ✔ relay model profiles round-trip canonical entries and drafts, strictly (4.167517ms) -2026-09-27T05:34:02.4685428Z ✔ normalizes exact bounded model discovery results (1.73175ms) -2026-09-27T05:34:02.4686345Z ✔ normalizes extended model facts used by the runtime host catalog (0.404026ms) -2026-09-27T05:34:02.4687264Z ✔ carries the video and pdf modalities models.dev declares (0.238667ms) -2026-09-27T05:34:02.4687882Z ✔ rejects sparse model modality arrays (0.57799ms) -2026-09-27T05:34:02.4688707Z ✔ credential domain validation requires material but leaves capacity to callers (0.498718ms) -2026-09-27T05:34:02.4689697Z ✔ per-model ApplyPatch overrides survive persistence and reject non-booleans (1.16474ms) -2026-09-27T05:34:02.4690682Z ✔ Jev is an optional strict policy field and has a dedicated credential scope (0.896341ms) -2026-09-27T05:34:02.4691747Z ✔ Memory: stable create, detached snapshots, metadata CAS and message admission identity (71.180414ms) -2026-09-27T05:34:02.4692507Z ▶ executionBoundaryDisplayMode -2026-09-27T05:34:02.4693245Z ✔ keeps the read-only/writable distinction the boundary carries (#1611) (14.745333ms) -2026-09-27T05:34:02.4828970Z ✔ an approved expansion that grants a write stops reading as read-only (0.61591ms) -2026-09-27T05:34:02.4830711Z ✔ under-states danger-full-access as Auto rather than naming a mode for it (0.238749ms) -2026-09-27T05:34:02.4834854Z ✔ an externally isolated boundary has no locally controllable mode (0.20667ms) -2026-09-27T05:34:02.4835699Z ✔ executionBoundaryDisplayMode (17.722767ms) -2026-09-27T05:34:02.4836272Z ▶ SandboxBoundaryExpansion -2026-09-27T05:34:02.4837087Z ✔ accepts and canonicalizes only additive filesystem and network authority (42.072736ms) -2026-09-27T05:34:02.4838491Z ✔ accepts normalized Windows drive paths and compares them case-insensitively (0.924153ms) -2026-09-27T05:34:02.4839527Z ✔ rejects non-normalized Windows boundary paths (0.326916ms) -2026-09-27T05:34:02.4840454Z ✔ rejects empty, relative, deny, policy-shaped, and legacy expansions (5.701661ms) -2026-09-27T05:34:02.4841379Z ✔ applies additive authority without weakening an explicit deny (0.629434ms) -2026-09-27T05:34:02.4842243Z ✔ enables network when filesystem access is already unrestricted (1.299835ms) -2026-09-27T05:34:02.4843192Z ✔ compacts cumulative explicit grants without changing special paths or denies (0.336616ms) -2026-09-27T05:34:02.4844309Z ✔ distinguishes a new expansion, an approved no-op, and an explicit-deny conflict (4.033024ms) -2026-09-27T05:34:02.4845504Z ✔ does not treat a child of an exact path grant as already approved (5.857376ms) -2026-09-27T05:34:02.4876132Z ✔ keeps explicit denies authoritative inside an otherwise unrestricted profile (1.439541ms) -2026-09-27T05:34:02.4877465Z ✔ keeps protected metadata deny-write authoritative over exact write expansions (0.447322ms) -2026-09-27T05:34:02.4878528Z ✔ uses the same default slash-tmp root as permission enforcement (0.126148ms) -2026-09-27T05:34:02.4879381Z ✔ SandboxBoundaryExpansion (64.832392ms) -2026-09-27T05:34:02.4879920Z ▶ ExecutionBoundary -2026-09-27T05:34:02.4880578Z ✔ decodes only a complete full boundary snapshot (1.317518ms) -2026-09-27T05:34:02.4881325Z ✔ round-trips managed protected-metadata policy (0.323573ms) -2026-09-27T05:34:02.4882203Z ✔ rejects a complete boundary snapshot above the shared capacity (49.054523ms) -2026-09-27T05:34:02.4883171Z ✔ compares complete boundary authority with one canonical containment contract (0.41151ms) -2026-09-27T05:34:02.4883944Z ✔ ExecutionBoundary (51.457898ms) -2026-09-27T05:34:02.4926624Z ✔ splits the session metered tokens the way a bill reads (3.002034ms) -2026-09-27T05:34:02.4927870Z ✔ derives uncached input as the prompt residual when a provider reports only its cache (0.320054ms) -2026-09-27T05:34:02.4929049Z ✔ keeps the ledger cacheMiss as a floor for records that reported no prompt total (0.264327ms) -2026-09-27T05:34:02.4930012Z ✔ a session with nothing metered has no token split to show (0.181223ms) -2026-09-27T05:34:02.4931026Z ✔ shows the token split even when usage coverage is partial, since the rows are what ran (0.201807ms) -2026-09-27T05:34:02.4932377Z ✔ splits recorded time between model calls and tool executions (0.213576ms) -2026-09-27T05:34:02.4933454Z ✔ keeps a cache-read share the provider reported without a prompt total (0.309867ms) -2026-09-27T05:34:02.4946669Z ✔ a host that measured zero model time keeps its row and its call count (0.568606ms) -2026-09-27T05:34:02.4955636Z ✔ a row with neither a clock nor a count is dropped (0.295768ms) -2026-09-27T05:34:02.4965229Z ✔ a tool row without a recorded duration still reports its count (0.40688ms) -2026-09-27T05:34:02.4966316Z ✔ model time without tool usage reads as a single-segment split (0.204538ms) -2026-09-27T05:34:02.4967347Z ✔ ring arcs keep reading order and clamp the last segment to the full turn (0.817925ms) -2026-09-27T05:34:02.4968452Z ✔ a segment owning the whole ring walks two half-turns instead of one arc (0.21371ms) -2026-09-27T05:34:02.4969555Z ✔ a ring with nothing measured draws no arcs and leaves the muted track (0.123495ms) -2026-09-27T05:34:02.4970597Z ✔ a nonzero sliver keeps a visible sweep even when its share rounds to zero (3.360032ms) -2026-09-27T05:34:02.5004638Z ✔ hovering a tiny segment expands it on the ring so the highlight lands somewhere (0.524517ms) -2026-09-27T05:34:02.5066920Z ✔ hovering the dominant segment leaves the layout untouched (0.722786ms) -2026-09-27T05:34:02.5068243Z ✔ Memory: WorkHub assignment publishes target, pending message and coordination fact together (98.145444ms) -2026-09-27T05:34:02.5069725Z ✔ Memory: lost WorkHub acknowledgement is recovered by an exact retry after reopen (60.188952ms) -2026-09-27T05:34:02.5070408Z ▶ scheduled-task catalog -2026-09-27T05:34:02.5070989Z ✔ advances once schedules to completed after fire (4.400224ms) -2026-09-27T05:34:02.5071668Z ✔ pause and resume preserve a pending occurrence (0.526627ms) -2026-09-27T05:34:02.5072409Z ✔ resume recomputes an occurrence that elapsed while paused (0.489976ms) -2026-09-27T05:34:02.5073180Z ✔ does not resume a task whose fire budget is already spent (3.911113ms) -2026-09-27T05:34:02.5073985Z ✔ rejects numeric-string coercion and non-canonical cron spacing (5.070255ms) -2026-09-27T05:34:02.5074964Z ✔ clamps monthly recurrence to the last calendar day (0.314859ms) -2026-09-27T05:34:02.5075717Z ✔ rejects tasks whose first fire is not before expiration (2.879059ms) -2026-09-27T05:34:02.5076387Z ✔ drops a backend key from Automation create input (0.799055ms) -2026-09-27T05:34:02.5077152Z ✔ requires an immutable Connection identity for new Agent tasks (4.362835ms) -2026-09-27T05:34:02.5078000Z ✔ rejects future recurrence anchors outside the scheduling horizon (0.430295ms) -2026-09-27T05:34:02.5078675Z ✔ scheduled-task catalog (25.708537ms) -2026-09-27T05:34:02.5079492Z ✔ Memory: T1/T2 atomicity, replay, identity conflicts and terminal seal (60.400845ms) -2026-09-27T05:34:02.5080316Z ▶ decodePersistedScheduledTask -2026-09-27T05:34:02.5080947Z ✔ folds a retired permission mode to its live equivalent (0.481438ms) -2026-09-27T05:34:02.5081660Z ✔ returns the same task when nothing needs folding (0.118834ms) -2026-09-27T05:34:02.5082328Z ✔ keeps legacy slug-only Agent tasks readable (0.154953ms) -2026-09-27T05:34:02.5083014Z ✔ leaves effects without an execution template alone (0.103914ms) -2026-09-27T05:34:02.5083827Z ✔ rejects unknown permission modes in persisted execution templates (0.55547ms) -2026-09-27T05:34:02.5084729Z ✔ rejects unknown effect kinds in persisted records (0.190503ms) -2026-09-27T05:34:02.5085365Z ✔ decodePersistedScheduledTask (1.956188ms) -2026-09-27T05:34:02.5085839Z ▶ search contract normalizers -2026-09-27T05:34:02.5086401Z ✔ normalizes a query and rejects malformed input (8.173305ms) -2026-09-27T05:34:02.5087081Z ✔ defaults, truncates, bounds, and validates limits (0.344646ms) -2026-09-27T05:34:02.5087875Z ✔ canonicalizes, deduplicates, validates, and suffix-matches domains (1.703215ms) -2026-09-27T05:34:02.5088741Z ✔ keeps safe URLs, strips trackers, and blocks active or local schemes (0.437227ms) -2026-09-27T05:34:02.5089562Z ✔ rewrites fresh queries without changing historical intent (1.052536ms) -2026-09-27T05:34:02.5090203Z ✔ search contract normalizers (25.121304ms) -2026-09-27T05:34:02.5090967Z ✔ counts the bounded JSON representation used at the tool boundary (1.574993ms) -2026-09-27T05:34:02.5091872Z ✔ agrees with JSON.stringify on the payloads validation bounds (8.257199ms) -2026-09-27T05:34:02.5092707Z ✔ pins the deliberate departure from JSON.stringify at the top level (0.235026ms) -2026-09-27T05:34:02.5093519Z ✔ reports values JSON cannot represent as unrepresentable (7.884834ms) -2026-09-27T05:34:02.5189807Z ✔ Memory: commitToolPrepared lost acknowledgement does not duplicate facts (64.648584ms) -2026-09-27T05:34:02.5191409Z ✔ Memory: commitToolOutcome lost acknowledgement does not duplicate facts (60.86986ms) -2026-09-27T05:34:02.5192802Z ✔ Memory: authentic grouped authority rejects backend mixing and retained calls after close (43.986642ms) -2026-09-27T05:34:02.5193769Z ▶ session event stream health contract -2026-09-27T05:34:02.5194900Z ✔ expects a stream for running sessions or live renderer activity only (3.230572ms) -2026-09-27T05:34:02.5207578Z ✔ uses the newest known observation as the staleness anchor (0.247709ms) -2026-09-27T05:34:02.5358861Z ✔ marks expected streams stale after the configured threshold (0.207365ms) -2026-09-27T05:34:02.5359829Z ✔ reports recovered for the first healthy check after a stale state (0.20733ms) -2026-09-27T05:34:02.5360631Z ✔ throttles stale recovery refresh requests (0.219019ms) -2026-09-27T05:34:02.5361334Z ✔ session event stream health contract (11.425757ms) -2026-09-27T05:34:02.5361868Z ▶ normalizeUserSessionName -2026-09-27T05:34:02.5362619Z ✔ strips the deprecated Cf bidi-adjacent controls U+206A-206F (#3823) (1.819861ms) -2026-09-27T05:34:02.5363384Z ✔ leaves ordinary names untouched (0.280064ms) -2026-09-27T05:34:02.5364025Z ✔ normalizeUserSessionName (15.903617ms) -2026-09-27T05:34:02.5365131Z ✔ Memory: Goal CAS and Session retirement use the same transaction domain (59.992818ms) -2026-09-27T05:34:02.5366249Z ✔ bounds long Session labels without splitting a Unicode character (7.169863ms) -2026-09-27T05:34:02.5367223Z ✔ bounds the provenance name to the QuoteRef UTF-16 limit (0.409348ms) -2026-09-27T05:34:02.5368259Z ✔ bounds a CJK snapshot by UTF-8 bytes before it reaches send admission (14.725002ms) -2026-09-27T05:34:02.5369352Z ✔ creates a recent, redacted snapshot and excludes non-conversation messages (1.424562ms) -2026-09-27T05:34:02.5370454Z ✔ redacts secrets from retained user and assistant messages before quoting them (0.970372ms) -2026-09-27T05:34:02.5371588Z ✔ redacts a credential-shaped title in both snapshot provenance and quote labels (0.409788ms) -2026-09-27T05:34:02.5372733Z ✔ bounds a snapshot from the newest content and preserves truncation provenance (0.448925ms) -2026-09-27T05:34:02.5373787Z ✔ accounts for the role prefix when truncating a single item (0.341099ms) -2026-09-27T05:34:02.5415123Z ✔ does not emit a partial role prefix when no content fits (0.993545ms) -2026-09-27T05:34:02.5416149Z ✔ does not split an emoji when truncating the first item (0.708799ms) -2026-09-27T05:34:02.5417126Z ✔ does not emit a partial role prefix when an emoji cannot fit (0.313365ms) -2026-09-27T05:34:02.6913521Z ✔ decodes turn states written before partialOutputRetained was retired (10.447578ms) -2026-09-27T05:34:02.6953024Z ✔ still rejects turn-state keys no released writer produced (0.410376ms) -2026-09-27T05:34:02.7166413Z ▶ session list view mode persistence -2026-09-27T05:34:02.7194846Z ✔ defaults to conversation when nothing is stored (1.167303ms) -2026-09-27T05:34:02.7195928Z ✔ round-trips a project grouping through the same key the shell hydrates (0.378519ms) -2026-09-27T05:34:02.7196790Z ✔ keeps conversation when that is what was written (0.268165ms) -2026-09-27T05:34:02.7197600Z ✔ fails open to conversation for garbage or empty stored values (0.326926ms) -2026-09-27T05:34:02.7198369Z ✔ session list view mode persistence (3.666475ms) -2026-09-27T05:34:02.7198955Z ▶ session rail width persistence -2026-09-27T05:34:02.7199559Z ✔ persists a width the user dragged to (1.270561ms) -2026-09-27T05:34:02.7200520Z ✔ ignores the collapse sentinel instead of storing it as the user's width (0.44904ms) -2026-09-27T05:34:02.7201252Z ✔ session rail width persistence (2.031569ms) -2026-09-27T05:34:02.7323360Z ▶ logical session revision projection -2026-09-27T05:34:02.7356205Z ✔ keeps one committed version and an ordinary branch as separate conversations (2.030814ms) -2026-09-27T05:34:02.7405711Z ✔ hides preparing versions unless they own the active draft (0.310784ms) -2026-09-27T05:34:02.7444902Z ✔ keeps a child nested under the selected representative of its physical parent revision (1.069716ms) -2026-09-27T05:34:02.7449935Z ✔ logical session revision projection (5.137465ms) -2026-09-27T05:34:02.7959992Z ▶ projectSessionSendOutcome — exact Connection identity -2026-09-27T05:34:02.8000630Z ✔ is ready only when id, slug, model, and credentials match (2.537524ms) -2026-09-27T05:34:02.8061072Z ✔ does not require a Maka model connection for a plugin executor Session (0.378155ms) -2026-09-27T05:34:02.8118455Z ✔ blocks a legacy Session until the user explicitly selects an account (0.246276ms) -2026-09-27T05:34:02.8179768Z ✔ does not adopt a replacement Connection that reuses a deleted slug (0.243253ms) -2026-09-27T05:34:02.8238256Z ✔ blocks an identity mismatch even when the id exists under another slug (0.237826ms) -2026-09-27T05:34:02.8298050Z ✔ never silently rebinds an unlocked Session to another ready account (0.360958ms) -2026-09-27T05:34:02.8360116Z ✔ preserves the exact connection readiness reason (0.302005ms) -2026-09-27T05:34:02.8415664Z ✔ validates the sticky Session model rather than the provider default (0.452721ms) -2026-09-27T05:34:02.8447877Z ✔ continues to refuse a retired fake backend (0.699434ms) -2026-09-27T05:34:02.8485806Z ✔ projectSessionSendOutcome — exact Connection identity (8.048293ms) -2026-09-27T05:34:02.8510286Z ✔ Local standalone child close/reopen remains compatible with later group composition (495.012158ms) -2026-09-27T05:34:02.8535351Z ▶ session status contract -2026-09-27T05:34:02.8564714Z ✔ accepts only the current ordered session status collection (1.667716ms) -2026-09-27T05:34:02.8606618Z ✔ session status contract (2.984588ms) -2026-09-27T05:34:02.9058871Z ▶ SessionTodo document -2026-09-27T05:34:02.9087825Z ✔ normalizes the complete ordered list and permits initialized-empty state (5.863496ms) -2026-09-27T05:34:02.9119435Z ✔ enforces the legacy-compatible item and content bounds (15.723427ms) -2026-09-27T05:34:02.9123845Z ✔ rejects invalid statuses and unknown fields (0.270145ms) -2026-09-27T05:34:02.9125135Z ✔ projects one shared display-safe value without changing stored normalization (4.217306ms) -2026-09-27T05:34:02.9126162Z ✔ SessionTodo document (29.26358ms) -2026-09-27T05:34:02.9275633Z ▶ ExternalSessionImporter -2026-09-27T05:34:02.9367720Z ✔ forwards the exact external Session origin to imported persistence (8.75356ms) -2026-09-27T05:34:02.9466223Z ✔ persists adapter output as native Maka StoredMessages (401.976583ms) -2026-09-27T05:34:02.9539311Z ✔ allows the Maka target to override imported name and cwd (120.465086ms) -2026-09-27T05:34:02.9582796Z ✔ preserves a target cwd containing decomposed Unicode after reopening storage (206.028236ms) -2026-09-27T05:34:02.9637637Z ✔ preserves a target cwd containing a zero-width joiner after reopening storage (188.336618ms) -2026-09-27T05:34:02.9671672Z ✔ canonicalizes adapter metadata before entering persistence (1.762192ms) -2026-09-27T05:34:02.9703498Z ✔ rejects invalid message timestamps before entering persistence (0.821768ms) -2026-09-27T05:34:02.9735605Z ✔ rejects rows that hold no conversation the Ledger would keep (7.822955ms) -2026-09-27T05:34:02.9736642Z ✔ rejects invalid adapter messages without exposing a partial Session (140.701144ms) -2026-09-27T05:34:02.9801963Z ✔ ExternalSessionImporter (1080.844425ms) -2026-09-27T05:34:02.9827087Z ✔ a file lifetime owner fails closed and recovers after owner death (184.168506ms) -2026-09-27T05:34:02.9859846Z ✔ persists a current Manifest head and first immutable object prefix across reopened adapters (110.57413ms) -2026-09-27T05:34:02.9940175Z ✔ serializes concurrent local CAS writers across adapter instances (105.213733ms) -2026-09-27T05:34:03.0006871Z ✔ recovers a repository writer killed before-rename without removing its lock (309.01648ms) -2026-09-27T05:34:03.0085885Z ✔ recovers a repository writer killed after-rename without removing its lock (295.263416ms) -2026-09-27T05:34:03.0142607Z ✔ persists Fork source binding and crash recovery across reopened adapters (125.939592ms) -2026-09-27T05:34:03.0154089Z ✔ fails closed when durable local control-plane state is corrupt (50.569673ms) -2026-09-27T05:34:03.0193429Z ✔ fails closed when persisted revision allocation contradicts its current head (75.205898ms) -2026-09-27T05:34:03.0262708Z ✔ fails closed when a persisted commit receipt contradicts the current head (46.008608ms) -2026-09-27T05:34:03.0298779Z ✔ uses Session and CAS preflight errors before checking an unrelated candidate object (93.388551ms) -2026-09-27T05:34:03.0329690Z ✔ streams immutable object publication and materialization across concurrent adapters (155.914762ms) -2026-09-27T05:34:03.0384949Z ✔ releases a file update lock when its process is killed (92.811014ms) -2026-09-27T05:34:03.0386184Z ✔ recovers a supervised legacy directory lock when its process is killed (95.54449ms) -2026-09-27T05:34:03.0414694Z ✔ keeps the authority lease held by an inherited package-switch descriptor (323.034015ms) -2026-09-27T05:34:03.0455975Z ✔ Git execution ignores ambient repository variables for text and byte output (67.951521ms) -2026-09-27T05:34:03.0506743Z ▶ Git worktree child executor -2026-09-27T05:34:03.0517008Z ✔ reports availability only when the source workspace is a Git project (114.476588ms) -2026-09-27T05:34:03.0537633Z ✔ provisions deterministic isolated worktrees for concurrent child leases (365.647924ms) -2026-09-27T05:34:03.0545925Z ✔ reuses the durable branch/path binding across executor restart and child edits (343.73254ms) -2026-09-27T05:34:03.0582339Z ✔ captures committed, tracked, and untracked changes as one base-relative patch (294.77123ms) -2026-09-27T05:34:03.0625551Z ✔ captures complete patches larger than the former 10 MiB process buffer (642.921809ms) -2026-09-27T05:34:03.0661951Z ✔ retires only the Host lease branch after a child switches branches (311.744636ms) -2026-09-27T05:34:03.0685475Z ✔ recovery preserves live bindings and retires orphaned worktrees (446.542609ms) -2026-09-27T05:34:03.0736286Z ✔ fails closed when a fresh lease would omit uncommitted parent work (142.656785ms) -2026-09-27T05:34:03.0766014Z ✔ rejects non-Git project roots (4.650027ms) -2026-09-27T05:34:03.0791572Z ✔ Git worktree child executor (2670.178815ms) -2026-09-27T05:34:03.0814849Z ✔ Goal authority commits one revisioned record and preserves its execution reference (373.155469ms) -2026-09-27T05:34:03.0887005Z ✔ Goal authority close lets an admitted commit finish before releasing storage (246.186946ms) -2026-09-27T05:34:03.0917295Z ✔ Session retirement atomically removes its Goal authority (184.273515ms) -2026-09-27T05:34:03.1020172Z ▶ invocation opening fact backfill -2026-09-27T05:34:03.1070052Z ✔ gives every header-only run the opening fact it never wrote (224.948869ms) -2026-09-27T05:34:03.1095511Z ✔ enumerates event openings and migrated ones as one inventory (191.780348ms) -2026-09-27T05:34:03.1115792Z ✔ purging a migrated Session takes its shelved openings with it (169.809919ms) -2026-09-27T05:34:03.1185464Z ✔ bounds, pages and addresses the same inventory (171.38747ms) -2026-09-27T05:34:03.1205774Z ✔ migrates a header exactly as the header era wrote it, composition included (235.338943ms) -2026-09-27T05:34:03.1227919Z ✔ refuses to migrate a header it cannot read, and drops nothing (165.879566ms) -2026-09-27T05:34:03.1265989Z ✔ invocation opening fact backfill (1161.584226ms) -2026-09-27T05:34:03.1295636Z ✔ converts released single-value steps without changing wildcard steps (2.07585ms) -2026-09-27T05:34:03.1345765Z ✔ rejects a source expression outside the released grammar (0.519714ms) -2026-09-27T05:34:03.1382353Z ▶ legacy Run header decoding -2026-09-27T05:34:03.1415329Z ✔ rejects a header with multiple hosted root authorities (1.731854ms) -2026-09-27T05:34:03.1449900Z ✔ folds every retired persisted value (0.366421ms) -2026-09-27T05:34:03.1472093Z ✔ accepts both bound and legacy connection identity (0.424659ms) -2026-09-27T05:34:03.1479928Z ✔ projects an unbound connection as an unauthenticated route (0.482469ms) -2026-09-27T05:34:03.1483054Z ✔ legacy Run header decoding (4.848305ms) -2026-09-27T05:34:03.1484608Z ▶ legacy continuation source decoding -2026-09-27T05:34:03.1515794Z ✔ rejects a V2 replay manifest that does not identify its boundary (0.599842ms) -2026-09-27T05:34:03.1528330Z ✔ projects a V2 source onto the opening fact (0.292362ms) -2026-09-27T05:34:03.1560998Z ✔ legacy continuation source decoding (1.189406ms) -2026-09-27T05:34:03.1578826Z ✔ contract errors retain instanceof identity through existing package seams (5.553676ms) -2026-09-27T05:34:03.1582412Z ✔ leased WorkHub contract persists copied attachments and rejects inconsistent content or replay (590.620977ms) -2026-09-27T05:34:03.1583905Z ✔ leased WorkHub transaction rolls back target, create claim, admission and linkage together (315.61951ms) -2026-09-27T05:34:03.1585450Z ✔ retained execution contract cannot read or assign after its root lease is closed (292.644423ms) -2026-09-27T05:34:03.1586817Z ✔ Session and Tool persistence contracts do not import concrete storage implementations (21.337897ms) -2026-09-27T05:34:03.1588242Z ✔ production Runtime and Host use persistence contracts, with writer construction owned by composition (516.248303ms) -2026-09-27T05:34:03.1589454Z ✔ rejects a second authority for the same storage root in another process (180.476596ms) -2026-09-27T05:34:03.1590417Z ✔ converges after process exit at during_environment_provision (322.404421ms) -2026-09-27T05:34:03.1591330Z ✔ converges after process exit at after_environment_tree_durable (439.078207ms) -2026-09-27T05:34:03.1615610Z ✔ converges after process exit at after_environment_receipt_durable (306.487436ms) -2026-09-27T05:34:03.1645465Z ✔ converges after process exit at after_environment_publish (315.244479ms) -2026-09-27T05:34:03.1669686Z ✔ computes one shared environment identity for equivalent dependency inputs (2.320911ms) -2026-09-27T05:34:03.1670802Z ✔ rejects a producer that does not declare the exact hermetic capability (29.074582ms) -2026-09-27T05:34:03.1671863Z ✔ rejects a second authority for the same storage root in one process (34.663004ms) -2026-09-27T05:34:03.1672958Z ✔ rejects a published environment whose dependency content was modified (59.598594ms) -2026-09-27T05:34:03.1674184Z ✔ keeps the receipt in a constrained authority outside the producer-owned artifact domain (64.785315ms) -2026-09-27T05:34:03.1675509Z ✔ rejects a coordinated artifact and co-located receipt rewrite (104.487522ms) -2026-09-27T05:34:03.1676587Z ✔ rejects an environment id that is not the digest of the requested identity (20.213811ms) -2026-09-27T05:34:03.1677736Z ﹣ rejects an NTFS alternate stream created inside a dependency artifact (0.203793ms) # SKIP -2026-09-27T05:34:03.1679058Z ﹣ rejects an NTFS alternate stream attached to the published dependency root (0.091416ms) # SKIP -2026-09-27T05:34:03.1680273Z ﹣ rejects an NTFS alternate stream attached to a published nested directory (0.158165ms) # SKIP -2026-09-27T05:34:03.1681439Z ✔ accepts a POSIX package bin symlink whose target remains inside the dependency root (79.655776ms) -2026-09-27T05:34:03.1682592Z ✔ publishes authority-owned file inodes instead of producer-owned inodes (46.872666ms) -2026-09-27T05:34:03.1683726Z ✔ seals the complete authority-owned tree before publishing its receipt (75.966982ms) -2026-09-27T05:34:03.1685197Z ﹣ publishes Windows read-only dependency files without changing their final mode (0.766697ms) # SKIP -2026-09-27T05:34:03.1686590Z ✔ isolates published POSIX content from a producer-retained writable handle (28.06463ms) -2026-09-27T05:34:03.1687951Z ✔ publishes one Maka-owned artifact for concurrent equivalent acquisitions (96.321978ms) -2026-09-27T05:34:03.1689161Z ✔ close drains an acquisition through lease installation before deciding its outcome (58.227003ms) -2026-09-27T05:34:03.1690612Z ✔ collects the least-recently-used unleased environment under the cache quota (144.00372ms) -2026-09-27T05:34:03.1691806Z ✔ does not collect a published environment while its acquisition is still pending (137.682929ms) -2026-09-27T05:34:03.1692607Z ▶ in-memory ManagedSecretStore -2026-09-27T05:34:03.1693472Z ✔ requires an explicit target-Session authorization for copied references (3.370034ms) -2026-09-27T05:34:03.1694845Z ✔ rotates behind a stable reference and rejects a stale CAS basis (1.522406ms) -2026-09-27T05:34:03.1695998Z ✔ revocation and grant removal affect later Activations without changing references (0.834066ms) -2026-09-27T05:34:03.1697059Z ✔ deletion removes material and target grants without retaining a tombstone (0.702737ms) -2026-09-27T05:34:03.1698967Z ✔ does not expose secret material through metadata or unauthorized principals (0.838905ms) -2026-09-27T05:34:03.1700090Z ✔ in-memory ManagedSecretStore (9.0564ms) -2026-09-27T05:34:03.1700717Z ▶ encrypted-file ManagedSecretStore -2026-09-27T05:34:03.1701555Z ✔ requires an explicit target-Session authorization for copied references (88.664653ms) -2026-09-27T05:34:03.1702541Z ✔ rotates behind a stable reference and rejects a stale CAS basis (27.633329ms) -2026-09-27T05:34:03.1703649Z ✔ revocation and grant removal affect later Activations without changing references (45.437484ms) -2026-09-27T05:34:03.1704931Z ✔ deletion removes material and target grants without retaining a tombstone (34.54407ms) -2026-09-27T05:34:03.1706040Z ✔ does not expose secret material through metadata or unauthorized principals (12.545441ms) -2026-09-27T05:34:03.1706924Z ✔ encrypted-file ManagedSecretStore (209.855837ms) -2026-09-27T05:34:03.1707604Z ▶ encrypted file ManagedSecretStore security boundary -2026-09-27T05:34:03.1708475Z ✔ keeps mutation timestamps monotonic when the wall clock moves backwards (61.146724ms) -2026-09-27T05:34:03.1709540Z ✔ physically removes deleted records and grants so capacity is reusable (31.284729ms) -2026-09-27T05:34:03.1710631Z ✔ persists only authenticated ciphertext in a private control-plane root (6.883718ms) -2026-09-27T05:34:03.1711644Z ✔ reopens with the external key and fails closed when the key is unavailable (18.956031ms) -2026-09-27T05:34:03.1712754Z ✔ uses the provider active key on rotation without changing the portable reference (31.037236ms) -2026-09-27T05:34:03.1713844Z ✔ binds ciphertext to identity, owner, and revision with AEAD authentication (41.986767ms) -2026-09-27T05:34:03.1715035Z ✔ serializes two store owners so concurrent creates do not lose records (33.690244ms) -2026-09-27T05:34:03.1715964Z ✔ fails closed on an unknown document schema (4.570189ms) -2026-09-27T05:34:03.1716810Z ✔ encrypted file ManagedSecretStore security boundary (230.579564ms) -2026-09-27T05:34:03.1717735Z ✔ keeps the open primitive captured at module initialization (41.796658ms) -2026-09-27T05:34:03.1718676Z ✔ create removes its temporary marker after a write failure (17.281428ms) -2026-09-27T05:34:03.1719595Z ✔ create removes its temporary marker after a sync failure (9.180435ms) -2026-09-27T05:34:03.1720517Z ✔ create removes its temporary marker after a close failure (13.540924ms) -2026-09-27T05:34:03.1721401Z ✔ replace removes its temporary marker after a write failure (4.410423ms) -2026-09-27T05:34:03.1722260Z ✔ replace removes its temporary marker after a sync failure (5.953191ms) -2026-09-27T05:34:03.1723121Z ✔ replace removes its temporary marker after a close failure (3.470061ms) -2026-09-27T05:34:03.1724167Z ✔ a subscriber hears when watching begins, then once per replacement until it unsubscribes (1208.55833ms) -2026-09-27T05:34:03.1725554Z ✔ creates and atomically updates a Claude-compatible mcp.json (57.209595ms) -2026-09-27T05:34:03.1726311Z ✔ leaves no temp file behind after writes (33.35182ms) -2026-09-27T05:34:03.1727163Z ✔ reads version 1 without rewriting and persists version 3 on the next mutation (34.168613ms) -2026-09-27T05:34:03.1728126Z ✔ reads a missing wrapper version as version 1 without rewriting it (14.885464ms) -2026-09-27T05:34:03.1729345Z ✔ reads version 2 remote pins without rewriting and projects them as version 3 (10.829258ms) -2026-09-27T05:34:03.1730241Z ✔ round-trips every version 3 protocol preference for remote and stdio (2.994932ms) -2026-09-27T05:34:03.1731156Z ✔ rejects protocol fields under missing or version 1 wrappers (0.385709ms) -2026-09-27T05:34:03.1731920Z ✔ rejects protocol on version 2 stdio servers (0.261484ms) -2026-09-27T05:34:03.1732669Z ✔ allows SSE only with an omitted or explicit legacy protocol (0.523783ms) -2026-09-27T05:34:03.1733559Z ✔ transform sees the latest committed config, not a caller snapshot (57.120086ms) -2026-09-27T05:34:03.1734714Z ✔ two independent stores preserve concurrent additions to one workspace (36.632048ms) -2026-09-27T05:34:03.1735729Z ✔ a new store commits after a killed MCP config writer releases its native lock (294.133984ms) -2026-09-27T05:34:03.1736883Z ✔ serializes concurrent updates without corrupting the file (222.5154ms) -2026-09-27T05:34:03.1737732Z ✔ rejects corrupt files and unsafe or invalid configs (5.7771ms) -2026-09-27T05:34:03.1738516Z ✔ leaves a higher-version file untouched when it is rejected (3.875582ms) -2026-09-27T05:34:03.1739491Z ✔ normalizes wrapped imports and direct maps without losing source-version rules (0.584585ms) -2026-09-27T05:34:03.1740453Z ✔ import rejects malformed wrappers and protocol fields from older eras (0.620088ms) -2026-09-27T05:34:03.1741425Z ✔ refuses cleartext http for non-loopback hosts at the write boundary (28.155645ms) -2026-09-27T05:34:03.1742531Z ✔ grandfathers a pre-existing cleartext server on read and keeps the file repairable (83.002134ms) -2026-09-27T05:34:03.1743403Z ✔ normalizes and bounds the remote oauth block (1.50449ms) -2026-09-27T05:34:03.1744250Z ✔ rejects a config that declares both an Authorization header and oauth (0.363628ms) -2026-09-27T05:34:03.1745134Z ▶ interactive Memory bundle storage authority -2026-09-27T05:34:03.1745888Z ✔ reader and writer recovery are non-mutating when no transaction exists (126.864821ms) -2026-09-27T05:34:03.1746717Z ✔ commits MEMORY.md and PENDING.md under one exact bundle CAS (70.717297ms) -2026-09-27T05:34:03.1747472Z ✔ detects direct external edits before publishing a mutation (16.997053ms) -2026-09-27T05:34:03.1748369Z ✔ restores a selected backup, preserves PENDING.md, and rotates restore undo history (386.500084ms) -2026-09-27T05:34:03.1749226Z ✔ can restore a bounded safe-mode backup for manual recovery (142.770186ms) -2026-09-27T05:34:03.1750111Z ✔ rejects a stale backup candidate even when the bundle revision is unchanged (92.348677ms) -2026-09-27T05:34:03.1751012Z ✔ rolls a durable two-document decision forward after partial materialization (125.983738ms) -2026-09-27T05:34:03.1751863Z ✔ preserves external edits made after a durable decision (57.432163ms) -2026-09-27T05:34:03.1752722Z ✔ does not replace an external save published after basis displacement (78.774011ms) -2026-09-27T05:34:03.1753534Z ✔ restores an external save captured while displacing the basis (62.717453ms) -2026-09-27T05:34:03.1754617Z ✔ keeps staged targets immutable after partial materialization (65.5468ms) -2026-09-27T05:34:03.1755514Z ✔ rejects a durable decision whose document state disagrees with staged bytes (65.135662ms) -2026-09-27T05:34:03.1756407Z ✔ discards an undecided transaction without touching user documents (26.546332ms) -2026-09-27T05:34:03.1757382Z ✔ read-only inspection fails closed until a writer recovers a transaction (44.312349ms) -2026-09-27T05:34:03.1758498Z ✔ rejects a symbolic-link Memory parent without reading or writing outside the root (53.785727ms) -2026-09-27T05:34:03.1759465Z ✔ root owner close drains mutations admitted before close (61.122018ms) -2026-09-27T05:34:03.1760322Z ✔ interactive Memory bundle storage authority (1482.228756ms) -2026-09-27T05:34:03.1760937Z ▶ canonical model call ledger -2026-09-27T05:34:03.1761673Z ✔ reads back what it recorded, bounded to the queried window (552.045541ms) -2026-09-27T05:34:03.1762971Z ✔ a failed call keeps its pricing basis and drops what pricing cannot use (331.083685ms) -2026-09-27T05:34:03.1764077Z ✔ migration deletes legacy repair intent without losing discoverable authority (331.834081ms) -2026-09-27T05:34:03.1765521Z ✔ a row converted in place keeps spend the authority can no longer replay (302.331457ms) -2026-09-27T05:34:03.1766508Z ✔ a late settlement replaces the provisional record under the same attempt id (268.955476ms) -2026-09-27T05:34:03.1767572Z ✔ reports an authority record that does not satisfy the canonical schema (229.212796ms) -2026-09-27T05:34:03.1768446Z ✔ one unreadable row is reported rather than failing the whole query (151.936579ms) -2026-09-27T05:34:03.1769342Z ✔ a Session-scoped read excludes another Session records and corruption (162.576469ms) -2026-09-27T05:34:03.1770653Z ✔ reads and catch-up after close report the lifecycle rather than corrupting state (114.467507ms) -2026-09-27T05:34:03.1771608Z ✔ canonical model call ledger (2447.390194ms) -2026-09-27T05:34:03.1772343Z ▶ catching the read model up from the AgentRun authority -2026-09-27T05:34:03.1773218Z ✔ consumes the high-water published by the real AgentRun append path (109.576674ms) -2026-09-27T05:34:03.1774206Z ✔ recovers an authority append even when no repair marker was written (119.070084ms) -2026-09-27T05:34:03.1775276Z ✔ a later authority append remains discoverable after an earlier catch-up (142.534549ms) -2026-09-27T05:34:03.1776148Z ✔ persists corrupt authority evidence without pinning later events (331.194538ms) -2026-09-27T05:34:03.1777058Z ✔ reports a run as pending until a bounded catch-up reaches its high-water mark (164.590898ms) -2026-09-27T05:34:03.1777903Z ✔ does not advance the checkpoint when projection storage fails (182.88553ms) -2026-09-27T05:34:03.1778695Z ✔ catching the read model up from the AgentRun authority (1050.885717ms) -2026-09-27T05:34:03.1779310Z ▶ Usage answers over the canonical ledger -2026-09-27T05:34:03.1779958Z ✔ a total never counts unpriced spend as zero, and says so in coverage (417.132805ms) -2026-09-27T05:34:03.1780881Z ✔ a genuinely free call is counted as priced, and reads apart from an unpriced one (252.871571ms) -2026-09-27T05:34:03.1781801Z ✔ usage-missing records are reported separately from unpriced ones (158.744904ms) -2026-09-27T05:34:03.1782624Z ✔ one malformed cache reading cannot inflate the cache total (278.472888ms) -2026-09-27T05:34:03.1783532Z ✔ provider cache-only evidence survives without inventing an input total (166.973337ms) -2026-09-27T05:34:03.1784573Z ✔ the summary sums recorded call time over the rows it counts (310.610542ms) -2026-09-27T05:34:03.1785402Z ✔ filters by Session, window, provider, model, and status (241.784069ms) -2026-09-27T05:34:03.1786168Z ✔ interrupted counts as aborted, not as an error (111.448065ms) -2026-09-27T05:34:03.1786982Z ✔ buckets group by provider and by model, excluding unpriced cost (165.33385ms) -2026-09-27T05:34:03.1787884Z ✔ time buckets are named by the same key both Usage sources derive (176.533973ms) -2026-09-27T05:34:03.1788785Z ✔ logs page newest first and carry coverage for the whole match (185.857496ms) -2026-09-27T05:34:03.1789571Z ✔ a replayed attemptId is one call, not two (179.132218ms) -2026-09-27T05:34:03.1790312Z ✔ Usage answers over the canonical ledger (2651.236158ms) -2026-09-27T05:34:03.1791292Z ✔ model facts persist and malformed documents fail closed with a bounded diagnostic (21.485087ms) -2026-09-27T05:34:03.1792388Z ✔ model facts temporary writes are removed by runtime policy recovery (12.456484ms) -2026-09-27T05:34:03.1793415Z ✔ future model facts schemas fail closed without rewriting the document (7.001181ms) -2026-09-27T05:34:03.1794775Z ✔ an onboarding intent round-trips its endpoint override through the journal (62.155055ms) -2026-09-27T05:34:03.1795872Z ✔ a journal written before the baseUrl field replays as no override (9.638732ms) -2026-09-27T05:34:03.1796815Z ✔ a journal naming a legacy custom type replays as a custom connection (16.522098ms) -2026-09-27T05:34:03.1828113Z ✔ a caller-chosen display name round-trips through the journal (5.477173ms) -2026-09-27T05:34:03.1829180Z ✔ a journal written before the name field replays with the provider default (4.347794ms) -2026-09-27T05:34:03.1830266Z ✔ a malformed requested display name fails input decode, never the journal (1.957221ms) -2026-09-27T05:34:03.1831359Z ✔ coverage merge distinguishes backend absence from a gap in only some pages (4.205841ms) -2026-09-27T05:34:03.1832233Z ✔ page merge orders and deduplicates turns (1.778896ms) -2026-09-27T05:34:03.1833056Z ✔ page merge has a stable order when run timestamps and identities tie (22.923818ms) -2026-09-27T05:34:03.1834015Z ✔ coverage merge keeps equal turn ids from distinct runs separate (0.319886ms) -2026-09-27T05:34:03.1835441Z ✔ defaults new sessions to bypass while preserving saved choices and rejecting invalid modes (8.241833ms) -2026-09-27T05:34:03.1836872Z ✔ normalizes user-approved subagent presets without widening the catalog (4.217277ms) -2026-09-27T05:34:03.1837645Z ▶ custom pet selection settings -2026-09-27T05:34:03.1838408Z ✔ fails closed for missing, unsafe, or malformed persisted selections (3.149522ms) -2026-09-27T05:34:03.1839166Z ✔ custom pet selection settings (3.644876ms) -2026-09-27T05:34:03.1839667Z ▶ UI locale preferences -2026-09-27T05:34:03.1840411Z ✔ preserves every supported preference and migrates the former generic zh value (0.693148ms) -2026-09-27T05:34:03.1841187Z ✔ UI locale preferences (1.442456ms) -2026-09-27T05:34:03.1842064Z ✔ shell settings default, normalize, and merge through their shared boundary (2.551343ms) -2026-09-27T05:34:03.1843037Z ✔ an unrecognized legacy chat thinking field drops to no preference (1.399096ms) -2026-09-27T05:34:03.1844031Z ✔ an app icon the build does not ship falls back without disturbing the theme (0.566896ms) -2026-09-27T05:34:03.1845323Z ✔ font-size appearance defaults, with wrong types failing closed and out-of-range clamped (0.663036ms) -2026-09-27T05:34:03.1846211Z ✔ imported app icons normalize by id shape, never by path (0.544792ms) -2026-09-27T05:34:03.1846797Z ▶ OpenCodeSessionAdapter -2026-09-27T05:34:03.1847302Z ✔ reports absent when no database exists (35.935432ms) -2026-09-27T05:34:03.1848061Z ✔ an unreadable database is reported, not answered as an empty catalog (15.633691ms) -2026-09-27T05:34:03.1849004Z ✔ a session whose transcript tables are missing fails instead of importing empty (77.427651ms) -2026-09-27T05:34:03.1849920Z ✔ a user message with no prompt does not produce a turn holding no messages (31.957907ms) -2026-09-27T05:34:03.1850747Z ✔ lists a captured session with its directory and title (202.000592ms) -2026-09-27T05:34:03.1851442Z ✔ a cwd query selects by the session directory (202.714619ms) -2026-09-27T05:34:03.1852194Z ✔ pages the filtered catalog before returning rows to the Host (333.86584ms) -2026-09-27T05:34:03.1853140Z ✔ an app icon that never passed normalization still coerces to the brand mark (0.360951ms) -2026-09-27T05:34:03.1854085Z ✔ WorkHub stays opt-in and malformed persisted values fail closed (7.108288ms) -2026-09-27T05:34:03.1888601Z ▶ app icon per appearance -2026-09-27T05:34:03.1890007Z ✔ one icon serves both appearances until a dark one is chosen (0.373304ms) -2026-09-27T05:34:03.1890768Z ✔ a dark choice applies only to dark (2.484962ms) -2026-09-27T05:34:03.1891603Z ✔ a settings file written before the dark slot existed keeps its icon in both (0.227549ms) -2026-09-27T05:34:03.1894216Z ✔ clearing the dark slot survives normalization as absent, not as a default (0.45032ms) -2026-09-27T05:34:03.1895857Z ✔ a present-but-invalid dark id falls back instead of reaching the main process (0.241236ms) -2026-09-27T05:34:03.1897139Z ✔ a fresh install uses one icon in both appearances (2.731758ms) -2026-09-27T05:34:03.1898170Z ✔ the shipped dark recommendation is a real icon that can be seeded (0.181174ms) -2026-09-27T05:34:03.1900339Z ✔ the startup icon matches what a fresh install resolves to (0.738046ms) -2026-09-27T05:34:03.1901568Z ✔ a malformed choice cannot survive as a path fragment (0.727809ms) -2026-09-27T05:34:03.1902423Z ✔ app icon per appearance (8.750537ms) -2026-09-27T05:34:03.1902867Z ▶ app icon on upgrade -2026-09-27T05:34:03.1903488Z ✔ a settings file that recorded a choice keeps it (3.965588ms) -2026-09-27T05:34:03.1904326Z ✔ a settings file that never recorded one takes the new default (0.23159ms) -2026-09-27T05:34:03.1905228Z ✔ app icon on upgrade (4.569345ms) -2026-09-27T05:34:03.1905949Z ✔ proxy credentials never enter persisted settings (1.684175ms) -2026-09-27T05:34:03.1906911Z ✔ Workbar toggle position defaults to edge and survives other appearance updates (3.690046ms) -2026-09-27T05:34:03.1908135Z ✔ local acceptance survives restart with attachment bytes and an immutable dispatch epoch (120.803498ms) -2026-09-27T05:34:03.1909211Z ✔ ordinary send presentation survives local outbox restart (46.513313ms) -2026-09-27T05:34:03.1910259Z ✔ local IDs bind content, retries are idempotent, and admission stays bounded (531.705329ms) -2026-09-27T05:34:03.2075491Z ▶ mergeShellRunState -2026-09-27T05:34:03.2076479Z ✔ orders state by revision and strips child operations (1.395686ms) -2026-09-27T05:34:03.2083365Z ✔ only enriches a same-revision compact handoff with output (0.309415ms) -2026-09-27T05:34:03.2084817Z ✔ rejects conflicting state at one revision and a different ref (4.878905ms) -2026-09-27T05:34:03.2085762Z ✔ mergeShellRunState (10.7592ms) -2026-09-27T05:34:03.2086299Z ▶ ShellRun view updates -2026-09-27T05:34:03.2087070Z ✔ fans an owner revision into the inherited view identity (0.504205ms) -2026-09-27T05:34:03.2088177Z ✔ applies ownership-only changes without letting stale revisions rewrite ownership (0.972832ms) -2026-09-27T05:34:03.2089459Z ✔ bounds hydration updates while retaining the latest revision of recently active refs (1.82468ms) -2026-09-27T05:34:03.2090353Z ✔ ShellRun view updates (4.731305ms) -2026-09-27T05:34:03.2091028Z ▶ decodeCanonicalShellToolResultContent -2026-09-27T05:34:03.2092016Z ✔ accepts canonical current terminal state and rejects contradictory exit status (2.36303ms) -2026-09-27T05:34:03.2093179Z ✔ rejects non-canonical nested output and contradictory current state (2.390685ms) -2026-09-27T05:34:03.2094226Z ✔ accepts queued PTY input and rejects the superseded applied field (0.70588ms) -2026-09-27T05:34:03.2095371Z ✔ decodeCanonicalShellToolResultContent (6.369636ms) -2026-09-27T05:34:03.2205927Z ✔ a credential or profile incarnation change cannot read the old local history (29.12202ms) -2026-09-27T05:34:03.2255753Z ▶ slash command catalog -2026-09-27T05:34:03.2275648Z ✔ /todo is a TUI-only read of the current session Todo projection (9.551147ms) -2026-09-27T05:34:03.2305295Z ✔ slash command catalog (10.967828ms) -2026-09-27T05:34:03.2395937Z ✔ cancelling an undispatched message removes its staged bytes as one database operation (23.850039ms) -2026-09-27T05:34:03.2585937Z ✔ normal application shutdown preserves intentions when the manager removes its in-memory targets (12.378567ms) -2026-09-27T05:34:03.2663622Z ✔ a catalog read begun before local creation cannot erase that Session or its intent (15.655449ms) -2026-09-27T05:34:03.2971577Z ✔ a locally-owned Session change signals a list refresh, not a targeted row read (27.680182ms) -2026-09-27T05:34:03.3453167Z ✔ an authorization failure quarantines the still-connected authority from cache and admission (48.060049ms) -2026-09-27T05:34:03.3568470Z ✔ child sessions are neither listed nor readable as conversations (212.997359ms) -2026-09-27T05:34:03.3776311Z ✔ offline intents are dispatched only after connectivity returns (30.773161ms) -2026-09-27T05:34:03.4430643Z ✔ a retained operation-error local message does not block later sends (64.544388ms) -2026-09-27T05:34:03.4922195Z ▶ subagent session parent relation -2026-09-27T05:34:03.4971930Z ✔ strictly decodes standalone and swarm relations (1.527241ms) -2026-09-27T05:34:03.5026009Z ✔ rejects malformed, unsupported, or extended persisted relations (0.244658ms) -2026-09-27T05:34:03.5091468Z ✔ strictly decodes the initial child-spawn identity (0.281309ms) -2026-09-27T05:34:03.5185672Z ✔ derives reverse children without conflating ordinary branches (1.413647ms) -2026-09-27T05:34:03.5250407Z ✔ projects linked children beneath parents while preserving branches and orphans (3.694948ms) -2026-09-27T05:34:03.5260024Z ✔ keeps cyclic linked relations visible as roots (0.268389ms) -2026-09-27T05:34:03.5305514Z ✔ subagent session parent relation (10.406618ms) -2026-09-27T05:34:03.5335323Z ✔ a retained blocked-skill local message does not block later sends (54.338621ms) -2026-09-27T05:34:03.5365267Z ▶ legacy child execution snapshots -2026-09-27T05:34:03.5395453Z ✔ accepts a snapshot carrying a retired key (1.060373ms) -2026-09-27T05:34:03.5432218Z ✔ accepts a current snapshot without the key (0.489989ms) -2026-09-27T05:34:03.5473525Z ✔ still rejects a key that was never part of the shape (2.157346ms) -2026-09-27T05:34:03.5492915Z ✔ legacy child execution snapshots (4.360762ms) -2026-09-27T05:34:03.5516138Z ▶ subagent workspace binding -2026-09-27T05:34:03.5550043Z ✔ rejects unknown fields, unsafe leases, and malformed commits (1.223907ms) -2026-09-27T05:34:03.5575537Z ✔ subagent workspace binding (2.665127ms) -2026-09-27T05:34:03.5576084Z ▶ task submission readiness -2026-09-27T05:34:03.5576882Z ✔ reuses connection readiness and routes an invalid model to its connection (2.861086ms) -2026-09-27T05:34:03.5577870Z ✔ does not turn unresolved credentials into a confirmed repair failure (0.300266ms) -2026-09-27T05:34:03.5578838Z ✔ distinguishes unavailable runtime and workspace from repairable setup (0.744385ms) -2026-09-27T05:34:03.5579780Z ✔ only requested capabilities participate in submission readiness (0.772452ms) -2026-09-27T05:34:03.5580643Z ✔ treats a missing requested capability observation as unknown (0.27715ms) -2026-09-27T05:34:03.5581330Z ✔ task submission readiness (7.607156ms) -2026-09-27T05:34:03.5582028Z ✔ encodes an ordered terminal prefix sequence atomically (1.407973ms) -2026-09-27T05:34:03.5582969Z ✔ encodes cursor keys from the terminal mode active at the input cut (0.319205ms) -2026-09-27T05:34:03.5583822Z ✔ encodes every named key and xterm modifier family (3.673483ms) -2026-09-27T05:34:03.5625173Z ✔ rejects character chords without a portable terminal encoding (2.320248ms) -2026-09-27T05:34:03.5626368Z ✔ encodes SGR cell mouse actions from live terminal state (0.820357ms) -2026-09-27T05:34:03.5627399Z ✔ rejects mouse input outside the application protocol and viewport (0.363768ms) -2026-09-27T05:34:03.5628726Z ✔ an unknown Host outcome blocks later local sends until the original message is reconciled (66.29629ms) -2026-09-27T05:34:03.6181067Z ✔ lost ACK recovery never changes epoch or ID and does not block another Session (58.565689ms) -2026-09-27T05:34:03.6303689Z ▶ dropped text file import preflight -2026-09-27T05:34:03.6398853Z ✔ rejects empty, too many, and oversize batches before renderer reads file text (7.356406ms) -2026-09-27T05:34:03.6425827Z ✔ routes obvious non-text drops before renderer reads the full file (0.583953ms) -2026-09-27T05:34:03.6517511Z ✔ rejects sampled binary content with an unknown file type (0.325325ms) -2026-09-27T05:34:03.6545520Z ✔ dropped text file import preflight (13.938718ms) -2026-09-27T05:34:03.6575778Z ✔ a root Session with no directory is both listed and importable (271.669127ms) -2026-09-27T05:34:03.6596286Z ✔ a Message dispatched in a released epoch is settled from the Host, never replayed (24.671165ms) -2026-09-27T05:34:03.6657491Z ▶ truncateUtf16Safe -2026-09-27T05:34:03.6669942Z ✔ returns text under the budget unchanged (5.025785ms) -2026-09-27T05:34:03.6772869Z ✔ cuts at the budget when the boundary is clean (0.308391ms) -2026-09-27T05:34:03.6796816Z ✔ drops a dangling high surrogate when the cut splits a pair (0.380809ms) -2026-09-27T05:34:03.6845614Z ✔ treats a zero or negative budget as empty (2.272319ms) -2026-09-27T05:34:03.6886276Z ✔ leaves a lone surrogate already inside the budget alone (0.218082ms) -2026-09-27T05:34:03.6929783Z ✔ truncateUtf16Safe (13.995304ms) -2026-09-27T05:34:03.7025467Z ✔ formats exact terminal input as inert, unambiguous escaped text (2.757869ms) -2026-09-27T05:34:03.7089225Z ✔ derives a bounded summary and a complete inert WriteStdin permission inspection (4.237167ms) -2026-09-27T05:34:03.7133197Z ✔ projects WriteStdin activity to a bounded human-readable input preview (1.913711ms) -2026-09-27T05:34:03.7146749Z ✔ never projects uncommitted todo_write arguments into activity history (1.884387ms) -2026-09-27T05:34:03.7148494Z ✔ projects ordered terminal actions without exposing encoded control bytes (1.612825ms) -2026-09-27T05:34:03.7149964Z ✔ names terminal controls, redacts secrets, escapes invisible input, and caps previews (0.708836ms) -2026-09-27T05:34:03.7151484Z ✔ rejects projected previews that bypass the display safety boundary (0.380725ms) -2026-09-27T05:34:03.7152632Z ✔ bounds a malformed WriteStdin ref at the human projection boundary (0.274906ms) -2026-09-27T05:34:03.7155221Z ✔ a stale-epoch Message the Host never admitted is retired so later sends proceed (36.701554ms) -2026-09-27T05:34:03.7156815Z ✔ a running Host that cannot yet resolve a stale Message leaves the copy unresolved (25.32495ms) -2026-09-27T05:34:03.7282724Z ✔ an omitted resolution leaves the stale copy unresolved rather than failed (20.858175ms) -2026-09-27T05:34:03.7769091Z ✔ a removed authority cannot be repopulated by an in-flight admission (40.039418ms) -2026-09-27T05:34:03.8101177Z ✔ cache restoration expires independently of the outbox (37.784823ms) -2026-09-27T05:34:03.8540430Z ✔ converts the captured session into canonical Maka messages (221.352977ms) -2026-09-27T05:34:03.8603311Z ▶ stripUndefinedDeep -2026-09-27T05:34:03.8666992Z ✔ removes a property the provider left undefined, so the value round-trips (6.747451ms) -2026-09-27T05:34:03.8696130Z ✔ writes an undefined array entry as the null JSON would have written (1.416616ms) -2026-09-27T05:34:03.8736889Z ▶ durable Host evidence retires delivery independently of cache admission and submit ACK order -2026-09-27T05:34:03.8765743Z ✔ ackFirst=false, cacheLoss=quota (57.564352ms) -2026-09-27T05:34:03.8789158Z ✔ writes an array hole as null too, and not only an explicit undefined (3.935956ms) -2026-09-27T05:34:03.8831601Z ✔ descends into a null-prototype object, which the encoder accepts (2.281878ms) -2026-09-27T05:34:03.8841779Z ✔ stripUndefinedDeep (19.66038ms) -2026-09-27T05:34:03.8878686Z ✔ ackFirst=false, cacheLoss=revision (20.752108ms) -2026-09-27T05:34:03.8906404Z ✔ excludes synthetic OpenCode user text before provenance is erased (38.919323ms) -2026-09-27T05:34:03.8925399Z ▶ tool quiet preview -2026-09-27T05:34:03.8953696Z ✔ redacts secrets in values and embedded keys (6.582672ms) -2026-09-27T05:34:03.8972884Z ✔ lists AskUserQuestion answers against the offered options (1.571055ms) -2026-09-27T05:34:03.9035687Z ✔ tool quiet preview (22.993813ms) -2026-09-27T05:34:03.9065435Z ▶ formatToolInvocationLine -2026-09-27T05:34:03.9066065Z ✔ names a Bash call by its command (0.588451ms) -2026-09-27T05:34:03.9066750Z ✔ names a GoalSet call by its condition (0.234656ms) -2026-09-27T05:34:03.9068645Z ✔ names an AskUserQuestion call by its first question with a count suffix (0.295565ms) -2026-09-27T05:34:03.9069837Z ✔ keeps the ScheduledTask title headline (0.218289ms) -2026-09-27T05:34:03.9070442Z ✔ formatToolInvocationLine (1.763977ms) -2026-09-27T05:34:03.9070963Z ▶ projectToolArgsPreview -2026-09-27T05:34:03.9071661Z ✔ keeps only the formatter-readable fields, shaped like the args (1.323252ms) -2026-09-27T05:34:03.9072442Z ✔ redacts secrets embedded in command strings (1.535195ms) -2026-09-27T05:34:03.9073058Z ✔ drops sensitive keys entirely (0.883673ms) -2026-09-27T05:34:03.9073750Z ✔ does not put generic input payloads on the live wire (0.282329ms) -2026-09-27T05:34:03.9074650Z ✔ bounds long values and whole-preview size (2.739617ms) -2026-09-27T05:34:03.9075449Z ✔ never previews an uncommitted Todo replacement as current state (0.163672ms) -2026-09-27T05:34:03.9095500Z ✔ does not accept forged question payloads from third-party tools (0.990396ms) -2026-09-27T05:34:03.9096836Z ✔ preserves the WriteStdin projected inputPreview shape (5.872936ms) -2026-09-27T05:34:03.9097647Z ✔ returns undefined when nothing displayable exists (0.158385ms) -2026-09-27T05:34:03.9098341Z ✔ projectToolArgsPreview (17.746074ms) -2026-09-27T05:34:03.9098966Z ✔ ackFirst=false, cacheLoss=coalescing (19.542705ms) -2026-09-27T05:34:03.9305526Z ✔ rejects row and UTF-8 byte overflow without publishing a partial transcript (41.516749ms) -2026-09-27T05:34:03.9656507Z ✔ ackFirst=true, cacheLoss=quota (61.613866ms) -2026-09-27T05:34:03.9748647Z ✔ rejects aggregate source bytes even when every individual row fits (44.241655ms) -2026-09-27T05:34:04.0035270Z ✔ ackFirst=true, cacheLoss=revision (37.712816ms) -2026-09-27T05:34:04.0126893Z ▶ recovery persistence authority -2026-09-27T05:34:04.0149025Z ✔ preserves the mainline T1 identity bytes for strict JSON tool arguments (5.651285ms) -2026-09-27T05:34:04.0175853Z ✔ matches frozen mainline v1 hashes for special and ordinary array fields (12.804532ms) -2026-09-27T05:34:04.0211403Z ✔ keeps strict event JSON lossless while freezing the mainline v1 __proto__ hash (0.55485ms) -2026-09-27T05:34:04.0247478Z ✔ rejects arrays that cannot be represented as exact strict JSON arrays (0.432831ms) -2026-09-27T05:34:04.0277487Z ✔ accepts null-prototype records as exact JSON objects (0.273222ms) -2026-09-27T05:34:04.0306924Z ✔ rejects RuntimeEvents that claim more than one tool-ledger semantic lane (3.114133ms) -2026-09-27T05:34:04.0308132Z ✔ reserves durable boundary and recovery facts from generic writers (1.095062ms) -2026-09-27T05:34:04.0336084Z ✔ decodes only the exact recovery fact version and payload shape (2.648561ms) -2026-09-27T05:34:04.0416233Z ✔ reports duplicate call identity, duplicate operation identity, and physical order (2.489711ms) -2026-09-27T05:34:04.0458089Z ✔ revalidates an earlier response when a later dispatch binds the operation (0.950934ms) -2026-09-27T05:34:04.0516230Z ✔ authenticates every dispatch hash against the canonical call arguments (0.376433ms) -2026-09-27T05:34:04.0522744Z ✔ rejects partial events that carry an authoritative tool fact (0.6589ms) -2026-09-27T05:34:04.0524325Z ✔ rejects branch-qualified tool authority until branch is part of durable identity (0.200301ms) -2026-09-27T05:34:04.0531108Z ✔ uses unambiguous tuple identity for provider call keys (0.602934ms) -2026-09-27T05:34:04.0565301Z ✔ rejects one invocation identity spanning multiple execution spines (0.911871ms) -2026-09-27T05:34:04.0616653Z ✔ checks parent tool dependencies after the whole batch, including identity and cycles (2.641985ms) -2026-09-27T05:34:04.0645713Z ✔ rejects prospective generic transitions that would corrupt a clean ledger (1.171326ms) -2026-09-27T05:34:04.0668197Z ✔ keeps whole, single-event, and batched incremental reductions equivalent (0.956666ms) -2026-09-27T05:34:04.0707177Z ✔ rolls prospective state back and distinguishes existing corruption (0.86066ms) -2026-09-27T05:34:04.0736068Z ✔ can roll back or commit an accepted candidate delta (1.024531ms) -2026-09-27T05:34:04.0793617Z ✔ rejects a recovery bundle whose T1 hash authenticates itself instead of the call args (0.633137ms) -2026-09-27T05:34:04.0820923Z ✔ accepts completed only with one matching outcome and canonical evidence order (0.596484ms) -2026-09-27T05:34:04.0826937Z ✔ gives Resolver and rebuild one recovery-bundle interpretation (0.946207ms) -2026-09-27T05:34:04.0831836Z ✔ recovery persistence authority (46.121046ms) -2026-09-27T05:34:04.0836324Z ▶ tool_result_preview open-facts -2026-09-27T05:34:04.0851539Z ✔ rejects missing childSessionId, bulk fields, and non-running status (6.367178ms) -2026-09-27T05:34:04.0859592Z ✔ ackFirst=true, cacheLoss=coalescing (46.649448ms) -2026-09-27T05:34:04.0861293Z ✔ durable Host evidence retires delivery independently of cache admission and submit ACK order (245.704424ms) -2026-09-27T05:34:04.0870258Z ✔ tool_result_preview open-facts (8.71464ms) -2026-09-27T05:34:04.0871991Z ▶ tool_result_preview permission modes -2026-09-27T05:34:04.0938828Z ✔ rejects a retired mode on the live wire (0.452225ms) -2026-09-27T05:34:04.0957620Z ✔ accepts every live mode (3.367307ms) -2026-09-27T05:34:04.0963748Z ✔ tool_result_preview permission modes (4.510845ms) -2026-09-27T05:34:04.0966384Z ✔ attachment retries across restart reuse committed uploads and release staged bytes after preparation (31.663481ms) -2026-09-27T05:34:04.0997653Z ▶ sandbox denial tool result metadata -2026-09-27T05:34:04.1145818Z ✔ accepts a canonical text result carrying a sandbox denial signal (2.571411ms) -2026-09-27T05:34:04.1179341Z ✔ rejects malformed or widened sandbox denial signals (0.804895ms) -2026-09-27T05:34:04.1197241Z ✔ sandbox denial tool result metadata (5.054849ms) -2026-09-27T05:34:04.1290744Z ▶ sandbox boundary failure tool result metadata -2026-09-27T05:34:04.1400976Z ✔ preserves the machine-readable reason and exact required expansion (1.118902ms) -2026-09-27T05:34:04.1427886Z ✔ preserves the client capability source for actionable bypass recovery (0.331791ms) -2026-09-27T05:34:04.1495599Z ✔ rejects malformed or widened boundary failure signals (0.400214ms) -2026-09-27T05:34:04.1527436Z ✔ sandbox boundary failure tool result metadata (2.633303ms) -2026-09-27T05:34:04.1595400Z ▶ uncertain tool outcome metadata -2026-09-27T05:34:04.1695557Z ✔ preserves a non-retryable outcome_unknown signal (0.477112ms) -2026-09-27T05:34:04.1755522Z ✔ rejects widened or retryable uncertain outcome signals (0.31877ms) -2026-09-27T05:34:04.1795730Z ✔ uncertain tool outcome metadata (1.109539ms) -2026-09-27T05:34:04.1866698Z ▶ retired permission modes in stored subagent results -2026-09-27T05:34:04.1935039Z ✔ folds a legacy mode to its live equivalent instead of returning it verbatim (2.224025ms) -2026-09-27T05:34:04.1965482Z ✔ folds through the stored-message decoder as well (0.722401ms) -2026-09-27T05:34:04.1992249Z ✔ rejects retired values at canonical tool-result and message boundaries (0.612845ms) -2026-09-27T05:34:04.2037643Z ✔ local creation preserves a plugin executor in the pending Session projection (20.746652ms) -2026-09-27T05:34:04.2092970Z ✔ leaves a live mode untouched (0.249081ms) -2026-09-27T05:34:04.2093773Z ✔ still rejects a mode that never existed (0.180848ms) -2026-09-27T05:34:04.2204673Z ✔ retired permission modes in stored subagent results (4.473887ms) -2026-09-27T05:34:04.2268333Z ▶ retired ExploreAgent results in stored transcripts -2026-09-27T05:34:04.2320315Z ✔ folds the legacy result to ordinary historical text at every persisted read boundary (1.17356ms) -2026-09-27T05:34:04.2324363Z ✔ accepts the earliest persisted shape before progress was added (0.329742ms) -2026-09-27T05:34:04.2365638Z ✔ uses a non-empty failure summary when the legacy report is empty (0.170613ms) -2026-09-27T05:34:04.2387006Z ✔ ignores retired structured detail after establishing legacy provenance (0.156187ms) -2026-09-27T05:34:04.2413434Z ✔ requires stable legacy provenance at persisted read boundaries (0.157319ms) -2026-09-27T05:34:04.2452328Z ✔ rejects the retired result kind at canonical live boundaries (0.203342ms) -2026-09-27T05:34:04.2479332Z ✔ retired ExploreAgent results in stored transcripts (2.508009ms) -2026-09-27T05:34:04.2559036Z ✔ rejects canonical output that exceeds the conversion budget (213.397333ms) -2026-09-27T05:34:04.3744883Z ✔ does not follow an opencode database symlink outside the configured home (181.605869ms) -2026-09-27T05:34:04.3778682Z ▶ UI locale -2026-09-27T05:34:04.3839451Z ✔ accepts only the supported resolved locales and preferences (5.913768ms) -2026-09-27T05:34:04.3842015Z ✔ normalizes the legacy persisted preference without widening the locale contract (0.261964ms) -2026-09-27T05:34:04.3889871Z ✔ resolves system languages zh-CN to zh-CN (0.425356ms) -2026-09-27T05:34:04.3892185Z ✔ resolves system languages zh-SG to zh-CN (6.876764ms) -2026-09-27T05:34:04.3893065Z ✔ resolves system languages zh-Hans to zh-CN (2.514043ms) -2026-09-27T05:34:04.3910235Z ✔ resolves system languages zh-TW to zh-TW (0.200496ms) -2026-09-27T05:34:04.3911982Z ✔ resolves system languages zh-Hant-TW to zh-TW (0.194676ms) -2026-09-27T05:34:04.3912698Z ✔ resolves system languages zh-HK to zh-TW (0.152361ms) -2026-09-27T05:34:04.3913374Z ✔ resolves system languages zh_MO to zh-TW (1.081386ms) -2026-09-27T05:34:04.3914075Z ✔ resolves system languages zh_TW.UTF-8 to zh-TW (0.274171ms) -2026-09-27T05:34:04.3914952Z ✔ resolves system languages fr-FR,en-US to en (3.961284ms) -2026-09-27T05:34:04.3931918Z ✔ resolves system languages to en (0.103083ms) -2026-09-27T05:34:04.3987530Z ✔ resolves explicit preferences and overrides before the system locale (0.127675ms) -2026-09-27T05:34:04.4021079Z ✔ keeps every locale guard and formatter in step with UI_LOCALES (0.312565ms) -2026-09-27T05:34:04.4028663Z ✔ UI locale (30.576631ms) -2026-09-27T05:34:04.4055523Z ▶ UI message catalogs -2026-09-27T05:34:04.4097114Z ✔ falls back to complete English copy for missing translations (9.39202ms) -2026-09-27T05:34:04.4151106Z ✔ uses locale-aware ICU plural rules (97.109295ms) -2026-09-27T05:34:04.4166484Z ✔ fails soft for missing or inherited interpolation values (3.796511ms) -2026-09-27T05:34:04.4187489Z ✔ UI message catalogs (112.635317ms) -2026-09-27T05:34:04.4389506Z ▶ parseUnifiedDiffRows -2026-09-27T05:34:04.4436416Z ✔ parses a standard single-hunk diff, omitting file headers (4.609263ms) -2026-09-27T05:34:04.4485005Z ✔ a deleted line whose content starts with `-- ` is a deletion, not a file header (0.887259ms) -2026-09-27T05:34:04.4532861Z ✔ an added line whose content starts with `++` is an addition (0.533527ms) -2026-09-27T05:34:04.4587474Z ✔ `\ No newline at end of file` markers carry no number and advance no counter (0.288417ms) -2026-09-27T05:34:04.4601462Z ✔ resumes numbering per hunk and treats post-hunk `---`/`+++` as the next file (0.263598ms) -2026-09-27T05:34:04.4640429Z ✔ keeps `diff --git` separators as meta rows and a new-file diff reads from /dev/null (0.284928ms) -2026-09-27T05:34:04.4713858Z ✔ a foreign diff without hunk headers degrades to unnumbered meta rows (0.243863ms) -2026-09-27T05:34:04.4756805Z ✔ preserves empty rows without creating a row for the terminating newline (0.888014ms) -2026-09-27T05:34:04.4767719Z ✔ retains carriage returns in CRLF input (0.250818ms) -2026-09-27T05:34:04.4768478Z ✔ parseUnifiedDiffRows (12.444558ms) -2026-09-27T05:34:04.4769033Z ▶ countDiffLineStats -2026-09-27T05:34:04.4773539Z ✔ counts every change line, including `--`/`++`-prefixed content (1.324107ms) -2026-09-27T05:34:04.4774660Z ✔ ignores file headers and hunk headers (0.287929ms) -2026-09-27T05:34:04.4776100Z ✔ counts without materializing display rows or splitting the full diff (0.612114ms) -2026-09-27T05:34:04.4777679Z ✔ counts actual hunk content, including truncated and zero-count hunks (0.538855ms) -2026-09-27T05:34:04.4778905Z ✔ matches independently generated rows and counts across 1,000 seeded multi-file diffs (206.488088ms) -2026-09-27T05:34:04.4783219Z ✔ countDiffLineStats (211.721486ms) -2026-09-27T05:34:04.4784554Z ▶ usage ledger merge -2026-09-27T05:34:04.4785389Z ✔ sums both sources and reports how much came from the frozen table (11.256134ms) -2026-09-27T05:34:04.4786474Z ✔ merges recorded call time from both ledgers (0.302807ms) -2026-09-27T05:34:04.4787389Z ✔ unpriced canonical spend stays out of the total and is reported instead (0.21916ms) -2026-09-27T05:34:04.4791638Z ✔ records that could not be decoded are reported, not silently dropped (3.830601ms) -2026-09-27T05:34:04.4793445Z ✔ buckets sharing a key combine, re-weighting the per-request means (1.266752ms) -2026-09-27T05:34:04.4797708Z ✔ buckets with no counterpart in the other source pass through intact (1.095248ms) -2026-09-27T05:34:04.4799372Z ✔ log pages interleave both sources newest first and page across the boundary (0.420862ms) -2026-09-27T05:34:04.4800714Z ✔ a page beyond both sources is empty rather than throwing (3.708215ms) -2026-09-27T05:34:04.4801534Z ✔ usage ledger merge (26.908458ms) -2026-09-27T05:34:04.4805727Z ▶ presenting usage provenance -2026-09-27T05:34:04.4807675Z ✔ estimatedUsageCost trusts the total once any attempt was priced (1.568491ms) -2026-09-27T05:34:04.4808945Z ✔ estimatedUsageCost treats a positive legacy total as an estimate but a zero as unknown (1.158847ms) -2026-09-27T05:34:04.4814578Z ✔ estimatedUsageCost is unknown when nothing was priced and there are no legacy records (0.25251ms) -2026-09-27T05:34:04.4815848Z ✔ hasUnavailableUsage flags unreadable or pending records only (0.161701ms) -2026-09-27T05:34:04.4820767Z ✔ presenting usage provenance (11.569597ms) -2026-09-27T05:34:04.5698052Z ✔ pairs every tool result with the call it answers (198.011835ms) -2026-09-27T05:34:04.6090977Z ✔ local submit preserves picked-file approvals until durable admission succeeds (498.155596ms) -2026-09-27T05:34:04.6386718Z ✔ entering or leaving Plan writes the collaboration field alone (4.362956ms) -2026-09-27T05:34:04.6420333Z ✔ the orchestration default writes its own field alone (0.403601ms) -2026-09-27T05:34:04.6446793Z ✔ model and thinking are committed through one configuration patch (0.554383ms) -2026-09-27T05:34:04.6475818Z ✔ compound model configuration requires an explicit thinking level (0.768421ms) -2026-09-27T05:34:04.6490422Z ✔ executor model and thinking are committed through one configuration patch (0.438704ms) -2026-09-27T05:34:04.6522068Z ✔ a Plan Session keeps the orchestration default it was carrying (0.488383ms) -2026-09-27T05:34:04.6545577Z ✔ an unknown mode is refused rather than persisted (0.43537ms) -2026-09-27T05:34:04.7022798Z ✔ a last-request anchor accepts the new usage shape and retired payload key (1.172714ms) -2026-09-27T05:34:04.7106037Z ✔ token-usage fields carry the anchor and reject a broken one (3.214075ms) -2026-09-27T05:34:04.7165677Z ✔ an invalid anchor fails the whole token_usage message decode (1.746053ms) -2026-09-27T05:34:04.7318122Z ✔ accepts retired context-budget keys only as inert historical data (2.527263ms) -2026-09-27T05:34:04.7363152Z ▶ web search settings -2026-09-27T05:34:04.7412485Z ✔ normalizes bounded queries and result limits (2.806326ms) -2026-09-27T05:34:04.7467141Z ✔ masks persisted tokens while preserving explicit replace and clear operations (0.313831ms) -2026-09-27T05:34:04.7497035Z ✔ preserves validation metadata for a masked round-trip and resets it for a new key (1.256191ms) -2026-09-27T05:34:04.7515110Z ✔ ignores stale credential results after the key version changes (0.312342ms) -2026-09-27T05:34:04.7548117Z ✔ normalizes malformed persisted credential metadata fail-closed (0.299919ms) -2026-09-27T05:34:04.7575823Z ✔ derives renderer-safe credential metadata from storage and test responses (0.226504ms) -2026-09-27T05:34:04.7605296Z ✔ web search settings (10.217121ms) -2026-09-27T05:34:04.7635608Z ✔ reasoning is carried as thinking rather than as reply text (160.271966ms) -2026-09-27T05:34:04.8573534Z ▶ Work Board contract -2026-09-27T05:34:04.8636062Z ✔ decodes a valid main-conversation item (4.531355ms) -2026-09-27T05:34:04.8659708Z ✔ decodes a side-conversation item only when parentSessionId is present (0.4808ms) -2026-09-27T05:34:04.8694843Z ✔ rejects parentSessionId on main-conversation provenance (0.277592ms) -2026-09-27T05:34:04.8755582Z ✔ enforces the archive invariant in both directions (2.042742ms) -2026-09-27T05:34:04.8816672Z ✔ enforces scope/projectId consistency (0.294499ms) -2026-09-27T05:34:04.8845699Z ✔ normalizes create input and rejects agent suggestions without confirmation (0.592924ms) -2026-09-27T05:34:04.8901067Z ✔ rejects linked Sessions from create input but accepts Host-scoped stored links (1.489226ms) -2026-09-27T05:34:04.8954782Z ✔ drops malformed stored link entries instead of hiding the whole item (1.098805ms) -2026-09-27T05:34:04.8971424Z ✔ rejects unknown fields at the contract boundary (3.393218ms) -2026-09-27T05:34:04.9108205Z ✔ keeps null notes exclusive to update patches (3.408145ms) -2026-09-27T05:34:04.9185089Z ✔ normalizes notes patch semantics for absent, undefined, null, empty, whitespace, and values (2.233997ms) -2026-09-27T05:34:04.9215921Z ✔ applies notes patch semantics without clearing on undefined (0.398338ms) -2026-09-27T05:34:04.9276564Z ✔ applies semantic patches and bumps the revision only on effective changes (0.123451ms) -2026-09-27T05:34:04.9335520Z ✔ allows todo -> done without passing through in_progress (1.95597ms) -2026-09-27T05:34:04.9436468Z ✔ archive and reopen are reversible and keep the item identity (0.236423ms) -2026-09-27T05:34:04.9485737Z ✔ bounds the list query page size and cursor (22.43409ms) -2026-09-27T05:34:04.9575617Z ✔ Work Board contract (51.836737ms) -2026-09-27T05:34:04.9595804Z ✔ an aborted final message closes its turn as aborted, not completed (185.325297ms) -2026-09-27T05:34:04.9690627Z ✔ a turn left waiting on a tool call is aborted rather than completed (51.187204ms) -2026-09-27T05:34:04.9795501Z ▶ WorkHub Coordination stored records -2026-09-27T05:34:04.9869992Z ✔ decodes one exact atomic delegation assignment (2.779744ms) -2026-09-27T05:34:04.9896338Z ✔ rejects malformed or widened coordination records (0.636963ms) -2026-09-27T05:34:04.9950705Z ✔ requires a complete create payload only for create_new assignments (0.517824ms) -2026-09-27T05:34:04.9958663Z ✔ decodes the durable replacement intent and linked supersession proof (0.52818ms) -2026-09-27T05:34:05.0004736Z ✔ decodes exact direct-stop request and observed resolution records (3.986392ms) -2026-09-27T05:34:05.0005745Z ✔ WorkHub Coordination stored records (10.793635ms) -2026-09-27T05:34:05.0046941Z ✔ model projections share the bounded production privacy contract (13.978911ms) -2026-09-27T05:34:05.0085713Z ✔ Intent stays target-free and only execute or continue invoke Recall (0.738296ms) -2026-09-27T05:34:05.0099441Z ✔ Recall accepts only bounded opaque candidate refs (0.418095ms) -2026-09-27T05:34:05.0127101Z ✔ Policy never converts failed Recall into implicit creation (0.548629ms) -2026-09-27T05:34:05.1667422Z ✔ an in-flight tool call is imported without a synthesised result (197.108454ms) -2026-09-27T05:34:05.1972695Z ▶ workspace version authority contract -2026-09-27T05:34:05.2011421Z ✔ decodes a causal tool-mutation successor fact on the authority lane (2.754917ms) -2026-09-27T05:34:05.2047680Z ✔ decodes only exact v1 baseline facts on the store-owned semantic lane (2.839888ms) -2026-09-27T05:34:05.2075754Z ✔ derives an isolated deterministic authority spine for each epoch (0.253898ms) -2026-09-27T05:34:05.2085838Z ✔ reconstructs only complete, causal baseline pairs (1.33225ms) -2026-09-27T05:34:05.2088507Z ✔ advances one canonical head through a causal successor fact (1.561781ms) -2026-09-27T05:34:05.2089539Z ✔ workspace version authority contract (10.917985ms) -2026-09-27T05:34:05.2090640Z ✔ a terminal tool failure is imported as an errored result, not a dangling call (37.043782ms) -2026-09-27T05:34:05.2141606Z ▶ applySensitivePatch -2026-09-27T05:34:05.2163791Z ✔ handles plaintext, placeholder, empty string, and undefined (0.726431ms) -2026-09-27T05:34:05.2240771Z ✔ applySensitivePatch (2.156673ms) -2026-09-27T05:34:05.2306555Z ▶ maskSensitive -2026-09-27T05:34:05.2345367Z ✔ masks only non-empty values (0.228942ms) -2026-09-27T05:34:05.2385818Z ✔ maskSensitive (0.427083ms) -2026-09-27T05:34:05.2402785Z ✔ pricing model key preserves the exact provider and model identifiers (1.155283ms) -2026-09-27T05:34:05.2423221Z ✔ pricing model keys use strict exact ordering (4.496073ms) -2026-09-27T05:34:05.2452447Z ✔ canonical pricing accepts only an already-normalized exact shape (2.49801ms) -2026-09-27T05:34:05.2454722Z ✔ pricing model-key normalization trims, bounds, and rejects runtime garbage (0.479249ms) -2026-09-27T05:34:05.2455814Z ✔ pricing normalization returns a minimal canonical value (0.269715ms) -2026-09-27T05:34:05.2456990Z ✔ pricing normalization rejects malformed shapes and invalid rates without throwing (0.399398ms) -2026-09-27T05:34:05.2457824Z ℹ tests 903 -2026-09-27T05:34:05.2458225Z ℹ suites 137 -2026-09-27T05:34:05.2458625Z ℹ pass 903 -2026-09-27T05:34:05.2459032Z ℹ fail 0 -2026-09-27T05:34:05.2459857Z ℹ cancelled 0 -2026-09-27T05:34:05.2460370Z ℹ skipped 0 -2026-09-27T05:34:05.2460952Z ℹ todo 0 -2026-09-27T05:34:05.2461424Z ℹ duration_ms 11468.563419 -2026-09-27T05:34:05.2462294Z ✔ a call still running when the session was written gets no result (25.07885ms) -2026-09-27T05:34:05.2508234Z ✔ parts keep the order the session recorded them in (25.812216ms) -2026-09-27T05:34:05.2615424Z [core] passed -2026-09-27T05:34:05.2767319Z ✔ an undecodable transcript row fails the import rather than truncating it (18.357501ms) -2026-09-27T05:34:05.2807007Z ✔ the registry exposes the adapter under its own id (0.668379ms) -2026-09-27T05:34:05.2835559Z ✔ OpenCodeSessionAdapter (3029.358818ms) -2026-09-27T05:34:05.2842603Z -2026-09-27T05:34:05.2843125Z [ui] start: npm run test:dist -2026-09-27T05:34:05.2944998Z ✔ backs up and restores runtime.sqlite plus artifact bytes (769.500155ms) -2026-09-27T05:34:05.2960129Z ✔ rejects a backup whose SQLite Artifact metadata has no matching payload (314.314324ms) -2026-09-27T05:34:05.2961588Z ✔ rejects a backup whose native Runtime version contradicts its registry (287.419463ms) -2026-09-27T05:34:05.2962884Z ✔ continues to validate and restore version 3 backups without context refs (420.476975ms) -2026-09-27T05:34:05.3786090Z ✔ shares one operational database and produces an online backup (383.480398ms) -2026-09-27T05:34:05.3846590Z ✔ atomically reapplies current owner schema without republishing its registry (361.406463ms) -2026-09-27T05:34:05.3898467Z ✔ a non-owner rejects an older schema without migrating it behind the Runtime Host (270.635453ms) -2026-09-27T05:34:05.3926432Z ✔ preserves live supported v1 Artifacts when opening existing Sessions (267.122798ms) -2026-09-27T05:34:05.3965995Z ✔ retires completed released migration metadata during schema convergence (237.567966ms) -2026-09-27T05:34:05.4015863Z ✔ preserves an interrupted released cutover journal and fails closed (246.167169ms) -2026-09-27T05:34:05.4075934Z ✔ preserves a cutover journal with an unfamiliar column shape and fails closed (223.889588ms) -2026-09-27T05:34:05.6546808Z ✔ preserves a cutover journal with an altered constraint and fails closed (277.539756ms) -2026-09-27T05:34:05.6737155Z -2026-09-27T05:34:05.6765347Z > @maka/ui@0.1.0 test:dist -2026-09-27T05:34:05.6789372Z > node --test "dist/**/*.test.js" -2026-09-27T05:34:05.6789954Z -2026-09-27T05:34:05.7725015Z ✔ a model selection resets thinking to the new model default (4.804744ms) -2026-09-27T05:34:05.7767974Z ✔ a thinking selection retains the pending cross-connection model target (0.265294ms) -2026-09-27T05:34:05.7786005Z ✔ configuration equality ignores which control produced the same Host payload (0.25027ms) -2026-09-27T05:34:05.8336681Z ✔ preserves a cutover journal carrying an extra trigger and fails closed (176.685424ms) -2026-09-27T05:34:05.8546073Z ▶ Session Navigation feature boundary -2026-09-27T05:34:05.8607356Z ✔ contains no Desktop global bridge or shell/process imports (14.51146ms) -2026-09-27T05:34:05.8694037Z ✔ is consumed outside the feature only through public entries (180.648275ms) -2026-09-27T05:34:05.8752580Z ✔ keeps fake services out of the production entry (1.127147ms) -2026-09-27T05:34:05.8831755Z ✔ keeps rail projection, persistence, and row mutation ownership out of AppShell (1.392704ms) -2026-09-27T05:34:05.8935918Z ✔ Session Navigation feature boundary (205.623987ms) -2026-09-27T05:34:06.0786402Z ✔ preserves a cutover journal naming an unknown store and fails closed (243.321349ms) -2026-09-27T05:34:06.1074124Z ✔ nested Astryx locale providers preserve ambient scoped overrides (24.824567ms) -2026-09-27T05:34:06.2556409Z ✔ preserves a completed row carrying an unfamiliar validation key and fails closed (179.666244ms) -2026-09-27T05:34:06.5116495Z ✔ preserves a completed row missing a released validation key and fails closed (252.496484ms) -2026-09-27T05:34:06.7799563Z ✔ preserves a malformed released import source and fails closed (272.257186ms) -2026-09-27T05:34:07.0966851Z ✔ preserves a session import source with a missing session and fails closed (313.958013ms) -2026-09-27T05:34:07.2806382Z ▶ useSessionNavigationController -2026-09-27T05:34:07.2836127Z ✔ keeps same-named Projects from each Runtime Host at the same level (54.998898ms) -2026-09-27T05:34:07.2999502Z ✔ builds row mutations once, so the rail below it is not rebuilt per render (11.865662ms) -2026-09-27T05:34:07.3075742Z ✔ useSessionNavigationController (71.749609ms) -2026-09-27T05:34:07.3266280Z ▶ useSessionNavigationReads -2026-09-27T05:34:07.3292031Z ✔ projects linked, archived, hidden, side-conversation, Project, and Runtime Host Sessions once (18.289212ms) -2026-09-27T05:34:07.3376302Z ✔ useSessionNavigationReads (18.635183ms) -2026-09-27T05:34:07.3425491Z ▶ createSessionOpenCommand -2026-09-27T05:34:07.3460567Z ✔ distinguishes successive jumps even when the clock does not advance (0.977759ms) -2026-09-27T05:34:07.3475662Z ✔ orders the jump and preserves turn-target clearing semantics (0.455408ms) -2026-09-27T05:34:07.3550024Z ✔ createSessionOpenCommand (10.93471ms) -2026-09-27T05:34:07.3715965Z ✔ rolls back every scope when migration publication fails (273.922548ms) -2026-09-27T05:34:07.6005996Z ▶ sessionMoveTargets -2026-09-27T05:34:07.6036048Z ✔ keeps membership and an exit for an active project (8.915556ms) -2026-09-27T05:34:07.6065699Z ✔ keeps membership and an exit for an alias project (0.371839ms) -2026-09-27T05:34:07.6155960Z ✔ keeps membership and an exit for an archived project (0.245103ms) -2026-09-27T05:34:07.6225655Z ✔ keeps membership and an exit for an archived alias project (6.365633ms) -2026-09-27T05:34:07.6275669Z ✔ keeps membership and an exit for an unavailable project (0.294458ms) -2026-09-27T05:34:07.6306552Z ✔ offers only destinations without known membership: undefined (0.251679ms) -2026-09-27T05:34:07.6407717Z ✔ offers only destinations without known membership: null (0.142354ms) -2026-09-27T05:34:07.6463471Z ✔ offers only destinations without known membership: missing (0.182711ms) -2026-09-27T05:34:07.6486329Z ✔ ignores membership and destinations on another Host: pR (0.308138ms) -2026-09-27T05:34:07.6529388Z ✔ ignores membership and destinations on another Host: remote (0.235018ms) -2026-09-27T05:34:07.6616458Z ✔ does not offer archived or unavailable projects as destinations (0.178223ms) -2026-09-27T05:34:07.6656697Z ✔ sessionMoveTargets (19.597476ms) -2026-09-27T05:34:07.7206338Z ✔ preserves retired research events through upgrade, reopen, and backup (350.22894ms) -2026-09-27T05:34:08.1398259Z ✔ migrates released Reminder state after Automation is retired (417.467132ms) -2026-09-27T05:34:08.4298217Z ✔ finishes a released cleanup backfill interrupted after adding its column (284.693986ms) -2026-09-27T05:34:08.4806392Z ✔ leaves released Automation unchanged when its configuration cannot be preserved (57.70743ms) -2026-09-27T05:34:08.5426497Z ✔ rejects legacy Automation tables without their registry authority (63.314734ms) -2026-09-27T05:34:08.6296423Z ✔ rejects a released Workflow registry whose reminder table is missing (84.543025ms) -2026-09-27T05:34:08.8366987Z ✔ rejects a released Reminder table after its Workflow authority removed it (205.598409ms) -2026-09-27T05:34:09.1586453Z ✔ rejects a current Runtime schema whose versioned authority table is missing (318.495735ms) -2026-09-27T05:34:09.4450874Z ✔ renders a user thumbnail admitted by the shared preview policy (180.396228ms) -2026-09-27T05:34:09.4568408Z ✔ rejects an oversized user thumbnail before reading it (20.408763ms) -2026-09-27T05:34:09.4665998Z ✔ renders a session attachment referenced by assistant Markdown (17.391957ms) -2026-09-27T05:34:09.4937985Z ✔ rejects a current authority index with an incompatible predicate (342.129969ms) -2026-09-27T05:34:09.4986115Z ✔ keeps unreadable assistant attachments as named placeholders (32.191679ms) -2026-09-27T05:34:09.5602792Z ✔ shares one attachment read across repeated Markdown image refs (56.874993ms) -2026-09-27T05:34:09.5963039Z ✔ retries an attachment image after a transient read failure (25.942858ms) -2026-09-27T05:34:09.6176647Z ✔ renders an attachment when a streaming Markdown image becomes complete (28.723758ms) -2026-09-27T05:34:09.6704356Z ▶ moveSessionToProject -2026-09-27T05:34:09.6727911Z ✔ re-files the task and reads the catalog back, staying silent on success (2.431948ms) -2026-09-27T05:34:09.6765623Z ✔ passes `null` through to detach the task from every project (0.305556ms) -2026-09-27T05:34:09.6777680Z ✔ names the Host reason for a refused move and does not read the catalog back (0.316677ms) -2026-09-27T05:34:09.6795301Z ✔ moveSessionToProject (4.666676ms) -2026-09-27T05:34:09.6932490Z ✔ places resident items with their turns and bounds an explicit orphan (3.344623ms) -2026-09-27T05:34:09.6945429Z ▶ shared chat input behavior -2026-09-27T05:34:09.6975595Z ✔ strips the token anchor from the wire text without touching real spaces (3.8404ms) -2026-09-27T05:34:09.6999853Z ✔ answers the sync/async probe without searching, and abandons a superseded search (15.181935ms) -2026-09-27T05:34:09.7035589Z ✔ recognizes composition and file transfers across browser event shapes (0.467384ms) -2026-09-27T05:34:09.7037139Z ✔ serializes async actions and releases only their owned pending state (0.746404ms) -2026-09-27T05:34:09.7065560Z ✔ offers commands only for a slash that opens the draft (6.740768ms) -2026-09-27T05:34:09.7085543Z ✔ ranks a name match above a description match (0.254728ms) -2026-09-27T05:34:09.7095661Z ✔ reads `/skill:` and a bare `/` as the same Skill search (0.176266ms) -2026-09-27T05:34:09.7125509Z ✔ does not let late completion clear state after reset (0.456578ms) -2026-09-27T05:34:09.7155679Z ✔ recognizes selected Skill ids independently of labels, case and chip anchors (0.632239ms) -2026-09-27T05:34:09.7185650Z ✔ excludes only the active explicit Skill query, not another occurrence of that Skill (0.35823ms) -2026-09-27T05:34:09.7187225Z ✔ derives selection from each draft without retaining deleted or previous-session Skills (0.207666ms) -2026-09-27T05:34:09.7215391Z ✔ shared chat input behavior (33.12332ms) -2026-09-27T05:34:09.7243782Z ✔ the prompt-cache notice is acknowledged per Session without closing the list (298.837493ms) -2026-09-27T05:34:09.7689561Z ✔ rejects a current authority check with a changed string literal (274.576458ms) -2026-09-27T05:34:10.0942403Z ✔ rejects a current authority table with an extra rejecting constraint (324.301979ms) -2026-09-27T05:34:10.1369893Z Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype. -2026-09-27T05:34:10.1426242Z ✔ message accessibility labels preserve literal ICU syntax (138.328871ms) -2026-09-27T05:34:10.2026165Z ✔ renders an aborted turn outcome in the turn status row (296.969685ms) -2026-09-27T05:34:10.2676240Z ✔ places the turn status row at the top of the assistant content (34.660043ms) -2026-09-27T05:34:10.3215323Z ✔ keeps the assistant answer element as a turn settles around it (78.13578ms) -2026-09-27T05:34:10.3349185Z ✔ rejects a current authority table with an extra destructive trigger (236.089607ms) -2026-09-27T05:34:10.3615972Z ▶ revision-family session row actions -2026-09-27T05:34:10.3717921Z ✔ applies conversation metadata/lifecycle to versions but not ordinary branches (11.971478ms) -2026-09-27T05:34:10.3799363Z ✔ revision-family session row actions (13.332826ms) -2026-09-27T05:34:10.3873165Z ▶ delete confirm warns off the Host preview, toast reports the Host count -2026-09-27T05:34:10.3985400Z ✔ warns when the Host preview reports subtasks, and the toast reports the executed count (0.966509ms) -2026-09-27T05:34:10.4070743Z ✔ shows no subtask note when the Host preview reports zero (0.489382ms) -2026-09-27T05:34:10.4146520Z ✔ warns with uncertainty and still deletes when the preview call fails (0.798946ms) -2026-09-27T05:34:10.4227129Z ✔ stays silent on the toast when a concurrent restore calls the delete off (0.392081ms) -2026-09-27T05:34:10.4352310Z ✔ delete confirm warns off the Host preview, toast reports the Host count (11.259899ms) -2026-09-27T05:34:10.4399538Z ✔ keeps reasoning expanded when its last neighboring tool is projected away (52.965423ms) -2026-09-27T05:34:10.4468076Z ✔ redacts secrets before rendering a settled collapsed reasoning preview (42.14107ms) -2026-09-27T05:34:10.4490916Z ✔ preserves currency in a settled collapsed reasoning preview (14.145401ms) -2026-09-27T05:34:10.4628220Z ✔ expanded truncated reasoning shows the current tail without replaying its marker (34.148866ms) -2026-09-27T05:34:10.5076250Z ✔ preserves a model-authored single newline in plain reasoning (33.832189ms) -2026-09-27T05:34:10.5606434Z ✔ rejects a current authority database with an unexpected view (229.844141ms) -2026-09-27T05:34:10.5796166Z ✔ gives each answer in a steered turn its own stable element (69.570003ms) -2026-09-27T05:34:10.6144861Z ✔ a turn identity header appears once, above the root prompt (56.550635ms) -2026-09-27T05:34:10.6476824Z ✔ uses human conversation context instead of raw ids in action names (30.674717ms) -2026-09-27T05:34:10.6786114Z ✔ does not edit and resend a message with folder references (34.393309ms) -2026-09-27T05:34:10.7346379Z ✔ renders a quote-only user message without an empty bubble but with metadata (39.568428ms) -2026-09-27T05:34:10.7908622Z ✔ a user message with text still renders its bubble (44.466297ms) -2026-09-27T05:34:10.8270409Z ✔ keeps Astryx auto formatting live for user-message timestamps (78.368385ms) -2026-09-27T05:34:10.8404620Z ✔ rotates working phrases on the elapsed clock without announcing each phrase (20.717275ms) -2026-09-27T05:34:10.8491091Z ✔ rejects a null operational scope without migrating (290.988481ms) -2026-09-27T05:34:10.8729293Z ✔ keeps elapsed time while system motion preference changes the working phrase (14.095386ms) -2026-09-27T05:34:10.9695777Z ✔ announces settlement when a persisted answer is promoted to a completed live one (52.196107ms) -2026-09-27T05:34:11.0186376Z ✔ footer copy preserves raw text, blocks overlapping writes and resets success after 1400ms (88.341204ms) -2026-09-27T05:34:11.0577531Z ✔ footer copy cancels the previous reset and restarts feedback after another copy (54.09756ms) -2026-09-27T05:34:11.0726361Z ✔ rejects a nonempty database with no operational registry (219.608797ms) -2026-09-27T05:34:11.1385824Z ▶ a plain click -2026-09-27T05:34:11.1505880Z ✔ makes the set exactly this row (5.006363ms) -2026-09-27T05:34:11.1596212Z ✔ leaves the anchor on the row that was clicked (0.260324ms) -2026-09-27T05:34:11.1716020Z ✔ a plain click (6.737819ms) -2026-09-27T05:34:11.1815473Z ▶ ⌘-click -2026-09-27T05:34:11.1904186Z ✔ adds a row without disturbing the rest (0.23108ms) -2026-09-27T05:34:11.1980187Z ✔ removes a row it finds already picked (0.144052ms) -2026-09-27T05:34:11.1995215Z ✔ moves the anchor, including when it unpicked the row (0.220341ms) -2026-09-27T05:34:11.2065457Z ✔ ⌘-click (0.889804ms) -2026-09-27T05:34:11.2147390Z ▶ Shift-click -2026-09-27T05:34:11.2225764Z ✔ picks the run between the anchor and the row, in either direction (0.249023ms) -2026-09-27T05:34:11.2280544Z ✔ keeps the anchor so the run can be re-dragged from the same origin (0.175361ms) -2026-09-27T05:34:11.2297927Z ✔ starts from the open task when no click has set an anchor (3.368665ms) -2026-09-27T05:34:11.2375551Z ✔ with nothing to reach from is just this row (0.208094ms) -2026-09-27T05:34:11.2405637Z ✔ reaching for a row the list is not showing picks only the row clicked (0.227624ms) -2026-09-27T05:34:11.2443198Z ✔ Shift-click (4.645587ms) -2026-09-27T05:34:11.2515267Z ▶ clearing -2026-09-27T05:34:11.2545638Z ✔ drops the picks and the anchor together (5.041979ms) -2026-09-27T05:34:11.2606762Z ✔ clearing (5.215407ms) -2026-09-27T05:34:11.2695415Z ▶ pruneSessionSelection -2026-09-27T05:34:11.2795641Z ✔ drops ids the catalog no longer lists (0.280102ms) -2026-09-27T05:34:11.2875578Z ✔ drops an anchor that went with them (0.123917ms) -2026-09-27T05:34:11.2945712Z ✔ returns the same value when nothing was dropped (0.144761ms) -2026-09-27T05:34:11.3035417Z ✔ pruneSessionSelection (0.727486ms) -2026-09-27T05:34:11.3109315Z ✔ footer copy cancels its active reset timer on unmount (70.039306ms) -2026-09-27T05:34:11.3136451Z ▶ createDesktopSessionNavigationServices -2026-09-27T05:34:11.3225708Z ✔ maps the narrow catalog mutation contract to the Desktop bridge (4.564132ms) -2026-09-27T05:34:11.3305648Z ✔ createDesktopSessionNavigationServices (5.823434ms) -2026-09-27T05:34:11.3329986Z ✔ footer copy reports clipboard failure and allows a successful retry (129.000623ms) -2026-09-27T05:34:11.3815681Z ✔ footer copy does not schedule feedback after it unmounts with a write pending (87.285024ms) -2026-09-27T05:34:11.3935912Z ✔ cleans the known removed Automation v2 scope (321.66834ms) -2026-09-27T05:34:11.4319898Z ✔ collapses the whole completed process and leaves the final answer outside (69.847032ms) -2026-09-27T05:34:11.5011754Z ✔ leaves an oversized released scheduling catalog unchanged (104.411978ms) -2026-09-27T05:34:11.5211204Z ✔ moves the live clock into the process and settles it to recorded duration without remounting the answer (78.511338ms) -2026-09-27T05:34:11.5452298Z ✔ does not classify a SQLite write failure as a migration blocker (48.939621ms) -2026-09-27T05:34:11.6251830Z ✔ rejects a contradictory legacy history fact before migration (75.112525ms) -2026-09-27T05:34:11.6433252Z ✔ copy uses the visible final reply after completion and disclosure toggles (133.368072ms) -2026-09-27T05:34:11.7036381Z ✔ keeps a released Reminder with an unrepresentable block reason unchanged (78.752736ms) -2026-09-27T05:34:11.7246297Z ✔ keeps running work expanded and allows manual disclosure after settlement (91.443113ms) -2026-09-27T05:34:11.7896483Z ✔ keeps failed-tool details folded with duration while turn recovery stays outside (54.33233ms) -2026-09-27T05:34:11.8196694Z ✔ states the outcome without a duration when none is recorded, and localizes it when there is one (44.473322ms) -2026-09-27T05:34:11.8296149Z ✔ WorkHub feedback is a system notice without a user message bubble (14.621601ms) -2026-09-27T05:34:11.9446276Z ✔ rejects a newer scope before migrating an older scope (242.021047ms) -2026-09-27T05:34:12.1717099Z ✔ rejects a newer runtime schema without changing the database (211.389652ms) -2026-09-27T05:34:12.4306330Z ✔ rejects newer session metadata before migrating older runtime state (274.640558ms) -2026-09-27T05:34:12.6236640Z ✔ rejects an unknown operational schema without changing the database (194.812445ms) -2026-09-27T05:34:12.7400186Z ✔ rejects an invalid registered schema version before migrating (113.40718ms) -2026-09-27T05:34:12.7770929Z ▶ PetPackStore -2026-09-27T05:34:12.7824137Z ✔ atomically installs, lists, reads, and removes a custom pet (67.932335ms) -2026-09-27T05:34:12.7886283Z ✔ rejects malformed manifests before publishing any directory (7.4674ms) -2026-09-27T05:34:12.7915750Z ✔ rejects mismatched dimensions, invalid headers, and oversized assets (14.161653ms) -2026-09-27T05:34:12.7956013Z ✔ never replaces an installed pet with the same id (34.163888ms) -2026-09-27T05:34:12.7996563Z ✔ snapshots caller-owned manifest and image bytes before waiting for publication (28.146562ms) -2026-09-27T05:34:12.8028440Z ✔ rejects non-canonical ids at every direct lookup boundary (3.937087ms) -2026-09-27T05:34:12.8055474Z ✔ detects sprite sheets redirected outside the installed pack (24.92815ms) -2026-09-27T05:34:12.8065521Z ✔ rejects a store root redirected outside the state root (4.586265ms) -2026-09-27T05:34:12.8090344Z ✔ PetPackStore (191.184378ms) -2026-09-27T05:34:12.8108251Z ✔ claims an owner only after its process exits (220.61192ms) -2026-09-27T05:34:12.8170391Z ✔ releases its owner reference on graceful close (23.629586ms) -2026-09-27T05:34:12.8189200Z ✔ retires an unreferenced owner file after an unclean process exit (185.533305ms) -2026-09-27T05:34:12.8215678Z ✔ rejects owner references outside its versioned namespace (5.42156ms) -2026-09-27T05:34:12.8235817Z ✔ prepares real Session state and a policy-filtered workspace, then packs and hydrates it (1428.987426ms) -2026-09-27T05:34:12.8285644Z ✔ fails closed for a known user-authored secret and removes private staging (836.723912ms) -2026-09-27T05:34:12.8304198Z ✔ binds the configured Maka Session and Cloud envelope despite untrusted call fields (892.886802ms) -2026-09-27T05:34:12.8333107Z ✔ rejects a production root nested under the workspace before copying (303.801296ms) -2026-09-27T05:34:12.8346318Z ✔ uses an authenticated confirmation authority for suspected secret directories (751.056978ms) -2026-09-27T05:34:12.8347483Z ✔ reserves state entries before admitting workspace entries (725.623609ms) -2026-09-27T05:34:12.8419607Z ✔ returns the written Bundle and reports recoverable staging cleanup failure (938.699506ms) -2026-09-27T05:34:12.8445225Z ✔ rejects a POSIX-only workspace name with a bounded portability diagnostic (631.322356ms) -2026-09-27T05:34:12.8520049Z ✔ Project Catalog writes require one live interactive root owner (353.858991ms) -2026-09-27T05:34:12.8556688Z ✔ a regular file is rejected as a project location (464.655728ms) -2026-09-27T05:34:12.8566705Z ✔ a plain folder resolves without requiring the Git executable (626.855146ms) -2026-09-27T05:34:12.8595669Z ✔ a Git probe failure cannot persistently downgrade a repository to a folder (1341.92867ms) -2026-09-27T05:34:12.8596861Z ✔ a repository and its linked worktree resolve to one project identity (173.604345ms) -2026-09-27T05:34:12.8598037Z ✔ registering a nested folder keeps that folder instead of the enclosing repository (290.016023ms) -2026-09-27T05:34:12.8599135Z ✔ registration validates the final canonical path against its boundary (197.498791ms) -2026-09-27T05:34:12.8600148Z ✔ relink and relinkWithSessions keep a nested repository directory (336.389574ms) -2026-09-27T05:34:12.8601297Z ✔ registering a repository and its linked worktree creates one project with two locations (294.504049ms) -2026-09-27T05:34:12.8602565Z ✔ registering without preference preserves the preferred location until it is touched (452.66524ms) -2026-09-27T05:34:12.8603655Z ✔ archiving a project preserves it with an archive timestamp (280.875259ms) -2026-09-27T05:34:12.8604843Z ✔ restoring an archived project makes the same project active again (146.822198ms) -2026-09-27T05:34:12.8606036Z ✔ renaming a project stores the trimmed display name without changing its identity (201.375157ms) -2026-09-27T05:34:12.8607144Z ✔ a missing project directory remains in the catalog as unavailable (159.330947ms) -2026-09-27T05:34:12.8608197Z ✔ two catalogs changing one project at the same time keep both changes (255.830156ms) -2026-09-27T05:34:12.8609329Z ✔ relinking an unavailable project preserves its id and adopts the new directory (252.940683ms) -2026-09-27T05:34:12.8610489Z ✔ Host relink rolls Project and Session membership back in one transaction (275.918834ms) -2026-09-27T05:34:12.8611716Z ✔ conflicting relink preserves every available worktree location from the merged project (411.657355ms) -2026-09-27T05:34:12.8612697Z ✔ projects are listed by most recent use (208.962028ms) -2026-09-27T05:34:12.9176063Z ✔ touching a project moves it to the front of the recent list (122.658537ms) -2026-09-27T05:34:13.0455800Z ▶ purgeSessions -2026-09-27T05:34:13.0536441Z ✔ deletes the whole set, clears each family, and does not read the catalog back (5.541323ms) -2026-09-27T05:34:13.0625339Z ✔ sums the linked subtasks the Host archived across the sweep (0.414298ms) -2026-09-27T05:34:13.0667657Z ✔ reports a task restored before the sweep reached it, rather than dropping it (2.944053ms) -2026-09-27T05:34:13.0786121Z ✔ reports a task restored while the sweep was already running (0.434933ms) -2026-09-27T05:34:13.0815834Z ✔ keeps everything the renderer holds for a task the delete left alone (3.384471ms) -2026-09-27T05:34:13.0862295Z ✔ sends every id to the delete instead of deciding against its own snapshot (0.360588ms) -2026-09-27T05:34:13.0923311Z ✔ skips an id whose row action is already in flight instead of racing it (0.540907ms) -2026-09-27T05:34:13.0995596Z ✔ counts a rejected delete that the catalog no longer lists as removed (0.608213ms) -2026-09-27T05:34:13.1075833Z ✔ retains the first failing Session even when the rejection value is undefined (3.220629ms) -2026-09-27T05:34:13.1225736Z ✔ claims nothing when the catalog cannot be read back (1.503456ms) -2026-09-27T05:34:13.1275604Z ✔ purgeSessions (22.028999ms) -2026-09-27T05:34:13.1354898Z ▶ deleteSession -2026-09-27T05:34:13.1394769Z ✔ carries the archived premise of the row the confirm named (0.942196ms) -2026-09-27T05:34:13.1411438Z ✔ keeps a task the Host reports as restored, and says so (2.75004ms) -2026-09-27T05:34:13.1429992Z ✔ deleteSession (3.943379ms) -2026-09-27T05:34:13.1489266Z ✔ releases a Session observation before and after its queued dispatch settles (10.589382ms) -2026-09-27T05:34:13.1627187Z ▶ project-grouped session hierarchy -2026-09-27T05:34:13.1797427Z ✔ shares the project row left edge with its sessions (1.457503ms) -2026-09-27T05:34:13.1829073Z ✔ project-grouped session hierarchy (8.912675ms) -2026-09-27T05:34:13.1876979Z ▶ renderer session read state -2026-09-27T05:34:13.1950828Z ✔ coalesces concurrent refreshes into one in-flight request and one trailing request (11.009859ms) -2026-09-27T05:34:13.2006124Z ✔ keeps the current list when the latest list refresh fails (0.729568ms) -2026-09-27T05:34:13.2037002Z ✔ does not lose a refresh admitted while the previous task is settling (1.264247ms) -2026-09-27T05:34:13.2095209Z ✔ renderer session read state (21.213507ms) -2026-09-27T05:34:13.2155604Z ✔ draws a Skill chip from the token when the row carries no references (237.088916ms) -2026-09-27T05:34:13.2196565Z ✔ touch reports a Project that disappears before path resolution as unavailable (230.859282ms) -2026-09-27T05:34:13.2229847Z ✔ draws the same chip when the row carries no reference field at all (24.083904ms) -2026-09-27T05:34:13.2305632Z ✔ prefers the frozen label when the Host composed one (23.079003ms) -2026-09-27T05:34:13.2365484Z ✔ keeps a file chip and a Skill chip side by side (23.851107ms) -2026-09-27T05:34:13.2407514Z ✔ leaves a reference the text no longer holds as text, and still chips the token (27.078846ms) -2026-09-27T05:34:13.2625639Z ✔ does not chip a token the grammar rejects at its position (28.838038ms) -2026-09-27T05:34:13.2928236Z ✔ does not chip a token that starts right after a reference span (25.622973ms) -2026-09-27T05:34:13.2976397Z ✔ chips prefix-related ids at their own positions (32.789908ms) -2026-09-27T05:34:13.3480540Z ✔ selecting a project returns its most recent available location and rejects inactive projects (192.170608ms) -2026-09-27T05:34:13.4617809Z ✔ registering a filesystem root writes a project that a fresh catalog can read (121.242912ms) -2026-09-27T05:34:13.6342412Z ✔ catalog validates generated state before publishing it (173.967081ms) -2026-09-27T05:34:13.9945245Z Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype. -2026-09-27T05:34:14.0033152Z ✔ renders a thinking-only interruption as a divider without an empty answer bubble (136.191981ms) -2026-09-27T05:34:14.0068336Z ✔ renders steering where it arrived in the assistant timeline (211.851256ms) -2026-09-27T05:34:14.2176551Z ✔ holds steering above the composer while old output continues, then renders its real reply boundary (446.766667ms) -2026-09-27T05:34:14.2276839Z ✔ keeps a step whole above a steering row that its later output arrives after (2.100909ms) -2026-09-27T05:34:14.2368074Z ✔ anchors a persisted steering row ahead of live work the stream seeded after it (0.679064ms) -2026-09-27T05:34:14.2434156Z ✔ keeps pre-steering content in place when its completion lands after the boundary (0.42947ms) -2026-09-27T05:34:14.2545784Z ✔ lands a completion after a steering row whole on its step (3.802222ms) -2026-09-27T05:34:14.2645781Z ✔ keeps consecutive steering rows in arrival order (3.731102ms) -2026-09-27T05:34:14.2660644Z ✔ renders a repeated steering event once (0.884504ms) -2026-09-27T05:34:14.2745795Z ✔ trails a settled steering that carries no ts behind live work (2.613896ms) -2026-09-27T05:34:14.3920649Z ✔ Session reference picker keeps same-Host sessions and send waits for the snapshot (137.35755ms) -2026-09-27T05:34:14.3939450Z ✔ send resolves the selected Session snapshot at the send boundary (12.958733ms) -2026-09-27T05:34:14.3973292Z ✔ ignores a snapshot that resolves after the Composer owner changes (6.012157ms) -2026-09-27T05:34:15.1676893Z ▶ session review base branch -2026-09-27T05:34:15.1758735Z ✔ shows the compared branch instead of an auto pseudo-entry (30.201182ms) -2026-09-27T05:34:15.1765669Z ✔ falls back to the plain label while nothing is pinned (3.024097ms) -2026-09-27T05:34:15.1779029Z ✔ session review base branch (35.124409ms) -2026-09-27T05:34:15.6505834Z ✔ the package publishes no barrel entrypoint (14.082963ms) -2026-09-27T05:34:15.6536011Z ✔ every published entrypoint target is emitted by the build (10.693884ms) -2026-09-27T05:34:15.6575586Z ✔ no source file imports the retired bare specifier (3133.988378ms) -2026-09-27T05:34:15.6605713Z ✔ published entrypoints and their consumers match exactly (1.521507ms) -2026-09-27T05:34:16.1716301Z ✔ renders the live compaction row in a session with no settled messages (252.181119ms) -2026-09-27T05:34:16.6266535Z ✔ retains tool and compaction evidence without activity after observation loss (578.415909ms) -2026-09-27T05:34:17.1126026Z Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype. -2026-09-27T05:34:17.1176267Z ✔ shows one waiting indicator before a named live Turn reaches the transcript (253.324503ms) -2026-09-27T05:34:17.1979816Z ✔ a new Host Turn owns its waiting footer while the previous answer remains buffered (364.606625ms) -2026-09-27T05:34:17.2418983Z ✔ renders the empty hero when an empty session has no live compaction row (8.842645ms) -2026-09-27T05:34:17.5384093Z ✔ the pending Turn waits without a clock until the Turn start time reaches the client (179.824392ms) -2026-09-27T05:34:17.5499126Z ✔ ChatSurfaceLayout preserves the public emptyState for absent children (92.937084ms) -2026-09-27T05:34:17.6636437Z ✔ turn identity stays on its exact durable anchor and is absent from ordinary transcripts (149.442702ms) -2026-09-27T05:34:17.7408947Z ✔ shared turn presentation only exposes lineage when the surface supports navigation (118.231919ms) -2026-09-27T05:34:17.8646513Z ✔ the load-earlier button exists only while earlier history does, and waits for its load (430.133752ms) -2026-09-27T05:34:17.8696192Z ✔ offers to load earlier history even with nothing to show (32.976905ms) -2026-09-27T05:34:17.8793957Z ✔ prepended Turns keep a released reader on their Turn without re-pinning (220.832235ms) -2026-09-27T05:34:17.8796019Z An update to ForwardRef inside a test was not wrapped in act(...). -2026-09-27T05:34:17.8826447Z -2026-09-27T05:34:17.8827406Z When testing, code that causes React state updates should be wrapped into act(...): -2026-09-27T05:34:17.8876529Z -2026-09-27T05:34:17.8931476Z act(() => { -2026-09-27T05:34:17.8936597Z /* fire events that update state */ -2026-09-27T05:34:17.8979810Z }); -2026-09-27T05:34:17.9005251Z /* assert on the output */ -2026-09-27T05:34:17.9025388Z -2026-09-27T05:34:17.9047618Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act -2026-09-27T05:34:17.9049139Z An update to ForwardRef inside a test was not wrapped in act(...). -2026-09-27T05:34:17.9049782Z -2026-09-27T05:34:17.9050344Z When testing, code that causes React state updates should be wrapped into act(...): -2026-09-27T05:34:17.9074832Z -2026-09-27T05:34:17.9105051Z act(() => { -2026-09-27T05:34:17.9105598Z /* fire events that update state */ -2026-09-27T05:34:17.9135105Z }); -2026-09-27T05:34:17.9165151Z /* assert on the output */ -2026-09-27T05:34:17.9195317Z -2026-09-27T05:34:17.9196332Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act -2026-09-27T05:34:17.9229497Z An update to ForwardRef inside a test was not wrapped in act(...). -2026-09-27T05:34:17.9264874Z -2026-09-27T05:34:17.9295501Z When testing, code that causes React state updates should be wrapped into act(...): -2026-09-27T05:34:17.9297474Z -2026-09-27T05:34:17.9312009Z act(() => { -2026-09-27T05:34:17.9312565Z /* fire events that update state */ -2026-09-27T05:34:17.9313159Z }); -2026-09-27T05:34:17.9313514Z /* assert on the output */ -2026-09-27T05:34:17.9313834Z -2026-09-27T05:34:17.9315166Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act -2026-09-27T05:34:17.9316594Z An update to ForwardRef inside a test was not wrapped in act(...). -2026-09-27T05:34:17.9317110Z -2026-09-27T05:34:17.9317693Z When testing, code that causes React state updates should be wrapped into act(...): -2026-09-27T05:34:17.9318276Z -2026-09-27T05:34:17.9318512Z act(() => { -2026-09-27T05:34:17.9319420Z /* fire events that update state */ -2026-09-27T05:34:17.9321686Z }); -2026-09-27T05:34:17.9322145Z /* assert on the output */ -2026-09-27T05:34:17.9322499Z -2026-09-27T05:34:17.9323338Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act -2026-09-27T05:34:17.9325150Z ✔ a selection from outside every Turn keeps every Turn it spans mounted (616.797893ms) -2026-09-27T05:34:17.9326220Z ✔ prepended Turns do not release a pinned transcript (301.642247ms) -2026-09-27T05:34:17.9327190Z ✔ return interrupts a pending pull without another producer event (3.100863ms) -2026-09-27T05:34:17.9328130Z ✔ abort rejects a pending pull and closes exactly once (2.60916ms) -2026-09-27T05:34:17.9329184Z ✔ abort during open returns promptly and closes the late remote handle (6.563139ms) -2026-09-27T05:34:17.9330302Z ✔ pre-aborted streams never open, and late transport errors are consumed (2.217512ms) -2026-09-27T05:34:17.9331407Z ✔ finite streams return their values and close on normal exhaustion (0.852108ms) -2026-09-27T05:34:17.9332595Z ✔ Client Runtime loads a factory and composes the typed root Slot (13.240926ms) -2026-09-27T05:34:17.9333720Z ✔ Client Runtime stage/swap keeps the previous UI when a candidate fails (3.653701ms) -2026-09-27T05:34:17.9335139Z ✔ Client Runtime retries the same snapshot revision after a transient apply failure (1.516965ms) -2026-09-27T05:34:17.9336464Z ✔ Client Runtime re-materializes consumers when a dependency generation changes (2.061559ms) -2026-09-27T05:34:17.9337714Z ✔ Client Runtime atomically keeps the previous typed Slots when a candidate fails (1.677937ms) -2026-09-27T05:34:17.9338904Z ✔ Client Runtime binds Remote identity and owns product-event subscriptions (3.682116ms) -2026-09-27T05:34:17.9340075Z ✔ Client Runtime retirement aborts streams opened after activation (2.013183ms) -2026-09-27T05:34:17.9341210Z ✔ failed Client Plugin apply aborts streams before the instance is staged (13.221639ms) -2026-09-27T05:34:17.9342408Z ✔ effects registered after activation start and dispose exactly once, including CSS and events (18.379693ms) -2026-09-27T05:34:17.9343806Z ✔ a throwing plugin root preserves the app and other roots and recovers on a new generation (275.138806ms) -2026-09-27T05:34:18.5055630Z ✔ a saved failing comparison keeps the picker available and can recover (481.687382ms) -2026-09-27T05:34:18.6698793Z ✔ a refresh clears stale branch options after not_git_repository (159.585725ms) -2026-09-27T05:34:18.8676934Z ✔ a refresh clears stale branch options after workspace_unavailable (201.530143ms) -2026-09-27T05:34:18.9686220Z ✔ a refresh clears stale branch options after git_failed (101.836477ms) -2026-09-27T05:34:19.0539322Z ✔ a disappeared saved branch clears the pin and retries with the dynamic default (83.299316ms) -2026-09-27T05:34:19.1671527Z ✔ a comparison switch spins the picker and dims the stale diff until it lands (127.728582ms) -2026-09-27T05:34:19.2393908Z ▶ edit-and-resend session revisions -2026-09-27T05:34:19.2403020Z ✔ folds durable versions into one sidebar slot after restart (5.318874ms) -2026-09-27T05:34:19.2438586Z ✔ restores the most recently continued version as the sidebar head (0.285415ms) -2026-09-27T05:34:19.2465693Z ✔ hides a crash-orphaned draft version after restart (0.443383ms) -2026-09-27T05:34:19.2495694Z ✔ keeps the selected old version in the same sidebar slot (0.271417ms) -2026-09-27T05:34:19.2512367Z ✔ keeps lifecycle actions scoped to versions, not ordinary branches (3.422775ms) -2026-09-27T05:34:19.2525674Z ✔ derives previous and next navigation across a revision chain (0.422143ms) -2026-09-27T05:34:19.2555508Z ✔ edit-and-resend session revisions (11.995248ms) -2026-09-27T05:34:20.8050301Z ✔ opening a task the set does not hold drops the picks (105.109571ms) -2026-09-27T05:34:20.8188519Z ✔ opening a task the set already holds leaves it alone (11.028489ms) -2026-09-27T05:34:20.8707813Z ▶ Maka Client Slot core -2026-09-27T05:34:20.8826477Z ✔ supports single/list/keyed shadowing and stable list order (19.492058ms) -2026-09-27T05:34:20.8856561Z ✔ removes a recursively declared subtree with its parent (0.732259ms) -2026-09-27T05:34:20.8913347Z ✔ Maka Client Slot core (28.72254ms) -2026-09-27T05:34:20.9037356Z ▶ Maka Client Slot outlets -2026-09-27T05:34:20.9159585Z ✔ renders typed keyed props only inside a strict Session scope (62.42049ms) -2026-09-27T05:34:20.9186145Z ✔ elects the first matching chain and keeps an overlay fallback mounted (12.51864ms) -2026-09-27T05:34:20.9285842Z ✔ Maka Client Slot outlets (75.296003ms) -2026-09-27T05:34:23.1970070Z ✔ the context usage action opens its host trace surface (239.0934ms) -2026-09-27T05:34:23.2749280Z ✔ the context usage share resolves declared, then metered, then metadata window (113.592935ms) -2026-09-27T05:34:23.2946263Z ✔ only the declared entrypoints load node:sqlite (7644.672839ms) -2026-09-27T05:34:23.3806906Z ✔ a draft restored while nothing holds focus places no selection (248.390557ms) -2026-09-27T05:34:23.3856167Z ✔ the owed caret lands at the end of the draft on the next focus (102.202826ms) -2026-09-27T05:34:23.3915909Z ✔ a pointer press into the composer drops the owed caret (80.061194ms) -2026-09-27T05:34:23.3979581Z ✔ a session swap leaves focus on the row that caused it (93.711768ms) -2026-09-27T05:34:23.4086099Z ✔ the composer passes no inlineCompletion props to ChatComposerInput (2.14604ms) -2026-09-27T05:34:23.4146152Z ✔ the history hook carries no prompt-completion source (0.42451ms) -2026-09-27T05:34:23.5977252Z ✔ prepares state and workspace under one quiescence boundary, then releases live writers (757.645454ms) -2026-09-27T05:34:23.6041700Z ✔ serializes concurrent preparations for the same Session through the authority contract (453.307948ms) -2026-09-27T05:34:23.6056060Z ✔ does not globally serialize preparations for different Sessions (502.864834ms) -2026-09-27T05:34:23.6086580Z ✔ removes partial staging and preserves a stable policy rejection (347.076884ms) -2026-09-27T05:34:23.6146410Z ✔ failure cleanup refuses a staging root replaced by an unrelated directory (397.705289ms) -2026-09-27T05:34:23.6205044Z ✔ cleans a published snapshot when the authority fails while releasing quiescence (601.870608ms) -2026-09-27T05:34:23.6229681Z ✔ cancellation and an expired deadline stop before staging begins (10.97895ms) -2026-09-27T05:34:23.6286091Z ✔ a deadline beyond the Node timer limit is rescheduled until the absolute time (38.495891ms) -2026-09-27T05:34:23.6336464Z ✔ cancellation while waiting for quiescence is propagated as snapshot_cancelled (6.791367ms) -2026-09-27T05:34:23.6466205Z ✔ cancellation while leaving quiescence cleans the published snapshot (533.629195ms) -2026-09-27T05:34:23.6495958Z ✔ an I/O failure racing cancellation remains an I/O failure (536.565832ms) -2026-09-27T05:34:23.6546919Z ✔ release refuses a replacement directory and remains retryable for its owned root (547.57253ms) -2026-09-27T05:34:23.6586472Z ✔ release resumes an interrupted partial cleanup using the external ownership record (565.743963ms) -2026-09-27T05:34:23.6635964Z ✔ a successor process recovers staging owned by a released process lifetime (619.564081ms) -2026-09-27T05:34:23.6685977Z ✔ recovery removes an exact preparing root left before its owner record was written (524.23355ms) -2026-09-27T05:34:23.6715830Z ✔ creation failure cleans only the inode it created and preserves a colliding owner file (513.183954ms) -2026-09-27T05:34:23.6768765Z ✔ rejects a caller-supplied workspace policy override instead of downgrading V1 safety (12.912469ms) -2026-09-27T05:34:23.6817747Z ✔ binds private-root verification to the exact canonical staging path (447.549107ms) -2026-09-27T05:34:23.6877178Z ✔ verifies and cleans each newly created snapshot directory when platform privacy fails (402.950997ms) -2026-09-27T05:34:23.6903401Z ﹣ requires a caller-provided Windows ACL verifier (0.426218ms) # SKIP -2026-09-27T05:34:23.6965799Z ✔ requires a private staging parent on POSIX (457.265603ms) -2026-09-27T05:34:23.7005987Z ✔ V1 workspace policy includes portable inputs, excludes rebuildable data, and rejects secrets (9.741663ms) -2026-09-27T05:34:23.7086094Z ✔ binds explicit control-plane confirmation to the Session, policy and subtree (430.39378ms) -2026-09-27T05:34:23.7146065Z ✔ rejects a malformed control-plane confirmation grant before quiescence (24.882216ms) -2026-09-27T05:34:23.7236139Z ✔ fails closed and cleans staging when a suspected path has no explicit confirmation (541.36582ms) -2026-09-27T05:34:23.7296193Z ✔ applies an explicit control-plane exclusion with bounded diagnostics (426.133456ms) -2026-09-27T05:34:23.7397390Z ✔ derives Read image storage only from an authentic context writer (3.740691ms) -2026-09-27T05:34:23.7456065Z ✔ snapshots one stable Read image identity and authorizes reads by Session (244.84217ms) -2026-09-27T05:34:23.7516182Z ✔ maps configured quota failures and rejects non-image owner references (55.635544ms) -2026-09-27T05:34:23.7576125Z ✔ enforces the Read image product cap before touching storage (33.725206ms) -2026-09-27T05:34:23.7617763Z ▶ recall candidate Sessions over the ledger -2026-09-27T05:34:23.7689292Z ✔ a Session is offered when one of its event payloads contains a folded term (437.749427ms) -2026-09-27T05:34:23.7765796Z ✔ a record SQLite cannot fold is offered whatever the term (333.371483ms) -2026-09-27T05:34:23.7886744Z ✔ a Session with an in-flight partial stream is offered unconditionally (233.967128ms) -2026-09-27T05:34:23.7938591Z ✔ the corpus count covers only kinds that project to searchable messages (189.093358ms) -2026-09-27T05:34:23.7996051Z ✔ recall candidate Sessions over the ledger (1196.577701ms) -2026-09-27T05:34:23.8175333Z ▶ recall candidate Sessions over pre-ledger transcripts -2026-09-27T05:34:23.8206622Z ✔ only Sessions the ledger does not own are scanned (272.119029ms) -2026-09-27T05:34:23.8356161Z ✔ a folded term reaches records in either storage form (254.543037ms) -2026-09-27T05:34:23.8506113Z ✔ a chunk set that does not reassemble declines the fast path (267.679704ms) -2026-09-27T05:34:23.8596019Z ✔ an empty request is answered without touching storage (369.115688ms) -2026-09-27T05:34:23.8672847Z ✔ recall candidate Sessions over pre-ledger transcripts (1164.472103ms) -2026-09-27T05:34:23.8775960Z ▶ bringing a recalled material into the asking Session -2026-09-27T05:34:23.8785770Z ✔ a copied material is readable from the asking Session and outlives its source (748.702093ms) -2026-09-27T05:34:23.8856144Z ✔ opening the same material again reuses the copy (398.752213ms) -2026-09-27T05:34:23.8946346Z ✔ a material already in the asking Session needs no copy (378.80031ms) -2026-09-27T05:34:23.9070835Z ✔ the store records the facts the fetch gate checks (385.109085ms) -2026-09-27T05:34:23.9088324Z ✔ bringing a recalled material into the asking Session (1913.430489ms) -2026-09-27T05:34:23.9135921Z ▶ SQLite recovery persistence authority -2026-09-27T05:34:23.9195973Z ✔ rebuilds a real schema 4 T1 dispatch written with the mainline args identity (202.720117ms) -2026-09-27T05:34:23.9255780Z ✔ upgrades and quarantines populated mainline schema 4 tool projections (104.504406ms) -2026-09-27T05:34:23.9315887Z ✔ rejects the old experimental capability marker instead of guessing compatibility (89.757916ms) -2026-09-27T05:34:23.9372483Z ✔ rejects reserved recovery facts through every generic append path (54.596482ms) -2026-09-27T05:34:23.9436475Z ✔ recomputes T1 identity from the persisted function-call arguments (82.436495ms) -2026-09-27T05:34:23.9455900Z ✔ derives projection-local journal identities instead of trusting callers (82.617595ms) -2026-09-27T05:34:23.9486774Z ✔ rejects duplicate call identities through the generic writer (68.193651ms) -2026-09-27T05:34:23.9579565Z ✔ rejects one invocation identity crossing run, turn, or session boundaries (96.071612ms) -2026-09-27T05:34:23.9640002Z ✔ rejects an unbound generic response after T1 (51.81691ms) -2026-09-27T05:34:23.9698260Z ✔ rejects a T1 dispatch after a pre-T1 synthetic response settled the call (70.643608ms) -2026-09-27T05:34:23.9745961Z ✔ rejects an out-of-order tool-bearing batch import atomically (35.65608ms) -2026-09-27T05:34:23.9807149Z ✔ rejects a T2 row that also claims another authoritative semantic lane (51.511343ms) -2026-09-27T05:34:23.9850684Z ✔ atomically settles completed recovery and rebuilds the same projection after reopen (68.811998ms) -2026-09-27T05:34:23.9936107Z ✔ rebuilds interleaved operations to the same projections and journal identities (63.552446ms) -2026-09-27T05:34:23.9945839Z ✔ rolls the whole recovery bundle back at every internal crash boundary (246.397751ms) -2026-09-27T05:34:24.0008054Z ✔ makes one parked bundle terminal and only permits its exact retry (94.7235ms) -2026-09-27T05:34:24.0048897Z ✔ fails immutable row/payload identity mismatches closed (110.817204ms) -2026-09-27T05:34:24.0108578Z ✔ persists the decoder canonical RuntimeEvent and makes raw retries idempotent (83.027843ms) -2026-09-27T05:34:24.0137839Z ✔ rejects RuntimeEvents that lose required fields during JSON serialization (94.386355ms) -2026-09-27T05:34:24.0216180Z ✔ rejects nested JSON loss in a function response before persistence (55.18019ms) -2026-09-27T05:34:24.0275864Z ✔ rejects provider metadata that rewrites itself through toJSON (54.740585ms) -2026-09-27T05:34:24.0306622Z ✔ rejects recovery evidence whose JSON bytes can rewrite validated event ids (76.134352ms) -2026-09-27T05:34:24.0365967Z ✔ rejects row/payload identity corruption through the online bundle writer (115.098335ms) -2026-09-27T05:34:24.0377399Z ✔ fails an exact T1 retry closed when the immutable ledger is already corrupt (98.838734ms) -2026-09-27T05:34:24.0427117Z ✔ fails an exact T2 retry closed when the immutable ledger is already corrupt (66.734727ms) -2026-09-27T05:34:24.0476044Z ✔ fails an exact recovery retry closed when the immutable ledger is already corrupt (154.813868ms) -2026-09-27T05:34:24.0546891Z ✔ does not fail-stop a new session tool boundary for unrelated ledger corruption (77.898782ms) -2026-09-27T05:34:24.0548024Z ✔ rejects duplicate call identity while rebuilding canonical projections (57.455183ms) -2026-09-27T05:34:24.0609260Z ✔ rejects dispatch-before-call physical order while rebuilding projections (64.205338ms) -2026-09-27T05:34:24.0672017Z ✔ skips a corrupt mutable partial snapshot without hiding immutable history (81.579394ms) -2026-09-27T05:34:24.0717832Z ✔ skips a mutable partial whose SQL identity disagrees with its payload (59.46234ms) -2026-09-27T05:34:24.0752937Z ✔ SQLite recovery persistence authority (2725.289318ms) -2026-09-27T05:34:24.0835946Z ✔ regenerate admission durably binds the immutable source Turn (369.916787ms) -2026-09-27T05:34:24.1056293Z ✔ an archive drops its rows by way of the catalog, keeping later picks (113.862308ms) -2026-09-27T05:34:24.1144015Z ✔ a pin sweep leaves the set exactly as it was (14.25546ms) -2026-09-27T05:34:24.1206166Z ✔ a second sweep is refused while the first is still out (10.440224ms) -2026-09-27T05:34:24.1266325Z ✔ a sweep over nothing asks nothing (5.773135ms) -2026-09-27T05:34:24.2230828Z ✔ new root admissions reject removed Automation authority (170.662946ms) -2026-09-27T05:34:24.3079373Z ✔ Runtime leaving Plan after approval supersedes the committed Plan overlay (101.13638ms) -2026-09-27T05:34:24.3226407Z ✔ rapid requests share the worker and settle only after the latest value commits (19.740487ms) -2026-09-27T05:34:24.3615984Z ▶ storage root authority -2026-09-27T05:34:24.3646020Z ✔ discovers only marked roots without creating or changing filesystem state (62.245872ms) -2026-09-27T05:34:24.3675997Z ✔ rejects unsupported root kinds without transient marker writes (12.737433ms) -2026-09-27T05:34:24.3746357Z ✔ canonicalizes aliases and gives them one ownership identity (12.678657ms) -2026-09-27T05:34:24.3785288Z ✔ derives Artifact writer bootstrap authority from stable filesystem identity (36.113076ms) -2026-09-27T05:34:24.3811982Z ✔ rejects a marker from another device even when its inode matches (27.480192ms) -2026-09-27T05:34:24.3865549Z ✔ explicitly repairs a stale root identity without changing its root id (40.734528ms) -2026-09-27T05:34:24.3885714Z ✔ repairs a remounted device but refuses a different directory inode (65.410246ms) -2026-09-27T05:34:24.3921299Z ✔ rejects a prepared repair when its marker changes before commit (21.165363ms) -2026-09-27T05:34:24.3945291Z ✔ serializes concurrent repairs across marker replacement (37.587544ms) -2026-09-27T05:34:24.4010149Z ✔ serializes identity repair behind the Artifact bootstrap writer lock (137.867395ms) -2026-09-27T05:34:24.4075839Z ✔ rejects a copied initialized root before it can share authority (53.033226ms) -2026-09-27T05:34:24.4175911Z ✔ adopts the host-local identity of an explicitly imported storage root (118.245196ms) -2026-09-27T05:34:24.4185832Z ✔ resolves only an existing expected root without initializing a replacement (19.180189ms) -2026-09-27T05:34:24.4306272Z ✔ rejects replacement before opening the temporary marker (288.205012ms) -2026-09-27T05:34:24.4315650Z ✔ rejects a regular file as a typed invalid root (17.773167ms) -2026-09-27T05:34:24.4360506Z ✔ rejects an unsupported root kind before creating filesystem state (7.150657ms) -2026-09-27T05:34:24.4409890Z ✔ normalizes root filesystem failures at the public authority boundary (14.836677ms) -2026-09-27T05:34:24.4435972Z ✔ preserves unexpected marker I/O failures at the public authority boundary (30.75076ms) -2026-09-27T05:34:24.4982481Z ✔ keeps one owner when a live root moves behind a new alias (70.505479ms) -2026-09-27T05:34:24.5177084Z ✔ concurrent initialization resolves one interactive root identity (15.381735ms) -2026-09-27T05:34:24.5426085Z ✔ rejects an unbounded root marker before parsing it (27.665198ms) -2026-09-27T05:34:25.0866251Z ✔ rejects FIFO marker paths without blocking root resolution (543.208263ms) -2026-09-27T05:34:25.1360089Z ✔ rejects forged capabilities and invalidates a lease when its OS lock closes (42.648265ms) -2026-09-27T05:34:25.1609590Z Download the React DevTools for a better development experience: https://react.dev/link/react-devtools -2026-09-27T05:34:25.1656511Z ✔ editing a queued entry reports the captured queue revision and closes on success (3504.161749ms) -2026-09-27T05:34:25.2247490Z ✔ keeps the owner lock until an admitted lease operation drains (95.350365ms) -2026-09-27T05:34:25.2307357Z ﹣ enforces exclusive/shared lock arbitration across processes (0.256412ms) # SKIP -2026-09-27T05:34:25.2608512Z ✔ rejects a lock path that aliases another filesystem object (37.276581ms) -2026-09-27T05:34:25.3011716Z ✔ rejects a directory at the owner lock path (38.858319ms) -2026-09-27T05:34:25.3207322Z ✔ does not create a missing control directory while resolving an existing Host (19.240053ms) -2026-09-27T05:34:25.3917176Z ✔ cache deletion cannot create a second State Root owner (69.075144ms) -2026-09-27T05:34:25.4081666Z ✔ validates an existing control directory without repairing its permissions (18.165437ms) -2026-09-27T05:34:25.4117407Z ﹣ kernel releases a process lock after normal, uncaught, abort, and forced exits (0.186364ms) # SKIP -2026-09-27T05:34:25.4175988Z ﹣ does not inherit the owner lock into a surviving descendant (0.050158ms) # SKIP -2026-09-27T05:34:25.4327036Z ✔ a rejected queue edit keeps the row in edit mode instead of reading as reordered (321.000836ms) -2026-09-27T05:34:25.4395948Z ✔ fails closed when a capability root is replaced (29.565267ms) -2026-09-27T05:34:25.4425644Z ✔ storage root authority (2017.591631ms) -2026-09-27T05:34:25.4640153Z ✔ root admission preserves an explicit empty inline-reference marker from its sources (6.497217ms) -2026-09-27T05:34:25.4665828Z ✔ root admission preserves and validates each source submission digest (0.86279ms) -2026-09-27T05:34:25.4709267Z ✔ root admission preserves and validates each source submitted placement (2.738538ms) -2026-09-27T05:34:25.4736656Z ✔ root admission preserves and validates each source Skill outcome (0.879267ms) -2026-09-27T05:34:25.4866114Z ✔ admits a quote-only root Turn input (#4804) (0.505329ms) -2026-09-27T05:34:25.4947810Z ✔ admits an attachment-only root Turn input (#4804) (0.483929ms) -2026-09-27T05:34:25.5006105Z ✔ still rejects a truly contentless root Turn input (6.602747ms) -2026-09-27T05:34:25.5046607Z ✔ one connection declaration survives discovery, disabling, clearing fields and restart (116.424721ms) -2026-09-27T05:34:25.5077162Z ✔ schema one converts both old declarations once and ignores the old file after atomic save (20.677792ms) -2026-09-27T05:34:25.5099547Z ✔ independent limits survive restart and conflicting saves leave the document untouched (76.527536ms) -2026-09-27T05:34:25.5155981Z ✔ only execution-affecting declarations invalidate connection test tickets (77.855993ms) -2026-09-27T05:34:25.5186570Z ✔ queue actions stay disabled until the entry is Host-admitted (30.064262ms) -2026-09-27T05:34:25.5225863Z ✔ rejects non-chat permission modes before confirmation or persistence (73.816684ms) -2026-09-27T05:34:25.5279792Z ✔ rejects non-chat permission modes before writing an existing Session (24.643289ms) -2026-09-27T05:34:25.5309685Z ▶ runtime policy stores -2026-09-27T05:34:25.5365623Z ✔ upgrades schema v2 with the automatic Host shell default (144.914216ms) -2026-09-27T05:34:25.5425944Z ✔ migrates v3 external agent defaults and persists configuration with revision checks (89.973777ms) -2026-09-27T05:34:25.5445812Z ✔ persists extra request bodies and resolves custom headers as secret execution material (140.54732ms) -2026-09-27T05:34:25.5487128Z ✔ carries, replaces, clears, and endpoint-retires the typed capability table (141.270151ms) -2026-09-27T05:34:25.5545739Z ✔ dragging reorders the Host-owned id list (102.582295ms) -2026-09-27T05:34:25.5602899Z ✔ persists a model selection as one compound configuration and saves its default (21.671837ms) -2026-09-27T05:34:25.5665946Z ✔ persists a thinking selection through the same compound configuration service (13.103631ms) -2026-09-27T05:34:25.5766230Z ✔ retains the Model overlay while a partial Host catalog still has the prior Session revision (25.841068ms) -2026-09-27T05:34:25.6017485Z ✔ retires Permission and Orchestration overlays by their committed Session revisions (18.733629ms) -2026-09-27T05:34:25.6078735Z ✔ rejects an Orchestration write whose returned summary has a different mode (14.567211ms) -2026-09-27T05:34:25.6880349Z ✔ disabled models retain editable profiles through reload and re-enable (160.643939ms) -2026-09-27T05:34:25.7856162Z ✔ a relay keeps its own ids opaque through a model refresh (100.906293ms) -2026-09-27T05:34:25.8850629Z ✔ the native model pair remains the model-selection slot fallback (131.57278ms) -2026-09-27T05:34:25.8876816Z ✔ a client model contribution remains inside the unified executor picker (19.146383ms) -2026-09-27T05:34:25.8915913Z ✔ model switch availability has one priority-ordered contract (1.197001ms) -2026-09-27T05:34:25.9683352Z ✔ a model refresh keeps the selection, and an explicit change prunes it (178.766482ms) -2026-09-27T05:34:26.1046635Z ✔ commits closed policy mutations, canonicalizes proxy hosts, and preserves connection identity (140.846705ms) -2026-09-27T05:34:26.1766620Z ✔ rejects a valid mutation whose combined policy document exceeds its byte limit (71.965064ms) -2026-09-27T05:34:26.4896358Z ✔ the recovery handle opens the existing exact account-and-model picker (715.541002ms) -2026-09-27T05:34:26.5318564Z ✔ the thinking picker survives levels arriving after mount (55.425918ms) -2026-09-27T05:34:27.6596608Z ✔ the mode controls alone open the menu on a row, not on a rule (284.573284ms) -2026-09-27T05:34:27.7780309Z ✔ an action row above the mode controls keeps the divider (87.781157ms) -2026-09-27T05:34:27.8097451Z ✔ entering Plan is refused when the Host reports an active execution (6.661757ms) -2026-09-27T05:34:27.8177766Z ✔ canceling the latest pending proposal confirmation makes no write (0.450061ms) -2026-09-27T05:34:27.8180662Z ✔ ordinary Plan transitions write only collaboration mode, preserving orchestration (0.939706ms) -2026-09-27T05:34:27.8283159Z ✔ Host read errors propagate to the intent error path without writing (1.239627ms) -2026-09-27T05:34:27.8816955Z ✔ inactive Session writes keep the shell and frame asleep; selection reads the right overlay immediately (86.149696ms) -2026-09-27T05:34:27.8836348Z ✔ executor selection uses stable commands across Session changes and disconnects on unmount (46.246596ms) -2026-09-27T05:34:27.8866061Z ✔ catalog observations retire only the acknowledged Session overlay without waking the shell (11.926398ms) -2026-09-27T05:34:27.8867831Z ✔ active optimistic state rolls back on failure through the same stable command port (7.65781ms) -2026-09-27T05:34:27.8880708Z ✔ a bypass confirmation cannot write after its captured selection owner changes (4.378038ms) -2026-09-27T05:34:27.8882241Z ✔ clear retires an in-flight intent, and StrictMode cleanup disconnects retained commands (13.816016ms) -2026-09-27T05:34:27.8905828Z ✔ Plan discard remains bound to the requested Session while the user switches away (8.458477ms) -2026-09-27T05:34:27.8928994Z ✔ maps session setting services to the existing compound Desktop bridge (3.330791ms) -2026-09-27T05:34:27.8930263Z ✔ unwraps a plan failure only after it reaches the renderer adapter (0.947271ms) -2026-09-27T05:34:27.8931540Z ✔ file and folder actions have distinct labels and folder references remain removable (179.473252ms) -2026-09-27T05:34:27.9057766Z ✔ each mode row is the control its field is, and none of them is on (34.665445ms) -2026-09-27T05:34:27.9476796Z ✔ a refreshing skill catalog is not "no skills": the row stays put (18.266482ms) -2026-09-27T05:34:28.0826650Z ✔ a settled empty skill catalog still says why the row is unavailable (147.586709ms) -2026-09-27T05:34:28.0993112Z ✔ a populated skill catalog renders the row enabled with no caveat (29.386678ms) -2026-09-27T05:34:28.1386595Z ✔ a loading catalog holds the row still and marks the held state (17.567954ms) -2026-09-27T05:34:28.2026582Z ✔ a settled catalog carries no busy announcement (64.702892ms) -2026-09-27T05:34:28.2759606Z ✔ a loading refresh from a settled-empty catalog holds the empty look (35.055772ms) -2026-09-27T05:34:28.2842361Z ✔ Plan and an orchestration mode are both on at once (70.387742ms) -2026-09-27T05:34:29.0187776Z ✔ rejects a valid create when the aggregate catalog exceeds its byte limit (2840.39129ms) -2026-09-27T05:34:29.4459229Z ▶ failed turn presentation -2026-09-27T05:34:29.4499729Z ✔ changes branch availability without losing the shared failure presentation (15.031503ms) -2026-09-27T05:34:29.4520774Z ✔ presents persisted provider server errors as provider failures (0.5337ms) -2026-09-27T05:34:29.4537789Z ✔ shows the failure cause alongside the recorded retry refusal (0.457538ms) -2026-09-27T05:34:29.4545188Z ✔ grades continuable outcomes below outcomes the user must act on (0.223023ms) -2026-09-27T05:34:29.4566079Z ✔ failed turn presentation (24.176292ms) -2026-09-27T05:34:29.4568065Z ▶ failed turn execution state -2026-09-27T05:34:29.4568983Z ✔ warns that a completed tool may already have taken effect (0.380894ms) -2026-09-27T05:34:29.4570633Z ✔ does not let execution state displace the error class (9.478707ms) -2026-09-27T05:34:29.4571578Z ✔ offers no execution guidance for a Turn that ran nothing (0.405264ms) -2026-09-27T05:34:29.4572524Z ✔ prefers the most specific state the turn reached (0.272052ms) -2026-09-27T05:34:29.4573391Z ✔ failed turn execution state (14.764007ms) -2026-09-27T05:34:29.4574769Z ✔ does not hide a terminal diagnostic behind a sandbox tool failure or promote a tool failure to a failed turn (0.605411ms) -2026-09-27T05:34:29.5329522Z ✔ only an attachment-capable running-turn host accepts a pasted image (409.053609ms) -2026-09-27T05:34:29.9175006Z ✔ an idle composer offers Send alone (113.088092ms) -2026-09-27T05:34:29.9219896Z ✔ a host-owned send gate disables Send without an inline notice (124.900398ms) -2026-09-27T05:34:29.9276315Z ✔ a turn in flight turns the same single control into Stop (13.819073ms) -2026-09-27T05:34:29.9390067Z ✔ a running composer keeps Send alone — no mode switch in the send slot (21.589262ms) -2026-09-27T05:34:29.9456417Z ✔ an opted-in host renders Send (not Stop) for an attachment-only draft (#5003) (98.501168ms) -2026-09-27T05:34:29.9549665Z ✔ a staged quote enables Send without any host opt-in (#4804) (38.482905ms) -2026-09-27T05:34:30.0837528Z ✔ the three send gates agree about a staged quote while streaming (#4804) (262.305771ms) -2026-09-27T05:34:30.2776540Z ✔ the actual submit waits for Session references and keeps the draft on refusal (124.745312ms) -2026-09-27T05:34:30.5671621Z ✔ keeps Host order visible until the reordered projection arrives (303.850632ms) -2026-09-27T05:34:30.5748559Z ✔ deduplicates pending steering against Host queue entries and keeps the plate through an empty queue snapshot (60.388448ms) -2026-09-27T05:34:30.5773143Z ✔ a locally saved follow-up keeps its delivery status and recovery actions in the pending list (37.12954ms) -2026-09-27T05:34:31.1626334Z ▶ Session Terminal animation frame lifecycle -2026-09-27T05:34:31.1851576Z ✔ cancels and suppresses a frame that arrives after cleanup (5.834089ms) -2026-09-27T05:34:31.1885897Z ✔ Session Terminal animation frame lifecycle (14.246473ms) -2026-09-27T05:34:31.5879089Z ✔ Session quote renders its label and capture provenance in en (21.238358ms) -2026-09-27T05:34:31.5935862Z ✔ Session quote renders its label and capture provenance in zh-CN (3.298237ms) -2026-09-27T05:34:31.5966193Z ✔ Session quote renders its label and capture provenance in zh-TW (2.545558ms) -2026-09-27T05:34:31.6046171Z ✔ quote provenance omits invalid dates and does not call complete content truncated (0.472008ms) -2026-09-27T05:34:31.6076241Z ✔ pending Session remove control names the type and capture state in en (78.56933ms) -2026-09-27T05:34:31.6126433Z ✔ pending Session remove control names the type and capture state in zh-CN (18.322232ms) -2026-09-27T05:34:31.6150920Z ✔ pending Session remove control names the type and capture state in zh-TW (68.937608ms) -2026-09-27T05:34:31.7926394Z ✔ slow xterm parsing has one in-flight write and bounded terminal-only recovery (6.751902ms) -2026-09-27T05:34:31.7976245Z ✔ a PTY gap requires a new snapshot rather than rendering incomplete escape sequences (0.627206ms) -2026-09-27T05:34:31.8051571Z ✔ snapshot preparation has bounded buffering and detects a replay gap (0.554254ms) -2026-09-27T05:34:31.8096224Z ✔ terminal hydration ignores an old snapshot and replays only post-resync PTY data (0.243471ms) -2026-09-27T05:34:31.9626119Z ✔ rejects a valid secret when the aggregate vault exceeds its byte limit (2941.14957ms) -2026-09-27T05:34:32.1228199Z ✔ owns endpoints and fails closed on unsafe or unreachable persisted connection state (151.116395ms) -2026-09-27T05:34:32.1838945Z ✔ migrates a persisted Gemini CLI default to the remaining supported catalog (74.604018ms) -2026-09-27T05:34:32.2238630Z ✔ upgrades v2 legacy custom connection types to custom and persists schema v3 on write (39.880615ms) -2026-09-27T05:34:32.3020528Z ✔ refuses to author or default to a retired provider (73.973268ms) -2026-09-27T05:34:32.3856778Z ✔ an OAuth refresh cannot rotate a retained retired credential (81.871299ms) -2026-09-27T05:34:32.4928437Z ✔ deleting a retained retired credential leaves its row byte-stable (110.827068ms) -2026-09-27T05:34:32.6715432Z ✔ a global proxy change leaves a retained retired row byte-stable (173.926513ms) -2026-09-27T05:34:32.7366463Z ✔ refuses every connection-owned write against a retained retired row (67.82877ms) -2026-09-27T05:34:32.8236339Z ✔ refuses to edit a retained retired connection back toward usable (85.354894ms) -2026-09-27T05:34:32.8764891Z ✔ releases a default target that points at a retained retired connection (55.723492ms) -2026-09-27T05:34:32.9097370Z ✔ recognizes pure and mixed OSC color queries (7.762763ms) -2026-09-27T05:34:32.9139714Z ✔ does not suppress OSC color setters or invalid query forms (0.271454ms) -2026-09-27T05:34:32.9185982Z ✔ recognizes device attribute and status reports by their first parameter (0.240474ms) -2026-09-27T05:34:32.9202089Z ✔ recognizes window reports without intercepting window commands (0.368781ms) -2026-09-27T05:34:32.9249897Z ✔ mixed OSC color queries are suppressed and their setters are replayed (1.586798ms) -2026-09-27T05:34:32.9271408Z ✔ registers and disposes every xterm response-generating query handler (0.474603ms) -2026-09-27T05:34:32.9337384Z ✔ rejects a retired Gemini CLI record that collides with a maintained connection identity (43.744203ms) -2026-09-27T05:34:32.9890573Z ✔ validates credential locators and redacts credential status (67.780596ms) -2026-09-27T05:34:33.1708531Z ✔ resolves execution connection material from one mutation cut (185.084592ms) -2026-09-27T05:34:33.2866490Z ✔ bound execution never follows a reused connection slug (112.014868ms) -2026-09-27T05:34:33.4067778Z ✔ MacIntel: primary Enter sends normally when idle (334.93799ms) -2026-09-27T05:34:33.4396574Z ✔ refreshes only the matching OAuth credential generation without invalidating verification (155.321927ms) -2026-09-27T05:34:33.4618415Z ✔ MacIntel: shiftKey+Enter inserts a line break while idle, including with the primary modifier (62.98141ms) -2026-09-27T05:34:33.5082228Z ✔ MacIntel: altKey+Enter inserts a line break while idle, including with the primary modifier (48.110165ms) -2026-09-27T05:34:33.5951935Z ✔ conditionally commits discovery and test facts from the latest admitted state with one-shot tickets (156.076743ms) -2026-09-27T05:34:33.7177502Z ✔ MacIntel: primary Enter steers once without changing later sends (212.112501ms) -2026-09-27T05:34:33.7472241Z ✔ replaces Copilot bootstrap ids with the account-authorized model catalog (152.889939ms) -2026-09-27T05:34:33.7636917Z ✔ MacIntel: shiftKey+Enter inserts a line break while running, including with the primary modifier (48.982006ms) -2026-09-27T05:34:33.7889161Z ✔ MacIntel: altKey+Enter inserts a line break while running, including with the primary modifier (32.761419ms) -2026-09-27T05:34:33.8406631Z ✔ clears a withdrawn Copilot default when authoritative discovery leaves no enabled models (90.644055ms) -2026-09-27T05:34:33.8716290Z ✔ keeps the canonical default target when discovery stops listing its model (31.674842ms) -2026-09-27T05:34:33.9070370Z ✔ releases the canonical default target when a selection change removes its model (34.295584ms) -2026-09-27T05:34:33.9271487Z ✔ MacIntel: the other platform modifier does not select steering (117.245799ms) -2026-09-27T05:34:33.9679157Z ✔ releases the canonical default target when its connection is disabled (61.841629ms) -2026-09-27T05:34:33.9836341Z ✔ MacIntel: composing and empty drafts never send through the steering shortcut (71.60086ms) -2026-09-27T05:34:34.0186639Z ✔ rejects a stated default target that names an unselected model (47.207734ms) -2026-09-27T05:34:34.0316201Z ✔ MacIntel: an open mention menu retains Enter before steering (45.901311ms) -2026-09-27T05:34:34.1346810Z ✔ Win32: primary Enter sends normally when idle (104.973188ms) -2026-09-27T05:34:34.1426997Z ✔ keeps an emptied model selection across the next canonical discovery (123.625757ms) -2026-09-27T05:34:34.1676495Z ✔ Win32: shiftKey+Enter inserts a line break while idle, including with the primary modifier (36.001895ms) -2026-09-27T05:34:34.1972518Z ✔ Win32: altKey+Enter inserts a line break while idle, including with the primary modifier (37.139389ms) -2026-09-27T05:34:34.2665275Z ✔ admits a test model the user selected or the provider listed, and nothing else (128.055521ms) -2026-09-27T05:34:34.3132829Z ✔ Win32: primary Enter steers once without changing later sends (112.000397ms) -2026-09-27T05:34:34.3453876Z ✔ preserves verified state for equivalent discovery and clears it on model protocol changes (72.140176ms) -2026-09-27T05:34:34.3586421Z ✔ Win32: shiftKey+Enter inserts a line break while running, including with the primary modifier (31.012747ms) -2026-09-27T05:34:34.3706158Z ✔ clears verified state when enabled model selection changes (27.312581ms) -2026-09-27T05:34:34.4016524Z ✔ Win32: altKey+Enter inserts a line break while running, including with the primary modifier (45.289076ms) -2026-09-27T05:34:34.4537230Z ✔ Win32: the other platform modifier does not select steering (55.034667ms) -2026-09-27T05:34:34.4686205Z ✔ clears verified state only for admitted connection credential mutations (101.321431ms) -2026-09-27T05:34:34.4964894Z ✔ Win32: composing and empty drafts never send through the steering shortcut (37.891778ms) -2026-09-27T05:34:34.5260565Z ✔ a bound connection credential write rejects revision, provider, and endpoint drift (57.633177ms) -2026-09-27T05:34:34.5341582Z ✔ Win32: an open mention menu retains Enter before steering (43.08746ms) -2026-09-27T05:34:34.5839573Z ✔ reports unknown outcome when credential persistence fails after clearing verified state (57.011196ms) -2026-09-27T05:34:34.6826317Z ✔ invalidates verified state only when the effective network proxy basis changes (97.314248ms) -2026-09-27T05:34:34.7364770Z ✔ Linux x86_64: primary Enter sends normally when idle (183.641263ms) -2026-09-27T05:34:34.7406928Z ✔ validates proxy policy mutations before clearing and reports failed follow-up commits as unknown (60.716784ms) -2026-09-27T05:34:34.7766809Z ✔ Linux x86_64: shiftKey+Enter inserts a line break while idle, including with the primary modifier (53.348966ms) -2026-09-27T05:34:34.8242935Z ✔ Linux x86_64: altKey+Enter inserts a line break while idle, including with the primary modifier (42.658333ms) -2026-09-27T05:34:34.9591502Z ✔ Linux x86_64: primary Enter steers once without changing later sends (146.447939ms) -2026-09-27T05:34:34.9883557Z ✔ invalidates verified state for active proxy password rotation and deletion (244.305042ms) -2026-09-27T05:34:34.9908627Z ✔ Linux x86_64: shiftKey+Enter inserts a line break while running, including with the primary modifier (30.539926ms) -2026-09-27T05:34:35.0199928Z ✔ Linux x86_64: altKey+Enter inserts a line break while running, including with the primary modifier (28.768481ms) -2026-09-27T05:34:35.0748932Z ✔ Linux x86_64: the other platform modifier does not select steering (49.242041ms) -2026-09-27T05:34:35.0928903Z ✔ reports unknown outcome when active proxy password persistence fails after clearing (105.178121ms) -2026-09-27T05:34:35.1097462Z ✔ Linux x86_64: composing and empty drafts never send through the steering shortcut (39.362382ms) -2026-09-27T05:34:35.1426452Z ✔ Linux x86_64: an open mention menu retains Enter before steering (33.829996ms) -2026-09-27T05:34:35.1895451Z ✔ steering retains a refused draft (45.674001ms) -2026-09-27T05:34:35.2210578Z ✔ commits effects when proxy representation or GET-irrelevant body settings change (130.826443ms) -2026-09-27T05:34:35.2502304Z ✔ a blocked composer cannot steer (30.468175ms) -2026-09-27T05:34:35.2673025Z ▶ session trace refresh policy -2026-09-27T05:34:35.2758069Z ✔ ignores streaming deltas and reacts to ledger-changing events (3.463799ms) -2026-09-27T05:34:35.2820722Z ✔ refreshes once for a burst of relevant events (0.545079ms) -2026-09-27T05:34:35.2887175Z ✔ schedules nothing for events that cannot change the trace (0.29319ms) -2026-09-27T05:34:35.2950994Z ✔ cancel drops a scheduled read so a closed panel never fires one (0.225296ms) -2026-09-27T05:34:35.3054255Z ✔ session trace refresh policy (6.338482ms) -2026-09-27T05:34:35.3189783Z ✔ steering supports staged context and coalesces repeated keys while admission is pending (79.121769ms) -2026-09-27T05:34:35.3256191Z ✔ en: queue help renders Cmd+Enter on MacIntel (12.890169ms) -2026-09-27T05:34:35.3266661Z ✔ en: queue help renders Ctrl+Enter on Win32 (0.426567ms) -2026-09-27T05:34:35.3267940Z ✔ zh-CN: queue help renders Cmd+Enter on MacIntel (3.284839ms) -2026-09-27T05:34:35.3340049Z ✔ zh-CN: queue help renders Ctrl+Enter on Win32 (0.282891ms) -2026-09-27T05:34:35.3350678Z ✔ zh-TW: queue help renders Cmd+Enter on MacIntel (9.877564ms) -2026-09-27T05:34:35.3386865Z ✔ zh-TW: queue help renders Ctrl+Enter on Win32 (0.523982ms) -2026-09-27T05:34:35.4618425Z ✔ labels the Chinese default thinking level as default (1.366307ms) -2026-09-27T05:34:35.4631293Z ✔ explains why folder-reference messages cannot be edited and resent (0.236202ms) -2026-09-27T05:34:35.4669697Z ✔ context usage explains missing data without exposing provider internals (0.173832ms) -2026-09-27T05:34:35.4713886Z ✔ context usage tooltip leads with the measured share (0.461287ms) -2026-09-27T05:34:35.4746042Z ✔ context usage tooltip keeps measured usage when the limit is unknown (0.432773ms) -2026-09-27T05:34:35.4747344Z ✔ providerRetryScheduled humanizes hour-scale delays in both locales (2.945868ms) -2026-09-27T05:34:35.4748525Z ✔ uses Taiwan wording for the Daily Review append action (1.22559ms) -2026-09-27T05:34:35.4817374Z ✔ supersedes effects on connection, credential, proxy, proxy credential, and slug ABA changes (261.795313ms) -2026-09-27T05:34:35.5403117Z ✔ keeps a newer Guest draft across remount when an old request settles later (318.331982ms) -2026-09-27T05:34:35.5582835Z ✔ preserves unknown commit semantics and consumes the completion ticket (74.239796ms) -2026-09-27T05:34:35.6175668Z ✔ resumes an in-flight Guest request across remount without submitting it twice (83.601221ms) -2026-09-27T05:34:35.6267988Z ✔ allows only Copilot OAuth tokens through the public credential setter (66.697598ms) -2026-09-27T05:34:35.6301231Z ✔ the picker shows a generic loading state until the executor catalog arrives (433.805784ms) -2026-09-27T05:34:35.6359426Z ✔ failed Antigravity discovery closes the picker before opening external-agent settings (111.205374ms) -2026-09-27T05:34:35.6406771Z ✔ the Composer native fallback commits Maka with native-model after browsing an external executor (475.763777ms) -2026-09-27T05:34:35.6938675Z ✔ resolves one atomic WebSearch policy, credential, and proxy execution snapshot (69.1743ms) -2026-09-27T05:34:35.7499243Z ✔ a stale client cannot recreate a proxy credential after another client disables authentication (49.958435ms) -2026-09-27T05:34:35.8201025Z ✔ a bound proxy credential import cannot replace the secret after the proxy target changes (74.463284ms) -2026-09-27T05:34:35.8487981Z ✔ proxy replacement failure before vault publication leaves both stores unchanged (31.770134ms) -2026-09-27T05:34:35.8930456Z ✔ proxy replacement never persists its secret outside the credential vault (43.438857ms) -2026-09-27T05:34:35.9534865Z ✔ authentication disable failure before policy publication leaves both stores unchanged (51.739164ms) -2026-09-27T05:34:35.9955859Z ✔ the Composer native fallback commits Maka with native-model-2 after browsing an external executor (434.38142ms) -2026-09-27T05:34:35.9991972Z ✔ disabling proxy authentication commits policy before deleting its credential (51.413302ms) -2026-09-27T05:34:36.0446810Z ✔ blocks WebFetch while privacy mode is active (41.070138ms) -2026-09-27T05:34:36.0709586Z ✔ keeps provider-native WebSearch outside the client search credential resolver (30.041252ms) -2026-09-27T05:34:36.2280717Z ✔ removes credentials only for a matching connection revision and converges on partial retries (158.107764ms) -2026-09-27T05:34:36.3077492Z ✔ executor choice shares the native searchable list and exposes every external model with exact identity (312.259344ms) -2026-09-27T05:34:36.3256996Z ✔ history-only state keeps the executor fixed and offers a new task (23.254683ms) -2026-09-27T05:34:36.3439701Z ✔ successor recovery removes credentials orphaned by an interrupted connection removal (117.86674ms) -2026-09-27T05:34:36.4230963Z ✔ unavailable executors can be inspected but never committed (46.573896ms) -2026-09-27T05:34:36.4522655Z ✔ drains every synchronously admitted ordered mutation before owner close completes (105.951717ms) -2026-09-27T05:34:36.5474140Z ✔ Turn-request inbox keeps only actionable requests and detects new arrivals (11.119173ms) -2026-09-27T05:34:36.6263335Z ✔ fails closed on final symlinks, FIFOs, and oversized documents without changing bytes (169.474719ms) -2026-09-27T05:34:36.7603499Z ✔ single-flights writer recovery and preserves credential material across owner reopen (138.825487ms) -2026-09-27T05:34:36.8882311Z ✔ clears a stale onboarding intent when its connection id conflicts with the catalog (130.416429ms) -2026-09-27T05:34:36.9656472Z ✔ native thinking stays beside the composer model trigger and follows executor selection (581.738578ms) -2026-09-27T05:34:37.0030549Z ✔ recovers a v1 onboarding intent by identity before deriving a canonical slug (112.792623ms) -2026-09-27T05:34:37.0437742Z ✔ a failed native choice keeps the shared list open for retry (60.129033ms) -2026-09-27T05:34:37.0516804Z ✔ highest external intensity uses supported levels and opaque IDs regardless of catalog order (0.676325ms) -2026-09-27T05:34:37.1256419Z ✔ recovers a v2 create intent with its preallocated dynamic identity (119.007099ms) -2026-09-27T05:34:37.2089426Z ✔ fails closed when a v2 onboarding intent rebinds an existing id to another slug (87.952441ms) -2026-09-27T05:34:37.4026566Z ✔ interactive OAuth create allocates distinct entities and keeps attempt identity durable (189.567732ms) -2026-09-27T05:34:37.5088635Z ✔ interactive OAuth create commits the requested Connection name and slug (109.24709ms) -2026-09-27T05:34:37.5386222Z ✔ interactive OAuth custom identity is limited to OpenAI Codex (28.751027ms) -2026-09-27T05:34:37.5918406Z ✔ grouped external models select the highest supported intensity from undefined (572.168825ms) -2026-09-27T05:34:37.6196296Z ✔ interactive OAuth create reports a slug collision that wins the commit race (79.592652ms) -2026-09-27T05:34:37.7242897Z ✔ interactive OAuth existing login re-enables only its frozen entity (105.750772ms) -2026-09-27T05:34:37.7896336Z ✔ OAuth enrollment fails closed when its exact entity or allocated slug drifts (62.314542ms) -2026-09-27T05:34:38.1757919Z ✔ grouped external models select the highest supported intensity from flash-high (561.975363ms) -2026-09-27T05:34:38.4118157Z ✔ OAuth enrollment recovery converges after every durable commit boundary (627.974916ms) -2026-09-27T05:34:38.5262497Z ✔ interactive OAuth login commits only against its frozen connection and credential basis (110.200268ms) -2026-09-27T05:34:38.5918757Z ✔ rejects forged leases, forged facades, and operations after interactive lease close (63.998784ms) -2026-09-27T05:34:38.5979173Z ✔ runtime policy stores (13587.30287ms) -2026-09-27T05:34:38.6207575Z ✔ grouped external models select the highest supported intensity from flash-mid (472.166801ms) -2026-09-27T05:34:38.6546573Z ✔ external thinking respects disabled locks (34.88273ms) -2026-09-27T05:34:38.6749418Z ✔ external thinking respects readOnly locks (12.43114ms) -2026-09-27T05:34:38.6836343Z ✔ Jev policy and credentials persist in Host stores without exposing the key in projections (93.784961ms) -2026-09-27T05:34:38.7032174Z ✔ external thinking respects fixed locks (23.967743ms) -2026-09-27T05:34:38.7086116Z ✔ external thinking respects lost locks (35.289537ms) -2026-09-27T05:34:38.8228520Z ✔ core execution migration preserves databases with historical continuation forks (9.256128ms) -2026-09-27T05:34:38.8336995Z ✔ safe-boundary continuation admission is indexed by its source execution (408.472727ms) -2026-09-27T05:34:38.8396169Z ✔ historical continuation forks resolve to the earliest durable admission (252.143629ms) -2026-09-27T05:34:38.8496007Z ▶ ScheduledTask point operations do not materialize or rewrite unrelated rows -2026-09-27T05:34:38.8585786Z ✔ 0 unrelated tasks and pending fires (775.781413ms) -2026-09-27T05:34:38.8656020Z ✔ 32 unrelated tasks and pending fires (315.345096ms) -2026-09-27T05:34:38.8725931Z ✔ 256 unrelated tasks and pending fires (2155.980055ms) -2026-09-27T05:34:38.8817162Z ✔ ScheduledTask point operations do not materialize or rewrite unrelated rows (3253.622775ms) -2026-09-27T05:34:38.8850508Z ✔ ScheduledTask polls without new due or expired tasks perform no DML (409.641219ms) -2026-09-27T05:34:38.8875780Z ✔ ScheduledTask expiry updates only newly expired tasks, including a pending task (410.539648ms) -2026-09-27T05:34:38.9016723Z ✔ ScheduledTask native delivery allows waiting cancellation but cannot undo admission (276.399067ms) -2026-09-27T05:34:38.9126287Z ✔ ScheduledTask execution binding is idempotent and does not retain caller-owned objects (186.21562ms) -2026-09-27T05:34:38.9214045Z ✔ ScheduledTask metadata updates keep schedule and expired-trigger semantics (207.138106ms) -2026-09-27T05:34:38.9221674Z ✔ ScheduledTask metadata updates preserve a future snoozed occurrence (346.372408ms) -2026-09-27T05:34:38.9306159Z ✔ ScheduledTask due discovery rejects a damaged task identity before changing another task (202.553247ms) -2026-09-27T05:34:38.9307461Z ✔ ScheduledTask settlement rolls back both rows and the queue accepts a retry (376.919541ms) -2026-09-27T05:34:38.9308840Z ✔ ScheduledTask execution identity survives closing and reacquiring the root owner (289.783594ms) -2026-09-27T05:34:38.9309916Z ✔ pins exact canonical tree-record bytes and SHA-256 digest (13.839178ms) -2026-09-27T05:34:38.9365904Z ✔ incrementally hashes the same stream without retaining file bytes (9.388196ms) -2026-09-27T05:34:38.9367144Z ✔ preserves raw UTF-8 path bytes without Unicode normalization (0.738186ms) -2026-09-27T05:34:38.9455900Z ✔ makes empty directories and executable semantics digest-significant (5.984188ms) -2026-09-27T05:34:38.9457216Z ✔ rejects traversal, host path syntax, invalid Unicode, and paths outside V1 roots (3.850466ms) -2026-09-27T05:34:38.9526209Z ✔ rejects duplicate, conflicting, orphaned, and incomplete payload trees (7.103169ms) -2026-09-27T05:34:38.9553679Z ✔ rejects non-normalized file metadata and an out-of-order streaming source (0.724593ms) -2026-09-27T05:34:38.9705976Z ✔ fails closed after aggregate payload size overflows (0.500262ms) -2026-09-27T05:34:38.9737698Z ✔ an import takes its turn in the target root context mutation queue (1243.354875ms) -2026-09-27T05:34:38.9798404Z ✔ exposes strict lowercase SHA-256 digest validation (4.381096ms) -2026-09-27T05:34:38.9833666Z ✔ validates Unicode strings safely at the runtime boundary (0.327262ms) -2026-09-27T05:34:38.9856251Z ✔ requires every explicit quota while permitting a fail-closed zero budget (7.459165ms) -2026-09-27T05:34:38.9885906Z ✔ copies opaque state identity bytes without interpreting or aliasing them (3.576289ms) -2026-09-27T05:34:38.9917862Z ✔ keeps stable bundle failures bounded and preserves their causes (0.404061ms) -2026-09-27T05:34:38.9937272Z ✔ packs deterministically, inspects completely, and atomically hydrates (326.781003ms) -2026-09-27T05:34:38.9970139Z ✔ an independent process verifies and hydrates the same archive contract (579.753209ms) -2026-09-27T05:34:38.9986491Z ✔ a process crash leaves owned staging that can be reclaimed without touching decoys (386.681099ms) -2026-09-27T05:34:39.0011460Z ✔ concurrent publications never overwrite an existing destination (336.408729ms) -2026-09-27T05:34:39.0035842Z ✔ binds pack publication and cleanup to the hashed temporary inode (850.635707ms) -2026-09-27T05:34:39.0087022Z ✔ cleans the inode actually linked when the pack pathname is swapped at link time (273.109181ms) -2026-09-27T05:34:39.0186079Z ✔ cleans a published pack when the temporary pathname disappears after link (320.825147ms) -2026-09-27T05:34:39.0225973Z ✔ does not clean an unrelated destination replacement after link (427.069611ms) -2026-09-27T05:34:39.0315855Z ✔ removes an ownership record when its initialization write fails (362.083646ms) -2026-09-27T05:34:39.0317080Z ✔ reports read-side source changes and filesystem failures at the operation boundary (323.097372ms) -2026-09-27T05:34:39.0337750Z ✔ rejects corrupted payloads and transport mismatches without publishing hydration (160.789275ms) -2026-09-27T05:34:39.0339181Z ✔ rejects corrupted manifest, descriptor, tree digest, and Zstandard stream (171.952557ms) -2026-09-27T05:34:39.0340379Z ✔ enforces every explicit streaming quota with bounded details (192.202906ms) -2026-09-27T05:34:39.0341547Z ✔ accepts exact file, entry, path-byte, and path-depth quota boundaries (99.368203ms) -2026-09-27T05:34:39.0342854Z ✔ rejects unsafe paths, links, bad checksums, truncation, and trailing TAR bytes (99.356227ms) -2026-09-27T05:34:39.0343926Z ✔ unsafe hydration paths cannot escape staging (112.953125ms) -2026-09-27T05:34:39.0345113Z ✔ pack enforces caller quotas and cleans unpublished output (42.12993ms) -2026-09-27T05:34:39.0355066Z ✔ rejects source links, identity mismatch, and existing destinations (75.1089ms) -2026-09-27T05:34:39.0356388Z ✔ pins canonical Manifest V1 UTF-8 bytes and round-trips them (9.865315ms) -2026-09-27T05:34:39.0357574Z ✔ omits optional Activation provenance instead of inventing authority (0.539449ms) -2026-09-27T05:34:39.0358655Z ✔ does not serialize inherited Activation provenance (4.080451ms) -2026-09-27T05:34:39.0359582Z ✔ rejects parseable but non-canonical manifest bytes (2.642164ms) -2026-09-27T05:34:39.0360571Z ✔ does not expose attacker-controlled parser diagnostics (0.445111ms) -2026-09-27T05:34:39.0361600Z ✔ rejects control-plane revision and fork authority fields (0.407867ms) -2026-09-27T05:34:39.0362792Z ✔ distinguishes unsupported schema and codec versions from malformed manifests (0.67135ms) -2026-09-27T05:34:39.0364047Z ✔ rejects unknown nested fields, invalid Unicode, and incomplete layouts (0.410911ms) -2026-09-27T05:34:39.0365225Z ✔ exports one Session as filtered SQLite (736.526248ms) -2026-09-27T05:34:39.0366185Z ✔ retains only the selected Session partial stream segments (486.67312ms) -2026-09-27T05:34:39.0367139Z ✔ pins the exact canonical USTAR V1 header (8.566436ms) -2026-09-27T05:34:39.0368028Z ✔ uses the rightmost representable USTAR prefix split (0.718701ms) -2026-09-27T05:34:39.0368959Z ✔ accepts exact USTAR field boundaries and non-BMP paths (9.218016ms) -2026-09-27T05:34:39.0369889Z ✔ rejects noncanonical metadata and unrepresentable paths (6.157031ms) -2026-09-27T05:34:39.0371429Z ✔ same-request recovery preserves drafts and renders accessible constraints (194.548168ms) -2026-09-27T05:34:39.0372675Z ✔ a delayed terminal event cannot retire the successor Turn question (2.931038ms) -2026-09-27T05:34:39.0373733Z ▶ composer interaction queue -2026-09-27T05:34:39.0374846Z ✔ boundary and question requests share one FIFO per session (7.261406ms) -2026-09-27T05:34:39.0393852Z ✔ Client Capability requests enter and leave the shared queue (0.260351ms) -2026-09-27T05:34:39.0395040Z ✔ deduplicates replays and isolates sessions (2.011216ms) -2026-09-27T05:34:39.0395953Z ✔ tool completion and terminal events drain stale interactions (0.396648ms) -2026-09-27T05:34:39.0396981Z ✔ rehydration keeps the shown order and drops what the runtime settled (4.37498ms) -2026-09-27T05:34:39.0397953Z ✔ rehydration adds a question the surface never saw live (0.20595ms) -2026-09-27T05:34:39.0398821Z ✔ form requests enter and leave the shared queue (0.731257ms) -2026-09-27T05:34:39.0399580Z ✔ composer interaction queue (18.030331ms) -2026-09-27T05:34:39.0400222Z ▶ toggleListedSelection -2026-09-27T05:34:39.0400792Z ✔ marks and unmarks one id (3.931374ms) -2026-09-27T05:34:39.0401573Z ✔ a toggle that changes nothing returns the same value (0.301926ms) -2026-09-27T05:34:39.0402321Z ✔ the input is never mutated (0.237274ms) -2026-09-27T05:34:39.0403018Z ✔ toggleListedSelection (15.163801ms) -2026-09-27T05:34:39.0403641Z ▶ setAllListedSelected -2026-09-27T05:34:39.0404291Z ✔ marks exactly what the surface listed (0.325367ms) -2026-09-27T05:34:39.0455534Z ✔ unticking settles on the shared empty value (0.181389ms) -2026-09-27T05:34:39.0459758Z ✔ setAllListedSelected (3.89529ms) -2026-09-27T05:34:39.0515436Z ▶ listedSelectionMasterState -2026-09-27T05:34:39.0516439Z ✔ reads unchecked, indeterminate, then checked (0.53367ms) -2026-09-27T05:34:39.0545706Z ✔ an empty list is unchecked, never checked (2.443322ms) -2026-09-27T05:34:39.0555573Z ✔ a mark outside the listed ids cannot make it checked (0.220103ms) -2026-09-27T05:34:39.0590918Z ✔ listedSelectionMasterState (4.201486ms) -2026-09-27T05:34:39.0605460Z ▶ pruneListedSelection -2026-09-27T05:34:39.0635537Z ✔ drops ids the surface no longer lists (1.65766ms) -2026-09-27T05:34:39.0665546Z ✔ returns the same value when nothing was dropped (0.247545ms) -2026-09-27T05:34:39.0698131Z ✔ an emptied result settles on the shared empty value (0.704494ms) -2026-09-27T05:34:39.0699698Z ✔ accepts a Set without rebuilding it (1.354201ms) -2026-09-27T05:34:39.0725864Z ✔ pruneListedSelection (4.301969ms) -2026-09-27T05:34:39.0755938Z ✔ a successor and a delayed predecessor seed retain separate text and settlement (8.088102ms) -2026-09-27T05:34:39.0776948Z ▶ the unconfirmed claim an arm carries -2026-09-27T05:34:39.0786882Z ✔ is dropped by the turn's own events, not just by an explicit answer (11.115067ms) -2026-09-27T05:34:39.0818862Z ✔ the unconfirmed claim an arm carries (15.091726ms) -2026-09-27T05:34:39.0853518Z ▶ the start a live Turn carries -2026-09-27T05:34:39.0885279Z ✔ stays at its first event while later tools arrive, before the transcript reaches the Turn (4.726529ms) -2026-09-27T05:34:39.0915613Z ✔ the start a live Turn carries (7.870034ms) -2026-09-27T05:34:39.0925455Z ▶ provider retry copy -2026-09-27T05:34:39.0950263Z ✔ describes capacity retries without collapsing them into generic unavailability (0.532395ms) -2026-09-27T05:34:39.0972971Z ✔ provider retry copy (0.865147ms) -2026-09-27T05:34:39.1006172Z ▶ applyLiveTurnEvent -2026-09-27T05:34:39.1019275Z ✔ keeps every streamed prefix oracle-equivalent and drops raw state on terminal events (12.227513ms) -2026-09-27T05:34:39.1061371Z ✔ folds replayed absolute deltas instead of appending a resubscription seed (0.652044ms) -2026-09-27T05:34:39.1062453Z ✔ tracks absolute thinking offsets independently from redacted display text (1.050295ms) -2026-09-27T05:34:39.1095605Z ✔ drops a delta past the consumed source so a later reseed lands whole (0.481825ms) -2026-09-27T05:34:39.1125786Z ✔ projects transient provider retry progress until the next model output (1.988577ms) -2026-09-27T05:34:39.1136121Z ✔ keeps provider capacity visible through retry projection (0.483415ms) -2026-09-27T05:34:39.1167168Z ✔ replaces the live reasoning with thinking_complete on the same step (0.505861ms) -2026-09-27T05:34:39.1195670Z ✔ retains live nested tool activity identity (0.579048ms) -2026-09-27T05:34:39.1215617Z ✔ retains nested identity when a tool result arrives before its start (0.310538ms) -2026-09-27T05:34:39.1239052Z ✔ maps cancelled terminal tool_result to interrupted, not errored (0.364633ms) -2026-09-27T05:34:39.1401841Z ✔ moves an output-first tool into its real step without duplicating or regressing it (0.574812ms) -2026-09-27T05:34:39.1516140Z ✔ projects bounded multi-step tool progress onto the running row (0.817692ms) -2026-09-27T05:34:39.1596099Z ✔ ignores invalid step progress without clearing the last valid value (0.3583ms) -2026-09-27T05:34:39.1766460Z ✔ preserves steering positions when an output-first tool receives its real step (0.693681ms) -2026-09-27T05:34:39.1808695Z ✔ appends late thinking without moving an already visible tool (0.388996ms) -2026-09-27T05:34:39.1836667Z ✔ drops a terminal projection only after its last live step settles (0.364634ms) -2026-09-27T05:34:39.1865687Z ✔ marks an aborted projection terminal with in-flight tools interrupted (0.258249ms) -2026-09-27T05:34:39.1866620Z ✔ applyLiveTurnEvent (24.237675ms) -2026-09-27T05:34:39.1895504Z ▶ settleLiveTurnStep -2026-09-27T05:34:39.1925660Z ✔ removes only the committed step and drops an empty projection (0.241497ms) -2026-09-27T05:34:39.1955877Z ✔ keeps co-located tool stream evidence when text handoff settles (0.228165ms) -2026-09-27T05:34:39.1985551Z ✔ still drops tools without live stream evidence on text settle (0.14034ms) -2026-09-27T05:34:39.1986559Z ✔ settleLiveTurnStep (0.837474ms) -2026-09-27T05:34:39.2015368Z ▶ reconcileTerminalLiveTurn -2026-09-27T05:34:39.2030608Z ✔ settles a tool-only terminal step once persisted history covers it (0.597789ms) -2026-09-27T05:34:39.2075847Z ✔ keeps a non-terminal projection armed once persisted history covers all steps (0.224361ms) -2026-09-27T05:34:39.2077112Z ✔ retains terminal evidence while persisted history does not cover it (0.465855ms) -2026-09-27T05:34:39.2105696Z ✔ keeps terminal live steering until the terminal transcript catches up (0.23057ms) -2026-09-27T05:34:39.2137060Z ✔ hands a running live steering row to the transcript once its user row is durable (0.219561ms) -2026-09-27T05:34:39.2145606Z ✔ keeps steering-only aborts visible for transcript handoff (0.157442ms) -2026-09-27T05:34:39.2166015Z ✔ retains interrupted live output until a persisted result covers it (0.140429ms) -2026-09-27T05:34:39.2195707Z ✔ keeps live stream evidence when persisted shell_run streams are still empty (0.298896ms) -2026-09-27T05:34:39.2225576Z ✔ leaves text steps to the streaming display handoff (2.28794ms) -2026-09-27T05:34:39.2235809Z ✔ terminalizes live text when persisted history proves a missed terminal event (0.357654ms) -2026-09-27T05:34:39.2275949Z ✔ settles a persisted thinking-only step whose text slot is empty (0.135558ms) -2026-09-27T05:34:39.2280625Z ✔ drops persisted stream evidence before the next tool batch settles (0.480533ms) -2026-09-27T05:34:39.2305526Z ✔ reconcileTerminalLiveTurn (6.153784ms) -2026-09-27T05:34:39.2345714Z ▶ tool_result_preview live projection -2026-09-27T05:34:39.2367250Z ✔ attaches live open-facts and replaces them with the durable result (0.283193ms) -2026-09-27T05:34:39.2405747Z ✔ keeps hydrated result content when Runtime Host omits it from the live event (0.126073ms) -2026-09-27T05:34:39.2406873Z ✔ lets a meaningful live empty result replace older durable content (1.699292ms) -2026-09-27T05:34:39.2436766Z ✔ tool_result_preview live projection (2.258907ms) -2026-09-27T05:34:39.2477850Z ▶ context-compaction live row -2026-09-27T05:34:39.2495649Z ✔ arms a rootExecutionKind projection from a context_compaction_started event (0.213028ms) -2026-09-27T05:34:39.2516289Z ✔ overlays exactly one localized "compacting" system row while running (1.077615ms) -2026-09-27T05:34:39.2545787Z ✔ merges the compacting note into an already-persisted running turn (0.284646ms) -2026-09-27T05:34:39.2575638Z ✔ localizes the compacting row per locale (0.203945ms) -2026-09-27T05:34:39.2605511Z ✔ drops the row when the compaction turn completes with no content (0.172055ms) -2026-09-27T05:34:39.2606708Z ✔ drops the running row when transcript reconciliation finds the compaction terminal (0.763302ms) -2026-09-27T05:34:39.2635434Z ✔ context-compaction live row (3.041106ms) -2026-09-27T05:34:39.2665578Z ▶ session copy cleanup authority -2026-09-27T05:34:39.2694170Z ✔ forgets a known rejected creation without trying to resume or remove it (742.321824ms) -2026-09-27T05:34:39.2701679Z ✔ releases a rejected creation lease so the same identity can retry (347.899852ms) -2026-09-27T05:34:39.2729495Z ✔ orders cancellation after an in-flight copy reaches a known outcome (338.866614ms) -2026-09-27T05:34:39.2794682Z ✔ resolves an unknown creating lease before removing it after restart (406.452941ms) -2026-09-27T05:34:39.2831567Z ✔ does not recover a live copy whose owning process is still active (254.43839ms) -2026-09-27T05:34:39.2918479Z ✔ claims one released process incarnation across all of its copies (441.694801ms) -2026-09-27T05:34:39.2930806Z ✔ holds the released owner claim while recovering a cleanup-phase copy (385.045702ms) -2026-09-27T05:34:39.2932164Z ✔ falls back to process liveness for an unsupported owner reference version (336.78298ms) -2026-09-27T05:34:39.2933493Z ✔ asks the process owner to retire released files with no database references (200.290331ms) -2026-09-27T05:34:39.2934771Z ✔ fails closed when process-incarnation ownership cannot be inspected (295.573566ms) -2026-09-27T05:34:39.2935880Z ✔ abandons every live copy owned by a renderer that exits (425.575223ms) -2026-09-27T05:34:39.2936688Z ▶ session workspace action identity -2026-09-27T05:34:39.2937550Z ✔ hands over identity and rows together and rejects superseded reads (130.810785ms) -2026-09-27T05:34:39.2938587Z ✔ keeps every action identity fixed across re-renders (9.678757ms) -2026-09-27T05:34:39.2939376Z ✔ session workspace action identity (147.870868ms) -2026-09-27T05:34:39.2943149Z [bots:telegram] bot_connection_failed: 401 Authorization: *** -2026-09-27T05:34:39.2945654Z ▶ settings IPC helpers -2026-09-27T05:34:39.2968454Z ✔ masks sensitive bot fields before returning settings to renderer (1.78782ms) -2026-09-27T05:34:39.2969791Z ✔ keeps empty sensitive fields empty instead of showing a placeholder (0.400803ms) -2026-09-27T05:34:39.2971057Z ✔ marks Tavily environment credentials as renderer-safe source without returning the key (0.28313ms) -2026-09-27T05:34:39.2972686Z ✔ reveals sensitive fields only when the current patch explicitly changes them (4.370467ms) -2026-09-27T05:34:39.2974815Z ✔ never reveals Tavily API key back to renderer, even on the save response (1.510658ms) -2026-09-27T05:34:39.2976413Z ✔ maps runtime bot test results as credential checks, not operational readiness (4.512196ms) -2026-09-27T05:34:39.2978859Z ✔ redacts bot test error diagnostics before returning SettingsTestResult (13.790966ms) -2026-09-27T05:34:39.2986614Z ✔ settings update result returns transient personalization warning enums without raw phrases (1.464073ms) -2026-09-27T05:34:39.2987771Z ✔ settings IPC helpers (37.563511ms) -2026-09-27T05:34:39.2988946Z ✔ renders Runtime Host memory rejection codes per locale (5.857608ms) -2026-09-27T05:34:39.2991035Z ✔ falls back for an unknown Runtime Host memory rejection code (0.29661ms) -2026-09-27T05:34:39.2992772Z ✔ renders complete memory counts and summaries in zh-CN (1.374989ms) -2026-09-27T05:34:39.2993925Z ✔ renders complete redaction, backup failure, and preview messages in zh-CN (0.3244ms) -2026-09-27T05:34:39.2995280Z ✔ renders complete memory action and restore descriptions in zh-CN (6.491022ms) -2026-09-27T05:34:39.2996296Z ✔ renders complete memory counts and summaries in zh-TW (0.361498ms) -2026-09-27T05:34:39.3023515Z ✔ renders complete redaction, backup failure, and preview messages in zh-TW (0.22678ms) -2026-09-27T05:34:39.3025450Z ✔ renders complete memory action and restore descriptions in zh-TW (0.249112ms) -2026-09-27T05:34:39.3026504Z ✔ renders complete memory counts and summaries in en (4.539195ms) -2026-09-27T05:34:39.3027473Z ✔ renders complete redaction, backup failure, and preview messages in en (2.87614ms) -2026-09-27T05:34:39.3028483Z ✔ renders complete memory action and restore descriptions in en (0.265886ms) -2026-09-27T05:34:39.3029434Z ✔ the generic settings channel cannot carry an app-icon choice (7.388527ms) -2026-09-27T05:34:39.3030359Z ✔ an appearance patch that is only an icon drops out entirely (0.286636ms) -2026-09-27T05:34:39.3031111Z ✔ the rest of appearance still travels (0.223123ms) -2026-09-27T05:34:39.3031931Z ✔ the dark slot cannot travel on the generic channel either (0.208712ms) -2026-09-27T05:34:39.3055254Z ✔ an appearance patch of only icon slots drops out entirely (2.840358ms) -2026-09-27T05:34:39.3056462Z ✔ language selector offers every preference with locale-appropriate labels (8.141698ms) -2026-09-27T05:34:39.3057473Z ✔ Traditional Chinese settings copy uses Taiwan terminology (0.363723ms) -2026-09-27T05:34:39.3058470Z ✔ Traditional Chinese provider cards use Taiwan connection terminology (0.355307ms) -2026-09-27T05:34:39.3059451Z ✔ Traditional Chinese bot settings use Taiwan integration terminology (0.283775ms) -2026-09-27T05:34:39.3060091Z ▶ Settings resource state -2026-09-27T05:34:39.3060679Z ✔ keeps a last-ready snapshot visible while it revalidates (6.366701ms) -2026-09-27T05:34:39.3061439Z ✔ retains the snapshot and records a failed refresh (3.427017ms) -2026-09-27T05:34:39.3062298Z ✔ keeps a previous-generation snapshot visible without keeping its authority (0.312679ms) -2026-09-27T05:34:39.3063254Z ✔ never exposes one Runtime Host snapshot through another Host key (0.188973ms) -2026-09-27T05:34:39.3064082Z ✔ seeds a cold load from a matching cached snapshot (0.232765ms) -2026-09-27T05:34:39.3065201Z ✔ keeps an initially cached snapshot read-only when validation fails (0.208929ms) -2026-09-27T05:34:39.3066107Z ✔ uses a fresh default over a cached bootstrap selection (0.818024ms) -2026-09-27T05:34:39.3066933Z ✔ preserves an explicit valid selection after hydration (0.85363ms) -2026-09-27T05:34:39.3083224Z ✔ Settings resource state (16.814171ms) -2026-09-27T05:34:39.3084003Z ▶ Settings snapshot cache -2026-09-27T05:34:39.3084943Z ✔ reuses masked read snapshots for the same renderer bridge identity only (4.153029ms) -2026-09-27T05:34:39.3085873Z ✔ isolates settings and connections by selected Runtime Host key (0.539341ms) -2026-09-27T05:34:39.3086744Z ✔ prunes snapshots when a profile reconnects with a new host id (0.389113ms) -2026-09-27T05:34:39.3087553Z ✔ stores settings and connection reads independently (0.211688ms) -2026-09-27T05:34:39.3088220Z ✔ Settings snapshot cache (10.269949ms) -2026-09-27T05:34:39.3088770Z ▶ Settings Runtime Host request authority -2026-09-27T05:34:39.3089533Z ✔ invalidates reads without discarding a same-Host mutation (0.958368ms) -2026-09-27T05:34:39.3090628Z ✔ rejects every in-flight operation synchronously when the selected Host changes (0.226666ms) -2026-09-27T05:34:39.3091736Z ✔ rejects every in-flight operation when the same Host key enters a new epoch (0.16318ms) -2026-09-27T05:34:39.3092751Z ✔ does not revoke tickets for a repeated observation of the same Host epoch (0.125137ms) -2026-09-27T05:34:39.3093704Z ✔ rejects an in-flight write while the same Host epoch reconnects (0.136559ms) -2026-09-27T05:34:39.3094627Z ✔ keeps only the latest mutation for one Host (0.119333ms) -2026-09-27T05:34:39.3095477Z ✔ refuses to start a delayed mutation for a no-longer-selected Host (0.16709ms) -2026-09-27T05:34:39.3096421Z ✔ does not let a delayed old-Host read invalidate the current Host reads (0.155151ms) -2026-09-27T05:34:39.3097280Z ✔ Settings Runtime Host request authority (2.506729ms) -2026-09-27T05:34:39.3097867Z [bots:slack] bot_connection_failed: Network error -2026-09-27T05:34:39.3098885Z [bots:slack] bot_connection_failed: 外部错误 token=[redacted] -2026-09-27T05:34:39.3099707Z [bots:slack] bot_connection_failed: Bad Request: chat not found -2026-09-27T05:34:39.3100315Z [bots:slack] bot_connection_failed: future-code -2026-09-27T05:34:39.3100857Z [bots:slack] bot_connection_failed: constructor -2026-09-27T05:34:39.3101387Z [bots:slack] bot_connection_failed: toString -2026-09-27T05:34:39.3101900Z [bots:slack] bot_connection_failed: __proto__ -2026-09-27T05:34:39.3102448Z [bots:slack] bot_connection_failed: Network error -2026-09-27T05:34:39.3103124Z [bots:slack] bot_connection_failed: 外部错误 token=[redacted] -2026-09-27T05:34:39.3103749Z [bots:slack] bot_connection_failed: Bad Request: chat not found -2026-09-27T05:34:39.3104341Z [bots:slack] bot_connection_failed: future-code -2026-09-27T05:34:39.3175646Z [bots:slack] bot_connection_failed: constructor -2026-09-27T05:34:39.3176286Z [bots:slack] bot_connection_failed: toString -2026-09-27T05:34:39.3176882Z [bots:slack] bot_connection_failed: __proto__ -2026-09-27T05:34:39.3177541Z [bots:slack] bot_connection_failed: Network error -2026-09-27T05:34:39.3178462Z [bots:slack] bot_connection_failed: 外部错误 token=[redacted] -2026-09-27T05:34:39.3179198Z [bots:slack] bot_connection_failed: Bad Request: chat not found -2026-09-27T05:34:39.3179863Z [bots:slack] bot_connection_failed: future-code -2026-09-27T05:34:39.3180442Z [bots:slack] bot_connection_failed: constructor -2026-09-27T05:34:39.3181010Z [bots:slack] bot_connection_failed: toString -2026-09-27T05:34:39.3181577Z [bots:slack] bot_connection_failed: __proto__ -2026-09-27T05:34:39.3182437Z ✔ missing proxy credentials have actionable bilingual copy (9.411052ms) -2026-09-27T05:34:39.3183434Z ✔ renders a bot-test error code per locale without content sniffing (0.442741ms) -2026-09-27T05:34:39.3184534Z ✔ WeChat failed probe survives start and localized status presentation (3.096761ms) -2026-09-27T05:34:39.3185688Z ✔ missing credentials retain provider-specific fields through the adapter in all locales (1.278532ms) -2026-09-27T05:34:39.3186936Z ✔ Telegram credential rejection is distinct from transient and malformed responses (60.170928ms) -2026-09-27T05:34:39.3188556Z ✔ settings IPC persists stable failure codes consumed by status presenters (3.125907ms) -2026-09-27T05:34:39.3199927Z ✔ unknown status and settings codes never render arbitrary diagnostics or inherited keys (3.297332ms) -2026-09-27T05:34:39.3201126Z ✔ zh-CN: producer error codes match between settings and status copy (0.537166ms) -2026-09-27T05:34:39.3202171Z ✔ zh-TW: producer error codes match between settings and status copy (0.590859ms) -2026-09-27T05:34:39.3203143Z ✔ en: producer error codes match between settings and status copy (0.519499ms) -2026-09-27T05:34:39.3203911Z [shell-env] resolved login-shell PATH (2 entries) -2026-09-27T05:34:39.3204612Z ▶ resolveShellEnv -2026-09-27T05:34:39.3205390Z ✔ imports the login PATH without importing application control variables (120.016473ms) -2026-09-27T05:34:39.3206424Z ✔ keeps the inherited PATH and does not log shell stderr when capture fails (16.186408ms) -2026-09-27T05:34:39.3255920Z ✔ kills login-shell descendants when capture times out (1022.030776ms) -2026-09-27T05:34:39.3256901Z ✔ does not execute the shell when MAKA_SKIP_SHELL_ENV is set (15.726757ms) -2026-09-27T05:34:39.3257857Z ✔ bounds shell output instead of buffering until the global timeout (34.156244ms) -2026-09-27T05:34:39.3258618Z ✔ resolveShellEnv (1210.701595ms) -2026-09-27T05:34:39.3259111Z ▶ selectLoginShell -2026-09-27T05:34:39.3259740Z ✔ prefers the inherited shell over the account shell (0.344378ms) -2026-09-27T05:34:39.3260550Z ✔ uses the OS account shell when GUI launch omitted SHELL (1.581639ms) -2026-09-27T05:34:39.3261505Z ✔ uses platform-appropriate defaults only when neither source has a shell (0.250603ms) -2026-09-27T05:34:39.3262272Z ✔ selectLoginShell (4.804153ms) -2026-09-27T05:34:39.3262722Z ▶ buildCaptureCommand -2026-09-27T05:34:39.3263196Z ▶ POSIX family (bash / zsh / fish / sh) -2026-09-27T05:34:39.3264297Z ✔ escapes the executable and produces a flush-marker payload (4.252317ms) -2026-09-27T05:34:39.3267340Z ✔ POSIX family (bash / zsh / fish / sh) (4.484238ms) -2026-09-27T05:34:39.3268088Z ▶ PowerShell -2026-09-27T05:34:39.3268731Z ✔ uses -Login -Command and doubles an embedded apostrophe (0.303284ms) -2026-09-27T05:34:39.3269779Z ✔ matches powershell-preview too and leaves an apostrophe-free path untouched (0.116747ms) -2026-09-27T05:34:39.3270539Z ✔ PowerShell (0.552842ms) -2026-09-27T05:34:39.3270930Z ▶ nu -2026-09-27T05:34:39.3271649Z ✔ uses a raw string and -i -l -c (embedded quotes are a documented edge case) (0.105624ms) -2026-09-27T05:34:39.3272344Z ✔ nu (0.178474ms) -2026-09-27T05:34:39.3272812Z ✔ buildCaptureCommand (6.198657ms) -2026-09-27T05:34:39.3273757Z ✔ ShellRun update state rejects a stale hydration result after a newer notification (4.513044ms) -2026-09-27T05:34:39.3305663Z ✔ ShellRun update state fans owner completion into an inherited session view (0.818364ms) -2026-09-27T05:34:39.3306859Z ✔ ShellRun update state applies ownership changes at the same revision (4.025831ms) -2026-09-27T05:34:39.3308048Z ✔ ShellRun hydration ignores an old read and replays updates after the resync boundary (0.552543ms) -2026-09-27T05:34:39.3309205Z ✔ lists every standard Skill location with availability and inventory counts (64.535997ms) -2026-09-27T05:34:39.3310257Z ✔ creates and resolves only an allowlisted missing Skill location (9.014882ms) -2026-09-27T05:34:39.3311276Z ✔ location counts include disabled, shadowed and rejected Skill copies (52.483116ms) -2026-09-27T05:34:39.3312408Z ✔ reports an unreadable Skill directory instead of an available empty location (13.724394ms) -2026-09-27T05:34:39.3313460Z ✔ refuses to create through a symlinked Skill location ancestor (14.229127ms) -2026-09-27T05:34:39.3335165Z ✔ accepts a Skill location whose ancestor symlink stays inside the containment root (14.400773ms) -2026-09-27T05:34:39.3336576Z ✔ derives stale rows from each Session Host readiness projection (8.559601ms) -2026-09-27T05:34:39.3337676Z ✔ a task bound to a retired provider is stale rather than quietly unusable (0.34157ms) -2026-09-27T05:34:39.3338701Z ✔ a row whose readiness has not arrived yet is not called stale (0.184975ms) -2026-09-27T05:34:39.3339334Z ▶ startup step -2026-09-27T05:34:39.3339865Z ✔ says nothing when the step comes back (13.96279ms) -2026-09-27T05:34:39.3340642Z ✔ names the step that has not come back, and keeps naming it (8.209011ms) -2026-09-27T05:34:39.3341552Z ✔ stops reporting once the step fails, and lets the failure through (12.453094ms) -2026-09-27T05:34:39.3342432Z ✔ names a dialog that never appears, exactly once (26.145513ms) -2026-09-27T05:34:39.3343187Z ✔ does not call a person reading a dialog a hang (15.737259ms) -2026-09-27T05:34:39.3343934Z ✔ still names a step that hangs before the person is asked (8.669239ms) -2026-09-27T05:34:39.3345438Z ✔ startup step (90.923316ms) -2026-09-27T05:34:39.5276353Z ✔ abandons only copies owned by the current process incarnation (434.177047ms) -2026-09-27T05:34:39.5946434Z ✔ keeps raw HTML inert instead of expanding the Markdown trust surface (45.613306ms) -2026-09-27T05:34:39.6024145Z ✔ renders Markdown emphasis and LaTeX without exposing their source delimiters (98.709481ms) -2026-09-27T05:34:39.6036829Z ✔ keeps URL, email, and Markdown markers atomic inside math (29.019411ms) -2026-09-27T05:34:39.6155868Z ✔ falls back to ordinary Markdown for an empty formula (6.268ms) -2026-09-27T05:34:39.6275973Z ✔ keeps literal math transport syntax as prose (13.082976ms) -2026-09-27T05:34:39.6366042Z ✔ leaves LaTeX delimiters untouched inside inline and fenced code (43.192261ms) -2026-09-27T05:34:39.6455980Z ✔ does not let an unmatched inline backtick hide later math (2.405896ms) -2026-09-27T05:34:39.6515905Z ✔ does not let an unmatched math delimiter hide a later formula (21.775906ms) -2026-09-27T05:34:39.6516957Z ✔ lets a formula own backticks that occur inside its delimiters (11.612587ms) -2026-09-27T05:34:39.6517967Z ✔ keeps scanning after a malformed math transport prefix (8.230326ms) -2026-09-27T05:34:39.6560367Z ✔ renders display math while leaving ordinary currency alone (10.027475ms) -2026-09-27T05:34:39.6635954Z ✔ does not treat shell variables, currency, or inline code as dollar-delimited math (8.707865ms) -2026-09-27T05:34:39.6651762Z ✔ renders multiline display math outside code for both supported delimiters (16.507169ms) -2026-09-27T05:34:39.6720490Z ✔ renders display math inside blockquotes and list items (19.217867ms) -2026-09-27T05:34:39.6775652Z ✔ promotes a mid-paragraph $$…$$ span to display math (8.191962ms) -2026-09-27T05:34:39.6866006Z ✔ keeps `$` inside link destinations literal while prose stays dollar-escaped (24.801541ms) -2026-09-27T05:34:39.6925942Z ✔ renders inline math glued to digits and formulas holding escaped dollars (13.622287ms) -2026-09-27T05:34:39.6995857Z ✔ leaves no zero-width separators around inline math with benign neighbors (12.526825ms) -2026-09-27T05:34:39.7009587Z ✔ keeps adjacent inline formulas parseable through a separator (10.141236ms) -2026-09-27T05:34:39.7071137Z ✔ keeps display math inside a table cell without splitting the row (23.291549ms) -2026-09-27T05:34:39.7092492Z ✔ keeps display math intact across Markdown-looking block boundaries (52.426592ms) -2026-09-27T05:34:39.7128812Z ✔ does not let multiline display math cross a fenced code block (11.119989ms) -2026-09-27T05:34:39.7167948Z ✔ keeps the copy control in a toolbar above a one-line code scroll viewport (7.488742ms) -2026-09-27T05:34:39.7188122Z ✔ does not force the single-line scrollbar layout on multiline code (19.226404ms) -2026-09-27T05:34:39.7239078Z ✔ gives collapsible plaintext code a localized accessible name (36.215802ms) -2026-09-27T05:34:39.7256640Z ✔ keeps standalone MarkdownBody compatible for collapsible plaintext code (15.674278ms) -2026-09-27T05:34:39.7285479Z ✔ keeps a lazy live stream behind the display cursor (14.430273ms) -2026-09-27T05:34:39.7345672Z ✔ redacts secrets before even the lazy Markdown fallback reaches the rendered tree (5.306982ms) -2026-09-27T05:34:39.7395728Z ✔ preserves allowlisted Maka navigation links through sanitization (6.600484ms) -2026-09-27T05:34:39.7455489Z ✔ keeps non-allowlisted external schemes inert (22.478265ms) -2026-09-27T05:34:39.7485715Z ✔ never loads non-allowlisted Markdown image sources (3.338687ms) -2026-09-27T05:34:39.7545920Z ✔ does not treat navigation and communication schemes as image resources (38.807341ms) -2026-09-27T05:34:39.7565901Z ✔ shows an attachment placeholder when no session reader is installed (8.606635ms) -2026-09-27T05:34:39.7625846Z ✔ defers Mermaid fences beyond the per-Markdown automatic diagram budget (44.970821ms) -2026-09-27T05:34:39.7655787Z ✔ enforces per-diagram and total automatic Mermaid source budgets (0.337907ms) -2026-09-27T05:34:39.7735944Z ✔ does not render Mermaid while the assistant turn is streaming (9.498167ms) -2026-09-27T05:34:39.7764693Z ✔ pins Mermaid security and complexity limits for untrusted assistant output (0.213399ms) -2026-09-27T05:34:39.7788452Z ✔ keeps a new stream behind the display cursor on its first render (1.209094ms) -2026-09-27T05:34:39.7881107Z ✔ shows only the restored prefix on its first streaming render (5.161694ms) -2026-09-27T05:34:39.7955865Z ✔ renders settled math while keeping the live tail behind the display cursor (5.813023ms) -2026-09-27T05:34:39.8015900Z ✔ settles only the verified prefix when restored content was rewritten (3.924611ms) -2026-09-27T05:34:39.8075916Z ✔ never settles half of a rewritten Unicode code point (4.626664ms) -2026-09-27T05:34:39.8125586Z ▶ markdown Han-script marker -2026-09-27T05:34:39.8163746Z ✔ reads the prose, not the code (1.839379ms) -2026-09-27T05:34:39.8283796Z ✔ marks the markdown root so the emphasis rule can key on the script of the text (26.965036ms) -2026-09-27T05:34:39.8320930Z ✔ markdown Han-script marker (31.921632ms) -2026-09-27T05:34:39.8466594Z ✔ acknowledges abandon after the intent is durable without waiting for removal (274.013812ms) -2026-09-27T05:34:40.2206683Z ✔ persists a failed removal and recovers it through a new authority instance (421.957045ms) -2026-09-27T05:34:40.5816527Z [storage-root] root-identity conflict; parking at repair dialog -2026-09-27T05:34:40.5822031Z ✔ clears the durable intent only after the complete removal succeeds (357.440168ms) -2026-09-27T05:34:40.5926579Z ✔ startup storage repair reaches the dialog and preserves the root (79.415909ms) -2026-09-27T05:34:40.6149770Z [storage-root] root-identity conflict; parking at repair dialog -2026-09-27T05:34:40.6498355Z ✔ startup storage repair reaches the dialog and adopts the root (53.141245ms) -2026-09-27T05:34:40.6843754Z ✔ asks before adopting a root whose device number moved on its own (58.384171ms) -2026-09-27T05:34:40.6875960Z ✔ repairs a stale desktop storage root after explicit confirmation (43.722156ms) -2026-09-27T05:34:40.6905974Z ✔ rejects repair when the storage root is replaced during confirmation (31.922688ms) -2026-09-27T05:34:40.9783979Z ✔ continues recovering other companions when one removal still fails (397.318109ms) -2026-09-27T05:34:41.4373528Z ✔ forgets a terminal retained Revision without reporting deletion (457.415204ms) -2026-09-27T05:34:41.4456556Z ✔ session copy cleanup authority (6528.682943ms) -2026-09-27T05:34:41.4790406Z ✔ memory: preserves structured commit identities across reads and reopen (70.946494ms) -2026-09-27T05:34:41.4849335Z ✔ memory: failed materialization preserves caller data (9.779484ms) -2026-09-27T05:34:41.4916654Z ✔ memory: failed materialization preserves previous materialization (11.164551ms) -2026-09-27T05:34:41.4946188Z ✔ memory: concurrent materialization preserves the exclusive winner (8.580073ms) -2026-09-27T05:34:41.4965846Z ✔ memory: reconciles identical Fork claim before rejecting an advanced source (12.165968ms) -2026-09-27T05:34:41.5017381Z ✔ memory: reconciles conflicting Fork claim before rejecting an advanced source (8.625105ms) -2026-09-27T05:34:41.5096475Z ✔ memory: reconciles absent Fork claim before rejecting an advanced source (19.807304ms) -2026-09-27T05:34:41.5170721Z ✔ file: preserves structured commit identities across reads and reopen (491.196165ms) -2026-09-27T05:34:41.5316389Z ✔ file: failed materialization preserves caller data (31.082406ms) -2026-09-27T05:34:41.5416643Z ✔ file: failed materialization preserves previous materialization (76.884017ms) -2026-09-27T05:34:41.5511308Z ✔ file: concurrent materialization preserves the exclusive winner (27.337594ms) -2026-09-27T05:34:41.5530378Z ✔ file: reconciles identical Fork claim before rejecting an advanced source (124.21425ms) -2026-09-27T05:34:41.5596479Z ✔ file: reconciles conflicting Fork claim before rejecting an advanced source (119.026243ms) -2026-09-27T05:34:41.5636231Z ✔ file: reconciles absent Fork claim before rejecting an advanced source (150.7618ms) -2026-09-27T05:34:41.5749112Z ✔ memory: cleans up a partial file only after owning its exclusive creation (11.720566ms) -2026-09-27T05:34:41.5807110Z ✔ file: still rejects a genuinely duplicated commit identity on reopen (71.856886ms) -2026-09-27T05:34:41.5818170Z ✔ publishes and verifies Bundle then Manifest before creating an exact head (43.441933ms) -2026-09-27T05:34:41.5819880Z ✔ retains only the current Manifest revision and never falls forward (12.3527ms) -2026-09-27T05:34:41.5821618Z ✔ a source-head race returns the requested Manifest and Bundle rather than a newer head (16.33866ms) -2026-09-27T05:34:41.5822892Z ✔ rejects stale concurrent writers without overwriting the winning head (10.981768ms) -2026-09-27T05:34:41.5824071Z ✔ reconciles concurrent and later retries of one commit identity (26.445684ms) -2026-09-27T05:34:41.5825303Z ✔ never makes a head visible for an unpublished Manifest (10.126136ms) -2026-09-27T05:34:41.5827581Z ✔ never makes a head visible when a Manifest names an unreadable Bundle (17.076444ms) -2026-09-27T05:34:41.5829300Z ✔ fails closed when Bundle bytes do not match their trusted archive digest (8.068749ms) -2026-09-27T05:34:41.5831752Z ✔ rejects a Manifest value that does not match its immutable reference (7.531128ms) -2026-09-27T05:34:41.5833182Z ✔ claims only a retained readable source and captures its Agent binding (17.195133ms) -2026-09-27T05:34:41.5834298Z ✔ does not claim a Fork from an unreadable source checkpoint (14.556559ms) -2026-09-27T05:34:41.5835557Z ✔ does not claim a Fork when its source head moves during verification (9.801451ms) -2026-09-27T05:34:41.5836802Z ✔ binds a Fork target to its verified source Agent and a distinct Session identity (16.957432ms) -2026-09-27T05:34:41.5838064Z ✔ claims Fork identity before target creation and resumes both crash windows (16.776281ms) -2026-09-27T05:34:41.5839185Z ✔ never adopts a target created by a different Fork operation (7.516915ms) -2026-09-27T05:34:41.5840235Z ✔ keeps a Fork pending until its target checkpoint is readable (6.321448ms) -2026-09-27T05:34:41.5841343Z ✔ uses independent CAS sequences for source and Fork target Sessions (15.811669ms) -2026-09-27T05:34:41.5842552Z ✔ fails closed when a published Manifest or Bundle disappears or changes (11.91085ms) -2026-09-27T05:34:41.5843585Z ▶ SQLite SessionStore -2026-09-27T05:34:41.5844466Z ✔ persists the creation-time tool mode across reloads (552.371115ms) -2026-09-27T05:34:41.5845572Z ✔ persists a plugin executor route across reloads and catalog projection (172.892833ms) -2026-09-27T05:34:41.5846643Z ✔ requires the reserved WorkHub Coordination identity and role together (94.461687ms) -2026-09-27T05:34:41.5848021Z ✔ keeps the WorkHub Coordination Session durable but outside ordinary catalogs and route candidates (189.327045ms) -2026-09-27T05:34:41.5849330Z ✔ quarantines the reserved Coordination identity when its role is missing (109.706681ms) -2026-09-27T05:34:41.5850550Z ✔ ordinary Sessions have no external origin and provenance metadata is immutable (173.401911ms) -2026-09-27T05:34:41.5851715Z ✔ folds retired Session and transcript values only on persisted reads (137.255302ms) -2026-09-27T05:34:41.5852874Z ✔ looks up complete published import counts with bounded newest Session ids (310.842226ms) -2026-09-27T05:34:41.5853971Z ✔ bounds external import lookup source and recent-id requests (234.854789ms) -2026-09-27T05:34:41.5855311Z ✔ fails closed when persisted external origin metadata is malformed (326.795905ms) -2026-09-27T05:34:41.5856427Z ✔ persists session metadata and messages in one SQLite authority (304.056222ms) -2026-09-27T05:34:41.5857533Z ✔ a replayed older message latches the connection without moving the preview back (234.935653ms) -2026-09-27T05:34:41.5882566Z ✔ keeps staging imports outside the catalog pagination domain (261.341825ms) -2026-09-27T05:34:41.5883791Z ✔ announces import commit only after validating the complete payload (89.982754ms) -2026-09-27T05:34:41.5885114Z ✔ a generated title fills an absence and never overwrites a rename (234.469234ms) -2026-09-27T05:34:41.5886304Z ✔ a Session freezes its route on the first user message, a subagent at birth (303.084305ms) -2026-09-27T05:34:41.5887448Z ✔ appending the first user message locks the session before any read (274.479742ms) -2026-09-27T05:34:41.5888474Z ✔ commits message and catalog projection atomically (270.862334ms) -2026-09-27T05:34:41.5893576Z ✔ bounds durable message lookups by a fixed transcript watermark (235.63902ms) -2026-09-27T05:34:41.7980591Z ▶ transcript markdown rhythm -2026-09-27T05:34:41.8076400Z ✔ emits the DOM hooks the rhythm table selects on (91.350282ms) -2026-09-27T05:34:41.8346437Z ✔ neutralizes the ListItem control padding the ladder inverted on (44.13647ms) -2026-09-27T05:34:41.8375894Z ✔ transcript markdown rhythm (139.613647ms) -2026-09-27T05:34:41.9616508Z ✔ keeps interrupted and replacement responses distinct live and after reload (11.689371ms) -2026-09-27T05:34:41.9719778Z ▶ steering timeline -2026-09-27T05:34:41.9749819Z ✔ ignores old display anchors and keeps Runtime consumption order (3.524374ms) -2026-09-27T05:34:41.9823788Z ✔ keeps a steering message at its conversational position (0.378226ms) -2026-09-27T05:34:41.9881031Z ✔ renders one live steering message while its persisted row catches up (3.777279ms) -2026-09-27T05:34:41.9902987Z ✔ keeps the current answer ahead of a durable steering event that arrives first (4.903741ms) -2026-09-27T05:34:41.9980424Z ✔ keeps a persisted tool before live steering during handoff (1.7858ms) -2026-09-27T05:34:42.0011848Z ✔ steering timeline (15.119645ms) -2026-09-27T05:34:42.0075439Z ▶ materializeTurns message metadata -2026-09-27T05:34:42.0126016Z ✔ hides a retired provider dropping note that an old session still carries (2.403172ms) -2026-09-27T05:34:42.0185565Z ✔ localizes visible system notes (3.156761ms) -2026-09-27T05:34:42.0190083Z ✔ preserves an explicit empty reference projection as the new-format marker (0.285931ms) -2026-09-27T05:34:42.0245551Z ✔ preserves Host provenance on a Goal continuation (0.353496ms) -2026-09-27T05:34:42.0315567Z ✔ materializeTurns message metadata (6.69772ms) -2026-09-27T05:34:42.0356281Z ✔ retains persisted nested tool activity identity (0.379173ms) -2026-09-27T05:34:42.0425867Z ▶ flat timeline under tool projection (#1307 P1 regression) -2026-09-27T05:34:42.0490765Z ✔ shell-run folding away a turn’s only tool leaves a flat thinking-only timeline (0.828296ms) -2026-09-27T05:34:42.0545792Z ✔ flat timeline under tool projection (#1307 P1 regression) (0.982937ms) -2026-09-27T05:34:42.0605518Z ▶ live content over persisted partial rows -2026-09-27T05:34:42.0665811Z ✔ does not create an empty renderer turn for a waiting send (0.203835ms) -2026-09-27T05:34:42.0756050Z ✔ replaces persisted thinking with its live projection instead of rendering it twice (0.49129ms) -2026-09-27T05:34:42.0780030Z ✔ live content over persisted partial rows (0.874647ms) -2026-09-27T05:34:42.0816177Z ▶ unfinished tools take their status from the turn -2026-09-27T05:34:42.0866879Z ✔ reads an unfinished call in a running turn as running (0.266944ms) -2026-09-27T05:34:42.0956788Z ✔ reads an unfinished call in a terminal turn as interrupted (4.707824ms) -2026-09-27T05:34:42.1007631Z ✔ unfinished tools take their status from the turn (5.181269ms) -2026-09-27T05:34:42.1046095Z ▶ live tool status over persisted -2026-09-27T05:34:42.1096576Z ✔ keeps a still-running tool running when persisted has no result yet (0.436974ms) -2026-09-27T05:34:42.1157650Z ✔ a stale live running loses to a terminal turn (0.344988ms) -2026-09-27T05:34:42.1205809Z ✔ keeps durable tool detail while a Runtime Host Turn is still live (1.772492ms) -2026-09-27T05:34:42.1227250Z ✔ an aborted turn interrupts its in-flight tool through the live chain (3.278459ms) -2026-09-27T05:34:42.1275707Z ✔ live tool status over persisted (6.11401ms) -2026-09-27T05:34:42.1335825Z ✔ reads both new chunked messages and legacy inline v22 records (467.673227ms) -2026-09-27T05:34:42.3396328Z ✔ rejects corrupt chunked messages on ordinary reads (330.835529ms) -2026-09-27T05:34:42.5586388Z ✔ bounds transcript identity reconciliation before message materialization (215.40563ms) -2026-09-27T05:34:42.7936591Z ✔ notifies transcript observers only after successful durable appends (233.631468ms) -2026-09-27T05:34:43.0886625Z ✔ reads back a legacy fake-backend session instead of migrating or rejecting it (293.063515ms) -2026-09-27T05:34:43.3314765Z ▶ single live-turn handoff -2026-09-27T05:34:43.3358236Z ✔ keeps activity in the top status row before the session or Turn arrives (275.908209ms) -2026-09-27T05:34:43.3496359Z ✔ persists an immutable Connection identity when supplied by Host admission (266.624831ms) -2026-09-27T05:34:43.4006642Z ✔ renders a transient user message without manufacturing a Turn (110.035823ms) -2026-09-27T05:34:43.5136293Z ✔ does not flash the empty-chat Maka hero before a first transient message (58.357111ms) -2026-09-27T05:34:43.5316329Z ✔ deletes metadata and messages through the same transaction boundary (181.236105ms) -2026-09-27T05:34:43.5892157Z ✔ shows a loading transient before its real live Turn answer (113.081663ms) -2026-09-27T05:34:43.7146571Z ✔ keeps an unresolved Message independent of a Turn without an admission binding (72.010675ms) -2026-09-27T05:34:43.7876935Z ✔ renders one ordered timeline: thinking before its tool and answer (118.960665ms) -2026-09-27T05:34:43.7986784Z ✔ normalizeSessionHeader accepts an empty side-conversation copy but rejects a fabricated branch turn (264.711995ms) -2026-09-27T05:34:43.8016312Z ✔ SQLite SessionStore (6770.95733ms) -2026-09-27T05:34:43.8349729Z ✔ keeps a completed live answer as the only visible owner until settle (76.684679ms) -2026-09-27T05:34:43.8396227Z ▶ interactive SessionTodo authority -2026-09-27T05:34:43.8397415Z ✔ single-flights opens and invalidates the facade when closed (370.273845ms) -2026-09-27T05:34:43.8398357Z ✔ rejects forged leases and facades (0.796323ms) -2026-09-27T05:34:43.8399184Z ✔ interactive SessionTodo authority (378.391849ms) -2026-09-27T05:34:43.8400202Z ✔ keeps an incomplete live answer as the only owner after early persistence (44.307772ms) -2026-09-27T05:34:43.8401061Z ▶ SQLite SessionTodo store -2026-09-27T05:34:43.8401872Z ✔ persists an initialized-empty document on the first read (476.136813ms) -2026-09-27T05:34:43.8403378Z ✔ serializes a first explicit replacement ahead of a following bootstrap read (319.600492ms) -2026-09-27T05:34:43.8404782Z ✔ persists replacement order across reopen and purge restores uninitialized state (140.402515ms) -2026-09-27T05:34:43.8406144Z ✔ fails closed on a corrupt current document but permits explicit replacement recovery (298.460249ms) -2026-09-27T05:34:43.8407655Z ✔ initializes latest copies atomically and accepts only an identical retry (199.629098ms) -2026-09-27T05:34:43.8408733Z ✔ fails closed when a copy source or target document is corrupt (215.475438ms) -2026-09-27T05:34:43.8409796Z ✔ writes an explicit empty copy marker when the copy skips current state (172.434946ms) -2026-09-27T05:34:43.8425886Z ✔ copies an uninitialized source as empty without initializing the source (229.061079ms) -2026-09-27T05:34:43.8446098Z ✔ linearizes concurrent whole-document replacements (398.430553ms) -2026-09-27T05:34:43.8465525Z ✔ SQLite SessionTodo store (2456.246552ms) -2026-09-27T05:34:43.8485646Z ▶ SettingsStore.upsertOnboardingMilestone (PR110b) -2026-09-27T05:34:43.8488557Z ✔ stamps a fresh Date.now() timestamp (renderer cannot tamper) (54.843305ms) -2026-09-27T05:34:43.8491052Z ✔ skipped status writes skippedAt (mutually exclusive with completedAt) (15.918097ms) -2026-09-27T05:34:43.8492149Z ✔ rejects invalid status (TypeScript-bypassing call) (3.369459ms) -2026-09-27T05:34:43.8493178Z ✔ rejects invalid milestone id (sanitizer drops, then store re-throws) (13.484171ms) -2026-09-27T05:34:43.8494327Z ✔ upserting the same id last-valid-entry wins (skipped overrides completed) (15.3918ms) -2026-09-27T05:34:43.8497175Z ✔ does not disturb other milestones when upserting one (47.036316ms) -2026-09-27T05:34:43.8498138Z ✔ settings.json on disk contains only sanitized milestones (46.502173ms) -2026-09-27T05:34:43.8499144Z ✔ reading settings.json with garbage milestones drops them via sanitizer (17.025639ms) -2026-09-27T05:34:43.8500244Z ✔ SettingsStore.upsertOnboardingMilestone (PR110b) (223.389808ms) -2026-09-27T05:34:43.8501105Z ▶ SettingsStore.clearOnboardingMilestone -2026-09-27T05:34:43.8502281Z ✔ removes one milestone and preserves the rest (37.893505ms) -2026-09-27T05:34:43.8503362Z ✔ rejects invalid milestone id (TypeScript-bypassing call) (14.198816ms) -2026-09-27T05:34:43.8504261Z ✔ SettingsStore.clearOnboardingMilestone (52.930537ms) -2026-09-27T05:34:43.8535501Z ▶ SettingsStore.updateIf -2026-09-27T05:34:43.8565826Z ✔ checks and writes atomically against the latest queued settings (22.589788ms) -2026-09-27T05:34:43.8596783Z ✔ SettingsStore.updateIf (23.165142ms) -2026-09-27T05:34:43.8617302Z ▶ SettingsStore.get file recovery -2026-09-27T05:34:43.8645904Z ✔ atomically removes legacy proxy credentials from settings.json on read (10.710546ms) -2026-09-27T05:34:43.8655612Z ✔ serializes concurrent first reads while creating default settings (23.022563ms) -2026-09-27T05:34:43.8685713Z ✔ creates defaults only when settings.json is missing (24.988623ms) -2026-09-27T05:34:43.8715740Z ✔ rejects corrupt settings.json without overwriting user settings bytes (7.862261ms) -2026-09-27T05:34:43.8740897Z ✔ preserves a restrictive umask-derived settings.json mode and leaves no temp file behind (15.231722ms) -2026-09-27T05:34:43.8785442Z ✔ SettingsStore.get file recovery (82.686334ms) -2026-09-27T05:34:43.8803314Z ▶ interactive ShellRun authority -2026-09-27T05:34:43.8816869Z ✔ single-flights one authentic writer and preserves durable lifecycle state (682.305187ms) -2026-09-27T05:34:43.8846669Z ✔ lists only Sessions whose ShellRun lifecycle still requires recovery (208.70366ms) -2026-09-27T05:34:43.8875618Z ✔ rejects reads and mutations after its owner lease is released (227.266419ms) -2026-09-27T05:34:44.0461710Z ✔ rejects forged leases and forged writer facades (182.120787ms) -2026-09-27T05:34:44.0556238Z ✔ interactive ShellRun authority (1303.988798ms) -2026-09-27T05:34:44.1296393Z ✔ hands terminal streamed text to committed history without waiting for a render callback (246.470815ms) -2026-09-27T05:34:44.1341345Z ✔ publishes visible deltas at most once per animation frame (7.353115ms) -2026-09-27T05:34:44.1440592Z ✔ bounds tool output queued for one animation frame (16.887813ms) -2026-09-27T05:34:44.1614004Z ✔ does not publish queued output after its session is cleared (3.306716ms) -2026-09-27T05:34:44.1650633Z ✔ applies catch-up deltas immediately until the returning session is seeded (0.604665ms) -2026-09-27T05:34:44.1760254Z ✔ shares pending display events across handler replacement (6.580302ms) -2026-09-27T05:34:44.1866568Z ✔ queues a sandbox boundary request without ending the live turn (0.359382ms) -2026-09-27T05:34:44.1936624Z ✔ queues and retires a form at the Host answer acknowledgement (0.828369ms) -2026-09-27T05:34:44.2025578Z [desktop] operation failed: Error: failed -2026-09-27T05:34:44.2106205Z at Module.sessionEventErrorMessage (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/model-connection-errors.js:49:39) -2026-09-27T05:34:44.2199866Z at Object.handleEvent (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/app-shell-session-events.js:269:91) -2026-09-27T05:34:44.2235684Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/streaming-handoff.test.js:741:18) -2026-09-27T05:34:44.2283201Z at Test.runInAsyncScope (node:async_hooks:227:14) -2026-09-27T05:34:44.2404104Z at Test.run (node:internal/test_runner/test:1402:25) -2026-09-27T05:34:44.2526896Z at Suite.processPendingSubtests (node:internal/test_runner/test:974:18) -2026-09-27T05:34:44.2571999Z at Test.postRun (node:internal/test_runner/test:1542:19) -2026-09-27T05:34:44.2679080Z at Test.run (node:internal/test_runner/test:1467:12) -2026-09-27T05:34:44.2738111Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:34:44.2813138Z ✔ hands an aborted projection over only after persisted messages cover it (14.631869ms) -2026-09-27T05:34:44.2848127Z ✔ retains errored live evidence when persistence cannot be confirmed (20.894047ms) -2026-09-27T05:34:44.2950330Z ✔ reconciles persisted stream evidence while the next tool batch is running (0.466665ms) -2026-09-27T05:34:44.2970992Z ✔ settles a tool-only terminal projection after persisted history refreshes (14.340256ms) -2026-09-27T05:34:44.3057295Z ✔ retires a re-seeded compaction row when the refreshed transcript is terminal (0.594151ms) -2026-09-27T05:34:44.3095995Z ✔ single live-turn handoff (1206.345778ms) -2026-09-27T05:34:44.3135904Z ✔ a preset routed through a retained retired connection reads retired, not available (5.248062ms) -2026-09-27T05:34:44.3172726Z ✔ retirement outranks disabled: there is no switch that repairs it (0.304151ms) -2026-09-27T05:34:44.3186151Z ✔ the editor cannot route a preset through a retained retired connection (0.303832ms) -2026-09-27T05:34:44.3236247Z ✔ a live connection with the model enabled stays available (0.358028ms) -2026-09-27T05:34:44.3275376Z ▶ archivedTaskRows -2026-09-27T05:34:44.3318558Z ✔ lists archived tasks the way the rail counts them, in store order (5.985374ms) -2026-09-27T05:34:44.3365702Z ✔ does not let the open session decide which revision represents a task (2.669809ms) -2026-09-27T05:34:44.3400539Z ✔ archivedTaskRows (10.184852ms) -2026-09-27T05:34:44.3429733Z ▶ matchesArchivedTaskQuery -2026-09-27T05:34:44.3485708Z ✔ keeps every task while the box is empty or only whitespace (0.446407ms) -2026-09-27T05:34:44.3506532Z ✔ matches the task name regardless of case or surrounding spaces (0.233365ms) -2026-09-27T05:34:44.3519065Z ✔ matches the project name, because the row shows it too (0.199645ms) -2026-09-27T05:34:44.3546846Z ✔ never matches across the seam between the name and the project (0.239087ms) -2026-09-27T05:34:44.3585619Z ✔ falls back to the name when the project could not be resolved (0.263265ms) -2026-09-27T05:34:44.3611202Z ✔ matchesArchivedTaskQuery (4.023843ms) -2026-09-27T05:34:44.3639539Z ▶ isOrphanedSubagentTask -2026-09-27T05:34:44.3686702Z ✔ labels ordinary linked Sessions only when their parent is missing (0.361716ms) -2026-09-27T05:34:44.3727003Z ✔ isOrphanedSubagentTask (0.817594ms) -2026-09-27T05:34:44.3769344Z ▶ Task Entry feature boundary -2026-09-27T05:34:44.3816360Z ✔ contains no Desktop global bridge or shell/process imports (12.698602ms) -2026-09-27T05:34:44.3825786Z ✔ is consumed outside the feature only through public entries (180.3191ms) -2026-09-27T05:34:44.3826660Z ✔ keeps fake services out of the production entry (0.413424ms) -2026-09-27T05:34:44.3827628Z ✔ keeps Task Entry catalog, picker, and directory handoff ownership out of AppShell (6.798053ms) -2026-09-27T05:34:44.3828424Z ✔ Task Entry feature boundary (202.144916ms) -2026-09-27T05:34:44.3829360Z ✔ Artifact metadata changes only write changed rows (500.598536ms) -2026-09-27T05:34:44.3830211Z ✔ Artifact metadata recovery ignores records from unsupported sources (267.485842ms) -2026-09-27T05:34:44.3831269Z ✔ creates the dedicated WAL schema with incremental auto-vacuum (62.031294ms) -2026-09-27T05:34:44.3856751Z ✔ atomically persists one idempotent owner identity and verifies reads (152.824765ms) -2026-09-27T05:34:44.3915881Z ✔ stores managed binary values as durable file locators instead of SQLite payloads (89.80743ms) -2026-09-27T05:34:44.3917117Z ✔ repairs a missing managed blob when an inline owner retries identical bytes (83.659908ms) -2026-09-27T05:34:44.4046020Z ✔ removes managed publication state when quota admission fails (50.307559ms) -2026-09-27T05:34:44.4085770Z ✔ copies PNG from inline toolbar: none (2350.884317ms) -2026-09-27T05:34:44.5423367Z ✔ copies PNG from inline toolbar: decode (137.538398ms) -2026-09-27T05:34:44.6179783Z ✔ recovers a durable managed-file publication intent after process exit (257.112209ms) -2026-09-27T05:34:44.7026188Z ✔ copies PNG from inline toolbar: toBlob-null (152.52685ms) -2026-09-27T05:34:44.8420468Z ▶ useTaskEntryController -2026-09-27T05:34:44.8551969Z ✔ projects the target and keeps draft identity in sync with Workspace Picker selections (53.227622ms) -2026-09-27T05:34:44.8585975Z ✔ recovers deterministic managed-file staging after process exit (223.24961ms) -2026-09-27T05:34:44.8717453Z ✔ keeps same-id Projects scoped to their owning Runtime Host (18.292039ms) -2026-09-27T05:34:44.8793297Z ✔ drains a queued catalog refresh and releases its subscription (7.303601ms) -2026-09-27T05:34:44.8956348Z ✔ ignores an obsolete catalog read after the service lifecycle changes (7.43462ms) -2026-09-27T05:34:44.9456477Z ✔ deduplicates add requests and selects the returned Project before refreshing (62.474779ms) -2026-09-27T05:34:44.9489025Z ✔ deduplicates relink requests and selects the returned Project before refreshing (15.492991ms) -2026-09-27T05:34:44.9554297Z ✔ copies PNG from inline toolbar: toBlob-throw (259.330113ms) -2026-09-27T05:34:44.9601131Z ✔ fences remote directory registration by Host generation (8.933142ms) -2026-09-27T05:34:44.9728516Z ✔ closes a remote directory handoff when the Host generation changes (15.095474ms) -2026-09-27T05:34:44.9871806Z ✔ keeps a remote directory handoff across reconnecting and closes it when the profile disappears (11.399967ms) -2026-09-27T05:34:45.0036711Z ✔ opens a newly added remote Host from the committed catalog generation (8.981672ms) -2026-09-27T05:34:45.0096190Z ✔ awaits the winning refresh when an onboarding catalog read settles stale first (8.547613ms) -2026-09-27T05:34:45.0222420Z ✔ awaits the winning refresh when an onboarding catalog read rejects stale first (7.440828ms) -2026-09-27T05:34:45.0259618Z [desktop] operation failed: Error: queued catalog failed -2026-09-27T05:34:45.0346015Z at file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/task-entry-controller.test.js:561:45 -2026-09-27T05:34:45.0375799Z at process.env.NODE_ENV.exports.act (/home/runner/work/maka/maka/node_modules/react/cjs/react.development.js:890:22) -2026-09-27T05:34:45.0435959Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/task-entry-controller.test.js:561:15) -2026-09-27T05:34:45.0493651Z at async Test.run (node:internal/test_runner/test:1409:7) -2026-09-27T05:34:45.0545867Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:34:45.0608294Z ✔ falls back to a successful handoff catalog when the queued refresh fails (20.955573ms) -2026-09-27T05:34:45.0623544Z [desktop] operation failed: Error: catalog unavailable -2026-09-27T05:34:45.0674178Z at Object.getCatalog (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/task-entry-controller.test.js:580:27) -2026-09-27T05:34:45.0678202Z at file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/task-entry/controller/use-task-entry-controller.js:96:51 -2026-09-27T05:34:45.0679784Z at file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/task-entry/controller/use-task-entry-controller.js:117:11 -2026-09-27T05:34:45.0681542Z at Object.chooseProjectForProfile (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/features/task-entry/controller/use-task-entry-controller.js:285:26) -2026-09-27T05:34:45.0683172Z at file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/task-entry-controller.test.js:585:53 -2026-09-27T05:34:45.0693708Z at process.env.NODE_ENV.exports.act (/home/runner/work/maka/maka/node_modules/react/cjs/react.development.js:890:22) -2026-09-27T05:34:45.0695401Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/task-entry-controller.test.js:585:15) -2026-09-27T05:34:45.0696433Z at async Test.run (node:internal/test_runner/test:1409:7) -2026-09-27T05:34:45.0697340Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:34:45.0698707Z ✔ reports catalog unavailable once when every handoff refresh fails (8.044778ms) -2026-09-27T05:34:45.0699617Z [desktop] operation failed: Error: catalog refresh failed -2026-09-27T05:34:45.0700531Z at file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/task-entry-controller.test.js:614:48 -2026-09-27T05:34:45.0702174Z at process.env.NODE_ENV.exports.act (/home/runner/work/maka/maka/node_modules/react/cjs/react.development.js:890:22) -2026-09-27T05:34:45.0703784Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/task-entry-controller.test.js:614:15) -2026-09-27T05:34:45.0705077Z at async Test.run (node:internal/test_runner/test:1409:7) -2026-09-27T05:34:45.0705867Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:34:45.0707648Z ✔ reports project update failure when an added Project cannot refresh (8.717742ms) -2026-09-27T05:34:45.0708733Z ✔ explains that a running Session must settle before workspace recovery (5.430574ms) -2026-09-27T05:34:45.0709622Z ✔ useTaskEntryController (277.874856ms) -2026-09-27T05:34:45.1416639Z ✔ copies PNG from inline toolbar: write (171.596898ms) -2026-09-27T05:34:45.3725208Z ✔ copies PNG from inline toolbar: area cap (253.808895ms) -2026-09-27T05:34:45.4655456Z ✔ bounds pending managed-file deletion bytes and reports continuation (616.554676ms) -2026-09-27T05:34:45.5119572Z ✔ rejects a managed-value directory that resolves outside the Storage Root (46.715562ms) -2026-09-27T05:34:45.5242119Z ✔ copies PNG from inline toolbar: edge cap (137.298366ms) -2026-09-27T05:34:45.5448372Z ✔ reopens durable records and preserves owner idempotency (38.752634ms) -2026-09-27T05:34:45.5596802Z ✔ rejects a database schema newer than this authority understands (15.885558ms) -2026-09-27T05:34:45.5986414Z ✔ rejects a current schema missing a query-required index (36.329915ms) -2026-09-27T05:34:45.6424846Z ✔ deduplicates physical bytes while quotas count each Session reference logically (43.060202ms) -2026-09-27T05:34:45.6776252Z ✔ fails closed before returning bytes for Session mismatch and size limits (33.842216ms) -2026-09-27T05:34:45.7066403Z ✔ enforces configured owner hard caps before commit and return (31.05816ms) -2026-09-27T05:34:45.7326316Z ✔ detects payload corruption instead of returning unverified bytes (25.732949ms) -2026-09-27T05:34:45.7481996Z ✔ rolls back blob and reference together when publication fails (17.522412ms) -2026-09-27T05:34:45.7821518Z ✔ releases only the authorized Session reference without deleting shared bytes (34.267532ms) -2026-09-27T05:34:45.8323801Z ✔ copies PNG from fullscreen toolbar: none (295.397345ms) -2026-09-27T05:34:45.8454178Z ✔ copies references atomically without copying physical bytes (61.883448ms) -2026-09-27T05:34:45.9207512Z ✔ retires only one Session and collects shared blobs after the last reference (73.04126ms) -2026-09-27T05:34:45.9660201Z ✔ garbage collection obeys both batch limits and rolls back failed deletion (39.698991ms) -2026-09-27T05:34:46.0176109Z ✔ copies PNG from fullscreen toolbar: decode (213.239789ms) -2026-09-27T05:34:46.0266432Z ✔ migrates v1 orphan blobs into the indexed garbage candidate set (65.838176ms) -2026-09-27T05:34:46.2244809Z ✔ copies PNG from fullscreen toolbar: toBlob-null (203.463006ms) -2026-09-27T05:34:46.4997545Z ✔ copies PNG from fullscreen toolbar: toBlob-throw (272.74846ms) -2026-09-27T05:34:46.6922800Z ▶ Task Entry model -2026-09-27T05:34:46.6986474Z ✔ keeps an available profile then falls back through default and first available (1.245108ms) -2026-09-27T05:34:46.7046744Z ✔ rejects unavailable requests and preserves the Host project fallback order (0.515262ms) -2026-09-27T05:34:46.7102803Z ✔ uses Host generation and canonical Project identity in the draft key (0.250233ms) -2026-09-27T05:34:46.7145741Z ✔ Task Entry model (6.948246ms) -2026-09-27T05:34:46.7786479Z ✔ copies PNG from fullscreen toolbar: write (289.267157ms) -2026-09-27T05:34:46.9106111Z ✔ copies PNG from fullscreen toolbar: area cap (129.799415ms) -2026-09-27T05:34:47.1296201Z ✔ copies PNG from fullscreen toolbar: edge cap (226.956443ms) -2026-09-27T05:34:47.7336230Z ▶ TaskEntryRoot render scope -2026-09-27T05:34:47.7375755Z ✔ keeps a controller-only directory handoff below the shell frame (76.760223ms) -2026-09-27T05:34:47.7853078Z ✔ opens and closes the named-project dialog without rerendering the shell (65.857023ms) -2026-09-27T05:34:47.8020990Z ✔ retains the shell projection across an equivalent catalog refresh (13.704516ms) -2026-09-27T05:34:47.8441179Z ✔ scopes active-session recovery to available projects on that Host (21.005691ms) -2026-09-27T05:34:47.8681881Z ✔ adds a local Project before relocating the active Session (50.137258ms) -2026-09-27T05:34:47.8728479Z ✔ TaskEntryRoot render scope (233.997625ms) -2026-09-27T05:34:47.9666225Z ▶ createDesktopTaskEntryServices -2026-09-27T05:34:47.9756057Z ✔ maps Task Entry catalog and Host-scoped Project operations (3.414628ms) -2026-09-27T05:34:47.9779944Z ✔ createDesktopTaskEntryServices (10.452852ms) -2026-09-27T05:34:48.6344090Z ✔ bounds payload reads before collecting migrated v2 inline images (2600.577659ms) -2026-09-27T05:34:48.6386392Z ✔ an unlocked stale session keeps its stored target until explicit recovery (2.017398ms) -2026-09-27T05:34:48.6425898Z ✔ omits transient empty model target fields (0.23016ms) -2026-09-27T05:34:48.6456033Z ✔ confirmed repair and unavailable states block, while loading uncertainty does not (0.393551ms) -2026-09-27T05:34:48.6496299Z ✔ model blockers stay owned by existing connection recovery surfaces (0.239009ms) -2026-09-27T05:34:48.6606708Z ✔ Traditional Chinese readiness notices use Taiwan terminology (0.537118ms) -2026-09-27T05:34:48.6636907Z ✔ lifecycle queries use Session and garbage eligibility indexes (26.390651ms) -2026-09-27T05:34:48.6695938Z ✔ keeps credential lookup failure unknown instead of inventing a repair failure (6.943064ms) -2026-09-27T05:34:48.6755941Z ✔ reports a closed runtime when model catalog resolution is unavailable (1.348943ms) -2026-09-27T05:34:48.6779694Z ✔ passes an explicit slug to one model-target resolution without requiring a default read (0.449006ms) -2026-09-27T05:34:48.6825696Z ✔ rejects malformed renderer input before reading stores (3.473097ms) -2026-09-27T05:34:48.6896075Z ✔ maps a missing cwd to repairable workspace_missing (0.741852ms) -2026-09-27T05:34:48.6927991Z ✔ light-theme dim: black@50% scrim over a white titlebar (1.458865ms) -2026-09-27T05:34:48.6986400Z ✔ dark-theme dim: black@80% scrim over the dark titlebar (0.304434ms) -2026-09-27T05:34:48.7022043Z ✔ an opaque scrim wins outright (0.273074ms) -2026-09-27T05:34:48.7075854Z ✔ an unparseable background comes back unchanged so the caller degrades (4.732981ms) -2026-09-27T05:34:48.7105888Z ✔ parseCssRgbColor reads every rgb()/rgba() separator style (2.146138ms) -2026-09-27T05:34:48.7166150Z ✔ parseCssRgbColor refuses serializations it cannot trust (0.2353ms) -2026-09-27T05:34:48.8891708Z ▶ SQLite core execution stores -2026-09-27T05:34:48.8926328Z ✔ persists AgentRun events against the invocation that opened them (579.76192ms) -2026-09-27T05:34:48.8936102Z ✔ refuses to hang an event on a run no invocation ever opened (218.863763ms) -2026-09-27T05:34:48.8945301Z ✔ advances the model-call high-water index with the authority append (366.358409ms) -2026-09-27T05:34:48.8983280Z ✔ commits canonical authority without guessing a malformed projection order (437.646908ms) -2026-09-27T05:34:48.9015870Z ✔ does not repair a malformed projection from a stale ledger revision (581.814118ms) -2026-09-27T05:34:48.9045805Z ✔ rejects a projection repair without a canonical ledger revision (272.888371ms) -2026-09-27T05:34:48.9065742Z ✔ backfills the model-call high-water when upgrading existing AgentRun rows (646.682569ms) -2026-09-27T05:34:48.9125945Z ✔ drops obsolete Host-Epoch message receipt tables on upgrade (571.679629ms) -2026-09-27T05:34:48.9127188Z ✔ drops obsolete execution indexes on upgrade (310.756576ms) -2026-09-27T05:34:49.2010108Z ✔ preserves custom Mermaid attribute selectors after SVG ids are namespaced (2264.120512ms) -2026-09-27T05:34:49.2114307Z ✔ renders repeated real Mermaid diagrams across remounts and themes (1834.313287ms) -2026-09-27T05:34:49.2163545Z ✔ reuses a rendered Mermaid result across remounts and isolates themes (368.468266ms) -2026-09-27T05:34:49.2176343Z ✔ coalesces concurrent Mermaid renders and gives cached instances unique SVG ids (132.122357ms) -2026-09-27T05:34:49.2211912Z ✔ does not cancel a shared Mermaid render while another consumer remains mounted (101.601377ms) -2026-09-27T05:34:49.2221734Z ✔ bounds the Mermaid cache and evicts its least recently used result (2213.718916ms) -2026-09-27T05:34:49.2539984Z ✔ preserves provider failure diagnostics in the AgentRun authority after reopen (362.826662ms) -2026-09-27T05:34:49.3068671Z ▶ mermaidSvgToDataUrl -2026-09-27T05:34:49.3138558Z ✔ injects explicit pixel dimensions and strips responsive sizing from the root tag (12.312414ms) -2026-09-27T05:34:49.3140575Z ✔ does not touch width/height attributes inside the svg body (10.030535ms) -2026-09-27T05:34:49.3141644Z ✔ mermaidSvgToDataUrl (24.118661ms) -2026-09-27T05:34:49.3144037Z ▶ mermaidExportScale -2026-09-27T05:34:49.3145105Z ✔ keeps the full pixel ratio for diagrams that fit the budget (1.572587ms) -2026-09-27T05:34:49.3146211Z ✔ clamps the report case below the ratio that would exceed the canvas limits (3.095763ms) -2026-09-27T05:34:49.3147407Z ✔ clamps a near-square viewBox by area before the edge budget applies (0.26631ms) -2026-09-27T05:34:49.3148537Z ✔ scales below 1x for elongated diagrams rather than rejecting them (0.202104ms) -2026-09-27T05:34:49.3149398Z ✔ mermaidExportScale (5.655308ms) -2026-09-27T05:34:49.3150378Z ✔ Markdown code keeps its native selection and scrollbar pointer gesture (30.65497ms) -2026-09-27T05:34:49.3151618Z ✔ drag selection settles only after its owning pointer is released (11.400019ms) -2026-09-27T05:34:49.3152768Z ✔ pointer events cannot resurrect an unchanged or cancelled selection (0.387444ms) -2026-09-27T05:34:49.3153895Z ✔ a second primary pointer cannot replace the active gesture owner (0.233621ms) -2026-09-27T05:34:49.3155031Z ✔ capture loss cancels a changed gesture without showing a quote (5.662025ms) -2026-09-27T05:34:49.4199450Z ✔ ordinary rerenders keep the layer anchor attached (79.084712ms) -2026-09-27T05:34:49.4316312Z ✔ the wheel applies settled selection once and restores the saved model on failure (877.246716ms) -2026-09-27T05:34:49.6235095Z ✔ commits one immutable Run Composition snapshot (364.316629ms) -2026-09-27T05:34:50.0206820Z ✔ reads an AgentRun event type this build does not write (401.050758ms) -2026-09-27T05:34:50.3218832Z ✔ persists ShellRun records (305.714288ms) -2026-09-27T05:34:50.3536440Z ✔ a submit belongs to the dialog and never reaches the browser (213.271983ms) -2026-09-27T05:34:50.3624056Z ✔ an empty name submits nothing at all (38.859465ms) -2026-09-27T05:34:50.5466313Z ✔ reports a missing ShellRun with the ENOENT store contract (223.329418ms) -2026-09-27T05:34:50.8069690Z ✔ persists interaction request and outcome (255.410578ms) -2026-09-27T05:34:50.8085799Z ✔ SQLite core execution stores (5909.66237ms) -2026-09-27T05:34:50.8455441Z ▶ tool args redaction -2026-09-27T05:34:50.8512541Z ✔ redacts JSON-shaped args before they are rendered (1.470544ms) -2026-09-27T05:34:50.8576440Z ✔ redacts and caps model-authored tool intents (0.461206ms) -2026-09-27T05:34:50.8637926Z ✔ keeps secrets out of the collapsed-row invocation line and its wire preview (1.55859ms) -2026-09-27T05:34:50.8686016Z ✔ tool args redaction (8.065093ms) -2026-09-27T05:34:50.8726398Z ✔ retains one committed Item and its receipt when killed between COMMIT and return (287.073519ms) -2026-09-27T05:34:50.8773197Z ▶ SqliteMemoryItemStore -2026-09-27T05:34:50.8798449Z ✔ creates a private, versioned WAL database and reopens it idempotently (97.378036ms) -2026-09-27T05:34:50.8866387Z ✔ rolls back a failed migration and rejects a newer unknown schema without changing it (54.265452ms) -2026-09-27T05:34:50.8925961Z ✔ preserves a pending failure while migrating schema v3 to the current version (51.577909ms) -2026-09-27T05:34:50.8955293Z ✔ persists Compaction policy denial independently from Cursor and pending failure (37.332546ms) -2026-09-27T05:34:50.9026777Z ✔ rejects current-version databases with missing required tables or columns (31.950064ms) -2026-09-27T05:34:50.9056040Z ✔ rejects a current-version database with a missing query-required index (44.936995ms) -2026-09-27T05:34:50.9126317Z ✔ serializes truly concurrent first-open migrations (362.055672ms) -2026-09-27T05:34:50.9166630Z ✔ rejects database links and sidecar symlinks without changing their targets (66.164565ms) -2026-09-27T05:34:50.9235037Z ✔ normalizes keys and searches global plus the selected workspace (106.264038ms) -2026-09-27T05:34:50.9245851Z ✔ ranks multi-term matches, deduplicates terms, and enforces result limits (69.472862ms) -2026-09-27T05:34:50.9247186Z ✔ loads up to 100 ranked search results with a fixed number of reads (784.052078ms) -2026-09-27T05:34:50.9279592Z ✔ keeps search details in the snapshot selected before a concurrent update (69.585559ms) -2026-09-27T05:34:50.9345779Z ✔ loads each Item at its child limits without truncating later search results (121.965582ms) -2026-09-27T05:34:50.9377330Z ✔ rejects excessive keys without materializing the entire corrupt child set (79.439121ms) -2026-09-27T05:34:50.9426078Z ✔ rejects excessive sources without materializing the entire corrupt child set (79.812692ms) -2026-09-27T05:34:50.9459400Z ✔ preserves single-Item errors for search results with missing sources (46.919846ms) -2026-09-27T05:34:50.9516595Z ✔ preserves single-Item errors for search results with content hash mismatch (41.846282ms) -2026-09-27T05:34:50.9584375Z ✔ preserves single-Item errors for search results with invalid key normalization (27.871776ms) -2026-09-27T05:34:50.9596073Z ✔ preserves single-Item errors for search results with invalid source identifier (37.559766ms) -2026-09-27T05:34:50.9645881Z ✔ preserves single-Item errors for search results with binary key text (398.466273ms) -2026-09-27T05:34:50.9670631Z ✔ preserves single-Item errors for search results with binary source identifier (46.167999ms) -2026-09-27T05:34:50.9716013Z ✔ replays operation receipts while allowing independent duplicate assertions (37.990961ms) -2026-09-27T05:34:50.9745849Z ✔ uses CAS, replaces current keys and sources, and records no-op writes (48.523947ms) -2026-09-27T05:34:50.9786243Z ✔ allows an Item to be updated to match another active assertion (26.310765ms) -2026-09-27T05:34:50.9825849Z ✔ rejects a stale CAS from a second SQLite connection (428.547986ms) -2026-09-27T05:34:50.9855852Z ✔ allows only one truly concurrent CAS update across SQLite connections (317.071548ms) -2026-09-27T05:34:50.9926078Z ✔ allows archived assertions to change and restore even when another assertion matches (64.513794ms) -2026-09-27T05:34:50.9961637Z ✔ excludes archived Items by default and returns them after restore (35.73035ms) -2026-09-27T05:34:51.0003334Z ✔ reports invalid lifecycle transitions and missing Items (37.815494ms) -2026-09-27T05:34:51.0025659Z ✔ validates temporal writes and commit-time observations (26.026989ms) -2026-09-27T05:34:51.0055753Z ✔ rejects malformed mutation input before persistence (29.094641ms) -2026-09-27T05:34:51.0075526Z ✔ rolls back the full batch at every write boundary (111.542226ms) -2026-09-27T05:34:51.0102023Z ✔ rolls back an earlier completed mutation when a later mutation conflicts (21.310358ms) -2026-09-27T05:34:51.0175700Z ✔ stores duplicate assertions independently within one batch (22.315803ms) -2026-09-27T05:34:51.0185788Z ✔ keeps updated_at monotonic and replays after the injected clock moves backwards (22.215127ms) -2026-09-27T05:34:51.0247835Z ✔ keeps committed Items and operation receipts after checkpoint and reopen (24.210246ms) -2026-09-27T05:34:51.0275704Z ✔ fails closed over a structurally corrupt idempotency receipt (48.838858ms) -2026-09-27T05:34:51.0325667Z ✔ fails closed over corrupt Item child cardinality (105.329221ms) -2026-09-27T05:34:51.0365681Z ✔ rejects a corrupt idempotency receipt beyond the batch limit (53.735504ms) -2026-09-27T05:34:51.0415778Z ✔ rejects an oversized idempotency receipt before JSON parsing (49.361858ms) -2026-09-27T05:34:51.0456008Z ✔ atomically commits extracted Items and advances the Session Cursor (49.314286ms) -2026-09-27T05:34:51.0500281Z ✔ replays an extraction receipt without duplicating Items (33.243973ms) -2026-09-27T05:34:51.0555731Z ✔ rolls back Items, Cursor, and receipt when extraction commit fails (25.255189ms) -2026-09-27T05:34:51.0615872Z ✔ initializes an absent extraction Cursor once without leaping an existing Cursor (29.665729ms) -2026-09-27T05:34:51.0635552Z ✔ retries one failed range once, then atomically receipts its discard (36.43941ms) -2026-09-27T05:34:51.0694699Z ✔ clears an exact pending failed range in the successful extraction transaction (20.210716ms) -2026-09-27T05:34:51.0733340Z ✔ keeps a failed Compaction range bound to its checkpoint through retry (31.991408ms) -2026-09-27T05:34:51.0786647Z ✔ atomically policy-skips through a pending prefix without writing Items (27.966695ms) -2026-09-27T05:34:51.0825894Z ✔ policy skip never consumes an explicit remember pending failure (29.669596ms) -2026-09-27T05:34:51.0893781Z ✔ rolls back Cursor, pending failure, operation, and receipt when discard fails (27.946219ms) -2026-09-27T05:34:51.0945737Z ✔ SqliteMemoryItemStore (4485.39736ms) -2026-09-27T05:34:51.1025643Z ▶ long-term memory Storage Root authority -2026-09-27T05:34:51.1081123Z ✔ rejects a structurally forged writer facade (0.347319ms) -2026-09-27T05:34:51.1107662Z ✔ rejects a forged lease at the Interactive opener without creating a database (5.902223ms) -2026-09-27T05:34:51.1179932Z ✔ snapshots mutation input before crossing the authority boundary (80.108199ms) -2026-09-27T05:34:51.1256112Z ✔ rejects operations after the durable root identity changes (91.66719ms) -2026-09-27T05:34:51.1316423Z ✔ single-flights an Interactive writer and closes it explicitly (82.008545ms) -2026-09-27T05:34:51.1356044Z ✔ long-term memory Storage Root authority (260.727305ms) -2026-09-27T05:34:51.1459124Z ▶ applyToolOutputChunk — secondary redaction (defense in depth) -2026-09-27T05:34:51.1515316Z ✔ masks Authorization: *** in raw chunk before storing (1.618643ms) -2026-09-27T05:34:51.1575773Z ✔ masks bare API-key prefixes (sk-…) (0.368574ms) -2026-09-27T05:34:51.1632511Z ✔ applyToolOutputChunk — secondary redaction (defense in depth) (3.798298ms) -2026-09-27T05:34:51.1675752Z ▶ applyToolOutputChunk — per-chunk cap -2026-09-27T05:34:51.1705786Z ✔ truncates a single oversize chunk to maxChunkChars with a marker (0.622858ms) -2026-09-27T05:34:51.1745721Z ✔ applyToolOutputChunk — per-chunk cap (0.922586ms) -2026-09-27T05:34:51.1746590Z ▶ applyToolOutputChunk — per-tool caps (count + total chars) -2026-09-27T05:34:51.1806216Z ✔ drops oldest chunks when count cap is exceeded (8.28912ms) -2026-09-27T05:34:51.1807498Z ✔ drops oldest chunks when total-char cap is exceeded (0.674394ms) -2026-09-27T05:34:51.1815825Z ✔ applyToolOutputChunk — per-tool caps (count + total chars) (9.293014ms) -2026-09-27T05:34:51.1885650Z ▶ applyToolOutputChunk — dedup + sort -2026-09-27T05:34:51.1926081Z ✔ drops a chunk whose seq already exists (no-op return) (3.4485ms) -2026-09-27T05:34:51.1965987Z ✔ inserts out-of-order chunks in sorted seq order (1.220802ms) -2026-09-27T05:34:51.1967028Z ✔ applyToolOutputChunk — dedup + sort (5.084679ms) -2026-09-27T05:34:51.1985910Z ▶ applyToolOutputChunk — clean-path flags -2026-09-27T05:34:51.2025535Z ✔ combined: oversize + secret token → both flags fire (0.355347ms) -2026-09-27T05:34:51.2026574Z ✔ applyToolOutputChunk — clean-path flags (3.328665ms) -2026-09-27T05:34:51.2055654Z ▶ SQLite recovery authority multi-process races -2026-09-27T05:34:51.2058186Z ✔ makes an exact concurrent recovery bundle idempotent (1084.671023ms) -2026-09-27T05:34:51.2108664Z ✔ serializes conflicting completed and parked bundles to one terminal decision (885.490208ms) -2026-09-27T05:34:51.5196483Z ✔ a session without a mode keeps the control but names no mode and cannot use it (161.85663ms) -2026-09-27T05:34:51.6766658Z ✔ indexed Turns outside the loaded range precede it, and loaded Turns keep their own entries (4.756052ms) -2026-09-27T05:34:51.6809180Z ✔ a streaming reply delta hands back every other entry, and the list when nothing moved (0.71712ms) -2026-09-27T05:34:51.6875792Z ✔ a sampled rail projects the reading Turn onto the tick that stands for it (0.247748ms) -2026-09-27T05:34:51.6926072Z ✔ every Turn is its own tick while the rail is under its cap (0.147589ms) -2026-09-27T05:34:51.6951879Z ✔ a reading position the rail has no landmark for keeps the current tick (0.195194ms) -2026-09-27T05:34:51.7001120Z ✔ no reading position and no usable current tick leaves the rail unmarked (0.153821ms) -2026-09-27T05:34:51.7065985Z ✔ keeps the active tick visible when the rail viewport resizes (0.52983ms) -2026-09-27T05:34:51.7087542Z ✔ Traditional Chinese Peer Mesh copy does not use the Simplified Chinese branch (3.981099ms) -2026-09-27T05:34:51.7136287Z ✔ Traditional Chinese Peer Mesh route states use exact localized labels (5.526552ms) -2026-09-27T05:34:51.7163638Z ✔ Traditional Chinese connection copy uses 回傳, 回應, and 發送 (0.852919ms) -2026-09-27T05:34:52.1384998Z ✔ serializes projection rebuild against recovery commit (981.587879ms) -2026-09-27T05:34:52.9186185Z ✔ grants provider authority to exactly one process for one continuation boundary (791.903731ms) -2026-09-27T05:34:53.6559360Z ✔ never claims an active source while its terminal append races in another process (737.671165ms) -2026-09-27T05:34:54.3536414Z ✔ serializes a continuation claim against an ordinary first target event (695.789937ms) -2026-09-27T05:34:54.5357268Z ✔ keeps both Turns reachable when an oversized ledger Turn is followed by a new durable tail (1690.951327ms) -2026-09-27T05:34:55.0786309Z ✔ allows concurrent processes to keep the same initialized WAL database open (728.111335ms) -2026-09-27T05:34:55.2396876Z ✔ serves the running second Turn through durable pages at running-b (708.653849ms) -2026-09-27T05:34:55.3705954Z Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype. -2026-09-27T05:34:55.8337507Z ✔ the current tick follows the reading position the virtualizer maps (705.585074ms) -2026-09-27T05:34:55.9250546Z ✔ serves the running second Turn through durable pages at result-b (685.90241ms) -2026-09-27T05:34:56.0786366Z ✔ a tick releases the pin and scrolls its Turn to the top by index (342.288839ms) -2026-09-27T05:34:56.2415317Z ✔ a tick for an indexed Turn outside the loaded range asks for history down to it (342.96526ms) -2026-09-27T05:34:56.2926271Z ✔ portals landmarks into the layout host and keeps them actionable (33.014198ms) -2026-09-27T05:34:56.3434071Z ✔ reads a Turn through the rows of a nested one (418.655731ms) -2026-09-27T05:34:56.4216358Z ✔ allows concurrent operational owners to initialize the same fresh WAL database (1343.491369ms) -2026-09-27T05:34:56.5459265Z ✔ re-rendering a tick keeps its hover card bound to the same trigger (36.626778ms) -2026-09-27T05:34:56.6096759Z ✔ a streaming reply re-renders only its own tick when the caller passes a fresh highlight handler (273.437198ms) -2026-09-27T05:34:56.6716603Z ✔ a retained tick uses updated content, decoration, and navigation callbacks (88.348927ms) -2026-09-27T05:34:56.7868169Z ✔ only a witnessed completed response triggers a prediction; display and dismissal do not regenerate (94.603833ms) -2026-09-27T05:34:56.7926473Z ✔ typing before a late result invalidates it even after the draft is cleared (24.669779ms) -2026-09-27T05:34:56.7950348Z ✔ switching away and back, a new turn, disabling and blocked attachments all reject stale suggestions (33.419719ms) -2026-09-27T05:34:56.8048145Z ✔ disabled and nonempty composers never spend a prediction request (5.335791ms) -2026-09-27T05:34:56.8157197Z ✔ provider retry banner subtracts the time already waited since receipt (220.700015ms) -2026-09-27T05:34:56.8211892Z ✔ provider retry banner never shows a negative countdown (11.873556ms) -2026-09-27T05:34:56.8251766Z ✔ reduced motion keeps a correct static value at mount without ticking (20.576737ms) -2026-09-27T05:34:56.8314203Z ✔ provider retry banner counts down from remainingMs when the host provides it (17.235416ms) -2026-09-27T05:34:56.8356363Z ✔ a mounted provider retry banner actually ticks once per second (34.410867ms) -2026-09-27T05:34:56.8378927Z ✔ the ticking countdown stays hidden from the live region, which keeps a stable label (19.883005ms) -2026-09-27T05:34:56.8436357Z ✔ resolves English park copy for every known reason with no Chinese (#4489) (9.704382ms) -2026-09-27T05:34:56.8487071Z ✔ keeps the Chinese copy for zh-CN (0.28243ms) -2026-09-27T05:34:56.8565872Z ✔ resolves the missing-candidate special case per locale (8.196724ms) -2026-09-27T05:34:56.8626194Z ✔ falls back to the generic description for unknown reasons and dedupes repeats (0.291062ms) -2026-09-27T05:34:56.8657940Z ✔ preserves a snoozed daily anchor when schedule fields are unchanged (11.233501ms) -2026-09-27T05:34:56.8715982Z ✔ omits an unchanged interval schedule after snoozing (0.703938ms) -2026-09-27T05:34:56.8766209Z ✔ uses an explicitly edited time as the new daily anchor (8.865225ms) -2026-09-27T05:34:56.8785943Z ✔ uses an explicitly edited recurrence with the displayed next-run time (2.168959ms) -2026-09-27T05:34:57.0196410Z ✔ refuses a Turn read whose continuation never advances (675.36957ms) -2026-09-27T05:34:57.0983609Z ✔ initializes the tracked identity from the first accepted batch (2.384166ms) -2026-09-27T05:34:57.0984914Z ✔ keeps the current identity for a regular batch (0.301236ms) -2026-09-27T05:34:57.1028322Z ✔ adopts a reset batch identity so the next range request targets the replacement Host (0.20266ms) -2026-09-27T05:34:57.1030548Z ✔ does not mutate an identity already captured by a dispatched request (3.339397ms) -2026-09-27T05:34:57.1031821Z ✔ a healthy transcript open publishes only the live answer and never reads the cache (1033.336639ms) -2026-09-27T05:34:57.1033093Z ✔ a failed live open falls back to the cached transcript without earlier history (680.816592ms) -2026-09-27T05:34:57.1034650Z ✔ a bookmark older than the loaded history is read down to in one request located by the Turn index (10.688314ms) -2026-09-27T05:34:57.1036013Z ✔ a bookmark the Turn index does not know, or cannot be asked about, is unavailable without reading history (4.862138ms) -2026-09-27T05:34:57.1037484Z ✔ a cached transcript keeps a stored bookmark pending until the live answer replaces it (3.889416ms) -2026-09-27T05:34:57.1038830Z ✔ sending before transcript open completes cancels the queued bookmark without delaying admission (2.833116ms) -2026-09-27T05:34:57.1039949Z ✔ loading earlier history only reaches the current Session controller (68.961944ms) -2026-09-27T05:34:57.1041120Z ✔ captured reading anchors belong to the current Session and preparing a send clears them (5.03715ms) -2026-09-27T05:34:57.1096326Z ✔ a Turn index read that failed is read again when the transcript reopens (11.184145ms) -2026-09-27T05:34:57.1275742Z ✔ preparing a send follows the new prompt and streaming growth, then lets the reader leave again (102.79493ms) -2026-09-27T05:34:57.1278082Z ✔ reading a live Turn bookmarks its Turn identity (27.905372ms) -2026-09-27T05:34:57.1392707Z ✔ a send prepared for an old Session cannot move the new Session viewport (8.96211ms) -2026-09-27T05:34:57.1396695Z ✔ makes an exact concurrent workspace baseline open idempotent (712.811902ms) -2026-09-27T05:34:57.1762101Z ✔ a prepared send cancels an outstanding bookmark frame before it can scroll to history (9.300694ms) -2026-09-27T05:34:57.2075760Z ✔ the return-to-latest button consumes a pending bookmark frame and permits subsequent reader navigation (68.874656ms) -2026-09-27T05:34:57.8026321Z ✔ dismissed and superseded searches stop holding the palette busy (3071.0951ms) -2026-09-27T05:34:57.8821470Z ✔ a typed phrase becomes the distinct terms recall matches (2.526133ms) -2026-09-27T05:34:57.8885822Z ✔ an empty or whitespace query produces no terms (0.269854ms) -2026-09-27T05:34:57.8888214Z ✔ terms are capped so a pasted paragraph cannot become an unbounded query (0.338045ms) -2026-09-27T05:34:57.8902783Z ✔ a passage snippet is the anchor text, which is what recall matched on (0.378202ms) -2026-09-27T05:34:57.8936071Z ✔ a file-only anchor falls back to the first text the passage carries (0.257601ms) -2026-09-27T05:34:57.8965447Z ▶ normalizeQuoteText -2026-09-27T05:34:57.8966668Z ✔ rejects a selection that holds nothing but whitespace (2.64111ms) -2026-09-27T05:34:57.8995775Z ✔ normalizeQuoteText (6.709042ms) -2026-09-27T05:34:57.9025491Z ▶ findEnclosingTurnId -2026-09-27T05:34:57.9055579Z ✔ stops at the root rather than adopting a turn id above it (8.411155ms) -2026-09-27T05:34:57.9056495Z ✔ findEnclosingTurnId (8.698877ms) -2026-09-27T05:34:57.9085492Z ▶ resolveQuoteTarget -2026-09-27T05:34:57.9118370Z ✔ resolves text plus the owning turn (5.391119ms) -2026-09-27T05:34:57.9145511Z ✔ rejects a selection spanning two turns (0.251433ms) -2026-09-27T05:34:57.9146362Z ✔ resolveQuoteTarget (5.958134ms) -2026-09-27T05:34:57.9175954Z ✔ accepts only one of two conflicting concurrent workspace baselines (754.123807ms) -2026-09-27T05:34:58.7785547Z ✔ grants durable managed mutation ownership to exactly one process (889.576486ms) -2026-09-27T05:34:59.3166394Z ✔ a history page reaches an oversized earlier Turn without disturbing the tail (23.809642ms) -2026-09-27T05:34:59.3224167Z ✔ tail catch-up evicts only the oldest Turns and always keeps the newest complete (17.748437ms) -2026-09-27T05:34:59.3277599Z ✔ a completed loaded bookmark does not load earlier history after later notifications (22.215608ms) -2026-09-27T05:34:59.3296738Z ✔ repeated message notifications share one pending restore and cancellation preserves the newer bookmark (7.834641ms) -2026-09-27T05:34:59.3427455Z ✔ switching away and back creates a fresh restore while clearing search does not replay a bookmark (5.888562ms) -2026-09-27T05:34:59.3428812Z ✔ effect teardown followed by setup lets only the replacement restore settle its bookmark (7.322813ms) -2026-09-27T05:34:59.3696470Z ✔ a bookmark read down to across a reopen is looked up again rather than declared unavailable (0.95689ms) -2026-09-27T05:34:59.3756339Z ✔ a second Turn reached by advancing evicts the oversized first Turn (17.775781ms) -2026-09-27T05:34:59.5338933Z ✔ keeps a transient message through sparse transcript replacement (7.046499ms) -2026-09-27T05:34:59.5371826Z ✔ updates a transient message without treating its previous render as canonical (1.839567ms) -2026-09-27T05:34:59.5396748Z ✔ replaces a transient message by canonical message id exactly once (0.220041ms) -2026-09-27T05:34:59.5464236Z ✔ canonicalizing one send does not hide a later transient send (0.327814ms) -2026-09-27T05:34:59.5516649Z ✔ keeps transient messages ordered independently from a sparse durable tail (0.414923ms) -2026-09-27T05:34:59.5545892Z ✔ uses the Host queue snapshot order for already-present transient messages (2.403782ms) -2026-09-27T05:34:59.5591235Z ✔ derives one queue projection for main and Side Conversation consumers (4.171328ms) -2026-09-27T05:34:59.5646222Z ✔ keeps a Host-bound current Turn when a later IPC result has no Turn identity (0.291417ms) -2026-09-27T05:34:59.5680451Z ✔ keeps a transient message send time when a later update carries a new timestamp (0.395807ms) -2026-09-27T05:34:59.5755520Z ▶ UI locale settings update gate -2026-09-27T05:34:59.5785854Z ✔ delivers a successful locale save after the Settings surface closes (11.138143ms) -2026-09-27T05:34:59.5815966Z ✔ ignores unrelated settings writes and rejects stale locale responses (7.448886ms) -2026-09-27T05:34:59.5875855Z ✔ delivers the persisted auto preference without resolving it locally (0.260594ms) -2026-09-27T05:34:59.5912892Z ✔ rejects a stale hydration that started before a newer locale save (0.323725ms) -2026-09-27T05:34:59.5947194Z ✔ rejects hydration started while a locale save is pending (0.251678ms) -2026-09-27T05:34:59.5965653Z ✔ orders locale saves across Settings remounts with one AppShell gate (0.188896ms) -2026-09-27T05:34:59.6009119Z ✔ releases a failed save so an in-flight hydration can apply (0.295527ms) -2026-09-27T05:34:59.6045752Z ✔ applies the latest blocked hydration when an intervening locale save fails (2.793604ms) -2026-09-27T05:34:59.6056850Z ✔ accepts an older pending save after the newer save fails (0.545285ms) -2026-09-27T05:34:59.6087389Z ✔ restores an older successful save when the newer save fails later (4.554708ms) -2026-09-27T05:34:59.6135597Z ✔ UI locale settings update gate (30.028591ms) -2026-09-27T05:35:00.5416809Z ✔ a running goal reads as running and offers pause, with elapsed and tokens (91.81328ms) -2026-09-27T05:35:00.5496751Z ✔ a paused goal reads as paused and offers resume, not pause (50.168523ms) -2026-09-27T05:35:00.5526225Z ✔ a waiting goal reads as waiting without looking active or paused (33.222193ms) -2026-09-27T05:35:00.6621192Z ✔ hides the move submenu when the provider has no targets: undefined (264.862528ms) -2026-09-27T05:35:00.6716692Z ✔ hides the move submenu when the provider has no targets: missing (70.99094ms) -2026-09-27T05:35:00.6746273Z ✔ an orphan projectId can move to a destination without an exit (80.247505ms) -2026-09-27T05:35:00.6791800Z ✔ keeps a provider-approved exit: pA, sibling=false (73.181242ms) -2026-09-27T05:35:00.6866083Z ✔ keeps a provider-approved exit: pA, sibling=true (54.139911ms) -2026-09-27T05:35:00.7056242Z ✔ keeps a provider-approved exit: oldA, sibling=false (52.12547ms) -2026-09-27T05:35:00.7116099Z ✔ keeps a provider-approved exit: oldA, sibling=true (70.522477ms) -2026-09-27T05:35:00.8235951Z ✔ serializes concurrent operational runtime migration (2035.763806ms) -2026-09-27T05:35:01.5046626Z ✔ captures a fast worker initialization failure after releasing the barrier (687.96378ms) -2026-09-27T05:35:01.5054212Z ✔ SQLite recovery authority multi-process races (12339.622202ms) -2026-09-27T05:35:01.5345049Z ✔ a plain click opens the task and picks exactly it (289.704026ms) -2026-09-27T05:35:01.5430693Z ▶ SqliteRuntimeStore real-process crash boundaries -2026-09-27T05:35:01.5436125Z ✔ rolls back a process killed inside T1 (745.85699ms) -2026-09-27T05:35:01.5455935Z ✔ retains a prepared operation when killed after T1 and a possible side effect (702.982561ms) -2026-09-27T05:35:01.5485726Z ✔ rolls back a process killed inside T2 without losing T1 (808.850131ms) -2026-09-27T05:35:01.5515815Z ✔ retains the committed outcome when killed after T2 (706.398827ms) -2026-09-27T05:35:01.5517124Z ✔ rolls back the whole recovery bundle when killed at inside_recovery_reconcile (775.051694ms) -2026-09-27T05:35:01.5545950Z ✔ rolls back the whole recovery bundle when killed at inside_recovery_outcome (575.735913ms) -2026-09-27T05:35:01.5575834Z ✔ rolls back the whole recovery bundle when killed at inside_recovery_decision (643.848225ms) -2026-09-27T05:35:01.5605618Z ✔ retains the whole recovery bundle when killed after COMMIT (729.424716ms) -2026-09-27T05:35:01.5621894Z ✔ rolls back a workspace baseline when killed inside its authority transaction (554.529663ms) -2026-09-27T05:35:01.5645773Z ✔ retains the complete workspace baseline when killed after COMMIT (544.856953ms) -2026-09-27T05:35:01.5659955Z ✔ retains exclusive managed mutation ownership when killed after T1 (688.01713ms) -2026-09-27T05:35:01.5669209Z ✔ rolls back a workspace successor when killed inside its authority transaction (830.757468ms) -2026-09-27T05:35:01.5671359Z ✔ returns the accepted workspace successor after a process is killed post-commit (876.824565ms) -2026-09-27T05:35:01.5703605Z ✔ rolls back a no-effect terminal when killed inside its transaction (572.434638ms) -2026-09-27T05:35:01.5736440Z ✔ retains a no-effect terminal and released reservation after process exit (822.630608ms) -2026-09-27T05:35:01.5740438Z ✔ SqliteRuntimeStore real-process crash boundaries (10582.276401ms) -2026-09-27T05:35:01.5741993Z ▶ SQLite runtime schema migration -2026-09-27T05:35:01.5743105Z ✔ uses the locked current version after an optimistic stale read (6.388299ms) -2026-09-27T05:35:01.5806309Z ✔ re-reads user_version under the write lock before applying migrations (32.855446ms) -2026-09-27T05:35:01.5810950Z ✔ preserves v1 continuation claims while admitting the v2 replay projection (5.770181ms) -2026-09-27T05:35:01.5886157Z ✔ backfills the extent of every visible Turn already in the ledger (12.706414ms) -2026-09-27T05:35:01.5916142Z ✔ backfills extents over a ledger holding an undecodable opening (13.217958ms) -2026-09-27T05:35:01.5983749Z ✔ builds the terminal index over a ledger holding an undecodable payload (12.722148ms) -2026-09-27T05:35:01.6038465Z ✔ adds all recovery projections in schema 20 without rewriting authority rows (11.421341ms) -2026-09-27T05:35:01.6091169Z ✔ SQLite runtime schema migration (97.584953ms) -2026-09-27T05:35:01.6115427Z ▶ SqliteRuntimeStore -2026-09-27T05:35:01.6146099Z ✔ applies versioned migrations and reopens the same database without rewriting schema (134.833773ms) -2026-09-27T05:35:01.6207703Z ✔ refuses every post-terminal append as the typed sealed-run boundary (92.47012ms) -2026-09-27T05:35:01.6245869Z ✔ loads full recovery payloads only for unfinished and handoff invocations (239.186795ms) -2026-09-27T05:35:01.6285862Z ✔ bounds a transcript Turn by stored total and per-record bytes (61.534124ms) -2026-09-27T05:35:01.6326023Z ✔ projects transcript RuntimeEvents from a bounded row iterator (59.389034ms) -2026-09-27T05:35:01.6385989Z ✔ pages the transcript without reading rows the page does not contain (120.626232ms) -2026-09-27T05:35:01.6413660Z ✔ reads recovery message evidence by Turn and exact identity without scanning the Session (99.296236ms) -2026-09-27T05:35:01.6455776Z ✔ assigns stable Session ordinals in commit order across Runs (90.315042ms) -2026-09-27T05:35:01.6524907Z ✔ publishes RuntimeEvent commits once, after a committed transaction (40.06834ms) -2026-09-27T05:35:01.6669866Z ✔ publishes leased RuntimeEvent commits when the outermost transaction settles (509.205943ms) -2026-09-27T05:35:01.6726200Z ✔ makes a raw canonical-equivalent terminal durability retry idempotent (48.901225ms) -2026-09-27T05:35:01.6756146Z ✔ imports a conversation-copy tool ledger with its derived projections (54.605821ms) -2026-09-27T05:35:01.6792602Z ✔ invalidates a warmed tool-ledger cache after a same-connection conversation copy (61.793817ms) -2026-09-27T05:35:01.6926189Z ✔ rebuilds a legacy terminal-without-tool-result gap as interrupted_unknown (82.340498ms) -2026-09-27T05:35:01.7006689Z ✔ repairs a terminal unsettled tool without decoding opaque Session history (82.311661ms) -2026-09-27T05:35:01.7119754Z ✔ rejects an inadmissible candidate with ToolLedgerRejectionError, naming the code (61.980487ms) -2026-09-27T05:35:01.7148639Z ✔ isolates unrelated ledger damage while keeping the damaged invocation fail-closed (126.997731ms) -2026-09-27T05:35:01.7226098Z ✔ commits function_call, dispatch fact, and operation projection atomically in T1 (94.292125ms) -2026-09-27T05:35:01.7275840Z ✔ commits nested T1 events with parent operation linkage (112.489178ms) -2026-09-27T05:35:01.7336275Z ✔ invalidates scoped tool caches across sibling write-view commit and rollback (356.494967ms) -2026-09-27T05:35:01.7412032Z ✔ invalidates a lease-less reducer base loaded from a rolled-back transaction (41.952524ms) -2026-09-27T05:35:01.7472695Z ✔ bounds active tool reducer residency with least-recently-used eviction (69.838988ms) -2026-09-27T05:35:01.7496315Z ✔ records cache misses across streaming partial commits and hits only in quiet windows (70.404872ms) -2026-09-27T05:35:01.7545444Z ✔ evicts a cached tool reducer when its invocation is sealed (77.787076ms) -2026-09-27T05:35:01.7572777Z ✔ evicts a cached reducer after confirming a sibling terminal write (52.03848ms) -2026-09-27T05:35:01.7632626Z ✔ bounds aggregate tool reducer residency by estimated bytes (39.417358ms) -2026-09-27T05:35:01.7654727Z ✔ uses a transient reducer when one scope exceeds its byte admission budget (46.444393ms) -2026-09-27T05:35:01.7680131Z ✔ keeps a transaction-pinned reducer until settlement then enforces the byte budget (301.750767ms) -2026-09-27T05:35:01.7707409Z ✔ rejects a nested T1 whose referenced parent operation is missing (69.516218ms) -2026-09-27T05:35:01.7760626Z ✔ reports a referenced parent invocation corruption as existing damage (108.905373ms) -2026-09-27T05:35:01.7785648Z ✔ does not reuse a corrupt child cache scope for its clean parent (84.964735ms) -2026-09-27T05:35:01.7830269Z ✔ claims an exact function_call that was committed while permission was pending (43.045173ms) -2026-09-27T05:35:01.7832883Z ✔ rolls back every T1 row when failure occurs after the RuntimeEvent insert (48.773474ms) -2026-09-27T05:35:01.7854083Z ✔ commits function_response, outcome journal fact, and projection atomically in T2 (46.051136ms) -2026-09-27T05:35:01.7856386Z ✔ keeps projected T2 prepared when its atomic model projection is missing (90.772747ms) -2026-09-27T05:35:01.7887450Z ✔ rolls back T2 without hiding the previously committed prepared boundary (58.698843ms) -2026-09-27T05:35:01.7935938Z ✔ deduplicates exact T1/T2 retries and rejects operation identity drift (85.665468ms) -2026-09-27T05:35:01.7985961Z ✔ validates a tool transition after unrelated invocation history (63.753737ms) -2026-09-27T05:35:01.8040950Z ✔ rebuilds disposable tool projections from RuntimeEvent facts (82.54486ms) -2026-09-27T05:35:01.8085824Z ✔ coalesces stream chunks outside the immutable high-water ledger (64.034233ms) -2026-09-27T05:35:01.8116001Z ✔ rejects an oversized scan record before visiting its decoded body (45.032458ms) -2026-09-27T05:35:01.8176191Z ✔ rejects an immutable ledger that exceeds its cumulative scan budget before decoding it (46.604518ms) -2026-09-27T05:35:01.8235981Z ✔ streams fragmented legacy partial segments without retaining their row set (208.323305ms) -2026-09-27T05:35:01.8265818Z ✔ atomically claims a source with exactly one terminal RuntimeEvent at its tail (66.229504ms) -2026-09-27T05:35:01.8296063Z ✔ refuses a continuation target opening it cannot read, stored or submitted (71.193101ms) -2026-09-27T05:35:01.8356013Z ✔ authenticates repeated handoff under one fresh logical admission across reopen (306.802039ms) -2026-09-27T05:35:01.8386167Z ✔ authenticates repeated handoff under one continuation logical admission across reopen (276.334045ms) -2026-09-27T05:35:01.8415808Z ✔ rejects a continuation claim whose immediate source boundary is not durable (38.689162ms) -2026-09-27T05:35:01.8457011Z ✔ rejects a non-terminal continuation source without sealing the active Run (82.761019ms) -2026-09-27T05:35:01.8502949Z ✔ rejects a continuation source whose terminal RuntimeEvent has a corrupt suffix (44.971617ms) -2026-09-27T05:35:01.8515861Z ✔ rejects a stale claim after the source advances beyond its planned boundary (64.233681ms) -2026-09-27T05:35:01.8556587Z ✔ seals the claimed source against later immutable RuntimeEvents (65.072596ms) -2026-09-27T05:35:01.8615179Z ✔ rolls back a continuation claim when the process fails after its insert (76.683773ms) -2026-09-27T05:35:01.8616336Z ✔ rejects a second boundary that tries to reuse an acquired target identity (72.010487ms) -2026-09-27T05:35:01.8648002Z ✔ lets a started continuation target be purged instead of refusing the delete (75.665778ms) -2026-09-27T05:35:01.8666713Z ✔ fails closed when continuation claim columns disagree with canonical payload (72.3685ms) -2026-09-27T05:35:01.8686390Z ✔ requires a continuation claim target to have an empty RuntimeEvent ledger (86.325508ms) -2026-09-27T05:35:01.8706171Z ✔ reserves a claimed target first event for its dedicated continuation-start writer (82.957294ms) -2026-09-27T05:35:01.8735903Z ✔ commits continuation-start exactly once through its dedicated authority writer (66.101576ms) -2026-09-27T05:35:01.8751601Z ✔ lists only selected continuation claims whose target invocation is not terminal (119.872307ms) -2026-09-27T05:35:01.8753073Z ✔ stores continuation start provenance through separate admission and repair commands (73.509952ms) -2026-09-27T05:35:01.8754319Z ✔ binds the durable tool boundary marker to a live continuation start only (102.550559ms) -2026-09-27T05:35:01.8755834Z ✔ seals a continuation invocation after its terminal fact while allowing exact retry (66.317931ms) -2026-09-27T05:35:01.8757072Z ✔ does not bless an exact terminal retry when a corrupt suffix follows it (74.199734ms) -2026-09-27T05:35:01.8758524Z ✔ rejects a continuation-start whose provider replay identity differs from its claim (92.705619ms) -2026-09-27T05:35:01.8759740Z ✔ rolls back continuation-start when failure occurs after the event insert (68.706387ms) -2026-09-27T05:35:01.8760934Z ✔ pins a physical immutable prefix independently of mutable partial snapshots (55.492757ms) -2026-09-27T05:35:01.8762170Z ✔ stores a partial batch as one append-only segment and reconstructs the same text (52.128479ms) -2026-09-27T05:35:01.8763243Z ✔ coalesces partial text into fixed-size tail segments (87.487257ms) -2026-09-27T05:35:01.8764282Z ✔ rejects a partial batch that crosses presentation streams atomically (56.755617ms) -2026-09-27T05:35:01.8795688Z ✔ rejects a physical immutable prefix with an event-seq gap (78.174117ms) -2026-09-27T05:35:01.8825635Z ✔ replaces text and tool partial snapshots when their durable final arrives (66.424216ms) -2026-09-27T05:35:01.8826896Z ✔ uses the immutable SQLite event as the steering-message recovery proof (74.537008ms) -2026-09-27T05:35:01.8836983Z ✔ SqliteRuntimeStore (7007.969037ms) -2026-09-27T05:35:01.8837745Z ▶ SqliteSessionMetadataStore -2026-09-27T05:35:01.8838732Z ✔ migrates version 38 and resumes the body-free Coordination index idempotently (153.716177ms) -2026-09-27T05:35:01.8839818Z ✔ converges the admissions-only version-30 schema after the merge (80.777783ms) -2026-09-27T05:35:01.8840934Z ✔ converges the coordination-only version-30 schema after the merge (100.323905ms) -2026-09-27T05:35:01.8865636Z ✔ converges the complete version-30 schema after the merge (73.097378ms) -2026-09-27T05:35:01.8895721Z ✔ migrates a legacy subagent Session to a frozen model route (87.572049ms) -2026-09-27T05:35:01.8915705Z ✔ migrates v27 metadata to the current schema without backfilling external origin (139.969785ms) -2026-09-27T05:35:01.8955775Z ✔ identifies an incompatible persisted message without exposing its content (92.061158ms) -2026-09-27T05:35:01.8957160Z ✔ round-trips every SessionHeader field and reopens the same schema (77.297264ms) -2026-09-27T05:35:01.8985799Z ✔ retires an accepted steering draft when it is handed off (60.236774ms) -2026-09-27T05:35:01.9015676Z ✔ migrates v34 message admissions with an empty Skill invocation outcome (135.039172ms) -2026-09-27T05:35:01.9035542Z ✔ migrates a v36 cancellation tombstone without inventing a claim owner (89.076998ms) -2026-09-27T05:35:01.9045631Z ✔ rejects an admission handed off to a different Turn (93.436614ms) -2026-09-27T05:35:01.9075737Z ✔ retires an interrupted steering admission proven by its successor Root (87.431683ms) -2026-09-27T05:35:01.9095890Z ✔ rejects a successor Root proof whose content conflicts with the stale admission (96.153683ms) -2026-09-27T05:35:01.9125713Z ✔ rejects successor Root proof with matching content but different submit semantics (258.312851ms) -2026-09-27T05:35:01.9135827Z ✔ repeats a proven Root message handoff after its admission is gone (57.261597ms) -2026-09-27T05:35:01.9166305Z ✔ rejects an admission-less handoff without a proven Root message (66.150044ms) -2026-09-27T05:35:01.9182931Z ✔ rejects a proven Root handoff for a cancelled admission (54.612078ms) -2026-09-27T05:35:01.9195682Z ✔ rejects proven Root fallback content that drifts from an admission (66.040273ms) -2026-09-27T05:35:01.9197172Z ✔ validates proven Root fallback identities and timestamps before handoff (52.404554ms) -2026-09-27T05:35:01.9198297Z ✔ removes the accepted payload without writing a transcript row (70.660819ms) -2026-09-27T05:35:01.9199417Z ✔ accepts a proof-backed steering handoff from a later execution Turn (85.984286ms) -2026-09-27T05:35:01.9200410Z ✔ ⌘-click adds a row without opening it (141.046878ms) -2026-09-27T05:35:01.9201400Z ✔ retract replaces an accepted payload with a minimal identity tombstone (101.817186ms) -2026-09-27T05:35:01.9202594Z ✔ Ctrl-click is the same gesture, for the platforms that spell it that way (100.122216ms) -2026-09-27T05:35:01.9203699Z ✔ a WorkHub action identity owns one operation across store restarts (101.921832ms) -2026-09-27T05:35:01.9204952Z ✔ Shift-click asks for a range, and hands over the rendered order (93.186253ms) -2026-09-27T05:35:01.9205929Z ✔ a picked row says so on its ground (65.488384ms) -2026-09-27T05:35:01.9206853Z ✔ the open row says it is picked once the set is more than itself (70.359406ms) -2026-09-27T05:35:01.9425917Z ▶ Usage feature scope -2026-09-27T05:35:01.9516682Z ✔ re-displays the last snapshot immediately when returning to the section, then refreshes (442.089563ms) -2026-09-27T05:35:01.9576416Z ✔ cancellation tombstones retain the durable claim that created them (80.216036ms) -2026-09-27T05:35:01.9656236Z ✔ retires an accepted follow-up under its successor root (76.529038ms) -2026-09-27T05:35:01.9772298Z ✔ a rail with no selection wired up behaves exactly as before (5.913231ms) -2026-09-27T05:35:02.0311295Z ✔ Escape drops the picks (42.075385ms) -2026-09-27T05:35:02.0596485Z ✔ persists a steering reorder across SQLite restart (112.818006ms) -2026-09-27T05:35:02.1266241Z ✔ Escape with nothing picked is not this handler's business (74.085973ms) -2026-09-27T05:35:02.1456296Z ✔ persists a followup reorder across SQLite restart (89.06072ms) -2026-09-27T05:35:02.2216999Z ✔ retains the previous result with a concise notice when a new range fails (290.564692ms) -2026-09-27T05:35:02.2726435Z ✔ right-clicking a pickable row opens its menu (136.160763ms) -2026-09-27T05:35:02.2916426Z ✔ migrates v24 legacy session statuses to active exactly once (138.736324ms) -2026-09-27T05:35:02.3861172Z ✔ right-clicking a row outside the set replaces it (125.748237ms) -2026-09-27T05:35:02.4236458Z ✔ discards the previous Host generation snapshot when targetKey changes (213.131509ms) -2026-09-27T05:35:02.4515992Z ✔ migrates v26 archive signals onto one canonical archive field exactly once (167.711777ms) -2026-09-27T05:35:02.4592694Z ✔ right-clicking inside the set keeps it (116.290285ms) -2026-09-27T05:35:02.5231391Z ✔ clicking ⋯ on a row outside the set replaces it, and never opens the task (46.547302ms) -2026-09-27T05:35:02.5713439Z ✔ accepts a load that resolves while the view is unmounted, visible on return (166.822261ms) -2026-09-27T05:35:02.6708226Z ✔ the menu counts the set once more than one row is picked (142.141363ms) -2026-09-27T05:35:02.7116290Z ✔ fences a late load from a superseded Host generation (141.939367ms) -2026-09-27T05:35:02.7696323Z ✔ the menu is about the one row when only that row is picked (100.161689ms) -2026-09-27T05:35:02.8446361Z ✔ a set that is pinned throughout offers to unpin it (84.331454ms) -2026-09-27T05:35:02.9186789Z ✔ keeps the snapshot while the loading gate shows a skeleton (189.599863ms) -2026-09-27T05:35:02.9628530Z ✔ fences an in-flight load synchronously when the host changes before the re-render (97.483841ms) -2026-09-27T05:35:02.9676065Z ✔ Usage feature scope (1550.351944ms) -2026-09-27T05:35:02.9722807Z ✔ rejects a session metadata schema newer than the supported version (123.236502ms) -2026-09-27T05:35:02.9796497Z ✔ changes archive state without overwriting execution status (65.494163ms) -2026-09-27T05:35:02.9826736Z ✔ rejects Session lifecycle fields through generic metadata writes (92.979814ms) -2026-09-27T05:35:02.9855995Z ✔ atomically retires a revision family with CAS and tombstone retries (90.137574ms) -2026-09-27T05:35:02.9919648Z ✔ atomically archives linked Sessions while removing their parent (63.563488ms) -2026-09-27T05:35:02.9976106Z ✔ does not rewrite an already archived linked Session during parent removal (79.740784ms) -2026-09-27T05:35:03.0066466Z ✔ same-revision filters supersede both old screens and continuations and retain fixed time bounds (28.324161ms) -2026-09-27T05:35:03.0126597Z ✔ revision change retains the complete screen, blocks paging, and refresh installs a new screen (12.422258ms) -2026-09-27T05:35:03.0166104Z ✔ a mixed set pins, including the rows already pinned (73.674582ms) -2026-09-27T05:35:03.1386587Z ✔ capacity failure never retries and retains the original query until a complete replacement (15.559087ms) -2026-09-27T05:35:03.1407897Z ✔ a Shift range does not reach into a collapsed project (158.118639ms) -2026-09-27T05:35:03.2196273Z ✔ a menu sweeps only the picked rows still on screen (151.749705ms) -2026-09-27T05:35:03.2683591Z ✔ a shared row is not picked, and is still a plain navigation item (35.639786ms) -2026-09-27T05:35:03.3776575Z ✔ right-clicking a shared row leaves the press, and the set, alone (56.11064ms) -2026-09-27T05:35:03.3952903Z ✔ Escape inside a layer above the rail is not the rail's to take (97.200411ms) -2026-09-27T05:35:04.0546382Z ✔ dropping a task on a project row re-files it under that project (330.641002ms) -2026-09-27T05:35:04.1454101Z ✔ dropping a task on the row that leaves every project clears its project (87.745891ms) -2026-09-27T05:35:04.2343988Z ✔ a task can be dropped on a project that has no tasks yet (82.644042ms) -2026-09-27T05:35:04.3147993Z ✔ the row marks its own button as the drag source (68.952835ms) -2026-09-27T05:35:04.4406248Z ✔ a row the shell does not offer is not a drop target (132.079463ms) -2026-09-27T05:35:04.5146573Z ✔ a row that is not one of this task’s destinations refuses the drop (76.508427ms) -2026-09-27T05:35:04.5846137Z ✔ a drag that is not one of our tasks is refused (71.522632ms) -2026-09-27T05:35:04.5898003Z ✔ a task with nowhere to go is neither draggable nor offered a menu (65.896052ms) -2026-09-27T05:35:04.7255883Z ✔ renders session navigation and row actions as sibling controls (147.397978ms) -2026-09-27T05:35:04.7322635Z ✔ renders a scan-friendly compact timestamp in the session rail (49.088315ms) -2026-09-27T05:35:04.7436740Z ✔ shows a new branch's activity time without newer messages (undefined) (11.183122ms) -2026-09-27T05:35:04.7496289Z ✔ shows a new branch's activity time without newer messages (1784851200000) (17.576718ms) -2026-09-27T05:35:04.7541717Z ✔ sorts a newly created branch ahead of older conversations by catalog activity (17.180988ms) -2026-09-27T05:35:04.7620083Z ✔ identifies an external executor in the session rail (19.762138ms) -2026-09-27T05:35:04.7744781Z ✔ wires the session navigation control to its hover card description (27.322551ms) -2026-09-27T05:35:04.7776338Z ✔ a responding row spins where an unread row shows a dot (37.477562ms) -2026-09-27T05:35:04.7818843Z ✔ a row shows its state in place of the timestamp and still names it when covered (37.99439ms) -2026-09-27T05:35:04.7842799Z ✔ renders Runtime Host live runs without requiring renderer-local streaming (7.837932ms) -2026-09-27T05:35:04.7958583Z ✔ prioritizes waiting_for_user attention over a parked live run (9.994161ms) -2026-09-27T05:35:04.8082455Z ✔ prioritizes blocked attention over a parked live run (45.62593ms) -2026-09-27T05:35:04.8146890Z ✔ keeps known-empty idle unless renderer-local streaming is newer (14.787206ms) -2026-09-27T05:35:04.8148956Z ✔ renders collapsible project navigation and row actions as sibling controls (33.347306ms) -2026-09-27T05:35:04.8157289Z ✔ renders pinned tasks once above project groups (14.036827ms) -2026-09-27T05:35:04.8171426Z ✔ keeps archived-project pins visible once in both grouping modes (40.883035ms) -2026-09-27T05:35:04.8286684Z ✔ an active project whose only task is pinned describes itself as empty (6.43872ms) -2026-09-27T05:35:04.8288570Z ✔ an archived project whose only task is pinned describes itself as empty (9.891386ms) -2026-09-27T05:35:04.8307384Z ✔ keeps project running totals aligned with renderer-local task streaming (8.887521ms) -2026-09-27T05:35:04.9056677Z ✔ localizes task and project hover card summaries (1.133381ms) -2026-09-27T05:35:04.9066574Z ▶ ShellRun UI projection -2026-09-27T05:35:04.9126161Z ✔ reconciles WriteStdin into its Bash parent while retaining safe operation metadata (17.310261ms) -2026-09-27T05:35:04.9154728Z ✔ keeps a durable background update ahead of a stale live turn result (9.029199ms) -2026-09-27T05:35:04.9207471Z ✔ keeps a newer live PTY screen ahead of the persisted snapshot (0.630216ms) -2026-09-27T05:35:04.9254986Z ✔ applies a durable update that arrives before the live Bash result (5.545652ms) -2026-09-27T05:35:04.9271676Z ✔ marks a running ShellRun inherited from a source session as detached (0.636865ms) -2026-09-27T05:35:04.9346230Z ✔ does not pair stale ownership with a newer ShellRun revision (0.612357ms) -2026-09-27T05:35:04.9417169Z ✔ ShellRun UI projection (43.211831ms) -2026-09-27T05:35:04.9435721Z ✔ numbered pages are present initially and jumping to the last page keeps the same controls (1846.94763ms) -2026-09-27T05:35:05.5306618Z ✔ debounces search edits, refreshes immediately, and cancels pending queries on unmount (584.891152ms) -2026-09-27T05:35:07.0366187Z ✔ the settings row always renders (93.517267ms) -2026-09-27T05:35:07.0427906Z ✔ a downloaded update renders its action button (22.755177ms) -2026-09-27T05:35:07.0455863Z ✔ a failed update renders its action button (14.403297ms) -2026-09-27T05:35:07.1653911Z ✔ bundled skills render the product description for their id in every locale (4.493141ms) -2026-09-27T05:35:07.1686358Z ✔ a bundled skill the user edited keeps the edited description (0.244163ms) -2026-09-27T05:35:07.1726328Z ✔ skills the user authored keep their own description in every locale (0.387795ms) -2026-09-27T05:35:07.3782051Z ✔ keeps cached navigation after revision_changed (1862.616212ms) -2026-09-27T05:35:07.4871352Z ✔ an available bundled skill renders the install action (75.5211ms) -2026-09-27T05:35:07.4926428Z ✔ an installed bundled skill replaces the download action with a completion check (21.668025ms) -2026-09-27T05:35:08.1976378Z ✔ Skill locations close the menu before opening and create only a missing directory (516.242791ms) -2026-09-27T05:35:08.3026360Z ▶ applyStreamDelta — the two recovery directions -2026-09-27T05:35:08.3086430Z ✔ head-keeps the prefix and tail-keeps the most recent, from one input (9.951967ms) -2026-09-27T05:35:08.3146032Z ✔ drops the carried state only where head-keep cut the suffix it describes (6.746435ms) -2026-09-27T05:35:08.3199044Z ✔ freezes a full head-kept buffer and keeps a tail-kept window sliding (1.241859ms) -2026-09-27T05:35:08.3256049Z ✔ applyStreamDelta — the two recovery directions (19.653085ms) -2026-09-27T05:35:08.3315872Z ▶ applyStreamDelta — defensive guard -2026-09-27T05:35:08.3385085Z ✔ drops a non-string delta in both directions (0.299676ms) -2026-09-27T05:35:08.3416012Z ✔ passes the caller state straight back through the guard (6.454225ms) -2026-09-27T05:35:08.3445737Z ✔ applyStreamDelta — defensive guard (7.088328ms) -2026-09-27T05:35:08.3505529Z ▶ applyStreamComplete -2026-09-27T05:35:08.3565913Z ✔ applies the total cap in the direction it was given (0.566534ms) -2026-09-27T05:35:08.3619023Z ✔ redacts the final payload (0.303358ms) -2026-09-27T05:35:08.3675781Z ✔ returns empty for a non-string payload (0.220086ms) -2026-09-27T05:35:08.3723392Z ✔ applyStreamComplete (1.531773ms) -2026-09-27T05:35:08.9326018Z ▶ streaming display redaction -2026-09-27T05:35:08.9327099Z ✔ matches the whole-text oracle for every chunking of short inputs (726.126095ms) -2026-09-27T05:35:08.9328088Z ✔ covers separators, JWTs, opaque tokens, hashes, whitespace, and newlines (514.996872ms) -2026-09-27T05:35:08.9329540Z ✔ matches randomized prefixes under deterministic arbitrary chunking (36.41491ms) -2026-09-27T05:35:08.9330596Z ✔ settles completed lines while retaining only the mutable suffix (1.761146ms) -2026-09-27T05:35:08.9331756Z ✔ fails closed when a stateless bootstrap follows a redaction marker (0.420362ms) -2026-09-27T05:35:08.9332698Z ✔ redacts cross-delta secrets before total truncation (3.99835ms) -2026-09-27T05:35:08.9363303Z ✔ does not expose a secret continuation after a long contextual delta (0.368898ms) -2026-09-27T05:35:08.9426279Z ✔ keeps a large reseed delta whole and preserves its unfinished opener (7.263112ms) -2026-09-27T05:35:08.9448418Z ✔ keeps contextual redaction bounded without changing the visible total cap (0.596607ms) -2026-09-27T05:35:08.9496273Z ✔ settles prior redacted values so the complete retained raw suffix stays bounded (0.579272ms) -2026-09-27T05:35:08.9505754Z ✔ bounds reversible provider and opaque tokens, then recovers existing cap semantics (5.139019ms) -2026-09-27T05:35:08.9524762Z ✔ recovers reversible token invalidation after thinking tail truncation (0.444107ms) -2026-09-27T05:35:08.9539127Z ✔ keeps a Host-merged thinking slice whole below the total cap (3.667293ms) -2026-09-27T05:35:08.9545178Z ✔ continues tail-kept thinking after the total cap without leaking an active secret (0.439118ms) -2026-09-27T05:35:08.9546425Z ✔ recovers a contextual opener hidden by thinking tail truncation (0.792267ms) -2026-09-27T05:35:08.9547335Z ✔ streaming display redaction (1311.987173ms) -2026-09-27T05:35:09.8516217Z ✔ keeps cached navigation after screen_response_too_large (2452.657941ms) -2026-09-27T05:35:11.0226161Z ✔ settles an authoritative baseline delivered after mount (192.949686ms) -2026-09-27T05:35:11.0746067Z ✔ never reveals half of a Unicode code point (49.609191ms) -2026-09-27T05:35:11.1516279Z ✔ keeps settled math stable while the live Markdown tail grows and flushes (89.51863ms) -2026-09-27T05:35:11.1726305Z ✔ keeps inline math when a digit chunk lands after the committed closer (42.469028ms) -2026-09-27T05:35:11.1906452Z ✔ never exposes math transport syntax as a formula crosses the display cursor (14.636301ms) -2026-09-27T05:35:11.2240034Z ✔ keeps a restored prefix inside math visible and handles a formula rewrite (26.626276ms) -2026-09-27T05:35:11.4176325Z ✔ keeps split fenced-code openers literal through final flush (205.982637ms) -2026-09-27T05:35:11.5438691Z ✔ display and copy share reply identity across process, steering and interrupted boundaries (1.615194ms) -2026-09-27T05:35:11.5476138Z ✔ folds interleaved commentary and tools together without changing their order (1.0834ms) -2026-09-27T05:35:11.5647630Z ✔ keeps inserted user instructions and each segment reply outside disclosures (0.375992ms) -2026-09-27T05:35:11.5756297Z ✔ does not promote text followed by tools to the final answer (3.051265ms) -2026-09-27T05:35:11.5846240Z ✔ leaves plain replies alone and includes reasoning in the process (0.271937ms) -2026-09-27T05:35:11.5986286Z ✔ process identity survives tool projection and a new commentary step (0.164875ms) -2026-09-27T05:35:11.6120736Z ✔ keeps a reply visible when only reasoning follows it (0.186129ms) -2026-09-27T05:35:11.6186160Z ✔ reconciled entries keep identity only where the fold actually moved (0.404467ms) -2026-09-27T05:35:11.6226202Z ✔ both branches hand their rendered span to the truncation measurement (340.416588ms) -2026-09-27T05:35:11.6227502Z ✔ the Host untitled name reads as the localized placeholder (127.417691ms) -2026-09-27T05:35:11.6256074Z ✔ committing the untitled placeholder unchanged keeps the stored name (146.838303ms) -2026-09-27T05:35:11.6285907Z ✔ deduplicates identical active toast content within the same session (1.273393ms) -2026-09-27T05:35:11.6315881Z ✔ does not merge identical active toast content across sessions (0.284109ms) -2026-09-27T05:35:11.6317110Z ✔ does not merge different error content within the same session (0.193536ms) -2026-09-27T05:35:12.6685619Z ✔ keeps cached navigation after filter_error (2901.228495ms) -2026-09-27T05:35:12.7946139Z ▶ getOnboardingActivationCandidate -2026-09-27T05:35:12.7976793Z ✔ exposes the readiness-checked pair during an unsettled first activation (4.60759ms) -2026-09-27T05:35:12.8011899Z ✔ does not influence ordinary new tasks after workspace history exists (0.311572ms) -2026-09-27T05:35:12.8066098Z ✔ does not influence the composer after onboarding is settled (0.231169ms) -2026-09-27T05:35:12.8123664Z ✔ does not trust a stale ready-empty snapshot after local history appears (0.173698ms) -2026-09-27T05:35:12.8149192Z ✔ getOnboardingActivationCandidate (10.165388ms) -2026-09-27T05:35:12.8150289Z ▶ onboardingSnapshotProjectionEqual -2026-09-27T05:35:12.8151244Z ✔ ignores sessions churn — the catalog owns live session rows (0.396982ms) -2026-09-27T05:35:12.8152214Z ✔ detects changes in the render-relevant fields (1.725717ms) -2026-09-27T05:35:12.8153103Z ✔ onboardingSnapshotProjectionEqual (2.440598ms) -2026-09-27T05:35:12.8155166Z ✔ one outcome delta leaves unrelated outcomes and default state in place (0.46708ms) -2026-09-27T05:35:12.8156521Z ▶ createOnboardingSnapshotPoller -2026-09-27T05:35:12.8157425Z ✔ uses one targeted read for a named event after bootstrap (5.121319ms) -2026-09-27T05:35:12.8169923Z ✔ keeps the accepted snapshot on a targeted failure until a complete resync succeeds (15.412989ms) -2026-09-27T05:35:12.8174304Z ✔ coalesces a repeat while a targeted read is in flight (0.740217ms) -2026-09-27T05:35:12.8175545Z ✔ bounds distinct pending IDs and falls back to one complete resync (0.566639ms) -2026-09-27T05:35:12.8176594Z ✔ scrubs getSnapshot rejections before routing them to onError (1.092423ms) -2026-09-27T05:35:12.8177648Z ✔ a pull issued while another is in flight runs once after it settles (82.649308ms) -2026-09-27T05:35:12.8178681Z ✔ collapses repeated invalidations during one pull into a single follow-up (4.246244ms) -2026-09-27T05:35:12.8179789Z ✔ a response in flight across dispose cannot write after re-activation (9.181408ms) -2026-09-27T05:35:12.8180735Z ✔ dispose() prevents pending getSnapshot callbacks after unmount (0.340785ms) -2026-09-27T05:35:12.8181715Z ✔ dispose() prevents pending error callbacks after unmount (0.296585ms) -2026-09-27T05:35:12.8183542Z ✔ activate() restores callbacks after StrictMode cleanup replay (0.25912ms) -2026-09-27T05:35:12.8184662Z ✔ createOnboardingSnapshotPoller (121.127437ms) -2026-09-27T05:35:12.8185666Z ✔ discards a pending Project projection after the default Host changes (162.026543ms) -2026-09-27T05:35:12.8186402Z ▶ useSessionTrace -2026-09-27T05:35:12.8187232Z ✔ subscribes only while the panel is active, and unsubscribes when it hides (107.547562ms) -2026-09-27T05:35:12.8188275Z ✔ re-reads once for a burst of ledger-changing events (461.039397ms) -2026-09-27T05:35:12.8189290Z ✔ refreshes Session usage only from the Usage authority signal (1362.746606ms) -2026-09-27T05:35:12.8190189Z ✔ does not re-read for streaming deltas (468.728568ms) -2026-09-27T05:35:12.8191169Z ✔ never reads after the panel hides, even for an event already in flight (455.724131ms) -2026-09-27T05:35:12.8192528Z ✔ keeps the previous timeline across hide and re-activation (8.365557ms) -2026-09-27T05:35:12.8194210Z ✔ rebuilds the requested page depth from the newest runs after a refresh (467.466685ms) -2026-09-27T05:35:12.8195560Z ✔ collapses all loaded earlier pages after reaching the oldest page (16.84555ms) -2026-09-27T05:35:12.8196881Z ✔ rebuilds the loaded window when a run is inserted behind an unchanged head cursor (470.178527ms) -2026-09-27T05:35:12.8198079Z ✔ keeps the requested page depth when a head refresh supersedes load-earlier (459.793074ms) -2026-09-27T05:35:12.8199350Z ✔ settles loading when load-earlier supersedes an in-flight retry (12.066161ms) -2026-09-27T05:35:12.8200394Z ✔ stops presenting an old Session summary when its refresh fails (459.186647ms) -2026-09-27T05:35:12.8201192Z ✔ useSessionTrace (4755.997636ms) -2026-09-27T05:35:12.8201994Z ✔ keeps connection projections isolated and cached by owning Host (73.945549ms) -2026-09-27T05:35:12.8205080Z [desktop] operation failed: Error: session unavailable -2026-09-27T05:35:12.8209007Z at Object.getSnapshot (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/use-shell-connections.test.js:111:23) -2026-09-27T05:35:12.8210824Z at refreshConnections (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/use-shell-connections.js:90:54) -2026-09-27T05:35:12.8212203Z at file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/use-shell-connections.js:46:18 -2026-09-27T05:35:12.8213670Z at Object.react_stack_bottom_frame (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:28656:20) -2026-09-27T05:35:12.8215398Z at runWithFiberInDEV (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:1045:30) -2026-09-27T05:35:12.8216980Z at commitHookEffectListMount (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:13748:29) -2026-09-27T05:35:12.8218600Z at commitHookLayoutEffects (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:13712:11) -2026-09-27T05:35:12.8220206Z at commitLayoutEffectOnFiber (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:15041:13) -2026-09-27T05:35:12.8221873Z at recursivelyTraverseLayoutEffects (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:16482:11) -2026-09-27T05:35:12.8223648Z at commitLayoutEffectOnFiber (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:15121:11) -2026-09-27T05:35:12.8225301Z ✔ loads the default Host projection without waiting for the new-task catalog (29.835197ms) -2026-09-27T05:35:12.8226198Z [desktop] operation failed: Error: profile unavailable -2026-09-27T05:35:12.8227374Z at Object.getConnections (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/use-shell-connections.test.js:116:23) -2026-09-27T05:35:12.8228893Z at refreshConnections (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/use-shell-connections.js:94:51) -2026-09-27T05:35:12.8230194Z at file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/use-shell-connections.js:46:18 -2026-09-27T05:35:12.8231597Z at Object.react_stack_bottom_frame (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:28656:20) -2026-09-27T05:35:12.8236647Z at runWithFiberInDEV (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:1045:30) -2026-09-27T05:35:12.8239274Z at commitHookEffectListMount (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:13748:29) -2026-09-27T05:35:12.8241796Z at commitHookLayoutEffects (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:13712:11) -2026-09-27T05:35:12.8243612Z at commitLayoutEffectOnFiber (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:15041:13) -2026-09-27T05:35:12.8245907Z at recursivelyTraverseLayoutEffects (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:16482:11) -2026-09-27T05:35:12.8248446Z at commitLayoutEffectOnFiber (/home/runner/work/maka/maka/node_modules/react-dom/cjs/react-dom-client.development.js:15121:11) -2026-09-27T05:35:12.8249622Z [desktop] operation failed: Error: session unavailable -2026-09-27T05:35:12.8250959Z at runOnDefaultRuntimeHost (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/platform/desktop/default-runtime-host-operation.js:34:15) -2026-09-27T05:35:12.8252601Z at async refreshConnections (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/use-shell-connections.js:105:32) -2026-09-27T05:35:12.8254094Z ✔ reports connection refresh failures against their owning Host (33.316807ms) -2026-09-27T05:35:12.8255457Z ✔ a default read that fails while the default Host is still connecting stays pending (9.347194ms) -2026-09-27T05:35:12.8256447Z [desktop] operation failed: Error: connection read failed -2026-09-27T05:35:12.8258015Z at runOnDefaultRuntimeHost (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/platform/desktop/default-runtime-host-operation.js:34:15) -2026-09-27T05:35:12.8259821Z at async refreshConnections (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/use-shell-connections.js:105:32) -2026-09-27T05:35:12.8261258Z ✔ a default read failure still toasts when the Host readiness cannot be read (8.638629ms) -2026-09-27T05:35:12.8262582Z ✔ a default failure superseded while its readiness check is in flight does not toast (10.668093ms) -2026-09-27T05:35:12.8263557Z [desktop] operation failed: Error: refresh failed -2026-09-27T05:35:12.8264723Z at file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/use-shell-connections.test.js:307:30 -2026-09-27T05:35:12.8282912Z at process.env.NODE_ENV.exports.act (/home/runner/work/maka/maka/node_modules/react/cjs/react.development.js:890:22) -2026-09-27T05:35:12.8286551Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/use-shell-connections.test.js:306:11) -2026-09-27T05:35:12.8288167Z at async Test.run (node:internal/test_runner/test:1409:7) -2026-09-27T05:35:12.8292524Z at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:35:12.8293914Z ✔ keeps serving the last ready snapshot while a refresh is in flight (#4611) (9.301ms) -2026-09-27T05:35:12.8295278Z ✔ a first load with no prior snapshot still reads empty until ready (#4611) (8.253483ms) -2026-09-27T05:35:12.8296360Z ✔ the startup seed fills an in-flight first refresh (#4611) (8.25151ms) -2026-09-27T05:35:12.8297451Z ✔ a refresh that resolves to a genuinely empty catalog shows empty (#4611) (5.199276ms) -2026-09-27T05:35:12.8298366Z [desktop] operation failed: Error: host b read failed -2026-09-27T05:35:12.8299670Z at runOnDefaultRuntimeHost (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/platform/desktop/default-runtime-host-operation.js:34:15) -2026-09-27T05:35:12.8301448Z at async Object.refreshConnections (file:///home/runner/work/maka/maka/apps/desktop/dist/renderer/use-shell-connections.js:105:32) -2026-09-27T05:35:12.8302905Z at async file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/use-shell-connections.test.js:471:9 -2026-09-27T05:35:12.8304943Z ✔ a default-Host identity change never serves the previous Host catalog (#4611 review) (18.197913ms) -2026-09-27T05:35:12.8313755Z ✔ an older failed refresh cannot erase a newer successful snapshot (7.828085ms) -2026-09-27T05:35:12.8315633Z ✔ a previous Host refresh failure cannot erase the current Host snapshot (7.939937ms) -2026-09-27T05:35:12.8320894Z ▶ useStableActions -2026-09-27T05:35:12.8321826Z ✔ fixes action identities while delegating to the latest committed closures (27.906949ms) -2026-09-27T05:35:12.8322757Z ✔ useStableActions (36.668583ms) -2026-09-27T05:35:12.8323298Z ▶ useWorkBoard -2026-09-27T05:35:12.8324217Z ✔ preserves the loaded window when a mutation change signal refreshes the board (59.572968ms) -2026-09-27T05:35:12.8325350Z ✔ useWorkBoard (61.340625ms) -2026-09-27T05:35:12.8325998Z ▶ web search credential source -2026-09-27T05:35:12.8326968Z ✔ reads Tavily keys from environment without exposing the value in source state (1.028184ms) -2026-09-27T05:35:12.8328050Z ✔ uses env before saved key and draft before both (1.071091ms) -2026-09-27T05:35:12.8328866Z ✔ falls back to saved key, then none (2.888045ms) -2026-09-27T05:35:12.8329640Z ✔ web search credential source (9.399829ms) -2026-09-27T05:35:12.8330474Z ▶ wechat-scan-login abort signal (PR1197 review P2-10) -2026-09-27T05:35:12.8331607Z ✔ fetchWeChatQrcode composes the caller signal so cancel aborts the in-flight request (3.526679ms) -2026-09-27T05:35:12.8332869Z ✔ pollWeChatQrcodeStatus composes the caller signal into the request (1.048903ms) -2026-09-27T05:35:12.8334028Z ✔ wechat-scan-login abort signal (PR1197 review P2-10) (6.592729ms) -2026-09-27T05:35:12.8334910Z ▶ resolveWindowRevealMode -2026-09-27T05:35:12.8335891Z ✔ leaves a product run active (1.078464ms) -2026-09-27T05:35:12.8336688Z ✔ hides an E2E run that did not ask for a window (0.223945ms) -2026-09-27T05:35:12.8337823Z ✔ gives an E2E run that asked for a window pixels, not focus (0.275813ms) -2026-09-27T05:35:12.8338845Z ✔ ignores a stray E2E flag in a packaged build (0.1693ms) -2026-09-27T05:35:12.8339631Z ✔ resolveWindowRevealMode (9.69345ms) -2026-09-27T05:35:12.8340254Z ▶ resolveDockPresentation -2026-09-27T05:35:12.8340854Z ✔ has no dock off macOS (0.264599ms) -2026-09-27T05:35:12.8341580Z ✔ shows the brand mark only for a product run (0.521953ms) -2026-09-27T05:35:12.8342560Z ✔ stays an accessory app for every E2E run, visible window included (0.200073ms) -2026-09-27T05:35:12.8343408Z ✔ resolveDockPresentation (1.560089ms) -2026-09-27T05:35:12.8344009Z ▶ showWindowOnceReady -2026-09-27T05:35:12.8344746Z ✔ reveals an active run with show() (5.716213ms) -2026-09-27T05:35:12.8346639Z ✔ reveals an inactive run without activating the app (0.475805ms) -2026-09-27T05:35:12.8347436Z ✔ never reveals a hidden run (0.481023ms) -2026-09-27T05:35:12.8348226Z ✔ ignores a destroyed or already visible window (0.199033ms) -2026-09-27T05:35:12.8348965Z ✔ showWindowOnceReady (8.540208ms) -2026-09-27T05:35:12.8349556Z ▶ createWindowRevealGate -2026-09-27T05:35:12.8350418Z ✔ flushes a deferred focus request as a real activation for a product run (0.430461ms) -2026-09-27T05:35:12.8351536Z ✔ answers a focus request on an inactive run with a reveal and nothing more (3.57943ms) -2026-09-27T05:35:12.8352673Z ✔ reveals inactively before maximizing, so the maximize cannot raise the app (0.254903ms) -2026-09-27T05:35:12.8353643Z ✔ keeps a hidden run hidden on every path (1.992678ms) -2026-09-27T05:35:12.8354379Z ✔ createWindowRevealGate (6.54294ms) -2026-09-27T05:35:12.8355686Z ✔ Windows tray reopens either surface and reserves quit for the explicit menu action (6.339906ms) -2026-09-27T05:35:12.8356683Z ✔ tray follows the current native UI locale (0.455908ms) -2026-09-27T05:35:12.8357654Z ✔ failed native setup never claims that a background entry exists (4.436974ms) -2026-09-27T05:35:12.8358585Z ✔ macOS and isolated runs do not create another tray entry (0.326123ms) -2026-09-27T05:35:12.8359272Z ▶ Windows maximize renderer sync -2026-09-27T05:35:12.8360097Z ✔ defers one root layout and repaint for a maximized Windows window (8.263794ms) -2026-09-27T05:35:12.8361012Z ✔ does nothing on non-Windows platforms (0.261942ms) -2026-09-27T05:35:12.8362027Z ✔ drops deferred work when the window leaves maximized state or is destroyed (0.407931ms) -2026-09-27T05:35:12.8362938Z ✔ does not touch a destroyed WebContents (0.405041ms) -2026-09-27T05:35:12.8363820Z ✔ reports a native layout failure without stranding future syncs (3.522964ms) -2026-09-27T05:35:12.8364776Z ✔ Windows maximize renderer sync (24.765026ms) -2026-09-27T05:35:12.8377322Z ▶ Work Board IPC -2026-09-27T05:35:12.8378873Z ✔ returns only corrupt_record and preserves diagnostic policy: Work Board item item-1 has invalid record_json (438.22959ms) -2026-09-27T05:35:12.8380552Z ✔ returns only corrupt_record and preserves diagnostic policy: Work Board item item-2 failed contract validation (232.307973ms) -2026-09-27T05:35:12.8382309Z ✔ returns only corrupt_record and preserves diagnostic policy: Work Board item item-3 has indexed columns that disagree with record_json (194.111089ms) -2026-09-27T05:35:12.8383794Z ✔ returns only unknown and preserves diagnostic policy: Database read failed (228.455205ms) -2026-09-27T05:35:12.8385271Z ✔ returns only invalid_input and preserves diagnostic policy: Work Board item id is invalid (110.353551ms) -2026-09-27T05:35:12.8386646Z ✔ returns only not_found and preserves diagnostic policy: Work Board item item-4 was not found (190.574784ms) -2026-09-27T05:35:12.8388072Z ✔ returns only operation_conflict and preserves diagnostic policy: Work Board item revision changed (187.431919ms) -2026-09-27T05:35:12.8390024Z ✔ returns only must_archive_first and preserves diagnostic policy: Only archived Work Board items can be deleted (200.364252ms) -2026-09-27T05:35:12.8391241Z ✔ creates and lists items and emits change signals (221.107149ms) -2026-09-27T05:35:12.8392338Z ✔ registers handlers before the schema-gated store resolves (174.797598ms) -2026-09-27T05:35:12.8393402Z ✔ applies lifecycle mutations and fails closed on invalid input (207.649917ms) -2026-09-27T05:35:12.8394559Z ✔ rejects a linked Session that the Host validator cannot prove (178.651931ms) -2026-09-27T05:35:12.8395660Z ✔ rejects linking a Session to an Inbox item even when the Host validates (225.798358ms) -2026-09-27T05:35:12.8396849Z ✔ passes the canonical board project to the Host validator for a project-scoped item (180.211773ms) -2026-09-27T05:35:12.8398131Z ✔ rejects a project-scoped link whose Session belongs to another project on the same Host (127.082156ms) -2026-09-27T05:35:12.8399346Z ✔ fails closed when the item changes during Host validation (revision CAS) (221.712582ms) -2026-09-27T05:35:12.8400199Z ✔ Work Board IPC (3324.562773ms) -2026-09-27T05:35:12.8401149Z ✔ prevents a second Work Board create while the first request is pending (162.674716ms) -2026-09-27T05:35:12.8402047Z ▶ Work Board Start task target resolution -2026-09-27T05:35:12.8402910Z ✔ resolves an available project alias to a canonical Host target (7.448217ms) -2026-09-27T05:35:12.8404578Z ✔ rejects Inbox and unavailable projects (0.259106ms) -2026-09-27T05:35:12.8406665Z ✔ rejects archived and ambiguous projects (1.729901ms) -2026-09-27T05:35:12.8407503Z ✔ Work Board Start task target resolution (11.05703ms) -2026-09-27T05:35:12.8408181Z ▶ Workbar feature boundary -2026-09-27T05:35:12.8408864Z ✔ contains no Desktop global bridge or shell/process imports (18.621984ms) -2026-09-27T05:35:12.8409798Z ✔ is consumed outside the feature only through public entries (150.900515ms) -2026-09-27T05:35:12.8410664Z ✔ keeps fake services out of the production entry (0.354214ms) -2026-09-27T05:35:12.8411583Z ✔ keeps Workbar topology and resource lifecycle out of AppShell (4.348133ms) -2026-09-27T05:35:12.8412657Z ✔ keeps Quote Companion catalog state and localized scroll copy at the seam (0.388684ms) -2026-09-27T05:35:12.8419448Z ✔ Workbar feature boundary (178.407356ms) -2026-09-27T05:35:13.6868575Z ▶ tool activity presentation -2026-09-27T05:35:13.6915537Z ✔ localizes client capability boundary failures and offers recovery (92.495938ms) -2026-09-27T05:35:13.7036047Z ✔ keeps generic requires-bypass failures verbatim (23.675602ms) -2026-09-27T05:35:13.7092517Z ✔ localizes file-write result summaries (14.772321ms) -2026-09-27T05:35:13.7206249Z ✔ shows AskUserQuestion answers against the offered options (13.644102ms) -2026-09-27T05:35:13.7255990Z ✔ describes Computer Use proxy calls by action instead of the generic tool name (15.248396ms) -2026-09-27T05:35:13.7366057Z ✔ inherits the confirmed target and exposes live sequence progress (24.457413ms) -2026-09-27T05:35:13.7439048Z ✔ renders a tool_search activation as a localized capability summary (6.964317ms) -2026-09-27T05:35:13.7496517Z ✔ keeps legacy Computer Use activations friendly without result metadata (12.009384ms) -2026-09-27T05:35:13.7555895Z ✔ uses supplied labels for third-party capability groups (7.667046ms) -2026-09-27T05:35:13.7584674Z ✔ uses one localized presentation model for every first-party capability group (43.629348ms) -2026-09-27T05:35:13.7635870Z ✔ contains a malformed persisted terminal result instead of crashing the renderer (6.141487ms) -2026-09-27T05:35:13.7706099Z ✔ redacts secrets in sensitive values and property names (39.948997ms) -2026-09-27T05:35:13.7735842Z ✔ keeps pre-handoff live output when shell_run lands with empty streams (2.777731ms) -2026-09-27T05:35:13.7775826Z ✔ keeps redacted/truncated meta when live chunks are empty bodies (11.372412ms) -2026-09-27T05:35:13.7832508Z ✔ keeps provider call ids out of output action names (8.835512ms) -2026-09-27T05:35:13.7855570Z ✔ disambiguates code copy actions by their tool call (18.811234ms) -2026-09-27T05:35:13.7909164Z ✔ renders each owned-panel family through one un-nested output surface (25.71016ms) -2026-09-27T05:35:13.7966434Z ✔ keeps plain JSON in the shared quiet panel (5.911047ms) -2026-09-27T05:35:13.8097024Z ✔ routes WriteStdin shell results to the PTY control presentation (4.964697ms) -2026-09-27T05:35:13.8283751Z ✔ renders shared descriptor results and args-only details without inventing panels (23.000257ms) -2026-09-27T05:35:13.8341996Z ✔ switches a shared call from live output to its settled result (17.385045ms) -2026-09-27T05:35:13.8426265Z ✔ hides permission-denied output but keeps cancelled output visible without a failure banner (9.596952ms) -2026-09-27T05:35:13.8495991Z ✔ lets sandbox-blocked output coexist with its banner (16.520926ms) -2026-09-27T05:35:13.8601259Z ✔ tool activity presentation (457.003136ms) -2026-09-27T05:35:13.8726029Z ▶ collapsed tool row target -2026-09-27T05:35:13.8766339Z ✔ shows the invocation line derived from args when no intent exists (1.80087ms) -2026-09-27T05:35:13.8816129Z ✔ prefers the runtime-authored intent over the args-derived line (4.383434ms) -2026-09-27T05:35:13.8855855Z ✔ names a live call from the wire args preview before full args arrive (7.839214ms) -2026-09-27T05:35:13.8875759Z ✔ caps a long command so the collapsed row stays single-line (1.912509ms) -2026-09-27T05:35:13.8935819Z ✔ redacts secrets in the collapsed target (9.119375ms) -2026-09-27T05:35:13.9045932Z ✔ collapsed tool row target (25.52778ms) -2026-09-27T05:35:13.9116308Z ✔ uses WorkHub status once in the collapsed row and retains arguments in details (25.62331ms) -2026-09-27T05:35:13.9266009Z ✔ custom load-tool groups use Traditional Chinese action copy (6.437474ms) -2026-09-27T05:35:13.9336281Z ✔ WorkHub control shows its user-language status in live and recorded tool rows (6.265057ms) -2026-09-27T05:35:13.9396134Z ✔ tool group defers rows and preserves opened detail (uncontrolled) (271.176681ms) -2026-09-27T05:35:13.9448496Z ✔ tool group defers rows and preserves opened detail (controlled) (103.269704ms) -2026-09-27T05:35:13.9535906Z ▶ incremental transcript projection -2026-09-27T05:35:13.9593252Z ✔ a durable append does not reread unchanged historical message contents (4.935246ms) -2026-09-27T05:35:13.9656050Z ✔ a durable append keeps unchanged timeline items inside the affected turn (1.104146ms) -2026-09-27T05:35:13.9715894Z ✔ durable appends preserve cross-turn tool ownership and storage order (15.393472ms) -2026-09-27T05:35:13.9786223Z ✔ appends after replacement, prepend, filtering and locale changes match full projection (8.763531ms) -2026-09-27T05:35:13.9890347Z ✔ a ShellRun child appended before its Bash is folded when the owner arrives (4.566594ms) -2026-09-27T05:35:13.9946216Z ✔ snapshot reordering keeps surviving Turn identities at their new positions (0.532789ms) -2026-09-27T05:35:14.0067319Z ✔ a locale change rematerializes localized system notes (0.347505ms) -2026-09-27T05:35:14.0128953Z ✔ a locale change updates the live context-compaction row text (0.976489ms) -2026-09-27T05:35:14.0196087Z ✔ a shell-run update whose semantics are unchanged affects nothing (5.403101ms) -2026-09-27T05:35:14.0256029Z ✔ a turn missing from the durable snapshot is dropped, leaving the rest identical (0.569313ms) -2026-09-27T05:35:14.0315968Z ✔ deleting an earlier turn keeps the surviving turns identical (0.487318ms) -2026-09-27T05:35:14.0375998Z ✔ an edited-and-resent prompt invalidates its own turn and nothing before it (3.674666ms) -2026-09-27T05:35:14.0413820Z ✔ a live step handed off to durable messages rebuilds only its own turn (2.079641ms) -2026-09-27T05:35:14.0491010Z ✔ an ownership flip at an unchanged revision invalidates the owning turn (0.66205ms) -2026-09-27T05:35:14.0555825Z ✔ a plain text delta never touches the message log at all (4.056857ms) -2026-09-27T05:35:14.0585641Z ✔ an update list mutated in place still advances the projection (0.371161ms) -2026-09-27T05:35:14.0615778Z ✔ a session switch shows the new session and retains nothing of the old (0.530976ms) -2026-09-27T05:35:14.0642246Z ✔ affects the ShellRun owner turn, not the turn the event names (0.524349ms) -2026-09-27T05:35:14.0675856Z ✔ folds a child that renders ahead of the Bash owning the run (6.313061ms) -2026-09-27T05:35:14.0735763Z ✔ applies an update whose only target is a live-only tool (0.453474ms) -2026-09-27T05:35:14.0795848Z ✔ a streaming delta moves only the timeline item it grew (2.785931ms) -2026-09-27T05:35:14.0900737Z ✔ incremental transcript projection (70.714142ms) -2026-09-27T05:35:14.0915605Z ▶ turn identity moves across structural change classes -2026-09-27T05:35:14.0945536Z ✔ a refresh that only changes `tools` moves the turn (2.519561ms) -2026-09-27T05:35:14.1005698Z ✔ a refresh that only changes `status` moves the turn (0.159372ms) -2026-09-27T05:35:14.1036145Z ✔ a refresh that only changes `failureMessage` moves the turn (0.284677ms) -2026-09-27T05:35:14.1107224Z ✔ a refresh that only changes `timeline` moves the turn (0.225788ms) -2026-09-27T05:35:14.1143132Z ✔ turn identity moves across structural change classes (3.474889ms) -2026-09-27T05:35:14.1235174Z ▶ valuesEqual -2026-09-27T05:35:14.1317560Z ✔ fails closed on anything that is not a plain object (0.223969ms) -2026-09-27T05:35:14.1371593Z ✔ valuesEqual (0.31799ms) -2026-09-27T05:35:14.1395383Z ✔ native scroll anchoring stays off while attached and is restored on detach (2.789986ms) -2026-09-27T05:35:14.1606135Z ✔ Ctrl and Meta wheel zoom preserve following (0.629932ms) -2026-09-27T05:35:14.1664078Z ✔ an upward gesture at an unmoving edge keeps following (0.443125ms) -2026-09-27T05:35:14.1722534Z ✔ a passive wheel delivered after its threaded scroll reached the top releases the tail (0.334515ms) -2026-09-27T05:35:14.1776107Z ✔ content that grows under a pinned transcript keeps the tail on screen (0.313192ms) -2026-09-27T05:35:14.1780271Z ✔ identical shrink/grow geometry follows only when no reader input intervened (0.468992ms) -2026-09-27T05:35:14.1789656Z ✔ history prepended above a pinned reader moves the offset without releasing the pin (0.325467ms) -2026-09-27T05:35:14.1851105Z ✔ content landing above a released reader does not re-pin them (0.324675ms) -2026-09-27T05:35:14.1895943Z ✔ scrollend cannot retire a continuing operation or a newer input (0.404546ms) -2026-09-27T05:35:14.1996047Z ✔ scrollbar defaults can land after pointerup, while an unmoved click retires (0.672151ms) -2026-09-27T05:35:14.2013095Z ✔ user input releases the tail before content can overwrite the scroll (0.322583ms) -2026-09-27T05:35:14.2167858Z ✔ returning to the tail re-pins, and following resumes (0.274865ms) -2026-09-27T05:35:14.2205850Z ✔ a detached authority writes nothing (0.274123ms) -2026-09-27T05:35:14.2299286Z ✔ a viewport that loses height takes the pinned reader back to the tail (0.219825ms) -2026-09-27T05:35:14.2396106Z ✔ a reader who scrolls up while the answer grows is still the reader (0.269019ms) -2026-09-27T05:35:14.2445971Z ✔ a slow reader is a reader, however small each step is (0.602238ms) -2026-09-27T05:35:14.2496020Z ✔ the reading position is the Turn the attached reader names under the offset (0.498466ms) -2026-09-27T05:35:14.2530487Z ✔ a change to the list other than growth at its tail keeps the reader on their Turn (0.579213ms) -2026-09-27T05:35:14.2579565Z ✔ reader input ends the positioning, and neither a pinned reader nor a removed Turn is positioned (0.287523ms) -2026-09-27T05:35:14.2618032Z ✔ a navigation waits for its Turn, and a later command supersedes it before it settles (1.338108ms) -2026-09-27T05:35:14.2674073Z ✔ a navigation whose arrival settles without its Turn ends (0.513692ms) -2026-09-27T05:35:14.2684598Z ✔ a transcript without a Turn reader has no reading position (0.212511ms) -2026-09-27T05:35:14.2724913Z ✔ a list is in place once it is measured and the reader is where the last command put them (0.53003ms) -2026-09-27T05:35:14.2795568Z ▶ turnRendersUserMessage -2026-09-27T05:35:14.2875851Z ✔ matches the Turn primary prompt id (1.020968ms) -2026-09-27T05:35:14.2925849Z ✔ matches an admitted user timeline item id (0.311413ms) -2026-09-27T05:35:14.2927225Z ✔ does not match a non-user timeline item that reuses the id (0.171027ms) -2026-09-27T05:35:14.2928096Z ✔ matches across every rendered Turn, not only the tail (0.143899ms) -2026-09-27T05:35:14.2928884Z ✔ without Turns nothing is already rendered (0.155901ms) -2026-09-27T05:35:14.2929553Z ✔ turnRendersUserMessage (9.980284ms) -2026-09-27T05:35:14.2930075Z ▶ selectTailTransientMessages -2026-09-27T05:35:14.2930793Z ✔ drops a duplicate the tail Turn already renders as its prompt (4.449241ms) -2026-09-27T05:35:14.2931676Z ✔ keeps a distinct admitted message queued behind the live prompt (3.209158ms) -2026-09-27T05:35:14.2932530Z ✔ keeps every transient while the Turn has no user row yet (1.75241ms) -2026-09-27T05:35:14.2933326Z ✔ excludes messages already routed into the inline slot (0.25529ms) -2026-09-27T05:35:14.2934037Z ✔ selectTailTransientMessages (10.195323ms) -2026-09-27T05:35:15.4521381Z ✔ coexists with the RuntimeEvent schema in one workspace database (221.55185ms) -2026-09-27T05:35:15.4558908Z ✔ persists an explicitly supplied external genesis boundary (81.235607ms) -2026-09-27T05:35:15.4588070Z ✔ persists one immutable normalized sandbox boundary request at the current revision (111.830496ms) -2026-09-27T05:35:15.4605833Z ✔ serializes stale approvals without lost authority and settles retries idempotently (115.09216ms) -2026-09-27T05:35:15.4618787Z ✔ rejects an expansion atomically before the complete boundary exceeds capacity (11890.866455ms) -2026-09-27T05:35:15.4655902Z ✔ settles an already-authorized temp path without inflating the boundary revision (59.33637ms) -2026-09-27T05:35:15.7105245Z ▶ useWorkbarController -2026-09-27T05:35:15.7152091Z ✔ preserves an expansion requested before the Host-backed Session arrives (107.601895ms) -2026-09-27T05:35:15.7504092Z ✔ toggles the visible tool, reveals a different one, and retains its placement (36.411518ms) -2026-09-27T05:35:15.7748308Z ✔ opens a Side Chat for the active Session instead of toggling a hidden one (22.12921ms) -2026-09-27T05:35:15.7817512Z ✔ keeps the process header spinner-free across tool settlement and grouping (132.459318ms) -2026-09-27T05:35:15.7818778Z ✔ keeps a working cue before any process content arrives (19.594747ms) -2026-09-27T05:35:15.7890345Z ✔ user input and provider retry suppress playful process activity (28.648071ms) -2026-09-27T05:35:15.7967768Z ✔ only the latest assistant segment owns live activity after a user instruction (94.18753ms) -2026-09-27T05:35:15.8027839Z ✔ a live turn keeps its footer empty even after a step lands (100.280661ms) -2026-09-27T05:35:15.8081544Z ✔ shows the outcome in the status row and actions then finish time in the footer for a reply without process entries (12.298372ms) -2026-09-27T05:35:15.8223343Z ✔ keeps right-panel visibility independent across Session navigation (18.37473ms) -2026-09-27T05:35:15.8331962Z ✔ keeps an open requested in the activation commit bound to the new Session (38.129013ms) -2026-09-27T05:35:15.8716375Z ✔ preserves visibility while hiding, rather than removing, another Session's Terminal (29.640782ms) -2026-09-27T05:35:15.8846818Z ✔ projects the canonical project and absorbed aliases into the host model (21.560185ms) -2026-09-27T05:35:15.8924128Z ✔ routes Client Capability decisions to the active Session (10.438607ms) -2026-09-27T05:35:15.9095373Z ✔ keeps the initial Session active after StrictMode replays mount effects (12.583039ms) -2026-09-27T05:35:15.9256808Z ✔ blocks task-specific tools and side-chat commands in WorkHub (21.813589ms) -2026-09-27T05:35:15.9387637Z ✔ opens registry singletons once and dynamic tools as separate instances (10.212204ms) -2026-09-27T05:35:15.9453011Z ✔ retains a Terminal whose start resolves after navigation without revealing it in the new Session (7.600674ms) -2026-09-27T05:35:15.9545814Z ✔ stops only explicitly closed Terminals and retains the same resource across navigation (12.028477ms) -2026-09-27T05:35:15.9699105Z [desktop] operation failed: Error: Host disconnected -2026-09-27T05:35:15.9726860Z at file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/workbar-controller.test.js:554:30 -2026-09-27T05:35:15.9756056Z at process.env.NODE_ENV.exports.act (/home/runner/work/maka/maka/node_modules/react/cjs/react.development.js:890:22) -2026-09-27T05:35:15.9786159Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/workbar-controller.test.js:553:15) -2026-09-27T05:35:15.9837902Z at async Test.run (node:internal/test_runner/test:1409:7) -2026-09-27T05:35:15.9838899Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:35:16.0068312Z ✔ the reading anchor is the Turn the virtualizer maps under the offset (124.451633ms) -2026-09-27T05:35:16.0075016Z ✔ the measurement cache moves with a prepend and starts over when the list is rearranged (19.250941ms) -2026-09-27T05:35:16.0112525Z ✔ a search target is revealed by index once per nonce, then focused and highlighted (17.547681ms) -2026-09-27T05:35:16.0146839Z ✔ a bookmark restores its Turn at the top edge, and an unavailable one falls back to the tail (10.674246ms) -2026-09-27T05:35:16.0170563Z ✔ following the latest cancels a bookmark that has not landed (8.211429ms) -2026-09-27T05:35:16.0197551Z ✔ a rail navigation releases the pin and scrolls its Turn to the top by index (5.601331ms) -2026-09-27T05:35:16.0222304Z ✔ returning to the tail during a prepend landing is not undone by it (8.198665ms) -2026-09-27T05:35:16.0326639Z ✔ a reader who moves while earlier history is on its way stays where they went (10.5491ms) -2026-09-27T05:35:16.0363332Z ✔ a conversation that opens with its list is held back until it is in place, one without a list is not (9.287276ms) -2026-09-27T05:35:16.0406870Z ✔ a pick shows immediately, before the write settles (75.001941ms) -2026-09-27T05:35:16.0455504Z ✔ the pick clears to authority once the write resolves and value catches up (20.861562ms) -2026-09-27T05:35:16.0481789Z ✔ a rejected write rolls back to the authoritative value (13.605141ms) -2026-09-27T05:35:16.0528185Z ✔ the pick holds across an unrelated authority change while the write is in flight (14.893693ms) -2026-09-27T05:35:16.0561738Z ✔ picking the displayed value again never fires a write (15.62284ms) -2026-09-27T05:35:16.0597360Z ✔ latest pick wins: a slower earlier write settling does not wipe a newer pick (15.381605ms) -2026-09-27T05:35:16.0620242Z ✔ detects Apple platforms from navigator.platform values (4.592699ms) -2026-09-27T05:35:16.0664762Z ✔ rejects non-Apple platforms and unknown input (#3876) (0.252094ms) -2026-09-27T05:35:16.0699669Z ✔ prefers userAgentData.platform and falls back only when it is blank (0.213808ms) -2026-09-27T05:35:16.0738207Z ✔ form drafts preserve defaults and distinguish omitted optional booleans from false (8.649404ms) -2026-09-27T05:35:16.0783303Z ✔ accepted response parses numbers and omits excluded optional fields (0.730446ms) -2026-09-27T05:35:16.0826731Z ✔ number fields preserve and accept finite fractional values (0.309045ms) -2026-09-27T05:35:16.0901299Z ✔ explicit optional false remains an accepted value (2.896268ms) -2026-09-27T05:35:16.0907959Z ✔ invalid integer, required value, and multi-select bounds block acceptance (4.301355ms) -2026-09-27T05:35:16.0946270Z ✔ protocol field names remain own data properties (0.272988ms) -2026-09-27T05:35:16.0986562Z ✔ channels keep independent workers and overlays for the same session (72.8346ms) -2026-09-27T05:35:16.1024233Z ✔ revision-aware channel types require a catalog Session revision reader (3.843304ms) -2026-09-27T05:35:16.1026444Z ✔ preserves the public Session setting write result union (0.353979ms) -2026-09-27T05:35:16.1063928Z ✔ revision-aware commits retire only after the target session observes that revision (21.82874ms) -2026-09-27T05:35:16.1106599Z ✔ rapid revision-aware requests retire only after the last committed revision (18.656557ms) -2026-09-27T05:35:16.1136433Z ✔ rapid requests drain to the latest requested value (8.715672ms) -2026-09-27T05:35:16.1155679Z ✔ a rejected catalog refresh does not roll back a committed value (5.756695ms) -2026-09-27T05:35:16.1182176Z ✔ a newer request still writes after the in-flight write fails (7.074699ms) -2026-09-27T05:35:16.1226432Z ✔ clearing a session drops its pending and queued requests (7.557161ms) -2026-09-27T05:35:16.1259503Z ℹ tests 669 -2026-09-27T05:35:16.1302119Z ℹ suites 41 -2026-09-27T05:35:16.1327175Z ℹ pass 669 -2026-09-27T05:35:16.1395553Z ℹ fail 0 -2026-09-27T05:35:16.1466608Z ℹ cancelled 0 -2026-09-27T05:35:16.1495741Z ℹ skipped 0 -2026-09-27T05:35:16.1516292Z ℹ todo 0 -2026-09-27T05:35:16.1567589Z ℹ duration_ms 70220.004359 -2026-09-27T05:35:16.1599477Z ✔ retains a failed Terminal close for visible retry and removes it only after Stop succeeds (45.853555ms) -2026-09-27T05:35:16.1630964Z ✔ releases a retired owner’s terminal topology without stopping Host resources (16.185176ms) -2026-09-27T05:35:16.1664377Z ✔ leaves a late Terminal start with its Host Session after view disposal (2.550379ms) -2026-09-27T05:35:16.1695596Z ✔ recovers a live Terminal after Stop rejects following controller unmount (5.968844ms) -2026-09-27T05:35:16.1730940Z ✔ delivers an old pending Close to the rebuilt view (4.922067ms) -2026-09-27T05:35:16.1756688Z ✔ retries a failed inventory without needing output, navigation or reconnect (3.856761ms) -2026-09-27T05:35:16.1803460Z ✔ restores on reconnect without stealing selection or resurrecting a closed tab from an older read (10.818497ms) -2026-09-27T05:35:16.1804259Z [ui] passed -2026-09-27T05:35:16.1805078Z ✔ completes same Session recovery when Stop is the only invalidator (9.576675ms) -2026-09-27T05:35:16.1805498Z -2026-09-27T05:35:16.1805705Z [mcp] start: npm run test:dist -2026-09-27T05:35:16.1806391Z ✔ completes another Session recovery when Stop is the only invalidator (5.26477ms) -2026-09-27T05:35:16.1807102Z [desktop] operation failed: Error: current failure -2026-09-27T05:35:16.1808070Z at file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/workbar-controller.test.js:792:51 -2026-09-27T05:35:16.1809296Z at process.env.NODE_ENV.exports.act (/home/runner/work/maka/maka/node_modules/react/cjs/react.development.js:890:22) -2026-09-27T05:35:16.1810645Z at TestContext. (file:///home/runner/work/maka/maka/apps/desktop/dist/main/__tests__/workbar-controller.test.js:792:15) -2026-09-27T05:35:16.1811705Z at async Test.run (node:internal/test_runner/test:1409:7) -2026-09-27T05:35:16.1812478Z at async Suite.processPendingSubtests (node:internal/test_runner/test:974:7) -2026-09-27T05:35:16.1813554Z ✔ reports only a Terminal start failure that still belongs to the active Session (5.575035ms) -2026-09-27T05:35:16.1826766Z ✔ keeps Side Chat through collapse and source switches, but confirms explicit content close (8.952952ms) -2026-09-27T05:35:16.1828123Z ✔ retains a Side Chat through a catalog gap and archive, then retires it on source deletion (8.826819ms) -2026-09-27T05:35:16.1829279Z ✔ keeps a newly created companion hidden through panel changes and stale catalogs until cleanup (3.613327ms) -2026-09-27T05:35:16.1830217Z ✔ binds Browser ownership to the selected Session (5.38907ms) -2026-09-27T05:35:16.1831422Z ✔ opens Browser once when the active Session gains a live browser view (6.028598ms) -2026-09-27T05:35:16.1832419Z ✔ links a Session produced on the surface that owns the claim (3.197214ms) -2026-09-27T05:35:16.1833276Z ✔ does not let a New Task reopened on the same Host/project consume the claim (5.629205ms) -2026-09-27T05:35:16.1834194Z ✔ ignores an older surface callback without clearing a newer claim (2.351903ms) -2026-09-27T05:35:16.1885934Z ✔ does not link a first send from a different project surface (4.422627ms) -2026-09-27T05:35:16.1891936Z ✔ drops a claim when Task Entry changes project within the same surface (9.581127ms) -2026-09-27T05:35:16.1893059Z ✔ retries a failed link against the same Session instead of creating a duplicate (3.760015ms) -2026-09-27T05:35:16.1893989Z ✔ starts a new Session when an item target changes after link failure (3.580953ms) -2026-09-27T05:35:16.1895020Z ✔ opens a previously linked Session from a board item (5.02773ms) -2026-09-27T05:35:16.1895748Z ✔ useWorkbarController (541.644916ms) -2026-09-27T05:35:16.1896282Z ▶ Workbar topology -2026-09-27T05:35:16.1896895Z ✔ routes every topology change through the pure reducer (4.658005ms) -2026-09-27T05:35:16.1897763Z ✔ routes panel visibility and dimensions through the layout reducer (1.047837ms) -2026-09-27T05:35:16.1898608Z ✔ keeps static tabs and removes dynamic metadata from persistence (0.653817ms) -2026-09-27T05:35:16.1899363Z ✔ uses the tool registry as the persistence authority (0.472346ms) -2026-09-27T05:35:16.1900137Z ✔ ignores workbar storage from versions outside the support window (0.890039ms) -2026-09-27T05:35:16.1900863Z ✔ drops a retired tool kind left in v3 storage (0.658039ms) -2026-09-27T05:35:16.1901586Z ✔ round-trips v3 layout while filtering transient tab data (0.809144ms) -2026-09-27T05:35:16.1902466Z ✔ persists per-Session collapse and retires the ownerless global preference (4.276876ms) -2026-09-27T05:35:16.1904027Z ✔ distinguishes an unhydrated catalog from an authoritative empty snapshot (2.121628ms) -2026-09-27T05:35:16.1936595Z ✔ evicts deleted Sessions without dropping an active Session awaiting catalog hydration (0.612717ms) -2026-09-27T05:35:16.1937938Z ✔ ignores malformed collapse entries and treats prototype names as Session keys (0.419688ms) -2026-09-27T05:35:16.1939027Z ✔ falls back to an empty topology for corrupt v3 storage (0.239491ms) -2026-09-27T05:35:16.1939756Z ✔ Workbar topology (21.663192ms) -2026-09-27T05:35:16.1940331Z ▶ createDesktopWorkbarServices -2026-09-27T05:35:16.1941198Z ✔ recovers only live local desktop PTYs from the Host inventory and updates (9.296032ms) -2026-09-27T05:35:16.1942299Z ✔ waits for Host admission before accepting a Side Conversation follow-up (0.604923ms) -2026-09-27T05:35:16.1943243Z ✔ preserves the Side Conversation Stop identity kind (0.516303ms) -2026-09-27T05:35:16.1944227Z ✔ reports Side Conversation readiness again after an observation reseed (0.38505ms) -2026-09-27T05:35:16.1966512Z ✔ maps every Workbar capability to the existing Desktop bridge (4.668684ms) -2026-09-27T05:35:16.1967357Z ✔ createDesktopWorkbarServices (17.183911ms) -2026-09-27T05:35:16.4344618Z -2026-09-27T05:35:16.4375936Z > @maka/mcp@0.1.0 test:dist -2026-09-27T05:35:16.4393731Z > node --test "dist/**/*.test.js" -2026-09-27T05:35:16.4434905Z -2026-09-27T05:35:16.6023169Z ✔ moving the pointer does not take control; user clicks, scrolling and non-modifier keys do (62.584738ms) -2026-09-27T05:35:16.7336141Z ▶ McpCredentialCoordinator -2026-09-27T05:35:16.7371760Z ✔ an abort landing during the storage read blocks the commit (2.712183ms) -2026-09-27T05:35:16.7425979Z ✔ a stale flow cannot delete or overwrite another writer’s rotation (3.661001ms) -2026-09-27T05:35:16.7447751Z ✔ a logout landing during the storage read blocks the commit too (0.627804ms) -2026-09-27T05:35:16.7532294Z ✔ an abandoned erase cannot tombstone the record a newer login stored (2.797508ms) -2026-09-27T05:35:16.7565676Z ✔ McpCredentialCoordinator (18.963094ms) -2026-09-27T05:35:16.7616939Z ✔ control rejects ordinary Sessions, stale turns and switched Host epochs before observation (18.875909ms) -2026-09-27T05:35:16.7618549Z ✔ partial batches never replay input and the failure budget belongs to the real turn (31.804379ms) -2026-09-27T05:35:16.7776173Z ✔ fails closed before processing oversized input (3.310232ms) -2026-09-27T05:35:16.7815973Z ✔ redacts a secret that crosses the visible output boundary (3.029689ms) -2026-09-27T05:35:16.7845992Z ✔ sanitizes control and format characters across the diagnostic boundary (5.079799ms) -2026-09-27T05:35:16.7875838Z ✔ takeover cancels waiting and interrupts the exact owning turn (29.938209ms) -2026-09-27T05:35:16.7877406Z ✔ observations exclude browser, terminal, password and marked descendants and reject replaced or stale handles (14.570983ms) -2026-09-27T05:35:16.8445936Z ▶ MCP form elicitation adapter -2026-09-27T05:35:16.8476100Z ✔ preserves types, defaults, optional fields and validation constraints (18.2259ms) -2026-09-27T05:35:16.8506159Z ✔ applies a visible client limit to unbounded server strings (4.460495ms) -2026-09-27T05:35:16.8566116Z ✔ normalizes all protocol enum variants without changing choice values (7.276808ms) -2026-09-27T05:35:16.8626074Z ✔ returns bare decline and cancel responses and rejects attached answers (4.532216ms) -2026-09-27T05:35:16.8655953Z ✔ rejects unsupported constraints and impossible schemas before showing a form (4.469142ms) -2026-09-27T05:35:16.8685865Z ✔ rejects non-form requests and unsupported root constraints (0.423266ms) -2026-09-27T05:35:16.8715918Z ✔ uses canonical form bounds and strips display controls without changing protocol values (4.956156ms) -2026-09-27T05:35:16.8725755Z ✔ fails closed when canonical admission cannot represent a field identity (0.405191ms) -2026-09-27T05:35:16.8775626Z ✔ MCP form elicitation adapter (49.214123ms) -2026-09-27T05:35:16.9566562Z ✔ native input passes through only the assistant and restores hit testing after failure (176.518576ms) -2026-09-27T05:35:17.0150743Z ✔ serializes competing approvals from independent SQLite connections (917.308367ms) -2026-09-27T05:35:17.0210574Z ✔ records Auto and Bypass changes in the same revision log and restores managed authority (84.415227ms) -2026-09-27T05:35:17.0236253Z ✔ restores an unnamed managed profile after a temporary Bypass boundary (53.55027ms) -2026-09-27T05:35:17.0276067Z ✔ restores canonical Auto when an Explore-origin session has no Auto history (97.207343ms) -2026-09-27T05:35:17.0325899Z ✔ classifies the internal read-only profile by policy instead of its display name (123.984551ms) -2026-09-27T05:35:17.0385760Z ✔ restores accumulated Auto authority after a temporary Explore boundary (70.553822ms) -2026-09-27T05:35:17.0415793Z ✔ reads the header projection and execution boundary from one authority snapshot (66.387326ms) -2026-09-27T05:35:17.0445772Z ✔ rolls back a boundary kind and header projection as one transaction (51.845949ms) -2026-09-27T05:35:17.0495893Z ✔ rolls back request settlement and boundary application as one transaction (60.756765ms) -2026-09-27T05:35:17.0526044Z ✔ projects only explicit denials from exact trusted continuation identities (37.132574ms) -2026-09-27T05:35:17.5896964Z ✔ typed Settings navigation reveals clipped sidebar controls through native wheel input (589.613305ms) -2026-09-27T05:35:17.5926132Z ✔ window preparation cannot admit input after takeover or a Host switch (9.299406ms) -2026-09-27T05:35:17.5966095Z ✔ task coordination does not open or focus the controlled main window (6.013812ms) -2026-09-27T05:35:17.6037612Z ✔ takeover stops an action without exposing its internal abort reason as a conversation error (3.914926ms) -2026-09-27T05:35:17.6096066Z ✔ cancelling undo is a normal completion for the renderer (11.679056ms) -2026-09-27T05:35:17.6126462Z ✔ control requires a short status before preparing the window and publishes the same text (7.927837ms) -2026-09-27T05:35:17.6320322Z ✔ ambiguous legacy denial blocks only its trusted chain, even after an explicit denial (100.527453ms) -2026-09-27T05:35:17.6364197Z ✔ does not invent revisions for denial or an already-contained approval (57.753348ms) -2026-09-27T05:35:17.6386798Z ✔ records host restart when recovery denies an ownerless boundary request (53.538782ms) -2026-09-27T05:35:17.6437451Z ✔ lists only host-restart closures, never other settlements (61.462349ms) -2026-09-27T05:35:17.6496164Z ✔ keeps request provenance durable and rejects a reuse that changes it (58.878934ms) -2026-09-27T05:35:17.6526078Z ✔ lists only pending sandbox boundary requests for resume (79.551001ms) -2026-09-27T05:35:17.6580556Z ✔ lists sessions in recency order with readable flags, archive state, and labels (62.529407ms) -2026-09-27T05:35:17.6605807Z ✔ queries typed subagent relations through the dedicated parent index (41.051893ms) -2026-09-27T05:35:17.6635826Z ✔ atomically reuses one child per durable spawn identity and rejects request drift (39.036318ms) -2026-09-27T05:35:17.6695936Z ✔ updates metadata and labels with a compare-and-set version (58.986827ms) -2026-09-27T05:35:17.7656376Z ✔ keeps stable create claims across exact retries, removal, and reopen (120.763961ms) -2026-09-27T05:35:18.1748939Z ✔ real modern form round trip preserves original arguments, IDs, state and per-call capability (540.347096ms) -2026-09-27T05:35:18.3067087Z ✔ explicit decline is a protocol response, not global Stop (146.722289ms) -2026-09-27T05:35:18.3776382Z ✔ explicit cancel is a protocol response, not global Stop (68.013706ms) -2026-09-27T05:35:18.4605467Z ✔ handler-less call does not advertise elicitation and does not retry (81.877283ms) -2026-09-27T05:35:18.5506954Z ✔ multiple rounds replace old responses and preserve exact opaque state (97.05189ms) -2026-09-27T05:35:18.8248095Z ✔ reserves stable create identity before metadata commit and across reopen (95.195892ms) -2026-09-27T05:35:18.8340624Z ✔ commits configuration and sandbox boundary as one compare-and-set transaction (90.051327ms) -2026-09-27T05:35:18.8404142Z ✔ clears only the explicit connection-block lifecycle transition (84.475796ms) -2026-09-27T05:35:18.8467302Z ✔ rolls back row changes at every injected transaction failure (96.441904ms) -2026-09-27T05:35:18.8528004Z ✔ deletes metadata atomically (89.664789ms) -2026-09-27T05:35:18.8587404Z ✔ SqliteSessionMetadataStore (18716.272851ms) -2026-09-27T05:35:18.8617017Z ▶ SQLite agent graph operator provisions -2026-09-27T05:35:18.8663091Z ✔ atomically commits one child Session and monotonic topology row (113.647412ms) -2026-09-27T05:35:18.8720621Z ✔ retires a graph root with its operator and purges only that graph control state (109.701816ms) -2026-09-27T05:35:18.8787824Z ✔ rolls back child and topology together on a provision failure (55.552289ms) -2026-09-27T05:35:18.8856103Z ✔ SQLite agent graph operator provisions (279.289694ms) -2026-09-27T05:35:18.8915693Z ▶ SQLite agent graph client projections -2026-09-27T05:35:18.8956054Z ✔ atomically reads a graph with an independently versioned operator row (65.838836ms) -2026-09-27T05:35:18.8984035Z ✔ CAS-fences stale writers and deduplicates incremental durable records (88.890407ms) -2026-09-27T05:35:18.8987025Z ✔ materializes bounded current state and keyset-pages terminal activity (79.137704ms) -2026-09-27T05:35:18.8998678Z ✔ rejects a projection commit after its root retirement cleanup completes (91.61647ms) -2026-09-27T05:35:18.9000322Z ✔ SQLite agent graph client projections (328.977917ms) -2026-09-27T05:35:18.9310898Z ✔ usage migration backfills Session identity for existing ledger rows (19.880134ms) -2026-09-27T05:35:18.9347771Z ✔ the migration spreads a stored record into the columns a cost answer sums (11.774887ms) -2026-09-27T05:35:18.9383595Z ✔ a record the migration cannot read whole keeps its identity and loses the rest (12.868274ms) -2026-09-27T05:35:18.9408757Z ✔ the migration is a no-op once the ledger already holds columns (26.19406ms) -2026-09-27T05:35:18.9475953Z ✔ the migration converts every row, however many a workspace holds (758.776068ms) -2026-09-27T05:35:18.9477682Z ✔ the ledger refuses a row that would make a total dishonest (13.250695ms) -2026-09-27T05:35:18.9516483Z ✔ Usage title revision ignores unrelated metadata and covers every activity source (24.57645ms) -2026-09-27T05:35:18.9547071Z ▶ SQLite workflow stores -2026-09-27T05:35:18.9582952Z ✔ lists only Sessions whose latest Plan lifecycle is active (560.091506ms) -2026-09-27T05:35:18.9616918Z ✔ persists Plan exclusively through events (228.445817ms) -2026-09-27T05:35:18.9651592Z ✔ migrates released workflow schema 9 projections to the current workflow schema (286.041138ms) -2026-09-27T05:35:18.9654868Z ✔ restores SessionTodo storage and drops Task Ledger events from workflow schema 10 (314.671416ms) -2026-09-27T05:35:18.9691079Z ✔ preserves every released projection when one table has unfamiliar DDL (178.787711ms) -2026-09-27T05:35:18.9716959Z ✔ preserves every released projection when one table carries an extra trigger (209.34104ms) -2026-09-27T05:35:18.9754867Z ✔ preserves an unfamiliar projection whose table name differs only by case (249.561796ms) -2026-09-27T05:35:18.9787857Z ✔ preserves released projections with a sqliteX-prefixed trigger (169.429548ms) -2026-09-27T05:35:18.9818525Z ✔ preserves released projections with a sqliteX-prefixed dependent view (257.093047ms) -2026-09-27T05:35:18.9836360Z ✔ an older workflow reader rejects the newer schema without changing it (243.531531ms) -2026-09-27T05:35:18.9863060Z ✔ backs up and restores Plan and initialized SessionTodo state (501.889868ms) -2026-09-27T05:35:18.9905816Z ✔ reconciles exact Plan retries through durable operation identity (212.330391ms) -2026-09-27T05:35:18.9943933Z ✔ rejects Plan data that the Runtime Host projection cannot represent (179.454228ms) -2026-09-27T05:35:18.9955923Z ✔ reserves enough projection space for the complete Plan lifecycle (268.5533ms) -2026-09-27T05:35:18.9999821Z ✔ rejects proposals whose later lifecycle projection would overflow (209.093957ms) -2026-09-27T05:35:19.0038664Z ✔ purges Plan events for retired Sessions (208.85848ms) -2026-09-27T05:35:19.0062923Z ✔ persists Scheduled Tasks and admits each fire once (247.923259ms) -2026-09-27T05:35:19.0102362Z ✔ persists the exact ScheduledTask Agent execution identity before admission (262.010505ms) -2026-09-27T05:35:19.0140481Z ✔ folds retired permission modes in tasks and pending fire claims (355.734707ms) -2026-09-27T05:35:19.0175675Z ✔ does not lower maxFires below the task fire count (260.883688ms) -2026-09-27T05:35:19.0196167Z ✔ SQLite workflow stores (5413.459454ms) -2026-09-27T05:35:19.0237382Z ✔ reads one bounded regular-file snapshot and rejects in-place growth (36.000811ms) -2026-09-27T05:35:19.0283725Z ✔ rejects a symlink instead of following it (22.734514ms) -2026-09-27T05:35:19.0325182Z ✔ rejects a pathname replaced after opening the file (9.77197ms) -2026-09-27T05:35:19.0350696Z ✔ hardenDirectory creates a 0700 directory chain (25.917585ms) -2026-09-27T05:35:19.0372170Z ✔ hardenDirectory re-chmods a pre-existing world-accessible directory to 0700 (8.441708ms) -2026-09-27T05:35:19.0395794Z ✔ State Root composition binding is durable, idempotent, and exclusive (170.970415ms) -2026-09-27T05:35:19.0426780Z ✔ State Root composition binding rejects a corrupt existing authority record (23.295826ms) -2026-09-27T05:35:19.0463259Z ✔ accepts the complete safe storage identifier boundary (3.225902ms) -2026-09-27T05:35:19.0496466Z ✔ rejects unsafe storage identifier values (4.139761ms) -2026-09-27T05:35:19.0535691Z ✔ storage writer composition rejects reuse until close completes (599.933478ms) -2026-09-27T05:35:19.0545928Z ✔ opening a second storage writer composition creates a usable lifecycle (443.884532ms) -2026-09-27T05:35:19.0586115Z ✔ context-offload authority is optional and participates in composition close (379.825834ms) -2026-09-27T05:35:19.0613159Z ✔ an unavailable context-offload authority does not fail the storage composition (346.227005ms) -2026-09-27T05:35:19.0648780Z ✔ a failed close keeps the lease unavailable (363.718984ms) -2026-09-27T05:35:19.0667031Z ✔ a failed runtime-policy hook rolls back before reopening (363.395764ms) -2026-09-27T05:35:19.0692309Z ✔ target evidence ignores 12k unrelated records, survives reopen and checks Session scope (2338.06994ms) -2026-09-27T05:35:19.0694893Z ✔ checks byte and record budgets before fetching any ledger JSON (1515.808259ms) -2026-09-27T05:35:19.0698081Z ✔ unscoped malformed transitions prevent a false complete history (248.405124ms) -2026-09-27T05:35:19.0699284Z ✔ upgrades the target index without rewriting immutable transition records (379.55638ms) -2026-09-27T05:35:19.0700302Z ✔ reader close and root revocation never return evidence (280.509194ms) -2026-09-27T05:35:19.0701319Z ✔ database read failures are unavailable, not corrupt evidence (282.745868ms) -2026-09-27T05:35:19.0702281Z ✔ invalid event JSON and transition envelopes remain corrupt (278.176846ms) -2026-09-27T05:35:19.0703865Z ✔ state-only rounds are bounded and retain an empty state exactly (390.518313ms) -2026-09-27T05:35:19.0705516Z ✔ invalid sibling fails preflight without displaying the valid first form (36.833205ms) -2026-09-27T05:35:19.0708167Z ✔ invalid accepted answer never reaches server (64.521753ms) -2026-09-27T05:35:19.1442736Z ✔ stop aborts a pending callback even when it ignores cancellation (88.503162ms) -2026-09-27T05:35:19.2072095Z ✔ disconnect aborts a pending callback even when it ignores cancellation (67.315016ms) -2026-09-27T05:35:19.2147331Z ▶ InteractiveUsageStores -2026-09-27T05:35:19.2167265Z ✔ classifies facade failures without exposing concrete errors to callers (4.197281ms) -2026-09-27T05:35:19.2207086Z ✔ seeds an empty pricing authority for a fresh workspace (413.642053ms) -2026-09-27T05:35:19.2245220Z ✔ publishes the owning Session after each durable model-usage write (261.543324ms) -2026-09-27T05:35:19.2274594Z ✔ publishes the owning Session after a durable tool-usage write (207.820166ms) -2026-09-27T05:35:19.2296128Z ✔ does not republish idempotent model-usage mutations (134.228466ms) -2026-09-27T05:35:19.2335610Z ✔ classifies a renamed or replaced live root as a draining persistence failure (373.063107ms) -2026-09-27T05:35:19.2354362Z ✔ classifies poisoned live root markers as draining persistence failures (814.294502ms) -2026-09-27T05:35:19.2355542Z ✔ drain waits accepted writes and rejects new admission (357.552787ms) -2026-09-27T05:35:19.2385606Z ✔ close waits an admitted Usage screen read and rejects later reads (214.924822ms) -2026-09-27T05:35:19.2410326Z ✔ a failed admitted Usage read settles the barrier without poisoning close (194.059364ms) -2026-09-27T05:35:19.2424885Z ✔ lease-bound facade exposes separate LLM and filtered tool logs (273.925281ms) -2026-09-27T05:35:19.2448656Z ✔ legacy summary clamps each cache reading to its own input (264.483289ms) -2026-09-27T05:35:19.2485625Z ✔ legacy usage buckets clamp each cache reading to its own input (135.010765ms) -2026-09-27T05:35:19.2522036Z ✔ legacy summary reads only the requested Session (249.911451ms) -2026-09-27T05:35:19.2545682Z ✔ legacy summary sums recorded call time over the same rows as its tokens (213.849479ms) -2026-09-27T05:35:19.2575464Z ✔ tool summary scopes to the requested Session and range (283.704876ms) -2026-09-27T05:35:19.2605576Z ✔ tool summary applies the full summary query to the tool rows (186.105842ms) -2026-09-27T05:35:19.2623966Z ✔ tool buckets answer the full summary query, including Session and provider (262.352274ms) -2026-09-27T05:35:19.2642532Z ✔ every facade read observes lease revocation (205.309741ms) -2026-09-27T05:35:19.2697139Z ✔ reader close waits an admitted Usage screen read (269.194494ms) -2026-09-27T05:35:19.2735807Z ✔ reader close releases local resources after lease revocation (278.928688ms) -2026-09-27T05:35:19.2802064Z ✔ InteractiveUsageStores (5605.396503ms) -2026-09-27T05:35:19.2845514Z ▶ revision-consistent Usage screen -2026-09-27T05:35:19.2875929Z ✔ SQL totals and connection/model/tool groups preserve canonical and legacy accounting (379.015659ms) -2026-09-27T05:35:19.2956534Z ✔ keyset pages handle equal timestamps and duplicate display IDs across sources without loss (497.461912ms) -2026-09-27T05:35:19.2985882Z ✔ shares the protocol UTF-8 search boundary (153.00814ms) -2026-09-27T05:35:19.3022038Z ✔ continues after a fractional timestamp without duplicate or missing rows (375.006254ms) -2026-09-27T05:35:19.3047032Z ✔ accepts fractional query bounds from the shared timestamp domain (140.482067ms) -2026-09-27T05:35:19.3106240Z ✔ filters search the full range with Unicode and do not narrow headline totals or breakdowns (473.902425ms) -2026-09-27T05:35:19.3125006Z ✔ matching continuations bound search work even when every timestamp is equal (2516.090353ms) -2026-09-27T05:35:19.3179802Z ✔ an empty search result evaluates historical search fields only once (795.605589ms) -2026-09-27T05:35:19.3249513Z ✔ WorkHub resolves on open and when the default Host authority changes (6.72051ms) -2026-09-27T05:35:19.3276044Z ✔ WorkHub reports an unavailable default Host instead of holding the loading state (0.583583ms) -2026-09-27T05:35:19.3336137Z ✔ WorkHub exposes a retry and automatically retries when model availability changes (2.974991ms) -2026-09-27T05:35:19.3337406Z ✔ WorkHub ignores a stale Host resolution that settles after a newer Host (0.471797ms) -2026-09-27T05:35:19.3366166Z ✔ selecting an unready default Host revokes the old scope and invalidates its resolve (0.463916ms) -2026-09-27T05:35:19.3396010Z ✔ reconnect aborts a pending callback even when it ignores cancellation (90.57454ms) -2026-09-27T05:35:19.3693351Z ✔ close aborts a pending callback even when it ignores cancellation (73.499954ms) -2026-09-27T05:35:19.3886401Z ✔ resolves the Coordination Session through the currently active Runtime Host scope (2.65926ms) -2026-09-27T05:35:19.3911703Z ✔ keeps model setup as a structured WorkHub resolution state (0.291987ms) -2026-09-27T05:35:19.3961947Z ✔ creates against the Coordination Session Host instead of later UI focus (0.878794ms) -2026-09-27T05:35:19.4549733Z ✔ changed refresh aborts a pending callback even when it ignores cancellation (84.618641ms) -2026-09-27T05:35:19.5211903Z ✔ exhaust aborts a pending callback even when it ignores cancellation (59.302494ms) -2026-09-27T05:35:19.5636269Z ✔ unchanged refresh preserves the pending invocation (47.473436ms) -2026-09-27T05:35:19.5926384Z ✔ abort just after answer commitment prevents the next network leg (25.970918ms) -2026-09-27T05:35:19.8078060Z ✔ user wait does not consume the network timeout (217.548322ms) -2026-09-27T05:35:19.8896608Z ✔ separate invocations on one connection keep answers and states isolated (76.703314ms) -2026-09-27T05:35:19.9596449Z ✔ scrubs long state reflected in success (72.91186ms) -2026-09-27T05:35:20.0466197Z ✔ scrubs long state reflected in tool-error (84.292076ms) -2026-09-27T05:35:20.1066477Z ✔ scrubs long state reflected in protocol-error (60.388478ms) -2026-09-27T05:35:20.1458071Z ✔ mixed-source pages and counts match the full filtered history at every range boundary (930.332177ms) -2026-09-27T05:35:20.1576408Z ✔ scrubs short state reflected in success (51.737276ms) -2026-09-27T05:35:20.2037462Z ✔ scrubs short state reflected in tool-error (45.986161ms) -2026-09-27T05:35:20.2697002Z ✔ scrubs short state reflected in protocol-error (66.806708ms) -2026-09-27T05:35:20.3086634Z ✔ state "opaque-secret-state" echoed into a form message fails before projection (42.39731ms) -2026-09-27T05:35:20.3386404Z ✔ state "opaque-secret-state" echoed into a form property key fails before projection (25.142036ms) -2026-09-27T05:35:20.3626562Z ✔ state "opaque-secret-state" echoed into a form default fails before projection (30.116334ms) -2026-09-27T05:35:20.3986253Z ✔ state "opaque\nstate" echoed into a form message fails before projection (31.18966ms) -2026-09-27T05:35:20.4655053Z ✔ state "opaque\nstate" echoed into a form property key fails before projection (65.030735ms) -2026-09-27T05:35:20.4890233Z ✔ state "opaque\nstate" echoed into a form default fails before projection (29.309579ms) -2026-09-27T05:35:20.5219458Z ✔ state "[redacted]" echoed into a form message fails before projection (26.172094ms) -2026-09-27T05:35:20.5423719Z ✔ state "[redacted]" echoed into a form property key fails before projection (29.091662ms) -2026-09-27T05:35:20.5723517Z ✔ state "[redacted]" echoed into a form default fails before projection (24.383005ms) -2026-09-27T05:35:20.6297996Z ✔ a later call cannot project earlier connection state "opaque\nstate" (43.754291ms) -2026-09-27T05:35:20.6553574Z ✔ a later call cannot project earlier connection state "[redacted]" (41.511478ms) -2026-09-27T05:35:20.7246609Z ✔ retained state cannot escape through a later output-schema preparation error (60.705612ms) -2026-09-27T05:35:20.7863495Z ✔ retained state cannot escape through a later header-argument error (73.412532ms) -2026-09-27T05:35:21.0780143Z ✔ each durable writer, correction, deletion, and rollback fences continuation (935.339233ms) -2026-09-27T05:35:21.5038225Z ✔ a concurrent WAL commit between aggregate and activity reads cannot mix versions (426.375148ms) -2026-09-27T05:35:21.8075335Z ✔ retention exhaustion fences an already pending ordinary call (1010.279015ms) -2026-09-27T05:35:21.8399837Z ✔ WorkHub upload references round-trip through idle answers, both queue modes and attachment reads (1277.328742ms) -2026-09-27T05:35:22.1819800Z ✔ database reopen rejects old tokens even when durable incarnation and counter repeat (680.983972ms) -2026-09-27T05:35:22.1835991Z ✔ revision-consistent Usage screen (8305.289918ms) -2026-09-27T05:35:22.5806896Z ✔ retention exhaustion fences an already pending interactive call (778.534744ms) -2026-09-27T05:35:22.6189783Z ✔ rejects excessive state before displaying a form (41.706221ms) -2026-09-27T05:35:22.6409729Z ✔ rejects excessive count before displaying a form (22.617252ms) -2026-09-27T05:35:22.6549855Z ✔ WorkHub loads earlier history through the preload with a fragmented answer (815.979997ms) -2026-09-27T05:35:22.6723967Z ✔ WorkHub read reconnects through observation readiness: failure-before-ready (6.916188ms) -2026-09-27T05:35:22.6799319Z ✔ WorkHub read reconnects through observation readiness: failure-after-ready (3.822031ms) -2026-09-27T05:35:22.6834967Z ✔ WorkHub read reconnects through observation readiness: cached (4.012594ms) -2026-09-27T05:35:22.6950348Z ✔ rejects excessive bytes before displaying a form (41.053725ms) -2026-09-27T05:35:22.7084564Z ▶ Usage range statistics reuse -2026-09-27T05:35:22.7135754Z ✔ search and status changes reuse complete statistics for the same revision and range (522.384757ms) -2026-09-27T05:35:22.7586974Z ✔ cycles through six retained bands in order, then starts the next cycle (5.752566ms) -2026-09-27T05:35:22.7627562Z ✔ samples within each band instead of using six fixed hues (0.509745ms) -2026-09-27T05:35:22.7666147Z ✔ filtering, reordering and adding Works preserve colors and the band cursor (0.262927ms) -2026-09-27T05:35:22.7702367Z ✔ empty input is a no-op and fresh renders sample deterministically (0.367586ms) -2026-09-27T05:35:22.8338656Z ✔ the retry network leg still has its own timeout (145.450149ms) -2026-09-27T05:35:22.9016733Z ✔ old state is scrubbed even after a later round replaces it (66.499247ms) -2026-09-27T05:35:22.9567854Z ✔ a new round without state does not reuse previous state (57.562869ms) -2026-09-27T05:35:23.0834958Z ✔ interactive retry retains SEP-2243 headers and final output validation (95.72205ms) -2026-09-27T05:35:23.1676412Z ✔ a supplied form callback never advertises elicitation on a legacy connection (118.356053ms) -2026-09-27T05:35:23.2100065Z ✔ mutating or freezing a response cannot affect a later screen (501.477717ms) -2026-09-27T05:35:23.4353205Z ✔ failed transaction commits cannot publish statistics under a reusable revision (224.987032ms) -2026-09-27T05:35:23.7716514Z ✔ WorkHub uses the common answer footer and failure presentation without prompt status or branch actions (640.392104ms) -2026-09-27T05:35:23.7718109Z ✔ durable task results restore Host-scoped work links without treating failed or unrelated tools as delegations (8.053863ms) -2026-09-27T05:35:23.7914861Z ✔ a shared coordination turn divides its clickable identity rail equally between Works (142.324701ms) -2026-09-27T05:35:23.7956769Z ✔ WorkHub workspace display names handle Host paths independently of renderer platform (1.099834ms) -2026-09-27T05:35:23.8005803Z ✔ stop and resume keep their scoped Session identity through pending, success and failure (3.157585ms) -2026-09-27T05:35:23.8519592Z ✔ range boundaries, accounting writes, pricing and repair changes refresh statistics (420.643327ms) -2026-09-27T05:35:23.8850959Z ✔ hands safe WorkHub links to the OS while keeping the view local (91.413075ms) -2026-09-27T05:35:23.8936822Z ✔ moves a shared native container while keeping renderer and browser coordinates local (35.504713ms) -2026-09-27T05:35:23.9016481Z ✔ yields the docked native view to main-window overlays without replacing the conversation (43.031655ms) -2026-09-27T05:35:23.9038959Z ✔ yields and restores the conversation when its compositor frame is unavailable (44.399362ms) -2026-09-27T05:35:23.9040604Z ✔ opens an empty floating conversation at its composer height (28.322902ms) -2026-09-27T05:35:23.9041786Z ✔ reopening or docking a crashed conversation creates a ready-gated renderer (17.823309ms) -2026-09-27T05:35:23.9043036Z ✔ animates from the current height, keeps the bottom anchored and survives reversal (27.386708ms) -2026-09-27T05:35:23.9044300Z ✔ reparents one live conversation across docking, floating, hide and main-window close (43.147734ms) -2026-09-27T05:35:23.9045795Z ✔ rejects unowned/subframe IPC and buffers navigation until main subscribes (27.220567ms) -2026-09-27T05:35:23.9047179Z ✔ application broadcasts reach registered auxiliaries once and stop after release or destruction (32.086381ms) -2026-09-27T05:35:23.9048694Z ✔ control shows a passive card only after it is painted and preserves manual conversation geometry (28.175978ms) -2026-09-27T05:35:23.9050328Z ✔ interaction content upgrades native progress in either paint order without activation or reopening dismissal (58.946731ms) -2026-09-27T05:35:23.9051879Z ✔ control preparation refuses disabled presentation before opening and rechecks a pending open (14.342934ms) -2026-09-27T05:35:23.9053327Z ✔ all WorkHub entries obey the client enable setting and disabling retains the renderer (44.544782ms) -2026-09-27T05:35:23.9054740Z ✔ creates on first shortcut, then shows and hides synchronously (27.030519ms) -2026-09-27T05:35:23.9055922Z ✔ a second shortcut or disabling cancels a cold summon before ready (64.517093ms) -2026-09-27T05:35:23.9057139Z ✔ a pending backdrop capture and older hide cannot delay or undo the shortcut (41.46495ms) -2026-09-27T05:35:23.9058412Z ✔ the shortcut supersedes a pending dock without waiting for the main window (29.874393ms) -2026-09-27T05:35:23.9059758Z ✔ native resize callbacks do not submit duplicate view bounds and follow display cadence (38.770039ms) -2026-09-27T05:35:23.9061188Z ✔ hiding returns the live view to Desktop and preserves floating geometry for the next summon (37.970611ms) -2026-09-27T05:35:23.9062583Z ✔ hiding with Desktop closed keeps the conversation alive without reopening Desktop (38.989297ms) -2026-09-27T05:35:23.9063767Z ✔ a hidden Desktop defers native docking until it shows (48.19722ms) -2026-09-27T05:35:23.9065331Z ✔ control keeps a visible Desktop conversation docked and floats it when the host is hidden or occluded (53.143162ms) -2026-09-27T05:35:23.9068884Z ✔ closing progress suppresses the current turn and old paint acknowledgements cannot reopen it (26.95904ms) -2026-09-27T05:35:23.9070246Z ✔ the shortcut opens the normal composer from progress without waiting for its paint (35.499242ms) -2026-09-27T05:35:23.9071691Z ✔ editing progress grows at its existing bottom and opening interpolates both dimensions without stealing focus (34.972381ms) -2026-09-27T05:35:23.9073310Z ✔ late progress measurements and send acknowledgements cannot revive a dismissed card or invalidate the next card paint (19.799784ms) -2026-09-27T05:35:23.9074713Z ✔ summoning and docking honor the run reveal mode (73.018345ms) -2026-09-27T05:35:23.9076509Z ✔ the progress card stays hidden in a hidden run and inactive everywhere else (105.227833ms) -2026-09-27T05:35:23.9078812Z ✔ revealing an interaction cannot detach a docked WorkHub without a current progress request (45.478514ms) -2026-09-27T05:35:23.9080583Z ✔ expanding progress before its first paint reveals the conversation without taking focus (42.74988ms) -2026-09-27T05:35:23.9081792Z ✔ mirrors panel state to WorkHub and routes edge toggles back to Main (26.473592ms) -2026-09-27T05:35:23.9083001Z ✔ task delegation binds the tool action to the Host turn and trusted creation context (11.702092ms) -2026-09-27T05:35:23.9084241Z ✔ nested tool calls produce stable task identities accepted by both Host action paths (4.839748ms) -2026-09-27T05:35:23.9085477Z ✔ linked task operations remain operations at the Host protocol boundary (0.499751ms) -2026-09-27T05:35:23.9086692Z ✔ the task tool exposes correction as a linked operation, not a disposition (11.085543ms) -2026-09-27T05:35:23.9087837Z ✔ a Host switch while resolving the workspace prevents delegation (0.848056ms) -2026-09-27T05:35:23.9089829Z ✔ takeover stops the exact old turn and run even after selecting another Host (2.395408ms) -2026-09-27T05:35:23.9091607Z ✔ a changed turn identity cannot become the takeover target (0.317614ms) -2026-09-27T05:35:23.9092643Z ✔ delegation receipts explicitly distinguish admission from completion evidence (0.296922ms) -2026-09-27T05:35:23.9093757Z ✔ task status can be checked without dispatching another task (1.65107ms) -2026-09-27T05:35:23.9095321Z ✔ status reads exact turn facts without delegation and rejects stale Host or target identity (3.237141ms) -2026-09-27T05:35:23.9096554Z ✔ status does not treat waiting, cancelled or failed execution as completed (0.521433ms) -2026-09-27T05:35:23.9097652Z ✔ stop and resume receipts survive the client capability JSON boundary (4.350601ms) -2026-09-27T05:35:24.6025807Z ✔ a warm cache cannot bypass capacity failures or keep a failed range result (749.927206ms) -2026-09-27T05:35:25.2157729Z ✔ a cache hit and its activity stay in one snapshot during an external WAL commit (611.814334ms) -2026-09-27T05:35:25.2296753Z ✔ modern-only stdio auto negotiation completes a form and protects state reflected on stderr (1539.004119ms) -2026-09-27T05:35:25.2338564Z ✔ stdio before cannot expose continuation state before response or after settlement (1213.35493ms) -2026-09-27T05:35:25.2386398Z ✔ stdio partial cannot expose continuation state before response or after settlement (1361.298255ms) -2026-09-27T05:35:25.2416247Z ✔ stdio continued cannot expose continuation state before response or after settlement (1538.290528ms) -2026-09-27T05:35:25.2431150Z ✔ stdio control cannot expose continuation state before response or after settlement (2055.782988ms) -2026-09-27T05:35:25.6956288Z ✔ different roots with identical ranges retain independent statistics (479.512768ms) -2026-09-27T05:35:25.7026097Z ✔ Usage range statistics reuse (3511.771595ms) -2026-09-27T05:35:25.7426750Z ▶ Work Board store -2026-09-27T05:35:25.7456347Z ✔ persists items across reopen (417.36597ms) -2026-09-27T05:35:25.7486615Z ✔ applies semantic patches and enforces optimistic concurrency (226.5235ms) -2026-09-27T05:35:25.7516029Z ✔ persists an idempotent Host-scoped Session link without changing item state (257.567365ms) -2026-09-27T05:35:25.7517742Z ✔ keeps the single-link contract: a freshly started Session replaces the previous link (232.264871ms) -2026-09-27T05:35:25.7548038Z ✔ archive, reopen, and permanent delete follow the intended lifecycle (262.782252ms) -2026-09-27T05:35:25.7575866Z ✔ paginates with an opaque cursor and filters by scope and archive state (205.451229ms) -2026-09-27T05:35:25.7593717Z ✔ bounds default and scoped list work under archive-heavy data with active-row indexes (556.300406ms) -2026-09-27T05:35:25.7635774Z ✔ rejects a cursor reused with a different filter result set (144.749511ms) -2026-09-27T05:35:25.7665617Z ✔ round-trips pagination cursors with a maximum-length project id (153.102455ms) -2026-09-27T05:35:25.7666927Z ✔ paginates across an unbounded relinked project identity set (291.444119ms) -2026-09-27T05:35:25.7675060Z ✔ keeps mutation timestamps monotonic when now moves backwards (129.574625ms) -2026-09-27T05:35:25.7676293Z ✔ rejects unknown mutation option keys instead of disabling CAS (182.027834ms) -2026-09-27T05:35:25.7677272Z ✔ serializes concurrent mutations through the process-local write queue (243.065416ms) -2026-09-27T05:35:25.7678465Z ✔ CAS across separate worker connections produces exactly one winner and one conflict (1045.386628ms) -2026-09-27T05:35:25.7679847Z ✔ applies notes patch semantics at the store boundary (193.384064ms) -2026-09-27T05:35:25.7680908Z ✔ keeps revision monotonic when mutations share the same timestamp (203.437349ms) -2026-09-27T05:35:25.7681967Z ✔ rejects a row whose record_json is malformed JSON (256.587279ms) -2026-09-27T05:35:25.7683030Z ✔ SQLite rejects inbox rows with a project id and project rows without one (156.615121ms) -2026-09-27T05:35:25.7685922Z ✔ rejects indexed columns that disagree with record_json (185.916658ms) -2026-09-27T05:35:25.7687769Z ✔ migrates a real workflow schema 8 database through event-only version 10 (178.976729ms) -2026-09-27T05:35:25.7688858Z ✔ backs up and restores board items with the operational state (420.428737ms) -2026-09-27T05:35:25.7689707Z ✔ Work Board store (5947.710096ms) -2026-09-27T05:35:25.7690912Z ✔ WorkHub Coordination admission preserves its bounded content identity across restart (legacy) (576.399802ms) -2026-09-27T05:35:25.7692657Z ✔ WorkHub Coordination admission preserves its bounded content identity across restart (stable-action) (262.884718ms) -2026-09-27T05:35:25.7694225Z ✔ WorkHub queued source admission survives restart (1 messages) and cannot authorize an action root (180.576942ms) -2026-09-27T05:35:25.7726047Z ✔ WorkHub queued source admission survives restart (3 messages) and cannot authorize an action root (229.77631ms) -2026-09-27T05:35:25.7755950Z ✔ WorkHub feedback admission preserves its receipt and source across SQLite restart (232.990762ms) -2026-09-27T05:35:25.7787654Z ✔ atomically commits one WorkHub assignment and target admission (422.200752ms) -2026-09-27T05:35:25.7797641Z ✔ atomically binds delegated text and copied attachments while preserving source authority (208.771441ms) -2026-09-27T05:35:25.7799155Z ✔ scans every target Message lifecycle once and preserves Coordination order (364.347773ms) -2026-09-27T05:35:25.7800408Z ✔ keeps target assignments reachable when their Message lifecycle changes (463.44826ms) -2026-09-27T05:35:25.7801648Z ✔ ignores ordinary WorkHub-shaped Message ids without hiding a real linkage (290.91223ms) -2026-09-27T05:35:25.7803208Z ✔ retires a link on every terminal record and on no other outcome (344.06535ms) -2026-09-27T05:35:25.7804325Z ✔ rolls create_new Session back when assignment validation fails (126.881069ms) -2026-09-27T05:35:25.7805629Z ✔ rejects a stale display identity for a new delegation (118.75187ms) -2026-09-27T05:35:25.7806788Z ✔ atomically commits a replacement assignment with the old-link supersession (230.32533ms) -2026-09-27T05:35:25.7807970Z ✔ an aborted replacement cannot later commit a supersession (198.278274ms) -2026-09-27T05:35:25.7809165Z ✔ an unresolved stop claim blocks replacement while not_owned releases the link (213.269734ms) -2026-09-27T05:35:25.7810375Z ✔ a new workspace marker contains only its schema version and UUID (51.707501ms) -2026-09-27T05:35:25.7811432Z ✔ creating a workspace identity keeps a Git worktree clean (98.951183ms) -2026-09-27T05:35:25.7812622Z ✔ an existing workspace marker becomes locally ignored after Git initialization (106.487935ms) -2026-09-27T05:35:25.7813819Z ✔ a subdirectory workspace stays clean inside a linked Git worktree (153.070251ms) -2026-09-27T05:35:25.7815155Z ✔ repeated Git workspace resolution adds one local exclude rule (115.304599ms) -2026-09-27T05:35:25.7840571Z ✔ concurrent Git workspace resolution returns one clean identity (167.686828ms) -2026-09-27T05:35:25.7866033Z ✔ a full Git exclude does not grow when resolving workspace identity (140.059883ms) -2026-09-27T05:35:25.7896970Z ✔ a malformed enclosing Git repository prevents publishing a new marker (34.378072ms) -2026-09-27T05:35:25.7926688Z ✔ a non-Git workspace resolves when the Git executable is unavailable (207.913963ms) -2026-09-27T05:35:25.7928525Z ✔ a Git workspace does not publish a marker when the Git executable is unavailable (317.864818ms) -2026-09-27T05:35:25.7956037Z ✔ an unmarked read-only workspace fails without leaving marker state (17.548603ms) -2026-09-27T05:35:25.7986514Z ✔ a tar archive round-trip preserves workspace identity (71.440376ms) -2026-09-27T05:35:25.8016376Z ✔ importing an existing marker into a Git worktree keeps it clean (64.333827ms) -2026-09-27T05:35:25.8024207Z ▶ Maka workspace root resolver -2026-09-27T05:35:25.8025193Z ✔ resolves Client-owned data outside every Host State Root (6.343365ms) -2026-09-27T05:35:25.8026223Z ✔ resolves release and development profiles under each platform application-data root (0.838723ms) -2026-09-27T05:35:25.8027278Z ✔ derives all subordinate roots from an exact Client Data Root (4.277139ms) -2026-09-27T05:35:25.8028345Z ✔ honors Linux XDG_CONFIG_HOME and falls back from Windows APPDATA (0.589304ms) -2026-09-27T05:35:25.8029280Z ✔ rejects a profile name that can escape its application-data root (0.745881ms) -2026-09-27T05:35:25.8030038Z ✔ Maka workspace root resolver (15.540291ms) -2026-09-27T05:35:25.8358940Z ▶ workspace version persistence authority -2026-09-27T05:35:25.8388704Z ✔ does not expose the unverified baseline writer on the public SQLite store (13.148051ms) -2026-09-27T05:35:25.8390332Z ✔ cannot be purged through the ordinary conversation lifecycle (553.261145ms) -2026-09-27T05:35:25.8391436Z ✔ reads canonical facts and projections from one SQLite snapshot (87.900574ms) -2026-09-27T05:35:25.8392582Z ✔ atomically opens a baseline and makes only an exact retry idempotent (99.819401ms) -2026-09-27T05:35:25.8393679Z ✔ creates one durable managed mutation reservation with T1 (120.494903ms) -2026-09-27T05:35:25.8394992Z ✔ rejects a managed T1 whose authorized path differs from the durable tool call (78.987668ms) -2026-09-27T05:35:25.8396086Z ✔ refuses to settle a managed mutation through the generic T2 writer (86.963776ms) -2026-09-27T05:35:25.8397381Z ✔ atomically commits no_workspace_change without advancing the workspace head (111.590157ms) -2026-09-27T05:35:25.8398611Z ✔ atomically commits operation_failed_no_effect without advancing the workspace head (124.651729ms) -2026-09-27T05:35:25.8399830Z ✔ atomically commits one tool outcome with its successor workspace head (164.531545ms) -2026-09-27T05:35:25.8401003Z ✔ rejects a raw successor descriptor without an owner-issued candidate capability (70.039694ms) -2026-09-27T05:35:25.8402496Z ✔ rejects a successor whose immutable changed paths exceed its T1 authorization (79.432783ms) -2026-09-27T05:35:25.8403709Z ✔ rejects a failed Write outcome without advancing the workspace head (58.399749ms) -2026-09-27T05:35:25.8404936Z ✔ rolls back tool outcome, successor fact, projection, and head together (73.16369ms) -2026-09-27T05:35:25.8406062Z ✔ rejects a stale managed mutation before it can acquire T1 ownership (92.664568ms) -2026-09-27T05:35:25.8407408Z ✔ returns an earlier exact successor retry after the canonical head advances (159.039157ms) -2026-09-27T05:35:25.8408419Z ✔ rejects a failed outcome referenced by immutable successor authority (116.336831ms) -2026-09-27T05:35:25.8409477Z ✔ upgrades a populated schema 12 baseline before accepting its successor (105.912695ms) -2026-09-27T05:35:25.8410524Z ✔ refuses to silently claim unbound workspace authority facts for another root (60.292354ms) -2026-09-27T05:35:25.8411550Z ✔ refuses to silently claim an unbound database with ordinary runtime state (47.336901ms) -2026-09-27T05:35:25.8412627Z ✔ rolls the entire baseline back at after_workspace_epoch_event_insert (79.595526ms) -2026-09-27T05:35:25.8413709Z ✔ rolls the entire baseline back at after_workspace_version_event_insert (53.913959ms) -2026-09-27T05:35:25.8415056Z ✔ rolls the entire baseline back at after_workspace_epoch_projection_insert (60.571863ms) -2026-09-27T05:35:25.8420906Z ✔ rolls the entire baseline back at after_workspace_version_projection_insert (94.539156ms) -2026-09-27T05:35:25.8840273Z ✔ rolls the entire baseline back at after_workspace_head_projection_insert (46.443368ms) -2026-09-27T05:35:25.9786475Z ✔ rebuilds disposable projections from strict RuntimeEvents and detects corruption (93.139208ms) -2026-09-27T05:35:26.0809248Z ✔ rebuilds an active managed mutation reservation from its immutable T1 (99.590487ms) -2026-09-27T05:35:26.1263903Z ✔ rejects workspace facts through generic RuntimeEvent writers (51.698035ms) -2026-09-27T05:35:26.1832861Z ✔ rejects ordinary RuntimeEvents that try to occupy the authority stream (54.369724ms) -2026-09-27T05:35:26.2419845Z ✔ fails closed when the workspace authority capability is missing or unknown (58.785837ms) -2026-09-27T05:35:26.2478057Z ✔ workspace version persistence authority (3004.600952ms) -2026-09-27T05:35:26.2791777Z ▶ chainWrite -2026-09-27T05:35:26.2808340Z ✔ evicts queue entries once the chain drains (23.04245ms) -2026-09-27T05:35:26.2856086Z ✔ does not evict while a newer write is queued behind (8.046819ms) -2026-09-27T05:35:26.2885881Z ✔ does not evict when a successor is queued behind a failing write (3.806335ms) -2026-09-27T05:35:26.2886841Z ✔ serializes operations under the same key in call order (4.649776ms) -2026-09-27T05:35:26.2888129Z ✔ propagates rejection to the caller and keeps the chain alive (3.295894ms) -2026-09-27T05:35:26.2888812Z ✔ chainWrite (49.32508ms) -2026-09-27T05:35:26.2889661Z ✔ OAuth receipt retention has one explicit 256-attempt idempotency window (2493.356455ms) -2026-09-27T05:35:26.2890764Z ✔ a retained OAuth attempt cannot be rebound to another target or entity (25.863571ms) -2026-09-27T05:35:26.2891425Z ℹ tests 1464 -2026-09-27T05:35:26.2891776Z ℹ suites 64 -2026-09-27T05:35:26.2892100Z ℹ pass 1453 -2026-09-27T05:35:26.2892417Z ℹ fail 0 -2026-09-27T05:35:26.2892746Z ℹ cancelled 0 -2026-09-27T05:35:26.2893084Z ℹ skipped 11 -2026-09-27T05:35:26.2893418Z ℹ todo 0 -2026-09-27T05:35:26.2893839Z ℹ duration_ms 122201.388175 -2026-09-27T05:35:26.3433278Z ✔ WorkHub presents model setup instead of a retry-only resolution error (79.188683ms) -2026-09-27T05:35:26.3676825Z ✔ WorkHub offers pre-session models and saves the selected default (19.654608ms) -2026-09-27T05:35:26.3876421Z ✔ WorkHub model selection configures only newly created work (21.919723ms) -2026-09-27T05:35:26.3945426Z [storage] passed -2026-09-27T05:35:26.4065586Z ✔ WorkHub stops presenting execution on observation loss while retaining the Stop target (14.373393ms) -2026-09-27T05:35:26.4123967Z -2026-09-27T05:35:26.4195790Z [eval] start: npm run test:dist -2026-09-27T05:35:26.4736757Z ✔ WorkHub shows the submitted prompt before admission and keeps it until its durable user record arrives (64.568236ms) -2026-09-27T05:35:26.4826370Z ✔ WorkHub hands transcript and live content off together when publication commits (18.244028ms) -2026-09-27T05:35:26.4996393Z ✔ WorkHub marks a failed submission and preserves its retry identity (7.040925ms) -2026-09-27T05:35:26.5088231Z ✔ a lost admission response cannot erase confirmed WorkHub activity (7.656677ms) -2026-09-27T05:35:26.5195963Z An update to Probe inside a test was not wrapped in act(...). -2026-09-27T05:35:26.5335821Z -2026-09-27T05:35:26.5398424Z When testing, code that causes React state updates should be wrapped into act(...): -2026-09-27T05:35:26.5474008Z -2026-09-27T05:35:26.5541945Z act(() => { -2026-09-27T05:35:26.5585540Z /* fire events that update state */ -2026-09-27T05:35:26.5661229Z }); -2026-09-27T05:35:26.5753255Z /* assert on the output */ -2026-09-27T05:35:26.5797157Z -2026-09-27T05:35:26.5798751Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act -2026-09-27T05:35:26.5800017Z An update to Probe inside a test was not wrapped in act(...). -2026-09-27T05:35:26.5800488Z -2026-09-27T05:35:26.5801044Z When testing, code that causes React state updates should be wrapped into act(...): -2026-09-27T05:35:26.5802106Z -2026-09-27T05:35:26.5802352Z act(() => { -2026-09-27T05:35:26.5802821Z /* fire events that update state */ -2026-09-27T05:35:26.5803296Z }); -2026-09-27T05:35:26.5803705Z /* assert on the output */ -2026-09-27T05:35:26.5804038Z -2026-09-27T05:35:26.5805105Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act -2026-09-27T05:35:26.5806437Z An update to Probe inside a test was not wrapped in act(...). -2026-09-27T05:35:26.5807045Z -2026-09-27T05:35:26.5807647Z When testing, code that causes React state updates should be wrapped into act(...): -2026-09-27T05:35:26.5808233Z -2026-09-27T05:35:26.5808470Z act(() => { -2026-09-27T05:35:26.5808948Z /* fire events that update state */ -2026-09-27T05:35:26.5809448Z }); -2026-09-27T05:35:26.5809888Z /* assert on the output */ -2026-09-27T05:35:26.5810241Z -2026-09-27T05:35:26.5811191Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act -2026-09-27T05:35:26.5812411Z An update to Probe inside a test was not wrapped in act(...). -2026-09-27T05:35:26.5812946Z -2026-09-27T05:35:26.5813494Z When testing, code that causes React state updates should be wrapped into act(...): -2026-09-27T05:35:26.5814092Z -2026-09-27T05:35:26.5814339Z act(() => { -2026-09-27T05:35:26.5815012Z /* fire events that update state */ -2026-09-27T05:35:26.5815543Z }); -2026-09-27T05:35:26.5815964Z /* assert on the output */ -2026-09-27T05:35:26.5816262Z -2026-09-27T05:35:26.5817004Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act -2026-09-27T05:35:26.5818111Z An update to Probe inside a test was not wrapped in act(...). -2026-09-27T05:35:26.5845071Z -2026-09-27T05:35:26.5867937Z When testing, code that causes React state updates should be wrapped into act(...): -2026-09-27T05:35:26.5894972Z -2026-09-27T05:35:26.5925425Z act(() => { -2026-09-27T05:35:26.5956614Z /* fire events that update state */ -2026-09-27T05:35:26.5957402Z }); -2026-09-27T05:35:26.5985327Z /* assert on the output */ -2026-09-27T05:35:26.6009614Z -2026-09-27T05:35:26.6035903Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act -2026-09-27T05:35:26.6037323Z An update to Probe inside a test was not wrapped in act(...). -2026-09-27T05:35:26.6037778Z -2026-09-27T05:35:26.6038309Z When testing, code that causes React state updates should be wrapped into act(...): -2026-09-27T05:35:26.6038891Z -2026-09-27T05:35:26.6039131Z act(() => { -2026-09-27T05:35:26.6074046Z /* fire events that update state */ -2026-09-27T05:35:26.6105298Z }); -2026-09-27T05:35:26.6121192Z /* assert on the output */ -2026-09-27T05:35:26.6135049Z -2026-09-27T05:35:26.6166014Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act -2026-09-27T05:35:26.6195619Z An update to Probe inside a test was not wrapped in act(...). -2026-09-27T05:35:26.6214591Z -2026-09-27T05:35:26.6255583Z When testing, code that causes React state updates should be wrapped into act(...): -2026-09-27T05:35:26.6256345Z -2026-09-27T05:35:26.6285280Z act(() => { -2026-09-27T05:35:26.6315366Z /* fire events that update state */ -2026-09-27T05:35:26.6316092Z }); -2026-09-27T05:35:26.6350420Z /* assert on the output */ -2026-09-27T05:35:26.6371884Z -2026-09-27T05:35:26.6418580Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act -2026-09-27T05:35:26.6419892Z An update to Probe inside a test was not wrapped in act(...). -2026-09-27T05:35:26.6430910Z -2026-09-27T05:35:26.6431789Z When testing, code that causes React state updates should be wrapped into act(...): -2026-09-27T05:35:26.6432428Z -2026-09-27T05:35:26.6432686Z act(() => { -2026-09-27T05:35:26.6433176Z /* fire events that update state */ -2026-09-27T05:35:26.6433679Z }); -2026-09-27T05:35:26.6434685Z /* assert on the output */ -2026-09-27T05:35:26.6467408Z -2026-09-27T05:35:26.6468958Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act -2026-09-27T05:35:26.6470139Z An update to Probe inside a test was not wrapped in act(...). -2026-09-27T05:35:26.6470619Z -2026-09-27T05:35:26.6471137Z When testing, code that causes React state updates should be wrapped into act(...): -2026-09-27T05:35:26.6471692Z -2026-09-27T05:35:26.6471937Z act(() => { -2026-09-27T05:35:26.6472423Z /* fire events that update state */ -2026-09-27T05:35:26.6472947Z }); -2026-09-27T05:35:26.6473374Z /* assert on the output */ -2026-09-27T05:35:26.6473724Z -2026-09-27T05:35:26.6474808Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act -2026-09-27T05:35:26.6488118Z An update to Probe inside a test was not wrapped in act(...). -2026-09-27T05:35:26.6488720Z -2026-09-27T05:35:26.6489247Z When testing, code that causes React state updates should be wrapped into act(...): -2026-09-27T05:35:26.6489867Z -2026-09-27T05:35:26.6490106Z act(() => { -2026-09-27T05:35:26.6490601Z /* fire events that update state */ -2026-09-27T05:35:26.6491102Z }); -2026-09-27T05:35:26.6491550Z /* assert on the output */ -2026-09-27T05:35:26.6491897Z -2026-09-27T05:35:26.6492801Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act -2026-09-27T05:35:26.6493939Z An update to Probe inside a test was not wrapped in act(...). -2026-09-27T05:35:26.6494358Z -2026-09-27T05:35:26.6495102Z When testing, code that causes React state updates should be wrapped into act(...): -2026-09-27T05:35:26.6495683Z -2026-09-27T05:35:26.6495923Z act(() => { -2026-09-27T05:35:26.6496396Z /* fire events that update state */ -2026-09-27T05:35:26.6496893Z }); -2026-09-27T05:35:26.6497332Z /* assert on the output */ -2026-09-27T05:35:26.6497693Z -2026-09-27T05:35:26.6498611Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act -2026-09-27T05:35:26.6499783Z An update to Probe inside a test was not wrapped in act(...). -2026-09-27T05:35:26.6500240Z -2026-09-27T05:35:26.6500801Z When testing, code that causes React state updates should be wrapped into act(...): -2026-09-27T05:35:26.6501385Z -2026-09-27T05:35:26.6501608Z act(() => { -2026-09-27T05:35:26.6502057Z /* fire events that update state */ -2026-09-27T05:35:26.6502568Z }); -2026-09-27T05:35:26.6503014Z /* assert on the output */ -2026-09-27T05:35:26.6503338Z -2026-09-27T05:35:26.6504208Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act -2026-09-27T05:35:26.6506274Z An update to Probe inside a test was not wrapped in act(...). -2026-09-27T05:35:26.6506723Z -2026-09-27T05:35:26.6507264Z When testing, code that causes React state updates should be wrapped into act(...): -2026-09-27T05:35:26.6508234Z -2026-09-27T05:35:26.6508474Z act(() => { -2026-09-27T05:35:26.6508927Z /* fire events that update state */ -2026-09-27T05:35:26.6509376Z }); -2026-09-27T05:35:26.6509787Z /* assert on the output */ -2026-09-27T05:35:26.6510089Z -2026-09-27T05:35:26.6510772Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act -2026-09-27T05:35:26.6512486Z ✔ WorkHub carries Stop through deferred or uncertain admission for the original Turn (69.824376ms) -2026-09-27T05:35:26.6513352Z An update to Probe inside a test was not wrapped in act(...). -2026-09-27T05:35:26.6513771Z -2026-09-27T05:35:26.6514278Z When testing, code that causes React state updates should be wrapped into act(...): -2026-09-27T05:35:26.6515005Z -2026-09-27T05:35:26.6515235Z act(() => { -2026-09-27T05:35:26.6515659Z /* fire events that update state */ -2026-09-27T05:35:26.6516112Z }); -2026-09-27T05:35:26.6516773Z /* assert on the output */ -2026-09-27T05:35:26.6517089Z -2026-09-27T05:35:26.6517900Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act -2026-09-27T05:35:26.6518933Z An update to Probe inside a test was not wrapped in act(...). -2026-09-27T05:35:26.6519392Z -2026-09-27T05:35:26.6519900Z When testing, code that causes React state updates should be wrapped into act(...): -2026-09-27T05:35:26.6520463Z -2026-09-27T05:35:26.6520684Z act(() => { -2026-09-27T05:35:26.6521154Z /* fire events that update state */ -2026-09-27T05:35:26.6521640Z }); -2026-09-27T05:35:26.6522069Z /* assert on the output */ -2026-09-27T05:35:26.6522419Z -2026-09-27T05:35:26.6523287Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act -2026-09-27T05:35:26.6525152Z ✔ an unknown WorkHub submission converges through the original Host admission and payload (20.023529ms) -2026-09-27T05:35:26.6526749Z ✔ Retry reopens a failed initial WorkHub read after Session resolution (4.356724ms) -2026-09-27T05:35:26.6543551Z An update to Probe inside a test was not wrapped in act(...). -2026-09-27T05:35:26.6544230Z -2026-09-27T05:35:26.6544976Z When testing, code that causes React state updates should be wrapped into act(...): -2026-09-27T05:35:26.6545563Z -2026-09-27T05:35:26.6545787Z act(() => { -2026-09-27T05:35:26.6546265Z /* fire events that update state */ -2026-09-27T05:35:26.6546761Z }); -2026-09-27T05:35:26.6547185Z /* assert on the output */ -2026-09-27T05:35:26.6547488Z -2026-09-27T05:35:26.6548287Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act -2026-09-27T05:35:26.6550020Z ✔ WorkHub steering keeps the current Turn and Stop authority and reconciles only its own durable message (4.429932ms) -2026-09-27T05:35:26.6551558Z ✔ uncertain steering retains its identity across Turn completion and rejection preserves the active Turn (4.564437ms) -2026-09-27T05:35:26.6552980Z ✔ Host retraction resolves an uncertain WorkHub attempt before the next draft is sent (3.256312ms) -2026-09-27T05:35:26.6554357Z ✔ steering observed before its admission response renders once and outranks an uncertain receipt (3.193967ms) -2026-09-27T05:35:26.6555924Z ✔ WorkHub Host queue owns restored, consumed and retracted rows without transient mirrors (5.256043ms) -2026-09-27T05:35:26.6557273Z ✔ WorkHub sends queue edits, withdrawal and both queue orders to the Host and waits for its projection (3.206524ms) -2026-09-27T05:35:26.6558322Z An update to Probe inside a test was not wrapped in act(...). -2026-09-27T05:35:26.6558809Z -2026-09-27T05:35:26.6559381Z When testing, code that causes React state updates should be wrapped into act(...): -2026-09-27T05:35:26.6559952Z -2026-09-27T05:35:26.6560189Z act(() => { -2026-09-27T05:35:26.6560663Z /* fire events that update state */ -2026-09-27T05:35:26.6561152Z }); -2026-09-27T05:35:26.6561608Z /* assert on the output */ -2026-09-27T05:35:26.6561923Z -2026-09-27T05:35:26.6563194Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act -2026-09-27T05:35:26.6564920Z ✔ WorkHub defaults to follow-up and moves each message into its admitted successor Turn (4.701818ms) -2026-09-27T05:35:26.6566167Z ✔ restored follow-ups transfer edited Host content once, regardless of transcript arrival order (5.550278ms) -2026-09-27T05:35:26.6567375Z ✔ withdrawing a queued follow-up never transfers it into the conversation (2.578749ms) -2026-09-27T05:35:26.6568486Z ✔ an uncertain queued follow-up blocks the next one until its row is observed (3.140896ms) -2026-09-27T05:35:26.6569520Z ✔ loading earlier history reaches WorkHub’s transcript (2.048501ms) -2026-09-27T05:35:26.6570473Z ✔ follow-up admission before an uncertain response keeps its successor placement (4.346373ms) -2026-09-27T05:35:26.6571700Z An update to Probe inside a test was not wrapped in act(...). -2026-09-27T05:35:26.6572178Z -2026-09-27T05:35:26.6572717Z When testing, code that causes React state updates should be wrapped into act(...): -2026-09-27T05:35:26.6573264Z -2026-09-27T05:35:26.6573496Z act(() => { -2026-09-27T05:35:26.6573954Z /* fire events that update state */ -2026-09-27T05:35:26.6574809Z }); -2026-09-27T05:35:26.6575254Z /* assert on the output */ -2026-09-27T05:35:26.6575573Z -2026-09-27T05:35:26.6576410Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act -2026-09-27T05:35:26.6577390Z An update to Probe inside a test was not wrapped in act(...). -2026-09-27T05:35:26.6577801Z -2026-09-27T05:35:26.6578347Z When testing, code that causes React state updates should be wrapped into act(...): -2026-09-27T05:35:26.6578893Z -2026-09-27T05:35:26.6579106Z act(() => { -2026-09-27T05:35:26.6579541Z /* fire events that update state */ -2026-09-27T05:35:26.6579997Z }); -2026-09-27T05:35:26.6580401Z /* assert on the output */ -2026-09-27T05:35:26.6580718Z -2026-09-27T05:35:26.6581542Z This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act -2026-09-27T05:35:26.6583058Z ✔ Stop retires only Host-confirmed queued messages even without retraction events (6.723752ms) -2026-09-27T05:35:26.7216368Z ✔ keeps the WorkHub opt-in client-global across Runtime Hosts (9.432574ms) -2026-09-27T05:35:26.9201749Z -2026-09-27T05:35:26.9225524Z > @maka/eval@0.1.0 test:dist -2026-09-27T05:35:26.9256798Z > node --test "dist/**/*.test.js" && python3 -m unittest discover --start-directory harbor --pattern 'test_*.py' -2026-09-27T05:35:26.9257499Z -2026-09-27T05:35:27.5041632Z ✔ the main surface does not mount WorkHub or start its lifecycle (84.790676ms) -2026-09-27T05:35:27.5703867Z ✔ the WorkHub slot retains its providers and mount across locale updates (96.553972ms) -2026-09-27T05:35:27.5946464Z ✔ Main panels follow the resolved Host identity and retain Coordination in the catalog (32.620443ms) -2026-09-27T05:35:27.6881465Z ▶ searchWorkspaceFiles -2026-09-27T05:35:27.6906058Z ✔ reuses one workspace enumeration across consecutive queries (1042.340491ms) -2026-09-27T05:35:27.6962961Z ✔ shares an in-flight enumeration between concurrent queries (14.066238ms) -2026-09-27T05:35:27.7018638Z ✔ refreshes the workspace after the cache TTL expires (5.99186ms) -2026-09-27T05:35:27.7067868Z ✔ refreshes a non-git directory after the cache TTL expires (21.083412ms) -2026-09-27T05:35:27.7120499Z ✔ does not cache a fallback result after git enumeration fails (17.931885ms) -2026-09-27T05:35:27.7177246Z ✔ keeps cached file lists isolated by canonical project root (15.45543ms) -2026-09-27T05:35:27.7206096Z ✔ shares a cache entry for equivalent project-root paths (12.640476ms) -2026-09-27T05:35:27.7235859Z ✔ shares an in-flight canonical-root lookup (25.688361ms) -2026-09-27T05:35:27.7296170Z ✔ refreshes the canonical-root mapping after the cache TTL expires (10.891278ms) -2026-09-27T05:35:27.7346242Z ✔ keeps caches isolated between workspace searcher instances (6.27965ms) -2026-09-27T05:35:27.7395795Z ✔ evicts the least recently used ready workspace (23.512056ms) -2026-09-27T05:35:27.7450011Z ✔ evicts ready workspaces when the cached path-byte budget is exceeded (17.145852ms) -2026-09-27T05:35:27.7485865Z ✔ filters with AND-of-substring tokens, case-insensitively (11.902488ms) -2026-09-27T05:35:27.7525658Z ✔ ranks shorter paths first, then lexicographically (8.627698ms) -2026-09-27T05:35:27.7526832Z ✔ preserves Git filenames that require an unambiguous delimiter (4.976536ms) -2026-09-27T05:35:27.7555784Z ✔ caps the result count at the requested limit (10.876462ms) -2026-09-27T05:35:27.7557757Z ✔ falls back to a readdir walk when the tree is not a git repo (8.02841ms) -2026-09-27T05:35:27.7561979Z ✔ never returns paths outside the root and does not follow symlinked dirs (3.238593ms) -2026-09-27T05:35:27.7563045Z ✔ falls back to the walk when git ls-files errors (3.898494ms) -2026-09-27T05:35:27.7564373Z ✔ searchWorkspaceFiles (1268.9829ms) -2026-09-27T05:35:27.7565642Z ✔ dev replaces stale Host plugin entries with loadable PR2 implementations (601.56044ms) -2026-09-27T05:35:27.7566869Z ✔ a launcher signal cancels preparation before Electron can spawn (20.067401ms) -2026-09-27T05:35:27.7568042Z ✔ a launcher signal adopts and stops a delayed launch handle exactly once (1.873802ms) -2026-09-27T05:35:27.7569251Z ✔ cancelling during launch preparation prevents any later process spawn (3.221982ms) -2026-09-27T05:35:27.7570478Z ✔ cancelling while the plain launcher loads its lock contract prevents spawn (3.417449ms) -2026-09-27T05:35:27.7571539Z ✔ launcher and core agree on the loser contract (7.970114ms) -2026-09-27T05:35:27.7572506Z ✔ plainLoserExitCode matches only the contract value (3.890594ms) -2026-09-27T05:35:27.7573513Z ✔ loser contract import failure does not claim a loser (2.639947ms) -2026-09-27T05:35:27.7574621Z ✔ verdict wait reports only its own private loser result (0.457156ms) -2026-09-27T05:35:27.7575749Z ✔ the TCC launcher stops supervising after Electron wins the lock (0.431657ms) -2026-09-27T05:35:27.7576837Z ✔ verdict wait marks a loser that never starts as absorbed (7.390557ms) -2026-09-27T05:35:27.7577896Z ✔ verdict wait keeps an ordinary never-started launch distinct (47.013882ms) -2026-09-27T05:35:27.7578897Z ✔ verdict wait marks a stopped loser as absorbed (13.155426ms) -2026-09-27T05:35:27.7579874Z ✔ development-app liveness probes only the TCC bundle (0.457215ms) -2026-09-27T05:35:27.7581047Z ✔ a runtime rebuild refuses to replace a running TCC bundle instead of killing it (0.510459ms) -2026-09-27T05:35:27.7582204Z ✔ TCC launcher cleanup removes only its own launch artifacts (0.827705ms) -2026-09-27T05:35:27.7583283Z ✔ each TCC launch gets private and separate result and log files (14.166498ms) -2026-09-27T05:35:27.7584282Z ✔ other launch outcomes retain their exit codes (0.486864ms) -2026-09-27T05:35:27.7585642Z ✔ shared-profile launches warn about legacy TCC data before choosing plain or bundle mode (0.378155ms) -2026-09-27T05:35:27.7586969Z ✔ an explicit isolated profile does not warn about unrelated legacy TCC data (0.25384ms) -2026-09-27T05:35:27.7588249Z ✔ createMacosDevelopmentLaunch passes its private result file after --args (0.309065ms) -2026-09-27T05:35:27.7589648Z ✔ worktree profiles are stable across launches and distinct for identically named checkouts (12.20583ms) -2026-09-27T05:35:27.7590800Z ✔ a symlink to a worktree uses the same data directory (3.715194ms) -2026-09-27T05:35:27.7591985Z ✔ worktree profiles use the platform data location and ignore relative config roots (10.370104ms) -2026-09-27T05:35:27.7593430Z ✔ an explicit data directory overrides automatic selection and survives plain and TCC forwarding (6.486503ms) -2026-09-27T05:35:27.7594885Z ✔ invalid profile overrides cannot fall back to the shared profile (2.302624ms) -2026-09-27T05:35:27.7596191Z ✔ relative profile overrides resolve from the checkout rather than the caller directory (0.972136ms) -2026-09-27T05:35:28.0086593Z ✔ fails install preflight before starting an experiment attempt (67.676621ms) -2026-09-27T05:35:28.1286844Z ✔ present egress audit is inventoried with a sha256 prefix (14.368997ms) -2026-09-27T05:35:28.1317301Z ✔ an empty audit file is a clean trial, not a missing log (0.468573ms) -2026-09-27T05:35:28.1346418Z ✔ a missing expected audit is explicit evidence, not a clean pass (0.253528ms) -2026-09-27T05:35:28.1376091Z ✔ a truncated audit is recorded on the artifact, not judged as infra_failed (0.305925ms) -2026-09-27T05:35:28.1405726Z ✔ policy_error records are counted without changing attribution (0.505867ms) -2026-09-27T05:35:28.1407046Z ✔ a policy_error followed by a later hit still counts the policy error (2.520322ms) -2026-09-27T05:35:28.1436976Z ✔ truncation and an earlier policy_error are both recorded (0.436874ms) -2026-09-27T05:35:28.1465864Z ✔ two policy_error records increment the count rather than pinning it at one (0.277156ms) -2026-09-27T05:35:28.1496201Z ✔ unparseable and non-object lines are counted without changing attribution (3.201897ms) -2026-09-27T05:35:28.1518617Z ✔ invalid UTF-8 is counted as a malformed line, not judged (3.517884ms) -2026-09-27T05:35:28.1525755Z ✔ trials without an egress proxy do not invent a missing-audit artifact (0.307607ms) -2026-09-27T05:35:28.1557706Z ✔ a missing expected audit through runAttempt is infra_failed and excluded (280.914633ms) -2026-09-27T05:35:28.1585813Z ✔ a truncated audit through runAttempt stays scored (164.341035ms) -2026-09-27T05:35:28.1636001Z ✔ a policy_error audit through runAttempt stays scored (125.206597ms) -2026-09-27T05:35:28.1637241Z ✔ a policy_error then a later hit through runAttempt stays scored (132.764486ms) -2026-09-27T05:35:28.1666029Z ✔ subject timeout still scores when the audit log is truncated (142.137908ms) -2026-09-27T05:35:28.2882910Z ✔ a missing audit wins over a subject timeout (163.047252ms) -2026-09-27T05:35:28.4148417Z ✔ a missing audit wins over a missing reward (124.065306ms) -2026-09-27T05:35:28.5587565Z ✔ an empty landed audit through runAttempt stays completed (141.042836ms) -2026-09-27T05:35:28.6976559Z ✔ an unreadable expected audit is infra_failed with the artifact path (141.408966ms) -2026-09-27T05:35:28.8296587Z ✔ trials without an egress proxy still complete when the audit file is absent (132.634042ms) -2026-09-27T05:35:28.8656352Z ✔ writes canonical nested spec bytes and accepts equivalent key order (37.84248ms) -2026-09-27T05:35:28.8716272Z ✔ rejects non-finite spec values instead of silently writing null (9.189448ms) -2026-09-27T05:35:28.8775653Z ✔ recovers lower-bound metering when external settlement is interrupted (34.162242ms) -2026-09-27T05:35:28.8860856Z ✔ a checkpoint the proxy never settled is a lower bound however complete it looks (16.548419ms) -2026-09-27T05:35:28.8895730Z ✔ every token kind is billed at the rate the model config declares (0.445846ms) -2026-09-27T05:35:28.8925998Z ✔ refuses a metering checkpoint whose counts cannot describe one run (21.078711ms) -2026-09-27T05:35:28.9026175Z ✔ passes declared environment and credential bindings to one external command (2.000439ms) -2026-09-27T05:35:28.9119966Z ✔ classifies missing executor process scope as infrastructure failure (0.413115ms) -2026-09-27T05:35:28.9146072Z ✔ requires the bundled wrapper for the structured result contract (0.807596ms) -2026-09-27T05:35:28.9166425Z ✔ rejects credential bindings that the subject did not declare (0.251322ms) -2026-09-27T05:35:28.9207692Z ✔ rejects overlap between public environment and credential targets (0.350155ms) -2026-09-27T05:35:28.9228222Z ✔ rejects overlap with identity credential targets (0.441011ms) -2026-09-27T05:35:28.9255812Z ✔ the pinned fingerprint is the digest of the checksum manifest (38.715285ms) -2026-09-27T05:35:28.9265838Z ✔ refuses a mounted toolchain that is not the pinned tree (8.921272ms) -2026-09-27T05:35:28.9285780Z ✔ a verified toolchain reaches the subject and its later attempts (12.927219ms) -2026-09-27T05:35:29.5676309Z ✔ built Desktop public UI and Client Plugin entries share their Slot provider (2598.386417ms) -2026-09-27T05:35:29.6573624Z ✔ renderer loads a newly exported workspace module after its manifest changes (350.494607ms) -2026-09-27T05:35:29.6638808Z ✔ renderer-facing Runtime Host protocol does not load Node crypto (163.944145ms) -2026-09-27T05:35:29.6665715Z ℹ tests 2916 -2026-09-27T05:35:29.6683741Z ℹ suites 193 -2026-09-27T05:35:29.6715721Z ℹ pass 2916 -2026-09-27T05:35:29.6776123Z ℹ fail 0 -2026-09-27T05:35:29.6866534Z ℹ cancelled 0 -2026-09-27T05:35:29.6926621Z ℹ skipped 0 -2026-09-27T05:35:29.6955544Z ℹ todo 0 -2026-09-27T05:35:29.7007935Z ℹ duration_ms 262654.843882 -2026-09-27T05:35:29.7050545Z [desktop] passed -2026-09-27T05:35:29.7144975Z -2026-09-27T05:35:29.7195632Z [computer-use] start: npm run test:dist -2026-09-27T05:35:30.2410245Z -2026-09-27T05:35:30.2435777Z > @maka/computer-use@0.1.0 test:dist -2026-09-27T05:35:30.2459783Z > node --test "dist/**/*.test.js" -2026-09-27T05:35:30.2460336Z -2026-09-27T05:35:30.6302610Z ✔ stdio retention retains old states without eviction and fails closed until reconnect (5399.442175ms) -2026-09-27T05:35:30.9076628Z ▶ Computer Use cross-layer deterministic contract -2026-09-27T05:35:30.9106333Z ✔ bound target propagation, presentation order, fresh state, and duplicate rejection (53.541035ms) -2026-09-27T05:35:30.9166194Z ✔ typed target change and unknown outcome both cancel, while unknown requires re-observation (5.898867ms) -2026-09-27T05:35:30.9226177Z ✔ explicit session cleanup fences late work and persisted projection omits private UI content (4.857202ms) -2026-09-27T05:35:30.9285985Z ✔ Computer Use cross-layer deterministic contract (68.59049ms) -2026-09-27T05:35:30.9609903Z ✔ presentation starts from the Runtime-bound screen point (10.957511ms) -2026-09-27T05:35:30.9673811Z ✔ a window to order against replaces the level as what keeps the cursor visible (0.303659ms) -2026-09-27T05:35:30.9743145Z ✔ with no window to order against the cursor stays elevated (0.344353ms) -2026-09-27T05:35:30.9775904Z ✔ the landing carries the window the cursor has to come back down to (0.323389ms) -2026-09-27T05:35:30.9884251Z ✔ the Runtime-bound presentation point completes the cursor animation (1.293608ms) -2026-09-27T05:35:30.9885960Z ✔ a successful action with no point anywhere still cancels (2.323944ms) -2026-09-27T05:35:30.9917418Z ✔ failed semantic action cancels presentation (0.383456ms) -2026-09-27T05:35:30.9945608Z ✔ non-presented actions keep the session cursor without moving it (3.392863ms) -2026-09-27T05:35:30.9975415Z ✔ a semantic action reaches the sink with the point it is aimed at (60.667812ms) -2026-09-27T05:35:31.0002398Z ✔ an element whose observed frame is outside its window is not aimed at (8.399998ms) -2026-09-27T05:35:31.0016131Z ✔ an element the observation reported no frame for is not aimed at either (5.491052ms) -2026-09-27T05:35:31.0035057Z ▶ resolveCuaDisplaySnapshots -2026-09-27T05:35:31.0055418Z ✔ maps a 2x primary display to screenshot pixels (3.621936ms) -2026-09-27T05:35:31.0085349Z ✔ maps equal-scale displays with a negative origin into one source atlas (0.384846ms) -2026-09-27T05:35:31.0095308Z ✔ keeps only a proven primary screenshot when mixed-scale atlas mapping is unknown (1.972742ms) -2026-09-27T05:35:31.0123214Z ✔ fails closed when screenshot dimensions match neither atlas nor primary display (0.23996ms) -2026-09-27T05:35:31.0155453Z ✔ resolveCuaDisplaySnapshots (12.407135ms) -2026-09-27T05:35:31.3656210Z ▶ maka-cu backend -2026-09-27T05:35:31.3696256Z ✔ opens with host.hello and refuses to move the system cursor (190.56261ms) -2026-09-27T05:35:31.5176581Z ✔ keeps routine preflight quiet and exposes an explicit Accessibility prompt request (148.86048ms) -2026-09-27T05:35:31.7340668Z ✔ fails loudly on a protocol version mismatch and does not retry (224.268977ms) -2026-09-27T05:35:31.8703666Z ✔ carries the snapshot id and element tokens into the observation identity (134.465931ms) -2026-09-27T05:35:32.0050043Z ✔ uses stable ids while an explicit observation still renders the full tree (134.736611ms) -2026-09-27T05:35:32.1275502Z ✔ renders the declared difference only on the observation returned by an action (123.79144ms) -2026-09-27T05:35:32.2479436Z ✔ echoes the element digest and returns the frame that superseded the quoted one (123.239752ms) -2026-09-27T05:35:32.3721697Z ✔ refuses a dispatch against a spent snapshot as a duplicate action (124.205761ms) -2026-09-27T05:35:32.4997220Z ✔ reports an element whose reference died as target_missing and keeps the frame live (123.91019ms) -2026-09-27T05:35:32.6356304Z ✔ refuses an element token that was never in the quoted snapshot (140.475299ms) -2026-09-27T05:35:32.8233523Z ✔ rejects a tier/path pair outside the declared table instead of coercing it (169.955302ms) -2026-09-27T05:35:32.9751503Z ✔ lets an element action through while the user is physically active (167.891869ms) -2026-09-27T05:35:33.1356372Z ✔ still fences synthesized input while the user is physically active (160.895535ms) -2026-09-27T05:35:33.2722861Z ✔ launches an app in the background and reports the resolved id (136.299597ms) -2026-09-27T05:35:33.3896566Z ✔ reports a launch that took the foreground instead of hiding it (114.090234ms) -2026-09-27T05:35:33.8015707Z ✔ stdio byte-retention retains old states without eviction and fails closed until reconnect (3176.164622ms) -2026-09-27T05:35:34.8053975Z ✔ stdio non-ASCII state suppresses the generation even when UTF-8 stderr bytes split (1004.552185ms) -2026-09-27T05:35:35.6094579Z ✔ learning state clears already formatted or truncated stderr and notifies subscribers (812.141147ms) -2026-09-27T05:35:35.6516323Z ▶ McpClientManager Streamable HTTP fallback contract -2026-09-27T05:35:35.6577466Z ✔ falls back from a pre-handshake 404 or 405 to a real legacy SSE server (468.105667ms) -2026-09-27T05:35:35.6664960Z ✔ does not fall back for non-404/405 HTTP responses (125.775546ms) -2026-09-27T05:35:35.6675743Z ✔ does not fall back from an unexpected successful response body (7.175806ms) -2026-09-27T05:35:35.6696801Z ✔ does not fall back from a network failure (7.381112ms) -2026-09-27T05:35:35.6723844Z ✔ aborts a hanging auto or pinned probe without waiting for the server (24.582106ms) -2026-09-27T05:35:35.6764909Z ✔ does not start a remote probe after a connecting listener cancels synchronously (20.441746ms) -2026-09-27T05:35:35.6788055Z ✔ does not fall back after the Streamable HTTP probe times out (54.817564ms) -2026-09-27T05:35:35.6840384Z ✔ does not fall back after legacy initialize succeeded but initialized returned 404 or 405 (84.652111ms) -2026-09-27T05:35:35.6841620Z ✔ an exact modern pin never attempts legacy SSE (17.494362ms) -2026-09-27T05:35:35.6875681Z ✔ an explicit Streamable HTTP transport never attempts legacy SSE (7.523964ms) -2026-09-27T05:35:35.6904894Z ✔ preserves both failures behind one stable public error when SSE also fails (28.656523ms) -2026-09-27T05:35:35.6937411Z ✔ McpClientManager Streamable HTTP fallback contract (849.889729ms) -2026-09-27T05:35:35.6951399Z ▶ McpClientManager modern tool-list subscriptions -2026-09-27T05:35:35.6991171Z ✔ coalesces an honored notification burst into one bounded trailing refresh (744.015306ms) -2026-09-27T05:35:35.7026532Z ✔ coalesces a change received during initial discovery before publishing connected state (283.106274ms) -2026-09-27T05:35:35.7035804Z ✔ keeps the connection usable when the subscription acknowledgement is missing (307.736423ms) -2026-09-27T05:35:35.7037030Z ✔ keeps the connection usable when the subscription acknowledgement is unhonored (117.214066ms) -2026-09-27T05:35:35.7065775Z ✔ keeps the connection usable when the subscription acknowledgement is rejected (107.88497ms) -2026-09-27T05:35:35.7136009Z ✔ does not wait for an unhonored subscription cancellation response during setup (102.029803ms) -2026-09-27T05:35:35.7145763Z ✔ disconnect aborts an unanswered subscription cancellation request (67.250691ms) -2026-09-27T05:35:35.7178458Z ✔ close aborts an unanswered subscription cancellation request (67.107488ms) -2026-09-27T05:35:35.7196149Z ✔ does not attribute a normal tool transport failure to the subscription (168.86716ms) -2026-09-27T05:35:35.7219877Z ✔ keeps subscription and refresh diagnostics in separate lifecycle slots (273.282255ms) -2026-09-27T05:35:35.7244771Z ✔ McpClientManager modern tool-list subscriptions (2244.372587ms) -2026-09-27T05:35:35.7975635Z ✔ says the host deadline killed the executor, not that it exited on its own (2403.747359ms) -2026-09-27T05:35:35.9282183Z ✔ keeps executor diagnostics out of what the model reads (140.632537ms) -2026-09-27T05:35:35.9910057Z ✔ reports a refused launch with its mapped code, not a raw executor refusal (61.036929ms) -2026-09-27T05:35:36.0731264Z ✔ treats a launch result missing foregroundTaken as version skew (80.814234ms) -2026-09-27T05:35:36.1306757Z ✔ says an occluded target is what driving from behind looks like, and names the way out (60.683321ms) -2026-09-27T05:35:36.1998117Z ✔ says a refused accessibility action will not start working, so it is not retried (69.066901ms) -2026-09-27T05:35:36.2587419Z ✔ separates an application saying no from a route this executor may not take (58.662693ms) -2026-09-27T05:35:36.3145378Z ✔ carries a cut tree through as cut, instead of only into the trace (55.790284ms) -2026-09-27T05:35:36.3727341Z ✔ reads an element with no rectangle instead of refusing the whole window (58.077633ms) -2026-09-27T05:35:36.4387251Z ✔ carries the subrole, which is how a password field is knowable at all (66.009228ms) -2026-09-27T05:35:36.4953576Z ✔ names a parent in the id space the model reads, not the wire token (53.997933ms) -2026-09-27T05:35:36.5511613Z ✔ rejects a frame whose bytes do not match the declared digest (57.668388ms) -2026-09-27T05:35:36.6096340Z ✔ reports a delivered dispatch with no fresh frame as outcome_unknown (58.163366ms) -2026-09-27T05:35:36.6468259Z ▶ McpClientManager E2E -2026-09-27T05:35:36.6475396Z ▶ McpClientManager remote transport E2E -2026-09-27T05:35:36.6515811Z ✔ connects with Streamable HTTP and forwards configured headers (410.614149ms) -2026-09-27T05:35:36.6548953Z ✔ auto probes before negotiating a legacy Streamable HTTP server (78.674452ms) -2026-09-27T05:35:36.6555905Z ✔ does not downgrade an exact modern pin to a legacy Streamable HTTP server (27.618415ms) -2026-09-27T05:35:36.6575739Z ✔ strips configured headers when a redirect leaves the endpoint origin (24.295686ms) -2026-09-27T05:35:36.6599807Z ✔ refuses a redirect that downgrades to cleartext http off the machine (13.619426ms) -2026-09-27T05:35:36.6615628Z ✔ auto falls back to legacy SSE without replacing protocol headers (66.314106ms) -2026-09-27T05:35:36.6645858Z ✔ still sends low-level discovery when a legacy server omits tools capability (24.448608ms) -2026-09-27T05:35:36.6675119Z ✔ bounds and sanitizes connection errors before publishing status (23.520453ms) -2026-09-27T05:35:36.6695700Z ✔ does not expose hostile HTTP bodies through refresh or reconnect errors (39.825868ms) -2026-09-27T05:35:36.6705892Z ✔ keeps the previous callable snapshot after an invalid refresh (75.446834ms) -2026-09-27T05:35:36.6727164Z ✔ publishes one immutable callable snapshot after a real list-changed notification (56.54101ms) -2026-09-27T05:35:36.6755743Z ✔ refreshes for legacy list-changed notifications without an advertised flag (37.875474ms) -2026-09-27T05:35:36.6776095Z ✔ routes initial discovery through the refresh owner when list-changed precedes the first response (63.650252ms) -2026-09-27T05:35:36.6825663Z ✔ joins an explicit refresh to initial discovery without queuing another list (25.086983ms) -2026-09-27T05:35:36.6827142Z ✔ keeps the connection and latest initial snapshot when notifications exhaust the refresh budget (88.947677ms) -2026-09-27T05:35:36.6855626Z ✔ bounds raw Tool definitions without replacing the callable snapshot (121.225478ms) -2026-09-27T05:35:36.6885668Z ✔ retains a binding for the same canonical definition on one connection (37.327343ms) -2026-09-27T05:35:36.6887187Z ✔ rotates a binding for a raw-only definition change and stale-fails before the wire (104.215499ms) -2026-09-27T05:35:36.6916130Z ✔ revokes a removed tool binding before the wire (24.165537ms) -2026-09-27T05:35:36.6945945Z ✔ rotates bindings across a replacement connection (55.485709ms) -2026-09-27T05:35:36.6978713Z ✔ revokes bindings synchronously when disconnect begins (30.109345ms) -2026-09-27T05:35:36.7005575Z ✔ revokes bindings and refresh authority as soon as close begins (40.237722ms) -2026-09-27T05:35:36.7006741Z ✔ binds the same tool name independently for each server (56.75575ms) -2026-09-27T05:35:36.7036019Z ✔ keeps a stale candidate private when list-changed arrives before publication (54.533608ms) -2026-09-27T05:35:36.7055712Z ✔ starts a fresh list for a refresh queued during snapshot publication (69.524689ms) -2026-09-27T05:35:36.7095748Z ✔ rejects descriptors retired synchronously during snapshot publication (17.90528ms) -2026-09-27T05:35:36.7097158Z ✔ releases a failed refresh so the next one can publish a replacement (34.882853ms) -2026-09-27T05:35:36.7124271Z ✔ bounds response-followed-by-notification rediscovery during initial sync (104.833778ms) -2026-09-27T05:35:36.7125962Z ✔ bounds slow response-followed-by-notification rediscovery (62.238918ms) -2026-09-27T05:35:36.7127105Z ✔ publishes the latest valid snapshot before suppressing rediscovery (84.387815ms) -2026-09-27T05:35:36.7128274Z ✔ coalesces a burst of legitimate list-changed notifications (63.513606ms) -2026-09-27T05:35:36.7129421Z ✔ gives spaced list-changed notifications independent refresh budgets (47.88202ms) -2026-09-27T05:35:36.7130616Z ✔ lets configuration removal preempt active notification rediscovery (38.70896ms) -2026-09-27T05:35:36.7131799Z ✔ retries when a synchronous diagnostic listener requests another refresh (40.835433ms) -2026-09-27T05:35:36.7133100Z ✔ does not leave a connected status after a synchronous listener retires the generation (62.734711ms) -2026-09-27T05:35:36.7134331Z ✔ does not let an old client refresh overwrite a replacement connection (52.960773ms) -2026-09-27T05:35:36.7135600Z ✔ uses the validated Tool definition for output checks (48.845326ms) -2026-09-27T05:35:36.7136736Z ✔ classifies decoded deferred markers before output-schema validation (134.408288ms) -2026-09-27T05:35:36.7137821Z ✔ rejects a malformed output schema before invoking the Tool (36.908611ms) -2026-09-27T05:35:36.7138893Z ✔ requires structured output only for successful output-schema calls (82.031346ms) -2026-09-27T05:35:36.7139930Z ✔ accepts the content block limit and rejects the next block (130.255071ms) -2026-09-27T05:35:36.7140876Z ✔ accepts JSON depth 32 and rejects depth 33 (49.027948ms) -2026-09-27T05:35:36.7141741Z ✔ accepts 8192 JSON nodes and rejects node 8193 (68.35668ms) -2026-09-27T05:35:36.7142728Z ✔ counts exact serialized UTF-8 bytes and rejects the next byte (3190.116027ms) -2026-09-27T05:35:36.7143781Z ✔ applies the JSON budget to metadata on known content blocks (44.402462ms) -2026-09-27T05:35:36.7145150Z ✔ rechecks the budget after credential scrubbing expands a result (1365.279391ms) -2026-09-27T05:35:36.7146101Z ✔ checks the success budget before output-schema validation (878.876982ms) -2026-09-27T05:35:36.7146898Z ✔ rejects an invalid binding before the wire (12.423492ms) -2026-09-27T05:35:36.7147729Z ✔ a failed tool call rejects with a sanitized cause, never the raw chain (17.882315ms) -2026-09-27T05:35:36.7148547Z ✔ McpClientManager remote transport E2E (8331.975457ms) -2026-09-27T05:35:36.7149156Z ▶ McpClientManager stdio E2E -2026-09-27T05:35:36.7149927Z ✔ drops non-semantic JSON Schema annotations from discovered tools (342.25273ms) -2026-09-27T05:35:36.7150925Z ✔ discovers paginated tools and calls structured content (375.615583ms) -2026-09-27T05:35:36.7151787Z ✔ maps protocol isError to the Maka error path (647.106076ms) -2026-09-27T05:35:36.7152622Z ✔ a tool error echoing a configured env secret is scrubbed (607.742917ms) -2026-09-27T05:35:36.7153897Z ✔ a short sensitive env value is withheld wholesale from tool errors (412.863713ms) -2026-09-27T05:35:36.7154970Z ✔ propagates caller abort to an in-flight tool call (633.717957ms) -2026-09-27T05:35:36.7155907Z ✔ enforces the configured tool call timeout (2392.261286ms) -2026-09-27T05:35:36.7156788Z ✔ reports an effect the executor confirmed as done, even with no fresh frame (68.988066ms) -2026-09-27T05:35:36.7893667Z ✔ reports an action that closed its own target as done, not as unknown (110.837701ms) -2026-09-27T05:35:36.9326644Z ✔ ends cleared sessions without re-notifying them and invalidates known sessions on generation loss (141.603905ms) -2026-09-27T05:35:37.0126679Z ✔ maps apps.list onto CuAppSummary without a rendered catalogue (81.06355ms) -2026-09-27T05:35:37.0276751Z ✔ captures bounded stderr diagnostics when stdio startup fails (377.669215ms) -2026-09-27T05:35:37.1217332Z ✔ serves the {app, windowId} pair every fresh full observation asks for (109.060139ms) -2026-09-27T05:35:37.2156669Z ✔ refuses an {app, windowId} pair no window satisfies as target_missing (92.417414ms) -2026-09-27T05:35:37.3239201Z ✔ matches an app string against appId only, never against a display name (108.222965ms) -2026-09-27T05:35:37.3546658Z ✔ excludes credential keys case-insensitively from a real stdio child (330.085737ms) -2026-09-27T05:35:37.3599605Z ✔ cancels an in-flight installation connect without leaving tools visible (13.078391ms) -2026-09-27T05:35:37.3849184Z ✔ cancels installation after remote tool discovery starts (22.697295ms) -2026-09-27T05:35:37.4356574Z ✔ does not report a cancellable connect after connected status is published (34.523617ms) -2026-09-27T05:35:37.4486246Z ✔ converts every element frame into screen points once, by the window origin (118.76854ms) -2026-09-27T05:35:37.4536188Z ✔ close aborts an in-flight connection before it can publish tools (19.804119ms) -2026-09-27T05:35:37.5666433Z ✔ enables bound keyboard dispatch by default and acquires a named control (122.98406ms) -2026-09-27T05:35:37.6941367Z ✔ rejects an invalid executor path reported by dispatch.key (122.907158ms) -2026-09-27T05:35:37.8546425Z ✔ verifies rather than takes focus when the model named no control (161.967484ms) -2026-09-27T05:35:37.9634153Z ✔ captures and redacts a final stderr fragment without a newline (521.305215ms) -2026-09-27T05:35:37.9747025Z ✔ refuses keyboard dispatch when the observation has no verified focus owner (123.16744ms) -2026-09-27T05:35:38.0750291Z ✔ refuses a key aimed at a control outside the quoted frame (99.302052ms) -2026-09-27T05:35:38.1836703Z ✔ parses a key combination into the wire closed sets before sending it (109.98965ms) -2026-09-27T05:35:38.3675908Z ✔ redacts across stream chunks and discards oversized physical stderr lines (395.20627ms) -2026-09-27T05:35:38.5339054Z ✔ sends nothing for a key string it cannot parse (348.414252ms) -2026-09-27T05:35:38.5918028Z ✔ accepts a refusal that carries the four declared fields and keeps the executor (60.276977ms) -2026-09-27T05:35:38.6321907Z ✔ publishes a stderr chunk once instead of once per physical line (274.230799ms) -2026-09-27T05:35:38.6683712Z ✔ rejects a refusal that carries only an error object (76.580767ms) -2026-09-27T05:35:38.7318925Z ✔ rejects an ok result that declares a refusal (60.763863ms) -2026-09-27T05:35:38.7946467Z ✔ tells the model a dispatch was refused, and leaves the frame it quoted live (61.916738ms) -2026-09-27T05:35:38.8817354Z ✔ discards the frame when the echoed digest was not the recorded one (87.417246ms) -2026-09-27T05:35:38.9838595Z ✔ rejects a bare-hex image digest instead of comparing against it (103.275015ms) -2026-09-27T05:35:39.0016567Z ✔ reconciles disable and removal without leaving tools visible (375.560443ms) -2026-09-27T05:35:39.0051612Z ✔ McpClientManager stdio E2E (7780.910662ms) -2026-09-27T05:35:39.0055548Z ✔ McpClientManager E2E (16113.654278ms) -2026-09-27T05:35:39.0085658Z ✔ buildStdioEnvironment uses an allowlist and explicit values override it (0.308698ms) -2026-09-27T05:35:39.2040000Z ✔ refuses a snapshot missing a declared array rather than reading it as empty (221.019354ms) -2026-09-27T05:35:39.2648213Z ✔ refuses a window list entry with no zIndex rather than sorting it as 0 (59.331662ms) -2026-09-27T05:35:39.3398141Z ✔ refuses an apps.list entry with no windowCount rather than reporting zero (70.79442ms) -2026-09-27T05:35:39.4197805Z ✔ maps a refused session.begin instead of letting it escape as an exception (85.81726ms) -2026-09-27T05:35:39.4565988Z ▶ McpClientManager modern Streamable HTTP E2E -2026-09-27T05:35:39.4596009Z ✔ auto negotiates 2026-07-28 and clears live protocol status on disconnect (383.277041ms) -2026-09-27T05:35:39.4624285Z ✔ pins the exact 2026-07-28 revision (80.14034ms) -2026-09-27T05:35:39.4625786Z ✔ does not issue tools/list when a modern server omits the tools capability (18.995304ms) -2026-09-27T05:35:39.4626732Z ✔ preserves every modern structuredContent JSON shape (146.54073ms) -2026-09-27T05:35:39.4627702Z ✔ forwards numeric tools/call progress and leaves the result unchanged (72.589434ms) -2026-09-27T05:35:39.4628626Z ✔ forwards numeric tools/call progress from emitProgress (43.696003ms) -2026-09-27T05:35:39.4629511Z ✔ a throwing onProgress listener does not fail the tool call (33.606687ms) -2026-09-27T05:35:39.4630337Z ✔ omitting onProgress still returns the tool result (40.946607ms) -2026-09-27T05:35:39.4631177Z ✔ surfaces input_required without silently retrying the tool (61.057961ms) -2026-09-27T05:35:39.4632425Z MCP tool discovery excluded 1 Tool definition(s) with invalid x-mcp-header annotations: "invalid-header" [property_type_unsupported] -2026-09-27T05:35:39.4633671Z ✔ partitions SEP-2243 definitions and mirrors safe arguments on the wire (44.347757ms) -2026-09-27T05:35:39.4634721Z ✔ McpClientManager modern Streamable HTTP E2E (935.147325ms) -2026-09-27T05:35:39.4635449Z ▶ McpClientManager OAuth E2E -2026-09-27T05:35:39.4636425Z ✔ needs-auth → authorize → connected, with PKCE and Bearer-protected calls (540.863195ms) -2026-09-27T05:35:39.4637380Z ✔ reconnects silently once tokens are stored (73.053634ms) -2026-09-27T05:35:39.4639009Z [mcp-sdk] SEP-2352: stored OAuth credential has no 'issuer' stamp (pre-upgrade storage or provider not round-tripping the value). SEP-2352 isolation is inactive for this read; ensure your provider round-trips the issuer field. -2026-09-27T05:35:39.4641718Z [mcp-sdk] SEP-2352: stored OAuth credential has no 'issuer' stamp (pre-upgrade storage or provider not round-tripping the value). SEP-2352 isolation is inactive for this read; ensure your provider round-trips the issuer field. -2026-09-27T05:35:39.4675723Z ✔ a background connect refreshes a stale token silently, without a browser round (80.773342ms) -2026-09-27T05:35:39.4705760Z ✔ a revoked session surfaces needs-auth on the next tool call (62.974687ms) -2026-09-27T05:35:39.4736024Z ✔ a stored record issued for a different URL is dropped, never replayed (28.623425ms) -2026-09-27T05:35:39.4765702Z ✔ a token endpoint reflecting the client secret does not leak it through errors (54.697954ms) -2026-09-27T05:35:39.4795827Z ✔ a cross-origin redirect sheds the OAuth bearer token (20.642254ms) -2026-09-27T05:35:39.4825572Z ✔ reconnect failures reaching the caller are scrubbed of tokens and short secrets (22.686871ms) -2026-09-27T05:35:39.4885834Z ✔ the challenge scope is found even when only the initialize POST answers 401 (34.256274ms) -2026-09-27T05:35:39.4915624Z ✔ reflected id_token material is scrubbed from outbound errors (11.975375ms) -2026-09-27T05:35:39.4945657Z ✔ a message containing a short secret is withheld wholesale (11.031972ms) -2026-09-27T05:35:39.4956750Z [mcp-sdk] SEP-2352: stored OAuth credential has no 'issuer' stamp (pre-upgrade storage or provider not round-tripping the value). SEP-2352 isolation is inactive for this read; ensure your provider round-trips the issuer field. -2026-09-27T05:35:39.4990093Z [mcp-sdk] SEP-2352: stored OAuth credential has no 'issuer' stamp (pre-upgrade storage or provider not round-tripping the value). SEP-2352 isolation is inactive for this read; ensure your provider round-trips the issuer field. -2026-09-27T05:35:39.5121666Z ✔ a logout during a token refresh is terminal — the record is not resurrected (39.325819ms) -2026-09-27T05:35:39.5346373Z ✔ the probe speaks the current protocol version to strict POST-only servers (42.544758ms) -2026-09-27T05:35:39.5377421Z ✔ a bare 401 on GET does not stop the probe from asking via POST (38.03467ms) -2026-09-27T05:35:39.5426121Z ✔ success payloads and tool metadata are scrubbed of reflected credentials (63.185795ms) -2026-09-27T05:35:39.5441216Z ✔ a token endpoint reflecting the PKCE verifier does not leak it (49.88629ms) -2026-09-27T05:35:39.5486665Z [mcp-sdk] SEP-2352: stored OAuth credential has no 'issuer' stamp (pre-upgrade storage or provider not round-tripping the value). SEP-2352 isolation is inactive for this read; ensure your provider round-trips the issuer field. -2026-09-27T05:35:39.5494971Z [mcp-sdk] SEP-2352: stored OAuth credential has no 'issuer' stamp (pre-upgrade storage or provider not round-tripping the value). SEP-2352 isolation is inactive for this read; ensure your provider round-trips the issuer field. -2026-09-27T05:35:39.5497382Z ✔ a refresh landing after logout cannot resurrect the record, even mid-write (762.725736ms) -2026-09-27T05:35:39.5556297Z ✔ a raw 401 keeps its code through the scrubbed refreshTools rejection (84.753678ms) -2026-09-27T05:35:39.5615737Z ✔ a token endpoint reflecting the authorization code does not leak it (41.188165ms) -2026-09-27T05:35:39.5638837Z ✔ a stored OAuth session excludes a configured Authorization header (45.897891ms) -2026-09-27T05:35:39.5640167Z ✔ static client credentials cannot follow a resource to a different issuer (12.95069ms) -2026-09-27T05:35:39.5641391Z ✔ metadata-less OAuth callbacks stay bound to the discovered authorization server (20.133676ms) -2026-09-27T05:35:39.5642549Z ✔ the callback iss parameter reaches the SDK issuer validation (60.97243ms) -2026-09-27T05:35:39.5643633Z ✔ a forged callback iss is rejected before the code is redeemed (44.415734ms) -2026-09-27T05:35:39.5644891Z ✔ every credential transition stamps a monotonically increasing version (67.213332ms) -2026-09-27T05:35:39.5646166Z ✔ a CAS-capable backend surfaces external-writer conflicts instead of clobbering (42.643461ms) -2026-09-27T05:35:39.5647249Z ✔ a removed server or a changed URL forgets its stored authorization (95.041178ms) -2026-09-27T05:35:39.5648340Z ✔ following a URL change late keeps the login already made for the new URL (33.666312ms) -2026-09-27T05:35:39.5649458Z ✔ a failed credential erase blocks the server instead of releasing it (40.454192ms) -2026-09-27T05:35:39.5650542Z ✔ the interactive flow never sends a configured Authorization header (26.44478ms) -2026-09-27T05:35:39.5652439Z [mcp-sdk] SEP-2352: stored OAuth credential has no 'issuer' stamp (pre-upgrade storage or provider not round-tripping the value). SEP-2352 isolation is inactive for this read; ensure your provider round-trips the issuer field. -2026-09-27T05:35:39.5654997Z [mcp-sdk] SEP-2352: stored OAuth credential has no 'issuer' stamp (pre-upgrade storage or provider not round-tripping the value). SEP-2352 isolation is inactive for this read; ensure your provider round-trips the issuer field. -2026-09-27T05:35:39.5657564Z ✔ a logout in another process fences this process’s in-flight refresh (21.711294ms) -2026-09-27T05:35:39.5658848Z ✔ a credential record with no endpoint binding is revoked, not adopted (16.896076ms) -2026-09-27T05:35:39.5680473Z ✔ a superseded authorization round cannot finish with the older verifier (56.932348ms) -2026-09-27T05:35:39.5681836Z ✔ OAuth client metadata identifies the Apache project and the running client (5.58254ms) -2026-09-27T05:35:39.5683140Z ✔ static credentials survive restart only with the same configured registration (3.864878ms) -2026-09-27T05:35:39.5684611Z ✔ a discovery that moves to another authorization server drops the registered client (0.465871ms) -2026-09-27T05:35:39.5686156Z ✔ an atomic update cannot rebind another endpoint’s material to this one (0.424605ms) -2026-09-27T05:35:39.5687284Z ✔ a logout during the pre-write probe fences the whole flow (3.936066ms) -2026-09-27T05:35:39.5688481Z ✔ a callback that omits state cannot skip the round binding (26.465579ms) -2026-09-27T05:35:39.5689593Z ✔ a superseded abandon leaves the newer round’s verifier and state intact (2.906443ms) -2026-09-27T05:35:39.5690850Z ✔ removal erases a stale credential record even when the server became stdio (0.628708ms) -2026-09-27T05:35:39.5692068Z ✔ interactive authorization fails closed while credential cleanup is owed (32.87748ms) -2026-09-27T05:35:39.5693216Z ✔ an aborted round cannot exchange its code or write credentials (49.681455ms) -2026-09-27T05:35:39.5694136Z ✔ McpClientManager OAuth E2E (2781.073061ms) -2026-09-27T05:35:39.5695035Z ▶ SEP-2243 definition validation -2026-09-27T05:35:39.5695871Z ✔ collects nested string, integer, and boolean properties (2.6463ms) -2026-09-27T05:35:39.5696916Z ✔ rejects number even though the pinned SDK accepts it (0.345093ms) -2026-09-27T05:35:39.5698019Z ✔ uses stable codes for malformed annotation values and property types (0.310406ms) -2026-09-27T05:35:39.5699061Z ✔ requires an RFC 9110 token for the header name (0.323355ms) -2026-09-27T05:35:39.5700149Z ✔ requires case-insensitively unique header names across nesting levels (0.231404ms) -2026-09-27T05:35:39.5701288Z ✔ rejects annotations outside a properties-only static path (1.291935ms) -2026-09-27T05:35:39.5702215Z ✔ SEP-2243 definition validation (8.784609ms) -2026-09-27T05:35:39.5703256Z ✔ partitioning excludes only malformed Tools and preserves valid references (0.656051ms) -2026-09-27T05:35:39.5704141Z ▶ SEP-2243 exclusion warning -2026-09-27T05:35:39.5739735Z ✔ reports the total and a capped sample using stable reason codes (3.250086ms) -2026-09-27T05:35:39.5768752Z ✔ sanitizes control characters and always honors the rendered-length cap (1.85306ms) -2026-09-27T05:35:39.5795458Z ✔ redacts secret-shaped Tool names before logging them (0.424352ms) -2026-09-27T05:35:39.5816418Z ✔ returns undefined when no Tool was excluded (0.182997ms) -2026-09-27T05:35:39.5825322Z ✔ SEP-2243 exclusion warning (6.164928ms) -2026-09-27T05:35:39.5855822Z ▶ SEP-2243 call-time integer validation -2026-09-27T05:35:39.5886821Z ✔ accepts safe boundaries and leaves other schema validation to the caller (1.891311ms) -2026-09-27T05:35:39.5910451Z ✔ returns a stable local failure for unsafe integer arguments (0.797062ms) -2026-09-27T05:35:39.5925488Z ✔ SEP-2243 call-time integer validation (2.882989ms) -2026-09-27T05:35:39.5945415Z ▶ McpClientManager stdio protocol negotiation -2026-09-27T05:35:39.5978053Z ✔ omitted and explicit legacy preferences each start exactly one child (1421.886775ms) -2026-09-27T05:35:39.6005715Z ✔ auto probes a legacy server with a reaped sibling before the actual child (1563.942438ms) -2026-09-27T05:35:39.6028424Z ✔ auto connects to a modern-only server after an isolated matching probe (856.672449ms) -2026-09-27T05:35:39.6036009Z ✔ an exact modern pin connects to a modern-only server without downgrade (951.776705ms) -2026-09-27T05:35:39.6065624Z ✔ an exact modern pin leaves no actual child after a legacy-only rejection (420.063085ms) -2026-09-27T05:35:39.6096640Z ✔ a pre-aborted auto connect starts no child (3.850964ms) -2026-09-27T05:35:39.6125596Z ✔ aborting during a delayed probe reaps it and never starts the actual child (302.257164ms) -2026-09-27T05:35:39.6127612Z ✔ McpClientManager stdio protocol negotiation (5523.835683ms) -2026-09-27T05:35:39.6155331Z ▶ MCP Tool binding -2026-09-27T05:35:39.6185443Z ✔ round-trips only the canonical bounded encoding (2.694843ms) -2026-09-27T05:35:39.6205680Z ✔ rejects malformed, oversized, and invalid generation identities (0.660061ms) -2026-09-27T05:35:39.6229599Z ✔ keeps the opaque binding bounded without restricting server or Tool names (0.618048ms) -2026-09-27T05:35:39.6245557Z ✔ changes when any consistency identity input changes (0.558156ms) -2026-09-27T05:35:39.6275808Z ✔ MCP Tool binding (6.347527ms) -2026-09-27T05:35:39.6306141Z ✔ normalizes the SDK unsupported-result error to the stable Maka boundary (4.488516ms) -2026-09-27T05:35:39.6307661Z ✔ preserves the invalid-result classification for unrelated schema failures (0.397809ms) -2026-09-27T05:35:39.6335683Z ✔ wraps generic SDK and transport failures without exposing their message (1.158474ms) -2026-09-27T05:35:39.6365760Z ✔ keeps raw identity fields while rendering a bounded log-safe message (1.873864ms) -2026-09-27T05:35:39.6395461Z ▶ MCP Tool definition fingerprint -2026-09-27T05:35:39.6405426Z ✔ rejects oversized and excessively deep definitions (2.691824ms) -2026-09-27T05:35:39.6425600Z ✔ MCP Tool definition fingerprint (4.134378ms) -2026-09-27T05:35:39.6455292Z ▶ discoverMcpTools -2026-09-27T05:35:39.6466782Z ✔ treats an empty nextCursor as an opaque continuation (5.67756ms) -2026-09-27T05:35:39.6484241Z ✔ rejects a repeated cursor without fetching another page (1.277449ms) -2026-09-27T05:35:39.6485463Z ✔ rejects duplicate tool names across pages (2.344326ms) -2026-09-27T05:35:39.6486370Z ✔ bounds and redacts duplicate Tool names in diagnostics (2.030381ms) -2026-09-27T05:35:39.6487196Z ✔ stops within an oversized tool page (0.461481ms) -2026-09-27T05:35:39.6487912Z ✔ does not fetch beyond the page limit (0.501826ms) -2026-09-27T05:35:39.6488898Z ✔ rejects cumulative definition bytes across pages without fetching another page (0.531516ms) -2026-09-27T05:35:39.6490062Z ✔ preflights definition depth before cloning it into the snapshot candidate (0.571351ms) -2026-09-27T05:35:39.6490950Z ✔ discoverMcpTools (15.802575ms) -2026-09-27T05:35:39.6491591Z ▶ MCP Tool output validation preparation -2026-09-27T05:35:39.6492554Z ✔ strips only the SDK outputSchema view and validates from the owned definition (21.873902ms) -2026-09-27T05:35:39.6493521Z ✔ reports malformed schemas during pre-wire preparation (3.067606ms) -2026-09-27T05:35:39.6494710Z ✔ compiles each tool against its own schema when $ids collide (11.290548ms) -2026-09-27T05:35:39.6527051Z ✔ MCP Tool output validation preparation (41.04607ms) -2026-09-27T05:35:39.6546305Z ✔ maps integer MCP progress onto the Host current/total pair (2.185516ms) -2026-09-27T05:35:39.6555566Z ✔ drops incomplete, inverted, or non-integer MCP progress (0.39202ms) -2026-09-27T05:35:39.6581911Z ▶ transport security provenance -2026-09-27T05:35:39.6607599Z ✔ allows public https regardless of provenance (1.430289ms) -2026-09-27T05:35:39.6635598Z ✔ refuses remotely supplied https aimed back into the machine or network (1.008053ms) -2026-09-27T05:35:39.6645500Z ✔ refuses IPv6-mapped spellings of machine-local and private destinations (1.710736ms) -2026-09-27T05:35:39.6665483Z ✔ never allows cleartext http off the machine (0.239738ms) -2026-09-27T05:35:39.6697070Z ✔ refuses a remotely supplied loopback destination when the server is remote (0.270622ms) -2026-09-27T05:35:39.6726923Z ✔ allows loopback http when the user configured a loopback trust root (0.203675ms) -2026-09-27T05:35:39.6755598Z ✔ refuses non-HTTP schemes outright (0.196438ms) -2026-09-27T05:35:39.6765624Z ✔ transport security provenance (7.106859ms) -2026-09-27T05:35:39.6785619Z ℹ tests 261 -2026-09-27T05:35:39.6818437Z ℹ suites 18 -2026-09-27T05:35:39.6834294Z ℹ pass 261 -2026-09-27T05:35:39.6845304Z ℹ fail 0 -2026-09-27T05:35:39.6875362Z ℹ cancelled 0 -2026-09-27T05:35:39.6906964Z ℹ skipped 0 -2026-09-27T05:35:39.6925286Z ℹ todo 0 -2026-09-27T05:35:39.6935395Z ℹ duration_ms 22932.345721 -2026-09-27T05:35:39.6965168Z [mcp] passed -2026-09-27T05:35:39.6994929Z -2026-09-27T05:35:39.7015336Z [acp-executor-plugin] start: npm run test:dist -2026-09-27T05:35:39.7026225Z ✔ maps a refused window.list the same way (78.115417ms) -2026-09-27T05:35:39.7055540Z ✔ maka-cu backend (8376.861471ms) -2026-09-27T05:35:39.7061492Z ▶ maka-cu backend selection -2026-09-27T05:35:39.7085640Z ✔ is reached by being named, and refuses without a pinned digest (0.406376ms) -2026-09-27T05:35:39.7115493Z ✔ is what a caller that names nothing gets (0.358142ms) -2026-09-27T05:35:39.7151042Z ✔ maka-cu backend selection (1.064164ms) -2026-09-27T05:35:39.7157382Z ▶ maka-cu key chord parsing -2026-09-27T05:35:39.7185586Z ✔ cannot be spelled with an Object.prototype member (0.300147ms) -2026-09-27T05:35:39.7205742Z ✔ maka-cu key chord parsing (0.42931ms) -2026-09-27T05:35:39.7235913Z ▶ maka-cu key grammar (§6.4) -2026-09-27T05:35:39.7265623Z ✔ parses the combinations Maka callers actually hold (6.114662ms) -2026-09-27T05:35:39.7295509Z ✔ maps aliases case-insensitively onto the wire vocabulary (0.720242ms) -2026-09-27T05:35:39.7296706Z ✔ collapses a duplicated modifier and keeps first-seen order (0.262199ms) -2026-09-27T05:35:39.7326869Z ✔ refuses `delete` and `del`, which name two different destructive keys (0.295312ms) -2026-09-27T05:35:39.7355543Z ✔ refuses everything the grammar cannot express (0.236287ms) -2026-09-27T05:35:39.7385338Z ✔ maka-cu key grammar (§6.4) (17.144037ms) -2026-09-27T05:35:39.7386258Z ▶ maka-cu readers refuse rather than default -2026-09-27T05:35:39.7415714Z ✔ refuses a hash that is not written the one declared way (§1.3) (1.841416ms) -2026-09-27T05:35:39.7446486Z ✔ refuses a declared array that is absent or malformed (§5.2) (0.301926ms) -2026-09-27T05:35:39.7452706Z ✔ refuses a non-string token where the wire declares string-or-null (§5.2) (3.506864ms) -2026-09-27T05:35:39.7475637Z ✔ refuses an app string that is not on the wire (§5.1) (0.356864ms) -2026-09-27T05:35:39.7505578Z ✔ refuses a text field that is present but is not text (§5.2) (0.419748ms) -2026-09-27T05:35:39.7538541Z ✔ reads stable element ids and a declared observation difference (0.87601ms) -2026-09-27T05:35:39.7539666Z ✔ refuses malformed stable ids and difference fields (7.133968ms) -2026-09-27T05:35:39.7565713Z ✔ refuses inconsistent stable ids and changes that do not name the current element (0.664215ms) -2026-09-27T05:35:39.7595350Z ✔ refuses a window entry missing a field the host sorts on (§5.4) (1.327629ms) -2026-09-27T05:35:39.7625420Z ✔ maka-cu readers refuse rather than default (19.789967ms) -2026-09-27T05:35:39.7655463Z ▶ maka-cu dispatch results are held to their closed sets (§6.3/§6.5) -2026-09-27T05:35:39.7656402Z ✔ refuses a path that is not in the closed set (2.514885ms) -2026-09-27T05:35:39.7685579Z ✔ refuses a tier and an outcome outside their own closed sets (0.222211ms) -2026-09-27T05:35:39.7710601Z ✔ refuses a path its tier does not permit, and a global-pointer path that was not granted (0.161311ms) -2026-09-27T05:35:39.7717159Z ✔ maka-cu dispatch results are held to their closed sets (§6.3/§6.5) (3.134121ms) -2026-09-27T05:35:39.7745406Z ▶ maka-cu keeps executor text out of what the model reads -2026-09-27T05:35:39.7805091Z ✔ holds postObservationError.code to §7.1, so a message cannot ride in on an invented one (0.325919ms) -2026-09-27T05:35:39.7806388Z ✔ holds detail.wouldRequirePath to §6.3, because the host renders it as evidence (0.333112ms) -2026-09-27T05:35:39.7807631Z ✔ holds element.actions to §5 inbound, not only outbound (1.825048ms) -2026-09-27T05:35:39.7835734Z ✔ maka-cu keeps executor text out of what the model reads (2.691698ms) -2026-09-27T05:35:39.7865821Z ▶ maka-cu supervisor: what the child may put on stdout -2026-09-27T05:35:39.7887338Z ✔ survives a JSON value that is not a response, and does not answer for it (192.119931ms) -2026-09-27T05:35:39.7895753Z ✔ tears the child down after three lines that are not protocol messages (177.203654ms) -2026-09-27T05:35:39.7922649Z ✔ sizes the stdout budget from the negotiated maxResponseBytes (975.955533ms) -2026-09-27T05:35:39.7947837Z ✔ maka-cu supervisor: what the child may put on stdout (1373.317107ms) -2026-09-27T05:35:39.7975485Z ▶ maka-cu supervisor: the handshake is a closed contract (§2) -2026-09-27T05:35:39.8005725Z ✔ refuses snapshotsPerSession: 0 as a protocol violation, without respawning (61.989079ms) -2026-09-27T05:35:39.8007046Z ✔ refuses snapshotTtlMs: -1 as a protocol violation, without respawning (95.53483ms) -2026-09-27T05:35:39.8035747Z ✔ refuses shutdownGraceMs: 0 as a protocol violation, without respawning (98.383876ms) -2026-09-27T05:35:39.8068495Z ✔ refuses maxElements: 2.5 as a protocol violation, without respawning (131.675885ms) -2026-09-27T05:35:39.8095711Z ✔ refuses maxDepth: "64" as a protocol violation, without respawning (133.028575ms) -2026-09-27T05:35:39.8096818Z ✔ accepts a handshake whose limits are all whole and positive (127.756119ms) -2026-09-27T05:35:39.8125655Z ✔ maka-cu supervisor: the handshake is a closed contract (§2) (653.480617ms) -2026-09-27T05:35:39.8158172Z ▶ maka-cu supervisor: cancelling a delivered request (§7.2/§7.3) -2026-09-27T05:35:39.8185600Z ✔ settles an aborted delivered request in the cancel grace, not the deadline (2162.68675ms) -2026-09-27T05:35:39.8186768Z ✔ lets the executor answer a cancel, and reports the answer it gave (54.180719ms) -2026-09-27T05:35:39.8215733Z ✔ asks before killing on the deadline, so $/cancel is not written into a dying pipe (2398.173029ms) -2026-09-27T05:35:39.8245442Z ✔ clears one session without ending the others (89.316902ms) -2026-09-27T05:35:39.8276035Z ✔ maka-cu supervisor: cancelling a delivered request (§7.2/§7.3) (4705.128993ms) -2026-09-27T05:35:39.8277288Z ▶ maka-cu supervisor: saying what actually failed -2026-09-27T05:35:39.8305573Z ✔ reports an exec failure as one, with the errno (9.625248ms) -2026-09-27T05:35:39.8335645Z ✔ reports an absent binary as unavailable rather than a version skew (5.448824ms) -2026-09-27T05:35:39.8366893Z ✔ keeps saying why after the restart budget is spent (113.991094ms) -2026-09-27T05:35:39.8367990Z ✔ maka-cu supervisor: saying what actually failed (129.645625ms) -2026-09-27T05:35:39.8395748Z ▶ maka-cu supervisor: shutdown -2026-09-27T05:35:39.8425751Z ✔ leaves no image directory behind when disposed during startup (22.440831ms) -2026-09-27T05:35:39.8455376Z ✔ maka-cu supervisor: shutdown (22.854432ms) -2026-09-27T05:35:39.8456372Z ✔ service invalidation producer advances Runtime to reobserve (1.207233ms) -2026-09-27T05:35:39.8465310Z ✔ physical input policy is passed to the selected backend (0.28484ms) -2026-09-27T05:35:39.8466140Z ▶ stdio JSON-RPC framing -2026-09-27T05:35:39.8466912Z ✔ rejects an unparsed tail that exceeds the UTF-8 byte budget (5.624915ms) -2026-09-27T05:35:39.8467759Z ✔ accepts a multibyte tail exactly at the UTF-8 byte budget (0.273705ms) -2026-09-27T05:35:39.8468574Z ✔ preserves the existing ASCII boundary behavior (0.220277ms) -2026-09-27T05:35:39.8469258Z ✔ stdio JSON-RPC framing (7.8169ms) -2026-09-27T05:35:39.8470024Z ℹ tests 117 -2026-09-27T05:35:39.8470711Z ℹ suites 15 -2026-09-27T05:35:39.8471324Z ℹ pass 117 -2026-09-27T05:35:39.8471766Z ℹ fail 0 -2026-09-27T05:35:39.8472197Z ℹ cancelled 0 -2026-09-27T05:35:39.8472640Z ℹ skipped 0 -2026-09-27T05:35:39.8473066Z ℹ todo 0 -2026-09-27T05:35:39.8473540Z ℹ duration_ms 9295.320301 -2026-09-27T05:35:39.8474027Z [computer-use] passed -2026-09-27T05:35:39.8474528Z -2026-09-27T05:35:39.8475164Z [antigravity-acp-plugin] start: npm run test:dist -2026-09-27T05:35:39.8475857Z -2026-09-27T05:35:39.8476290Z > @maka/acp-executor-plugin@0.1.0 test:dist -2026-09-27T05:35:39.8476932Z > node --test "dist/**/*.test.js" -2026-09-27T05:35:39.8477808Z -2026-09-27T05:35:40.1744378Z -2026-09-27T05:35:40.1781876Z > @maka/antigravity-acp-plugin@0.1.0 test:dist -2026-09-27T05:35:40.1782746Z > node --test "dist/**/*.test.js" -2026-09-27T05:35:40.1816803Z -2026-09-27T05:35:40.2889900Z ✔ runtime retains one ACP process and Session across prompts (44.522712ms) -2026-09-27T05:35:40.2960915Z ✔ a terminal ACP tool update retains both output text and its file diff (9.621396ms) -2026-09-27T05:35:40.3055869Z ✔ a mixed terminal update emits only text not already streamed (4.729731ms) -2026-09-27T05:35:40.3107829Z ✔ runtime rejects a historical conversation after process continuity was lost (6.068709ms) -2026-09-27T05:35:40.3235972Z ✔ a continuity write failure cannot start an ACP Session and remains retryable (10.067005ms) -2026-09-27T05:35:40.3352845Z ✔ an uncertain session/new response remains history-only after restart (12.953452ms) -2026-09-27T05:35:40.3416212Z ✔ a failed first model change cannot replace an established ACP Session after restart (9.718871ms) -2026-09-27T05:35:40.3535890Z ✔ a pre-session request failure is cleaned up and can be retried (11.888229ms) -2026-09-27T05:35:40.3625884Z ✔ a pre-session crash failure is cleaned up and can be retried (7.407811ms) -2026-09-27T05:35:40.3715801Z ✔ a pre-session abort failure is cleaned up and can be retried (7.324548ms) -2026-09-27T05:35:40.3747260Z ✔ runtime drains cancellation and preserves cancelled (2.108972ms) -2026-09-27T05:35:40.3775609Z ✔ runtime drains cancellation and preserves end_turn (2.087989ms) -2026-09-27T05:35:40.3835621Z ✔ runtime drains cancellation and preserves max_tokens (1.796768ms) -2026-09-27T05:35:40.3895534Z ✔ runtime drains cancellation and preserves refusal (3.788831ms) -2026-09-27T05:35:40.3955603Z ✔ runtime drains cancellation and preserves request_error (3.001347ms) -2026-09-27T05:35:40.3985568Z ✔ runtime drains cancellation and preserves process_crash (5.458692ms) -2026-09-27T05:35:40.4105931Z ✔ runtime consumes or rejects the exact model selection {"model":"fast"} (9.350687ms) -2026-09-27T05:35:40.4496523Z ✔ runtime consumes or rejects the exact model selection {"configuration":{"model":"fast"}} (52.786798ms) -2026-09-27T05:35:40.4546434Z ✔ runtime consumes or rejects the exact model selection {"model":"fast","configuration":{"model":"fast"}} (1.95229ms) -2026-09-27T05:35:40.4576090Z ✔ runtime consumes or rejects the exact model selection {"model":"fixture-acp","configuration":{}} (3.158833ms) -2026-09-27T05:35:40.4605891Z ✔ runtime consumes or rejects the exact model selection {"model":"removed"} (2.836239ms) -2026-09-27T05:35:40.4668812Z ✔ runtime consumes or rejects the exact model selection {"model":"default","configuration":{"model":"fast"}} (1.679497ms) -2026-09-27T05:35:40.4725935Z ✔ discovery shares a disposable probe, does not mark a task, and first prompt applies the task model (11.493582ms) -2026-09-27T05:35:40.4773331Z ✔ an applied model change with response_lost prevents prompts using stale configuration (4.838002ms) -2026-09-27T05:35:40.5312618Z ✔ an applied model change with timeout prevents prompts using stale configuration (54.295327ms) -2026-09-27T05:35:40.5338300Z ✔ questions retain option identity and output updates retain arrival order (4.189441ms) -2026-09-27T05:35:40.5376590Z ✔ confirmed rollback preserves the previous model and permits retry after once (3.388664ms) -2026-09-27T05:35:40.5436209Z ✔ confirmed rollback preserves the previous model and permits retry after unconfirmed (5.101185ms) -2026-09-27T05:35:40.5464931Z ✔ idle Agent configuration notifications update the inspected model without another prompt (3.862535ms) -2026-09-27T05:35:40.6590056Z ✔ file read rejects invalid ranges and honors a zero limit (55.905453ms) -2026-09-27T05:35:40.6594151Z ✔ real stdio retains a conversation and returns original question option ids (205.467642ms) -2026-09-27T05:35:40.6595791Z ✔ real filesystem callbacks reject a symlink escape and permit workspace files (137.267246ms) -2026-09-27T05:35:40.7053381Z ✔ adapter registers through a parent ACP Runtime Entry (14.262324ms) -2026-09-27T05:35:40.7097128Z ✔ adapter owns Antigravity launch policy only (0.807346ms) -2026-09-27T05:35:40.7127431Z ✔ adapter validates configuration and preserves proxy bypass (0.739553ms) -2026-09-27T05:35:40.7175891Z ✔ official interaction requests are questions; ordinary tool permissions stay permissions (0.450712ms) -2026-09-27T05:35:40.7199637Z ✔ official variants group complete and partial families while preserving opaque IDs (1.120056ms) -2026-09-27T05:35:40.7201193Z ✔ ambiguous or non-switchable families keep their original rows: Gemini 3.8 Flash (High) (0.278496ms) -2026-09-27T05:35:40.7202777Z ✔ ambiguous or non-switchable families keep their original rows: Gemini 3.8 Flash (High), Gemini 3.8 Flash (High), Gemini 3.8 Flash (Low) (0.630299ms) -2026-09-27T05:35:40.7220268Z ✔ ambiguous or non-switchable families keep their original rows: Gemini 3.8 Flash (High), Gemini 3.8 Flash (Low), Gemini 3.8 Flash (Auto) (1.29427ms) -2026-09-27T05:35:40.7280115Z ✔ ambiguous or non-switchable families keep their original rows: Unrecognized (High), Unrecognized (Low) (0.619951ms) -2026-09-27T05:35:40.7460331Z ℹ tests 9 -2026-09-27T05:35:40.7460992Z ℹ suites 0 -2026-09-27T05:35:40.7461479Z ℹ pass 9 -2026-09-27T05:35:40.7461911Z ℹ fail 0 -2026-09-27T05:35:40.7462354Z ℹ cancelled 0 -2026-09-27T05:35:40.7462861Z ℹ skipped 0 -2026-09-27T05:35:40.7463281Z ℹ todo 0 -2026-09-27T05:35:40.7463782Z ℹ duration_ms 477.304017 -2026-09-27T05:35:40.7597707Z [antigravity-acp-plugin] passed -2026-09-27T05:35:40.7916377Z ✔ file writes reject existing and dangling links outside the workspace (131.669112ms) -2026-09-27T05:35:40.9077716Z ✔ file writes create and truncate regular files but reject links inside the workspace (116.060949ms) -2026-09-27T05:35:41.0266971Z ✔ real tool metadata is bounded without losing activity (400 characters) (118.844242ms) -2026-09-27T05:35:41.1342558Z ✔ real tool metadata is bounded without losing activity (11 characters) (109.020759ms) -2026-09-27T05:35:41.2539245Z ✔ real tool metadata is bounded without losing activity (3 characters) (118.673336ms) -2026-09-27T05:35:41.3776418Z ✔ real "\n" file diffs survive executor validation and backend projection (120.204646ms) -2026-09-27T05:35:41.4930657Z ✔ real "\r\n" file diffs survive executor validation and backend projection (118.588497ms) -2026-09-27T05:35:41.5576888Z ✔ real cancellation settles before follow-up; crash makes the task history-only (62.498202ms) -2026-09-27T05:35:41.6714706Z ✔ disposing a real retained process also terminates its helper (115.936739ms) -2026-09-27T05:35:56.7757788Z ✔ an unresponsive cancel is bounded, records timeout and loses the process (15104.674798ms) -2026-09-27T05:35:56.8766110Z ✔ retiring one conversation cleans its helper after the parent has crashed (100.457621ms) -2026-09-27T05:35:56.8880394Z ✔ ACP file diff represents newline-terminated files (9.223366ms) -2026-09-27T05:35:56.8881349Z ✔ ACP file diff represents files without a final newline (0.254202ms) -2026-09-27T05:35:56.8882233Z ✔ ACP file diff represents an empty old file (0.202296ms) -2026-09-27T05:35:56.8882868Z ℹ tests 46 -2026-09-27T05:35:56.8883607Z ℹ suites 0 -2026-09-27T05:35:56.8884048Z ℹ pass 46 -2026-09-27T05:35:56.8886259Z ℹ fail 0 -2026-09-27T05:35:56.8886815Z ℹ cancelled 0 -2026-09-27T05:35:56.8887356Z ℹ skipped 0 -2026-09-27T05:35:56.8888291Z ℹ todo 0 -2026-09-27T05:35:56.8888752Z ℹ duration_ms 16987.939426 -2026-09-27T05:35:56.9018465Z [acp-executor-plugin] passed -2026-09-27T05:36:21.6208555Z ✔ atomic claims obey global and per-worker group capacity; a straggler holds only its group (29.765396ms) -2026-09-27T05:36:21.6209832Z ✔ expired groups skip committed zeroes, fence late results, and retain duplicate execution cost (12.384071ms) -2026-09-27T05:36:21.6210922Z ✔ coordinator restart grants reconciliation grace before expiring old ownership (6.428505ms) -2026-09-27T05:36:21.6211836Z ✔ workers that never reconcile expire after the recovery grace (3.473869ms) -2026-09-27T05:36:21.6213596Z ✔ deterministic environment failures block dispatch until repair; admission includes verifier capacity (11.011903ms) -2026-09-27T05:36:21.6215130Z ✔ retry exhaustion is incomplete evaluation, not a synthetic zero (8.845617ms) -2026-09-27T05:36:21.6216242Z ✔ selection uses execution/verification/cleanup evidence independently of usage and coarse status (4.969133ms) -2026-09-27T05:36:21.6217259Z ✔ invalid evidence and foreign reports cannot change durable progress (5.353022ms) -2026-09-27T05:36:21.6218162Z ✔ lost claim and report acknowledgements recover through the real worker outbox (22.030815ms) -2026-09-27T05:36:21.6219237Z ✔ worker buffers completed cells during coordinator outage and resumes without reexecution (12.018784ms) -2026-09-27T05:36:21.6220517Z ✔ persistence failures before and after commit never expose uncommitted work or lose committed ownership (3.336932ms) -2026-09-27T05:36:21.6221817Z ✔ file storage reopens committed state/artifacts, enforces one writer and rejects corruption (88.161025ms) -2026-09-27T05:36:21.6222986Z ✔ closing a coordinator drains accepted commands and rejects old-owner writes (1.331532ms) -2026-09-27T05:36:21.6224040Z ✔ explicit coordinator pause freezes leases and dispatch until recovery (2.735564ms) -2026-09-27T05:36:21.6225342Z ✔ the same seed reproduces the entire fault trace and selected results byte for byte (13237.377361ms) -2026-09-27T05:36:21.6226540Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=0 (2792.9514ms) -2026-09-27T05:36:21.6227700Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=1 (2556.192712ms) -2026-09-27T05:36:21.6228887Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=2 (2578.847364ms) -2026-09-27T05:36:21.6230108Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=3 (2645.869612ms) -2026-09-27T05:36:21.6231123Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=4 (2490.620553ms) -2026-09-27T05:36:21.6232192Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=5 (2484.907733ms) -2026-09-27T05:36:21.6233474Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=6 (2379.715378ms) -2026-09-27T05:36:21.6234682Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=7 (2564.356513ms) -2026-09-27T05:36:21.6235833Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=8 (2356.799536ms) -2026-09-27T05:36:21.6237021Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=9 (2544.777697ms) -2026-09-27T05:36:21.6238352Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=10 (2571.840584ms) -2026-09-27T05:36:21.6252220Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=11 (2416.238282ms) -2026-09-27T05:36:21.6253591Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=12 (2363.11565ms) -2026-09-27T05:36:21.6254739Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=13 (2563.842747ms) -2026-09-27T05:36:21.6255586Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=14 (2470.207183ms) -2026-09-27T05:36:21.6256377Z ✔ deterministic VM/network/restart simulation converges without duplicate selections: seed=15 (2605.947175ms) -2026-09-27T05:36:21.6569154Z ✔ preflights the pinned Python framework and Docker before execution (25.029699ms) -2026-09-27T05:36:21.6570364Z ✔ reports a missing machine mount before invoking external prerequisites (4.74358ms) -2026-09-27T05:36:21.6571216Z ✔ rejects an unusable trials root before invoking external prerequisites (3.795308ms) -2026-09-27T05:36:21.6572223Z ✔ rejects a dangling trials root symlink before invoking external prerequisites (4.078715ms) -2026-09-27T05:36:21.6573163Z ✔ identifies a mismatched Python framework environment (3.874761ms) -2026-09-27T05:36:21.6584748Z ✔ rejects egress assets that escape their declared source root (10.252524ms) -2026-09-27T05:36:21.6586268Z ✔ rejects egress assets that escape through a symlink (4.733442ms) -2026-09-27T05:36:21.6587046Z ✔ propagates cancellation to an active prerequisite probe (3.194888ms) -2026-09-27T05:36:21.6588025Z ✔ cancellation while waiting for relay connection escalates and releases ownership (228.936532ms) -2026-09-27T05:36:21.6588884Z ✔ cancellation while waiting for ready line enters bounded cleanup (118.086493ms) -2026-09-27T05:36:21.6589539Z ✔ normal verification outlives the former Eval completion deadline (191.425754ms) -2026-09-27T05:36:21.6590275Z ✔ cancellation before verification settles remains replaceable after clean teardown (190.838115ms) -2026-09-27T05:36:21.6591021Z ✔ used trial abort terminates the supervisor without a second wire decision (104.26116ms) -2026-09-27T05:36:21.6591657Z ✔ SIGKILL of the supervisor does not confirm host cleanup (88.246886ms) -2026-09-27T05:36:21.6592353Z ✔ Maka framework termination is authoritative before stdout decoding (7.726452ms) -2026-09-27T05:36:21.6592994Z ✔ Maka forwards Host requirements and declared credential names (4.414629ms) -2026-09-27T05:36:21.6593579Z ✔ a custom Maka subject forwards its default request protocol (0.845886ms) -2026-09-27T05:36:21.6594164Z ✔ the Maka shim projects only a completed subject as a zero exit (1263.67475ms) -2026-09-27T05:36:21.6595008Z ✔ subject preflight settles before the attempt timer starts (13.55176ms) -2026-09-27T05:36:21.6595624Z ✔ resume replaces a terminal attempt whose subject identity is stale (21.864046ms) -2026-09-27T05:36:21.6596260Z ✔ eight-arm spec and wrappers freeze the working provider contracts (2980.24859ms) -2026-09-27T05:36:21.6596907Z ✔ eight-arm spec adds Pi with the same pinned DeepSeek execution contract (5.590502ms) -2026-09-27T05:36:21.6597513Z ✔ the DeepSeek Harness arm pins its own minimal composition (4.522193ms) -2026-09-27T05:36:21.6598203Z ✔ experiment specs do not declare an executor working-directory authority (4.095539ms) -2026-09-27T05:36:21.6598793Z ✔ pier cannot declare an egress proxy it never enforces (0.4273ms) -2026-09-27T05:36:21.6599393Z ✔ Pier rejects configured mounts that collide with framework log ownership (0.74994ms) -2026-09-27T05:36:21.6600044Z ✔ Pier preserves its log mounts without inheriting MAKA_EVAL_FRAMEWORK (105.390454ms) -2026-09-27T05:36:21.6600723Z ✔ runtime artifact capture includes committed WAL rows in a standalone database (100.48559ms) -2026-09-27T05:36:21.6601388Z ✔ startup artifacts survive a missing or unreadable runtime database (29.639721ms) -2026-09-27T05:36:21.6602063Z ✔ Maka reports the runtime and process artifacts for settled and timed-out executions (6.011525ms) -2026-09-27T05:36:21.6603045Z ✔ official Maka shim uses one Host for preflight and execution across retries and key rotation (12715.371472ms) -2026-09-27T05:36:21.6604083Z ✔ chmods the temporary checkpoint before rename so the published file is 0644 (16.48147ms) -2026-09-27T05:36:21.6605926Z ✔ refuses a metering checkpoint that is not a bounded regular file (21.842962ms) -2026-09-27T05:36:21.6607138Z ✔ uses taskkill for first-stage Windows termination so descendants cannot outlive the root (2.244721ms) -2026-09-27T05:36:21.6608405Z ✔ uses taskkill for forced Windows termination and preserves the process tree (0.293348ms) -2026-09-27T05:36:21.6609546Z ✔ falls back to the root process when Windows taskkill is unavailable (0.284618ms) -2026-09-27T05:36:21.6610419Z ✔ preserves POSIX signal semantics (4.345978ms) -2026-09-27T05:36:21.6611217Z ✔ does not signal a child that has already exited (0.232754ms) -2026-09-27T05:36:21.6612290Z ﹣ first-stage Windows termination removes a supervisor and its descendant (1.105959ms) # SKIP -2026-09-27T05:36:21.6613538Z ✔ provider metering checkpoint records admission before the request settles (462.188282ms) -2026-09-27T05:36:21.6614872Z ✔ provider failures remain infrastructure failures until inference admission (1351.65855ms) -2026-09-27T05:36:21.6616345Z ✔ large canonical Pi settlement remains completed when the CLI exits nonzero (510.369136ms) -2026-09-27T05:36:21.6617583Z ✔ oversized external records are attributed to bounded classification (3017.245516ms) -2026-09-27T05:36:21.6618754Z ✔ a request arriving while the proxy drains is refused, not counted (1260.076908ms) -2026-09-27T05:36:21.6619490Z ✔ recognizes confirmed provider inference events (1.17943ms) -2026-09-27T05:36:21.6620386Z ✔ does not treat provider and transport errors as model admission (0.241119ms) -2026-09-27T05:36:21.6621259Z ✔ Eval removes named and provider-native web tools from provider requests (2.394262ms) -2026-09-27T05:36:21.6622501Z ✔ Eval preserves non-JSON and requests without web tools byte-for-byte (0.355171ms) -2026-09-27T05:36:21.6623277Z ℹ tests 116 -2026-09-27T05:36:21.6623592Z ℹ suites 0 -2026-09-27T05:36:21.6623963Z ℹ pass 115 -2026-09-27T05:36:21.6624322Z ℹ fail 0 -2026-09-27T05:36:21.6624804Z ℹ cancelled 0 -2026-09-27T05:36:21.6625101Z ℹ skipped 1 -2026-09-27T05:36:21.6625380Z ℹ todo 0 -2026-09-27T05:36:21.6625748Z ℹ duration_ms 54632.148214 -2026-09-27T05:36:22.6878179Z ssss..................ssssss....................................................Executing result=None created at /usr/lib/python3.12/asyncio/runners.py:100> took 0.112 seconds -2026-09-27T05:36:23.7515736Z ....... -2026-09-27T05:36:23.7516575Z ---------------------------------------------------------------------- -2026-09-27T05:36:23.7517376Z Ran 87 tests in 1.832s -2026-09-27T05:36:23.7517693Z -2026-09-27T05:36:23.7517888Z OK (skipped=10) -2026-09-27T05:36:23.7794576Z [eval] passed -2026-09-27T05:36:23.7822077Z [runtime] failed with code 1 -2026-09-27T05:36:23.7877218Z ##[error]Process completed with exit code 1. -2026-09-27T05:36:23.7971037Z ##[group]Run actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a -2026-09-27T05:36:23.7971436Z with: -2026-09-27T05:36:23.7971658Z name: desktop-e2e-results -2026-09-27T05:36:23.7971949Z path: apps/desktop/e2e/test-results/ -2026-09-27T05:36:23.7972240Z if-no-files-found: ignore -2026-09-27T05:36:23.7972485Z retention-days: 7 -2026-09-27T05:36:23.7972716Z compression-level: 6 -2026-09-27T05:36:23.7972938Z overwrite: false -2026-09-27T05:36:23.7973164Z include-hidden-files: false -2026-09-27T05:36:23.7973414Z archive: true -2026-09-27T05:36:23.7973620Z ##[endgroup] -2026-09-27T05:36:23.9285747Z No files were found with the provided path: apps/desktop/e2e/test-results/. No artifacts will be uploaded. -2026-09-27T05:36:23.9486342Z Post job cleanup. -2026-09-27T05:36:24.0278059Z [command]/usr/bin/git version -2026-09-27T05:36:24.0321437Z git version 2.55.0 -2026-09-27T05:36:24.0361908Z Temporarily overriding HOME='/home/runner/work/_temp/3cc0a1e1-8da7-460b-967d-493014e686c7' before making global git config changes -2026-09-27T05:36:24.0363133Z Adding repository directory to the temporary git global config as a safe directory -2026-09-27T05:36:24.0368114Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/maka/maka -2026-09-27T05:36:24.0401353Z Removing SSH command configuration -2026-09-27T05:36:24.0408874Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand -2026-09-27T05:36:24.0446206Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :" -2026-09-27T05:36:24.0651044Z Removing HTTP extra header -2026-09-27T05:36:24.0656139Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader -2026-09-27T05:36:24.0687806Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :" -2026-09-27T05:36:24.0887241Z Removing includeIf entries pointing to credentials config files -2026-09-27T05:36:24.0897618Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: -2026-09-27T05:36:24.0934142Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url -2026-09-27T05:36:24.1366655Z Cleaning up orphan processes From c0b34f2b08d5ce3cc0f8695399fb2fc83be464aa Mon Sep 17 00:00:00 2001 From: ggbdpq Date: Sun, 27 Sep 2026 17:26:26 +0800 Subject: [PATCH 5/9] fix(runtime,desktop): order catalog reads across a Host restart by host generation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Second round on the run epoch (#5713): a wall-clock seed does not buy cross-process ordering. If the clock moves backward between restarts, or the previous process bumps its counter more times than milliseconds elapse before the restart, the restarted Host seeds below the epoch already recorded on a Desktop catalog row and every fresh same-revision read is rejected as stale until the new counter catches up (#5713 review). Stop pretending the epoch is comparable across processes and make the generation explicit instead: - RuntimeKernel exposes `sessionHostGeneration()` — an identity fixed at construction — and the per-session epoch returns to a plain per-process counter. Within one process the counter keeps ordering same-revision reads; across processes it claims nothing. - The Session catalog live run state carries `hostGeneration` (wire-visible, so the compatibility epoch moves to 194). Clients compare generations first: same generation orders by epoch, different generations never order — a restarted Host takes the row over from its predecessor whatever the two counters read, because every observation the predecessor published describes turns that no longer exist. A patch that lagged behind a restart survives at most until the live generation's next read. - Desktop's catalog staleness fence implements that comparison; the same-generation epoch protection from #5713 is unchanged. Verification: kernel interaction, session catalog protocol, coordinator and authenticated WebSocket suites pass locally; the Desktop suite pins the old-Host/new-Host transition (a fresh generation at a lower epoch must win, same-generation ordering must keep rejecting older reads). The session-catalog restart test now also asserts the generation changes across a service restart. The two-client UDS suite cannot run on Windows; its fixtures were updated to match and left to CI. Generated-by: GLM-5.3-Flash (ZCode) --- .../app-shell-session-ui-state.test.ts | 45 ++++++++++-- .../session-catalog/session-catalog-state.ts | 16 ++++ packages/core/src/session.ts | 12 +++ .../__tests__/authenticated-websocket.test.ts | 73 ++++++++++++++----- .../session-catalog-coordinator.test.ts | 4 + .../session-catalog-protocol.test.ts | 32 ++++++++ .../session-catalog-two-client-uds.test.ts | 25 ++++++- .../src/client/session-catalog-summary.ts | 3 + packages/runtime-host/src/protocol/index.ts | 6 +- .../src/protocol/session-catalog.ts | 26 ++++++- .../src/server/session-catalog-coordinator.ts | 5 ++ .../runtime-kernel-interaction.test.ts | 25 +++++++ packages/runtime/src/runtime-kernel.ts | 29 ++++++-- packages/runtime/src/session-manager.ts | 23 +++++- 14 files changed, 285 insertions(+), 39 deletions(-) diff --git a/apps/desktop/src/main/__tests__/app-shell-session-ui-state.test.ts b/apps/desktop/src/main/__tests__/app-shell-session-ui-state.test.ts index ed847e2688..a465dfc847 100644 --- a/apps/desktop/src/main/__tests__/app-shell-session-ui-state.test.ts +++ b/apps/desktop/src/main/__tests__/app-shell-session-ui-state.test.ts @@ -377,15 +377,23 @@ describe('shellSessionRowEqual', () => { const { root } = installReactRenderer(); try { const catalog = createSessionCatalogController(); - catalog.commitSessions([{ ...row, revision: 5, runningTurnIds: ['turn-1'], runEpoch: 2 }]); + catalog.commitSessions([{ + ...row, + revision: 5, + runningTurnIds: ['turn-1'], + runHostGeneration: 'host-1', + runEpoch: 2, + }]); // A read taken before the turn started lands after the running patch: - // same revision, older epoch — it must not flip the row back to idle. + // same revision, same host generation, older epoch — it must not flip + // the row back to idle. await act(async () => { catalog.commitPatch(row.id, { ...row, revision: 5, runningTurnIds: [], + runHostGeneration: 'host-1', runEpoch: 1, }); }); @@ -401,23 +409,46 @@ describe('shellSessionRowEqual', () => { ...row, revision: 5, runningTurnIds: [], + runHostGeneration: 'host-1', runEpoch: 3, }); }); assert.deepEqual(selectSessionById(catalog.getState(), row.id)?.runningTurnIds, []); - // A Host restart reseeds the epoch from the new process's clock, so the - // restarted Host's first read (a low counter on a huge clock base) must - // beat any epoch the previous process produced (#5713 review). + // A Host restart is a new generation: the previous host is gone, so + // its row cannot out-rank the restarted host's first read, whatever + // each side's epoch counter reads — a wall clock is not monotonic + // across processes (#5713 review round two). await act(async () => { catalog.commitPatch(row.id, { ...row, revision: 5, runningTurnIds: ['turn-2'], - runEpoch: 1_700_000_000_000, + runHostGeneration: 'host-2', + runEpoch: 1, }); }); - assert.deepEqual(selectSessionById(catalog.getState(), row.id)?.runningTurnIds, ['turn-2']); + assert.deepEqual( + selectSessionById(catalog.getState(), row.id)?.runningTurnIds, + ['turn-2'], + 'the restarted host must take over the row', + ); + + // Within the restarted generation the counter orders reads again. + await act(async () => { + catalog.commitPatch(row.id, { + ...row, + revision: 5, + runningTurnIds: ['turn-2'], + runHostGeneration: 'host-2', + runEpoch: 0, + }); + }); + assert.deepEqual( + selectSessionById(catalog.getState(), row.id)?.runningTurnIds, + ['turn-2'], + 'the older read of the restarted generation must not win', + ); } finally { cleanupFakeDom(); } }); diff --git a/apps/desktop/src/renderer/application/contracts/session-catalog/session-catalog-state.ts b/apps/desktop/src/renderer/application/contracts/session-catalog/session-catalog-state.ts index 9317314bbf..5fe6e182bc 100644 --- a/apps/desktop/src/renderer/application/contracts/session-catalog/session-catalog-state.ts +++ b/apps/desktop/src/renderer/application/contracts/session-catalog/session-catalog-state.ts @@ -194,9 +194,25 @@ export function waitForCatalogSession( * starting or ending does not move `revision`, so two same-revision reads can * disagree about `runningTurnIds` — the run epoch says which observation is * older, and the stale one must not overwrite the fresher (#5713). + * + * The epoch counter only orders observations of one Host generation. + * Generations themselves are not ordered, so a read from a different + * generation is never stale: a restarted Host must take the row over from its + * predecessor whatever the two counters read, and a patch that lagged behind + * a restart survives at most until the live generation's next read (#5713 + * review). */ function isStaleSummary(prior: DesktopSessionSummary, next: DesktopSessionSummary): boolean { if (prior.revision !== next.revision) return prior.revision > next.revision; + const priorGeneration = prior.runHostGeneration; + const nextGeneration = next.runHostGeneration; + if ( + priorGeneration !== undefined && + nextGeneration !== undefined && + priorGeneration !== nextGeneration + ) { + return false; + } const priorEpoch = prior.runEpoch; const nextEpoch = next.runEpoch; if (priorEpoch === undefined || nextEpoch === undefined || priorEpoch === nextEpoch) { diff --git a/packages/core/src/session.ts b/packages/core/src/session.ts index 2f5faefd74..993f02924e 100644 --- a/packages/core/src/session.ts +++ b/packages/core/src/session.ts @@ -409,8 +409,20 @@ export interface SessionSummary { * summaries can disagree about `runningTurnIds` — the epoch orders them: * the higher epoch is the newer observation (#5713). Present alongside * `runningTurnIds` under the same population rules. + * + * The counter restarts at zero with a fresh Host process, so it only orders + * observations of one host generation: summaries whose `runHostGeneration` + * differs are not comparable by epoch, and the newer generation's host owns + * the row outright. */ runEpoch?: number; + /** + * Identifies the Host process generation that produced this live-run + * observation. Summaries from different generations are not ordered by + * `runEpoch` — a restarted Host supersedes every observation its + * predecessor published, whatever the epoch counters read (#5713). + */ + runHostGeneration?: string; parentSessionId?: string; branchOfTurnId?: string; subagent?: SessionSubagentProjection; diff --git a/packages/runtime-host/src/__tests__/authenticated-websocket.test.ts b/packages/runtime-host/src/__tests__/authenticated-websocket.test.ts index 4e8ea45b46..c58e887866 100644 --- a/packages/runtime-host/src/__tests__/authenticated-websocket.test.ts +++ b/packages/runtime-host/src/__tests__/authenticated-websocket.test.ts @@ -310,15 +310,25 @@ test('one Local IPC owner and one authenticated WebSocket Client control the sam if (closed.value?.kind === 'subscription.closed') { assert.equal(closed.value.reason, 'access_revoked'); } + const sharedRead = await remote.request('session.catalog.query', { + kind: 'get', + sessionId: 'shared-session', + }); + assert.equal(sharedRead.kind, 'session'); + const sharedSession = sharedRead.kind === 'session' ? sharedRead.session : null; + assert.ok(sharedSession && !('kind' in sharedSession)); + if ('kind' in sharedSession) assert.fail('the shared row must be a current projection'); + // The host generation is unique per Host process, so assert its shape and + // compare the known-empty remainder. + const { hostGeneration: sharedGeneration, ...sharedKnownEmpty } = + sharedSession.liveRunState ?? {}; + if (typeof sharedGeneration !== 'string' || sharedGeneration.length === 0) { + assert.fail('the host generation must be a non-empty string'); + } + assert.deepEqual(sharedKnownEmpty, KNOWN_EMPTY_LIVE_RUN_STATE); assert.deepEqual( - await remote.request('session.catalog.query', { - kind: 'get', - sessionId: 'shared-session', - }), - { - kind: 'session', - session: { ...created, liveRunState: KNOWN_EMPTY_LIVE_RUN_STATE }, - }, + { ...sharedSession, liveRunState: KNOWN_EMPTY_LIVE_RUN_STATE }, + { ...created, liveRunState: KNOWN_EMPTY_LIVE_RUN_STATE }, ); const catalogChanged = new Promise((resolve) => { @@ -331,16 +341,23 @@ test('one Local IPC owner and one authenticated WebSocket Client control the sam }); assert.equal(renamed.kind, 'committed'); assert.equal(await catalogChanged, 'shared-session'); + const localRead = await local.request('session.catalog.query', { + kind: 'get', + sessionId: 'shared-session', + }); + assert.equal(localRead.kind, 'session'); + const localSession = localRead.kind === 'session' ? localRead.session : null; + assert.ok(localSession && !('kind' in localSession)); + if ('kind' in localSession) assert.fail('the local row must be a current projection'); + const { hostGeneration: localGeneration, ...localKnownEmpty } = localSession.liveRunState ?? {}; + if (typeof localGeneration !== 'string' || localGeneration.length === 0) { + assert.fail('the host generation must be a non-empty string'); + } + assert.deepEqual(localKnownEmpty, KNOWN_EMPTY_LIVE_RUN_STATE); assert.deepEqual( - await local.request('session.catalog.query', { - kind: 'get', - sessionId: 'shared-session', - }), + { ...localSession, liveRunState: KNOWN_EMPTY_LIVE_RUN_STATE }, renamed.kind === 'committed' - ? { - kind: 'session', - session: { ...renamed.session, liveRunState: KNOWN_EMPTY_LIVE_RUN_STATE }, - } + ? { ...renamed.session, liveRunState: KNOWN_EMPTY_LIVE_RUN_STATE } : assert.fail('Remote Session rename did not commit'), ); @@ -617,7 +634,29 @@ test('an authenticated WebSocket Client reconnects after service restart to cano websocket: { host: '127.0.0.1', port }, }); - assert.deepEqual(await recovered, expected); + const canonical = await recovered; + assert.equal(canonical.kind, 'session'); + assert.equal(expected.kind, 'session'); + const beforeSession = expected.kind === 'session' ? expected.session : null; + const afterSession = canonical.kind === 'session' ? canonical.session : null; + assert.ok(beforeSession && afterSession); + if ('kind' in beforeSession || 'kind' in afterSession) { + assert.fail('the canonical reads must be current projections'); + } + const beforeLive = beforeSession.liveRunState; + const afterLive = afterSession.liveRunState; + assert.ok(beforeLive && afterLive); + // The restart must change the host generation — the wire signal that lets + // clients tell the restarted Host's reads apart from its predecessor's + // (#5713). + assert.notEqual(afterLive.hostGeneration, beforeLive.hostGeneration); + assert.deepEqual( + { + ...afterSession, + liveRunState: { ...afterLive, hostGeneration: beforeLive.hostGeneration }, + }, + beforeSession, + ); assert.notEqual(remote.hostEpoch, firstHostEpoch); } finally { await Promise.allSettled([remote?.close(), local?.close()]); diff --git a/packages/runtime-host/src/__tests__/session-catalog-coordinator.test.ts b/packages/runtime-host/src/__tests__/session-catalog-coordinator.test.ts index aebfc3e5bd..48516f4ea2 100644 --- a/packages/runtime-host/src/__tests__/session-catalog-coordinator.test.ts +++ b/packages/runtime-host/src/__tests__/session-catalog-coordinator.test.ts @@ -315,6 +315,7 @@ test('catalog queries project known-empty and running state from Runtime authori schemaVersion: 1, runningTurnIds: [], runEpoch: 0, + hostGeneration: 'test-host-generation', }); runningTurnIds = ['turn-live']; @@ -334,6 +335,7 @@ test('catalog queries project known-empty and running state from Runtime authori schemaVersion: 1, runningTurnIds: ['turn-live'], runEpoch: 0, + hostGeneration: 'test-host-generation', }); }); @@ -382,6 +384,7 @@ test('catalog queries de-duplicate Runtime live turn ids in stable order', async schemaVersion: 1, runningTurnIds: ['turn-a', 'turn-b'], runEpoch: 0, + hostGeneration: 'test-host-generation', }); }); @@ -2206,6 +2209,7 @@ function createFixture( const manager: ConfigurationAuthority = { runningTurnIds: () => [], sessionRunEpoch: () => 0, + sessionHostGeneration: () => 'test-host-generation', transitionSessionConfiguration: async (_sessionId, input) => { header = { ...header, diff --git a/packages/runtime-host/src/__tests__/session-catalog-protocol.test.ts b/packages/runtime-host/src/__tests__/session-catalog-protocol.test.ts index 89ca900df0..1df2737117 100644 --- a/packages/runtime-host/src/__tests__/session-catalog-protocol.test.ts +++ b/packages/runtime-host/src/__tests__/session-catalog-protocol.test.ts @@ -149,6 +149,38 @@ describe('Session catalog protocol', () => { ); }); + test('accepts an optional host generation in the live run state and rejects a bad one', () => { + const withGeneration = { + ...projection(), + liveRunState: { + schemaVersion: 1, + runningTurnIds: ['turn-1'], + runEpoch: 3, + hostGeneration: 'host-gen-1', + }, + }; + assert.deepEqual(decodeSessionCatalogItem(withGeneration), withGeneration); + + // Hosts that do not track the generation keep decoding. + const withoutGeneration = { + ...projection(), + liveRunState: { schemaVersion: 1, runningTurnIds: ['turn-1'] }, + }; + assert.deepEqual(decodeSessionCatalogItem(withoutGeneration), withoutGeneration); + + for (const hostGeneration of [42, '', `x`.repeat(129), 'gen\u0000-1']) { + assert.throws( + () => + decodeSessionCatalogItem({ + ...projection(), + liveRunState: { schemaVersion: 1, runningTurnIds: ['turn-1'], hostGeneration }, + }), + isProtocolError, + `hostGeneration ${JSON.stringify(hostGeneration)} must be rejected`, + ); + } + }); + test('bounds the live running-turn collection explicitly', () => { const atLimit = Array.from( { length: SESSION_CATALOG_RUNNING_TURN_MAX_ITEMS }, diff --git a/packages/runtime-host/src/__tests__/session-catalog-two-client-uds.test.ts b/packages/runtime-host/src/__tests__/session-catalog-two-client-uds.test.ts index eaad31faff..ee15a3b816 100644 --- a/packages/runtime-host/src/__tests__/session-catalog-two-client-uds.test.ts +++ b/packages/runtime-host/src/__tests__/session-catalog-two-client-uds.test.ts @@ -53,6 +53,7 @@ import { SESSION_CATALOG_LIVE_RUN_STATE_SCHEMA_VERSION, type ClientFrame, type SessionCatalogItem, + type SessionCatalogLiveRunState, type SessionCatalogProjection, type SessionCreateInput, type SubscriptionFrame, @@ -72,6 +73,22 @@ const KNOWN_EMPTY_LIVE_RUN_STATE = { runEpoch: 0, } as const; +// The host generation is unique per Host process, so it cannot be spelled in +// advance: assert its shape, then compare the known-empty remainder. +function expectKnownEmptyLiveRunState(actual: SessionCatalogLiveRunState | undefined): void { + assert.ok(actual !== undefined, 'the live run state must be present'); + const { hostGeneration, ...knownEmpty } = actual; + if (typeof hostGeneration !== 'string' || hostGeneration.length === 0) { + assert.fail('the host generation must be a non-empty string'); + } + assert.deepEqual(knownEmpty, KNOWN_EMPTY_LIVE_RUN_STATE); +} + +function querySessionReconciled(summary: SessionCatalogProjection): SessionCatalogProjection { + expectKnownEmptyLiveRunState(summary.liveRunState); + return { ...summary, liveRunState: KNOWN_EMPTY_LIVE_RUN_STATE }; +} + test('two Clients share stable Session creation, CAS configuration, and catalog continuity', { skip: process.platform === 'win32' ? 'Windows SQLite shutdown lifecycle' : false, timeout: 120_000, @@ -304,7 +321,7 @@ test('two Clients share stable Session creation, CAS configuration, and catalog assert.fail('One Session configuration must commit'); } const configuredSession = requireSessionProjection(committedConfiguration.session); - assert.deepEqual(await querySession(desktop, created.id), { + assert.deepEqual(querySessionReconciled(await querySession(desktop, created.id)), { ...configuredSession, liveRunState: KNOWN_EMPTY_LIVE_RUN_STATE, }); @@ -360,7 +377,7 @@ test('two Clients share stable Session creation, CAS configuration, and catalog relocatedSession.workspace.hostCwd === (await realpath(firstCwd)) || relocatedSession.workspace.hostCwd === (await realpath(secondCwd)), ); - assert.deepEqual(await querySession(tui, narrowedSession.id), { + assert.deepEqual(querySessionReconciled(await querySession(tui, narrowedSession.id)), { ...relocatedSession, liveRunState: KNOWN_EMPTY_LIVE_RUN_STATE, }); @@ -398,7 +415,7 @@ test('two Clients share stable Session creation, CAS configuration, and catalog (error: unknown) => error instanceof RuntimeHostProtocolError && error.code === 'invalid_frame', ); - assert.deepEqual(await querySession(desktop, relocatedSession.id), { + assert.deepEqual(querySessionReconciled(await querySession(desktop, relocatedSession.id)), { ...relocatedSession, liveRunState: KNOWN_EMPTY_LIVE_RUN_STATE, }); @@ -787,7 +804,7 @@ test('stable Session creation survives response loss and Host restart', { try { const retried = requireSessionProjection(await retrying.request('session.create', input)); const { liveRunState, ...persistedCommitted } = committed; - assert.deepEqual(liveRunState, KNOWN_EMPTY_LIVE_RUN_STATE); + expectKnownEmptyLiveRunState(liveRunState); assert.deepEqual(retried, persistedCommitted); } finally { await retrying.close(); diff --git a/packages/runtime-host/src/client/session-catalog-summary.ts b/packages/runtime-host/src/client/session-catalog-summary.ts index a554dc2d80..13ba8cf4fb 100644 --- a/packages/runtime-host/src/client/session-catalog-summary.ts +++ b/packages/runtime-host/src/client/session-catalog-summary.ts @@ -49,6 +49,9 @@ export function projectSessionCatalogSummary( ...(session.liveRunState.runEpoch === undefined ? {} : { runEpoch: session.liveRunState.runEpoch }), + ...(session.liveRunState.hostGeneration === undefined + ? {} + : { runHostGeneration: session.liveRunState.hostGeneration }), }), ...(session.parentSessionId === undefined ? {} : { parentSessionId: session.parentSessionId }), ...(session.branchOfTurnId === undefined ? {} : { branchOfTurnId: session.branchOfTurnId }), diff --git a/packages/runtime-host/src/protocol/index.ts b/packages/runtime-host/src/protocol/index.ts index c16527a06e..96266f0a2e 100644 --- a/packages/runtime-host/src/protocol/index.ts +++ b/packages/runtime-host/src/protocol/index.ts @@ -103,7 +103,11 @@ export const RUNTIME_HOST_REGISTRATION_SCHEMA_VERSION = 1 as const; export const RUNTIME_HOST_PROTOCOL_VERSION = 0 as const; // Increment when the same protocol version no longer guarantees safe Client-Host // interoperability. Mismatches are rejected before domain commands are admitted. -export const RUNTIME_HOST_COMPATIBILITY_EPOCH = 194 as const; +export const RUNTIME_HOST_COMPATIBILITY_EPOCH = 195 as const; +// 195: Session catalog live run state may carry the host generation that +// produced it, so clients can tell same-revision reads of a restarted Host +// apart from its predecessor's instead of ordering them by a per-process +// epoch. Epoch-194 peers reject the unknown key. // 194: Session catalog live run state may carry the runtime's run epoch, which // lets clients order same-revision reads. Epoch-193 peers reject the unknown // key, so a newer Desktop against an older Host loses session catalog reads. diff --git a/packages/runtime-host/src/protocol/session-catalog.ts b/packages/runtime-host/src/protocol/session-catalog.ts index 1803d181cc..4d30ab35c5 100644 --- a/packages/runtime-host/src/protocol/session-catalog.ts +++ b/packages/runtime-host/src/protocol/session-catalog.ts @@ -71,6 +71,7 @@ export const SESSION_CATALOG_MODEL_MAX_BYTES = SESSION_MODEL_ID_MAX_BYTES; export const SESSION_CATALOG_CONNECTION_SLUG_MAX_BYTES = 256; export const SESSION_CATALOG_LIVE_RUN_STATE_SCHEMA_VERSION = 1 as const; export const SESSION_CATALOG_RUNNING_TURN_MAX_ITEMS = 64; +export const SESSION_CATALOG_HOST_GENERATION_MAX_CHARS = 128; const QUERY_ERRORS = [ 'host_not_ready', @@ -229,9 +230,19 @@ export interface SessionCatalogLiveRunState { * The runtime's own order for this live state, bumped on every turn start * and end. `revision` does not move for those transitions, so two * same-revision reads can disagree about `runningTurnIds` — the epoch says - * which read is older (#5713). Absent from hosts that do not track it. + * which read is older (#5713). Absent from hosts that do not track it. The + * counter is per-process; across a Host restart only `hostGeneration` + * orders observations, never the epoch. */ readonly runEpoch?: number; + /** + * Identifies the Host process generation that produced this live state. + * Rows survive a Host restart while the epoch counter restarts at zero, so + * clients must not order same-revision reads across generations by epoch — + * a restarted Host supersedes every observation its predecessor published. + * Absent from hosts that do not track it. + */ + readonly hostGeneration?: string; } export interface SessionCatalogProjection { @@ -1015,6 +1026,7 @@ function optionalLiveRunState( 'schemaVersion', 'runningTurnIds', 'runEpoch', + 'hostGeneration', ]); if (liveRunState.schemaVersion !== SESSION_CATALOG_LIVE_RUN_STATE_SCHEMA_VERSION) { throw invalidProtocolFrame('Unsupported Session catalog live run state schema version'); @@ -1043,11 +1055,23 @@ function optionalLiveRunState( ) { throw invalidProtocolFrame('Invalid Session catalog run epoch'); } + if ( + liveRunState.hostGeneration !== undefined && + (typeof liveRunState.hostGeneration !== 'string' || + liveRunState.hostGeneration.length === 0 || + liveRunState.hostGeneration.length > SESSION_CATALOG_HOST_GENERATION_MAX_CHARS || + /[\u0000-\u001f\u007f]/.test(liveRunState.hostGeneration)) + ) { + throw invalidProtocolFrame('Invalid Session catalog host generation'); + } return { liveRunState: { schemaVersion: SESSION_CATALOG_LIVE_RUN_STATE_SCHEMA_VERSION, runningTurnIds, ...(liveRunState.runEpoch === undefined ? {} : { runEpoch: liveRunState.runEpoch }), + ...(liveRunState.hostGeneration === undefined + ? {} + : { hostGeneration: liveRunState.hostGeneration }), }, }; } diff --git a/packages/runtime-host/src/server/session-catalog-coordinator.ts b/packages/runtime-host/src/server/session-catalog-coordinator.ts index 89da137908..e66a6bb6f4 100644 --- a/packages/runtime-host/src/server/session-catalog-coordinator.ts +++ b/packages/runtime-host/src/server/session-catalog-coordinator.ts @@ -142,6 +142,7 @@ type SessionConfigurationAuthority = Pick< | 'relocateSessionWorkspace' | 'runningTurnIds' | 'sessionRunEpoch' + | 'sessionHostGeneration' >; type SessionContinuity = Pick; @@ -522,6 +523,7 @@ export class HostSessionCatalogCoordinator { projectCatalogLiveRunState( this.#manager.runningTurnIds(record.header.id), this.#manager.sessionRunEpoch(record.header.id), + this.#manager.sessionHostGeneration(), ), ) : null, @@ -541,6 +543,7 @@ export class HostSessionCatalogCoordinator { projectCatalogLiveRunState( this.#manager.runningTurnIds(record.header.id), this.#manager.sessionRunEpoch(record.header.id), + this.#manager.sessionHostGeneration(), ), ); } @@ -1747,6 +1750,7 @@ function projectSharedSessionCatalogRecord( function projectCatalogLiveRunState( runningTurnIds: readonly string[], runEpoch?: number, + hostGeneration?: string, ): SessionCatalogLiveRunState | undefined { const uniqueRunningTurnIds = [...new Set(runningTurnIds)]; if (uniqueRunningTurnIds.length > SESSION_CATALOG_RUNNING_TURN_MAX_ITEMS) return undefined; @@ -1754,6 +1758,7 @@ function projectCatalogLiveRunState( schemaVersion: SESSION_CATALOG_LIVE_RUN_STATE_SCHEMA_VERSION, runningTurnIds: uniqueRunningTurnIds, runEpoch, + ...(hostGeneration === undefined ? {} : { hostGeneration }), }; } diff --git a/packages/runtime/src/__tests__/runtime-kernel-interaction.test.ts b/packages/runtime/src/__tests__/runtime-kernel-interaction.test.ts index 3c737de5d8..c75cd20e97 100644 --- a/packages/runtime/src/__tests__/runtime-kernel-interaction.test.ts +++ b/packages/runtime/src/__tests__/runtime-kernel-interaction.test.ts @@ -291,6 +291,31 @@ describe('RuntimeKernel Interaction close cleanup', () => { ); }); + test('each kernel gets its own host generation; epochs restart per process (#5713 review)', () => { + const backends = new BackendRegistry(); + backends.register('ai-sdk', () => new BlockingBackend(SESSION_ID, {})); + let id = 0; + const newId = () => `gen-id-${++id}`; + const first = new RuntimeKernel({ + store: memoryStore(), + backends, + newId, + now: () => 0, + }); + // A second kernel stands in for the restarted Host process: a fresh + // generation and epoch counters back to zero, even though the previous + // process may have left a higher epoch on a client's catalog row. + const second = new RuntimeKernel({ + store: memoryStore(), + backends, + newId, + now: () => 0, + }); + assert.notEqual(first.sessionHostGeneration(), second.sessionHostGeneration()); + assert.equal(first.sessionRunEpoch(SESSION_ID), 0); + assert.equal(second.sessionRunEpoch(SESSION_ID), 0); + }); + test('a generation stopped after Run reservation cannot send on the stale backend', async () => { const store = memoryStore(); const backends = new BackendRegistry(); diff --git a/packages/runtime/src/runtime-kernel.ts b/packages/runtime/src/runtime-kernel.ts index b296eace33..7882ad5362 100644 --- a/packages/runtime/src/runtime-kernel.ts +++ b/packages/runtime/src/runtime-kernel.ts @@ -200,9 +200,18 @@ export interface RuntimeKernelLike { /** * Bumped every time a run enters or leaves the session's active set, so two * same-revision catalog reads can be ordered by their live run state even - * when a turn started or ended between them (#5713). + * when a turn started or ended between them (#5713). The counter belongs to + * this process alone; pair it with `sessionHostGeneration` to tell which + * process an observation came from. */ sessionRunEpoch?(sessionId: string): number; + /** + * Identifies this kernel process's run-epoch generation. Catalog rows + * survive a Host restart while the per-process epoch counters restart at + * zero, so clients must not order rows across generations by epoch — a + * restarted Host supersedes every observation its predecessor published. + */ + sessionHostGeneration?(): string; hasActiveRun?(sessionId: string, runId: string, turnId?: string): boolean; requestRunHandoff?( sessionId: string, @@ -413,11 +422,11 @@ export class RuntimeKernel implements RuntimeKernelLike { if (deps.runStore && !deps.runtimeEventStore) { throw new Error('RuntimeEventStore is required when AgentRunStore is configured'); } - // The per-session run-epoch counters restart at zero with a fresh process, - // while Desktop's catalog rows survive Host restarts. Seeding every epoch - // with the construction clock keeps a restarted Host's epochs strictly - // greater than anything the previous process produced (#5713 review). - this.#sessionRunEpochBase = deps.now?.() ?? 0; + // One identity per kernel process: catalog rows survive a Host restart + // while the per-session epoch counters restart at zero, so clients pair + // the generation with the epoch instead of comparing epochs across + // processes (#5713 review). + this.#hostGeneration = deps.newId(); this.historyCompactCoordinator = new HistoryCompactCheckpointCoordinator(deps); } @@ -2204,11 +2213,15 @@ export class RuntimeKernel implements RuntimeKernelLike { return [...new Set(this.activeRunsFor(sessionId).map((run) => run.turnId))]; } - readonly #sessionRunEpochBase: number; readonly #sessionRunEpochs = new Map(); + readonly #hostGeneration: string; sessionRunEpoch(sessionId: string): number { - return this.#sessionRunEpochBase + (this.#sessionRunEpochs.get(sessionId) ?? 0); + return this.#sessionRunEpochs.get(sessionId) ?? 0; + } + + sessionHostGeneration(): string { + return this.#hostGeneration; } #bumpSessionRunEpoch(sessionId: string): void { diff --git a/packages/runtime/src/session-manager.ts b/packages/runtime/src/session-manager.ts index 73a5c06113..724b95ec9b 100644 --- a/packages/runtime/src/session-manager.ts +++ b/packages/runtime/src/session-manager.ts @@ -924,6 +924,9 @@ export class SessionManager { if (deps.runStore && !deps.runtimeEventStore) { throw new Error('RuntimeEventStore is required when AgentRunStore is configured'); } + // Fixed at construction: a generation that changed per call could never + // order observations of this process (#5713). + this.#hostGenerationFallback = deps.newId(); if (deps.publishChildWorkspacePatch && !deps.listArtifactsForTurn) { throw new Error('Child workspace patch publication requires Artifact turn listing'); } @@ -970,20 +973,38 @@ export class SessionManager { /** * The live run state's own order, bumped on every turn start and end. Two * same-revision catalog reads can disagree about `runningTurnIds`; the epoch - * says which one is older (#5713). + * says which one is older (#5713). The counter is per-process — pair it with + * `sessionHostGeneration` to tell which process an observation came from. */ sessionRunEpoch(sessionId: string): number { return this.runtimeKernel.sessionRunEpoch?.(sessionId) ?? 0; } + /** + * Identifies this process's run-epoch generation. Catalog rows survive a + * Host restart while the per-process epoch counters restart at zero, so + * clients order same-revision reads by generation first, never by epoch + * across restarts (#5713). Falls back to an identity fixed at construction + * when the kernel does not expose one. + */ + readonly #hostGenerationFallback: string; + + sessionHostGeneration(): string { + return this.runtimeKernel.sessionHostGeneration?.() ?? this.#hostGenerationFallback; + } + #projectLiveRunState(sessions: SessionSummary[]): SessionSummary[] { const runningTurnIds = this.runtimeKernel.runningTurnIds?.bind(this.runtimeKernel); if (!runningTurnIds) return sessions; const sessionRunEpoch = this.runtimeKernel.sessionRunEpoch?.bind(this.runtimeKernel); + const sessionHostGeneration = this.runtimeKernel.sessionHostGeneration?.bind( + this.runtimeKernel, + ); return sessions.map((session) => ({ ...session, runningTurnIds: runningTurnIds(session.id), ...(sessionRunEpoch ? { runEpoch: sessionRunEpoch(session.id) } : {}), + ...(sessionHostGeneration ? { runHostGeneration: sessionHostGeneration() } : {}), })); } From 46035261204410c1ad5a36e67298f0af2e216410 Mon Sep 17 00:00:00 2001 From: ggbdpq Date: Sun, 27 Sep 2026 18:04:37 +0800 Subject: [PATCH 6/9] fix(runtime): draw the host generation outside the newId sequence MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The construction-time generation call consumed the first `newId` — shifting every id the kernel handed out against fixtures that pin the sequence, and crashing deps that omit it. Give the generation its own optional dep and default to a random UUID instead. Generated-by: GLM-5.3-Flash (ZCode) --- .../__tests__/runtime-kernel-interaction.test.ts | 11 ++++++----- packages/runtime/src/runtime-kernel.ts | 13 +++++++++++-- packages/runtime/src/session-manager.ts | 12 +++++------- 3 files changed, 22 insertions(+), 14 deletions(-) diff --git a/packages/runtime/src/__tests__/runtime-kernel-interaction.test.ts b/packages/runtime/src/__tests__/runtime-kernel-interaction.test.ts index c75cd20e97..acb01b366a 100644 --- a/packages/runtime/src/__tests__/runtime-kernel-interaction.test.ts +++ b/packages/runtime/src/__tests__/runtime-kernel-interaction.test.ts @@ -294,13 +294,12 @@ describe('RuntimeKernel Interaction close cleanup', () => { test('each kernel gets its own host generation; epochs restart per process (#5713 review)', () => { const backends = new BackendRegistry(); backends.register('ai-sdk', () => new BlockingBackend(SESSION_ID, {})); - let id = 0; - const newId = () => `gen-id-${++id}`; const first = new RuntimeKernel({ store: memoryStore(), backends, - newId, + newId: () => 'unused', now: () => 0, + hostGeneration: () => 'host-generation-1', }); // A second kernel stands in for the restarted Host process: a fresh // generation and epoch counters back to zero, even though the previous @@ -308,10 +307,12 @@ describe('RuntimeKernel Interaction close cleanup', () => { const second = new RuntimeKernel({ store: memoryStore(), backends, - newId, + newId: () => 'unused', now: () => 0, + hostGeneration: () => 'host-generation-2', }); - assert.notEqual(first.sessionHostGeneration(), second.sessionHostGeneration()); + assert.equal(first.sessionHostGeneration(), 'host-generation-1'); + assert.equal(second.sessionHostGeneration(), 'host-generation-2'); assert.equal(first.sessionRunEpoch(SESSION_ID), 0); assert.equal(second.sessionRunEpoch(SESSION_ID), 0); }); diff --git a/packages/runtime/src/runtime-kernel.ts b/packages/runtime/src/runtime-kernel.ts index 7882ad5362..35045cc54a 100644 --- a/packages/runtime/src/runtime-kernel.ts +++ b/packages/runtime/src/runtime-kernel.ts @@ -20,6 +20,7 @@ import type { WorkHubActionReceipt } from '@maka/core/workhub-action-result'; import type { AgentRunStore } from '@maka/core/agent-run'; import { agentRunCompositionFromEvents } from '@maka/core/agent-run'; +import { randomUUID } from 'node:crypto'; import type { RuntimeInvocationRecord } from '@maka/core/runtime-invocation'; import { decodeRuntimeBoundaryCursor, @@ -293,6 +294,12 @@ export interface RuntimeKernelDeps { toolBoundaryProtocol?: ToolBoundaryProtocol; backends: BackendRegistry; newId: () => string; + /** + * The run-epoch generation of this kernel process. Omit to draw a random + * UUID; injecting one lets tests pin `sessionHostGeneration()` without + * touching the `newId` sequence. + */ + hostGeneration?: () => string; now: () => number; childTools?: readonly MakaTool[]; resolveChildTools?: (sessionId: string) => Promise; @@ -425,8 +432,10 @@ export class RuntimeKernel implements RuntimeKernelLike { // One identity per kernel process: catalog rows survive a Host restart // while the per-session epoch counters restart at zero, so clients pair // the generation with the epoch instead of comparing epochs across - // processes (#5713 review). - this.#hostGeneration = deps.newId(); + // processes (#5713 review). Drawn outside the `newId` sequence so a + // restart identity never shifts the ids callers observe, and defaulted + // for deps that omit `newId` entirely. + this.#hostGeneration = deps.hostGeneration?.() ?? randomUUID(); this.historyCompactCoordinator = new HistoryCompactCheckpointCoordinator(deps); } diff --git a/packages/runtime/src/session-manager.ts b/packages/runtime/src/session-manager.ts index 724b95ec9b..523ebade47 100644 --- a/packages/runtime/src/session-manager.ts +++ b/packages/runtime/src/session-manager.ts @@ -35,7 +35,7 @@ import { listRecallCandidateSessions, type RecallCandidateStores, } from './recall-candidates.js'; -import { createHash } from 'node:crypto'; +import { createHash, randomUUID } from 'node:crypto'; import { isDeepStrictEqual } from 'node:util'; import { setTimeout as delay } from 'node:timers/promises'; import type { @@ -924,9 +924,6 @@ export class SessionManager { if (deps.runStore && !deps.runtimeEventStore) { throw new Error('RuntimeEventStore is required when AgentRunStore is configured'); } - // Fixed at construction: a generation that changed per call could never - // order observations of this process (#5713). - this.#hostGenerationFallback = deps.newId(); if (deps.publishChildWorkspacePatch && !deps.listArtifactsForTurn) { throw new Error('Child workspace patch publication requires Artifact turn listing'); } @@ -984,10 +981,11 @@ export class SessionManager { * Identifies this process's run-epoch generation. Catalog rows survive a * Host restart while the per-process epoch counters restart at zero, so * clients order same-revision reads by generation first, never by epoch - * across restarts (#5713). Falls back to an identity fixed at construction - * when the kernel does not expose one. + * across restarts (#5713). Falls back to a random identity — fixed once, + * and drawn outside the `newId` sequence — when the kernel does not expose + * one. */ - readonly #hostGenerationFallback: string; + readonly #hostGenerationFallback = randomUUID(); sessionHostGeneration(): string { return this.runtimeKernel.sessionHostGeneration?.() ?? this.#hostGenerationFallback; From 8ad07642c7ed9c5b073c01ea52e2ae6ac72e056c Mon Sep 17 00:00:00 2001 From: ggbdpq Date: Sun, 27 Sep 2026 18:17:13 +0800 Subject: [PATCH 7/9] chore: retrigger CI (ACP child-process suite timeout) From b76062d736ee73cb483d4845b97072bcabb4a772 Mon Sep 17 00:00:00 2001 From: ggbdpq Date: Sun, 27 Sep 2026 18:44:30 +0800 Subject: [PATCH 8/9] chore: retrigger CI again (ACP child-process suite timeouts, round two) From 2efb1580b12ee74aabef99493e748b6314f63eb1 Mon Sep 17 00:00:00 2001 From: ggbdpq Date: Sun, 27 Sep 2026 22:56:54 +0800 Subject: [PATCH 9/9] docs(desktop): note why cross-generation responses cannot exist on the wire MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Connection close rejects every in-flight request with connection_lost (client/connection.ts), so a lagging predecessor read never delivers after the restarted Host's row has landed — the reverse-arrival case the review asked about needs a success across a dead connection, which the transport cannot produce. Generated-by: GLM-5.3-Flash (ZCode) --- .../contracts/session-catalog/session-catalog-state.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/desktop/src/renderer/application/contracts/session-catalog/session-catalog-state.ts b/apps/desktop/src/renderer/application/contracts/session-catalog/session-catalog-state.ts index 5fe6e182bc..0ef32a1e32 100644 --- a/apps/desktop/src/renderer/application/contracts/session-catalog/session-catalog-state.ts +++ b/apps/desktop/src/renderer/application/contracts/session-catalog/session-catalog-state.ts @@ -198,9 +198,11 @@ export function waitForCatalogSession( * The epoch counter only orders observations of one Host generation. * Generations themselves are not ordered, so a read from a different * generation is never stale: a restarted Host must take the row over from its - * predecessor whatever the two counters read, and a patch that lagged behind - * a restart survives at most until the live generation's next read (#5713 - * review). + * predecessor whatever the two counters read (#5713 review). A successful + * cross-generation response cannot exist on the wire, either: closing a + * connection rejects every in-flight request with `connection_lost` + * (client/connection.ts), so a lagging predecessor read never delivers after + * the successor's row has landed. */ function isStaleSummary(prior: DesktopSessionSummary, next: DesktopSessionSummary): boolean { if (prior.revision !== next.revision) return prior.revision > next.revision;