Week 71: Production Stabilization — Feb 28 – Mar 6, 2026

Week 71: Production Stabilization — Feb 28 – Mar 6, 2026

TL;DR: Five patch releases in one week as we harden the Cloud Run deployment pipeline, rewrite customer SQL for production schemas, and migrate V1 routes to the V3 DDD architecture. Versions 1.8.3 → 1.9.3.

Highlights This Week

  • Shipped 5 minor/patch releases (1.8.3 → 1.9.3)
  • Fixed Cloud Run revision activation pipeline (5 iterations)
  • Rewrote customer SQL queries for production VIEW schema
  • Redesigned invoice modals with 5-section layout and inline validation
  • Migrated V1 customer routes to V3 DDD handlers

Cloud Run Deployment Pipeline

The staging deployment kept routing traffic to old revisions. Five rounds of debugging revealed the issue: Cloud Run was creating revisions but never activating them. We added detailed revision debugging, fixed traffic routing to the latest revision, and resolved a config-exit issue where missing production-recommended env vars caused premature shutdown.

The Fix Chain

  1. 1.8.3 — Fix revision never activating
  2. 1.8.4 — Don’t exit on missing env vars
  3. 1.8.5 — Add detailed revision debugging
  4. 1.8.6 — Route traffic to latest revision after deploy
  5. 1.8.7-1.9.3 — DB migrations and DDD compatibility

Database Migrations for DDD

The Domain-Driven Design migration required schema changes across four core tables. We added DDD compatibility columns to jobs, invoices, and conversations, then migrated customer queries from direct TABLE access to the production VIEW schema that includes account relationships.

Key Changes

  • Added account_id column to customers TABLE with type-safe JOINs
  • Essential migrations for customers, technicians, and related tables
  • DDD compatibility columns for jobs, invoices, conversations
  • Removed V1 customer routes that shadowed V3 DDD handlers

Invoice Modal Redesign

The invoice create/edit experience got a complete overhaul with a 5-section layout: header, line items, notes, payment terms, and summary. Inline validation catches errors before submission, and the adapter now includes all required fields with correct total calculations.

Auth & Security

  • Aligned reCAPTCHA middleware bypass with config endpoint
  • Clear stale account lockouts on server startup
  • Customer stats API returns proper aggregate fields (total, new_this_month, with_jobs, avg_ltv)

What’s Next

Thumbtack integration launch and i18n expansion across all locales.