Fixture adapter declared snooze unsupported, so the button was dead.
New brain-reminder adapter: snooze emits signal/reminder.scheduled
through an injected port (source-actions keeps no gateway dep), Done is
honestly Acknowledge-only (a memory has no mutable source). Added the
missing brain source inspector to signal-reminder (memories always
return open → always redeliver). Gateway composes the reminder adapter
with its Inngest event helper so sent buttons and the callback route
share one live adapter. Test-only snoozeMs override for a ~90s live
proof.
Step: telegram-signal-system/wire-digest-snooze-real-reminder.svx
Opaque act:<uuid> callback IDs with a Redis-backed registry (buttons
stay pending until mutation receipts), per-item capability computation,
fixture adapter for the digest prototype, Front archive as the first
real conditional-Done adapter. Lockfile picks up the three new
workspace packages (xstate v5 for @joelclaw/signal).
Step: .brain/projects/telegram-signal-system/build-action-registry-source-adapters.svx