fix: arbiter session collision — separate session folder + always fresh session

- resolveSessionFolder now always returns unique folder for arbiter
  (prevents sharing session with owner when both use same agent type)
- Arbiter sessionId forced to undefined to prevent resume attempts
This commit is contained in:
Eyejoker
2026-03-31 04:26:48 +09:00
parent 56c85c357a
commit 60408cc1fa
3 changed files with 18 additions and 1 deletions

View File

@@ -14,8 +14,10 @@ import { listAvailableGroups } from './available-groups.js';
import {
createServiceHandoff,
getAllTasks,
getLastHumanMessageSender,
getLatestOpenPairedTaskForChat,
getLatestTurnNumber,
getPairedTaskById,
insertPairedTurnOutput,
} from './db.js';
import { GroupQueue } from './group-queue.js';
@@ -128,7 +130,8 @@ export async function runAgentForGroup(
activeRole,
group.agentType,
);
const sessionId = sessions[sessionFolder];
// Arbiter always starts fresh — never resume a previous session
const sessionId = activeRole === 'arbiter' ? undefined : sessions[sessionFolder];
const memoryBriefing = sessionId
? undefined
: await buildRoomMemoryBriefing({