2.4 KiB
The user clarified that the QQQ 60-second chart now displayed a flat forward-filled segment, then asked whether the previously reported piker store ldshm failure had been fixed. After being told it had not, the user instructed: “ok but i read above you have a more focussed fix todo now? so have at it!”
The implementation focused on the exact failure boundary. It does not filter invalid rows into a partial replacement and does not mutate live SHM. Instead, ldshm inspects one captured Polars snapshot, infers its cadence from observed finite positive timestamp steps, and skips the entire buffer before analysis, persistence, or reload when any timestamp is non-finite or non-positive.
git diff HEAD~1..HEAD -- piker/storage/cli.py
Generated _shm_period_and_invalid_count() and integrated its result in ldshm. The helper selects the most frequent observed positive step, using the smallest observed step as the deterministic tie-break. Short or cadence-degenerate buffers are skipped. Invalid snapshots are logged and cannot reach deduplication, NativeDB replacement, or SHM reload.
git diff HEAD~1..HEAD -- tests/test_ldshm.py
Generated deterministic regressions for the QQQ-shaped interior zero run, observed-step cadence selection, all invalid timestamp classes, short and degenerate buffers, and command-level prevention of dedupe, storage writes, and reload. The command-level test uses an immutable Polars snapshot and failing spies, without live SHM mutation or timing.
git diff HEAD~1..HEAD -- .claude/skills/run-tests/test-harness-reference.md
Added the deterministic ldshm regression target and its change-to-test mapping to the repository test harness reference.
Verification output:
.......................................................... [100%]
58 passed in 0.70s
git diff --check passed. Ruff was unavailable in the worktree’s existing environment. Three adversarial review passes found and drove fixes for partial-replacement data loss, invented median timeframes, mixed SHM observations, and pre-guard null-analysis failures. The final review reported no remaining findings.
The patch intentionally does not claim that ldshm is safe to run as a general concurrent repair writer. It handles invalid live snapshots by refusing mutation rather than weakening NativeDB validation.