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.
I noticed Folo uses
@toon-format/toonto 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:
When the LLM generates individual feed objects with these titles, TOON's decoder crashes:
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:
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
Data integrity
GCF is verified lossless across 43 billion+ round-trips in 5 formats and 6 languages. Zero failures.
Drop-in replacement
Zero runtime dependencies. MIT licensed. TypeScript SDK:
npm install @blackwell-systems/gcfAdoption
Used by OmniRoute (6.1K stars), NetClaw (556 stars), and others.