Glossary

  • file format 6
  • Rust SDK 1.0 preview

Every term the developer docs use, in alphabetical order, with the page that explains it.

appendix
The optional block of binary data between the text section and the footer of a pack. The appendix · Plain words: finder
binary64
The 64-bit floating-point type of IEEE 754, often called a double. Identity and order
binding
A link from an entity to one row of binary data, stated by an embref record. The appendix
change record
A mut record: one put or delete of one record, numbered within a log. Change records · Plain words: change note
Compact section
An appendix section of fixed-size embedding rows, section type 0x0020. The appendix
conformance corpus
A set of small packs, each with the result a correct implementation gives for it. Version 1 has 111 cases. What the SDK does · Plain words: test set
conformance level
A named set of requirements an implementation can claim, proved by its cases in the corpus. Verify
CRC32C
A 32-bit checksum, the Castagnoli CRC. The appendix uses it alongside the digest. Integrity
CSDT container
The binary container format of the appendix, defined by the CSDT container specification, which is not part of the published PLXI specification. PLXI embeds one whole container. The appendix
dedup key
The pair (kind, primary id). Two records with the same dedup key are the same record. Identity and order
diff
The operation that compares two packs and lists the records added, removed and changed, matched by dedup key. Compare packs · Plain words: comparing
digest
The SHA-256 value of a pack's bytes from offset 257 up to the footer, stored in the footer. Integrity · Plain words: seal
embedding row
One fixed-size row of bytes in a Compact section, 320 bytes, holding an embedding: numbers that describe an entity so that similar entities can be found. An embref record binds a row to its entity. The appendix
entity
An ent record: one thing, with an id and a type. Records and kinds · Plain words: card
error kind
The stable name of one failure, from the list on plxi.org/errors/1. Messages are not part of it. Errors and limits
The last 96 bytes of a pack: counts, offsets and the digest, in binary. File layout
format version
A version number in a pack. The file format version is 6, in the header line and the footer. Each record also has its own format version, its v member; absent means 1. Versioning · Plain words: version
generation
The gen number of a change record. One log file holds one generation. Change records
header line
The first 257 bytes of a pack: six text tokens, space fill and a line feed. File layout · Plain words: cover line
identity form
A JSON value written with members sorted by name and no whitespace. The SDK calls it canonical JSON. Identity and order
JSON
A text format for structured data, defined in RFC 8259. Each record is one JSON object. Records and kinds
JSONL
Text with one JSON value on each line. Records and kinds
kind
The k string of a record. It decides how a reader treats the record. Records and kinds
little-endian
A byte order for integers: least significant byte first. File layout
log sequence number (LSN)
The lsn of a change record: its position in its generation. Change records
merge
The operation that makes one pack from several. Also called stacking. Merge packs · Plain words: combining
merge strategy
The rule merge uses when two full entity records with one key differ: higher_salience, latest, union or manual. Merge packs
meta record
A meta record, rank 0: when the pack was made and from what source. Records and kinds · Plain words: cover note
opaque record
A record a reader keeps whole without checking its members: an unknown kind, a reserved kind, or a known kind at a newer version. Records and kinds · Plain words: unknown line
pack
One PLXI file. What a pack is · Plain words: pack
placeholder header
The header line a writer emits before the rest of the file is written, with zero counts and an empty digest. File layout
.plxi.gz
A pack compressed with gzip for shipping. A reader decompresses it in full before reading the appendix. Versioning
primary id
A record's identity within its kind. For an entity it is the id member. Identity and order
provenance record
A prov record: who or what made a statement about a subject, by which method, and when. Records and kinds · Plain words: where-from tag
rank
A kind's position in the order records are written: 0 to 18 for the registered kinds. Records and kinds
record
One line of a pack's body: a JSON object with a string member k. Records and kinds
relation
A rel record: a named link from one entity to another. Records and kinds · Plain words: link
reserved kind
A kind name with a fixed shape and no typed reader in revision 6.0. Readers keep it opaque. Records and kinds
salience
An optional 32-bit float on an entity. The default merge strategy compares it. Merge packs
SDK
Software development kit: the library a program uses to read and write packs. The Rust SDK is the crate plxi-sdk. Reference index · Plain words: library
section
One numbered part of the appendix, with its own CRC32C. The appendix
SHA-256
A public hash function, defined in FIPS 180-4, that turns any bytes into a 32-byte value. Integrity
shard
The operation in specification §8.3 that cuts a smaller pack out of a larger one. With the Rust SDK, a filtered read followed by write takes part of a pack. Take part of a pack
sort key
The triple (rank, kind, primary id). A writer emits records in ascending sort-key order. Identity and order
specification
The document that defines PLXI file format 6, on plxi.org. These docs follow its revision 6.0. Versioning · Plain words: pack rules
stub
An entity record with "stub":true, known by its id only. In a merge it gives way to the full record. Records and kinds · Plain words: placeholder card
tensor
A named array of numbers with a shape, such as 2 × 2. The SDK stores f32 tensors in the appendix and reads them back by name. The appendix
typed record
A record whose kind is registered and whose version the reader supports. Its members are checked. Records and kinds
UTF-8
The standard way of storing Unicode text as bytes (RFC 3629). A pack's body is UTF-8. Records and kinds
verify
The fixed list of ten checks a reader runs on a pack. Opening a pack runs the first eight. Verify · Plain words: seal check

The same ideas without the byte offsets: Plain words

Sections