Skip to content

stats

usage: cox stats [-h]
                 {ingest,roles,tiers,models,causes,efficiency,gates,explain,series,coverage,bounds,spend-mix,chair,examples,system-one,lanes} ...

Load the run corpus into the stats store.

positional arguments:
  {ingest,roles,tiers,models,causes,efficiency,gates,explain,series,coverage,bounds,spend-mix,chair,examples,system-one,lanes}
    ingest              load usage, task, node and launch records into
                        stats.db
    roles               landed rate, attempts-to-land and $/landed per role
                        and model
    tiers               per-role model summaries, a cost-aware pick and the
                        spend it would save
    models              per-role cost, tokens, turns, $/landed and first-try
                        per model id
    causes              quarantined attempts by cause and kind, with sample
                        reasons
    efficiency          cost per turn, cost per landed task, first-try rate,
                        waste share, per day
    gates               what each review, validation and plan gate costs and
                        how often it changes the outcome
    explain             the failure-class breakdown behind one role
    series              per-run summary rows read from the stats store
    coverage            known/total provenance rows for runs, calls and tasks
    bounds              n/p50/p95/max and strict/moderate/liberal candidate
                        ceilings per role and model
    spend-mix           per-model token counts and cost share by class, plus
                        the build-only split
    chair               harness PRs and $, chair $ per PR, hand-finished lands
                        and quarantine $ by cause
    examples            the local system-one backend's training file (JSON
                        lines) from task records
    system-one          shadow-to-on graduation report per role, and a
                        proposal for the maintainer to approve
    lanes               per hour, the average and peak busy lanes and the idle
                        minutes, from the store's run spans

options:
  -h, --help            show this help message and exit

examples:
  cox stats ingest
  cox stats ingest runs --db workspace/stats/stats.db
  cox stats roles --json
  cox stats tiers --since 2026-09-01
  cox stats gates --since 2026-09-01
  cox stats explain build --json
  cox stats series --json
  cox stats coverage --json
  cox stats bounds --json
  cox stats spend-mix --json
  cox stats examples --role handoff --out examples.jsonl
  cox stats system-one --role handoff --propose

ingest

usage: cox stats ingest [-h] [--db DB] [--work-store-root WORK_STORE_ROOT]
                        [--cartridges-repo CARTRIDGES_REPO]
                        [runs_dir]

positional arguments:
  runs_dir

options:
  -h, --help            show this help message and exit
  --db DB
  --work-store-root WORK_STORE_ROOT
  --cartridges-repo CARTRIDGES_REPO

roles

usage: cox stats roles [-h] [--db DB] [--runs-dir RUNS_DIR] [--json]
                       [--cartridge-sha CARTRIDGE_SHA]
                       [--provider-profile PROVIDER_PROFILE]

options:
  -h, --help            show this help message and exit
  --db DB
  --runs-dir RUNS_DIR   where lands are read from
  --json
  --cartridge-sha CARTRIDGE_SHA
                        keep only runs on this cartridge_sha
  --provider-profile PROVIDER_PROFILE
                        keep only runs on this provider_profile

tiers

usage: cox stats tiers [-h] [--db DB] [--since SINCE]
                       [--min-samples MIN_SAMPLES] [--json]

options:
  -h, --help            show this help message and exit
  --db DB
  --since SINCE         keep only rows dated on or after DATE (YYYY-MM-DD)
  --min-samples MIN_SAMPLES
                        tasks a model needs before it can be picked (default
                        20)
  --json

models

usage: cox stats models [-h] [--db DB] [--role ROLE] [--since SINCE] [--json]

options:
  -h, --help     show this help message and exit
  --db DB
  --role ROLE    keep only this role
  --since SINCE  keep only calls whose run started on or after DATE (YYYY-MM-
                 DD)
  --json

causes

usage: cox stats causes [-h] [--runs-dir RUNS_DIR] [--since SINCE] [--json]

options:
  -h, --help           show this help message and exit
  --runs-dir RUNS_DIR
  --since SINCE        keep only rows dated on or after DATE (YYYY-MM-DD)
  --json

efficiency

usage: cox stats efficiency [-h] [--runs-dir RUNS_DIR] [--days DAYS] [--json]

