every.channel/evolution/proposals/ECP-0002-initial-technical-direction.md
2026-02-15 16:17:27 -05:00

1.1 KiB

ECP-0002: initial technical direction

Status: Draft

Problem

We need a coherent starting stack that aligns with the constitution and can evolve without locking the project into fragile dependencies.

Decision

Adopt the following initial technical direction:

  • Rust-first core for protocol and node runtime.
  • Media over QUIC (MoQ) for publish/subscribe media delivery.
  • Deterministic chunking profiles to support de-duplication and availability.
  • iroh as the programmable mesh substrate for peer routing.
  • Client surfaces: Tauri desktop app, CLI, and static web UI.

These are starting points, not immutable commitments. They may be revised by later ECPs.

Alternatives considered

  • HLS/DASH for primary delivery: rejected due to mismatch with low-latency pub/sub goals.
  • Centralized relay only: rejected due to resilience and user sovereignty goals.
  • Non-Rust core: deferred to keep early integration cohesive.

Rollout / teardown

  • Scaffold crates and documentation that align with this direction.
  • Revisit once MoQ implementations and browser support stabilize.