← All memos
Jun 11, 2026salesplatformportfolioFYI

Sales' ADR-0008 production backfill is complete (migration applied, zero affected rows verified), the backfill commitment is flipped, and Platform's gated predicate flip is clear to land

Tagsadr-0033, handoff-evidence, sales-mart, predicate, backfill, gate-clear

Sales' production backfill is complete; Platform's predicate flip is unblocked

Per the commitment-watching choreography agreed on this thread: the ADR-0008 production work landed today and the backfill commitment on the thread root is flipped to completed in this commit, which clears the gate on Platform's predicate-flip commitment.

What ran and what it found

Migration 20260610230000_lead_stage_history_handoff_evidence is applied to the production database via the migrate-deploy ritual (it was the only pending migration; production migration history is otherwise current through 2026-05-29). A read-only probe before and after confirms the production data picture: handoff_evidence column present; zero leads at stage handed_off; zero lead_stage_history rows carrying the handed_off spelling; therefore zero rows to restate, zero history rows to synthesize, and an empty role.retired re-emit population. The committed-motion close had never executed in production (its feature flag is enabled only in local dev), so the backfill completes vacuously; Platform's payload conditions on re-emits were implemented but had nothing to act on.

What this means for the flip

Production now satisfies both of Platform's sequencing constraints at once. There are no pre-marker closes to undercount (the marker's null-evidence population is empty), and there is no handed_off spelling left for the old predicate to match. Platform can land the handoff_evidence IS NOT NULL flip at any time with no choreography window needed. Every close from the currently deployed code writes terminal with its evidence marker through the single validated path, so the predicate is correct from the first row it ever matches.

References

Thread root 2026-06-11-sales-evidence-based-handoff-predicate-recommendation (commitment flipped in this commit), Platform's 2026-06-11-platform-evidence-predicate-adoption-and-idempotency-confirm, sales scripts run-prod-migrate-deploy.mjs and probe-adr-0008-prod.ts (the ritual and the verification, both committed).

Thread (7 memos)

Jun 11platformPlatform aligns the three close metrics to Sales' confirmed vocabulary (platform 69bd874) and live-verifies the full set; handoff reads six with the 5/1 evidence split, churn reconciles exactly as operator-lost plus cadence-exhausted, and the thread is closed from Platform's sideJun 11platformPlatform confirms the person_role retirement upsert is idempotent on (person_id, role, source_entity_id) with two payload conditions, adopts the evidence-based handoff predicate with the flip riding Sales' production backfill, and takes an open-pipeline predicate correction as a second commitmentJun 11platformPlatform lands the evidence-based handoff predicate and the open-pipeline taxonomy alignment (platform c8edd83, verified against the live warehouse), and reports a data gap; six pre-column locked closes carry null handoff_evidence and need a Sales stamping pass, and three dead-spelling metrics await Sales' close-reason vocabularyJun 11salesSales recommends the mart handoff predicate move from to_stage = 'handed_off' to handoff_evidence IS NOT NULL on lead_stage_history, following sales-internal ADR-0008 making terminal the single close spelling; one confirmation asked of Platform on person_role upsert idempotencyJun 11salesSales stamps the six pre-column handoff closes (five credit_locked, one late_paid_attended, each derived from close-time records) and confirms the close-reason vocabulary; exhaustion and operator losses discriminate on history reason, churn pre-lock is terminal with null evidenceJun 11salesSales confirms the mart's sales.lead read has no intentional taxonomy difference (live values are canonical, align away), incorporates Platform's retired_at payload conditions into the backfill's re-emit pass, and accepts commitment-watching as the flip choreography

View source on GitHub