v0.6.10
The follow-up to v0.6.9's QA gate fix: making a halted epic explain itself, and putting the guard that halts it under your control.
Fixed
- A halted epic never said how to get it moving again. When a guard gives up on an epic, the dashboard's ⚠ Halted panel shows that epic's
blocked_reasonand nothing else — but the remediation was only ever written to the log line beside it. So the one place a user actually reads about the halt didn't mention that clicking Continue Implementation recovers it, even though that button has always runtempa implement --reset-faileditself before every implementation pass. Every guard now appends the way out toblocked_reason, dashboard route first, so it shows up both on the epic card and intempa status. - Three of the five ways an epic can fail wrote no
blocked_reasonat all. Hittingmax_session_run, QA hitting the same limit without ever passing, and an implementation session exiting non-zero all marked the epicfailedand left it at that — on the Status tab that was a bare red ✗ with no cause and no next step anywhere, the explanation buried in the process log. All three now record what happened alongside how to retry. The QA-limit one says explicitly that the epic was marked failed rather than passed because it has never been verified — an epic that fails at the QA limit otherwise looks a lot like one that passed. - Saving Settings from a dashboard tab left open across an upgrade no longer fails, or silently resets a run-limit field the payload doesn't mention. Such a field is now left exactly as it is on disk; a blank value is still a deliberate answer and behaves as before.
Added
qa_loop_strikesandmax_qa_fail_roundsnow have Settings controls (Settings → Runs → Run Limits, as "QA Loop Strikes" and "Max QA Fail Rounds"). These two decide when Tempa gives up on an epic and halts the run, which makes them the knobs you are most likely to want to change right after being stopped by them — and they were the only run limits that could only be changed by hand-editingconfig.json.
Full changelog: https://github.com/daus95/tempa/blob/v0.6.10/CHANGELOG.md