fix: surface real workspace creation errors instead of generic 409

The create-workspace endpoints caught every exception and returned 409
"Workspace name already exists", hiding the actual failure (e.g. git
clone errors, remote URL problems, or filesystem issues).

- Distinguish ValueError -> 400, unexpected exceptions -> 500 with detail
- Preserve HTTPException re-raise for existing FastAPI error paths

Quality gates:
- pytest tests/unit: 219 passed
- mypy: clean on changed files
This commit is contained in:
Developer
2026-06-15 09:46:55 +00:00
parent b26ed7c3e4
commit 8f648264f1
13 changed files with 29 additions and 23 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
dir: apps/api
## role
FastAPI backend API that manages projects, git repositories, and development tools through Docker-based instances.
Self-hosted FastAPI backend API that manages projects, git repositories, and development tools by orchestrating Docker instances with database persistence.
## parent
index: apps/.pi-map.index.md
map: apps/.pi-map.md