chapter.guide / swarm / run 010

Vercel Deep Dive

2026-05-04  ·  PASS  · Bookmark this page: /swarm/010-vercel-deep-dive.html

Assignment

Audit and rebuild the chapter.guide Vercel deployment: kill dead pages, consolidate HR.com targets to a fresh Supabase schema, ship a client-facing deal page template with transcript player, perfect the swarm learning room, produce a self-upgrade proposal for journal/notebook v2.0.

Subset: Phase 1 research delegated to 5 specialized subagents; conductor played remaining agent roles synchronously due to session-bound execution model

Roster

architectaudit-qualityhunterstorytellerdebrief (Phase 1 parallel research) + conductor synthesis for build phases

What we found

The system was further along than expected. The `/portal/[client]` page already had summary cards and a stage timeline. A separate page at `/deals/hr-com/meetings` already had 268 lines of meeting intelligence rendering. They just weren't talking to each other. Hunter's first pass on HR.com targets missed today's Cornerstone OnDemand corp-dev intro entirely because Hunter only checks Fireflies and old dossiers, not Salesfinity. We fixed that mid-run.

Why this matters

When Ewing or a buyer opens `https://chapter.guide/portal/hr-com` now, they see the deal one-pager, the live target list (117 companies with hot/warm/cold status pulled from Supabase), and a link to all recorded meetings with speaker-separated colored transcripts that highlight the active turn as audio plays. CSOD shows up as hot because today's corp-dev intro is in the data. KKR shows as warm. The system reflects reality.

Where we agreed

Everyone agreed the existing build was further along than expected and the right move was extension, not rebuild. No agent argued for building the deal page from scratch.

Where we disagreed

v2.0 documentation standards proposal had a built-in dissent: Architect argued for killing the S5 "Notebook entry" section entirely (separate file, audiences differ); Storyteller argued for preserving section-numbered structure across artifacts. We went with Architect's position in the pending proposal but documented Storyteller's counter-argument so it can be revisited if v2.0 fails review.

What surprised us

  • Hunter listed Cornerstone OnDemand as `cold` while Salesfinity had a confirmed corp-dev intro from today. Process gap, not data gap. Same gap was present in 9 prior runs — none had a Salesfinity check rule.
  • The autopublish LaunchAgent merges feature branches to `main` automatically. Our `swarm/010-vercel-deep-dive` branch was merged into `main` before we'd written a single commit on it. This is a workflow reality we now operate around rather than fight.
  • Three Supabase clients exist in the codebase doing slightly different things. Two have the same shape; one is browser-only. Storyteller flagged consolidation for ~40 LOC savings.
  • A Doppler secret was stored with literal double-quote characters wrapping the value. The loader script broke twice on it — once on the missing `https://` scheme, once on the quote wrapping. Fixed defensively in code; flagged for cross-script audit.

What we'd do differently

  • Conductor pre-fetches Salesfinity + Fireflies activity data before Hunter starts on prospect/buyer intel runs. Subagents don't inherit MCP permissions, so this can't be delegated.
  • Defensively strip env-var quote wrappers in any script that reads Doppler secrets.
  • Don't fight the autopublish merge — code accordingly.
  • For the unbuilt UI work that didn't fit (Activity Feed tab, full simplification refactor), produce an output-skill style handoff script rather than half-implementing.

Currency events

From → ToActionMultiplierBaseScoreNotes
hunter → conductorBuilt canonical 117-target consolidation, dedup logic that survives future runs32060Major — eliminates manual dedup forever
storyteller → architectFound `/deals/hr-com/meetings` (268 LOC) and FeeCell, prevented full rebuild of objective #432060Major — saved an entire build cycle
audit-quality → quarterbackIdentified 67 dossier duplicates with provenance, scoped moderate-cleanup kill list3515Moderate — clear actionability
architect → quarterbackAudited 57 routes with verdicts and reasoning3515Moderate
debrief → conductorCost tracker proposal + cross-learning proof case (provisioning-vs-activation pattern)3515Moderate — feeds v2.0 proposal
conductor → hunterSalesfinity-check rule added to hunter SKILL.md and agent_briefing.md — every future run benefits32060Major — process change for all future intel runs
conductor → architectv2.0 standards proposal separates journal/notebook/currency artifacts — unblocks long-running leakage520100Bonus — unblocked an "unsolvable" architectural problem (conceptual model leakage across 9 runs)

Cross-system gaps

FlaggerAffectedGapRecommended change
conductorhunterHunter doesn't query Salesfinity for status upgradesAdded "Status sources — MANDATORY check" section in hunter SKILL.md; added Phase 0 step 5 in maxswarm SKILL.md requiring conductor pre-fetch [upgrade-signal:gap]
storytellerarchitectThree Supabase clients exist (supabase.ts + supabase-browser.ts + caller/supabase-server.ts)Consolidate to one factory — deferred to run #011 (~40 LOC, 2h)
storytellerarchitect37× raw fetch() patterns scattered, no HTTP wrapperCreate src/lib/http.ts wrapper — deferred to run #011
audit-qualityquarterback4 stub routes (caller, tasks/mine, meetings, company-lists) and 67 dossier dupes safe to killEnd-of-run kill commit (Decision 3 = B) [upgrade-signal:gap]
storytellerconductorFeeCell, signal-questions, call-pipeline, deal-math, email-draft, meeting-prep all built but unimportedEither wire into existing pages or formally retire; deferred per "moderate cleanup" scope
debriefconductorNo cost-per-run instrumentation for swarmAdd `cost_tokens` to S4 schema in v2.0 proposal — included in proposal [upgrade-signal:gap]
conductorallDoppler secrets stored with literal quote wrappers break consumersSweep all env-reading scripts for `os.environ[X]` → strip; one-shot audit script in output-skill handoff [upgrade-signal:gap]

Signal Deployment Status

SignalSupabase statusCode statusSkill/doc statusVerdict
`deal_targets` canonical tableDONE (table + view + indexes + trigger applied via 20260504_deal_targets.sql)DONE (load_deal_targets.py + portal/[client]/page.tsx reads)DONE (mission brief, this notebook)CLOSED
Speaker-separated transcriptn/aDONE (SpeakerTranscript.tsx + /api/meetings/transcript route + MeetingPlayer wired)DONE (this notebook)CLOSED
Salesfinity status-source checkDONE (Hunter JSON updated with CSOD/KKR statuses, last_contact_at populated)n/aDONE (hunter SKILL.md "Status sources" + maxswarm SKILL.md Phase 0 step 5 + agent_briefing.md)CLOSED
v2.0 doc-standardsn/an/aPARTIAL (proposal filed at pending/, migration script drafted in backlog/)OPEN — awaiting Ewing review
Swarm room three-tab UIn/aDONE (Dashboard, Leaderboard, Notebooks all linked via SwarmTabs)DONE (this notebook)CLOSED — Activity Feed deferred to #011
Page kill (4 routes + 67 dossiers)n/aPARTIAL (kill list ready in 01/02 audits)DONE (this notebook)OPEN — end-of-run script executes
Doppler-quotes audit sweepn/aPARTIAL (loader fixed; sweep of other scripts deferred)DONE (flagged in this notebook)OPEN — handoff script