J2: sim picker casts+consumes; T5 raid-content warning

The post-J1 sweep had the casters clustered at 19–22% L12 clear, vs
martials at 70–80%. A per-round trace across 240 boss-room fights showed
why: autoResolveCombat dispatched !attack only — zero spell_casts, zero
mid-fight consumable uses across every caster class. The entire "caster
cliff" was the sim measuring a strawman where casters couldn't cast.

J2a teaches the sim's autoResolveCombat to mirror a competent prod
player: heal at low HP if an inventory consumable is available, otherwise
cast the highest-EV damage spell (slot or cantrip), otherwise swing.
BuildCharacter now seeds the known-spell list via ensureSpellsForCharacter
so the synthetic spellbook is populated. A -trace flag on the cmd
attaches the raw CombatEvent stream to the last combat of each run for
post-hoc diagnostics.

A first re-baseline (n=100, all 10 classes) showed Ranger regressed
-35.8pp — the picker was burning L3 slots on lightning_arrow when
Ranger's weapon chassis (Hunter's Mark + Extra Attack) was the better
play. Added simMartialFirstClass to gate the picker off for Ranger and
Paladin (whose default kit is also weapon-first / no damage spells).
J2c experimented with widening the picker to control + heal spells;
heal-spell preempt cost druid 10pp (slot heals are 10HP vs 40HP
consumables) and control-spell scoring at 22 cost warlock 6.6pp. Both
reverted. Corpora retained under baseline_j2c*.jsonl for the post-mortem
in sim_results/j2b_findings.md.

Post-J2 L12 leaderboard (baseline_j2a_v2_all10.jsonl, n=100):
  fighter 80.0, ranger 80.0, paladin 78.4, rogue 76.8,
  druid 61.6, mage 53.4, sorcerer 50.6, warlock 48.2,
  bard 40.4, cleric 39.0.

The caster cluster is dissolved; martials are within ±5pp of J1 (sweep
noise). Bard/cleric still trail, but it's no longer a sim artifact —
their defaultKnownSpells damage rosters cap at L2 and the picker can't
pick spells they don't have. That's a prod-level fix, deferred.

J3 trace (sim_results/j3_findings.md): T5 dragons_lair walls every solo
class at 0% (Infernax 546 HP vs solo player HP 110–175; ~25% boss HP
eaten before TPK across all classes). Per the J3 plan menu, this is
party-shaped content the engine doesn't yet have parties for. Surface
a TwinBee-voiced heads-up in handleDnDExpeditionCmd's start path and a
matching tag in !expedition list — players see "raid-shaped — solo
runs not yet survivable" before they spend outfitting coin. No combat
or class balance changes.

Files: cmd/expedition-sim/main.go +trace flag; expedition_sim.go picker
+ SimCombatSummary.Events + spellbook seed; dnd_expedition_cmd.go
raidContentWarning + list tag. All baselines + traces + findings
checked in under sim_results/.
This commit is contained in:
prosolis
2026-05-17 15:43:41 -07:00
parent 519964fb01
commit f2c2d774d4
24 changed files with 158396 additions and 21 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,76 @@
# J2 — Caster boss-survival traces (per-round event sweep)
**Date:** 2026-05-17
**Corpus:** `sim_results/j2_traces.jsonl` — 240 expeditions
**Cells:** {mage, cleric, sorcerer, warlock, bard, druid} × {manor_blackspire, underdark} × L12 × n=20
**Method:** New `-trace` flag on `cmd/expedition-sim` attaches the raw `CombatEvent` stream to the last combat (the boss/elite room) of every expedition. Aggregated in `/tmp/analyze_j2.py`.
## Headline
The caster cliff in `baseline_j1_all10.jsonl` is **not a class-balance problem. It is a sim-artifact**: `autoResolveCombat` dispatches `!attack` only — never `!cast`, never `!consume`. Across 240 boss-room fights:
| Event type | Count |
|-------------------------------|------:|
| `player` `spell_cast` | **0** |
| `player` `use_consumable` | **0** |
| `consumable` events | **0** |
| `player` `hit` (weapon swing) | 381 |
| `player` `thorn_lash` (druid passive) | 261 |
Every "caster boss-fight" the matrix has scored to date is a melee swing-fest with the caster's spell slots untouched and their consumables sitting in inventory.
## Class-level per-cell boss-fight rollup (L12)
| class | zone | n | reachBoss | won | lost | rnd | pDmg | eDmg | slotRuns | casts | noSlot | eHPleft |
|----------|------------------|----|-----------|-----|------|-----|------|------|----------|-------|--------|---------|
| mage | manor_blackspire | 20 | 10 | 0 | 10 | 7.4 | 27.4 | 89 | **0** | 0 | 10 | 116.6 |
| mage | underdark | 20 | 13 | 0 | 13 | 5.4 | 28.7 | 68.1 | **0** | 0 | 13 | 133.3 |
| cleric | manor_blackspire | 20 | 7 | 0 | 7 | 7.6 | 28.1 | 101 | **0** | 0 | 7 | 115.9 |
| cleric | underdark | 20 | 1 | 0 | 1 | 2 | 12 | 26 | **0** | 0 | 1 | 150 |
| sorcerer | manor_blackspire | 20 | 11 | 0 | 11 | 6.8 | 16.9 | 86.2 | **0** | 0 | 11 | 127.1 |
| sorcerer | underdark | 20 | 6 | 0 | 6 | 6.5 | 26.8 | 79 | **0** | 0 | 6 | 135.2 |
| warlock | manor_blackspire | 20 | 10 | 0 | 10 | 8.8 | 29.9 | 108.4| **0** | 0 | 10 | 114.1 |
| warlock | underdark | 20 | 15 | 0 | 15 | 8.6 | 53.4 | 96.1 | **0** | 0 | 15 | 108.6 |
| bard | manor_blackspire | 20 | 14 | 0 | 14 | 9.1 | 29.9 | 103.8| **0** | 0 | 14 | 114.1 |
| bard | underdark | 20 | 10 | 0 | 10 | 7.8 | 46.9 | 76.5 | **0** | 0 | 10 | 115.1 |
| *druid* | manor_blackspire | 20 | 15 | 0 | 15 | 8.1 | 77.8 | 107.5| **0** | 0 | 15 | 66.2 |
| *druid* | underdark | 20 | 14 | 0 | 14 | 6.5 | 72.3 | 81.1 | **0** | 0 | 14 | 89.7 |
Columns: `slotRuns` = boss fights where ≥1 slot spell fired; `casts` = total slot casts; `noSlot` = boss fights with zero casts; `eHPleft` = mean enemy HP remaining at player-loss (the "how close did we come" number).
## Why druid is the lone outlier at 39% mean clear
Druid's `ThornLashDmg = 2 + level/4` passive (`dnd_passives.go:210`, Class-identity audit 2026-05-16) fires every time the enemy lands a hit on the player — 5 reactive damage at L12, ×~1015 enemy hits per fight = 5075 incidental player damage. That alone accounts for the ~70+ mean `pDmg` druid posts vs 1753 for the trailers. **Druid is not "tankier than the trailers" — druid is the only class whose damage profile doesn't depend on the spell action**. Wild Shape, the actual durability beat the plan called out, is not wired through `autoResolveCombat` at all; thorn lash is.
## Reaction-spell hypothesis (plan §6.J2 H2) is moot for now
`dnd_spells.go` already documents that reaction-cast spells (`shield`, `counterspell`, `hellish_rebuke`) are explicitly skipped today — no reaction window in combat. So even if `autoResolveCombat` were upgraded, Shield-style auto-fires aren't a J2 lever until a reaction phase exists.
## Conclusion — J2 is hypothesis-3-shaped but the cause is upstream
The plan listed four hypotheses; the trace evidence speaks to them as follows:
1. ~~Damage falls off vs boss HP~~ — confounded: cantrip damage was never tested; player only swung weapons.
2. ~~No durability backstop~~ — Druid's outperformance is offense (thorn lash), not durability. So the durability gap, if it exists, can't be read from this corpus.
3. **Slot/resource economy** — slots aren't being spent in boss fights at all. Confirms casters reach boss "with slots intact" (the plan's optimistic read), but in the worst possible way: the sim refuses to spend them.
4. Cleric identity — `simAutoArmDefaultFor` does pre-arm Healing Word for Cleric (`dnd_abilities.go:375`), and that fires on the armed-ability path before combat. But mid-fight casts of Spiritual Weapon / Bless never fire.
## Recommended J2 lever (replaces the original menu)
**J2a — Teach `autoResolveCombat` to cast and consume.**
Before each `!attack`, the sim should mirror "what a competent prod player would do":
- If HP < ~40% MaxHP and a heal-tagged consumable is in inventory → dispatch `handleConsumeCmd` with that item.
- Else if the character is a spellcaster with available slots and a known damage/control spell that lands → dispatch `handleCastCmd` (priority: damage spell that finishes the enemy → control/stun → buff → cantrip).
- Else swing.
The picker can be small and class-blind for the first cut — pick the highest-level slot whose damage roll most efficiently reduces remaining enemy HP, fall back to a cantrip when slots are dry. Mirror `combat_bridge.go`'s `SelectConsumables` for the heal side.
**J2b — Re-run baseline matrix with the fixed `autoResolveCombat`.**
The current n=100 baseline measures a strawman. Once J2a lands we get a real read on caster boss-survival. Only then is it worth picking class-level levers (or concluding "casters are fine, the sim was lying").
**Out of J2 scope for now:** Reaction wiring (Shield, Counterspell). Per `dnd_spells.go`'s own comments, the reaction phase doesn't exist yet; lifting that ban is its own surface.
## Side note — `autoCombatRoundCap` vs the actual constant
Plan mentions `autoCombatRoundCap = 200`; verified in `expedition_sim.go:528`. No issue, just confirming the harness isn't truncating fights early.

398
sim_results/j2_traces.err Normal file
View File

