|
|
@@ -0,0 +1,26 @@
|
|
|
+# Todo 52.5 Benchmark Ledger Event Identity Plan
|
|
|
+
|
|
|
+**Status:** in_progress
|
|
|
+
|
|
|
+## Goal
|
|
|
+
|
|
|
+Prevent independent benchmark ledgers from agreeing on counts while referring to different events, and keep failed-run attempt counts truthful.
|
|
|
+
|
|
|
+## Scope
|
|
|
+
|
|
|
+- Preserve event names from `event_batch_results` and `tool_execution` usage rows in `BenchmarkRunResult`.
|
|
|
+- Require detected event names, batch-result event names, and tool-metric event names to equal the case's expected ordered event list.
|
|
|
+- Keep normalized status checks paired with the batch event identity.
|
|
|
+- Report ChatAgent/fallback attempt counts from timing records; continue checking timing counts against persisted ledger counts when persistence exists.
|
|
|
+- For pre-ledger failures, retain timing-derived attempt counts instead of `None`/zero.
|
|
|
+
|
|
|
+## Files
|
|
|
+
|
|
|
+- Modify: `src/agent_lab/application/benchmark.py`
|
|
|
+- Modify: `tests/test_benchmark_runner.py`
|
|
|
+
|
|
|
+## Verification
|
|
|
+
|
|
|
+- `uv run pytest tests/test_benchmark_runner.py tests/test_benchmark_config.py -q`
|
|
|
+- `uv run pytest`
|
|
|
+- `git diff --check`
|