v0.38.0 added in-process observation for Drizzle read models (#53): only writes announced with notifyChanged in the same process are observed. Phase 2 adds opt-in cross-process observation for PostgreSQL: application-owned triggers (Arc exports migration SQL, never runs DDL at runtime, and validates the expected enabled trigger, events and channel before the first read), an Arc-owned listener connection per tenant, LISTEN acknowledged before the first read, heartbeats, bounded reconnect followed by a forced re-read of every live observation, and failing subscriptions when recovery is exhausted. Never fall back silently to in-process observation. The design notes from #53 phase 1 apply.
v0.38.0 added in-process observation for Drizzle read models (#53): only writes announced with
notifyChangedin the same process are observed. Phase 2 adds opt-in cross-process observation for PostgreSQL: application-owned triggers (Arc exports migration SQL, never runs DDL at runtime, and validates the expected enabled trigger, events and channel before the first read), an Arc-owned listener connection per tenant, LISTEN acknowledged before the first read, heartbeats, bounded reconnect followed by a forced re-read of every live observation, and failing subscriptions when recovery is exhausted. Never fall back silently to in-process observation. The design notes from #53 phase 1 apply.