v2.5.0: Keyed-tabular map encoding
Keyed-tabular map encoding (GCF spec v3.5.0).
Highlights
Keyed-tabular map encoding (SPEC §7.2a). A JSON object whose values are all objects forming a tabular set now encodes as a keyed table: the shared value fields are declared once in a header, with one key-prefixed row per member (## [N:]{key,...}). It is canonical by default, works in nested and streaming positions, and reuses generic delta with the map key as the identity, so an object-of-objects that recurs across an agent loop sends only what changed.
Also in this release
- Negative zero canonicalizes to
0for both integer and floating-point values (SPEC §2.3.1). - Canonical-output alignment across all six SDKs: object key ordering, graph header fields, and symbol ordering follow the specification and reference implementation exactly.
Compatibility
Additive. Existing payloads are unaffected. A pre-v3.5 decoder rejects the [N:] keyed-map marker, so decoders should be updated to read v3.5 output.
Quality
Verified by the shared cross-language conformance suite (byte-exact across all six SDKs), a re-encode idempotence check on the generic, graph, and delta profiles, and a differential cross-SDK fuzz in which the tree-sitter grammar parses every wire the SDKs emit.
Spec release: https://github.com/blackwell-systems/gcf/releases/tag/v3.5.0