# Batch #8 (500 seeds): death analytics are real — the kill economy

First baseline with #21's kill attribution + single CombatEnded + **clamped
overkill**, and after #20's loader tolerance work (phantom
melee-basic-attack.json now loads; string-encoded attackBonus files fixed),
#18 sneak dice, #7 PHB1 verdicts. Engine `592a5dc` (8 merges past b7's
a7aa2be). Same spec (seeds 1–500 × 2 pairings). 1,000 encounters, guard PASS.
Generated 2026-08-17 ~14:55Z.

**Series note:** b7→b8 deltas are NOT single-cause — overkill clamping
rewrote damage accounting (b1–b7 damage stats were overkill-inflated), and
the loader fixes changed available actions. Compare b8 forward, not backward.

## Outcomes

| pairing | player | enemy | capped |
|---|---|---|---|
| Aggressive vs Defensive | 12 (2.4%) | 16 (3.2%) | 472 (94.4%) |
| Random vs Aggressive | 9 (1.8%) | 8 (1.6%) | 483 (96.6%) |

Terminations fell vs b7 (28 v 42 per 1000) — clamped damage + the rogue
regression below. The b7 enemy-policy asymmetry softened: Aggr-enemy still
edges Def-players (16v12, p≈0.57 — no longer significant); Rnd-vs-Aggr went
from 24v4 to 9v8 (player advantage GONE).

## The kill economy (kills now attributed, #21)

Aggr-vs-Def, per 500 encounters (kills are totals, deaths are rates):

| unit | kills | death rate | dmg dealt/enc | note |
|---|---|---|---|---|
| Great Weapon Fighter | 418 | 0.764 | 70.6 | kill leader, dies 3-in-4 runs |
| Gray Ooze (pooled ×2) | 447 | 0.550 | 28.5 | most lethal enemy |
| Ankheg | 374 | 0.826 | 27.2 | dies most vs Defensive players |
| Battle Cleric | 171 | 0.094 | 35.7 | near-immortal, modest output |
| Rogue | 111 | **0.784** | **23.4** | **collapsed — see below** |

Key structural finding: **partial kills are common; termination is about the
last one.** Hundreds of units die per 500 capped encounters (players land
~1000 kills across the pairing) yet 94% of encounters still cap — the last
kill is the scarce event, consistent with clamped throughput ~70% of pool.

Target-policy signal in death attribution: Aggressive players wipe oozes
(death 0.954) but leave the ankheg (0.278); Defensive players kill the
ankheg more (0.826). Who-dies-what differs measurably by policy — new
instrument axis for the LLM benchmark.

## REGRESSION FLAG (fighter/wizard): the rogue collapsed

Rogue pooled hitRate **0.586 (b7) → 0.231 (b8)**; damage 65.7 → 23.4/enc;
deaths up to 0.78. Between-batch engine changes include #20's string-encoded
**attackBonus fixes** and #18 sneak dice. A "fix" that halves the rogue's
hit rate needs verification against the book (Piercing Strike +9 v AC at
level 1 should hit ~60-70%, not 23%). Until ruled, treat rogue-side b8
numbers as suspect. Filed to lead in mail — not my lane to fix.

## Reproduce

```
dotnet src/Tactics.CLI/bin/Release/net8.0/Tactics.CLI.dll --batch docs/research/2026-08-17-mm2-500seeds-b8/spec.json
```
