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.issueMoves
plan.transitionWhat 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.