38 lines
1.4 KiB
Markdown
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.
|