Update DESIGN.md roadmap: Phase 1 done, add WebSocket as remaining item
Phase 1 updated with all completed items (16 done, 1 remaining). WebSocket real-time push added as the last Phase 1 task. Phase 2 cleaned up (removed items already done in Phase 1). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
36
DESIGN.md
36
DESIGN.md
@@ -408,24 +408,30 @@ warzone.wasm # browser client (via wasm-pack)
|
||||
- [x] File upload
|
||||
|
||||
### Phase 1 — Identity & Crypto Foundation (Rust)
|
||||
- [ ] Rust project scaffold (cargo workspace: server, client, protocol, mule)
|
||||
- [ ] Seed-based identity (Ed25519 + X25519 from 32-byte seed)
|
||||
- [ ] BIP39 mnemonic generation and recovery
|
||||
- [ ] Seed encryption at rest (Argon2 + ChaCha20-Poly1305)
|
||||
- [ ] Pre-key bundle generation and storage
|
||||
- [ ] X3DH key exchange implementation
|
||||
- [ ] Double Ratchet for 1:1 messaging
|
||||
- [ ] Message signing (Ed25519)
|
||||
- [ ] Basic server: accept connections, store-and-forward
|
||||
- [x] Rust project scaffold (cargo workspace: server, client, protocol, mule, wasm)
|
||||
- [x] Seed-based identity (Ed25519 + X25519 from 32-byte seed)
|
||||
- [x] BIP39 mnemonic generation and recovery
|
||||
- [x] Seed encryption at rest (Argon2 + ChaCha20-Poly1305, unlock once per session)
|
||||
- [x] Pre-key bundle generation and storage
|
||||
- [x] X3DH key exchange implementation
|
||||
- [x] Double Ratchet for 1:1 messaging (forward secrecy, out-of-order)
|
||||
- [x] Basic server: axum, sled DB, store-and-forward
|
||||
- [x] CLI TUI client (ratatui, real-time chat)
|
||||
- [x] Web client with WASM (same crypto as CLI, full interop)
|
||||
- [x] Group chat (server fan-out, per-member encryption)
|
||||
- [x] Aliases with TTL, recovery keys, reclamation
|
||||
- [x] Server auth (challenge-response, bearer tokens)
|
||||
- [x] OTP key replenishment
|
||||
- [x] Fetch-and-delete delivery
|
||||
- [x] 17 protocol tests
|
||||
- [ ] **WebSocket real-time push** (replace HTTP polling with instant delivery)
|
||||
|
||||
### Phase 2 — Core Messaging
|
||||
- [ ] 1:1 E2E encrypted messaging (full Signal protocol)
|
||||
- [ ] Offline message queuing with TTL
|
||||
- [ ] Multi-device support (device list signed by identity key)
|
||||
- [ ] Sender Keys for group encryption
|
||||
- [ ] Group management (create, invite, leave, kick)
|
||||
- [ ] File transfer (chunked, encrypted)
|
||||
- [ ] Delivery receipts (sent, delivered, read)
|
||||
- [ ] File transfer (chunked, encrypted)
|
||||
- [ ] Multi-device support (device list signed by identity key)
|
||||
- [ ] Sender Keys for group encryption (replace per-member fan-out)
|
||||
- [ ] Group management (kick, leave, key rotation)
|
||||
- [ ] Message ordering and deduplication
|
||||
- [ ] TUI client (ratatui)
|
||||
- [ ] Web client (WASM)
|
||||
|
||||
Reference in New Issue
Block a user