Contributing to Lattice
Источник:
dev/fera/lattice/CONTRIBUTING.md(read-only; сгенерировано scripts/sync-docs.mjs)
Contributing to Lattice
Section titled “Contributing to Lattice”Lattice is a universal plugin-and-manifest container format (.lttc),
created for Fera but standalone.
The spec is canonical
Section titled “The spec is canonical”SPEC.md is the single source of truth, frozen at Draft v1.
Anything marked frozen changes only through a format_version bump
(see SPEC.md §3.2). There is no second copy — the Fera design corpus’s
context/LATTICE.md is a stub pointing here.
Changing the spec
Section titled “Changing the spec”Spec changes go through an OPEN round:
- Open a round in
OPEN-DECISIONS.md(add a numbered OPEN with the choice and the alternatives on the table). - Discuss; the author records a decision in the OPEN’s Answer section.
- On resolution, fold the decision into SPEC.md (§14) with a one-line
rationale, convert any “proposed/TBD” marker to “frozen (Draft vX,
date)”, and clear the Answer in
OPEN-DECISIONS.md.
Don’t leave stale hedge wording: if a marker says “proposed — frozen at spec v1”, the freeze commit that resolves it converts it in place.
The reference implementation is Rust (workspace: lttc-format /
lttc-reader / lttc-writer / lttc-cli / lttc-build). When code
lands: cargo fmt, cargo clippy, cargo test must pass; golden byte
vectors in lttc-format must keep matching SPEC.md byte-for-byte.
License
Section titled “License”By contributing you agree your contributions are dual-licensed under MIT OR Apache-2.0.