testRepoManagementFlows creates cmc/ui-smoke and deletes it at the
end. When a run dies first — a wedged simulator, an interrupted session —
the repo survives, and every later run fails at "create sheet did not
dismiss", because the create is refused for a name already taken. That
reads like a UI regression and is not one; it cost real time today before
I traced it.
Removed in setUp as well as tearDown, so a crashed earlier run cannot
strand it either. Cleanup goes through the JSON API rather than the UI —
the app has no delete screen, deletion being SSH-only by design — and a
repo that is not there answers exit 3, which is the outcome wanted.
Verified by creating cmc/ui-smoke deliberately, confirming it existed,
and running the test: it passed, and the repo was gone afterwards.