fix: stabilize paired runtime turn identity

This commit is contained in:
ejclaw
2026-04-09 16:31:01 +09:00
parent 4f557a3b85
commit 1e46b05b03
10 changed files with 716 additions and 42 deletions

View File

@@ -14,6 +14,7 @@ import {
matchesExpectedPairedFollowUpIntent,
resolveFollowUpDispatch,
resolveExecutionTarget,
resolveQueuedPairedTurnRole,
resolveNextTurnAction,
resolveQueuedTurnRole,
resolveSessionFolder,
@@ -255,6 +256,23 @@ describe('message-runtime-rules', () => {
).toBe('reviewer');
});
it('suppresses queued reviewer reruns when the latest persisted turn already belongs to the reviewer', () => {
expect(
resolveQueuedPairedTurnRole({
taskStatus: 'review_ready',
hasHumanMessage: false,
lastTurnOutputRole: 'reviewer',
}),
).toBeNull();
expect(
resolveQueuedPairedTurnRole({
taskStatus: 'review_ready',
hasHumanMessage: false,
lastTurnOutputRole: 'owner',
}),
).toBe('reviewer');
});
it('resolves reviewer execution target from review_ready task status', () => {
const resolution = resolveExecutionTarget({
lease: baseLease,