Human overview · for understanding

Overnight run: juli-6 bugs, Studio fixes, Fireflies check

Two repos, four threads, everything landed on real prod · 2026-07-06

Two repos, four threads, everything landed on real prod

Master summary — the gist in 30 seconds

TL;DR8 bugs fixed and shipped on the CRM, 2 more fixed and shipped on Studio, a dangerous duplicate deployment was shut down, and the Fireflies recording setup was checked and confirmed correct.

Input: an 11-bug list from your ebo-juli-6 notes, plus a live risk discovered mid-session. Output: 10 of the 11 bugs fixed, tested, and live on the real production apps; the risky duplicate app stopped; Fireflies confirmed healthy.

Why this mattersThis is the difference between 'code was written' and 'the thing you use every day now behaves correctly' — every fix here is already live, not sitting on a branch waiting for a deploy.
flowchart LR
  A["11-bug list<br/>from ebo-juli-6"] --> B["8 fixed<br/>CRM repo"]
  A --> C["2 fixed<br/>Studio repo"]
  A --> D["1 parked<br/>Fireflies — your call"]
  B --> E["Live on prod"]
  C --> F["Live on prod"]
  D --> G["Confirmed healthy<br/>no action needed"]

1 · The CRM: 8 bugs, one clean ship

TL;DRBooking emails, call logging, Sales-prep buttons, and the DocuSeal signing flow all got fixed and are live.

Input: booking confirmation emails, post-call forms, contract signing, timestamp formatting. Output: emails now carry the meeting link correctly (no more leaking a raw placeholder), the post-call preview matches what actually gets sent, times show '09:07' not '09.07', DocuSeal contracts reject typed signatures (draw/upload only), and a safety-net now catches any signed contract whose notification got lost.

Why it mattersThese are the small frictions a lead or a rep hits every single day — a broken link in a booking email, a contract stuck 'unsigned' because a webhook silently failed. Each one fixed removes a moment where the system looks unreliable.
flowchart TD
  A["11 bugs from Notion"] --> B["Branch + build (TDD)"]
  B --> C["Code review<br/>caught a real leak"]
  C --> D["Fix + re-test"]
  D --> E["QA on staging"]
  E --> F["Merge + deploy<br/>real prod v184"]
  F --> G["Pushed + documented"]

2 · The scary bit: two prod copies running at once

TL;DRA deploy misfire had quietly created a second live copy of your CRM, sharing your real Notion/Stripe/email accounts — stopped before it could double-process a lead.

Input: a shell default that silently pointed deploys at the wrong Modal account. Output: found the duplicate app, confirmed the real one, stopped the duplicate for good.

Why it mattersTwo live copies of the same app sharing the same email/Stripe/Notion credentials is a silent double-send risk — a lead could get two confirmation emails, or worse, get charged twice. This is the kind of bug that never shows up until it does, expensively.
flowchart LR
  Shell["Shell's default login"] -->|"pointed at wrong account"| Dup["Duplicate app<br/>same live creds"]
  Shell -.->|"should point at"| Real["Real prod"]
  Dup --> Risk["Double-processing risk"]
  Dup --> Stop["STOPPED ✓"]
  Real --> Live["Sole live app ✓"]

3 · Studio: a quieter step-6, and a Figma button that finally works

TL;DRThe 'Competitors + Copyguide' research step now defaults off (with an easy on/off switch per project), and the Figma-import step went from a dead end to a working one-click handoff.

Input: a research step that always ran even when you didn't want it, and a Figma-import step that silently did nothing. Output: a top-right toggle to skip step 6 by default (flip it on per-project when you do want it), and a 'Create Figma file' button that actually kicks off the handoff to the Figma tool.

Why it mattersFigma can't be built into the automated server — it only works through an assistant with Figma access — so 'fully automatic' was never realistic. The honest fix is a one-click button that starts that handoff cleanly, instead of a step that quietly went nowhere.
flowchart TD
  P["New project"] --> S5["Steps 1-5"]
  S5 -->|"toggle OFF (default)"| S7["Step 7: Refine"]
  S5 -->|"toggle ON"| S6["Step 6: Competitors+Copyguide"]
  S6 --> S7
  S7 --> S9["Step 9: Figma import"]
  S9 -->|"one-click button"| FigmaFile["Figma file created"]

4 · Fireflies: checked, and it's fine

TL;DRThe call-recording setup was fully traced end to end — nothing needed fixing.

Input: a question about whether Fireflies joins calls correctly and whether transcripts always reach the CRM. Output: confirmed the icon-not-bot behavior is already correct, and confirmed the webhook that delivers transcripts is pointed at the right (real) production address.

Why it mattersThis was a genuine risk this session — a duplicate-app cleanup could have silently broken transcript delivery if the webhook still pointed at the old address. Checking it closed that gap before it became a real problem.
flowchart LR
  Call["Meet call"] --> FF["Fireflies icon<br/>(not a bot)"]
  FF --> WH["Webhook"]
  WH -->|"confirmed correct"| Prod["Real prod CRM"]
  Prod --> Card["Lead's card<br/>updated"]
CRM changelog entry →Studio changelog entry →