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,6 +1,6 @@
# Architecture Overview
quicproquo is an end-to-end encrypted group messaging system built in Rust.
quicprochat is an end-to-end encrypted group messaging system built in Rust.
This page describes the high-level architecture: the services that compose the
system, the dual-key cryptographic model, and how the pieces fit together.
@@ -27,11 +27,11 @@ connection lifecycle, and push event delivery.
## Identity Key Model
Each quicproquo client holds a single Ed25519 signing keypair that serves
Each quicprochat client holds a single Ed25519 signing keypair that serves
as its long-term identity:
```text
quicproquo Key Model
quicprochat Key Model
+--------------------------------------------------+
| |
| Ed25519 signing keypair (MLS identity) |
@@ -71,11 +71,11 @@ For details on the cryptographic properties, see
| (SDK) | | (SDK) |
+--------+---------+ +--------+---------+
| |
| QUIC + TLS 1.3 (quinn/rustls) ALPN: "qpq" |
| QUIC + TLS 1.3 (quinn/rustls) ALPN: "qpc" |
| |
v v
+------------------------------------------------------------------------+
| quicproquo-server (port 5001) |
| quicprochat-server (port 5001) |
| |
| +---------------------------+ +--------------------------------+ |
| | Authentication Service | | Delivery Service | |
@@ -106,7 +106,7 @@ For details on the cryptographic properties, see
2. KeyPackages are single-use (RFC 9420 requirement). The AS atomically removes
a KeyPackage on fetch to enforce this invariant.
3. QUIC + TLS 1.3 is the sole transport layer. The ALPN identifier is `qpq`.
3. QUIC + TLS 1.3 is the sole transport layer. The ALPN identifier is `qpc`.
4. Push events (new messages, typing, presence, membership changes) are
delivered server-to-client on QUIC uni-streams using a separate push frame
@@ -142,15 +142,15 @@ The implementation is split across nine workspace crates:
| Crate | Role |
|------------------------------|-------------------------------------------------------------------|
| `quicproquo-core` | Crypto primitives, MLS state machine, hybrid KEM |
| `quicproquo-proto` | Cap'n Proto legacy types + Protobuf (prost) v2 generated types |
| `quicproquo-kt` | Key transparency (append-only log, revocation) |
| `quicproquo-plugin-api` | `#![no_std]` C-ABI plugin interface |
| `quicproquo-rpc` | QUIC RPC framework: framing, server dispatch, client, middleware |
| `quicproquo-sdk` | Client SDK: `QpqClient`, event broadcast, `ConversationStore` |
| `quicproquo-server` | RPC server + domain services |
| `quicproquo-client` | CLI/TUI client binary |
| `quicproquo-p2p` | iroh P2P endpoint publish/resolve (feature-flagged) |
| `quicprochat-core` | Crypto primitives, MLS state machine, hybrid KEM |
| `quicprochat-proto` | Cap'n Proto legacy types + Protobuf (prost) v2 generated types |
| `quicprochat-kt` | Key transparency (append-only log, revocation) |
| `quicprochat-plugin-api` | `#![no_std]` C-ABI plugin interface |
| `quicprochat-rpc` | QUIC RPC framework: framing, server dispatch, client, middleware |
| `quicprochat-sdk` | Client SDK: `QpqClient`, event broadcast, `ConversationStore` |
| `quicprochat-server` | RPC server + domain services |
| `quicprochat-client` | CLI/TUI client binary |
| `quicprochat-p2p` | iroh P2P endpoint publish/resolve (feature-flagged) |
See [Crate Responsibilities](crate-responsibilities.md) for a full breakdown
and dependency diagram.