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
| Env | Default | What it controls |
|---|---|---|
APR_MODEL | Qwen3-Coder-30B-A3B-Instruct-Q4_K_M.gguf | GGUF path passed to apr serve |
APR_TIMEOUT_S | 900 | Per-turn driver subprocess timeout |
APR_AGENT_HTTP_TIMEOUT_S | 1500 | apr code → apr serve HTTP timeout |
APR_AGENT_MAX_TOKENS_CAP | 1024 | Max tokens per assistant turn |
APR_AGENT_TEMPERATURE | unset (greedy) | Sampling temperature |
APR_AGENT_TOP_K | unset | Top-k filter |
APR_AGENT_TOP_P | unset | Nucleus (top-p) filter |
APR_AGENT_REPEAT_PENALTY | unset | Repetition penalty (Candle convention) |
APR_AGENT_REPEAT_LAST_N | unset | Window for repetition penalty |
APR_AGENT_SEED | random | Deterministic sampling seed |
PHASE6_MAX_TURNS | 20 | Multi-turn cap |
PHASE6_WALL_SECONDS | 3600 | Per-fixture wall-clock budget |
PHASE6_ORACLE_INTERVAL | 3 | Oracle check cadence (turns) |
PHASE6_COMPLIANCE_ENFORCED | 1 | Per-Write/Edit pmat comply check |
PHASE6_MAX_CONSECUTIVE_COMPLIANCE_FAILURES | 3 | Compliance-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