@@ -0,0 +1,398 @@
2026/05/17 14:33:32 INFO database initialized path=/tmp/expedition-sim-1435326323/gogobee.db
2026/05/17 14:33:32 INFO database initialized path=/tmp/expedition-sim-570080482/gogobee.db
2026/05/17 14:33:32 INFO database initialized path=/tmp/expedition-sim-1961067701/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-2587622653/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-1858572084/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-891082602/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-3411481929/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-4180440505/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-1352384336/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-1857658664/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-1053057170/gogobee.db
2026/05/17 14:33:33 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-0 ability="Healing Word"
2026/05/17 14:33:33 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-0 ability="Healing Word"
2026/05/17 14:33:33 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-0 ability="Healing Word"
2026/05/17 14:33:33 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-0 wanted=1 removed=0
2026/05/17 14:33:33 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-0 wanted=1 removed=0
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-972878641/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-256884369/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-3470319547/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-961022847/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-2323722081/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-2780245983/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-2761994054/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-59185064/gogobee.db
2026/05/17 14:33:33 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-1 ability="Healing Word"
2026/05/17 14:33:33 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-1 ability="Healing Word"
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-1505145848/gogobee.db
2026/05/17 14:33:33 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-1 ability="Healing Word"
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-1383216459/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-1328601750/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-98864978/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-2659914046/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-1386804201/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-163421166/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-220854570/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-3389300164/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-1934711212/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-683711492/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-3235526877/gogobee.db
2026/05/17 14:33:33 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-2 ability="Healing Word"
2026/05/17 14:33:33 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-2 ability="Healing Word"
2026/05/17 14:33:33 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-2 ability="Healing Word"
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-403680368/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-1224265812/gogobee.db
2026/05/17 14:33:33 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-2 wanted=1 removed=0
2026/05/17 14:33:33 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-2 wanted=1 removed=0
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-3033798307/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-4169972330/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-3094361155/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-39807966/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-2571438535/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-2572980888/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-2578263003/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-2463584493/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-1572790867/gogobee.db
2026/05/17 14:33:33 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-3 ability="Healing Word"
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-2937583366/gogobee.db
2026/05/17 14:33:33 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-3 ability="Healing Word"
2026/05/17 14:33:33 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-3 ability="Healing Word"
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-3613819748/gogobee.db
2026/05/17 14:33:33 INFO database initialized path=/tmp/expedition-sim-2540828918/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-1139909187/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-4142969182/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-2019276704/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-2988018196/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-1795837828/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-1760808843/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-2153283131/gogobee.db
2026/05/17 14:33:34 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-4 ability="Healing Word"
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-1942277386/gogobee.db
2026/05/17 14:33:34 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-4 ability="Healing Word"
2026/05/17 14:33:34 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-4 ability="Healing Word"
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-1406817335/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-1271254441/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-854529878/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-1694073851/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-3038451926/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-2343863670/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-1295476148/gogobee.db
2026/05/17 14:33:34 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-0 ability="Healing Word"
2026/05/17 14:33:34 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-0 ability="Healing Word"
2026/05/17 14:33:34 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-0 ability="Healing Word"
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-1125646836/gogobee.db
2026/05/17 14:33:34 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-0 wanted=1 removed=0
2026/05/17 14:33:34 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-0 wanted=1 removed=0
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-1333512022/gogobee.db
2026/05/17 14:33:34 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-5 ability="Healing Word"
2026/05/17 14:33:34 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-5 ability="Healing Word"
2026/05/17 14:33:34 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-5 ability="Healing Word"
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-220710329/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-3277829553/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-1865701626/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-935594784/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-827715148/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-68986296/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-1012607066/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-2500951803/gogobee.db
2026/05/17 14:33:34 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-1 ability="Healing Word"
2026/05/17 14:33:34 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-1 ability="Healing Word"
2026/05/17 14:33:34 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-1 ability="Healing Word"
2026/05/17 14:33:34 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-1 wanted=1 removed=0
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-557441740/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-914070631/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-2271572170/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-2949698724/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-1061067707/gogobee.db
2026/05/17 14:33:34 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-6 ability="Healing Word"
2026/05/17 14:33:34 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-6 ability="Healing Word"
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-1705075809/gogobee.db
2026/05/17 14:33:34 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-6 ability="Healing Word"
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-1523470365/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-3499970093/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-830760784/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-3280978624/gogobee.db
2026/05/17 14:33:34 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-2 ability="Healing Word"
2026/05/17 14:33:34 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-2 ability="Healing Word"
2026/05/17 14:33:34 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-2 ability="Healing Word"
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-307271588/gogobee.db
2026/05/17 14:33:34 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-2 wanted=1 removed=0
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-2775243793/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-3018564373/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-3030586970/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-1029269349/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-4002156351/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-183864816/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-3257645146/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-1929325151/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-225751687/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-3615293801/gogobee.db
2026/05/17 14:33:34 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-3 ability="Healing Word"
2026/05/17 14:33:34 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-3 ability="Healing Word"
2026/05/17 14:33:34 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-7 ability="Healing Word"
2026/05/17 14:33:34 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-7 ability="Healing Word"
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-576438996/gogobee.db
2026/05/17 14:33:34 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-3 ability="Healing Word"
2026/05/17 14:33:34 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-3 wanted=1 removed=0
2026/05/17 14:33:34 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-7 ability="Healing Word"
2026/05/17 14:33:34 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-3 wanted=1 removed=0
2026/05/17 14:33:34 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-3 wanted=1 removed=0
2026/05/17 14:33:34 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-3 wanted=1 removed=0
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-2421935970/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-1180856031/gogobee.db
2026/05/17 14:33:34 INFO database initialized path=/tmp/expedition-sim-2369465835/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-3833483254/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-224923423/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-2726204412/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-2419377482/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-4254550146/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-658875425/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-2977421017/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-2945912897/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-1223443637/gogobee.db
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-4 ability="Healing Word"
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-8 ability="Healing Word"
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-4 ability="Healing Word"
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-8 ability="Healing Word"
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-8 ability="Healing Word"
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-4 ability="Healing Word"
2026/05/17 14:33:35 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-4 wanted=1 removed=0
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-1646450137/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-1481312023/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-3507008659/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-1516972004/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-28609871/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-1430768706/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-4220398274/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-1646369506/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-2125090382/gogobee.db
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-5 ability="Healing Word"
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-5 ability="Healing Word"
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-5 ability="Healing Word"
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-1488901552/gogobee.db
2026/05/17 14:33:35 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-5 wanted=1 removed=0
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-4060999029/gogobee.db
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-9 ability="Healing Word"
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-9 ability="Healing Word"
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-9 ability="Healing Word"
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-1980401808/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-1684418884/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-1794726509/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-1749345557/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-2740874960/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-3925551982/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-2864919519/gogobee.db
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-6 ability="Healing Word"
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-6 ability="Healing Word"
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-3095718542/gogobee.db
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-6 ability="Healing Word"
2026/05/17 14:33:35 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-6 wanted=1 removed=0
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-3373738734/gogobee.db
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-10 ability="Healing Word"
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-3789457226/gogobee.db
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-10 ability="Healing Word"
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-4094310036/gogobee.db
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-10 ability="Healing Word"
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-3470990917/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-3142853546/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-309817808/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-2429653290/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-3580392471/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-597247584/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-2154392471/gogobee.db
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-7 ability="Healing Word"
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-7 ability="Healing Word"
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-7 ability="Healing Word"
2026/05/17 14:33:35 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-7 wanted=1 removed=0
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-2565782481/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-3549806484/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-574287783/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-1200079250/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-1394948982/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-847854238/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-1817871372/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-2323220882/gogobee.db
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-2450392709/gogobee.db
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-11 ability="Healing Word"
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-4012828053/gogobee.db
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-11 ability="Healing Word"
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-276814314/gogobee.db
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-11 ability="Healing Word"
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-8 ability="Healing Word"
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-8 ability="Healing Word"
2026/05/17 14:33:35 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-8 ability="Healing Word"
2026/05/17 14:33:35 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-8 wanted=1 removed=0
2026/05/17 14:33:35 INFO database initialized path=/tmp/expedition-sim-133917226/gogobee.db
2026/05/17 14:33:35 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-8 wanted=1 removed=0
2026/05/17 14:33:36 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-8 wanted=1 removed=0
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-27695044/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-2595221952/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-3729100327/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-40630619/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-1451440739/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-1823882855/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-2323272789/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-1841383835/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-540980082/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-1023722670/gogobee.db
2026/05/17 14:33:36 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-9 ability="Healing Word"
2026/05/17 14:33:36 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-9 ability="Healing Word"
2026/05/17 14:33:36 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-9 ability="Healing Word"
2026/05/17 14:33:36 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-9 wanted=1 removed=0
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-776796602/gogobee.db
2026/05/17 14:33:36 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-9 wanted=1 removed=0
2026/05/17 14:33:36 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-12 ability="Healing Word"
2026/05/17 14:33:36 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-12 ability="Healing Word"
2026/05/17 14:33:36 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-12 ability="Healing Word"
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-376454587/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-4137125856/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-1977687003/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-482104267/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-4191466593/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-3413343421/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-337500389/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-1161698075/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-3923717903/gogobee.db
2026/05/17 14:33:36 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-10 ability="Healing Word"
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-1486542255/gogobee.db
2026/05/17 14:33:36 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-10 ability="Healing Word"
2026/05/17 14:33:36 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-10 ability="Healing Word"
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-609549845/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-2314709835/gogobee.db
2026/05/17 14:33:36 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-13 ability="Healing Word"
2026/05/17 14:33:36 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-13 ability="Healing Word"
2026/05/17 14:33:36 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-13 ability="Healing Word"
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-2226585091/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-4285465609/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-1152863169/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-1140564116/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-247538292/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-12727718/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-493249432/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-3457453074/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-4126564222/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-2948190870/gogobee.db
2026/05/17 14:33:36 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-11 ability="Healing Word"
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-2937358906/gogobee.db
2026/05/17 14:33:36 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-11 ability="Healing Word"
2026/05/17 14:33:36 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-14 ability="Healing Word"
2026/05/17 14:33:36 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-11 ability="Healing Word"
2026/05/17 14:33:36 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-14 ability="Healing Word"
2026/05/17 14:33:36 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-14 ability="Healing Word"
2026/05/17 14:33:36 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-11 wanted=1 removed=0
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-2940956075/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-940255277/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-1219888338/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-1737695406/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-1364107823/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-3928809135/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-2770426133/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-4112019964/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-2920118324/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-841285958/gogobee.db
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-2359475009/gogobee.db
2026/05/17 14:33:36 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-12 ability="Healing Word"
2026/05/17 14:33:36 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-15 ability="Healing Word"
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-4003732719/gogobee.db
2026/05/17 14:33:36 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-15 ability="Healing Word"
2026/05/17 14:33:36 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-12 ability="Healing Word"
2026/05/17 14:33:36 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-15 ability="Healing Word"
2026/05/17 14:33:36 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-12 ability="Healing Word"
2026/05/17 14:33:36 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-15 wanted=1 removed=0
2026/05/17 14:33:36 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-15 wanted=1 removed=0
2026/05/17 14:33:36 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-15 wanted=1 removed=0
2026/05/17 14:33:36 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-15 wanted=1 removed=0
2026/05/17 14:33:36 INFO database initialized path=/tmp/expedition-sim-1124627013/gogobee.db
2026/05/17 14:33:36 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-15 wanted=1 removed=0
2026/05/17 14:33:36 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-12 wanted=1 removed=0
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-3360721450/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-2189731270/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-2135723417/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-4081839001/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-3089792466/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-2658215845/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-711568570/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-2452659043/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-690174537/gogobee.db
2026/05/17 14:33:37 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-16 ability="Healing Word"
2026/05/17 14:33:37 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-16 ability="Healing Word"
2026/05/17 14:33:37 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-16 ability="Healing Word"
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-1712861838/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-839790690/gogobee.db
2026/05/17 14:33:37 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-13 ability="Healing Word"
2026/05/17 14:33:37 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-13 ability="Healing Word"
2026/05/17 14:33:37 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-13 ability="Healing Word"
2026/05/17 14:33:37 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-13 wanted=1 removed=0
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-2069258505/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-448809708/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-870225890/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-1394846529/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-713189544/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-3333028202/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-3490413428/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-216826575/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-2600575392/gogobee.db
2026/05/17 14:33:37 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-17 ability="Healing Word"
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-3247025114/gogobee.db
2026/05/17 14:33:37 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-17 ability="Healing Word"
2026/05/17 14:33:37 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-17 ability="Healing Word"
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-575813843/gogobee.db
2026/05/17 14:33:37 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-17 wanted=1 removed=0
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-852951387/gogobee.db
2026/05/17 14:33:37 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-14 ability="Healing Word"
2026/05/17 14:33:37 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-14 ability="Healing Word"
2026/05/17 14:33:37 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-14 ability="Healing Word"
2026/05/17 14:33:37 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-14 wanted=1 removed=0
2026/05/17 14:33:37 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-14 wanted=1 removed=0
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-1698113894/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-3570143397/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-2415058239/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-637325677/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-1149336246/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-2613071951/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-4240410874/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-1918837118/gogobee.db
2026/05/17 14:33:37 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-18 ability="Healing Word"
2026/05/17 14:33:37 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-18 ability="Healing Word"
2026/05/17 14:33:37 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-18 ability="Healing Word"
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-1562628221/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-741594747/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-3917775001/gogobee.db
2026/05/17 14:33:37 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-15 ability="Healing Word"
2026/05/17 14:33:37 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-15 ability="Healing Word"
2026/05/17 14:33:37 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-15 ability="Healing Word"
2026/05/17 14:33:37 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-15 wanted=1 removed=0
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-1103274777/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-2655969463/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-2440241823/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-3285403820/gogobee.db
2026/05/17 14:33:37 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-19 ability="Healing Word"
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-1632108061/gogobee.db
2026/05/17 14:33:37 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-19 ability="Healing Word"
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-704442070/gogobee.db
2026/05/17 14:33:37 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-19 ability="Healing Word"
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-917462476/gogobee.db
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-702958523/gogobee.db
2026/05/17 14:33:37 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-16 ability="Healing Word"
2026/05/17 14:33:37 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-16 ability="Healing Word"
2026/05/17 14:33:37 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-16 ability="Healing Word"
2026/05/17 14:33:37 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-16 wanted=1 removed=0
2026/05/17 14:33:37 INFO database initialized path=/tmp/expedition-sim-3461168624/gogobee.db
2026/05/17 14:33:38 INFO database initialized path=/tmp/expedition-sim-2994824878/gogobee.db
2026/05/17 14:33:38 INFO database initialized path=/tmp/expedition-sim-2518451673/gogobee.db
2026/05/17 14:33:38 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-17 ability="Healing Word"
2026/05/17 14:33:38 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-17 ability="Healing Word"
2026/05/17 14:33:38 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-17 ability="Healing Word"
2026/05/17 14:33:38 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-17 wanted=1 removed=0
2026/05/17 14:33:38 INFO database initialized path=/tmp/expedition-sim-3320304407/gogobee.db
2026/05/17 14:33:38 INFO database initialized path=/tmp/expedition-sim-1135211496/gogobee.db
2026/05/17 14:33:38 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-18 ability="Healing Word"
2026/05/17 14:33:38 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-18 ability="Healing Word"
2026/05/17 14:33:38 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-18 ability="Healing Word"
2026/05/17 14:33:38 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-18 wanted=1 removed=0
2026/05/17 14:33:38 INFO database initialized path=/tmp/expedition-sim-741208661/gogobee.db
2026/05/17 14:33:38 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-19 ability="Healing Word"
2026/05/17 14:33:38 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-19 ability="Healing Word"
2026/05/17 14:33:38 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-19 ability="Healing Word"
2026/05/17 14:33:38 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-19 wanted=1 removed=0
2026/05/17 14:33:38 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-19 wanted=1 removed=0

