Skip to content

Phase 6 — Cleanup, T&C, and User-Facing Communication

Phase 6 — Cleanup, T&C, and User-Facing Communication

Section titled “Phase 6 — Cleanup, T&C, and User-Facing Communication”

Problem: the rollout can’t ship code-only. The current T&C predates the subscription model (legal exposure + support liability on the first Stripe charge), existing users logging in to find themselves metered against a 500-page Starter quota with no warning will read the cutover as an outage (support flood, avoidable churn), and Phases 1-5 will leave behind both rollout-TODOs and — more dangerously — legacy pre-subscription billing references (LiteLLM budget checks, balance reads, “insufficient funds” guards) that either sit as dead weight or actively shadow-enforce against /quota/charge in the extraction pipeline.

Solution: three bundles wrapped around the cutover — two before deploy, one after. Before: rewrite the T&C to cover quota / overage / trial / cancellation / retention / price-change policy with legal sign-off as a hard gate, and run a 14-day communication window (migration email, in-app banner, refreshed pricing page, help-center articles, support playbook for the new failure modes). The T&C rewrite also establishes the “T&C revision runbook” Phase 2 Step 2 references — any future T&C or price change uses the same mechanic (email notice + cancel-before-renewal, no in-app re-prompt, no code). After: work down the accumulated TODO backlog across the subscription repos (billing-service / api-backend / authentication-service / react-frontend), and audit the codebase for legacy billing references — prioritizing the extraction pipeline (api-backend’s batch-extract + report-gen, parser-router, workflow-functional + siblings) where a stale balance check would silently contradict /quota/charge’s authorization. Still-load-bearing paths migrate onto Contract B / Contract C; confirmed-dead paths get deleted outright (no comment-outs).

What this phase adds to the user experience

Section titled “What this phase adds to the user experience”
  • Updated T&C live before the first paid charge — users can actually read what they’re agreeing to.
  • Two weeks of advance notice (email + in-app) before the migration lands.
  • Refreshed pricing page matching the tiers a user will see in Stripe Checkout — no mismatch between marketing copy and billing.
  • Help-center articles covering the questions support would otherwise field 1:1.
  • Support responses that match the actual failure modes the system now produces.

Post-cutover, users see nothing change — the code cleanup is invisible by design. The benefit accrues to the engineers who touch these paths next.

  • T&C legally reviewed and deployed before Phase 3’s first real Stripe charge.
  • Every existing user receives the migration email at least 14 days before cutover.
  • In-app migration banner live for the 14 days leading up to cutover; disappears automatically at cutover.
  • Pricing page matches Phase 3’s plan catalog.
  • Help-center articles published and linked from pricing, Portal, and the PickPlanPage.
  • Support playbook merged into the team wiki before cutover.
  • Post-cutover: Phase-1-through-5 TODOs either resolved or converted to tracked issues.
  • Post-cutover: legacy billing references swept from the extraction pipeline (api-backend extract + report-gen routes, parser-router, workflow repos) — each occurrence either deleted (dead under the subscription model) or migrated onto Contract B / Contract C (no shadow enforcement left running alongside /quota/charge).
Repo Changes
legal / T&C (wherever T&C content lives) Rewrite covering quota, overage, trial, cancellation, data retention, n1-initiated price-change policy (30-day notice, new price at next renewal)
marketing site Pricing page refresh; help-center articles
email service One-off migration-announcement template
react-frontend In-app migration banner (time-bounded, auto-hides at cutover date); post-cutover: resolve accumulated TODOs
billing-service Post-cutover: resolve accumulated TODOs; audit legacy LiteLLM-budget / balance surfaces
api-backend Post-cutover: resolve accumulated TODOs; audit extract + report-gen paths for pre-subscription balance checks
authentication-service Post-cutover: resolve accumulated TODOs
parser-router Post-cutover: audit + remove legacy balance / budget guards in the parse entry path
workflow-functional (+ sibling workflow repos) Post-cutover: audit + remove legacy balance / budget guards in the report-generation entry path
support wiki New playbook for past_due, quota exhausted, trial ended, Checkout decline, “why am I on Starter?”
  • Phases 1-5 shipping in the single cutover (the pre-cutover legal + comms work lands before that cutover; the code cleanup lands after).
  • Legal sign-off on the rewritten T&C before the cutover deploy.
  • Nothing downstream in this rollout. Cleanup outputs feed general codebase health and reduce friction for the next billing-adjacent feature.