Skip to content

v0.6.11

Choose a tag to compare

@daus95 daus95 released this 17 Aug 03:49
· 59 commits to main since this release
8d42dfd

Closes the loop on what a user actually does when the QA convergence guard halts an epic — the question v0.6.9 and v0.6.10 left half-answered.

Changed

  • The halt no longer tells you to "fix the underlying conflict between them". That wording named one cause as though it were the only one. The guard trips on a pattern — a feature that failed QA, was fixed, was re-verified, and is failing again — and that pattern has several causes wanting opposite responses. The EPIC-13 halt that started this whole line of work was nitpick churn, not a contradiction, so the old message actively sent its reader looking for something that wasn't there.

    The halt now describes how to tell them apart: compare the last two QA reports for the features named, then

    What they show What it is What to do
    They ask for opposite things The spec is ambiguous or contradicts itself Your ruling — write it into the epic's spec or Architecture Principles
    One reports something genuinely broken An ordinary regression Retry; the next fix session sees both reports
    Each round flags different, minor items Nothing is regressing Raise Features per Session / QA Loop Strikes

    It rides in blocked_reason, so it appears in the dashboard's ⚠ Halted panel and in tempa status, not only in the log. "Fixing what QA reports is undoing earlier work" was also softened to "may be" — the guard detects a pattern; it does not know that.

Added

  • Each epic's card now has a "Spec" button, opening that epic's own specification in the same editor the Specification section uses. It was previously unreachable from the dashboard entirely: sources.epics is a sibling of the PRD folder that section's tree is rooted at, so nothing under it could be browsed to. That left the file QA grades an epic against — and the one to correct when QA rounds genuinely contradict each other — as the one file you had to leave the dashboard to read.

    It is addressed by epic label rather than by path: the file is re-resolved server-side on both read and save, so the only writable target is a spec that already exists for a real epic. EPIC-1 will not open EPIC-13's spec, and two files claiming one epic returns an error rather than a guess.

Full changelog: https://github.com/daus95/tempa/blob/v0.6.11/CHANGELOG.md