tractor/ai/prompt-io/20261028T193020Z_b64c89f0_c...

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.