72 lines
2.7 KiB
Markdown
72 lines
2.7 KiB
Markdown
---
|
|
model: gpt-5.6-sol
|
|
service: opencode
|
|
timestamp: 2026-09-03T23:25:25Z
|
|
git_ref: fadab3d2
|
|
diff_cmd: git diff HEAD~4..HEAD
|
|
---
|
|
|
|
## Prompt
|
|
|
|
The human reported that the MNQ volume subchart repeatedly rendered
|
|
its last bar at one index around the equity-futures closure, then
|
|
reported that the volume curve disappeared after reopening. During
|
|
live testing, the human confirmed that `flow_rates`, which started
|
|
later, advanced correctly while `dolla_vlm` remained pinned. The human
|
|
then reported a stale downsampled curve on zoom-out and supplied the
|
|
repeated console warning:
|
|
|
|
`No yrange provided for dolla_vlm!?`
|
|
|
|
The human requested a live diagnosis and fix, validated each restart,
|
|
and confirmed the final chart behavior was fixed.
|
|
|
|
## Response
|
|
|
|
Read-only SHM snapshots showed that `dolla_vlm` remained at exclusive
|
|
bound `172801` while the source advanced hundreds of rows. Its one
|
|
current row kept receiving current quote values, explaining the
|
|
same-index repaint. `flow_rates` remained aligned because it started
|
|
after regular one-second timestamps resumed.
|
|
|
|
The cascade had inferred its sampler period from the last two distinct
|
|
timestamps. A market closure therefore looked like the source cadence.
|
|
Explicit `Flume` RT/history periods now drive sampling and downsampling
|
|
metadata instead.
|
|
|
|
> `git diff HEAD~4..HEAD -- piker/data/flows.py`
|
|
|
|
> `git diff HEAD~4..HEAD -- piker/fsp/_engine.py`
|
|
|
|
Further SHM inspection found an IB source row with volume `-2319096`.
|
|
`dolla_vlm` multiplied that value into a `-68277471626` outlier, causing
|
|
`Viz.maxmin()` to reject the zoomed-out range. Sample ingestion and
|
|
volume FSP history/realtime calculations now clamp negative volume.
|
|
|
|
> `git diff HEAD~4..HEAD -- piker/data/_sampling.py`
|
|
|
|
> `git diff HEAD~4..HEAD -- piker/fsp/_volume.py`
|
|
|
|
The M4 renderer already returned a cache-reset signal after rebuilding
|
|
a downsampled path, but `Viz.update_graphics()` overwrote that signal
|
|
with `False`. The override was removed so Qt's device-coordinate cache
|
|
is invalidated with the new path.
|
|
|
|
> `git diff HEAD~4..HEAD -- piker/ui/_dataviz.py`
|
|
|
|
Normal quote cycles also redrew unchanged FSP state. A per-`Viz`
|
|
bounds/timestamp/value signature now suppresses only identical
|
|
realtime refreshes; forced history redraws still bypass it.
|
|
|
|
> `git diff HEAD~4..HEAD -- piker/ui/_fsp.py`
|
|
|
|
Regression coverage models closure-gap cadence, negative provider
|
|
volume, unchanged realtime redraws, and the broader FSP synchronization
|
|
behavior.
|
|
|
|
> `git diff HEAD~4..HEAD -- tests/test_fsp_sync.py`
|
|
|
|
Live verification after restart showed source and `dolla_vlm` advancing
|
|
at the same bound, zero negative destination rows, and correct zoomed-out
|
|
rendering. The focused suite completed with 38 passing tests.
|