Implementation
The canonical Rust crates: ant-types is the record vocabulary, antares-format is the streaming reader and writer that produced the golden files.
.ant is an open, self-contained container format for exchanging knowledge graphs. A .ant file is a single zstd-compressed stream of newline-delimited JSON records: a manifest first, then schema types, vertices, edges, observations, evidence, beliefs, embedding vectors, and deletion tombstones in any order, then a trailer whose per-kind counts and SHA-256 hash make truncation or tampering detectable in one pass. The format is openly specified under Apache-2.0, versioned MAJOR.MINOR with a same-major compatibility guarantee, and small enough that a conformant reader is about a hundred lines in any language with zstd and SHA-256.
Install the CLI and validate a file — validate enforces every container rule, info prints the manifest and per-kind counts:
cargo install openantares
openantares validate world.ant # exit 0 clean, 65 on a bad fileopenantares info world.ant # manifest, counts, format versionOr read files as a library:
cargo add antares-formatuse antares_format::AntReader;
let mut reader = AntReader::new(std::fs::File::open("world.ant")?)?;while let Some(record) = reader.next_record()? { // records stream; the trailer's SHA-256 and counts are verified as you go}Implementation
The canonical Rust crates: ant-types is the record vocabulary, antares-format is the streaming reader and writer that produced the golden files.
CLI
openantares validates and inspects .ant files, with a
sysexits exit-code contract shared by every reference binding.
Specification & schema
The normative spec and the JSON Schema,
served at its canonical $id URL on this site.
Conformance
Golden files plus runners in Rust, Python, and JavaScript — and the contract a third-party implementation passes to prove itself.
The .ant format is the interchange format of Antares, an enterprise discovery engine; the engine that produces and consumes these files is a separate, private product — see openantares.com. Everything documented on this site is open, Apache-2.0, and depends on none of it: the specification, schema, bindings, and goldens and the canonical Rust implementation stand alone.