options:
  -h, --help           show this help message and exit
  --runs-dir RUNS_DIR
  --days DAYS          UTC days to report, today included (default 7)
  --json

gates

usage: cox stats gates [-h] [--db DB] [--since SINCE] [--store]
                       [--runs-dir RUNS_DIR] [--min-sample MIN_SAMPLE]
                       [--json]

options:
  -h, --help            show this help message and exit
  --db DB
  --since SINCE         keep only rows dated on or after DATE (YYYY-MM-DD)
  --store               read task and call rows from the run store instead of
                        stats.db
  --runs-dir RUNS_DIR   the run store's directory, with --store
  --min-sample MIN_SAMPLE
                        decided tasks a role needs before it is judged, else
                        'not enough data' (default 50)
  --json

explain

usage: cox stats explain [-h] [--db DB] [--json] role

positional arguments:
  role

options:
  -h, --help  show this help message and exit
  --db DB
  --json

series

usage: cox stats series [-h] [--db DB] [--json]
                        [--cartridge-sha CARTRIDGE_SHA]
                        [--provider-profile PROVIDER_PROFILE]

options:
  -h, --help            show this help message and exit
  --db DB
  --json
  --cartridge-sha CARTRIDGE_SHA
                        keep only runs on this cartridge_sha
  --provider-profile PROVIDER_PROFILE
                        keep only runs on this provider_profile

coverage

usage: cox stats coverage [-h] [--db DB] [--json]

options:
  -h, --help  show this help message and exit
  --db DB
  --json

bounds

usage: cox stats bounds [-h] [--db DB] [--json]
                        [--level {strict,moderate,liberal}]
                        [--profile PROFILE] [--write WRITE]

options:
  -h, --help            show this help message and exit
  --db DB
  --json
  --level {strict,moderate,liberal}
  --profile PROFILE     the routing profile naming the provider profile
                        (default: ~/.config/agent-tools/profile.yaml or
                        $AGENT_TOOLS_PROFILE)
  --write WRITE         also write the JSON table to PATH inside the repo
                        checkout

spend-mix

usage: cox stats spend-mix [-h] [--db DB] [--json]

options:
  -h, --help  show this help message and exit
  --db DB
  --json

chair

usage: cox stats chair [-h] [--since SINCE] [--json] [--session SESSION]
                       [--work-store-root WORK_STORE_ROOT]
                       [--projects-dir PROJECTS_DIR] [--profile PROFILE]
                       [runs_dir]

positional arguments:
  runs_dir

options:
  -h, --help            show this help message and exit
  --since SINCE         keep only records and transcript lines dated on or
                        after DATE (YYYY-MM-DD)
  --json
  --session SESSION     a Claude session id to count as chair cost, beside
                        those in chair.json (repeatable)
  --work-store-root WORK_STORE_ROOT
  --projects-dir PROJECTS_DIR
  --profile PROFILE     the routing profile naming cartridges_dir (default:
                        ~/.config/agent-tools/profile.yaml or
                        $AGENT_TOOLS_PROFILE)

examples

usage: cox stats examples [-h] --role ROLE [--out OUT] [--since SINCE]
                          [runs_dir]

positional arguments:
  runs_dir

options:
  -h, --help     show this help message and exit
  --role ROLE    handoff or review_charter; repeat for several
  --out OUT      write the file to PATH (default: stdout)
  --since SINCE  keep only records dated on or after DATE (YYYY-MM-DD)

system-one

usage: cox stats system-one [-h] [--role ROLE] [--since SINCE] [--json]
                            [--propose] [--plans-dir PLANS_DIR]
                            [runs_dir]

positional arguments:
  runs_dir

options:
  -h, --help            show this help message and exit
  --role ROLE           report this role only
  --since SINCE         keep only rows dated on or after DATE (YYYY-MM-DD)
  --json
  --propose             write a graduation proposal for each READY role; never
                        edits a profile
  --plans-dir PLANS_DIR
                        where --propose writes system-one-
                        graduation-<role>-<date>.md

lanes

usage: cox stats lanes [-h] [--runs-dir RUNS_DIR] [--hours HOURS] [--json]

options:
  -h, --help           show this help message and exit
  --runs-dir RUNS_DIR
  --hours HOURS        how many clock hours back to report
  --json