LRFS conformance

LRFS v1.0 · Published 2026-04-22

This chapter specifies what a third-party implementation must do to claim conformance with LLM-Ready File Specification v1. Three conformance levels (L1–L3) are defined; an implementation MAY claim the highest level it fully supports.

1. Conformance levels

LRFS defines three levels of conformance, each building on the previous:

An implementation MAY claim multiple levels. For example, an implementation might claim "L2 writer and L3 reader" — it can write unsigned payloads but can read and verify signed payloads.

2. L1 requirements (Read)

An L1-conformant reader MUST:

An L1 reader SHOULD report parse errors distinctly from signature errors. An L1 reader MAY cache parsed layers in memory.

3. L2 requirements (Write)

An L2-conformant writer MUST:

An L2 writer SHOULD preserve any existing XMP packet content (e.g., Dublin Core properties like dc:creator, rights properties like xmpRights:*) when adding LRFS properties. Overwriting existing metadata is permitted but not recommended.

4. L3 requirements (Signed)

An L3-conformant implementation MUST support both reading and writing signed layers:

L3 readers SHOULD support key caching and TTL management for ed25519 public keys fetched from URLs. L3 writers SHOULD use secure key management (HSM, KMS, secure enclaves) for ed25519 private keys.

5. Test vectors

A public conformance test suite lives at /spec/test-vectors/ on this site. Each vector is a self-contained JSON file with inputs and expected fields that any LRFS implementation (in any language) can validate against. The machine-readable index at /spec/test-vectors/index.json enumerates every vector with its category and spec section. The test suite covers:

Implementations claim conformance by running the test suite and publishing their results (PASS/FAIL per test).

6. Claiming conformance

An implementation MAY state one of the following:

Conformance is self-reported; there is no central certification body. Third parties can challenge a conformance claim by running the official test suite against the implementation.

Implementations SHOULD document:

Failure-mode conformance

Beyond the canonicalization, signing, and file-checksum vectors, LRFS v1.0 publishes failure-mode test vectors that a conformant reader MUST handle correctly. A reader that passes every happy-path vector may still crash on malformed input or silently accept tampered files — failure-mode coverage is the distinction between a parser and a conformant verifier.

The published failure-mode categories cover:

Each fixture is a self-contained JSON file with inputs, an expected_outcome (one of reject, ignore, or parse_error), and a reason field that explains the spec requirement. Implementations self-report conformance by running these fixtures against their reader; see /spec/implementations/ for the published implementations directory.

7. Related chapters