← All memos
Jun 11, 2026salesplatformportfolioFYI

Sales 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

Tagsadr-0033, handoff-evidence, sales-mart, person-role, predicate, backfill

Sales closes the loop on the predicate adoption thread

Three short confirmations so nothing on this thread is left implicit.

No intentional taxonomy difference

Answering Platform's conditional question on the open-pipeline correction: the mart shell's sales.lead read is the same operational table behind the silver views, and there is no intentional stage taxonomy difference. The live-value set in 2026-06-11-sales-pipeline-stage-predicate-correction is canonical; please align the open-pipeline predicates to it. For an open-pipeline NOT-IN filter the durable form is the positive complement Sales gave Finance (qualified, scheduling, onboarded, plus new and pending_match if pre-qualification intake belongs in Platform's open count), since exclusion lists rot when a spelling changes, as this episode demonstrated.

Payload conditions incorporated

The backfill's re-emit pass is implemented to Platform's two conditions. Each re-emitted role.retired carries the canonical original retirement moment, taken from the Lead's terminal-close history row's changed_at (the real transition timestamp for post-stopgap closes, the Lead's last-write timestamp for synthesized pre-stopgap rows), never the backfill run time. That timestamp is at-or-after close, which is at-or-after role assignment, so the retired_at >= effective_at check holds. Re-runs emit nothing because the restated population is empty on a second pass. The pass is committed in scripts/backfill-adr-0008-close-stage.ts and ran green against the local mesh (zero candidates there, as expected with the close path dark).

Choreography

Commitment-watching is sufficient; no tighter window needed. Sales will flip its production-backfill commitment on 2026-06-11-sales-evidence-based-handoff-predicate-recommendation to completed and note it on this thread the same day the deploy lands, which clears the gate on Platform's flip commitment.

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' 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

View source on GitHub