240
sim_results/j2_traces.jsonl Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,151 @@
class level zone n p50_yld p50_yld_clr mean_yld mean_rms %clr %boss %tpk %fled %ext
bard 3 dragons_lair 100 0 0 0 0 0 0 0 0 0
bard 7 dragons_lair 100 3 0 3.7 5.7 0 24 98 0 2
bard 12 dragons_lair 100 3 0 4.2 7.5 0 77 100 0 0
cleric 3 dragons_lair 100 0 0 0 0 0 0 0 0 0
cleric 7 dragons_lair 100 3 0 3.4 5.4 0 7 100 0 0
cleric 12 dragons_lair 100 3 0 3.6 7.1 0 60 100 0 0
druid 3 dragons_lair 100 0 0 0 0 0 0 0 0 0
druid 7 dragons_lair 100 3 0 3.5 5.8 0 29 99 0 1
druid 12 dragons_lair 100 4 0 4.1 7.4 0 72 97 0 3
fighter 3 dragons_lair 100 0 0 0 0 0 0 0 0 0
fighter 7 dragons_lair 100 3 0 3.9 6.8 0 56 97 0 3
fighter 12 dragons_lair 100 3 0 3.6 8 0 99 100 0 0
mage 3 dragons_lair 100 0 0 0 0 0 0 0 0 0
mage 7 dragons_lair 100 4 0 4.9 5.6 0 25 99 0 1
mage 12 dragons_lair 100 5 0 5.5 7.3 0 68 100 0 0
paladin 3 dragons_lair 100 0 0 0 0 0 0 0 0 0
paladin 7 dragons_lair 100 2 0 3.1 6.9 0 65 99 0 1
paladin 12 dragons_lair 100 4 0 4.5 7.9 0 95 100 0 0
ranger 3 dragons_lair 100 0 0 0 0 0 0 0 0 0
ranger 7 dragons_lair 100 8 0 8.5 7.8 0 91 98 0 2
ranger 12 dragons_lair 100 8 0 8.8 8 0 99 100 0 0
rogue 3 dragons_lair 100 0 0 0 0 0 0 0 0 0
rogue 7 dragons_lair 100 5 0 4.8 6.5 0 53 94 0 6
rogue 12 dragons_lair 100 5 0 6.6 7.9 0 97 100 0 0
sorcerer 3 dragons_lair 100 0 0 0 0 0 0 0 0 0
sorcerer 7 dragons_lair 100 5 0 5.1 5.2 0 18 100 0 0
sorcerer 12 dragons_lair 100 5 0 5.4 7.2 0 62 100 0 0
warlock 3 dragons_lair 100 0 0 0 0 0 0 0 0 0
warlock 7 dragons_lair 100 4 0 4.1 6 0 34 99 0 1
warlock 12 dragons_lair 100 4 0 4.4 7.5 0 76 98 0 2
bard 3 forest_shadows 100 3 0 4.1 4.2 0 1 100 0 0
bard 7 forest_shadows 100 6 0 7.1 6 0 99 100 0 0
bard 12 forest_shadows 100 7 7 7.8 7 100 100 0 0 0
cleric 3 forest_shadows 100 5 0 5.6 4.7 0 3 100 0 0
cleric 7 forest_shadows 100 6 1 6.7 5.7 5 68 95 0 0
cleric 12 forest_shadows 100 7 8 8.6 6.6 81 81 19 0 0
druid 3 forest_shadows 100 5 0 5.1 5.1 0 13 100 0 0
druid 7 forest_shadows 100 6 5 7.6 6.9 91 100 9 0 0
druid 12 forest_shadows 100 7 7 7.7 7 100 100 0 0 0
fighter 3 forest_shadows 100 5 0 5.8 5.3 0 25 100 0 0
fighter 7 forest_shadows 100 6 6 6.5 7 100 100 0 0 0
fighter 12 forest_shadows 100 6 6 7.4 7 100 100 0 0 0
mage 3 forest_shadows 100 4 0 4.4 3.8 0 0 100 0 0
mage 7 forest_shadows 100 6 7 7 6.9 89 98 11 0 0
mage 12 forest_shadows 100 7 7 7.4 7 100 100 0 0 0
paladin 3 forest_shadows 100 6 0 6.9 5.8 0 77 100 0 0
paladin 7 forest_shadows 100 6 6 6.6 7 100 100 0 0 0
paladin 12 forest_shadows 100 6 6 6.4 7 100 100 0 0 0
ranger 3 forest_shadows 100 12 0 11.8 5.3 0 33 100 0 0
ranger 7 forest_shadows 100 16 16 17.5 6 3 100 97 0 0
ranger 12 forest_shadows 100 14 14 16 7 100 100 0 0 0
rogue 3 forest_shadows 100 5 0 6.3 5.7 0 69 100 0 0
rogue 7 forest_shadows 100 6 7 6.9 6.8 80 100 20 0 0
rogue 12 forest_shadows 100 7 7 6.9 7 100 100 0 0 0
sorcerer 3 forest_shadows 100 3 0 4.1 3.6 0 0 100 0 0
sorcerer 7 forest_shadows 100 6 6 7.5 6.5 62 85 38 0 0
sorcerer 12 forest_shadows 100 6 6 7.2 7 100 100 0 0 0
warlock 3 forest_shadows 100 4 0 4.6 4.1 0 0 100 0 0
warlock 7 forest_shadows 100 6 6 6.6 6.4 45 96 55 0 0
warlock 12 forest_shadows 100 5 5 6.5 7 100 100 0 0 0
bard 3 goblin_warrens 100 5 0 4.8 4.9 0 93 100 0 0
bard 7 goblin_warrens 100 4 4 5.4 6 99 99 1 0 0
bard 12 goblin_warrens 100 4 4 4.5 6 100 100 0 0 0
cleric 3 goblin_warrens 100 4 3 4.3 5 9 86 91 0 0
cleric 7 goblin_warrens 100 4 4 5.2 5.9 96 96 4 0 0
cleric 12 goblin_warrens 100 4 4 4.9 5.9 96 96 4 0 0
druid 3 goblin_warrens 100 5 5 5.1 5.6 67 92 33 0 0
druid 7 goblin_warrens 100 3 3 4.1 6 100 100 0 0 0
druid 12 goblin_warrens 100 4 4 4.8 6 100 100 0 0 0
fighter 3 goblin_warrens 100 4 5 5.1 5.6 66 94 34 0 0
fighter 7 goblin_warrens 100 4 4 5.2 6 100 100 0 0 0
fighter 12 goblin_warrens 100 4 4 5 6 100 100 0 0 0
mage 3 goblin_warrens 100 7 7 6.8 5.6 68 87 32 0 0
mage 7 goblin_warrens 100 5 5 6.3 6 100 100 0 0 0
mage 12 goblin_warrens 100 7 7 7.5 6 100 100 0 0 0
paladin 3 goblin_warrens 100 4 5 5.4 5.8 80 97 20 0 0
paladin 7 goblin_warrens 100 5 5 5.5 6 100 100 0 0 0
paladin 12 goblin_warrens 100 5 5 6.1 6 100 100 0 0 0
ranger 3 goblin_warrens 100 5 0 5.6 4.9 0 89 100 0 0
ranger 7 goblin_warrens 100 4 4 5.2 6 100 100 0 0 0
ranger 12 goblin_warrens 100 4 4 5.4 6 100 100 0 0 0
rogue 3 goblin_warrens 100 8 8 7.7 5.9 86 100 14 0 0
rogue 7 goblin_warrens 100 7 7 7.6 6 100 100 0 0 0
rogue 12 goblin_warrens 100 7 7 8 6 100 100 0 0 0
sorcerer 3 goblin_warrens 100 7 7 7.1 5.5 67 82 33 0 0
sorcerer 7 goblin_warrens 100 5 5 6.7 5.9 95 95 5 0 0
sorcerer 12 goblin_warrens 100 7 7 7 6 100 100 0 0 0
warlock 3 goblin_warrens 100 4 5 4.8 5.3 56 78 44 0 0
warlock 7 goblin_warrens 100 5 5 5.3 6 100 100 0 0 0
warlock 12 goblin_warrens 100 5 5 5.4 6 100 100 0 0 0
bard 3 manor_blackspire 100 4 0 4.5 4.6 0 2 100 0 0
bard 7 manor_blackspire 100 4 0 5.3 6 0 54 100 0 0
bard 12 manor_blackspire 100 4 3 4.5 6 1 68 99 0 0
cleric 3 manor_blackspire 100 3 0 3.9 4.4 0 0 100 0 0
cleric 7 manor_blackspire 100 4 0 4.8 5.7 0 32 100 0 0
cleric 12 manor_blackspire 100 5 5 5 6 6 58 94 0 0
druid 3 manor_blackspire 100 4 0 3.8 5 0 13 100 0 0
druid 7 manor_blackspire 100 4 0 4.9 6 0 58 100 0 0
druid 12 manor_blackspire 100 4 4 4.4 6.7 71 82 29 0 0
fighter 3 manor_blackspire 100 4 0 4.4 5.6 0 15 100 0 0
fighter 7 manor_blackspire 100 3 4 3.5 6.2 17 100 83 0 0
fighter 12 manor_blackspire 100 5 5 5.2 7 100 100 0 0 0
mage 3 manor_blackspire 100 4 0 5.6 3.9 0 0 100 0 0
mage 7 manor_blackspire 100 6 12 6.6 6 2 50 98 0 0
mage 12 manor_blackspire 100 5 6 6.1 6.5 46 68 54 0 0
paladin 3 manor_blackspire 100 3 0 4 5.7 0 42 100 0 0
paladin 7 manor_blackspire 100 3 3 4.3 6.1 5 99 95 0 0
paladin 12 manor_blackspire 100 4 4 4.3 6.9 91 100 9 0 0
ranger 3 manor_blackspire 100 4 0 5 5.4 0 17 100 0 0
ranger 7 manor_blackspire 100 5 0 5.8 6 0 100 100 0 0
ranger 12 manor_blackspire 100 5 5 5.1 6.1 10 100 90 0 0
rogue 3 manor_blackspire 100 6 0 6.6 5.6 0 42 100 0 0
rogue 7 manor_blackspire 100 6 0 7.1 6 0 98 100 0 0
rogue 12 manor_blackspire 100 6 6 6.6 6.8 82 100 18 0 0
sorcerer 3 manor_blackspire 100 5 0 5.2 3.6 0 0 100 0 0
sorcerer 7 manor_blackspire 100 7 0 8 5.9 0 40 100 0 0
sorcerer 12 manor_blackspire 100 5 5 7 6.5 47 69 53 0 0
warlock 3 manor_blackspire 100 4 0 4.8 4.4 0 0 100 0 0
warlock 7 manor_blackspire 100 4 0 5.4 6 0 49 100 0 0
warlock 12 manor_blackspire 100 5 4 5.5 6.3 27 80 73 0 0
bard 3 underdark 100 0 0 0 0 0 0 0 0 0
bard 7 underdark 100 2 0 3 3.7 0 5 100 0 0
bard 12 underdark 100 4 0 4.4 5.7 0 64 100 0 0
cleric 3 underdark 100 0 0 0 0 0 0 0 0 0
cleric 7 underdark 100 2 0 3.5 3.1 0 1 100 0 0
cleric 12 underdark 100 3 0 4.3 4.8 1 10 99 0 0
druid 3 underdark 100 0 0 0 0 0 0 0 0 0
druid 7 underdark 100 4 0 3.9 3.7 0 4 100 0 0
druid 12 underdark 100 5 5 5.7 6.2 33 77 67 0 0
fighter 3 underdark 100 0 0 0 0 0 0 0 0 0
fighter 7 underdark 100 4 6 5.5 6.1 10 90 90 0 0
fighter 12 underdark 100 4 4 4.7 7 100 100 0 0 0
mage 3 underdark 100 0 0 0 0 0 0 0 0 0
mage 7 underdark 100 2 0 2.9 3.4 0 1 100 0 0
mage 12 underdark 100 3 4 4.2 5.6 17 44 83 0 0
paladin 3 underdark 100 0 0 0 0 0 0 0 0 0
paladin 7 underdark 100 5 0 5.5 5.9 0 89 100 0 0
paladin 12 underdark 100 4 4 4.7 6.9 87 100 13 0 0
ranger 3 underdark 100 0 0 0 0 0 0 0 0 0
ranger 7 underdark 100 10 0 11.8 6 0 98 100 0 0
ranger 12 underdark 100 10 16 10.1 6 4 100 96 0 0
rogue 3 underdark 100 0 0 0 0 0 0 0 0 0
rogue 7 underdark 100 5 3 5.3 5.9 1 78 99 0 0
rogue 12 underdark 100 4 4 5 7 99 100 1 0 0
sorcerer 3 underdark 100 0 0 0 0 0 0 0 0 0
sorcerer 7 underdark 100 2 0 3.1 3.1 0 1 100 0 0
sorcerer 12 underdark 100 3 3 3.6 5.1 10 29 90 0 0
warlock 3 underdark 100 0 0 0 0 0 0 0 0 0
warlock 7 underdark 100 3 0 4 3.6 0 5 100 0 0
warlock 12 underdark 100 5 7 5.3 5.8 9 64 91 0 0

