59 lines
2.3 KiB
Markdown
59 lines
2.3 KiB
Markdown
|
|
---
|
||
|
|
model: openai/gpt-5.6-sol
|
||
|
|
service: opencode
|
||
|
|
timestamp: 2026-08-13T18:19:01Z
|
||
|
|
git_ref: a2e0df4b
|
||
|
|
diff_cmd: git diff HEAD~1..HEAD
|
||
|
|
---
|
||
|
|
|
||
|
|
The user asked to continue after committing the paired piker EMS consumer
|
||
|
|
fix. The next isolated Tractor PR 490 item was to clean cancelled-task
|
||
|
|
diagnostics and define zero-buffer broadcast behavior, then review, test and
|
||
|
|
stop at a complete commit plan.
|
||
|
|
|
||
|
|
> `git diff HEAD~1..HEAD -- tractor/trionics/_broadcast.py`
|
||
|
|
|
||
|
|
Made `BroadcastState.cancelled` transient: receiver progress and close clear
|
||
|
|
that receiver's diagnostic, terminal EOC and shared receive failure clear all
|
||
|
|
stale cancelled tasks, and durable EOC prevents peers from re-entering the
|
||
|
|
closed source. `broadcast_receiver()` now rejects non-positive retention
|
||
|
|
capacity before creating an unusable zero-length deque.
|
||
|
|
|
||
|
|
> `git diff HEAD~1..HEAD -- tractor/_streaming.py`
|
||
|
|
|
||
|
|
Made explicit `MsgStream.aclose()` release its internally allocated root
|
||
|
|
broadcaster while preserving graceful receive-internal EOC teardown. Used a
|
||
|
|
task-local marker so the public zero-argument `aclose()` signature and valid
|
||
|
|
subclass overrides remain compatible.
|
||
|
|
|
||
|
|
> `git diff HEAD~1..HEAD -- tractor/to_asyncio.py`
|
||
|
|
|
||
|
|
Made `LinkedTaskChannel.aclose()` release its internally allocated root
|
||
|
|
broadcaster before closing the underlying Trio receive channel.
|
||
|
|
|
||
|
|
> `git diff HEAD~1..HEAD -- tests/test_task_broadcasting.py`
|
||
|
|
|
||
|
|
Added synchronized regressions for transient child cancellation diagnostics,
|
||
|
|
cross-receiver terminal cleanup, durable EOC peer wakeups, root broadcaster
|
||
|
|
cleanup through both public wrappers, `MsgStream.aclose()` subclass
|
||
|
|
compatibility, and zero-buffer rejection.
|
||
|
|
|
||
|
|
Verification output:
|
||
|
|
|
||
|
|
```text
|
||
|
|
........................... [100%]
|
||
|
|
27 passed in 5.89s
|
||
|
|
|
||
|
|
. [100%]
|
||
|
|
1 passed in 1.22s
|
||
|
|
|
||
|
|
. [100%]
|
||
|
|
1 passed in 0.88s
|
||
|
|
```
|
||
|
|
|
||
|
|
The integration runs cover real `MsgStream` actor fan-out and infected-asyncio
|
||
|
|
`LinkedTaskChannel` fan-out. Ruff, Python compilation and `git diff --check`
|
||
|
|
passed. Repeated adversarial review found and resolved root close re-entrancy,
|
||
|
|
cross-receiver terminal retention, durable-EOC and subclass-compatibility
|
||
|
|
issues; final review reported no findings.
|