1.1 KiB
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.