tson.io

Revision 33Current working draft·All revisions

Specification

The TSON specification, split into two parts, plus room for companion specifications developed alongside it.

These documents describe the specification text. Implementations of TSON (parsers, encoders, libraries) may be licensed however you choose; the specification's license applies to the written text, not to code that implements it.

Spot an error, or have a comment on the specification? Open an issue on GitHub.

TSON Specification

  • TSON Part 1: Text Data Format
    Draft 2026·Working Draft·view raw ↗

    The notation and reference encoding of the TSON schema system: the lexer, structural grammar, absent sentinel, augmentation syntax (annotations, type annotations, directives), and base type resolution — everything needed to losslessly read and write schemaless TSON data.

  • TSON Part 2: Type System and Schema
    Draft 2026·Working Draft·view raw ↗

    The centre of the TSON series: the schema grammar, the type system and its operations, the schema chain and its resolution model, schema compilation and resolver output, the text encoding rules, and the operations of the schema, meta, and import directives.

Change Log

What was accepted into this revision, and the inputs it was adjudicated from. Each entry records a disposition, so a reader can trace a change back to the feedback or change report that prompted it.

  • TSON 2026 Revision 33 — Change Log
    Against TSON 2026 Revision 32 (Working Draft)·view raw ↗

    Adjudicated and executed 2026-08-25 — Part 1, Part 2, all six companion artifacts, and the Developer Guide updated; hash pins remain placeholders until publication

    • SPEC-FEEDBACK.md (59 entries, against Revision 32)
    • tson-cr-structure-templates.md (CR-structure-templates, Proposed against Revision 32)
    • Revised companion artifacts: meta-kernel.tn, meta.tn, core.tn and resolved fixtures

Companion Specifications

  • TSON Developer Guide
    Draft 2026·Working Draft·view raw ↗

    Rationale, extended examples, and implementation guidance for the TSON specification series. Nothing in this guide is normative; where it appears to disagree with [TSON-DATA] or [TSON-SCHEMA], the specifications govern.

Schema Source Files

The normative TSON schema source files in .tn format.

Resolved Fixtures

Non-normative resolver output for the schema source files above. Parse the source, run the resolver, canonicalise, and compare against these fixtures.

Reports

Non-normative working documents written against this revision. They record findings and design directions under consideration, not committed specification.

Change Reports

Proposals for specific edits to the specification, each argued in full and carrying a decision the revision editor can accept or decline.

  • TSON Change Report Addendum: Open-Form Representation — Two Endpoints
    Proposed·Against TSON 2026 Revision 33 (Working Draft), Part 2 §5.3, §5.10, §8.1–§8.2, §12.1; CR-structure-templates (adopted in Revision 33)·view raw ↗

    Finds that the change report's inability to represent a parameter inside a collection-valued slot is a symptom rather than a missing feature: a quotation typed slot-by-slot is incomplete wherever the vocabulary it quotes recurses. Sets out the two coherent completions — grow the template vocabulary, or drop typed open representation and bind once at materialisation — and recommends the second.

Analysis Reports

Studies and reviews: gap analyses mapping other schema systems onto TSON, feedback gathered from building the first implementation, and editorial reviews measuring those inputs against the revision — the research a change report argues from.

  • Review Inputs Measured Against Revision 33 — Summary and Revision 34 Recommendations
    Editor's working document — non-normative·view raw ↗

    Seven review documents prepared against revision 32 arrived after revision 33 was executed. This measures each against what revision 33 actually contains — separating the asks it already answers from the remainder — and assembles what is left into a recommended scope and sequence for revision 34. The implementation feedback register comes out fully subsumed.