50 lines
2.0 KiB
Markdown
50 lines
2.0 KiB
Markdown
|
|
---
|
||
|
|
model: openai/gpt-5.6-sol
|
||
|
|
service: opencode
|
||
|
|
timestamp: 2026-08-12T03:06:08Z
|
||
|
|
git_ref: 1095e7f7
|
||
|
|
diff_cmd: git diff HEAD~1..HEAD
|
||
|
|
---
|
||
|
|
|
||
|
|
The user requested the second iterative refinement for Tractor PR 490: ensure
|
||
|
|
non-EOC failures from a shared underlying broadcast receiver do not leave peer
|
||
|
|
subscribers blocked forever, then stop for a complete commit plan.
|
||
|
|
|
||
|
|
> `git diff HEAD~1..HEAD -- tractor/trionics/_broadcast.py`
|
||
|
|
|
||
|
|
Added shared terminal failure publication for ordinary `Exception` values.
|
||
|
|
The receive owner gets the original exception; peers may drain retained
|
||
|
|
values and then get a fresh `BroadcastReceiveError` chained from the original.
|
||
|
|
Late subscribers observe the same terminal state without retrying the failed
|
||
|
|
underlying receiver. Process-control and cancellation-like `BaseException`
|
||
|
|
values wake peers but are re-raised without becoming durable channel state.
|
||
|
|
|
||
|
|
> `git diff HEAD~1..HEAD -- tractor/trionics/__init__.py`
|
||
|
|
|
||
|
|
Exported `BroadcastReceiveError` as the public peer-delivery exception.
|
||
|
|
|
||
|
|
> `git diff HEAD~1..HEAD -- docs/api/trionics.rst`
|
||
|
|
|
||
|
|
Documented `BroadcastReceiveError` and the owner-versus-peer delivery
|
||
|
|
contract, including retained-value draining and late subscribers.
|
||
|
|
|
||
|
|
> `git diff HEAD~1..HEAD -- tests/test_task_broadcasting.py`
|
||
|
|
|
||
|
|
Added deterministic bounded regressions. One scripts a successful receive
|
||
|
|
followed by `RuntimeError`, proving the root drains retained data, all current
|
||
|
|
and late receivers observe terminal failure, and the source is not retried.
|
||
|
|
The second scripts a custom `BaseException`, proving peers wake and take over
|
||
|
|
the next source receive without retaining control-flow state.
|
||
|
|
|
||
|
|
Verification output:
|
||
|
|
|
||
|
|
```text
|
||
|
|
............. [100%]
|
||
|
|
13 passed in 5.62s
|
||
|
|
```
|
||
|
|
|
||
|
|
Python compilation and `git diff --check` passed. Iterative adversarial review
|
||
|
|
drove independent peer exception wrappers, ordinary-versus-control-flow
|
||
|
|
classification, bounded test completion, public docs, and the final catch-all
|
||
|
|
peer wake. Final review found no issues.
|