Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions changelog.d/fix-188-route-failure-owner.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
- Notices about an agent's own action now reach the window that agent reads, deferred against that agent's own turn, stream and tool cycle (#188). Two exceptions: a failed reply its speaker will never read goes to the primary by name, and a notice for an agent no longer registered goes nowhere, logged.
- The notices: a failed reply (`[discord-send-failed]`), bounced prose (beside its `{{unsent}}` clipboard), a background script's wake, and a channel opened by the agent's own send. A channel opened by subscription policy, with no agent behind it, is still announced to the primary.
- A conversation fork's or an ephemeral run's notices land in its own window instead of the primary's. In connectome-host this moves a subagent's notices from the primary, where the default path put them, to the subagent.
- A resident's notices are addressed to it too, in the slot the residents share, and wait on its own turn rather than the primary's. Whether it may land there while another resident's turn is alive is the question of #291.
- When a fork or an ephemeral run is released, each failed-reply notice it never read is passed to the primary, once, by name: "A reply by `<name>` (N chars) could not be delivered to … (…). `<name>` has ended, and the human did not receive it." Never read means still queued for it, or stored in its window since its last compile and not heard mid-turn at a tool boundary. The same goes for a delivery that fails after its speaker is released, and for such a notice restored at boot whose agent is gone. That notice's metadata carries `speaker`, and every failed-reply notice's metadata now carries `textLen`. With no primary registered, no one is told, and it's logged.
- Writes still queued for a fork or an ephemeral run when it is released land in its own window first, which Chronicle keeps. A release asked for while the host is quiesced waits for resume, and lands them then.
- The fallback reaper no longer disposes a closing fork whose turn is still alive before its stream has registered.
- A notice or a background-script wake for an agent that is no longer registered is dropped, logged once, with no trace and no wake.
Loading
Loading