every.channel: sanitized baseline
This commit is contained in:
commit
897e556bea
258 changed files with 74298 additions and 0 deletions
30
evolution/proposals/ECP-0013-stream-catalog-gossip.md
Normal file
30
evolution/proposals/ECP-0013-stream-catalog-gossip.md
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
# ECP-0013: stream catalog gossip for discovery
|
||||
|
||||
Status: Draft
|
||||
|
||||
## Problem
|
||||
|
||||
We need a decentralized way to discover live streams and their MoQ endpoints without a central registry.
|
||||
|
||||
## Constraints
|
||||
|
||||
- Must work over iroh transports (QUIC, relays).
|
||||
- Should be encrypted at the transport layer and signed by endpoint identities.
|
||||
- Lightweight enough to broadcast frequently.
|
||||
|
||||
## Decision
|
||||
|
||||
- Introduce a `StreamCatalogEntry` structure that pairs a `StreamDescriptor` with MoQ transport metadata and optional encryption parameters.
|
||||
- Publish catalog entries over `iroh-gossip` on a well-known topic derived from `every.channel/catalog/v1`.
|
||||
- `ec-node` can optionally announce entries when publishing a stream.
|
||||
|
||||
## Alternatives considered
|
||||
|
||||
- Centralized HTTP registry: rejected due to resilience and governance risks.
|
||||
- Static peer lists only: rejected due to poor discoverability.
|
||||
|
||||
## Rollout / teardown
|
||||
|
||||
- Add catalog types to `ec-core` and gossip helpers to `ec-iroh`.
|
||||
- Add CLI flags to `ec-node` to announce catalog entries.
|
||||
- Defer full catalog sync/merge semantics until initial interoperability is validated.
|
||||
Loading…
Add table
Add a link
Reference in a new issue