# Reflection: Current projections must exclude fixtures ## Trigger Real daily uploads and automatic monthly publication were enabled while the database acceptance fixture remained in `finance.current_daily_versions`, causing correct aggregation of non-business test data. ## Expected Behavior The transition from schema acceptance to business-facing use should retire all fixture pins and verify that every current Finance source has operational provenance. ## Actual Behavior The fixture's immutable version and current pointer were both retained. Later features validated formulas, lineage, downloads and max-ARRIVAL consistency against a structurally valid but contaminated snapshot. ## Root Cause - Weak gate - Unclear ownership The handoff documented synthetic-data cleanup as a production gate, but no executable readiness check owned it. ## Evidence - Current version 2: run `mvp-v1-fixture-20260727`, `synthetic.xml`, provider `local_fixture`. - [Channel BI contamination evidence](../../50-evidence/topics/2026-07-30-channel-bi-post-update-data-contamination.md) - `DATABASE_ARCHITECTURE_REASSESSMENT_V2.md` already required synthetic cleanup before production. ## Lesson Structural reconciliation proves that downstream outputs match current facts; it does not prove those facts are operational. Before business-facing acceptance, assert provenance as well as counts, hashes and formulas. ## Action - Add check/eval - Update gate Future deployment/readiness work should fail when a current Finance version uses `local_fixture` or another explicitly non-operational source. Cleanup must preserve immutable history while removing the fixture from the current projection. ## Promotion Promote this to a deployment/data-readiness gate and automated acceptance check when remediation is implemented.