Design notes

Scope: these notes are not the standard. The protocol is ../spec/v1.md; the implementation-independent description is ../reference/README.md. What lives here is the measured cost of the C++23 reference implementation’s own choices, and how cost measurement goes wrong here.

Design rationale that constitutes a decision is an ADR (../adr/); a proposed change to the normative surface is an RFC (../spec/rfcs/). These notes sit between: too long for an ADR, too specific to one implementation for the reference suite.

The toctree below is the order of record; this table adds the topic of each area.

Area

Topic

Concurrency

Which serializers exist in the graph runtime and what each costs; the two independent limits on the read path; the cost budget; the remaining serializers; and how measurement goes wrong in this area.

Zero-copy and flatten

Where a copy still lands on the data plane: every materialize call site classified single-link vs multi-link, the 4096-byte decode arena, and the structural copies.

Build configuration

Which knobs exist, what each costs on which target, and which constants are deliberately off-limits — the integrator question the reference suite is not allowed to answer.

Failable allocation and backpressure

Why a peer-provokable allocation must not abort under -fno-exceptions, which seam each covered allocation draws from, how exhaustion surfaces as BACKPRESSURE — and the three sites that still throw today.