Skip to content

Consider GCF as an alternative to TOON for AI-generated feed data #5026

Description

@blackwell-systems

I noticed Folo uses @toon-format/toon to decode AI-generated feed selection data in the onboarding and new-user-guide flows. There's a data integrity issue worth knowing about, plus a format alternative that may work better for this use case.

TOON crashes on RSS feed titles

TOON's decoder misparses string values containing bracket-colon patterns as inline array headers. RSS feed titles commonly use this pattern:

[Breaking]: Fed raises rates by 0.25%
[Update]: iOS 20 beta 3 released  
[Alert]: Earthquake M6.2 in Japan
[Podcast]: The AI Daily Brief - Episode 247

When the LLM generates individual feed objects with these titles, TOON's decoder crashes:

TOON DECODE ERROR: "[Breaking]: Fed raises rates by 0.25%"
  Invalid array length: "Breaking" (expected non-negative integer with no leading zeros)

Tested on 15 realistic feed records: 14 of 15 crash TOON's decoder. Only the one feed without brackets in the title survives. GCF: zero failures.

Your current code handles this because the LLM produces TOON's tabular format (arrays of objects) which quotes values. But if the model ever returns a single feed object or a differently shaped response, the decoder will crash. This is a latent bug.

TOON corruption details: GCF vs TOON

LLM generation reliability

Your flow depends on the LLM producing valid decoder-parseable output. Across 28 generation runs:

Model GCF validity TOON validity JSON validity
Claude Opus 4.6 5/5 0/5 5/5
Claude Sonnet 4.6 5/5 2-3/5 5/5
GPT-5.5 4-5/5 1-2/5 5/5
Gemini 2.5 Pro 5/5 1/5 5/5

TOON's official decoder rejects LLM-generated output on 7 of 9 models. GCF is producible by every frontier model.

Full generation data: GCF benchmarks

Token savings on feed data

Dataset JSON TOON GCF TOON vs JSON GCF vs JSON
15 feeds 521 382 373 26.7% 28.4%
100 feeds 3,472 2,502 2,408 27.9% 30.6%

Data integrity

GCF is verified lossless across 43 billion+ round-trips in 5 formats and 6 languages. Zero failures.

Drop-in replacement

// Before
import { decode } from "@toon-format/toon"
const feeds = decode(output) as FeedToSelect[]

// After  
import { decodeGeneric } from "@blackwell-systems/gcf"
const feeds = decodeGeneric(output) as FeedToSelect[]

Zero runtime dependencies. MIT licensed. TypeScript SDK: npm install @blackwell-systems/gcf

Adoption

Used by OmniRoute (6.1K stars), NetClaw (556 stars), and others.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions