GCF Specification v2.0
·
694 commits
to main
since this release
Specification v2.0
Lossless generic profile rewrite addressing 11 correctness findings. This is the real v1 baseline; prior versions (v1.0-v1.4) are considered pre-stable development.
Breaking changes
- Mandatory
GCF profile=generic/GCF profile=graphheader - Scalar quoting obligation: strings colliding with typed literals must be quoted
- Full JSON string escaping (
\b,\f,\n,\r,\t,\uXXXX, surrogate pairs) - Full JSON number grammar with exponent notation
- Null (
-) vs missing (~) distinction in tabular rows ^attachment marker for nested values in tabular rows- Quoted keys for non-identifier key names
- Expanded per-item form with
=/{}/[N]type markers - Root scalars (
=value), anonymous root arrays (## [N]) ##! summarytrailer replaces## _summary- Duplicate key rejection, normative indentation, count validation
Conformance
- 133 fixtures across 10 categories
- Go reference implementation passes all 133 fixtures
- 20M property-based round-trips with zero failures
- 7.9M fuzz executions with zero crashes
Status: Draft (Stable after cross-language conformance matrix passes)