fix: recover fallback delivery retries across agent types

This commit is contained in:
Eyejoker
2026-04-04 05:21:25 +09:00
parent 0b4228b391
commit dfd9eb0f47
4 changed files with 192 additions and 12 deletions

View File

@@ -31,6 +31,7 @@ import {
getMessagesSinceSeq,
getNewMessagesBySeq,
getOpenWorkItem,
getOpenWorkItemForChat,
getPendingServiceHandoffs,
recallMemories,
getRegisteredAgentTypesForJid,
@@ -2603,6 +2604,24 @@ describe('work items', () => {
expect(getOpenWorkItem('dc:123', 'claude-code')).toBeUndefined();
});
it('finds pending delivery retries even when they were created by a fallback agent type', () => {
const fallbackItem = createProducedWorkItem({
group_folder: 'discord_test',
chat_jid: 'dc:fallback',
agent_type: 'codex',
delivery_role: 'reviewer',
start_seq: 20,
end_seq: 22,
result_payload: 'fallback reviewer output',
});
expect(getOpenWorkItem('dc:fallback', 'claude-code')).toBeUndefined();
expect(getOpenWorkItemForChat('dc:fallback')?.id).toBe(fallbackItem.id);
markWorkItemDelivered(fallbackItem.id, 'msg-fallback');
expect(getOpenWorkItemForChat('dc:fallback')).toBeUndefined();
});
it('stores service shadow as a derived compatibility field from role and agent type', () => {
const reviewerItem = createProducedWorkItem({
group_folder: 'discord_test',