chore: rename project quicnprotochat -> quicproquo (binaries: qpq)

Rename the entire workspace:
- Crate packages: quicnprotochat-{core,proto,server,client,gui,p2p,mobile} -> quicproquo-*
- Binary names: quicnprotochat -> qpq, quicnprotochat-server -> qpq-server,
  quicnprotochat-gui -> qpq-gui
- Default files: *-state.bin -> qpq-state.bin, *-server.toml -> qpq-server.toml,
  *.db -> qpq.db
- Environment variable prefix: QUICNPROTOCHAT_* -> QPQ_*
- App identifier: chat.quicnproto.gui -> chat.quicproquo.gui
- Proto package: quicnprotochat.bench -> quicproquo.bench
- All documentation, Docker, CI, and script references updated

HKDF domain-separation strings and P2P ALPN remain unchanged for
backward compatibility with existing encrypted state and wire protocol.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-01 20:11:51 +01:00
parent 553de3a2b7
commit 853ca4fec0
152 changed files with 4070 additions and 788 deletions

54
schemas/federation.capnp Normal file
View File

@@ -0,0 +1,54 @@
# federation.capnp — Server-to-server federation RPC interface.
#
# Enables multiple quicproquo servers to relay messages across instances
# via mutual TLS over QUIC. Each method carries a FederationAuth struct whose
# `origin` field is validated against the mTLS certificate's SAN.
#
# ID generated with: capnp id
@0xb7e3f4a1c9d82056;
interface FederationService {
# Relay an enqueued payload to a recipient on this server.
relayEnqueue @0 (
recipientKey :Data,
payload :Data,
channelId :Data,
version :UInt16,
auth :FederationAuth
) -> (seq :UInt64);
# Relay a batch enqueue to multiple recipients on this server.
relayBatchEnqueue @1 (
recipientKeys :List(Data),
payload :Data,
channelId :Data,
version :UInt16,
auth :FederationAuth
) -> (seqs :List(UInt64));
# Fetch a KeyPackage for an identity hosted on this server.
proxyFetchKeyPackage @2 (
identityKey :Data,
auth :FederationAuth
) -> (package :Data);
# Fetch a hybrid public key for an identity hosted on this server.
proxyFetchHybridKey @3 (
identityKey :Data,
auth :FederationAuth
) -> (hybridPublicKey :Data);
# Resolve a username to identity key on this server.
proxyResolveUser @4 (
username :Text,
auth :FederationAuth
) -> (identityKey :Data);
# Health / readiness probe for the federation link.
federationHealth @5 () -> (status :Text, serverDomain :Text);
}
struct FederationAuth {
# Origin domain of the requesting server. Validated against mTLS cert SAN.
origin @0 :Text;
}

View File

@@ -1,4 +1,4 @@
# node.capnp — Unified quicnprotochat node RPC interface.
# node.capnp — Unified quicproquo node RPC interface.
#
# Combines Authentication and Delivery operations into a single service.
#