agent: phase2-tokei-001 — first auto-accepted win from the unattended loop

Ledger row: class 5 (algorithmic) on tokei, first-byte gate table for
the per-byte token matchers in perform_multi_line_analysis.
Speedup median 1.107, 95% CI [1.084, 1.131] vs the banked-wins baseline,
workload: 221 MB / 4360 files, single rayon thread, pinned core.

Manual audit gates (pipeline covers tests+golden+bench only):
- Differential fuzz, 10k mutated inputs across 200 batched runs:
  0 divergences after canonicalizing tokei's benign parallel-walker
  output ordering (present in pristine baseline; counts identical).
  Fuzzer added as scripts/diff-fuzz-tokei.py.
- ASan run recorded in the case study (next commit).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EcKPWQ3MQD4NdEHwar96u2
This commit is contained in:
Claude
2026-07-10 05:08:16 +00:00
parent 189939fe58
commit abaed3c49d
3 changed files with 138 additions and 0 deletions
Binary file not shown.
+18
View File
@@ -2,3 +2,21 @@
[agent] The hunk line counts were off. Recomputing and resubmitting: [agent] The hunk line counts were off. Recomputing and resubmitting:
[agent] Patch applied — `patch_id: 4e3da7e6bd1c`. Launching the gate+bench pipeline. [agent] Patch applied — `patch_id: 4e3da7e6bd1c`. Launching the gate+bench pipeline.
[agent] Still running. Polling again. [agent] Still running. Polling again.
[agent] **Verdict: `accepted`** — ledger row written for `phase2-tokei-001`.
## Attempt summary
| | |
|---|---|
| **Run ID** | `phase2-tokei-001` |
| **Target / hotspot** | tokei — `LanguageType::parse_lines` 55.89% Ir / 62% branches / 44% branch-misses + `__memcmp_avx2_movbe` 9.37% Ir |
| **Playbook class** | 5 (algorithmic — precomputed lookup table tier) |
| **Patch** | `4e3da7e6bd1c`: 256-entry first-byte "interesting bytes" table in `SharedMatchers` (superset of all quote/comment token start+end first bytes, plus `\`), gating the five per-byte token matchers in `perform_multi_line_analysis`; `parse_context` still consulted on gated bytes so semantics are exactly preserved |
| **Verdict** | **accepted** |
| **Speedup (median)** | 1.1071× (~+10.7%) |
| **Speedup 95% CI** | **[1.0836, 1.1310]** — CI lower bound +8.4%, clear of the 2% accept threshold |
Measured on the tokei benchmark workload (`tokei --sort code corpora/tokei/input`), interleaved A/B vs pristine-rebuilt baseline, all equivalence gates green (upstream tests, golden replay, diff-fuzz, sanitizers — no FP/concurrency/unsafe surface touched, so no human-review routing triggered).
The hypothesis predicted 5–12% median; the measured +10.7% landed inside that band. Notably, this also satisfies the outstanding Phase 2 exit criterion of at least one auto-accepted win from the unattended loop. One attempt was requested; stopping here.
[result] turns=21 cost_usd=4.614901
+120
View File
@@ -0,0 +1,120 @@
#!/usr/bin/env python3
"""Differential fuzz for phase2-tokei-001: pristine vs candidate tokei
must produce byte-identical output on mutated source inputs targeting
the patched code path (quote/comment token scanning).
Seeds: files from the pinned corpus (many languages). Mutations focus on
quote/comment structure: inserting/deleting/duplicating quote chars,
comment openers/closers, backslashes, and random bytes; plus boundary
slices. Deterministic RNG for reproducibility.
"""
import random
import subprocess
import sys
from pathlib import Path
ROOT = Path("/home/user/peltier.io")
BASE = ROOT / "targets/tokei/baseline/release/tokei"
CAND = ROOT / "targets/tokei/candidate-4e3da7e6bd1c/release/tokei"
CORPUS = ROOT / "corpora/tokei/input/copy1"
WORK = Path(sys.argv[1]) if len(sys.argv) > 1 else Path("/tmp/difffuzz")
ITERS = int(sys.argv[2]) if len(sys.argv) > 2 else 10000
TOKENS = [
b'"', b"'", b'`', b'"""', b"'''", b"/*", b"*/", b"//", b"#", b"--",
b"<!--", b"-->", b"(*", b"*)", b"{-", b"-}", b"\\", b"\\\\", b'\\"',
b"r#\"", b"\"#", b"=begin", b"=end", b"'''", b'f"""', b"%{", b"}",
]
def mutate(data: bytes, rng: random.Random) -> bytes:
ops = rng.randrange(1, 6)
b = bytearray(data)
for _ in range(ops):
if not b:
b = bytearray(rng.choice(TOKENS))
continue
op = rng.randrange(5)
pos = rng.randrange(len(b) + 1)
if op == 0: # insert a token
b[pos:pos] = rng.choice(TOKENS)
elif op == 1 and len(b) > 2: # delete a slice
end = min(len(b), pos + rng.randrange(1, 8))
del b[pos:end]
elif op == 2: # flip to a random byte
if pos < len(b):
b[pos] = rng.randrange(256)
elif op == 3: # duplicate a slice
end = min(len(b), pos + rng.randrange(1, 32))
b[end:end] = b[pos:end]
else: # newline injection (line-structure stress)
b[pos:pos] = b"\n"
return bytes(b)
def canonicalize(payload: bytes) -> str:
"""Parse tokei JSON and sort every list so benign output-order
nondeterminism (parallel walker arrival order) doesn't count as a
divergence; counts/stats still must match exactly."""
import json
def norm(o):
if isinstance(o, dict):
return {k: norm(v) for k, v in sorted(o.items())}
if isinstance(o, list):
return sorted((norm(v) for v in o), key=lambda x: json.dumps(x, sort_keys=True))
return o
return json.dumps(norm(json.loads(payload)), sort_keys=True)
def run(binary: Path, d: Path) -> tuple[str, bytes, int]:
r = subprocess.run(
[str(binary), "--sort", "code", "--output", "json", str(d)],
capture_output=True, env={"RAYON_NUM_THREADS": "1", "PATH": "/usr/bin:/bin"},
)
try:
canon = canonicalize(r.stdout)
except Exception as e: # unparseable output is always a divergence candidate
canon = f"UNPARSEABLE:{e}:{r.stdout[:200]!r}"
return canon + f"||rc={r.returncode}", r.stdout, r.returncode
def main() -> int:
rng = random.Random(0xB16B00B5)
seeds = sorted(CORPUS.rglob("*"))
seeds = [p for p in seeds if p.is_file() and p.stat().st_size < 200_000][:400]
if not seeds:
print("no seeds found", file=sys.stderr)
return 2
WORK.mkdir(parents=True, exist_ok=True)
fdir = WORK / "case"
divergences = 0
done = 0
# Batch: mutate BATCH files per tokei invocation (tokei scans a dir),
# keeping each seed's extension so language detection stays realistic.
BATCH = 50
while done < ITERS:
if fdir.exists():
for f in fdir.iterdir():
f.unlink()
fdir.mkdir(exist_ok=True)
for j in range(min(BATCH, ITERS - done)):
seed = rng.choice(seeds)
name = f"m{done + j}{seed.suffix or '.txt'}"
(fdir / name).write_bytes(mutate(seed.read_bytes(), rng))
a_canon, a_raw, a_rc = run(BASE, fdir)
b_canon, b_raw, b_rc = run(CAND, fdir)
if a_canon != b_canon:
divergences += 1
keep = WORK / f"divergence-{done}"
fdir.rename(keep)
(keep / "_baseline.out").write_bytes(a_raw + f"\nrc={a_rc}".encode())
(keep / "_candidate.out").write_bytes(b_raw + f"\nrc={b_rc}".encode())
print(f"DIVERGENCE at batch starting {done}; inputs+outputs kept in {keep}")
done += BATCH
if done % 1000 == 0:
print(f"{done}/{ITERS} mutated files, {divergences} divergences", flush=True)
print(f"done: {done} mutated files across {done // BATCH} runs, {divergences} divergences")
return 1 if divergences else 0
if __name__ == "__main__":
sys.exit(main())