54 lines
1.9 KiB
Markdown
54 lines
1.9 KiB
Markdown
|
|
---
|
||
|
|
model: openai/gpt-5.6-sol
|
||
|
|
service: opencode
|
||
|
|
timestamp: 2026-08-12T21:31:17Z
|
||
|
|
git_ref: 51185487
|
||
|
|
diff_cmd: git diff HEAD~1..HEAD
|
||
|
|
---
|
||
|
|
|
||
|
|
The user requested the fourth iterative refinement for Tractor PR 490: expose
|
||
|
|
subscriber lag policy through the public `MsgStream.subscribe()` and
|
||
|
|
`LinkedTaskChannel.subscribe()` wrappers, then stop for a complete commit
|
||
|
|
plan. This enables piker to replace private receiver mutation.
|
||
|
|
|
||
|
|
> `git diff HEAD~1..HEAD -- tractor/_streaming.py`
|
||
|
|
|
||
|
|
Added `raise_on_lag: bool = True` to `MsgStream.subscribe()`. The first call
|
||
|
|
passes the policy to the irreversibly allocated root broadcaster and its
|
||
|
|
child; later calls configure each child independently while retaining the
|
||
|
|
root's first-call policy.
|
||
|
|
|
||
|
|
> `git diff HEAD~1..HEAD -- tractor/to_asyncio.py`
|
||
|
|
|
||
|
|
Added equivalent lag-policy forwarding to `LinkedTaskChannel.subscribe()`.
|
||
|
|
|
||
|
|
> `git diff HEAD~1..HEAD -- docs/guide/streaming.rst`
|
||
|
|
|
||
|
|
> `git diff HEAD~1..HEAD -- docs/guide/asyncio.rst`
|
||
|
|
|
||
|
|
Documented strict versus warn/drop/resume behavior, independent child policy,
|
||
|
|
and first-call root policy for both wrapper types.
|
||
|
|
|
||
|
|
> `git diff HEAD~1..HEAD -- tests/test_task_broadcasting.py`
|
||
|
|
|
||
|
|
Added a parameterized wrapper-level regression using minimal receive-compatible
|
||
|
|
handles. It verifies a first non-raising subscription configures root and
|
||
|
|
child, then a later strict child does not mutate the sticky root policy.
|
||
|
|
|
||
|
|
Verification output:
|
||
|
|
|
||
|
|
```text
|
||
|
|
................... [100%]
|
||
|
|
19 passed in 5.71s
|
||
|
|
|
||
|
|
.................... [100%]
|
||
|
|
20 passed in 6.88s
|
||
|
|
|
||
|
|
. [100%]
|
||
|
|
1 passed in 0.86s
|
||
|
|
```
|
||
|
|
|
||
|
|
The second and third runs cover actual `MsgStream` and infected-asyncio
|
||
|
|
`LinkedTaskChannel` fan-out respectively. Python compilation and
|
||
|
|
`git diff --check` passed. Adversarial review found no actionable issues.
|