Specification

1. Scope and conventions

This document defines the PLXI version 6 file format (.plxi), its transport encoding (.plxi.gz), the record layer carried in its text body, and the behaviour of the operations defined on it: verify, merge, diff and shard. It is written so that a reader or writer can be implemented in any language without reading Rust.

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

Other conventions:

  • Byte offsets are zero-based. "Absolute offset" means an offset from the first byte of the .plxi file. L is the file length in bytes.
  • A range a..b of bytes or offsets starts at a and ends before b: bytes 0..4 are bytes 0, 1, 2 and 3.
  • All multi-byte integers in binary structures are little-endian and unsigned unless stated otherwise.
  • Grammar is written in ABNF [RFC5234]. ABNF quoted strings are case-insensitive, so every case-sensitive literal below is written with %x byte values.
  • "JSON" means RFC 8259 JSON [RFC8259]. "UTF-8" is as defined in RFC 3629 [RFC3629].
  • SHA-256 is as defined in FIPS 180-4 [FIPS180-4]. CRC32C is the Castagnoli CRC, polynomial 0x1EDC6F41 [RFC3720].

© 2020-2026 Cintile Inc. All Rights Reserved.

Anyone may implement this format. Copying or republishing the text of this specification requires permission from Cintile Inc.

Sections