# Stage 07: Data Quality and Provenance Gates

Date: 2026-07-29

## Result

- Added a quality rule for every registered data product.
- Added canonical Asia/Shanghai timestamp handling.
- Added source and usage verification before quality acceptance.
- Added maximum-age checks for realtime auction, intraday charts, and realtime indices.
- Added minimum coverage thresholds for deterministic datasets.
- Added unit profiles for prices, shares, currency, percentages, ratios, ranks, and timestamps.
- Added adjustment checks that distinguish current unadjusted deterministic bars from iFinD
  forward-adjusted display charts.
- Added announcement-date point-in-time checks for financial data.
- Added explicit provider chains; a display fallback cannot silently become a calculation
  source.
- Analyst consensus and Level-2 remain blocked until a qualified provider is registered.

## Fail-Closed Contract

A calculation evidence envelope is rejected when its source is unauthorized, its dataset is
blocked, its timestamp is from the future, its realtime data is stale, its coverage is below
the registered threshold, its units or adjustment mode differ, or its financial record was not
available at the evaluation time.

## Compatibility

Existing legacy provider response shapes remain unchanged in this stage. New governed feature
paths must submit quality evidence through `DataGateway.require_quality`. Existing feature
paths receive envelopes as they migrate behind domain services, avoiding a simultaneous
rewrite of calculations and provider routing.
