Per-Flow Intake Branding And Legal Menu Design

Date: 2026-07-06 · Status: implemented · Review: read-only sub-agent

Problem

The legal phone line needs to present as David Austin - Lawyer Intake across voice, SMS, /intake.html, and /companion.html. The intake page previously contained Space Channel-specific copy, which created brand drift for new verticals.

Design

The business pack is canonical. packs/legal_intake.pack.yaml owns the business name, welcome module, and top-level menu. Compilation writes that name to business_profile.business_name. SMS, companion state, and intake APIs project it as a shared brand object.

Legal Menu

Welcome Behavior

Unknown callers hear a first-call welcome and then the menu. Returning callers hear Welcome back, <name>, to David Austin - Lawyer Intake. If SMS consent is on file, the welcome gate texts the follow-along link and unlock code automatically.

Browser Surfaces

/intake.html applies the verified intake session/schema brand. /companion.html applies the companion state brand. The locked intake response remains only {"locked": true}.

Tests

Coverage locks the legal brand/menu/welcome compile shape, returning-caller suffix, intake API brand payload, static page hooks, and removal of hardcoded Space Channel intake copy.