Skip to main content

Module v2

Module v2 

Source
Expand description

Concord v2 (the upstream CORD specs — github.com/concord-protocol/concord).

Vector’s second-generation community protocol, carried ALONGSIDE v1 (the sibling community:: modules) for a migration window. v2 keeps v1’s control plane engine verbatim — the edition hash, fold, roster, and authority algebra are shared by import, not copied — and replaces the envelope (CORD-01 Private Streams: group-key-signed kind-1059 wraps addressed by authors), the owner anchor (a self-certifying community_id), the invite system (CORD-05), and adds the Guestbook plane (CORD-02 §5).

Nothing in here touches v1 state: a Community is one protocol or the other (protocol discriminator), and the two stacks share only pure logic.

Frozen wire constants live in two places: the derivation labels in [derive], and the kind registry below (CORD-02 Appendix B). A retired number is burned forever, never reused.

Modules§

chat
CORD-03 Chat Plane — a Channel’s messages over the v2 stream envelope.
community
The v2 in-memory community — the service/DB working type.
control
The v2 Control Plane (CORD-04 over CORD-01/02).
derive
Concord v2 key derivations — CORD-02 Appendix A. FROZEN.
dissolution
Dissolution — CORD-02 §9.
guestbook
CORD-02 §5 Guestbook Plane — membership motion, coalesced flat.
inbound
v2 inbound bridge — turns opened v2 events into the protocol-agnostic InboundEventHandler callbacks the rest of Vector (and the SDK’s on_message) already consumes. The handler is the seam: v1 and v2 both feed it, so a bot receives v2 messages with no SDK change.
invite
CORD-05 Invites — how members are handed the keys that make them members.
kind
Inner rumor kinds (CORD-02 Appendix B). The outer event is always a wrap (stream::KIND_WRAP / stream::KIND_WRAP_EPHEMERAL); these ride inside.
list
The Community List — CORD-02 §8 (kind 13302).
realtime
v2 realtime — the authors-based live subscription + dispatch.
rekey
Concord v2 rekeys (CORD-06) — the per-recipient key-delivery atom + the 3303 event that carries a rotation.
roles
CORD-04 Roles: v2 wire content for the Role (vsk 1), Grant (vsk 3), and Banlist (vsk 4) control entities.
service
Concord v2 service — the stateful orchestration binding the pure v2 modules to storage + transport. Free functions, SessionGuard-gated at every write (a swap_session can land at any await — see CLAUDE.md), mirroring the v1 service’s discipline.
stream
CORD-01 Private Streams — the Concord v2 envelope.
streamauth
Concord v2 stream-key NIP-42 authentication.
vsk
Control-plane vsk sub-kinds (CORD-02 Appendix B). Identical numbering to v1 (community::roster) — that is deliberate, the registry is shared. 7 is retired upstream (the v1 owner attestation, obsoleted by the self-certifying community id); 11 is claimed by Vector for the v1-side migration pointer and never appears on the v2 wire.