agents: add ailang-bencher — hypothesis-driven memory bench agent

The 18f bench result (rc/bump = 2.86x but gc/bump = 2.90x) showed
the existing bench measures alloc-path cost, not the determinism
question Decision 10 actually commits to. The user's framing
made this explicit: RC has to be DEMONSTRABLY better than Boehm —
the relevant axis is per-operation latency under heap pressure
(Boehm's stop-the-world vs RC's amortized constant), not total
wall-time.

This agent's mandate: design workloads against a falsifiable
hypothesis, run measurements that fit the hypothesis (latency
distribution for determinism, not throughput), pair Implicit-mode
fixtures (Boehm-fair) with explicit-mode fixtures (RC-fair) so
each allocator is benched in its native regime, and report
honestly what the data does NOT say.

Distinguished from implementer: ships evidence, not features.
Distinguished from architect: focuses on a single dimension
(memory) and on empirical measurement, not drift review.

Honesty rules built in:
- Tie => bench did not distinguish, not "they are equivalent".
- Implicit-mode RC numbers are not informative (RC leaks under
  Implicit) — call out whenever reported.
- Bench-only instrumentation in runtime/rc.c must be marked
  removable and not leak into production.
- No verdict statements: orchestrator decides defaults / drops.
This commit is contained in:
2026-05-08 13:20:26 +02:00
parent 832c325e9d
commit 6b1e148b36
2 changed files with 86 additions and 0 deletions
+1
View File
@@ -15,6 +15,7 @@ the repo.
| `ailang-tester.md` | Writes examples and E2E tests. |
| `ailang-debugger.md` | Diagnoses compiler or codegen bugs. |
| `ailang-docwriter.md` | Writes and maintains rustdoc on the Rust crates. |
| `ailang-bencher.md` | Hypothesis-driven memory-management benchmarker; ships evidence, not features. |
## Invocation scheme