channel: add 'merge' verb to fold source channels into an open survivor #15
Labels
No labels
burndown-2026-06
coherence-core
consult
headless
interactive
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set.
Reference
coilyco-flight-deck/otel-a2a-relay-cli#15
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
o2r channel merge- fold source channels into an open survivorSibling to the existing channel verbs (#10 list, #11 handoff, #13 request/verify).
Relay route + semantics live in
coilyco-flight-deck/otel-a2a-relay#60 - land that first, this verb calls it.
Why
Several machines often each open their own channel about one event. Concrete case:
a chain of channels all about "runners", all but one already closed, with the
history fragmented across the dead ones. We want to consolidate them into the live
survivor, interleaved by time.
Shape
<target>- the survivor channel id (the open one).<source>...- one or more channels to fold in (closed is the normal case).merged_into);--keep-openoverrides.Calls
POST /agent-channel/{target}/mergewith{sources, close_sources}.Behavior
mergeevent id in thetarget, and the survivor URL.
source's newest
stateis newer than the survivor's it now wins after merge.Tell the operator to re-seed
stateif needed. Do not bury it.not an error.
Relay side: coilyco-flight-deck/otel-a2a-relay#60.
Backlog burndown 2026-06-17: closing low-priority (P3/P4) to bring the open count to a manageable level. Nothing lost — reopen if this resurfaces. Batch tag:
burndown-2026-06.