65 lines
2.7 KiB
Markdown
65 lines
2.7 KiB
Markdown
---
|
|
model: gpt-6 (exact variant not exposed)
|
|
service: codex
|
|
timestamp: 2026-09-23T16:46:56.830897+00:00
|
|
git_ref: efa72980
|
|
session: 01a0a5b9-f872-7ca3-ab8a-d1cffc14e895
|
|
scope: code
|
|
substantive: true
|
|
raw_file: 20260923T164656Z_efa72980_prompt_io.raw.md
|
|
---
|
|
|
|
## Prompt
|
|
|
|
Investigate existing branch fixes before repairing IB day-skipping.
|
|
Create an isolated worktree on ib_connectivity_harden and add a test
|
|
that checks actual persisted data, leaving live gap repair for later.
|
|
|
|
## Response summary
|
|
|
|
Preserve IB request boundaries on HMDS no-data responses. Retain the
|
|
existing earliest-history classification and bounded reset handling.
|
|
Separate requested and published boundaries during backfill so the
|
|
first response after an empty interval does not lose its end bar.
|
|
Prove supplied bars survive both SHM publication and a fresh parquet
|
|
load while a simulated venue closure remains empty.
|
|
|
|
## Files changed
|
|
|
|
- `piker/brokers/ib/feed.py`: complete HMDS no-data requests unchanged.
|
|
- `piker/tsp/_history.py`: filter overlap against published history.
|
|
- `tests/test_ib_history.py`: six empty-response boundary cases.
|
|
- `tests/test_history_backfill.py`: two SHM/parquet integration cases.
|
|
|
|
## Human edits
|
|
|
|
The human identified the live gap, required prior-branch discovery,
|
|
selected ib_connectivity_harden as the base, and requested stronger
|
|
end-to-end evidence. They corrected overstated reproduction claims,
|
|
insisted on plain explanations, and pointed out that valid venue
|
|
closures must remain gaps. Existing data repair was explicitly deferred.
|
|
No direct human source edits have been observed; changes await review.
|
|
|
|
## Review follow-up
|
|
|
|
The human's tuicr review asked whether None was part of the backfill
|
|
protocol and requested plain explanations of the two dates and overlap
|
|
filter. Clarified the IB-internal empty-response sentinel and its
|
|
translation into NoData/DataUnavailable before reaching the backfiller.
|
|
Renamed last_start_dt to request_end_dt and published_start_dt to
|
|
oldest_shm_dt. Added a concrete empty-interval example at the filter and
|
|
explained that only successful SHM writes move oldest_shm_dt.
|
|
These changes clarify naming and documentation without changing the
|
|
previously tested request or publication behavior.
|
|
|
|
## History-filter review follow-up
|
|
|
|
The human flagged the unused append_until_dt argument and confusing
|
|
append/prepend terminology in diff_history(). The helper had one
|
|
caller, using only prepend_until_dt. Removed the helper and inlined
|
|
its inclusive lower-time cutoff beside the SHM duplicate filter.
|
|
The human's nearby TODO comment is resolved by this removal; the
|
|
replacement comment describes the retained timestamps directly.
|
|
The storage comparison remains >= backfill_until_dt; the SHM
|
|
comparison remains < oldest_shm_dt.
|