Skip to main content

annie Command Reference#

The public command surface of the annie binary. Run annie --help for global usage, annie --version for the build version, and annie <subcommand> --help for subcommand-specific help.

Public MVP boundary#

This page documents the ANNIE product-facing CLI surface. It is distinct from the public Sovereign Loop Core MVP CLI (sovereign_cli) in the runnable evidence repository. Do not treat this page as evidence that every ANNIE command is present in the public MVP.

Subcommands#

CommandPurpose
annie identity provisionRun the provisioning ceremony: snapshot PCRs, generate an ML-DSA-87 keypair, seal the secret under PCR policy, generate a TPM Quote, and write the genesis row to the audit ledger.
annie identity showPrint the active identity fingerprint and ceremony details.
annie license requestPrint the active identity’s fingerprint, ready to paste into the purchase flow.
annie license activate <path>Verify a .lic file’s signature, check it binds to this host, and install it into the data directory.
annie license infoDisplay the installed license (customer, tier, expiry, binding) or report that no license is installed.
annie verifyReplay the local audit ledger. Walks the hash-chained event log and checks structural invariants, monotonic ordering, ML-DSA signatures, and known event kinds. Requires no network access; replay is independent by design.
annie daemonStart the JSON-over-stdio safety daemon. Verifies the installed license before opening the TPM; refuses to start if invalid or expired.

Common options#

OptionApplies toEffect
--data-dir DIRAll subcommandsWhere ceremony artifacts and the audit ledger live. Defaults to $XDG_DATA_HOME/annie or ~/.local/share/annie.
--forceidentity provisionSupersede an existing identity if one is already provisioned in the data directory.
--help, -hAll subcommandsPrint subcommand-specific help and exit.
--version, -VTop-level onlyPrint the build version and exit.

Exit codes#

CodeMeaning
0Success
2Invalid arguments or unknown subcommand

Specific subcommands may return additional non-zero codes for failure modes documented in their respective help text. The full per-failure-mode exit-code table is published with each release in the binary’s release notes.

Examples#

Provision a new identity in the default data directory:

annie identity provision

Replay and check the local audit ledger:

annie verify

Print the version of the installed binary:

annie --version

Get subcommand-specific help with details on flags and behaviour:

annie verify --help
annie identity provision --help
annie license activate --help
  • annie-issue-license — separate offline binary used by the issuer side of the license flow. Not included in customer release builds; documented separately in the operator runbook.
  • Audit replay walkthrough — step-by-step on running annie verify against an exported archive for a third-party audit.