Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Protobuf graph-boundary interoperability

Protobuf is an optional, capability-negotiated encoding of Lazily’s graph boundary algebra. It does not own a second graph runtime. The canonical semantics remain in this specification and its executable conformance traces; canonical JSON remains the diagnostic and fixture representation, and msgpack remains part of the existing interop matrix.

The canonical schema is proto/lazily/graph_boundary/v1/graph_boundary.proto. Its reviewed semantic classification is proto/field-ledger.json.

Ordinary text mutation uses GraphInput.cell_text_splice, bounded to one stable cell with a local UTF-8 offset and expected revision. bootstrap_snapshot is a different oneof variant and is legal only for bootstrap, explicit recovery, or checkpoint compaction. A cache or native-library reload is therefore never promoted into operator mutation authority.

Peers advertise the protobuf codec, the protobuf-graph-boundary-v1 feature, and a compatible protocol range before exchanging these envelopes. The feature is disabled unless both sides advertise it. Unsupported versions, unknown semantic enum values, stale generations or epochs, sequence gaps, and invalid snapshot purposes fail closed at admission. Duplicate sequences are idempotent.

Logical hashes are computed from the existing canonical logical representation, never raw Protobuf bytes. Protobuf map ordering, unknown-field preservation, and implementation-specific serialization make byte equality unsuitable as logical identity.

The six canonical traces in conformance/protobuf/graph_boundary_traces.json pin partial typing, cross-cell bounds, cache fencing, native reload behavior, duplicate/reordered delivery, and the snapshot/mutation variant boundary. The binding parity ledger in proto/field-ledger.json records Rust, Kotlin, and TypeScript as the reproducible-generation pilot. Python, Go, C++, Dart, Zig, and C# remain capability-gated known-uncovered findings until their native generators and reducers replay the same logical traces.