# Independent Review: GPT (updated spec, second pass)

**Date:** 2026-06-11
**Model:** GPT (fresh session, no context)
**Specs reviewed:** RFC 8259 (JSON), TOON v3.3, GCF v2.0 (with i18n, status lifecycle, strict mode headings, inconsistency fixes)
**Verdict:** Picks GCF if forced to choose a non-JSON replacement. Would not replace JSON universally.

## Rankings

| Category | Winner |
|----------|--------|
| Nested/mixed data | JSON (cleanest) / **GCF** (most compact while lossless) |
| JSON round-trip fidelity | **GCF** (ties JSON) |
| Graph at scale (500+) | **GCF** ("by a large margin") |
| Spec rigor | JSON overall / **GCF** among challengers |
| Agent replacement pick | **GCF** (conditional) |

## Key quotes

> "If a non-JSON replacement were mandatory, I would choose GCF."

> "GCF is the most ambitious design and the most useful for agents."

> "GCF has the broadest normative coverage and the most exhaustive rejection checklist."

> "TOON is a competent JSON-to-table compressor that has been stretched toward general-purpose notation. The table is good; the stretch is awkward."

> "JSON is structurally excellent but token-economically terrible."

> "GCF wins by a large margin." (on graph data)

## New bug found

> "The MIME section calls the type 'Registered' and then says registration is pending. That is contradictory."

This is correct. Section 18 says "Registered type" in the header then "IANA registration: pending submission" in the body. Needs fixing.

## Criticisms

Repeated from first review:
- Complexity surface area
- Graph profile too rigid (fixed 5-field schema)
- Sparse table concern
- pack_root not fully specified
- Session/delta lifecycle incomplete

New in this review:
- MIME registered/pending contradiction
- "Stable" is a lifecycle declaration, not evidence of maturity
- Grammar permits graph line forms under generic headers more broadly than prose intends
- "Easiest to implement almost correctly" (backhanded)

## TOON criticisms

- "Optional key folding is dangerous. The same bytes can mean a literal dotted key or a nested path depending on expandPaths."
- "No wire-level version marker. A major grammar change cannot be identified from the document itself."
- "Numeric fidelity is too permissive. It explicitly allows out-of-domain numbers to become strings or approximate numbers."
- "It normalizes -0 to 0."
- "Its optimization collapses as soon as records stop being uniform and primitive-only."

## Verdict nuance

GPT would not replace JSON universally. Picks GCF only if forced. Conditions: pack_root, session recovery, delta application, sparse-table fallback, and graph-profile extensibility must be specified first. Notes "generic GCF is defensible; the stateful graph protocol is not yet complete enough to trust across independent implementations."
