Engineering Standards¶
Canonical doc: engineering-standards.md in li-langverse/roadmap.
Do not edit ecosystem policy here — open a PR to the roadmap repo (human merge for governance paths).
Strict by default (lic — binding here)¶
Canonical in this workspace: strict-by-default.md
Proof, security, and performance gates are always on at maximum for every build/check. There is no optional provability — users may only relax via explicit li.toml [gates] or documented CLI flags on lic build (--no-lean-verify, --allow-open-vc). Silence or omission never weakens a gate.
The three engineering gates below remain strict; strict-by-default is how they apply by default.
Composability gate (lic — binding here)¶
Canonical in this workspace: composable-by-default.md
New or materially changed packages, std/** slices, and long-lived tools (httpd, bench runners, lip/lit surfaces) must:
| Check | Evidence |
|---|---|
| Library API | src/lib.li exports lifecycle verbs (start/stop/ready or equivalent) |
| Thin entry | src/main.li is demo-only when present — not the sole surface |
| Import test | li-tests/composable/ or package li-tests/ imports lib, not exec-only binary smoke |
| Contracts | Same strict-by-default rules on every exported proc |