View File

@@ -0,0 +1,67 @@
# J2a — autoResolveCombat cast+consume picker (verification sweep)
**Date:** 2026-05-17
**Corpus:** `sim_results/j2a_traces.jsonl` — 240 runs (6 classes × {manor_blackspire, underdark} × L12 × n=20)
**Pre-state corpus:** `sim_results/j2_traces.jsonl` (same shape, picker disabled). See [j2_findings.md](j2_findings.md) for the strawman diagnosis that motivated this fix.
## What J2a shipped
- `internal/plugin/expedition_sim.go`:
- New `simPickCombatAction(uid, sess)` decision tree:
1. HP < 40% MaxHP + heal consumable in inventory → `!consume <heal>`
2. Caster with a usable damage spell (slot or cantrip) → `!cast <spell>`
3. Otherwise → `!attack`
- New `simPickSpell(c, uid)` ranks prepared damage-effect spells by slot level (descending) then expected damage from the dice string. Reaction-cast spells excluded; non-cantrips require an available slot at their native level (no upcasting in v1).
- `BuildCharacter` now calls `ensureSpellsForCharacter` so the synthetic spellbook is populated (prod players hit this on character creation; the sim path skipped it).
- `autoResolveCombat` dispatches via the picker instead of always swinging.
Built on top of the per-round `-trace` plumbing landed earlier in J2 (`SimCombatSummary.Events`, `SetSimIncludeTrace`).
## Verification (n=20 per cell, L12 only — same cells as j2_findings)
| class | zone | n | reachBoss | won | lost | rnd | pDmg | eDmg | slotRuns | casts | consumeRuns | eHP@loss |
|----------|------------------|----|-----------|-----|------|------|-------|-------|----------|-------|-------------|----------|
| mage | manor_blackspire | 20 | 15 | **12** | 3 | 7.2 | 133.0 | 74.3 | 15 / 15 | 93 | 12 | 83.3 |
| mage | underdark | 20 | 8 | 3 | 5 | 7.0 | 143.8 | 78.6 | 8 / 8 | 54 | 2 | 34.2 |
| cleric | manor_blackspire | 20 | 6 | 2 | 4 | 11.3 | 101.3 | 146.2 | 6 / 6 | 58 | 5 | 64.8 |
| cleric | underdark | 20 | 4 | 0 | 4 | 7.0 | 74.5 | 89.5 | 4 / 4 | 28 | 0 | 87.5 |
| sorcerer | manor_blackspire | 20 | 13 | **9** | 4 | 8.0 | 130.9 | 87.3 | 13 / 13 | 91 | 8 | 53.2 |
| sorcerer | underdark | 20 | 7 | 1 | 6 | 5.9 | 89.6 | 67.4 | 7 / 7 | 40 | 1 | 86.2 |
| warlock | manor_blackspire | 20 | 12 | 6 | 6 | 13.2 | 131.0 | 140.6 | 12 / 12 | 141 | 9 | 45.5 |
| warlock | underdark | 20 | 15 | 0 | 15 | 6.8 | 74.3 | 82.5 | 15 / 15 | 101 | 1 | 87.7 |
| bard | manor_blackspire | 20 | 12 | 0 | 12 | 10.6 | 68.1 | 128.2 | 12 / 12 | 117 | 6 | 75.9 |
| bard | underdark | 20 | 12 | 0 | 12 | 11.2 | 74.3 | 108.8 | 12 / 12 | 132 | 2 | 87.7 |
| druid | manor_blackspire | 20 | 15 | **14** | 1 | 6.9 | 142.6 | 84.5 | 15 / 15 | 87 | 11 | 79.0 |
| druid | underdark | 20 | 18 | 3 | 15 | 5.1 | 123.3 | 82.3 | 18 / 18 | 85 | 5 | 47.5 |
`slotRuns` = boss fights where ≥1 spell_cast fired. `casts` = total spell_cast events. `consumeRuns` = fights with ≥1 use_consumable. `eHP@loss` = mean enemy HP remaining when player lost.
## DoD check
- **J2a DoD: ≥80% of boss fights produce a cast or consumable use.** **MET** — every cell shows `slotRuns == reachBoss` (100% cast rate).
- Manor mean clear (5 trailer casters): mage 60%, sorcerer 45%, warlock 30%, bard 0%, cleric 10%. Mage and sorcerer clear the ≥40% J2 target on the strength of the sim fix alone; warlock/cleric are close, bard is the one outlier still at zero.
- Druid jumped 0% → 70% manor / 0% → 15% underdark. Pre-J2a it was the lone mid-band class on weapon-attack alone; with cast on top, druid pulls into the top tier.
## What's still broken and why
- **Bard 0% clear despite firing 117 casts/cell.** Bard's prepared damage spell registry is thin: `vicious_mockery` cantrip (4d4 at L11) and `shatter` L2 (3d8) are the only damage-effect options in `defaultKnownSpells`. Every other bard spell is control/buff/heal, which the v1 picker skips. Bard's average pDmg 68 in 11-round fights = 6/round — that's accurate for the spell pool, not a picker bug. Fix candidates: (a) extend bard's default known-spell list with a damage L3+; (b) widen picker to score `EffectControl` (hold_person, hypnotic_pattern) which trivializes enemy turns and effectively converts to damage by buying free player rounds; (c) include healing spells in the consume-priority path. **(b)** has the highest expected ROI and lifts cleric and warlock too.
- **Cleric still bottom-of-table.** 10% manor / 0% underdark. Cleric's damage-effect spells: `sacred_flame` cantrip (4d8 at L11) — that's it. Same shape problem as bard. `spiritual_weapon`, `bless`, `guiding_bolt`, `cure_wounds` aren't reachable by the v1 picker. Fix: same as bard — score control spells and recognise heal spells as alternatives to consumables (cleric has 40-HP healing word at low slot cost).
- **Warlock underdark 0%.** Different shape: high cast rate (101 casts/15 fights = 7/round), high player damage (74), but loses anyway because enemy damage averaged 82.5 and warlock has no defensive lever. Underdark boss is dropping warlock before warlock can drop it. This is a class-balance problem the post-J2b corpus needs to confirm before we move on.
## Implications for J2b (the big re-baseline)
A full n=100 all-classes baseline (`sim_results/baseline_j2a_all10.jsonl`) is kicked off; that replaces `baseline_j1_all10.jsonl` as the canonical post-fix corpus. Expected shape:
- Mage / sorcerer / druid pull into mid-band (4070% L12 clear range).
- Bard / cleric stay at bottom, but the *reason* is a thin damage-spell pool, not a sim artifact.
- Warlock somewhere middle; partial-clear depending on zone.
- Martials should be unchanged (picker is a no-op for non-casters with no low-HP heal trigger).
If that picture holds, the right J2 follow-up is **picker widening** (control + heal scoring) rather than per-class balance riders. Cleaner than five class buffs.
## Files touched
- `internal/plugin/expedition_sim.go` — picker, BuildCharacter spell-seed, dispatch in autoResolveCombat.
- `cmd/expedition-sim/main.go` — already had `-trace` from earlier in J2.
No prod paths changed. The fix is sim-scoped.

406
sim_results/j2a_traces.err Normal file
View File

