Lattice
Источник:
dev/fera/lattice/README.md(read-only; сгенерировано scripts/sync-docs.mjs)
Lattice
Section titled “Lattice”Lattice Container / Lattice Package Format — a universal
plugin-and-manifest container format (.lttc).
Lattice is a standalone project, created for Fera but not Fera-internal: any host may adopt it, with or without native code, under its own trust rules.
A .lttc file is a single image, content-addressed with a Merkle DAG —
the name is literal: the DAG is a lattice. Sign the root once → the
whole container is transitively covered; a translator physically cannot
substitute any content.
What it gives you
Section titled “What it gives you”- Transitive integrity — one Ed25519 signature over the Merkle super-node covers everything: manifest, code, assets, translations.
- Lazy per-block verification — hash each block as it is read, never whole-file up front.
- Content-addressed dedup — identical chunks across plugin versions (or unrelated plugins) are stored once in a shared block store.
- Incremental updates — v1 → v2 is a fetch of changed blocks only.
- mmap-friendly — 4 KiB-aligned blocks; the OS manages residency.
- Fast manifest path — two direct pointers in the superblock; the manifest is read without touching the block table or the DAG.
- Headroom — feature flags, multi-root subtrees, per-subtree signatures, detached signatures, SBOM section, from day one. Old loaders refuse politely on unknown must-understand features.
Status
Section titled “Status”Spec frozen at Draft v1 — see SPEC.md. All first-round open decisions resolved (BLAKE3, FastCDC v2020 chunking, dual signatures, little-endian); all Draft-v1 byte layouts frozen (superblock, block table, FS-metadata nodes, pointer table, signature scheme, canonical manifest RON, FastCDC constants).
Tags: spec-v0.1 = the pre-freeze draft; spec-v1.0 = the frozen
Draft v1. Spec text is tagged spec-vX; GitHub Releases are reserved
for the CLI/crates later.
Next: the reference implementation (Rust) + CLI (pack / verify / inspect / unpack / diff) + build-script integration targeting wasmtime. See CONTRIBUTING.md.
Day-one tooling intent
Section titled “Day-one tooling intent”- Rust build-script support targeting wasmtime out of the box.
- CLI: bundle creation + verification.
- Config duality: RON inside the bundle (Rust-native, round-trips the type system), TOML read from outside (human-edited view).
GitHub team: lttc — repo
access is granted through the team, not individual members.
License
Section titled “License”Dual-licensed under MIT or Apache-2.0, at your option.