# DVeProto 2.0 Roadmap

## Цель

DVeProto 2.0 — самостоятельная транспортная платформа (не только «протокол для FlowChat»).

Слои: **Carrier → Wire → Handshake → Interop → DVeNet → Routing → Multipath → DVeVPN → Applications**.

**Wire 1.x LTS заморожен.** Несовместимые изменения — только в 2.x.

---

## Текущий статус: **Beta Development** (Phase 6 — Discovery + Peers)

| | |
|--|--|
| Alpha | **Released** + frozen (`2.0.0-alpha`, 2026-08-02) |
| Beta Entry | **OPENED** — [`BETA_ENTRY.md`](./dveproto-tests/BETA_ENTRY.md) |
| Milestone | `Node A → Discovery → Node B → Handshake → Encrypted channel` |
| Module | [`v2/dvenet.py`](./v2/dvenet.py) |
| Test | `python dveproto-tests/dvenet/test_discovery_channel.py` |

```
Phase 6  Discovery + Peers     ← now
Phase 7  Routing
Phase 8  Multipath
Phase 9  DVeVPN
```

**Not now:** VPN adapter · routing · mesh flood · ACL · relay · multipath · LAN/DHT.

План не меняем. Документы жизненного цикла:

* [`RELEASE_GATE.md`](./dveproto-tests/RELEASE_GATE.md) — можно ли переходить дальше  
* [`EXIT_CRITERIA.md`](./dveproto-tests/EXIT_CRITERIA.md) — контракт Alpha  
* [`POST_ALPHA_PROPOSALS.md`](./dveproto-tests/POST_ALPHA_PROPOSALS.md) — идеи после Alpha (не трогать AC1)  
* [`COMPATIBILITY.md`](./COMPATIBILITY.md) — политика совместимости  
* [`CHANGELOG.md`](./CHANGELOG.md) — история релизов  

Три уровня контроля:

```
Specification  →  что должно быть
Roadmap        →  в каком порядке
Release Gate   →  можно ли дальше
```
---

## Контрольные точки

```
AC1 → Alpha Released → Beta → RC → 2.0 Stable
```

| Milestone | Что входит | Критерий «готово» |
|-----------|------------|-------------------|
| **AC1** | Carrier, Wire, Handshake, tests | Python vectors + live Py↔Py + negative + fuzz |
| **Alpha Released** | + полный Interop | Py/Node/Browser vectors + live Py↔JS |
| **Beta** | DVeNet, Routing, Discovery | Mesh из N узлов, multi-hop |
| **RC** | Multipath, VPN, Performance | Bond/failover + IP tunnel + нагрузка |
| **2.0 Stable** | Production hardening | Scale, Session Migration, plugins |

**DVeNet (Beta) начинается только после Alpha Released.**  
Перед Beta дополнительно: negative + fuzz остаются зелёными (см. ниже).

---

## Alpha — детали

Код: [`v2/`](./v2/) · тесты: [`dveproto-tests/`](./dveproto-tests/)

```bash
python dveproto-tests/run_all.py
```

### Phase 1–4 ✔ — Carrier · Wire · UDP/TCP · Handshake 2.0

**NodeID** = Ed25519 pk · **ConnectionID** = 8 random bytes

### Phase 5 — Interop (AC1 → Alpha Released)

1. Общие `v2/test_vectors.json` — Py / Browser / Node  
2. Кросс-матрица live (не только Py→Py)  
3. Live: Handshake → Finished → Ping → Pong → Close  

```
dveproto-tests/
  handshake/  wire/  carrier/  interop/
  negative/   fuzz/
  routing/    vpn/   performance/   (Beta/RC)
```

### Negative + Fuzz (до Beta — обязательно)

**Negative:** неверная подпись ServerHello · битый Finished · плохой AEAD tag ·
tampered PacketSeq · неизвестная версия/magic · неподдерживаемый suite ·
oversize TCP length. Соединение/разбор **всегда** отвергает без «тихого» успеха.

**Fuzz:** случайные кадры, обрезанные пакеты, huge length, битый handshake,
побайтовый bitflip эталонного frame.

```bash
python dveproto-tests/negative/test_negative.py
python dveproto-tests/fuzz/test_fuzz_wire.py
# DVE_FUZZ_N=2000 DVE_FUZZ_SEED=1 python dveproto-tests/fuzz/test_fuzz_wire.py
```

---

## Beta (только после Alpha Released)

### Phase 6 — DVeNet Mesh
### Phase 7 — Routing
### Phase 8 — Discovery

---

## RC

### Phase 9 — Multipath
### Phase 10 — DVeVPN
### Phase 11 — Performance

---

## Архитектура

```
Applications
    ↓
FlowChat / DVeRPC / File Transfer
    ↓
DVeNet (+ Smart Transport)     ← Beta
    ↓
DVeVPN                         ← RC
    ↓
Handshake 2.0 + Wire 2.0       ← Alpha
    ↓
Carrier: UDP | TCP
    ↓
Internet
```