@@ -0,0 +1,406 @@
2026/05/17 14:43:54 INFO database initialized path=/tmp/expedition-sim-2841882662/gogobee.db
2026/05/17 14:43:54 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-0 ability="Healing Word"
2026/05/17 14:43:54 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-0 ability="Healing Word"
2026/05/17 14:43:54 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-0 ability="Healing Word"
2026/05/17 14:43:54 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-0 wanted=1 removed=0
2026/05/17 14:43:54 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-0 wanted=1 removed=0
2026/05/17 14:43:54 INFO database initialized path=/tmp/expedition-sim-225352482/gogobee.db
2026/05/17 14:43:54 INFO database initialized path=/tmp/expedition-sim-4205788393/gogobee.db
2026/05/17 14:43:54 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-1 ability="Healing Word"
2026/05/17 14:43:54 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-1 ability="Healing Word"
2026/05/17 14:43:54 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-1 ability="Healing Word"
2026/05/17 14:43:54 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-1 wanted=1 removed=0
2026/05/17 14:43:54 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-1 wanted=1 removed=0
2026/05/17 14:43:54 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-1 wanted=1 removed=0
2026/05/17 14:43:54 INFO database initialized path=/tmp/expedition-sim-1930907323/gogobee.db
2026/05/17 14:43:54 INFO database initialized path=/tmp/expedition-sim-2608712787/gogobee.db
2026/05/17 14:43:54 INFO database initialized path=/tmp/expedition-sim-1176694106/gogobee.db
2026/05/17 14:43:54 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-0 ability="Healing Word"
2026/05/17 14:43:54 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-0 ability="Healing Word"
2026/05/17 14:43:54 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-0 ability="Healing Word"
2026/05/17 14:43:54 INFO database initialized path=/tmp/expedition-sim-2955343031/gogobee.db
2026/05/17 14:43:54 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-2 ability="Healing Word"
2026/05/17 14:43:54 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-2 ability="Healing Word"
2026/05/17 14:43:54 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-2 ability="Healing Word"
2026/05/17 14:43:54 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-2 wanted=1 removed=0
2026/05/17 14:43:54 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-2 wanted=1 removed=0
2026/05/17 14:43:54 INFO database initialized path=/tmp/expedition-sim-4034633129/gogobee.db
2026/05/17 14:43:54 INFO database initialized path=/tmp/expedition-sim-2929207905/gogobee.db
2026/05/17 14:43:54 INFO database initialized path=/tmp/expedition-sim-2110260434/gogobee.db
2026/05/17 14:43:54 INFO database initialized path=/tmp/expedition-sim-2284107973/gogobee.db
2026/05/17 14:43:54 INFO database initialized path=/tmp/expedition-sim-412795061/gogobee.db
2026/05/17 14:43:54 INFO database initialized path=/tmp/expedition-sim-1173027611/gogobee.db
2026/05/17 14:43:54 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-1 ability="Healing Word"
2026/05/17 14:43:54 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-1 ability="Healing Word"
2026/05/17 14:43:54 INFO database initialized path=/tmp/expedition-sim-2445381708/gogobee.db
2026/05/17 14:43:54 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-1 ability="Healing Word"
2026/05/17 14:43:54 INFO database initialized path=/tmp/expedition-sim-1821032632/gogobee.db
2026/05/17 14:43:54 INFO database initialized path=/tmp/expedition-sim-2786520320/gogobee.db
2026/05/17 14:43:54 INFO database initialized path=/tmp/expedition-sim-3005065205/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-791965660/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-2223320144/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-60870279/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-3836426391/gogobee.db
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-3 ability="Healing Word"
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-3 ability="Healing Word"
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-3 ability="Healing Word"
2026/05/17 14:43:55 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-3 wanted=1 removed=0
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-3903226518/gogobee.db
2026/05/17 14:43:55 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-3 wanted=1 removed=0
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-3424518245/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-3911775726/gogobee.db
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-2 ability="Healing Word"
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-2 ability="Healing Word"
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-2 ability="Healing Word"
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-557009472/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-891659795/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-2790310577/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-1893494180/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-2599204073/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-3107205757/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-3202057156/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-2588260230/gogobee.db
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-4 ability="Healing Word"
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-4 ability="Healing Word"
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-4 ability="Healing Word"
2026/05/17 14:43:55 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-4 wanted=1 removed=0
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-173844620/gogobee.db
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-3 ability="Healing Word"
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-3 ability="Healing Word"
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-3 ability="Healing Word"
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-3411128379/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-3548322566/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-3088530070/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-591597397/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-2749783546/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-2720689093/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-1695224480/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-957000268/gogobee.db
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-5 ability="Healing Word"
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-5 ability="Healing Word"
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-5 ability="Healing Word"
2026/05/17 14:43:55 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-5 wanted=1 removed=0
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-1260755451/gogobee.db
2026/05/17 14:43:55 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-5 wanted=1 removed=0
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-974084076/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-2721135246/gogobee.db
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-4 ability="Healing Word"
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-4 ability="Healing Word"
2026/05/17 14:43:55 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-4 wanted=1 removed=0
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-4 ability="Healing Word"
2026/05/17 14:43:55 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-4 wanted=1 removed=0
2026/05/17 14:43:55 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-4 wanted=1 removed=0
2026/05/17 14:43:55 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-4 wanted=1 removed=0
2026/05/17 14:43:55 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-4 wanted=1 removed=0
2026/05/17 14:43:55 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-4 wanted=1 removed=0
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-1048519529/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-1682387304/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-657608895/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-1564107756/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-3063072436/gogobee.db
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-6 ability="Healing Word"
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-6 ability="Healing Word"
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-3622268633/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-1467797736/gogobee.db
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-6 ability="Healing Word"
2026/05/17 14:43:55 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-6 wanted=1 removed=0
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-2232860775/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-2627481174/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-2390666327/gogobee.db
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-5 ability="Healing Word"
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-5 ability="Healing Word"
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-5 ability="Healing Word"
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-1914770656/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-2824103805/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-95110996/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-2829759744/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-1001150422/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-929451847/gogobee.db
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-7 ability="Healing Word"
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-7 ability="Healing Word"
2026/05/17 14:43:55 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-7 ability="Healing Word"
2026/05/17 14:43:55 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-7 wanted=1 removed=0
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-3436574612/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-2958798854/gogobee.db
2026/05/17 14:43:55 INFO database initialized path=/tmp/expedition-sim-2592630111/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-31480089/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-2243703025/gogobee.db
2026/05/17 14:43:56 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-6 ability="Healing Word"
2026/05/17 14:43:56 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-6 ability="Healing Word"
2026/05/17 14:43:56 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-6 ability="Healing Word"
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-2613244335/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-395237346/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-3326655556/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-1845800138/gogobee.db
2026/05/17 14:43:56 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-8 ability="Healing Word"
2026/05/17 14:43:56 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-8 ability="Healing Word"
2026/05/17 14:43:56 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-8 ability="Healing Word"
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-2772701177/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-3972849183/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-3672392659/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-313329452/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-586346631/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-2765126792/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-1436131991/gogobee.db
2026/05/17 14:43:56 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-7 ability="Healing Word"
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-341586518/gogobee.db
2026/05/17 14:43:56 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-7 ability="Healing Word"
2026/05/17 14:43:56 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-7 ability="Healing Word"
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-195889630/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-1979402690/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-1419244121/gogobee.db
2026/05/17 14:43:56 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-9 ability="Healing Word"
2026/05/17 14:43:56 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-9 ability="Healing Word"
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-197539845/gogobee.db
2026/05/17 14:43:56 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-9 ability="Healing Word"
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-4032773905/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-3701142355/gogobee.db
2026/05/17 14:43:56 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-9 wanted=1 removed=0
2026/05/17 14:43:56 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-9 wanted=1 removed=0
2026/05/17 14:43:56 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-9 wanted=1 removed=0
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-3902897193/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-808797586/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-4136221636/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-1986950995/gogobee.db
2026/05/17 14:43:56 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-8 ability="Healing Word"
2026/05/17 14:43:56 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-8 ability="Healing Word"
2026/05/17 14:43:56 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-8 wanted=1 removed=0
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-1859825555/gogobee.db
2026/05/17 14:43:56 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-8 ability="Healing Word"
2026/05/17 14:43:56 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-8 wanted=1 removed=0
2026/05/17 14:43:56 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-8 wanted=1 removed=0
2026/05/17 14:43:56 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-8 wanted=1 removed=0
2026/05/17 14:43:56 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-8 wanted=1 removed=0
2026/05/17 14:43:56 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-8 wanted=1 removed=0
2026/05/17 14:43:56 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-8 wanted=1 removed=0
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-2946961527/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-2429531262/gogobee.db
2026/05/17 14:43:56 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-10 ability="Healing Word"
2026/05/17 14:43:56 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-10 ability="Healing Word"
2026/05/17 14:43:56 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-10 ability="Healing Word"
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-3262540763/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-406280733/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-4121783865/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-3886271696/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-755937194/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-2787117412/gogobee.db
2026/05/17 14:43:56 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-9 ability="Healing Word"
2026/05/17 14:43:56 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-9 ability="Healing Word"
2026/05/17 14:43:56 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-9 ability="Healing Word"
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-1277058289/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-4186523944/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-3400700333/gogobee.db
2026/05/17 14:43:56 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-11 ability="Healing Word"
2026/05/17 14:43:56 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-11 ability="Healing Word"
2026/05/17 14:43:56 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-11 ability="Healing Word"
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-2057624917/gogobee.db
2026/05/17 14:43:56 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-11 wanted=1 removed=0
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-893758964/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-2865260923/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-893271695/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-1834209609/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-259340017/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-443152924/gogobee.db
2026/05/17 14:43:56 INFO database initialized path=/tmp/expedition-sim-534798107/gogobee.db
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-12 ability="Healing Word"
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-12 ability="Healing Word"
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-12 ability="Healing Word"
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-1492944299/gogobee.db
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-10 ability="Healing Word"
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-10 ability="Healing Word"
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-10 ability="Healing Word"
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-1329640727/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-3510807036/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-1677312784/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-2967123722/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-3955369742/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-1638843092/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-3971836417/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-1265464193/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-2557575696/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-4287591977/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-2698331497/gogobee.db
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-13 ability="Healing Word"
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-13 ability="Healing Word"
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-13 ability="Healing Word"
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-2910676030/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-1627295865/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-3781791468/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-1091889186/gogobee.db
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-11 ability="Healing Word"
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-11 ability="Healing Word"
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-11 ability="Healing Word"
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-1848832537/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-1083592695/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-3484468071/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-223486995/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-2518075308/gogobee.db
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-14 ability="Healing Word"
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-14 ability="Healing Word"
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-3752040653/gogobee.db
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-14 ability="Healing Word"
2026/05/17 14:43:57 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-14 wanted=1 removed=0
2026/05/17 14:43:57 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-14 wanted=1 removed=0
2026/05/17 14:43:57 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-14 wanted=1 removed=0
2026/05/17 14:43:57 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-14 wanted=1 removed=0
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-3390344411/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-150176521/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-3536451781/gogobee.db
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-12 ability="Healing Word"
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-12 ability="Healing Word"
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-12 ability="Healing Word"
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-3886065500/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-1109050757/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-4152157644/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-4170366951/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-2833450096/gogobee.db
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-15 ability="Healing Word"
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-1445222612/gogobee.db
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-15 ability="Healing Word"
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-15 ability="Healing Word"
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-3602208598/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-1802403687/gogobee.db
2026/05/17 14:43:57 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-15 wanted=1 removed=0
2026/05/17 14:43:57 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-15 wanted=1 removed=0
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-464538117/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-591307153/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-1657565653/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-1067707991/gogobee.db
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-13 ability="Healing Word"
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-13 ability="Healing Word"
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-13 ability="Healing Word"
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-1130536036/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-555324116/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-979982115/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-564817425/gogobee.db
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-1918459856/gogobee.db
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-16 ability="Healing Word"
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-2353824581/gogobee.db
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-16 ability="Healing Word"
2026/05/17 14:43:57 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-16 ability="Healing Word"
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-1599178712/gogobee.db
2026/05/17 14:43:57 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-16 wanted=1 removed=0
2026/05/17 14:43:57 INFO database initialized path=/tmp/expedition-sim-2711333189/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-3845334846/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-1943741524/gogobee.db
2026/05/17 14:43:58 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-14 ability="Healing Word"
2026/05/17 14:43:58 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-14 ability="Healing Word"
2026/05/17 14:43:58 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-14 ability="Healing Word"
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-3108660236/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-4121050120/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-2311303713/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-106280646/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-1575016660/gogobee.db
2026/05/17 14:43:58 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-17 ability="Healing Word"
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-2656288065/gogobee.db
2026/05/17 14:43:58 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-17 ability="Healing Word"
2026/05/17 14:43:58 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-17 ability="Healing Word"
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-719488742/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-1262298393/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-2481790746/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-2256556235/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-2013936558/gogobee.db
2026/05/17 14:43:58 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-15 ability="Healing Word"
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-4204714177/gogobee.db
2026/05/17 14:43:58 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-15 ability="Healing Word"
2026/05/17 14:43:58 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-15 wanted=1 removed=0
2026/05/17 14:43:58 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-15 ability="Healing Word"
2026/05/17 14:43:58 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-15 wanted=1 removed=0
2026/05/17 14:43:58 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-15 wanted=1 removed=0
2026/05/17 14:43:58 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-15 wanted=1 removed=0
2026/05/17 14:43:58 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-15 wanted=1 removed=0
2026/05/17 14:43:58 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-15 wanted=1 removed=0
2026/05/17 14:43:58 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-manor_blackspire-15 wanted=1 removed=0
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-2304427836/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-1363285098/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-1907634492/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-2542100338/gogobee.db
2026/05/17 14:43:58 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-18 ability="Healing Word"
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-2279242167/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-487534128/gogobee.db
2026/05/17 14:43:58 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-18 ability="Healing Word"
2026/05/17 14:43:58 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-18 ability="Healing Word"
2026/05/17 14:43:58 WARN auto-heal cleanup: short on inventory user=@sim:cleric-l12-underdark-18 wanted=1 removed=0
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-3871894932/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-3809454218/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-3398006598/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-4239387458/gogobee.db
2026/05/17 14:43:58 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-16 ability="Healing Word"
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-3581761743/gogobee.db
2026/05/17 14:43:58 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-16 ability="Healing Word"
2026/05/17 14:43:58 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-16 ability="Healing Word"
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-3490615026/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-2753050590/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-886249041/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-3732143829/gogobee.db
2026/05/17 14:43:58 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-19 ability="Healing Word"
2026/05/17 14:43:58 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-19 ability="Healing Word"
2026/05/17 14:43:58 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-underdark-19 ability="Healing Word"
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-1506959/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-1569482860/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-1104745961/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-1619123479/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-1516630739/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-1113187191/gogobee.db
2026/05/17 14:43:58 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-17 ability="Healing Word"
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-1860557687/gogobee.db
2026/05/17 14:43:58 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-17 ability="Healing Word"
2026/05/17 14:43:58 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-17 ability="Healing Word"
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-189211669/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-2904984255/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-1696777558/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-2383322429/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-910046284/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-3952079025/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-260516460/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-4221126017/gogobee.db
2026/05/17 14:43:58 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-18 ability="Healing Word"
2026/05/17 14:43:58 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-18 ability="Healing Word"
2026/05/17 14:43:58 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-18 ability="Healing Word"
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-3199452696/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-401258720/gogobee.db
2026/05/17 14:43:58 INFO database initialized path=/tmp/expedition-sim-3635517879/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-1840100184/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-3744271099/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-2513846601/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-4136361311/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-2024110754/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-3010651090/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-3550751545/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-4130428632/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-1514264878/gogobee.db
2026/05/17 14:43:59 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-19 ability="Healing Word"
2026/05/17 14:43:59 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-19 ability="Healing Word"
2026/05/17 14:43:59 INFO dnd: armed ability fired (turn-based build) user=@sim:cleric-l12-manor_blackspire-19 ability="Healing Word"
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-2880784602/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-4289186554/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-4146683819/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-160060743/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-353707644/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-1636999209/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-3390283268/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-826756018/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-547509131/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-4022639383/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-3551275989/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-1302856577/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-2850236305/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-2113733943/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-2254598562/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-254159564/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-739650239/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-2204564464/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-2356786064/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-2226186626/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-1705628391/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-634290542/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-1269283242/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-3919510895/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-1823197516/gogobee.db
2026/05/17 14:43:59 INFO database initialized path=/tmp/expedition-sim-2557976063/gogobee.db
2026/05/17 14:44:00 INFO database initialized path=/tmp/expedition-sim-357381407/gogobee.db
2026/05/17 14:44:00 INFO database initialized path=/tmp/expedition-sim-53293036/gogobee.db
2026/05/17 14:44:00 INFO database initialized path=/tmp/expedition-sim-1739792480/gogobee.db
2026/05/17 14:44:00 INFO database initialized path=/tmp/expedition-sim-2016742342/gogobee.db
2026/05/17 14:44:00 INFO database initialized path=/tmp/expedition-sim-1658638379/gogobee.db
2026/05/17 14:44:00 INFO database initialized path=/tmp/expedition-sim-139478709/gogobee.db

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,151 @@
class level zone n p50_yld p50_yld_clr mean_yld mean_rms %clr %boss %tpk %fled %ext
bard 3 dragons_lair 100 0 0 0 0 0 0 0 0 0
bard 7 dragons_lair 100 3 0 3.6 6.1 0 36 99 0 1
bard 12 dragons_lair 100 4 0 5 7.6 0 80 100 0 0
cleric 3 dragons_lair 100 0 0 0 0 0 0 0 0 0
cleric 7 dragons_lair 100 4 0 3.5 5.1 0 13 100 0 0
cleric 12 dragons_lair 100 4 0 4 7.2 0 58 100 0 0
druid 3 dragons_lair 100 0 0 0 0 0 0 0 0 0
druid 7 dragons_lair 100 3 0 3.7 6 0 36 99 0 1
druid 12 dragons_lair 100 3 0 3.8 7.5 0 77 99 0 1
fighter 3 dragons_lair 100 0 0 0 0 0 0 0 0 0
fighter 7 dragons_lair 100 4 0 4.3 7.2 0 72 99 0 1
fighter 12 dragons_lair 100 4 0 4.4 8 0 100 100 0 0
mage 3 dragons_lair 100 0 0 0 0 0 0 0 0 0
mage 7 dragons_lair 100 4 0 4.4 5.6 0 28 100 0 0
mage 12 dragons_lair 100 6 0 6.3 7.3 0 66 99 0 1
paladin 3 dragons_lair 100 0 0 0 0 0 0 0 0 0
paladin 7 dragons_lair 100 3 0 3.9 7 0 59 93 0 7
paladin 12 dragons_lair 100 4 0 4.2 7.9 0 96 100 0 0
ranger 3 dragons_lair 100 0 0 0 0 0 0 0 0 0
ranger 7 dragons_lair 100 8 0 8.9 7.7 0 87 97 0 3
ranger 12 dragons_lair 100 7 0 9.2 8 0 100 100 0 0
rogue 3 dragons_lair 100 0 0 0 0 0 0 0 0 0
rogue 7 dragons_lair 100 5 0 5.9 6.5 0 52 95 0 5
rogue 12 dragons_lair 100 6 0 6.5 7.9 0 96 99 0 1
sorcerer 3 dragons_lair 100 0 0 0 0 0 0 0 0 0
sorcerer 7 dragons_lair 100 3 0 4.1 5.4 0 18 98 0 2
sorcerer 12 dragons_lair 100 5 0 5.3 7.2 0 60 100 0 0
warlock 3 dragons_lair 100 0 0 0 0 0 0 0 0 0
warlock 7 dragons_lair 100 3 0 3.4 5.8 0 28 100 0 0
warlock 12 dragons_lair 100 3 0 4.3 7.4 0 70 100 0 0
bard 3 forest_shadows 100 4 0 5.1 4.3 0 1 100 0 0
bard 7 forest_shadows 100 7 0 7.6 6 0 99 100 0 0
bard 12 forest_shadows 100 6 6 6.6 7 100 100 0 0 0
cleric 3 forest_shadows 100 4 0 5.1 4.6 0 1 100 0 0
cleric 7 forest_shadows 100 6 0 7.5 5.8 0 73 100 0 0
cleric 12 forest_shadows 100 9 9 8.1 6.8 90 90 10 0 0
druid 3 forest_shadows 100 5 0 6 5.2 0 11 100 0 0
druid 7 forest_shadows 100 7 7 7.9 6.8 84 99 16 0 0
druid 12 forest_shadows 100 7 7 7.4 7 100 100 0 0 0
fighter 3 forest_shadows 100 4 0 5.2 5.3 0 28 100 0 0
fighter 7 forest_shadows 100 6 6 6.7 7 100 100 0 0 0
fighter 12 forest_shadows 100 5 5 6.2 7 100 100 0 0 0
mage 3 forest_shadows 100 3 0 4.6 3.9 0 1 100 0 0
mage 7 forest_shadows 100 6 6 6.7 6.8 86 96 14 0 0
mage 12 forest_shadows 100 6 6 7 7 99 99 1 0 0
paladin 3 forest_shadows 100 6 0 7.8 5.9 0 86 100 0 0
paladin 7 forest_shadows 100 7 7 7.7 7 100 100 0 0 0
paladin 12 forest_shadows 100 6 6 6.6 7 100 100 0 0 0
ranger 3 forest_shadows 100 11 0 11.7 5.2 0 23 100 0 0
ranger 7 forest_shadows 100 13 13 14.8 7 100 100 0 0 0
ranger 12 forest_shadows 100 13 13 15.1 7 100 100 0 0 0
rogue 3 forest_shadows 100 5 0 6.4 5.8 0 80 100 0 0
rogue 7 forest_shadows 100 8 8 8.6 6.9 85 100 15 0 0
rogue 12 forest_shadows 100 6 6 6.7 7 100 100 0 0 0
sorcerer 3 forest_shadows 100 4 0 5.3 3.5 0 0 100 0 0
sorcerer 7 forest_shadows 100 6 6 6.4 6.5 63 86 37 0 0
sorcerer 12 forest_shadows 100 7 7 7.5 7 98 98 2 0 0
warlock 3 forest_shadows 100 4 0 5.1 4.2 0 1 100 0 0
warlock 7 forest_shadows 100 5 7 6.4 6.3 34 96 66 0 0
warlock 12 forest_shadows 100 7 7 7.8 7 100 100 0 0 0
bard 3 goblin_warrens 100 4 0 4.4 4.8 0 80 100 0 0
bard 7 goblin_warrens 100 5 5 5.7 6 100 100 0 0 0
bard 12 goblin_warrens 100 4 4 5 6 100 100 0 0 0
cleric 3 goblin_warrens 100 4 5 4.6 5 15 85 85 0 0
cleric 7 goblin_warrens 100 4 4 4.6 5.8 91 91 9 0 0
cleric 12 goblin_warrens 100 4 4 4.9 5.9 96 96 4 0 0
druid 3 goblin_warrens 100 3 3 4 5.6 67 93 33 0 0
druid 7 goblin_warrens 100 5 5 5.4 6 100 100 0 0 0
druid 12 goblin_warrens 100 4 4 4.6 6 100 100 0 0 0
fighter 3 goblin_warrens 100 5 5 5.2 5.5 54 92 46 0 0
fighter 7 goblin_warrens 100 5 5 6.1 6 100 100 0 0 0
fighter 12 goblin_warrens 100 4 4 5.7 6 100 100 0 0 0
mage 3 goblin_warrens 100 6 8 6.9 5.5 67 78 33 0 0
mage 7 goblin_warrens 100 6 6 7 5.9 97 97 3 0 0
mage 12 goblin_warrens 100 7 7 7.7 6 100 100 0 0 0
paladin 3 goblin_warrens 100 5 5 5.1 5.9 88 98 12 0 0
paladin 7 goblin_warrens 100 5 5 5.6 6 100 100 0 0 0
paladin 12 goblin_warrens 100 4 4 5.3 6 100 100 0 0 0
ranger 3 goblin_warrens 100 5 6 5.9 5.5 64 90 36 0 0
ranger 7 goblin_warrens 100 6 6 6.3 6 100 100 0 0 0
ranger 12 goblin_warrens 100 5 5 5.5 6 100 100 0 0 0
rogue 3 goblin_warrens 100 7 7 6.9 5.8 81 95 19 0 0
rogue 7 goblin_warrens 100 6 6 6.9 6 100 100 0 0 0
rogue 12 goblin_warrens 100 7 7 7.2 6 100 100 0 0 0
sorcerer 3 goblin_warrens 100 6 6 6.5 5.5 66 79 34 0 0
sorcerer 7 goblin_warrens 100 7 7 6.9 5.9 95 95 5 0 0
sorcerer 12 goblin_warrens 100 6 6 7.1 6 100 100 0 0 0
warlock 3 goblin_warrens 100 4 5 4.9 5.4 56 83 44 0 0
warlock 7 goblin_warrens 100 4 4 5 6 100 100 0 0 0
warlock 12 goblin_warrens 100 5 5 5.2 6 100 100 0 0 0
bard 3 manor_blackspire 100 3 0 4.5 4.6 0 1 100 0 0
bard 7 manor_blackspire 100 4 0 4.8 6 0 58 100 0 0
bard 12 manor_blackspire 100 5 11 4.8 6 2 76 98 0 0
cleric 3 manor_blackspire 100 3 0 3.3 4.1 0 1 100 0 0
cleric 7 manor_blackspire 100 4 0 4.3 5.7 0 24 100 0 0
cleric 12 manor_blackspire 100 3 4 3.8 6 9 55 91 0 0
druid 3 manor_blackspire 100 4 0 4.3 5.4 0 10 100 0 0
druid 7 manor_blackspire 100 4 0 4.5 6 0 57 100 0 0
druid 12 manor_blackspire 100 4 4 4.8 6.7 74 79 26 0 0
fighter 3 manor_blackspire 100 4 0 3.9 5.4 0 21 100 0 0
fighter 7 manor_blackspire 100 4 5 4.1 6.1 14 100 86 0 0
fighter 12 manor_blackspire 100 4 4 4.4 7 100 100 0 0 0
mage 3 manor_blackspire 100 4 0 4.7 3.8 0 0 100 0 0
mage 7 manor_blackspire 100 5 22 6.4 5.9 1 49 99 0 0
mage 12 manor_blackspire 100 5 5 5.8 6.5 49 63 51 0 0
paladin 3 manor_blackspire 100 3 0 3.6 5.8 0 47 100 0 0
paladin 7 manor_blackspire 100 5 4 5 6.2 17 98 83 0 0
paladin 12 manor_blackspire 100 4 4 4.9 7 96 100 4 0 0
ranger 3 manor_blackspire 100 4 0 5 5.3 0 15 100 0 0
ranger 7 manor_blackspire 100 5 5 5.9 6.3 30 100 70 0 0
ranger 12 manor_blackspire 100 4 4 5.3 7 100 100 0 0 0
rogue 3 manor_blackspire 100 5 0 6.4 5.6 0 34 100 0 0
rogue 7 manor_blackspire 100 6 7 6.6 6 4 99 96 0 0
rogue 12 manor_blackspire 100 6 6 6.9 6.9 90 100 10 0 0
sorcerer 3 manor_blackspire 100 4 0 5 3.9 0 0 100 0 0
sorcerer 7 manor_blackspire 100 7 6 7.4 5.9 1 36 99 0 0
sorcerer 12 manor_blackspire 100 6 7 7 6.5 47 60 53 0 0
warlock 3 manor_blackspire 100 4 0 4.5 4.3 0 0 100 0 0
warlock 7 manor_blackspire 100 4 0 4.9 6 0 65 100 0 0
warlock 12 manor_blackspire 100 4 5 5.3 6.3 34 69 66 0 0
bard 3 underdark 100 0 0 0 0 0 0 0 0 0
bard 7 underdark 100 3 0 3.7 3.8 0 3 100 0 0
bard 12 underdark 100 4 0 4 5.7 0 66 100 0 0
cleric 3 underdark 100 0 0 0 0 0 0 0 0 0
cleric 7 underdark 100 2 0 3 3.1 0 1 100 0 0
cleric 12 underdark 100 4 0 5.1 4.8 0 13 100 0 0
druid 3 underdark 100 0 0 0 0 0 0 0 0 0
druid 7 underdark 100 3 0 4.3 3.7 0 7 100 0 0
druid 12 underdark 100 5 5 5.3 6.3 34 84 66 0 0
fighter 3 underdark 100 0 0 0 0 0 0 0 0 0
fighter 7 underdark 100 5 6 4.9 6.1 10 96 90 0 0
fighter 12 underdark 100 4 4 4.8 7 100 100 0 0 0
mage 3 underdark 100 0 0 0 0 0 0 0 0 0
mage 7 underdark 100 2 0 3 3.1 0 0 100 0 0
mage 12 underdark 100 4 4 4.6 5.8 19 60 81 0 0
paladin 3 underdark 100 0 0 0 0 0 0 0 0 0
paladin 7 underdark 100 3 2 4.3 5.9 2 80 98 0 0
paladin 12 underdark 100 4 4 4.8 7 96 100 4 0 0
ranger 3 underdark 100 0 0 0 0 0 0 0 0 0
ranger 7 underdark 100 9 10 9.3 6.3 30 98 70 0 0
ranger 12 underdark 100 9 9 9.7 7 100 100 0 0 0
rogue 3 underdark 100 0 0 0 0 0 0 0 0 0
rogue 7 underdark 100 5 4 4.7 5.8 5 80 95 0 0
rogue 12 underdark 100 5 5 5.5 6.9 94 99 6 0 0
sorcerer 3 underdark 100 0 0 0 0 0 0 0 0 0
sorcerer 7 underdark 100 2 0 2.7 2.9 0 1 100 0 0
sorcerer 12 underdark 100 3 8 3.7 5.1 8 32 92 0 0
warlock 3 underdark 100 0 0 0 0 0 0 0 0 0
warlock 7 underdark 100 2 0 3.5 3.6 0 3 100 0 0
warlock 12 underdark 100 4 2 4.1 5.6 7 69 93 0 0

