M MemberIntel KB
Activity Decisions

standup

Standup — 2026-05-20

Multi-site chat (portfolio mode) shipped.

Daily standup for 2026-05-20. What shipped:

Multi-site chat (portfolio mode) shipped. All 8 phases merged and marked as delivered in 544041a.

The implementation runs from schema to UI: scope + site_id columns on Conversation (#73), a generate_portfolio_heartbeat aggregator that sums MRR/members and weights churn across sites (#74), query_trend extended to accept user_id for portfolio-level series (#75), chat router wiring (#76), BIBLE writes blocked in portfolio mode (#77), a welcome card for aggregate WoW movements (#78), the “All sites” picker entry in SvelteKit with scope passthrough (#79), and a Pro-only backend 403 before quota is consumed (#80/#81/#82).

Two fixes landed alongside:

  • Rollup bug — historical backfill was only running on initial site connect, not every sync (a104a24, #71). Now runs on all syncs.
  • Rollup data quality — lifetime active-count and MRR queries had a DISTINCT collapse bug (99af1bd, #65).

Notable. The portfolio handshake surfaced a gap during e2e smoke: the aggregate HEARTBEAT can’t answer granular per-site questions like “when was the last registration?” A query_site_data drill-down tool is sketched but out of scope; tracked as #83.


Window: 2026-05-18T13:00

→ 2026-05-20T13:01
.802Z · Sources: memberintel @ 544041a, memberpress-intel @ 416cc1e

For: S Seth Shoultes