Skip to content

majordomus bench

Time every externally callable operation (each capability directly, over MCP and over HTTP, and the transports' own operations), report coverage, compare with the accepted baseline

majordomus bench

Usage

majordomus bench [OPTIONS] [COMMAND] [ID]

Commands

Arguments

argumentvaluedefaultdescription
--repo <PATH> — Start the search for the repository root here (default: the current directory) (accepted by every subcommand)
--discovery vcs | filesystem vcs How declarative files are enumerated (accepted by every subcommand)
  • vcs — Tracked files, through the version-control index (the layer's contract); a layer none of which is tracked is read from the work tree
  • filesystem — A walk of the work tree with the same glob semantics; untracked files included
--strict flag — Refuse to proceed when any file of the layer carries an error diagnostic (accepted by every subcommand)
--share <DIR> — The tool distribution's share directory (kinds.yaml, schemas/); default: $MAJORDOMUS_SHARE, then the repository's own share/, then the one beside the executable (accepted by every subcommand)
<ID> <ID> — Only targets of this capability id, or whose key starts with this text
--transport all | direct | mcp | http | system all Only this transport
  • all — Every target
  • direct — Capabilities through the executor, in process
  • mcp — Capabilities through a real `majordomus mcp` child
  • http — Capabilities over a real loopback socket
  • system — The transports' own operations only
--profile quick | full | ci quick How much to measure
  • quick — Fast developer feedback: few samples
  • full — Stable evidence: many samples, many cold spawns
  • ci — Conservative: structural gates plus a modest measurement
--format text | json text Output shape
  • text — Lines for a person
  • json — One JSON document, deterministic
--check flag — Compare with the accepted baseline of this platform under .ai/repo/benchmarks/rust/policy.yaml; exit 10 on a regression
--no-write flag — Do not write the result under .ai/local/benchmarks/

Examples

  • Time the capabilities in process

    The quick profile takes few samples, and `--transport direct` measures the executor without spawning a server. Nothing is written under .ai/local/ with `--no-write`.

    $ majordomus bench --transport direct --profile quick --no-write --format json

    What it asserts: exits 0; prints one JSON document carrying /results, /profile.

    Tested by apps/majordomus-cli/tests/cli_examples.rs, which runs the command against the built executable and asserts what the page states.

Where this comes from

Declared once in apps/majordomus-cli/src/cli.rs: clap for the structure, typed Rust metadata beside it for the examples. This page, majordomus bench --help, docs/generated/cli.md and docs/generated/cli.json are projections of that one declaration.

The whole command line on one page: the registry's command-line page. The task lifecycle (init, start, finish, doctor, ...) belongs to the shell tool, a different program: Commands and its specification.

Searches the titles and descriptions of every page this site publishes.