# Package-Impact A/B Benchmark

> Generated by `scripts/render_benchmark_md.py`. Source of truth: `internal/bench/reports/ab/`. Re-render anytime with `task bench:ab:diff`.

## Headline

> **Track A confirms surface availability** — a precondition, not an impact metric. For the impact view (cost-ladder + behaviour with vs. without), see [`docs/value.md`](value.md).

| Metric | with | without | delta |
|---|---|---|---|
| Track A surface-availability | 100.0% | 0.0% | 100.0% _(structural — files present)_ |
| Track B completion-rate  | 0.0% | 0.0% | 0.0% |
| Track B mean wall-time   | 0.00s | 0.00s | 0.00s |
| Track B ask-vs-act ratio | 0.000 | 0.000 | — |

## Track A — Behavioural eval

- with → **100.0%** (32/32)
- without → **0.0%** (0/32)
- integrity OK: `True`

Per-target presence (sample):

- `.claude/rules/ask-when-uncertain.md` → with=1, without=0
- `.claude/rules/commit-conventions.md` → with=1, without=0
- `.claude/rules/commit-policy.md` → with=1, without=0
- `.claude/rules/downstream-changes.md` → with=1, without=0
- `.claude/rules/language-and-tone.md` → with=1, without=0
- `.claude/rules/minimal-safe-diff.md` → with=1, without=0
- `.claude/rules/no-cheap-questions.md` → with=1, without=0
- `.claude/rules/non-destructive-by-default.md` → with=1, without=0
- `.claude/rules/preservation-guard.md` → with=1, without=0
- `.claude/rules/scope-control.md` → with=1, without=0
- … 18 more

## Track B — Task completion

- Mode: `dry-run`
- with → **0.0%** (0/13)
- without → **0.0%** (0/13)

Per-category:

| Category | with | without | delta |
|---|---|---|---|
| bugfix | 0.0% | 0.0% | 0.0% |
| feature | 0.0% | 0.0% | 0.0% |
| refactor | 0.0% | 0.0% | 0.0% |
| testadd | 0.0% | 0.0% | 0.0% |
| uiaudit | 0.0% | 0.0% | 0.0% |

## Methodology

- **Target shape:** Shape A (neutral TypeScript fixture under `internal/bench/ab/fixture/`).
- **Variants:** `with` clone inherits `.claude/`, `.augment/`, `AGENTS.md`, `CLAUDE.md` from the package root; `without` does not.
- **Integrity:** `python3 scripts/bench_ab_integrity.py` exits 0 on every run (clones differ only at the agent-config surface).
- **Scoring:** structural only (no LLM judge). See `scripts/_lib/bench_ab_scoring.py`.

Cache key for the latest run:

- `corpus_hash`: `d8ec07ef06de3492`
- `claude_cli_version`: `2.1.150 (Claude Code)`
- `target_shape_hash`: `3f2f67cebfbb5fff`

- **Last rendered:** `2026-05-28T13:55:30+00:00`

## History

Last 5 runs (per corpus):

### `ab-tracka`

- `2026-05-26T15-32-37Z` → 100.0%

### `ab-trackb`

- `2026-05-28T13-47-41Z` → 0.0%
