Expand description
cli_coverage — typed self-description of sui’s nix-replacement
progress.
Every subcommand sui exposes is declared as a Lisp form:
(defsui-command :name “store sign” :nix-equivalent “nix store sign” :maturity Working :substrate (“store_layout” “hash”) :notes “Materializes ed25519-keyed signatures over NAR hashes”)
The substrate enforces a catalog ↔ source invariant: every
command pattern in sui/src/main.rs must have a catalog entry,
and every catalog entry must point at code that exists. Adding
a stub command requires landing its catalog entry in the
same commit, so the operator-facing coverage matrix stays
truthful.
Operators query “how close is sui to a full nix replacement?”
via sui-spec-inventory --coverage, which walks the catalog,
groups by maturity, and emits a Nord-styled coverage gauge.
The same data drives substrate-wide tickets — each Missing
and each Stub is a queued substrate task.
Structs§
- SuiCommand
- One sui subcommand’s coverage entry vs the equivalent nix surface.
Enums§
- SuiCommand
Maturity - Maturity gate for a sui subcommand — where it stands on the path to full nix replacement.
Constants§
Functions§
- load_
canonical - Load the full canonical CLI coverage catalog.
- maturity_
histogram - Coverage histogram — how many commands sit in each maturity gate. Operators query this for the headline number.
- replacement_
percentage - Headline coverage number:
Working / (everything that isn't SuiNative).