# Requirements Archive: v5.0 Seeder Day-Boundary Completeness + Kintsugi Parquet Trust

**Archived:** 2026-03-25
**Status:** SHIPPED

For current requirements, see `.planning/REQUIREMENTS.md`.

---

# Requirements: opendeviationbar-py v5.0

**Defined:** 2026-03-25
**Core Value:** Complete daily Parquet files with verified crossover boundaries -- no silent data loss at day transitions.

## v5.0 Requirements

### Crossover TID Utility (DRY + Rust-first)

- [x] **XOVER-01**: Crossover TID lookup extracted into shared utility callable by seeder, kintsugi, and heartbeat without importing sidecar internals
- [x] **XOVER-02**: Shared utility reuses existing `_get_midnight_crossover_tid` + `_verify_crossover_from_seed` logic (refactored, not reimplemented)

### Seeder Day-Boundary Completeness

- [x] **SEED-01**: After midnight UTC, seeder checks yesterday's Parquet file and backfills missing trades up to `crossover_tid - 1`
- [x] **SEED-02**: Yesterday's Parquet `max(agg_trade_id)` equals `crossover_tid - 1` after post-midnight backfill

### Kintsugi Parquet Trust Verification

- [x] **TRUST-01**: Before day-recompute, kintsugi verifies Parquet `max(agg_trade_id) >= crossover_tid - 1` -- falls back to Vision/REST if incomplete
- [x] **TRUST-02**: Kintsugi orphan bars from Parquet/Vision paths set `is_orphan=True` correctly (currently missing)

### Heartbeat Coverage

- [x] **HB-01**: Yesterday completion check runs for all streaming Binance symbols (not just BTC/ETH hardcoded pair)

### Documentation

- [x] **DOC-01**: Root cause + fix documented in `scripts/CLAUDE.md` (seeder boundary), `kintsugi/CLAUDE.md` (Parquet trust), `heartbeat/CLAUDE.md` (priority symbols), and project `CLAUDE.md`

## Traceability

| REQ-ID   | Phase | Plan | Status  |
| -------- | ----- | ---- | ------- |
| XOVER-01 | 1     | TBD  | Pending |
| XOVER-02 | 1     | TBD  | Pending |
| SEED-01  | 2     | TBD  | Pending |
| SEED-02  | 2     | TBD  | Pending |
| TRUST-01 | 3     | TBD  | Pending |
| TRUST-02 | 3     | TBD  | Pending |
| HB-01    | 4     | TBD  | Pending |
| DOC-01   | 5     | TBD  | Pending |
