Skip to content
Cockpit0.29.0
A snapshot: read at commit 707a04c7ce8 on 2026-10-18T00:06:01Z by majordomus 0.29.0. Nothing on this page is read again. See it live

I0823

majordomus bench: targets derived from the command registry

Where it stands

devtask.issue
Readiness
complete completion is recorded and every required evidence token is present
Status
DONE
Can start
not now
Milestone
Milestone status
ACTIVE
Wave
1
Waiting on
none
Holds back
Behind it in all
12
Evidence
1 of 1
A move writes the repository: it stamps one field of this issue's record and appends one event to the ledger, and a commit will carry both.
The same moves from a terminal

majordomus plan start I0823

majordomus plan verify I0823

majordomus plan done I0823

What it is

Objective
Add the bench command: every public command in share/commands.yaml is a target, run against a disposable installed repository, with warmup and samples from the policy, reporting min, p50, p90, p95, p99, max, mean and stddev per target and mode.
Why
A benchmark list kept by hand goes stale the day a command is added; the registry already knows the surface.
Now
There is no benchmark command; ad hoc timing lives in shells.
Wanted
bench, bench <command>, --mode cold|warm|both, --samples, --warmup, --format json, --list; the JSON carries schema majordomus/benchmark-result/v1, commit, dirty flag, platform, build of bash and the benchmark profile.
Done when
unknown: the record declares no `completion`
Risk
Commands that read stdin or need an active task need a fixture per target; the fixtures under test/fixtures/commands already describe one scenario per command and are reused.

Acceptance

  • bench --list prints exactly the public commands of the registry
  • A run records both modes separately with the eight statistics
  • Case 79 proves the target list follows a registry mutation
  • The command is registered, covered and documented like every other command
Validation
bash test/run.sh 79_bench_commandbin/majordomus bench --format json
Evidence required
bench_targets_derived
Evidence present
bench_targets_derived

Scope

Touches
lib/bench.shbin/majordomusshare/commands.yamlshare/allow/policy.txtshare/skeleton/policy.yaml.ai/repo/policy.yamldocs/CLI.mdtest/cases/79_bench_command.shtest/fixtures/commands/bench.json
Not
Benchmarking the Rust executableA benchmark of commands that mutate the repository outside a disposable fixture
Depends on
Priority
p0
Profile
implementation
Parallel safe
false
Owner
unknown: the record declares no `owner`

The work so far

Branches
none
Merged
none
Commits
0
Trunk
master
Sessions
none
Created
2026-09-05
Updated
2026-09-05
Started
2026-09-05T03:33:10Z
Verified
2026-09-05T03:33:10Z
Completed
2026-09-05T03:33:10Z

Synchronisation

Adapter
scripts/github-sync
Repository
unknown: the derived plan's header carries no repository
External issue
unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it
State there
unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it

Findings

Nothing is wrong with these records.