tractor/ai/prompt-io
Gud Boi db8dc0e27c Notify unfinished `Context` owners on IPC EOF
Save the proposed transport-fault handling for discovered peers.
`process_messages()` reports EOF then exits, leaving parent ctx
owners blocked until another send detects the loss. Wake unfinished
owners on that exact channel with `TransportClosed`, including
owners paused at application checkpoints unrelated to IPC.

This scope-cancellation policy remains provisional pending the
transport contract discussion. Saving the impl and regression cases
on this branch does not settle that policy or imply acceptance.

Deats,
- Match `Context.chan` by identity and notify all unfinished parent
  ctxs on the failed connection, leaving other channels alone.
- Preserve received outcomes and record buffered `Return` receipt
  using the `Unresolved` sentinel before EOF can replace success.
- Keep local transport loss distinct from a remote cancellation
  request: do not invent `Context._canceller` provenance.
- Preserve the original disconnect cause through owner cancellation
  and unwinding in `Context._maybe_raise_remote_err()`.

Also,
- Exercise two owners sharing a discovered sibling channel, blocked
  in stream receive or an application `Event`, plus a healthy peer
  that continues to echo after fault handling.
- Synchronize EOF injection after startup and task quiescence.
  Cover drained and buffered final results without timing sleeps.
- Regress cause preservation directly with a connection-reset cause
  and a distinct owner-unwinding exception.
- Carry the staged structured session provenance unchanged. Its
  broader cancellation observations do not expand this boundary;
  the root-owned `cancel_soon()` fix remains outside this save.

Exact-tree project tests remain pending in the commit plan. Earlier
session results in the provenance log are not passes for this tree.

Prompt-IO: ai/prompt-io/opencode/20260916_ib_disconnect_cleanup.md

(this patch was generated in some part by `opencode`
using `gpt-6-astra` (`openai`))
2026-10-30 13:13:37 -04:00
..
claude Pin tpt prompt provenance to immutable refs 2026-08-31 12:27:23 -04:00
opencode Notify unfinished `Context` owners on IPC EOF 2026-10-30 13:13:37 -04:00
prompts Add `tractor.to_actor` one-shot task API subpkg 2026-08-21 15:03:34 -04:00
20261011T053737Z_a966928d_prompt_io.md Fix built-in level names in `at_least_level()` 2026-10-16 20:31:49 -04:00
20261011T053737Z_a966928d_prompt_io.raw.md Fix built-in level names in `at_least_level()` 2026-10-16 20:31:49 -04:00
20261019T140536Z_9a0f220f_final_return_prompt_io.md Reproduce `@context` final-`Return` disconnect cascade 2026-10-19 10:51:17 -04:00
20261019T140536Z_9a0f220f_final_return_prompt_io.raw.md Reproduce `@context` final-`Return` disconnect cascade 2026-10-19 10:51:17 -04:00
20261019T145431Z_0553fcf8_ctx_return_fix_prompt_io.md Contain `@context` final-result disconnects 2026-10-21 14:23:33 -04:00
20261019T145431Z_0553fcf8_ctx_return_fix_prompt_io.raw.md Contain `@context` final-result disconnects 2026-10-21 14:23:33 -04:00
20261020T193619Z_0553fcf8_review_prompt_io.md Contain `@context` final-result disconnects 2026-10-21 14:23:33 -04:00
20261020T193619Z_0553fcf8_review_prompt_io.raw.md Contain `@context` final-result disconnects 2026-10-21 14:23:33 -04:00
20261021T145344Z_0553fcf8_task_format_prompt_io.md Mv task UID formatting into `devx.pformat` 2026-10-21 11:29:32 -04:00
20261021T145344Z_0553fcf8_task_format_prompt_io.raw.md Mv task UID formatting into `devx.pformat` 2026-10-21 11:29:32 -04:00
20261021T151133Z_0553fcf8_uid_move_prompt_io.md Mv task UID formatting into `devx.pformat` 2026-10-21 11:29:32 -04:00
20261021T151133Z_0553fcf8_uid_move_prompt_io.raw.md Mv task UID formatting into `devx.pformat` 2026-10-21 11:29:32 -04:00
20261028T193020Z_b64c89f0_cached_owner.md to_asyncio: fix `trio`-side-exit handling 2026-10-29 17:28:20 -04:00
20261028T193020Z_b64c89f0_cached_owner.raw.md to_asyncio: fix `trio`-side-exit handling 2026-10-29 17:28:20 -04:00
README.md Fix built-in level names in `at_least_level()` 2026-10-16 20:31:49 -04:00

README.md

AI Prompt I/O Log

This directory tracks prompt inputs and model outputs for AI-assisted development across harnesses.

Policy

Prompt logging follows the NLNet generative AI policy. All substantive AI contributions are logged with:

  • Original harness, and provider/model when known
  • Timestamps
  • The prompts that produced the output
  • Unedited model output (.raw.md files)

Usage

Entries are created by the /prompt-io skill or automatically via /commit-msg integration.

Human contributors remain accountable for all code decisions. AI-generated content is never presented as human-authored work.