CLI reference

ccpa

The user-facing CLI for the static path.

# Score a single teacher/student pair
ccpa diff fixtures/canonical/0001-edit-readme/teacher.ccpa-trace.jsonl \
          fixtures/canonical/0001-edit-readme/student.ccpa-trace.jsonl

# Score the whole corpus + bidirectional-sensitivity check
ccpa corpus fixtures/canonical/             # canonical MUST PASS
ccpa corpus fixtures/regression/            # regression MUST FAIL
ccpa corpus fixtures/canonical/ --json      # machine-readable

# Walk the parity-matrix coverage gate
ccpa coverage \
  --apr-code-parity-yaml ../aprender/contracts/apr-code-parity-v1.yaml \
  --fixtures-dir fixtures/canonical/ \
  --oos-rows keyboard-shortcuts,status-line

# Validate a JSONL trace against the schema
ccpa validate fixtures/canonical/0001-edit-readme/teacher.ccpa-trace.jsonl

ccpa-arena-bench

The Arena dispatcher (operator-coordinated).

ccpa-arena-bench \
  --cwd /tmp/p6-uc-leetcode__01-two-sum-student.xyz \
  --prompt-file fixtures/under-contract/leetcode/01-two-sum/prompt.txt \
  --oracle-cmd "cargo test 2>&1" \
  --oracle-pattern "test result: ok" \
  --max-turns 20 \
  --wall-seconds 3600 \
  --oracle-check-interval 3 \
  --driver-per-turn-timeout 900 \
  --compliance-enforced \
  --max-consecutive-compliance-failures 3 \
  --max-consecutive-text-turns 5 \
  --driver-binary /home/noah/.local/bin/apr \
  --driver-name apr \
  --driver-extra-arg code \
  --driver-extra-arg --model=/path/to.gguf

Outputs BenchResult JSON to stdout. Wrapped by the phase scripts.

scripts/phase-{3,5,6}-bench.sh

Operator-facing corpus walkers.

# Phase 3 — function-scale MultiPL-E-Rust HumanEval
bash scripts/phase-3-bench.sh

# Phase 5 — project-scale Arena (3 real GitHub-issue fixtures)
bash scripts/phase-5-arena-bench.sh

# Phase 5 — calibration-and-scale (15 synthetic-deterministic fixtures, M242)
bash scripts/phase-5-calibration-bench.sh

# Phase 6 — under-contract dispatch
APR_MODEL=/home/noah/models/Qwen3-30B-A3B-Instruct-2507-Q4_K_M.gguf \
  PHASE6_COMPLIANCE_ENFORCED=1 \
  PHASE6_MAX_TURNS=20 \
  PHASE6_WALL_SECONDS=3600 \
  APR_AGENT_TEMPERATURE=0.3 \
  APR_AGENT_TOP_K=50 \
  APR_AGENT_TOP_P=0.95 \
  APR_AGENT_REPEAT_PENALTY=1.2 \
  APR_AGENT_REPEAT_LAST_N=64 \
  PHASE6_MAX_CONSECUTIVE_TEXT_TURNS=5 \
  bash scripts/phase-6-bench.sh

Phase 6 environment variables

EnvDefaultWhat it controls
APR_MODELQwen3-Coder-30B-A3B-Instruct-Q4_K_M.ggufGGUF path passed to apr serve
APR_TIMEOUT_S900Per-turn driver subprocess timeout
APR_AGENT_HTTP_TIMEOUT_S1500apr code → apr serve HTTP timeout
APR_AGENT_MAX_TOKENS_CAP1024Max tokens per assistant turn
APR_AGENT_TEMPERATUREunset (greedy)Sampling temperature
APR_AGENT_TOP_KunsetTop-k filter
APR_AGENT_TOP_PunsetNucleus (top-p) filter
APR_AGENT_REPEAT_PENALTYunsetRepetition penalty (Candle convention)
APR_AGENT_REPEAT_LAST_NunsetWindow for repetition penalty
APR_AGENT_SEEDrandomDeterministic sampling seed
PHASE6_MAX_TURNS20Multi-turn cap
PHASE6_WALL_SECONDS3600Per-fixture wall-clock budget
PHASE6_ORACLE_INTERVAL3Oracle check cadence (turns)
PHASE6_COMPLIANCE_ENFORCED1Per-Write/Edit pmat comply check
PHASE6_MAX_CONSECUTIVE_COMPLIANCE_FAILURES3Compliance-Trap cap
PHASE6_MAX_CONSECUTIVE_TEXT_TURNS (M293)0 (disabled)Agent-Text-Loop cap

Local dev tier sweeps

make tier1          # fmt + clippy + check          (<5s)
make tier2          # tier1 + tests                 (<30s)
make tier3          # tier2 + cov + comply + pv     (1-3 min)
make install-hooks  # FALSIFY-CCPA-012 pre-commit hook
make install-tools  # local tools matching CI exactly