Log in
docs/adr/0004-efficiency-gates-oak-baseline-only.md 29 lines · 1.2 KB

ADR-0004: Efficiency gates apply to the Oak-baseline comparison only

  • Status: accepted
  • Date: 2026-06-10

Context

regression_report.py gates on exact agent-efficiency metrics (tool calls, output bytes). Oak currently emits more text than Git by design in several operations; gating Oak-vs-Git on output bytes would permanently fail and teach people to ignore the gate. The release-blocking question is "did this changeset make Oak worse than released Oak", not "does Oak emit more than Git" β€” the latter is tracked as an optimization metric, not a gate.

Decision

Efficiency thresholds (--tool-calls-threshold-pct, --output-bytes-threshold-pct, --tokens-threshold-pct) apply only to target-vs-Oak-baseline comparisons. The Git comparison keeps latency guardrails only. Token-estimate gates default off because char/4 estimates are advisory (see token calibration in docs/statistical-methodology.md).

Consequences

  • CI can run --fail-on-regression without permanent Oak-vs-Git failures.
  • Oak-vs-Git token/output deltas remain visible in every report as optimization signal.
  • If Oak-vs-Git output parity becomes a goal, add a separate explicit gate rather than widening this one.