View File

@@ -0,0 +1,81 @@
# J2b — Post-J2a all-classes baseline (n=100)
**Date:** 2026-05-17
**Corpus:** `sim_results/baseline_j2a_v2_all10.jsonl` (15,000 rows = 10 classes × 3 levels × 5 zones × n=100). Per-cell tabular summary in `sim_results/j2b_all10_summary.txt`.
**Replaces:** `sim_results/baseline_j1_all10.jsonl` as the post-sim-fix canonical corpus. The J1 numbers measured a strawman where casters never cast (see [j2_findings.md](j2_findings.md)).
## L12 leaderboard (mean %clr across all 5 zones)
| Class | J1 baseline | J2b | Δ | J1 boss% | J2b boss% | Per-zone J2b %clr (T1 / T2 / T3 / T4 / T5) |
|----------|-------------|-------|--------|----------|-----------|--------------------------------------------|
| fighter | 79.6 | 80.0 | **+0.4** | 100.0 | 100.0 | 100 / 100 / 100 / 100 / 0 |
| ranger | 78.6 | 80.0 | **+1.4** | 100.0 | 100.0 | 100 / 100 / 100 / 100 / 0 |
| paladin | 72.2 | 78.4 | **+6.2** | 99.6 | 99.2 | 100 / 100 / 96 / 96 / 0 |
| rogue | 70.6 | 76.8 | **+6.2** | 99.0 | 99.0 | 100 / 100 / 90 / 94 / 0 |
| druid | 38.6 | 61.6 | **+23.0** | 88.4 | 88.0 | 100 / 100 / 74 / 34 / 0 |
| mage | 20.0 | 53.4 | **+33.4** | 77.2 | 77.6 | 100 / 99 / 49 / 19 / 0 |
| sorcerer | 20.0 | 50.6 | **+30.6** | 70.4 | 70.0 | 100 / 98 / 47 / 8 / 0 |
| warlock | 21.4 | 48.2 | **+26.8** | 82.2 | 81.6 | 100 / 100 / 34 / 7 / 0 |
| bard | 21.6 | 40.4 | **+18.8** | 82.0 | 84.4 | 100 / 100 / 2 / 0 / 0 |
| cleric | 18.6 | 39.0 | **+20.4** | 61.6 | 62.4 | 96 / 90 / 9 / 0 / 0 |
## Headline
1. **No martial regression.** Fighter/Ranger/Paladin/Rogue all moved within +0.4 to +6.2pp, indistinguishable from sweep variance. The `simMartialFirstClass` gate added after the v1 sweep saved Ranger (which had regressed -35.8pp when the picker burned L3 slots on `lightning_arrow` instead of letting the weapon-attack + Hunter's Mark + Extra Attack chassis swing).
2. **Caster cliff is dissolved.** The pre-fix 1922% cluster spread out to 3962%. The picker alone — no balance changes — converted the trailers to mid-band classes.
3. **Druid is now top-of-band-2 at 61.6%.** Wild Resilience's ThornLash on weapon swings plus the new cast path stacks cleanly. Druid is still defensive-first by design; the cast layer turns boss rooms from "swing-and-bleed" into "burn-and-finish".
4. **T5 dragons_lair still walls everyone (0% clear across all 10 classes).** That's the J3 problem; J2 wasn't on the hook for it, and the sim-artifact half of J3's hypothesis 1 (`autoResolveCombat` never casting/consuming) is now closed by J2a.
## What's still trailing — bard and cleric
Bard L12 manor 2%, cleric L12 manor 9% — both reach the boss (~5084%) and die there. **Not a sim artifact**; this is the spell pool. The v1 picker only scores damage-effect spells, and these two classes have thin damage rosters in `defaultKnownSpells`:
- **Bard** damage options: `vicious_mockery` (cantrip), `shatter` L2. Everything else in the bard kit is control / heal / buff, which the picker skips.
- **Cleric** damage options: `sacred_flame` (cantrip), `guiding_bolt` L1, `spiritual_weapon` L2, `spirit_guardians` L3, `flame_strike` L5. The non-damage options (`bless`, `healing_word`, `mass_cure_wounds`, etc.) are skipped too.
Both classes' identity spells are control (`hold_person`, `hypnotic_pattern`, `command`) and heal (`cure_wounds`, `healing_word`, `mass_cure_wounds`). The picker treats those as zero-value.
Note on cleric underdark: 87% of L12 underdark runs end as `tpk` with stop `ended` — that's expedition-side starvation, not boss-fight TPK (only 13% reach boss/elite). Cleric's exploration loop is brittle for unrelated reasons (low STR/CON build, supply burn). Out of J2 scope.
## J2 DoD check
Reframed DoD (`gogobee_harvest_charges_plan.md` §6.J2, updated 2026-05-17):
- **J2a — ≥80% of boss fights produce a cast or consumable.** **MET** (100% cast rate in the verification sweep, [j2a_findings.md](j2a_findings.md)).
- **J2b — caster L12 manor mean clear ≥ druid's pre-J2a 39%.** Mage 49 ✓, sorcerer 47 ✓, warlock 34 ✗ (close), bard 2 ✗, cleric 9 ✗. **3 of 5 pass.**
- **No martial leader regresses >10pp.** **MET** (all +0.4 to +6.2pp).
Two trailers still under the floor (bard, cleric). They're now bottlenecked on **spell-pool richness for the v1 damage-only picker**, not on the sim itself. The cleanest next move:
## J2c — tried, reverted (2026-05-17)
Implemented two widening levers, ran two n=100 sweeps, and reverted both:
1. **Heal-spell preempt** (cure_wounds / healing_word / mass_cure_wounds preferred over heal consumable at low HP). Regressed **druid -10pp**: slot heals at L12 heal ~10HP vs 40HP from a tier-4 Spirit Tonic, and the picker burned slots druid needed for damage spells.
2. **Control-spell scoring at 22** (denied-enemy-turn proxy). Regressed **warlock -6.6pp** — vampiric_touch L3 (10.5 expected over multiple rounds + heal) was outscored by hypnotic_pattern L3 (single denied turn). Dropping the score to 5 brought net deltas back to ±2pp but didn't lift bard or cleric, because the level-first sort prevents low-score control spells from ever winning over a higher-level damage option (which the trailer classes don't have at higher slots).
Corpora retained for reference: `sim_results/baseline_j2c_all10.jsonl` (heal-preempt + control@22) and `sim_results/baseline_j2c_v2_all10.jsonl` (control@5 only). The picker reverted to the J2b shape (damage-effect only, level-first sort, no heal-spell preempt).
**Real lever for bard/cleric trailing.** Their `defaultKnownSpells` damage rosters cap at L2 (bard: shatter; cleric: spiritual_weapon's 1d8). The picker can't pick higher-damage spells they don't have. Lifting these classes is therefore a **prod-level change to `defaultKnownSpells`** (add a damage option at L3+ for bard, a damage option at L4+ for cleric) — not a sim-picker change. Out of scope for J2; revisit alongside class identity / Open5e integration work.
## (original) Recommended J2c (now superseded by the section above)
**Widen the picker to score control + heal spells.**
- `EffectControl` (e.g. `hold_person`, `hypnotic_pattern`, `hideous_laughter`, `command`) should score as the *enemy damage it prevents over its expected effect duration* — i.e. each prevented enemy turn ≈ one round's worth of incoming damage. For a stunner that lands and lasts 1 round on a 30-dmg/round boss, that's a 30-equivalent. Better than most damage spells.
- `EffectSpellHeal` should compete with the consume-on-low-HP branch — if the cleric has `mass_cure_wounds` ready, it should fire at the low-HP threshold instead of a `Spirit Tonic`.
- `EffectBuffSelf` (e.g. `bless`, `shield_of_faith`) lifts to-hit chance / AC. Score in opening round of a fight only; subsequent rounds it's a waste.
This is one focused change in `simPickSpell` + `simPickCombatAction`. Expected impact: bard pulls into the 3040% manor band (control spells are the bard identity); cleric pulls similarly. Martial leaders unchanged. Whether it's needed depends on operator: J2's reframed DoD allows shipping J2 with bard/cleric trailing if the prod target is "five classes mid-band, two below". Per [feedback_difficulty_target](.claude/memory/feedback_difficulty_target.md), the explicit ask is to lift trailers — that argues for landing J2c.
## Files touched this phase
- `internal/plugin/expedition_sim.go`:
- `SimCombatSummary.Events`, `simIncludeTrace` + `SetSimIncludeTrace` (J2 diagnostic).
- `simPickCombatAction`, `simPickSpell`, `simMartialFirstClass`, `simHealHPThresholdPct` (J2a picker + post-baseline fix).
- `BuildCharacter` now seeds `ensureSpellsForCharacter`.
- `autoResolveCombat` dispatches via the picker.
- `cmd/expedition-sim/main.go`: `-trace` flag.
- Docs: `sim_results/j2_findings.md`, `sim_results/j2a_findings.md`, `sim_results/j2b_findings.md`, `sim_results/j2b_all10_summary.txt`, plan §6.J2.
No prod combat / class / spell paths changed. Everything is in the sim harness.

View File

@@ -0,0 +1,43 @@
# J3 — T5 dragons_lair universal wall (initial trace)
**Date:** 2026-05-17
**Corpus:** `sim_results/j3_traces.jsonl` — 60 expeditions (6 representative classes × L12 × dragons_lair × n=10), per-round traces enabled. Hypothesis-sift only; not a balance sweep.
**Pre-state:** post-J2 picker (`baseline_j2a_v2_all10.jsonl` shows 0% clear across all 10 classes at L12 dragons_lair).
## Boss-room aggregates (L12 vs `boss_*` of dragons_lair)
| class | n | reachBoss | won | rounds | pDmg | eDmg | enemyHPMax | enemyHP@end | playerHPMax | playerHP@end | casts | consume |
|---------|----|-----------|-----|--------|-------|-------|------------|-------------|-------------|--------------|-------|---------|
| fighter | 10 | 10 | 0 | 8.8 | 122.5 | 207.8 | **546** | 423.5 | 173.6 | 0 | 0 | 14 |
| ranger | 10 | 10 | 0 | 8.8 | 133.4 | 197.1 | **546** | 412.6 | 131.0 | 0 | 0 | 18 |
| paladin | 10 | 10 | 0 | 8.3 | 76.0 | 200.0 | **546** | 470.0 | 169.4 | 0 | 0 | 16 |
| rogue | 10 | 9 | 0 | 6.6 | 63.7 | 168.6 | **546** | 482.3 | 133.2 | 0 | 0 | 11 |
| druid | 10 | 9 | 0 | 4.8 | 122.4 | 136.9 | **546** | 423.6 | 131.0 | 0 | 34 | 9 |
| mage | 10 | 6 | 0 | 5.2 | 92.7 | 129.2 | **546** | 453.3 | 112.5 | 0 | 26 | 5 |
## Diagnosis
T5 dragons_lair boss is at **546 max HP**. Solo characters (player HP 110175) take 59 rounds to die, dealing 60130 player damage in that time — they chew down ~1025% of the boss before being TPK'd. This is **party content tuned for solo by accident**.
Per-round math: clearing 546 HP in ~10 rounds requires ~55 DPR sustained. Solo player DPR caps around 1525 even on fighter (122/8.8 = 13.9 mean) and druid (122/4.8 = 25.5 — burst before dying). A 4-character party at the same DPR clears in ~7 rounds, which is the survivable window the boss seems tuned around.
Plan §J3 listed three hypotheses; this trace rules them out cleanly:
1. ~~`autoResolveCombat` unfair (only swings).~~ **Closed by J2a.** Druid/mage are now casting (34/26 casts in 10 fights) and still 0% clear.
2. ~~Boss HP pool just too deep / multi-phase.~~ **No multi-phase complication observed** — fights are linear monotone HP descent, the boss just doesn't have a phase mechanic exposed in the trace. The HP pool *itself* is the issue.
3. **Party scaling missing — boss is tuned for 4-character parties.** Confirmed by the consistent ~25% boss-HP-eaten-at-player-death across every class.
## Recommended J3 lever
Per `gogobee_harvest_charges_plan.md` §J3 likely-levers, the difficulty memo allows *lifting trailers without pushing monster scaling*. **Reducing boss scaling at low party counts is in-bounds.**
- **Auto-scale boss HP (and probably boss damage) by participant count.** A simple `bossHP *= (0.4 + 0.15*participants)` style ramp would put solo at 0.55× (≈ 300 HP from 546) and 4-up at full. That brings a 59 round solo fight in line with the boss-HP curve already validated at T3/T4 (post-J2 manor: 60%+ clear for top classes; underdark: 30100%).
- **Alternative:** Document dragons_lair as raid content. Surface a verb-style warning in `!zone` help ("Bring friends — this dragon eats solo adventurers."). Cheaper but doesn't lift the trailer end of the solo population, which `feedback_difficulty_target` says we should.
Recommendation: **try party-scaling first** — it's the lever that both keeps the boss difficult for parties AND respects the "lift trailers" feedback. Document-only is the fallback if scaling proves intrusive.
## Open question for the operator
What's the *intended* T5 boss audience — solo or party? If solo, scaling is required. If party, dragons_lair should be flagged as raid content and not appear in solo-play recommendations. The sim has been running solo throughout, which the plan's J-phase open questions already flagged needs an operator answer.
Out of scope here: implementing the scaling lever. That's a prod change in the boss HP / damage path. Picking up that work would need the operator's call on the audience question first.

90
sim_results/j3_traces.err Normal file
View File

@@ -0,0 +1,90 @@
2026/05/17 15:34:22 INFO database initialized path=/tmp/expedition-sim-3937486981/gogobee.db
2026/05/17 15:34:22 INFO database initialized path=/tmp/expedition-sim-3578458476/gogobee.db
2026/05/17 15:34:23 INFO database initialized path=/tmp/expedition-sim-1544593455/gogobee.db
2026/05/17 15:34:23 INFO database initialized path=/tmp/expedition-sim-67658511/gogobee.db
2026/05/17 15:34:23 INFO database initialized path=/tmp/expedition-sim-2710175851/gogobee.db
2026/05/17 15:34:23 INFO database initialized path=/tmp/expedition-sim-3311525977/gogobee.db
2026/05/17 15:34:23 INFO database initialized path=/tmp/expedition-sim-1482370118/gogobee.db
2026/05/17 15:34:23 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-0 ability="Second Wind"
2026/05/17 15:34:23 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-0 ability="Second Wind"
2026/05/17 15:34:23 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-0 ability="Second Wind"
2026/05/17 15:34:23 INFO database initialized path=/tmp/expedition-sim-573218642/gogobee.db
2026/05/17 15:34:23 INFO database initialized path=/tmp/expedition-sim-2555594716/gogobee.db
2026/05/17 15:34:23 INFO database initialized path=/tmp/expedition-sim-1293820254/gogobee.db
2026/05/17 15:34:23 INFO database initialized path=/tmp/expedition-sim-2922091846/gogobee.db
2026/05/17 15:34:23 INFO database initialized path=/tmp/expedition-sim-2255769101/gogobee.db
2026/05/17 15:34:23 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-1 ability="Second Wind"
2026/05/17 15:34:23 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-1 ability="Second Wind"
2026/05/17 15:34:23 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-1 ability="Second Wind"
2026/05/17 15:34:23 INFO database initialized path=/tmp/expedition-sim-4141510411/gogobee.db
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-2327156998/gogobee.db
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-3831482955/gogobee.db
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-3224447098/gogobee.db
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-3972171829/gogobee.db
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-2507866628/gogobee.db
2026/05/17 15:34:24 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-2 ability="Second Wind"
2026/05/17 15:34:24 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-2 ability="Second Wind"
2026/05/17 15:34:24 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-2 ability="Second Wind"
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-2702751982/gogobee.db
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-814091512/gogobee.db
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-1701622760/gogobee.db
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-2474663970/gogobee.db
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-3500203401/gogobee.db
2026/05/17 15:34:24 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-3 ability="Second Wind"
2026/05/17 15:34:24 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-3 ability="Second Wind"
2026/05/17 15:34:24 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-3 ability="Second Wind"
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-1597673037/gogobee.db
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-3746346522/gogobee.db
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-2947709156/gogobee.db
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-2279228254/gogobee.db
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-1330280095/gogobee.db
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-1007046865/gogobee.db
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-3808145558/gogobee.db
2026/05/17 15:34:24 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-4 ability="Second Wind"
2026/05/17 15:34:24 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-4 ability="Second Wind"
2026/05/17 15:34:24 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-4 ability="Second Wind"
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-3669887885/gogobee.db
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-3912763644/gogobee.db
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-2891748518/gogobee.db
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-1827307519/gogobee.db
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-4109127351/gogobee.db
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-253619287/gogobee.db
2026/05/17 15:34:24 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-5 ability="Second Wind"
2026/05/17 15:34:24 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-5 ability="Second Wind"
2026/05/17 15:34:24 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-5 ability="Second Wind"
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-889111768/gogobee.db
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-3994033199/gogobee.db
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-2355572633/gogobee.db
2026/05/17 15:34:24 INFO database initialized path=/tmp/expedition-sim-2955130129/gogobee.db
2026/05/17 15:34:25 INFO database initialized path=/tmp/expedition-sim-3040643250/gogobee.db
2026/05/17 15:34:25 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-6 ability="Second Wind"
2026/05/17 15:34:25 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-6 ability="Second Wind"
2026/05/17 15:34:25 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-6 ability="Second Wind"
2026/05/17 15:34:25 INFO database initialized path=/tmp/expedition-sim-996326193/gogobee.db
2026/05/17 15:34:25 INFO database initialized path=/tmp/expedition-sim-1026834926/gogobee.db
2026/05/17 15:34:25 INFO database initialized path=/tmp/expedition-sim-874236375/gogobee.db
2026/05/17 15:34:25 INFO database initialized path=/tmp/expedition-sim-628985075/gogobee.db
2026/05/17 15:34:25 INFO database initialized path=/tmp/expedition-sim-4278591308/gogobee.db
2026/05/17 15:34:25 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-7 ability="Second Wind"
2026/05/17 15:34:25 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-7 ability="Second Wind"
2026/05/17 15:34:25 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-7 ability="Second Wind"
2026/05/17 15:34:25 INFO database initialized path=/tmp/expedition-sim-1333675344/gogobee.db
2026/05/17 15:34:25 INFO database initialized path=/tmp/expedition-sim-3247890534/gogobee.db
2026/05/17 15:34:25 INFO database initialized path=/tmp/expedition-sim-3858591699/gogobee.db
2026/05/17 15:34:25 INFO database initialized path=/tmp/expedition-sim-1397281242/gogobee.db
2026/05/17 15:34:25 INFO database initialized path=/tmp/expedition-sim-2332733301/gogobee.db
2026/05/17 15:34:25 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-8 ability="Second Wind"
2026/05/17 15:34:25 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-8 ability="Second Wind"
2026/05/17 15:34:25 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-8 ability="Second Wind"
2026/05/17 15:34:25 INFO database initialized path=/tmp/expedition-sim-2396625240/gogobee.db
2026/05/17 15:34:25 INFO database initialized path=/tmp/expedition-sim-1690573929/gogobee.db
2026/05/17 15:34:25 INFO database initialized path=/tmp/expedition-sim-1681341943/gogobee.db
2026/05/17 15:34:25 INFO database initialized path=/tmp/expedition-sim-3006146542/gogobee.db
2026/05/17 15:34:25 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-9 ability="Second Wind"
2026/05/17 15:34:25 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-9 ability="Second Wind"
2026/05/17 15:34:25 INFO dnd: armed ability fired (turn-based build) user=@sim:fighter-l12-dragons_lair-9 ability="Second Wind"
2026/05/17 15:34:25 INFO database initialized path=/tmp/expedition-sim-799921603/gogobee.db
2026/05/17 15:34:25 INFO database initialized path=/tmp/expedition-sim-442683998/gogobee.db
2026/05/17 15:34:25 INFO database initialized path=/tmp/expedition-sim-3139041772/gogobee.db
2026/05/17 15:34:25 INFO database initialized path=/tmp/expedition-sim-2602959398/gogobee.db
2026/05/17 15:34:25 INFO database initialized path=/tmp/expedition-sim-3028049942/gogobee.db

File diff suppressed because one or more lines are too long