standup
Standup — 2026-08-05
Massive day.
▶ Watch the 53s summary — Daily standup — Standup 2026-08-05
Daily standup for 2026-08-05. What shipped:
Massive day. Thirty-eight PRs merged across two repos.
Product features. The advisor can now render bar charts inline alongside the existing trend line — #1084 threads chart_type through render_kpi_chart and adds bar branches to both InlineChart and ChartModal, with zero-baseline geometry and a fixed tooltip flicker. The PRD and plan for v2 (#1083) also landed, approved with four binding conditions (edge-case tests, a real ship gate, explicit “no Free→Pro hook” posture, and a telemetry fast-follow before milestone 2 opens). Dashboard cards now carry “chat about this” buttons (#1063), seeding a new conversation from the card’s live data. A product tour now runs before onboarding setup (#1071), with the closing card prompting setup rather than leaving new users stranded. Free-tier upgrade prompts replaced silent 402s on site connect and “Sync now” (#1002).
Data correctness. registered_at was stored as raw UTC across all six connector modules; #1087 converts to site-local everywhere, self-healing on next sync. LMS-only sites were reporting 0% active because only the BuddyPress module wrote the generic last_active_at key; #1077 takes the MAX across all engagement platform timestamps. Free’s sync cadence was set to weekly in code while the product said monthly — #1081 fixes that; existing Free sites keep their stored 7-day value until a tier change triggers reconciliation (flagged as a follow-up call). Partial billing coverage now qualifies figures on the trends digest, email KPI grid, and welcome-card headlines (#1029), closing the three-surface residual from #748. Welcome cards were rendering internal third-person advisor notes as card titles (#986); they now render user-facing questions filtered by copy rules enforced in code.
Billing and entitlement. Stripe invoices now persist with refund and credit-note adjustments (#984). Disconnecting a billable site now discloses the billing tail before confirmation and in both disconnect emails (#983). Free-tier transaction history is capped at 30 days on raw reads while leaving rollups uncapped (#1013). Manual sync is now tier-gated with quota tracking (#1014, #1018 — the latter fixing a refund that could land on the wrong period, caught via a Copilot suppressed comment that never surfaced as a thread).
Security and infrastructure. DATABASE_URL moved from a plaintext Cloud Run env value to Secret Manager (#1051). Cloud SQL now enforces SSL on all environments and has real GCP-level deletion protection plus 14-day PITR on production/staging (#1052, #1046). Every GitHub Action reference across 14 workflow files is SHA-pinned (#1059). The cf-connecting-ip fallthrough to spoofable X-Forwarded-For was a real, confirmed bypass — the *.run.app URL was directly reachable and rate limiting was the only brute-force guard (#1061). The dedicated release-signing WIF pool for plugin-release.yml is now fully isolated across all three environments, closing #622 (#1072–[#1076](https://github.com/caseproof/memberintel/
Window: 2026-08-04T13:00
→ 2026-08-05T15:19.074Z · Sources: memberintel @ d9f47f1, memberpress-intel @ be81b57