v0.34.0 — ### Added — T-307 M-REPORT Discord session summary
- `analysis/session_report.py::generate_session_report(session, report_code)` assembles a single Discord-pasteable Markdown summary per session (= per report). Stitches together:…
analysis/session_report.py::generate_session_report(session, report_code)assembles a single Discord-pasteable Markdown summary per session (= per report). Stitches together: encounter header, pulls/kills/wipes/duration, best phase + best fp%, wipe-type breakdown (T-302), top killing abilities (T-206 cartography filtered to this report), mit hit rate (T-303 summary aggregated), per-player fault scores (T-302), worst per-mechanic consistency (T-306). Each section degrades gracefully when its prerequisite isn't ingested.- API:
GET /api/reports/{code}/session-report. - React
SessionReportModaltriggered by areportbutton on eachWatchedReportsrow. Shows the markdown in a preformatted block with a copy-to-clipboard button. - 5 new tests (unknown report, basic render, kill marker, top killers, live M5S AC). 274 tests total.
- Live AC on M5S session (
mVCt9aDdzq2Q8BLJ, 18 pulls / 2K / 16W / 66 min): renders KILL header, 15-mechanics/2-kill/1-mixed wipe-type breakdown, top 5 killers with names (95× non-attributable, 10× Sustained Damage, 7× ability 45942), and a "no strat plan configured yet" nudge for the 284 raidwide casts.