When the solver fails (e.g. due to missing constraints, missing hints, or contradictions in the constraints), it can be pretty daunting to figure out why. Often, this involves inspecting the trace log.
I think one thing that could help would be to just "dump" the current state. We already have the CSV export, so we could use it to dump a partial witness in the case of failure.
This won't be simple, because for example a machine that doesn't complete (which can happen also during a successful run) discards the partial block, so we'd have to keep it around in case we need to dump the current state.
When the solver fails (e.g. due to missing constraints, missing hints, or contradictions in the constraints), it can be pretty daunting to figure out why. Often, this involves inspecting the trace log.
I think one thing that could help would be to just "dump" the current state. We already have the CSV export, so we could use it to dump a partial witness in the case of failure.
This won't be simple, because for example a machine that doesn't complete (which can happen also during a successful run) discards the partial block, so we'd have to keep it around in case we need to dump the current state.