spill

private fun spill(payload: String, evalId: Int, where: String, code: String, kind: String): String?

Write payload under <cacheDir>/errors/; canonical path, or null if that failed.

code goes in beside it: a dump says what the compiler choked on but not what to feed it to see that again, and reproducing is the only reason to keep one. Canonical, not absolute — the Forge layout's working directory ends in \..

A file, not a probe channel: redeeming a probe handle takes a working compiler, which is the one thing this report says is missing.