Remove Noise protocol references from wiki docs and tests
Delete 8 Noise-specific documentation pages (noise-xx.md,
transport-keys.md, adr-001/003/006, framing-codec.md) and update
~30 remaining wiki pages to reflect QUIC+TLS as the sole transport.
Remove obsolete Noise-based integration tests (auth_service.rs,
mls_group.rs). Code-side Noise removal was done in f334ed3.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -3,9 +3,9 @@
|
||||
**Schema file:** `schemas/envelope.capnp`
|
||||
**File ID:** `@0xe4a7f2c8b1d63509`
|
||||
|
||||
The Envelope is the legacy top-level wire message used in M1 for all quicnprotochat traffic over the Noise channel. Every frame exchanged between peers was serialised as an Envelope, with the Delivery Service routing by `(groupId, msgType)` without inspecting the payload.
|
||||
The Envelope is the legacy top-level wire message used in M1 for all quicnprotochat traffic. Every frame exchanged between peers was serialised as an Envelope, with the Delivery Service routing by `(groupId, msgType)` without inspecting the payload.
|
||||
|
||||
> **Note:** The Envelope is the M1-era framing format. The current M3+ architecture uses Cap'n Proto RPC directly via the [NodeService](node-service-schema.md) interface. The Envelope schema remains in the codebase for backward compatibility and for use in integration tests that exercise the Noise transport path.
|
||||
> **Note:** The Envelope is the M1-era framing format. The current M3+ architecture uses Cap'n Proto RPC directly via the [NodeService](node-service-schema.md) interface. The Envelope schema remains in the codebase for backward compatibility and for use in integration tests.
|
||||
|
||||
---
|
||||
|
||||
@@ -14,13 +14,12 @@ The Envelope is the legacy top-level wire message used in M1 for all quicnprotoc
|
||||
```capnp
|
||||
# envelope.capnp -- top-level wire message for all quicnprotochat traffic.
|
||||
#
|
||||
# Every frame exchanged over the Noise channel is serialised as an Envelope.
|
||||
# Every frame is serialised as an Envelope.
|
||||
# The Delivery Service routes by (groupId, msgType) without inspecting payload.
|
||||
#
|
||||
# Field sizing rationale:
|
||||
# groupId / senderId : 32 bytes -- SHA-256 digest
|
||||
# payload : opaque -- MLS blob or control data; size bounded by
|
||||
# the Noise transport max message size (65535 B)
|
||||
# payload : opaque -- MLS blob or control data
|
||||
# timestampMs : UInt64 -- unix epoch milliseconds; sufficient until year 292M
|
||||
#
|
||||
# ID generated with: capnp id
|
||||
@@ -82,7 +81,7 @@ A 32-byte `Data` field containing the SHA-256 digest of the sender's Ed25519 ide
|
||||
|
||||
### `payload @3 :Data`
|
||||
|
||||
An opaque byte string whose interpretation depends on `msgType`. The payload is bounded by the Noise transport maximum message size of 65,535 bytes (see [Framing Codec](framing-codec.md)).
|
||||
An opaque byte string whose interpretation depends on `msgType`.
|
||||
|
||||
### `timestampMs @4 :UInt64`
|
||||
|
||||
@@ -110,7 +109,7 @@ The `MsgType` enum defines nine message types. Each variant determines how the `
|
||||
|
||||
### Control messages (0-1)
|
||||
|
||||
`ping` and `pong` are keepalive probes with empty payloads. They serve as health checks over long-lived Noise connections.
|
||||
`ping` and `pong` are keepalive probes with empty payloads. They serve as health checks over long-lived connections.
|
||||
|
||||
### Authentication messages (2-4)
|
||||
|
||||
@@ -128,7 +127,7 @@ The `MsgType` enum defines nine message types. Each variant determines how the `
|
||||
|
||||
## Relationship to NodeService
|
||||
|
||||
The Envelope schema was the original M1 wire format, where all communication was multiplexed over a single Noise-encrypted TCP stream. With the transition to QUIC + TLS 1.3 and Cap'n Proto RPC in M3, the Envelope's role has been superseded by the [NodeService interface](node-service-schema.md), which provides typed RPC methods for each operation.
|
||||
The Envelope schema was the original M1 wire format. With the transition to QUIC + TLS 1.3 and Cap'n Proto RPC in M3, the Envelope's role has been superseded by the [NodeService interface](node-service-schema.md), which provides typed RPC methods for each operation.
|
||||
|
||||
The key differences:
|
||||
|
||||
@@ -136,8 +135,8 @@ The key differences:
|
||||
|---|---|---|
|
||||
| Dispatch | Manual, based on `msgType` enum | Automatic, Cap'n Proto RPC method dispatch |
|
||||
| Type safety | Payload is opaque `Data` | Each method has typed parameters and return values |
|
||||
| Transport | Noise\_XX over TCP | QUIC + TLS 1.3 |
|
||||
| Auth | Implicit (Noise handshake authenticates peers) | Explicit `Auth` struct per method call |
|
||||
| Transport | QUIC + TLS 1.3 | QUIC + TLS 1.3 |
|
||||
| Auth | None | Explicit `Auth` struct per method call |
|
||||
|
||||
---
|
||||
|
||||
@@ -147,5 +146,4 @@ The key differences:
|
||||
- [NodeService Schema](node-service-schema.md) -- the current RPC interface that replaced Envelope-based dispatch
|
||||
- [Auth Schema](auth-schema.md) -- standalone Authentication Service interface
|
||||
- [Delivery Schema](delivery-schema.md) -- standalone Delivery Service interface
|
||||
- [Framing Codec](framing-codec.md) -- length-prefixed framing that wraps serialised Envelopes
|
||||
- [ADR-002: Cap'n Proto over MessagePack](../design-rationale/adr-002-capnproto.md) -- why Cap'n Proto was chosen for the wire format
|
||||
|
||||
Reference in New Issue
Block a user