73 lines
3.1 KiB
Markdown
73 lines
3.1 KiB
Markdown
|
|
---
|
||
|
|
created_at: 2026-10-28T19:30:20Z
|
||
|
|
generated_by:
|
||
|
|
harness: opencode
|
||
|
|
provider: openai
|
||
|
|
model: openai/gpt-6-astra
|
||
|
|
git_ref: b64c89f0
|
||
|
|
diff_cmd: git diff HEAD~1..HEAD
|
||
|
|
---
|
||
|
|
|
||
|
|
Investigated the original Piker IB quote-cache patch on the qualified
|
||
|
|
Tractor pin. Normal final-owner closure injects TrioTaskExited into
|
||
|
|
the asyncio peer. Its echo was then treated as an independent error
|
||
|
|
both by the done callback and by translate_aio_errors().
|
||
|
|
|
||
|
|
> `git diff HEAD~1..HEAD -- tractor/to_asyncio.py`
|
||
|
|
|
||
|
|
Record the precise owner-exit exception on LinkedTaskChannel. Consume
|
||
|
|
that object's completion callback without cancelling an already
|
||
|
|
unwinding owner. At the translator boundary preserve the actual
|
||
|
|
Trio-side error, absorb a graceful echo under the default policy,
|
||
|
|
or raise the exact signal when explicit reporting is requested.
|
||
|
|
Independent errors, including newly constructed same-type errors,
|
||
|
|
retain existing propagation. Classify the expected echo in logs as
|
||
|
|
exit acknowledgement rather than an independent producer failure.
|
||
|
|
|
||
|
|
> `git diff HEAD~1..HEAD -- tests/test_cached_aio_owner_exit.py`
|
||
|
|
|
||
|
|
Use an infected actor with real bridge/cache/broadcast primitives,
|
||
|
|
overlapping consumers, repeated owner retirement/reopening and two
|
||
|
|
RPCs on the same actor. Test native and Greenback producer tasks,
|
||
|
|
cancelled final consumers, explicit exit reporting, and independent
|
||
|
|
RuntimeError/same-type cleanup failures with exception identity and
|
||
|
|
cause assertions. Capture asyncio callbacks to reject duplicate
|
||
|
|
unhandled echoes. Explicitly cancel the still-running test actor
|
||
|
|
after its successful RPCs, before closing its actor nursery.
|
||
|
|
|
||
|
|
> `git diff HEAD~1..HEAD -- docs/guide/asyncio.rst`
|
||
|
|
|
||
|
|
Clarify the existing default graceful-exit contract: only the exact
|
||
|
|
bridge-issued owner-exit signal is eligible for suppression.
|
||
|
|
|
||
|
|
Corrected baseline: 8 failed, 4 passed. Fixed matrix: 12 passed.
|
||
|
|
Selected Tractor coverage: 36 passed, 18 deselected, with 24 existing
|
||
|
|
multiprocessing fork-in-multithreaded-process deprecation warnings.
|
||
|
|
Piker's original cached quote patch plus real bridge tests: 4 passed,
|
||
|
|
including actor survival and callback cleanliness.
|
||
|
|
|
||
|
|
This establishes a defect against the documented contract at the
|
||
|
|
pin, not a bisected historical regression between Tractor revisions.
|
||
|
|
No installed runtime, Piker source branch or live broker was changed.
|
||
|
|
|
||
|
|
## Subsequent human evidence and authorization
|
||
|
|
|
||
|
|
The human reported successful passage through the previous backfill
|
||
|
|
reset crash. Live logs show the candidate's two owner-exit
|
||
|
|
acknowledgements. A later get_quote() TimeoutError remained primary
|
||
|
|
through that cleanup, and reached the chart after PDB continuation.
|
||
|
|
Separate completion-delivery, SIGINT, Qt, EMS and sampler failures
|
||
|
|
remain outside this patch; see the paired structured record.
|
||
|
|
|
||
|
|
Human request:
|
||
|
|
> so let's get the tractor wkt committed so we can pin there and then
|
||
|
|
> move forward with fixin all this new shiz
|
||
|
|
|
||
|
|
Human correction:
|
||
|
|
> i meant do a commit plan dawg Bp
|
||
|
|
|
||
|
|
After the agent offered a one-commit soft reset preserving the files:
|
||
|
|
> yeah, bc i want to review before the commit
|
||
|
|
|
||
|
|
The authorized soft reset restored b64c89f0 with all files staged.
|