2026-05-15 15:08:20 +02:00
|
|
|
# ADR 0013: Pipe And Pubsub
|
|
|
|
|
|
|
|
|
|
## Status
|
|
|
|
|
|
|
|
|
|
Accepted.
|
|
|
|
|
|
|
|
|
|
## Decision
|
|
|
|
|
|
|
|
|
|
Pipe resources will use authorized Iroh streams for stdin/stdout-style byte
|
|
|
|
|
streams and forwarding. Pubsub will use lossy gossip for wakeups, presence,
|
|
|
|
|
status, and ephemeral notifications.
|
|
|
|
|
|
|
|
|
|
Pubsub is not authoritative storage. Important facts must live in durable
|
|
|
|
|
resources such as kv, document, db, CAS manifests, or future auth logs.
|
2026-05-22 16:45:49 +02:00
|
|
|
The prototype uses the geth control ALPN as an authorization preflight before a
|
|
|
|
|
daemon joins or broadcasts on a deterministic native `iroh-gossip` topic.
|
2026-05-15 15:08:20 +02:00
|
|
|
|
|
|
|
|
## Consequences
|
|
|
|
|
|
|
|
|
|
The modules can support ad hoc workflow and presence without confusing gossip
|
|
|
|
|
with durable state.
|
2026-05-22 16:45:49 +02:00
|
|
|
Gossip delivery is best-effort. Consumers must tolerate missed, duplicated, and
|
|
|
|
|
out-of-order notifications and use durable resources for reconciliation.
|