piker/ai/prompt-io/opencode/20260813T225940Z_b691422b_p...

38 lines
1.4 KiB
Markdown

---
model: openai/gpt-5.6-sol
service: opencode
timestamp: 2026-08-13T22:59:40Z
git_ref: b691422b
diff_cmd: git diff HEAD~1..HEAD
---
The user asked to continue the piker broadcast-consumer audit after committing
the cached feed ownership fix. The next isolated item was Deribit's cached
price feed, which wrapped one retained `LinkedTaskChannel` in competing
broadcaster roots for cache hits.
> `git diff HEAD~1..HEAD -- piker/brokers/deribit/api.py`
Changed `maybe_open_price_feed()` so both the first cache owner and every cache
hit enter `LinkedTaskChannel.subscribe()` and receive a lexical child from the
channel's single retained broadcaster root.
> `git diff HEAD~1..HEAD -- tests/test_deribit_broadcast.py`
Added a concurrent ownership regression using real Tractor broadcast state.
It proves a miss owner and cache-hit caller receive the same quote, closing the
hit child leaves the owner live, and both children clean up independently while
the channel root remains registered.
Verification output:
```text
. [100%]
1 passed in 0.01s
```
The new test passes through a source-isolated Deribit import. Test Ruff,
Python compilation and whitespace checks pass. Full package import and
full-file Deribit Ruff remain blocked by pre-existing Qt, msgspec model, and
legacy Deribit lint errors unrelated to this patch.