30 lines
1.1 KiB
Markdown
30 lines
1.1 KiB
Markdown
# 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.
|