You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
id: protocol v1 phase 3 — relay envelope + hop records over iroh-gossip for chained messages (#2036) #3796
Phase 3 of the #2036 protocol v1 synthesis, from the #2035 investigation (PR #2246, doc/2026-10-29T11-05-00Z_investigation_multi_hop_relay_and_p2p_media). Implement the relayed-message envelope for the chained/permanent class over iroh-gossip: validity = origin signature only (over content, prev-references, group, sequence); each relay appends a signed hop record OUTSIDE the signed envelope (relay ID, previous hop, receipt time) as audit/loop control; receivers dedupe by message ID. Topic = derived from group ID; bootstrap from known member addresses + the existing gossip discovery topic. Safe default until #2033 lands: relay only for groups the relay belongs to, only traffic passing its own ingest. Media paths are out of scope (direct mesh / selective forwarder are constraints, not this build). Acceptance: two members with no direct connection exchange chained messages via a bridging member in tests; forged/altered relayed messages are rejected; duplicates are suppressed.
Disposition: no branch/worktree or source changes. Queue task blocked as packet_defect; refresh the packet and add the phase-1 dependency before requeueing.
Defect: kind small_fix / 45-minute timebox materially understates a greenfield build. Two prior lanes (09:59Z, 11:12Z) verified no relay/hop code exists in pkgs/id (no ChainedMessage in protocol.rs, no Hop struct) and this task has already been parked twice with no code started. Parking it a third time changes nothing.
Action: task 5786 blocked with reason class packet_defect. Per its own recorded split recommendation, phase 3 is split into (A) envelope + signed hop-record types with unit tests, and (B) gossip topic + membership/ingest relay gate + multi-node bridge integration test, each sized to one timebox. Part A packet: hidden_files/packet-3796-part-a-types.json (enqueued as the successor fix task for id: protocol v1 phase 3 — relay envelope + hop records over iroh-gossip for chained messages (#2036) #3796 where the queue allows); part B is to be enqueued when part A lands.
🤖 Agent note · correction to the task 5786 block note (6603552307)
The part A packet (hidden_files/packet-3796-part-a-types.json) validated clean as repo-task/v1, but repo-queue.py enqueue DEDUPED it to blocked task 5786 — the canonical fix dedupe key for id: protocol v1 phase 3 — relay envelope + hop records over iroh-gossip for chained messages (#2036) #3796 is held by task 5786 in blocked state, so NO successor task was created. Verified by direct queue read: the only row for that key is task 5786, status blocked.
Owed action (fleet monitor / next producer): either re-scope task 5786 in place to the part A packet, or cancel task 5786 and enqueue hidden_files/packet-3796-part-a-types.json. Part B (gossip topic + membership/ingest gate + bridge integration test) is enqueued when part A lands.
agent-note:v1
state: reviewed (coverage loop-back)
Coverage pass 2026-11-03, loop-back review: this issue was re-reviewed (drift / overlap / already-handled / stale / blockers / ordering) so every open issue in the four repos is reviewed and in the system. Verdict: still live; in the system as task 5786 (small_fix, blocked, priority 40) in repo-health-code-pilot. Labels audited and synced. If it is already handled at current main, its triage closes it with evidence; if oversized, the triage files the split; blockers belong on this issue.
Found via: coverage loop-back 2026-11-03
Activity
developing-today commentedon Nov 1, 2026
CODE-1535
dezren39 commentedon Nov 2, 2026
🤖 Agent note · picked up
dezren39 commentedon Nov 2, 2026
🤖 Agent note · blocked (packet defect)
packet_defect; refresh the packet and add the phase-1 dependency before requeueing.16 remaining items
dezren39 commentedon Nov 3, 2026
🤖 Agent note · parked — clean handoff for next scheduled lane
dezren39 commentedon Nov 3, 2026
🤖 Agent note · blocked (packet_defect) + split — task 5786
packet_defect. Per its own recorded split recommendation, phase 3 is split into (A) envelope + signed hop-record types with unit tests, and (B) gossip topic + membership/ingest relay gate + multi-node bridge integration test, each sized to one timebox. Part A packet: hidden_files/packet-3796-part-a-types.json (enqueued as the successor fix task for id: protocol v1 phase 3 — relay envelope + hop records over iroh-gossip for chained messages (#2036) #3796 where the queue allows); part B is to be enqueued when part A lands.dezren39 commentedon Nov 3, 2026
🤖 Agent note · correction to the task 5786 block note (6603552307)
repo-queue.py enqueueDEDUPED it to blocked task 5786 — the canonical fix dedupe key for id: protocol v1 phase 3 — relay envelope + hop records over iroh-gossip for chained messages (#2036) #3796 is held by task 5786 in blocked state, so NO successor task was created. Verified by direct queue read: the only row for that key is task 5786, status blocked.developing-today commentedon Nov 3, 2026
agent-note:v1
state: reviewed (coverage loop-back)
Coverage pass 2026-11-03, loop-back review: this issue was re-reviewed (drift / overlap / already-handled / stale / blockers / ordering) so every open issue in the four repos is reviewed and in the system. Verdict: still live; in the system as task 5786 (small_fix, blocked, priority 40) in repo-health-code-pilot. Labels audited and synced. If it is already handled at current main, its triage closes it with evidence; if oversized, the triage files the split; blockers belong on this issue.
Found via: coverage loop-back 2026-11-03