A fourth reviewer, a kill-switch, honest accounting.
Eight PRs. The review gate gains a performance lens. Guard learns a per-repo allowlist from your overrides and now covers secret writes, not just reads. Benchmarking runs through claude -p on your existing session — no API key. And the published output-tokens figure is re-based: the old sum-of-snapshots overcounted; canonical attribution doesn't.
review · guard.
- featPerformance reviewer agent — fourth parallel review lens (
kind="performance") plus 3 perf eval seeds. - featGuard learns a per-repo allowlist (
.pakka/guard-allowlist.json) from repeated overrides, with override-count decay; secret categories never allowlistable. Hook matcher widened toRead|Write|Edit|MultiEdit|Bash— secret-write protection now active.
bench · meter.
- featA/B harness via
claude -pon your OAuth session —make bench, zero API-key dependency;PAKKA_DISABLEDkill-switch disables every hook for the raw arm. - fixCanonical
repo_rootattribution (symlink-resolved, workspace-root aware) + historical backfill retag. Disclosure: cumulative output tokens re-based to ~1,019,833 — the previously published 5,939,566 summed repo-wide snapshots and overcounted. Corrected measurement, not a regression.
gate · compress · pricing.
- fix
[skip pakka]honored on AST reject paths; skill-check requires directive intent — bare keyword mentions no longer trigger, scan bounded ~1ms on adversarial input. - featSemantic rewriter injection gate — delta-based instruction-shape detection, strict fallback + audit entry on rejection. Pricing adds
claude-fable-5,claude-mythos-5,claude-opus-4-8+ dated-ID prefix fallback.