chore: rename quicproquo → quicprochat in docs, Docker, CI, and packaging

Rename all project references from quicproquo/qpq to quicprochat/qpc
across documentation, Docker configuration, CI workflows, packaging
scripts, operational configs, and build tooling.

- Docker: crate paths, binary names, user/group, data dirs, env vars
- CI: workflow crate references, binary names, artifact names
- Docs: all markdown files under docs/, SDK READMEs, book.toml
- Packaging: OpenWrt Makefile, init script, UCI config (file renames)
- Scripts: justfile, dev-shell, screenshot, cross-compile, ai_team
- Operations: Prometheus config, alert rules, Grafana dashboard
- Config: .env.example (QPQ_* → QPC_*), CODEOWNERS paths
- Top-level: README, CONTRIBUTING, ROADMAP, CLAUDE.md
This commit is contained in:
2026-03-07 18:46:43 +01:00
parent a710037dde
commit 2e081ead8e
179 changed files with 1645 additions and 1645 deletions

View File

@@ -1,7 +1,7 @@
# Auth Schema
**Proto file:** `proto/qpq/v1/auth.proto`
**Package:** `qpq.v1`
**Proto file:** `proto/qpc/v1/auth.proto`
**Package:** `qpc.v1`
**Method IDs:** 100-103
The auth proto defines the OPAQUE asymmetric password-authenticated key exchange (PAKE) messages used for user registration and login. OPAQUE never transmits the password to the server; the server learns only a random value derived from the password.
@@ -16,7 +16,7 @@ See [Authentication Service Internals](../internals/authentication-service.md) f
```protobuf
syntax = "proto3";
package qpq.v1;
package qpc.v1;
// OPAQUE registration + login (4 methods).
// Method IDs: 100-103.

View File

@@ -1,7 +1,7 @@
# Delivery and Keys Schema
**Proto files:** `proto/qpq/v1/delivery.proto`, `proto/qpq/v1/keys.proto`
**Package:** `qpq.v1`
**Proto files:** `proto/qpc/v1/delivery.proto`, `proto/qpc/v1/keys.proto`
**Package:** `qpc.v1`
**Method IDs:** 200-205 (delivery), 300-304 (key packages and hybrid keys), 510-520 (key transparency)
This page documents the Protobuf message definitions for the delivery service (store-and-forward message relay) and the key management service (MLS KeyPackages, hybrid post-quantum keys, and key transparency).
@@ -16,7 +16,7 @@ The delivery service is a store-and-forward relay. It is intentionally MLS-unawa
```protobuf
syntax = "proto3";
package qpq.v1;
package qpc.v1;
// Delivery service: enqueue, fetch, peek, ack, batch (6 methods).
// Method IDs: 200-205.
@@ -221,7 +221,7 @@ Key management for MLS KeyPackages, hybrid post-quantum keys, and key transparen
```protobuf
syntax = "proto3";
package qpq.v1;
package qpc.v1;
// Key package + hybrid key CRUD (5 methods).
// Method IDs: 300-304.

View File

@@ -2,7 +2,7 @@
The v2 RPC protocol dispatches requests by a `u16` method ID encoded in the first two bytes of every request frame. This page is the authoritative reference for all 44 method IDs and their corresponding Protobuf message types.
Method IDs are defined in `crates/quicproquo-proto/src/lib.rs` (the `method_ids` module). Proto definitions live in `proto/qpq/v1/`.
Method IDs are defined in `crates/quicprochat-proto/src/lib.rs` (the `method_ids` module). Proto definitions live in `proto/qpc/v1/`.
---
@@ -190,7 +190,7 @@ Push events are sent by the server on QUIC uni-streams using the push frame form
| 1002 | `PUSH_PRESENCE` | `PresenceUpdate` |
| 1003 | `PUSH_MEMBERSHIP` | `GroupMembershipChange` |
Push payload messages are defined in `proto/qpq/v1/push.proto` and wrapped in a `PushEvent` oneof. See [RPC Reference](node-service-schema.md) for the full proto listing.
Push payload messages are defined in `proto/qpc/v1/push.proto` and wrapped in a `PushEvent` oneof. See [RPC Reference](node-service-schema.md) for the full proto listing.
---

View File

@@ -1,12 +1,12 @@
# RPC Reference
**Proto package:** `qpq.v1`
**Proto files:** 14 files in `proto/qpq/v1/`
**Proto package:** `qpc.v1`
**Proto files:** 14 files in `proto/qpc/v1/`
**Total methods:** 44
This page is the complete Protobuf definition reference for all 14 proto files in the v2 RPC protocol. For transport framing, see [Wire Format Overview](overview.md). For method ID assignments, see [Method ID Reference](envelope-schema.md).
Generated Rust types live in `crates/quicproquo-proto/src/` (via prost).
Generated Rust types live in `crates/quicprochat-proto/src/` (via prost).
---
@@ -16,7 +16,7 @@ OPAQUE asymmetric PAKE for registration and login. See [Auth Schema](auth-schema
```protobuf
syntax = "proto3";
package qpq.v1;
package qpc.v1;
message OpaqueRegisterStartRequest {
string username = 1;
@@ -65,7 +65,7 @@ Shared types and account deletion.
```protobuf
syntax = "proto3";
package qpq.v1;
package qpc.v1;
// Auth context for federation and internal use.
// In v2, session authentication is carried at the QUIC connection level
@@ -93,7 +93,7 @@ Store-and-forward message relay. See [Delivery Schema](delivery-schema.md) for f
```protobuf
syntax = "proto3";
package qpq.v1;
package qpc.v1;
message Envelope {
uint64 seq = 1;
@@ -178,7 +178,7 @@ MLS KeyPackages, hybrid PQ keys, and key transparency. See [Delivery Schema](del
```protobuf
syntax = "proto3";
package qpq.v1;
package qpc.v1;
message UploadKeyPackageRequest {
bytes identity_key = 1;
@@ -266,7 +266,7 @@ message LogEntry {
```protobuf
syntax = "proto3";
package qpq.v1;
package qpc.v1;
// Channel create (1 method).
// Method ID: 400.
@@ -291,7 +291,7 @@ Group management: member removal, metadata, member listing, and key rotation.
```protobuf
syntax = "proto3";
package qpq.v1;
package qpc.v1;
// Group management (4 methods).
// Method IDs: 410-413.
@@ -359,7 +359,7 @@ Content moderation: encrypted reports, bans, and audit lists.
```protobuf
syntax = "proto3";
package qpq.v1;
package qpc.v1;
// Moderation service: report, ban, unban, list reports, list banned.
// Method IDs: 420-424.
@@ -432,7 +432,7 @@ Forward and reverse user resolution.
```protobuf
syntax = "proto3";
package qpq.v1;
package qpc.v1;
// User resolve + identity (2 methods).
// Method IDs: 500-501.
@@ -465,7 +465,7 @@ Content-addressed binary object storage with chunked upload and ranged download.
```protobuf
syntax = "proto3";
package qpq.v1;
package qpc.v1;
// Blob upload/download (2 methods).
// Method IDs: 600-601.
@@ -505,7 +505,7 @@ Multi-device management and push notification token registration.
```protobuf
syntax = "proto3";
package qpq.v1;
package qpc.v1;
// Device register/list/revoke (3 methods).
// Method IDs: 700-702.
@@ -568,7 +568,7 @@ Encrypted account recovery bundle storage. The server stores an opaque blob inde
```protobuf
syntax = "proto3";
package qpq.v1;
package qpc.v1;
// Recovery service.
// Method IDs: 750-752.
@@ -608,7 +608,7 @@ iroh P2P node address exchange and server health probe.
```protobuf
syntax = "proto3";
package qpq.v1;
package qpc.v1;
// P2P endpoint publish/resolve + health (3 methods).
// Method IDs: 800-802.
@@ -649,7 +649,7 @@ Cross-server relay and proxy operations. All federation methods include a `Feder
```protobuf
syntax = "proto3";
package qpq.v1;
package qpc.v1;
// Federation relay + proxy (6 methods).
// Method IDs: 900-905.
@@ -725,7 +725,7 @@ Server-push event types sent on QUIC uni-streams using the push frame format.
```protobuf
syntax = "proto3";
package qpq.v1;
package qpc.v1;
// Server-push event types (sent on QUIC uni-streams).
// Event type IDs: 1000+.

View File

@@ -1,6 +1,6 @@
# Wire Format Overview
This section documents the v2 serialisation pipeline that transforms application-level data structures into bytes on the wire. Every byte exchanged between quicproquo clients and the server passes through this pipeline, so understanding it is prerequisite to reading the protocol deep dives or the server and client source code.
This section documents the v2 serialisation pipeline that transforms application-level data structures into bytes on the wire. Every byte exchanged between quicprochat clients and the server passes through this pipeline, so understanding it is prerequisite to reading the protocol deep dives or the server and client source code.
---
@@ -27,7 +27,7 @@ Data flows through three stages on the send path. The receive path reverses the
### Stage 1: Application creates a message or RPC call
At the application layer, the client or server constructs a typed Protobuf message defined in `proto/qpq/v1/*.proto`. Each RPC method has a corresponding request and response message type.
At the application layer, the client or server constructs a typed Protobuf message defined in `proto/qpc/v1/*.proto`. Each RPC method has a corresponding request and response message type.
- **Auth methods** (IDs 100-103): see [Auth Schema](auth-schema.md)
- **Delivery methods** (IDs 200-205): see [Delivery Schema](delivery-schema.md)
@@ -104,7 +104,7 @@ Header size: **6 bytes**.
| Maximum payload size | 4 MiB (4,194,304 bytes) |
| Payloads exceeding this limit | rejected with `PayloadTooLarge` error |
Source: `crates/quicproquo-rpc/src/framing.rs`.
Source: `crates/quicprochat-rpc/src/framing.rs`.
### Stage 3: Transport encryption
@@ -138,7 +138,7 @@ This design allows unlimited concurrent RPCs with no head-of-line blocking.
| Parameter | Value |
|-----------|-------|
| Protocol | QUIC (RFC 9000) |
| ALPN | `"qpq"` |
| ALPN | `"qpc"` |
| Default port | 5001 |
| TLS version | 1.3 only |
| Certificate | Server presents a TLS certificate; clients verify against a CA cert |
@@ -147,7 +147,7 @@ This design allows unlimited concurrent RPCs with no head-of-line blocking.
## Schema index
Protobuf schemas are defined in `proto/qpq/v1/` and documented on dedicated pages:
Protobuf schemas are defined in `proto/qpc/v1/` and documented on dedicated pages:
| Proto File | Documentation | Purpose |
|------------|---------------|---------|
@@ -166,7 +166,7 @@ Protobuf schemas are defined in `proto/qpq/v1/` and documented on dedicated page
| `push.proto` | [RPC Reference](node-service-schema.md) | Push event types (IDs 1000+) |
| `common.proto` | [RPC Reference](node-service-schema.md) | Auth context, account deletion (ID 950) |
Method ID assignment: `crates/quicproquo-proto/src/lib.rs` (`method_ids` module).
Method ID assignment: `crates/quicprochat-proto/src/lib.rs` (`method_ids` module).
---