Podcast · Two hosts · Deep dive

Settings Cleanup, Explained

A hundred and fifty-nine things can be changed in PropFlow right now, and a customer can only find fifty-six of them. Maya and Sam walk through why that happened, the house-and-coat-hooks model that fixes it without a migration, the fifteen decisions waiting on Fede, and the one call-routing gap that can lose a tenant with no record anyone ever asked.

Settings Cleanup, Explained

NotebookLM Audio Overview · medium length · two hosts · 9 chapters · 19:35

What it covers

The mechanism first: more than half of PropFlow’s settings are invisible to the people they belong to, and that number is really four unrelated problems wearing one count — leftover switches nobody deleted, company-wide decisions typed once per building, one question answered by five scattered fields, and settings that live in the wrong place entirely.

The worst of those four is concrete: if a building has five specific fields all left empty, a caller who asks for a human gets dialed to nowhere, and nothing anywhere records that the call happened. That single gap is why this document exists.

The fix is a house, not a rewrite. The company is the front hall, each building is a room, a setting is a coat hook, and the system always takes the nearest hook with a coat on it. Every empty hook defaults to exactly what production does today, so the cleanup ships with no data migration and no cutover weekend — proven by replaying Camellia’s real traffic and checking the output matches.

From there: fifty-five leftover switches get sorted into delete, keep, or convert; fifteen decisions go to Fede with a recommendation and a stated risk on each; and the rollout runs in five phases ending with Western Slope going live on one switch instead of eighty-two.

About this episode

Generated from the source document below by NotebookLM, using the two-host script in the Outline tab as the focus material — it is not a script anyone reads aloud, and it is not the recorded transcript. The actual transcript (Whisper, hand-fixed for names) fills in the Transcript tab once the audio exists.

Chapters

Timestamps land with the audio — these are in the order the episode follows, not clocked yet.

  1. The number that started this159 things can be changed in PropFlow; a customer can find 56. Where the other 103 live, and why that split matters.0:00
  2. Four problems wearing one numberLeftover switches, per-building company decisions, one question split across five fields, and settings stranded in the wrong place.3:00
  3. The hole that can lose a callerFive empty fields mean a caller asking for a human gets dialed nowhere, with no record anywhere that the call happened.4:56
  4. The house modelCompany as the front hall, building as a room, setting as a coat hook, value as the coat — the system always takes the nearest hook.6:09
  5. The switch deep cleanFifty-five on/off switches sorted into three verdicts: twenty-six deleted, twelve kept as one dark switch each, seventeen collapsed into a single status per area.8:18
  6. Fifteen decisions on Fede’s deskQuestion, recommendation, and risk for each — from folding five call-routing fields into one, to putting Yale on real renewal plumbing.10:22
  7. Correctness fixes, not customer choicesFive of the fifteen turn behavior on where it’s off today; they ship dark to production, get tested at the Willows, and only reach a customer with Fede’s explicit go.13:16
  8. The five-phase rolloutDeep clean, declare every setting, build the company screens, Western Slope’s one-switch go-live, then lock down what must not vary.13:46
  9. Where this bumps into Gera’s designFolding four call-routing settings into one, and why the platform-wide kill switches stay outside the settings model entirely.15:56

How this episode gets made

Human steps, in order, following Gera’s process exactly (episodes/README-lead-intake-engine-podcast.md). No step here is automated, and none of it is TTS-generated audio.

  1. Open NotebookLM and start a new notebook for this episode.
  2. Add two sources — the source document at docs.propflowai.co/a/settings-cleanup-strategy-2026-09, and the two-host script in the Outline tab of this page.

    Both go into Sources, not the focus box — the focus box has a character cap (about 5,000) that truncates a document this long. Sources are peers with no supersession: if the strategy doc revises again, re-derive the script rather than adding a second one alongside it.

  3. “What should the hosts focus on?” — paste the nine chapter titles above, one per line. Nothing else goes in that box.
  4. Format: Deep Dive. Length: medium. Deep Dive is the two-host conversation the script was written for; medium is long enough to cover fifteen decisions without skimming and short enough that Maya and Sam don’t pad it.
  5. Generate, then download the .m4a.
  6. Save it to artifacts/audio/settings-cleanup-podcast.m4a in this repo. Do not git add it — audio on a podcast page is R2-only; the build does not copy it into dist/, so a committed copy is dead weight that is also unseekable when served statically.
  7. Transcribe with Whisper to get the .vtt and a .txt:

    whisper artifacts/audio/settings-cleanup-podcast.m4a --model medium --output_format all --output_dir artifacts/audio/
    --output_format does not accumulate — pass all, not two separate flags, or the .vtt is lost.

  8. Measure the waveform: node bin/make-peaks.mjs artifacts/audio/settings-cleanup-podcast.m4a writes settings-cleanup-podcast.peaks.json next to the audio, under the name data-peaks already expects.
  9. Hand-fix proper nouns in the Whisper .txt before pasting it into the Transcript tab. Check every occurrence of Situs, Camellia, Western Slope, Clara, PropFlow, Gera, and Fede — Whisper reliably mangles them (one published transcript has “Situs” twice, as Cetus and Citus).
  10. Upload the audio to R2 — needs an explicit go, not a judgment call:

    CLOUDFLARE_API_TOKEN="$(cat ~/.config/cloudflare/token)" CLOUDFLARE_ACCOUNT_ID=79cff0c4dabed054c4339e79905ff091 npx wrangler@4.120.0 r2 object put propflow-podcasts/settings-cleanup-podcast.m4a --remote --file artifacts/audio/settings-cleanup-podcast.m4a --content-type audio/mp4
    Pin the version — not wrangler@latest. Cloudflare Pages does not answer Range requests, so the scrub bar cannot be dragged until the file is in R2.

  11. Replace the Transcript tab’s pending block with real prose — headings and <p> tags in the .tx-wrap / .tx-toc / .tx shape this page already carries, never a <pre> dump — then drop the running time into the player’s .meta line.
  12. Commit the .vtt, the .peaks.json, and this page together, then push. Never the .m4a. Pushing to main runs the deploy; never run bin/docs publish after a push.
PropFlow Docs