47 lines
1.8 KiB
Markdown
47 lines
1.8 KiB
Markdown
# 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.
|