feat(service): P3.2 InboxProjector + message.read event + scheduled relay
Event-driven projector creates/collapses NEEDS_REPLY items from message.sent (traceId propagated; inbox.item.created emitted) and resolves them to DONE on message.read; idempotent via processed-event ledger. markRead now emits a message.read outbox event (atomic). OutboxRelay runs on a 500ms timer in the app (off in tests). Shared resetDb (TRUNCATE CASCADE) fixes cross-spec FK isolation. 32 tests green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -35,6 +35,7 @@ export const IIOS_EVENTS = {
|
||||
rawReceived: 'com.insignia.iios.raw.received.v1',
|
||||
interactionNormalized: 'com.insignia.iios.interaction.normalized.v1',
|
||||
messageSent: 'com.insignia.iios.message.sent.v1',
|
||||
messageRead: 'com.insignia.iios.message.read.v1',
|
||||
messagePersisted: 'com.insignia.iios.message.persisted.v1',
|
||||
inboxItemCreated: 'com.insignia.iios.inbox.item.created.v1',
|
||||
ticketCreated: 'com.insignia.iios.support.ticket.created.v1',
|
||||
|
||||
Reference in New Issue
Block a user