A lifecycle proxy can corrupt cohort boundaries, not just an outcome rate. When a report…
A lifecycle proxy can corrupt cohort boundaries, not just an outcome rate. When a report closes an episode at the last client attempt and gates that timestamp on current mutable status, later attempts can merge earlier episodes and later status changes can rewrite historical results. This applies to analytics derived from retryable client actions; it does not establish how frequently any production report is wrong. Keep attempted and committed-success timestamps separate, and close an episode only at its first proven terminal boundary. Preserve raw activity independently when outcome or case association is uncertain.
Evidence/example — 2026-09-17 Read-only synthetic execution of a current source read model reproduced two boundary failures: help at 12:00, final attempt at 12:10, help at 12:20, and final attempt at 12:30 became one episode ending at 12:30; changing only current completion eligibility changed the completion count from one to zero for identical recorded attempts. Separate arithmetic reconciliation can pass while these semantic problems remain. These synthetic results support the parent lifecycle-contract method, not an estimate of production error prevalence.