This repository contains a documentation-first specification for a compact binary format for structured data.
The format is intended to remain easy to use in schema-less workflows while becoming materially smaller than plain MessagePack when repeated structure, repeated strings, homogeneous arrays, batching, or session reuse is present.
- reduce repeated object-key overhead
- support schema-aware compact encoding when schemas are available
- support learned structure in dynamic mode
- support row-wise, columnar, and stateful compression strategies
- keep deterministic wire behavior within a fixed profile
- replacing every existing JSON or binary protocol
- defining application semantics
- mandating a single transport handshake for every deployment
recurram/
├ README.md
├ LICENSE
├ CONTRIBUTING.md
├ SPEC.md
├ docs/
│ ├ format.md
│ ├ encoding.md
│ └ transport.md
├ versions/
│ └ v1.md
├ examples/
│ ├ README.md
│ ├ basic.json
│ └ schema-example.json
├ diagrams/
│ ├ protocol-flow.md
│ └ encoding-structure.md
├ .editorconfig
├ .gitignore
├ .markdownlint.jsonc
├ .prettierrc.json
└ package.json
SPEC.mdfor the core model and format overview.docs/format.mdfor top-level kinds, object forms, batches, patches, and resets.docs/encoding.mdfor scalar rules, vector codecs, string modes, and compression.docs/transport.mdfor session-scoped state and transport assumptions.versions/v1.mdfor the reference interoperability profile.examples/anddiagrams/for small concrete artifacts.
This repository includes a reference profile in versions/v1.md.
That profile fixes:
- supported kinds
- required reset operations
- default deterministic heuristics
- recommended metadata and codec rules
- constraints for stateful operation
This repository is distributed under CC-BY-4.0. See LICENSE for the full license text.