standup
Standup — 2026-07-29
Big day.
▶ Watch the 59s summary — Daily standup — Standup 2026-07-29
Daily standup for 2026-07-29. What shipped:
Big day. #792 merged: the ingest-cost measurement (#750) is done, and the headline is counterintuitive — Free clears its $1.10/mo target with room to spare, but the full connector stack breaks the sweep budget at roughly 360 members per platform, not at any cost ceiling. Wall time runs 0.077s/member + 8.3s fixed against a hard 36s per-site budget. WishList alone issues 202 queries per /members page (vs. 3–7 for every other module); 87% of wall clock is waiting on WordPress, and Cloud Run bills duration, so shared-hosting latency and MemberIntel’s cloud bill are the same number. ADR-0036’s cost condition is satisfied; the full stack is not yet safe to offer on Free until #784 (silent sweep skips) and #812 (StatementTooComplex above ~7,700 engagement members) land.
Both those defects shipped fixes today. #812 chunks the engagement IN query to 1,000 rows (was 10,000, which hit Postgres max_stack_depth at ~7,700). #819 adds a 480s soft deadline to the sweep so over-budget sites surface as skipped_over_budget with a WARNING rather than disappearing silently. #815 emails the account owner once when a site stalls at 7 consecutive sync failures.
#797 replaced the hardcoded dashboard Insights card with the real WoW delta from welcome_cards/insight.py, deleted the fabricated free-tier copy (including the invented “reduce churn by up to 15%” figure), and surfaced a pre-existing bug: wow() was gating billing-derived metrics on the current week’s coverage but leaving the baseline unchecked, so a site that switched platforms mid-window could diff against a week with no ledger.
Deployment hardening: #823 pins all Cloud Run deploys to an immutable commit SHA — prod was resolving :latest on every config-only revision, silently shipping unpromoted code and bypassing the actor gate. #809 adds a prod uptime check; prod had no uptime coverage (the existing check probed staging only). #803 adds the registration domain allowlist gating prod to @caseproof.com — env-driven, inert until the var is set on the prod Cloud Run service. #804 extends Cloudflare Turnstile to register, forgot-password, and connect, with explicit on_unreachable fail policies per surface.
Also merged: #808 (billing disputes escalate immediately, turn 1 — fixes the persistent eval flake), #796 (conversation delete + svelte-check CI gate for app/), #786 (community engagement widget on the dashboard, staging-only pending counsel sign-off), #793 + #807 (admin contact-submission queue + contact-form polish), #800 (Settings layout overlap — CSS multicol replaced with flexbox after two prior attempts with the wrong primitive), and the brand sweep #761–#762 (MemberIntel → MembersIntel across product surfaces, with a governed-cohort-phrase revert to keep the 61 committed benchmarks consistent).
Notable. The :latest deploy bug (#823) is the sharp one: any terraform apply that touched the prod Cloud Run service — an env-var edit, a secret bump, a scaling change — was silently re-pulling main HEAD to prod, bypassing the promotion gate entirely. It had been this way since the environment split.
Window: 2026-07-28T13:00
→ 2026-07-29T13:39.263Z · Sources: memberintel @ 4a32368, memberpress-intel @ 5afd228