numi CLI
The open numi command line, how it differs from the private engine build, and the status of every command.
The open build runs from a source checkout. It validates, scaffolds and verifies. It does not run an autonomous engineer.
numi is a command line over public code. Installing it installs no engine: running changes, exporting evidence and reaching a runtime belong to the private Numinance engine.
Three different objects
People conflate these. Keep them apart.
| Object | What it is | License and availability |
|---|---|---|
The open numi CLI | cli/numi in the numinance-spec repository. A thin main over the public Go package sdk/go/cli. | Apache-2.0, buildable today from source |
| The numinance-spec repository | Protocol .proto files, JSON Schemas, SDKs, sample and official plugins, conformance kits, the evidence verifier and the open CLI | Apache-2.0, public |
| The Numinance engine (proprietary runtime) | Orchestration, the profile resolver, the policy kernel, the autonomous engineer | Private and not generally available |
The engine build of numi is a fourth thing worth naming: it runs the same sdk/go/cli code and injects the profile resolver that needs the private context.
Open build versus engine build
Open build (cli/numi) | Engine build | |
|---|---|---|
validate | Schema-validates every kind document of the org, repo and component trees, then exits 7 with profile resolution needs the Numinance engine build. A schema pass can never be mistaken for a full one. | Reads a pinned commit, resolves the profile, prints the digest and the provenance of each field. Exit 7 there means a dependency was unavailable. |
validate --files | Exits 0 after the schema and loader check only. No resolver, no floors. | Not available; exits 2. |
--rev | Any non-empty value is a usage error (exit 2). The open build reads the working tree. | Defaults to HEAD; reads a private copy of the repository, never the working tree. |
init | Available. Needs no resolver. | Available. |
evidence verify | Available; a wrapper over the public evidenceverify package. | Runs its own verify until a later release makes it delegate. |
evidence export | Not in the build (unknown subcommand, exit 2). | The engine exports. |
Command index
| Command | Open build | Status | Page |
|---|---|---|---|
numi version | Yes | Pre-alpha | Install |
numi init | Yes | Pre-alpha | numi init |
numi validate --files | Yes | Pre-alpha | numi validate |
numi validate (repository mode) | Schema pass, then exit 7 | Pre-alpha | numi validate |
numi evidence verify | Yes | Available in public spec | numi evidence verify |
numi evidence export | No | Under development | Commands and exit codes |
numi discover | Yes, drafts only: opens no pull request | Pre-alpha | Commands and exit codes |
connect, plan, run, status, approve, doctor, extension, breaker | No | Under development | Commands and exit codes |
Designed commands are not in the open build
Do not look for numi run in a checkout. It, and the rest of the designed surface, are described on the commands page and are not runnable from the open build.
Exit codes (stable)
| Code | Meaning |
|---|---|
| 0 | OK |
| 1 | Internal, and any unknown kind |
| 2 | Usage |
| 3 | Invalid |
| 4 | Not found |
| 5 | Conflict |
| 6 | Policy denied |
| 7 | Unavailable |
| 8 | Timeout |
Individual commands narrow some codes. The full table with command-specific meanings is on Commands and exit codes.
Failure modes
- A CI job that treats
numi validateexit 7 as success has read the open build wrongly. Exit 7 here means the schema pass succeeded and nothing more was checked. - A CI job that runs
numi validate --filesand calls the repository validated has skipped the resolver and the floors. verifiedfromnumi evidence verifyproves provenance and chain integrity under keys you pinned. It does not prove the code is correct.