From 3a52e954738bf018b070b4c6b4e650bec3775fc6 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 2 May 2026 15:07:29 +0100 Subject: [PATCH] test(core): refresh write lock config fixtures --- .../attempt.spawn-workspace.test-support.ts | 1 + src/config/schema.base.generated.ts | 27 +++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/src/agents/pi-embedded-runner/run/attempt.spawn-workspace.test-support.ts b/src/agents/pi-embedded-runner/run/attempt.spawn-workspace.test-support.ts index 29d4de5c636..bdf4e90e184 100644 --- a/src/agents/pi-embedded-runner/run/attempt.spawn-workspace.test-support.ts +++ b/src/agents/pi-embedded-runner/run/attempt.spawn-workspace.test-support.ts @@ -354,6 +354,7 @@ vi.mock("../session-manager-init.js", () => ({ vi.mock("../../session-write-lock.js", () => ({ acquireSessionWriteLock: (params: Parameters[0]) => hoisted.acquireSessionWriteLockMock(params), + resolveSessionWriteLockAcquireTimeoutMs: () => 60000, resolveSessionLockMaxHoldFromTimeout: () => 1, })); diff --git a/src/config/schema.base.generated.ts b/src/config/schema.base.generated.ts index 3a985324383..4cf4c815acd 100644 --- a/src/config/schema.base.generated.ts +++ b/src/config/schema.base.generated.ts @@ -20816,6 +20816,23 @@ export const GENERATED_BASE_CONFIG_SCHEMA: BaseConfigSchemaResponse = { description: "Controls cross-session send permissions using allow/deny rules evaluated against channel, chatType, and key prefixes. Use this to fence where session tools can deliver messages in complex environments.", }, + writeLock: { + type: "object", + properties: { + acquireTimeoutMs: { + type: "integer", + exclusiveMinimum: 0, + maximum: 9007199254740991, + title: "Session Write Lock Acquire Timeout", + description: + "Milliseconds to wait while acquiring a session transcript write lock before reporting the session as busy. Default: 60000; raise for slow disks or long prep/cleanup, lower only when quick failure is preferred.", + }, + }, + additionalProperties: false, + title: "Session Write Lock", + description: + "Groups session transcript write-lock acquisition controls. Tune only when legitimate transcript prep, cleanup, compaction, or mirror work contends longer than the default wait.", + }, agentToAgent: { type: "object", properties: { @@ -27899,6 +27916,16 @@ export const GENERATED_BASE_CONFIG_SCHEMA: BaseConfigSchemaResponse = { help: "Matches the raw, unnormalized session-key prefix for exact full-key policy targeting. Use this when normalized keyPrefix is too broad and you need agent-prefixed or transport-specific precision.", tags: ["access", "storage"], }, + "session.writeLock": { + label: "Session Write Lock", + help: "Groups session transcript write-lock acquisition controls. Tune only when legitimate transcript prep, cleanup, compaction, or mirror work contends longer than the default wait.", + tags: ["storage"], + }, + "session.writeLock.acquireTimeoutMs": { + label: "Session Write Lock Acquire Timeout", + help: "Milliseconds to wait while acquiring a session transcript write lock before reporting the session as busy. Default: 60000; raise for slow disks or long prep/cleanup, lower only when quick failure is preferred.", + tags: ["performance", "storage"], + }, "session.agentToAgent": { label: "Session Agent-to-Agent", help: "Groups controls for inter-agent session exchanges, including loop prevention limits on reply chaining. Keep defaults unless you run advanced agent-to-agent automation with strict turn caps.",