~360
tickets/month attributable

Two groups by what customers experience. Each maps to a workstream with deliverables shipping this quarter. The target is zero.

~200/mo · Honest Invoicing

Customer has a debt issue the system is wrong about. Can't pay, blocked without debt, banned at $0.

~160/mo · Smart Checkout

Customer bought something and it didn't work. Stuck on Free, double-charged, can't activate.

~200
tickets/month ask the same question

Where is the Pay Now button? The problem isn't the button's behavior — it's the button itself. It's an alternative payment path that shouldn't exist. Honest invoicing makes invoices correct from the start — when debt goes uncollectible, a credit note adjusts the bottom line immediately. Nothing to recover means no recovery flow. The button stops existing.

The full strategy: why invoices are wrong, how credit notes fix them, what the Dunning Brain enables. Three phases shipping Q2.

~160
tickets/month — paid but broken

Customer buys a plan. Card is charged. Dashboard still says Free. The subscription model provisions entitlements before payment confirms — when payment fails after activation, a chain of compensating transactions fires and fails silently. The fix: create subscriptions as incomplete, collect payment with the customer present, never provision until paid. No intermediate state means no rollback.

Today, we collect the payment method before checkout — before we know what the customer is buying. Every layer of compensating logic since exists to paper over that architectural mistake. The fix: collect payment at the moment of purchase.

Concept page: the problem, the solution, the unlock chain. Confirm payment before commit — everywhere.

These workstreams fix mechanisms, not cohorts. Drift is a flow — ~9,000 accounts at any time, churning ±50–200 per day. The mechanisms that generate drift are what the schedule below eliminates.

73K+
accounts with lying invoices (see Account Populations)
~9,000
in active drift at any time
~700
failed activations per month

Racing dunning code paths. Lying invoice amounts. Pay-bad-debt that doesn't unflag. Tens of thousands of accounts with metadata encoding real debt.

Commit-before-pay ordering. Invoice void gap. PM gate blocking. ~700/month failed activations growing from ~200.

W1
W2
W3
W4
W5
W6
W7
W8
W9
W10
W11
W12
W13
W14
Honest Invoicing
Brain · Replicate Logic
Brain · Shadow Test
Brain · Redesign Engine
Brain · Delete Legacy
Brain · Segment Rules
Credit Notes · Surface Audit
Credit Notes · Issuance
Credit Notes · Pay-Original
Credit Notes · Validate
Migration · Analyze & Size
Migration · Pilot
Migration · Bulk Run
Migration · Verify & Close
Smart Checkout
Frontend · 1210 Prep
PM Gate · Observe & Prep
PM Gate · Remove
PM Gate · Cleanup
Frontend · Client Secrets Default

These workstreams share infrastructure and gate each other. The table shows what ships first, what it depends on, and what it unlocks.

DeliverableDepends OnEnablesΔ/moShips
Brain Phase 1State endpoint → HI cleanup, Phase 2, Invariants−100Apr 18
Continuation WorkflowAct 1 (Q1)Activation failures eliminated → LP tickets killed−141Q1
Brain Phase 2Brain Phase 1Webhook routing → dunning recovery path unlocked−68May 9
PM Gate RemovalContinuation (Q1 ✓)Checkout unblocked → LP residual killed−20Jun
Invariant EnforcementBrain Phase 1Banned-with-$0, void-after-retry → HI residual killed−31Jun

Four Critical-rated risks across both workstreams. Each has an owner and a mitigation. These are the items that derail the quarter if they materialize.

RiskWorkstreamOwnerMitigation
Undiscovered handlersHICN M1 leadSurface audit + code search. Any missed handler breaks silently.
Premature deletionHIBrain leadBrain Phase 3 gated on Phase 2 test suite. No deletion without coverage.
Premature gate removalSCEngine leadContinuation must be proven first. Gate removal without payment ordering causes drift.
Unknown 1210 consumersSCFrontend EngAudit all frontend + API consumers of error 1210 before PM Phase 2. Missed = broken UX.

Five invariants ship alongside their parent deliverables. Each enforced at three tiers: inline (code path), batch (BQ query), and alert (PagerDuty). The −31 residual in the burndown represents edge cases caught by batch enforcement — banned-with-$0, void-after-retry, and residual drift.

#InvariantShips WithProperty
I1No entitlement without paymentContinuation WorkflowEvery active sub has a successful PaymentIntent.
I2Every uncollectible has a CNCredit Notes M2Post-migration: credit note exists, amount_remaining = debt.
I3Blocked customer has recoveryBrain Phase 2Every bad-debt account has a payable invoice.
I4No PM gate rejectionsPM Gate RemovalZero 402/1210 responses. client_secret returned.
I5Dunning state consistentBrain Phase 16 stores agree on dunning status.
4–5
engineers across both workstreams
2
Honest Invoicing (1 brain + 1 CN)
2–3
Smart Checkout (2 backend + 1 frontend)

Both chains interleaved in ship order. The running total shows cumulative impact.

DeliverableShipsTicket Categories KilledΔ/moRunning
Brain Phase 1 + CleanupApr 18~85 RC5 (stale flags) · ~15 bad-debt (wrong state)−100360 → 260
Continuation WorkflowQ1 ✓~80 RC4 (activation) · ~30 sub-lifecycle · 17 drift · 14 dup-charge−141260 → 119
Brain Phase 2 (lifting)May 9~37 RC5 (recovery) · ~25 payment-block · ~6 bad-debt−68119 → 51
PM Gate RemovalMid–Late Q2~20 payment-block (PM gate)−2051 → 31
Invariant EnforcementLate Q2Banned-with-$0 · void-after-retry · residual edge cases−3131 → 0

Ticket category breakdown by source. Grounded from Jira digest and Salesforce RC analysis.

SourceCategoryMonthlyRoot Cause
SalesforceRC5_NO_PAY_NOW122No Pay Now button — UI hidden, stale flags, wrong state
SalesforceRC4_PAYMENT_FAILURE (activation subset)~80Paid but still Free — activation fails, customer stuck
Jirapayment-block~45Mixed — PM gate, checkout blocked, bad debt state
Jirasubscription-lifecycle (activation subset)~30Paid but still Free + R2/Workers activation
Jirabad-debt~21No Pay Now — wrong state, can't recover
Jiraentitlement-drift~17Paid but still Free — paid not provisioned
Jiraduplicate-charge (subset)~14Rollback race conditions