dokimi repo
usage: dokimi repo [-h] {validate,scan,fetch,reach,tasks,run,report,compare} ...
positional arguments:
{validate,scan,fetch,reach,tasks,run,report,compare}
validate Validate the manifest and every task.json against one snapshot
scan L0: check the links, paths, identifiers, commands and build labels the
guidance names against the same tree (repo_readiness.v1). No LLM call.
fetch Clone/fetch a pinned source and print its commit SHA
reach L1 reach probe: run a harness on a token-seeded workspace and report which
guidance files it loads (guidance_reach.v1). Costs one cheap-model call
per scenario.
tasks Task self-checks (no LLM)
run Run an agent per (task, arm, model, rep) in the image and grade each run;
one result.json per cell, already finished cells skipped
report Per (task, arm, model) table over a batch directory
compare Treatment arms against a baseline arm, paired by task, over one or more
batch directories
options:
-h, --help show this help message and exit
dokimi repo validate
usage: dokimi repo validate [-h] [--manifest MANIFEST] [--manifest-file MANIFEST_FILE]
[--cache-dir CACHE_DIR] [--json]
source
positional arguments:
source Repository source: a local directory (read as it is; in a git working
tree, files git ignores are left out), <dir>@<rev>, or <https-or-ssh-
url>@<rev> (cloned bare into the cache)
options:
-h, --help show this help message and exit
--manifest MANIFEST Manifest path relative to the repository root (default: .agent-eval/repo-
eval.yaml)
--manifest-file MANIFEST_FILE
Read the manifest from this local file instead of from the tree, as if it
were at --manifest (for a repository that has not added it yet)
--cache-dir CACHE_DIR
Clone cache directory (default: $DOKIMI_REPO_CACHE or
~/.cache/dokimi/repos)
--json Print the full report as JSON
dokimi repo scan
usage: dokimi repo scan [-h] [--manifest MANIFEST] [--manifest-file MANIFEST_FILE]
[--static STATIC] [--out OUT] [--json] [--fail-on-fail]
[--cache-dir CACHE_DIR]
source
positional arguments:
source Repository source: a local directory (read as it is; in a git working
tree, files git ignores are left out), <dir>@<rev>, or <https-or-ssh-
url>@<rev> (cloned bare into the cache)
options:
-h, --help show this help message and exit
--manifest MANIFEST Manifest path relative to the repository root (default: .agent-eval/repo-
eval.yaml). With this flag, --manifest-file and the default path all
absent, the default guidance globs (AGENTS.md, CLAUDE.md, Copilot
instructions) are checked
--manifest-file MANIFEST_FILE
Read the manifest from this local file instead of from the tree, as if it
were at --manifest (for a repository that has not added it yet)
--static STATIC repo_static.v1 document the repository's `static` entry point wrote;
merged into the report, its claims replacing the framework's on the same
file, line and text. An invalid document is reported and makes the command
exit 1
--out OUT Write the repo_readiness.v1 report to this file
--json Print the full report as JSON
--fail-on-fail Exit 1 when any claim fails, an also_scan file is missing, a guidance file
cannot be read, or no guidance file matched (for a CI gate)
--cache-dir CACHE_DIR
Clone cache directory (default: $DOKIMI_REPO_CACHE or
~/.cache/dokimi/repos)
dokimi repo fetch
usage: dokimi repo fetch [-h] [--cache-dir CACHE_DIR] source
positional arguments:
source Repository source: a local directory (read as it is; in a git working
tree, files git ignores are left out), <dir>@<rev>, or <https-or-ssh-
url>@<rev> (cloned bare into the cache)
options:
-h, --help show this help message and exit
--cache-dir CACHE_DIR
Clone cache directory (default: $DOKIMI_REPO_CACHE or
~/.cache/dokimi/repos)
dokimi repo reach
usage: dokimi repo reach [-h] [--manifest MANIFEST] [--manifest-file MANIFEST_FILE]
[--harness HARNESS] --model MODEL [--bin BIN] [--out OUT]
[--scenarios SCENARIOS] [--only SCENARIO] [--work-dir WORK_DIR]
[--salt SALT] [--max-turns MAX_TURNS] [--budget BUDGET]
[--timeout TIMEOUT] [--keep] [--dry-run] [--cache-dir CACHE_DIR]
source
positional arguments:
source Repository source: a local directory (read as it is; in a git working
tree, files git ignores are left out), <dir>@<rev>, or <https-or-ssh-
url>@<rev> (cloned bare into the cache)
options:
-h, --help show this help message and exit
--manifest MANIFEST Manifest path relative to the repository root (default: .agent-eval/repo-
eval.yaml). With this flag, --manifest-file and the default path all
absent, the default guidance globs (AGENTS.md, CLAUDE.md, Copilot
instructions) are checked
--manifest-file MANIFEST_FILE
Read the manifest from this local file instead of from the tree, as if it
were at --manifest (for a repository that has not added it yet)
--harness HARNESS Built-in profile name or a harness_profile.v1 YAML path (default: claude-
code)
--model MODEL Model string passed to the harness as it is
--bin BIN Harness executable (default: the profile's `bin`)
--out OUT Output directory: reach.json and traces/
--scenarios SCENARIOS
Comma list of scenario kinds: root, cwd, read (default: all)
--only SCENARIO Run only this scenario id (for example read=cpp); repeatable
--work-dir WORK_DIR Parent of the temporary workspace (default: the system temp dir). No
ancestor may hold guidance files.
--salt SALT Token salt (default: random per run)
--max-turns MAX_TURNS
--budget BUDGET Per-scenario USD cap (default: 0.10)
--timeout TIMEOUT Per-scenario seconds
--keep Keep the temporary workspace
--dry-run Print the files and the exact argv of every scenario; run nothing
--cache-dir CACHE_DIR
Clone cache directory (default: $DOKIMI_REPO_CACHE or
~/.cache/dokimi/repos)
dokimi repo tasks
usage: dokimi repo tasks [-h] {check} ...
positional arguments:
{check}
check Per task: grade on the untouched workspace must fail the gate, oracle then grade
must pass it (score-only: reach score.max), and the agent's container must not see
tasks or source
options:
-h, --help show this help message and exit
dokimi repo tasks check
usage: dokimi repo tasks check [-h] [--manifest MANIFEST] [--manifest-file MANIFEST_FILE]
[--task TASK] [--image IMAGE] [--rebuild-image]
[--build-network BUILD_NETWORK] [--cache NAME=PATH]
[--cache-root CACHE_ROOT] [--source-dir SOURCE_DIR]
[--grade-timeout GRADE_TIMEOUT] [-j JOBS] [--docker DOCKER]
[--cache-dir CACHE_DIR] [--warm] [--out OUT]
source
positional arguments:
source Repository source: a local directory (read as it is; in a git working
tree, files git ignores are left out), <dir>@<rev>, or <https-or-ssh-
url>@<rev> (cloned bare into the cache)
options:
-h, --help show this help message and exit
--manifest MANIFEST Manifest path relative to the repository root
--manifest-file MANIFEST_FILE
Read the manifest from this local file instead of from the tree
--task TASK Only this task id; repeatable (default: all)
--image IMAGE Use this image instead of building one from the eval tree
--rebuild-image Build the image even if the tag exists
--build-network BUILD_NETWORK
docker build --network (for example host, behind a local proxy)
--cache NAME=PATH Host directory for the manifest cache NAME; repeatable
--cache-root CACHE_ROOT
Parent of cache directories without --cache (default:
~/.cache/dokimi/caches/<repo id>)
--source-dir SOURCE_DIR
Full-history clone mounted as {source_dir} (default: the source's own git
dir)
--grade-timeout GRADE_TIMEOUT
Seconds per grade/oracle run (default 3600)
-j, --jobs JOBS Parallel tasks or cells (default 1)
--docker DOCKER docker CLI (default: docker)
--cache-dir CACHE_DIR
Clone cache directory (default: $DOKIMI_REPO_CACHE or
~/.cache/dokimi/repos)
--warm Run null and oracle with network to fill the caches before offline runs
--out OUT Work directory (default: repo-check)
dokimi repo run
usage: dokimi repo run [-h] [--manifest MANIFEST] [--manifest-file MANIFEST_FILE] [--task TASK]
[--image IMAGE] [--rebuild-image] [--build-network BUILD_NETWORK]
[--cache NAME=PATH] [--cache-root CACHE_ROOT] [--source-dir SOURCE_DIR]
[--grade-timeout GRADE_TIMEOUT] [-j JOBS] [--docker DOCKER]
[--cache-dir CACHE_DIR] --arm ARM --model MODEL [--reps REPS] --batch BATCH
[--out OUT] [--harness HARNESS] [--bin BIN] [--agent-network {host,bridge}]
[--tools TOOLS] [--timeout TIMEOUT] [--max-turns MAX_TURNS]
[--budget BUDGET] [--max-batch-usd MAX_BATCH_USD] [--force]
source
positional arguments:
source Repository source: a local directory (read as it is; in a git working
tree, files git ignores are left out), <dir>@<rev>, or <https-or-ssh-
url>@<rev> (cloned bare into the cache)
options:
-h, --help show this help message and exit
--manifest MANIFEST Manifest path relative to the repository root
--manifest-file MANIFEST_FILE
Read the manifest from this local file instead of from the tree
--task TASK Only this task id; repeatable (default: all)
--image IMAGE Use this image instead of building one from the eval tree
--rebuild-image Build the image even if the tag exists
--build-network BUILD_NETWORK
docker build --network (for example host, behind a local proxy)
--cache NAME=PATH Host directory for the manifest cache NAME; repeatable
--cache-root CACHE_ROOT
Parent of cache directories without --cache (default:
~/.cache/dokimi/caches/<repo id>)
--source-dir SOURCE_DIR
Full-history clone mounted as {source_dir} (default: the source's own git
dir)
--grade-timeout GRADE_TIMEOUT
Seconds per grade/oracle run (default 3600)
-j, --jobs JOBS Parallel tasks or cells (default 1)
--docker DOCKER docker CLI (default: docker)
--cache-dir CACHE_DIR
Clone cache directory (default: $DOKIMI_REPO_CACHE or
~/.cache/dokimi/repos)
--arm ARM guidance:none | guidance:raw | guidance:bridge; repeatable or comma-
separated
--model MODEL Model string passed to the harness as it is; repeatable
--reps REPS
--batch BATCH Batch name: cells go to <out>/<batch>/
--out OUT Parent of batch directories (default: repo-runs)
--harness HARNESS Built-in profile name or profile YAML path
--bin BIN Harness executable on this host, mounted read-only into the agent's
container (default: the profile's `bin` on PATH)
--agent-network {host,bridge}
REQUIRED while the egress proxy is not implemented: the agent's container
gets this network, so its commands can reach any host. Recorded in
meta.json
--tools TOOLS Profile tool mode (default: all)
--timeout TIMEOUT Seconds per agent run unless task.json sets timeout_s (default 2700)
--max-turns MAX_TURNS
Unless task.json sets max_turns (default 200)
--budget BUDGET USD cap per agent run unless task.json sets budget_usd (default 2.0)
--max-batch-usd MAX_BATCH_USD
Start no new cell once this invocation has spent this much
--force Rerun cells that already have result.json
dokimi repo report
usage: dokimi repo report [-h] [--json] batch_dir
positional arguments:
batch_dir <out>/<batch> of `repo run`
options:
-h, --help show this help message and exit
--json Print the summary as JSON
dokimi repo compare
usage: dokimi repo compare [-h] --baseline BASELINE [--arm ARM] [--model MODEL] [--metric METRIC]
[--json]
batch_dirs [batch_dirs ...]
positional arguments:
batch_dirs <out>/<batch> directories of `repo run`
options:
-h, --help show this help message and exit
--baseline BASELINE Baseline arm: ARM, or BATCH/ARM to take it from one batch only
--arm ARM Treatment arm (ARM or BATCH/ARM); repeatable or comma-separated (default:
every other arm)
--model MODEL Only this model; repeatable
--metric METRIC Also compare this numeric or boolean grade.json metric; repeatable
--json Print the comparison as JSON