POST /entities/{id}/promote now wraps the promote_entity call in
try/except ValueError → HTTPException(400). Previously the new
V1-0 provenance re-check raised ValueError that the route didn't
catch, so legacy no-provenance candidates promoted via the API
surfaced as 500 instead of 400.
Matches the existing ValueError → 400 handling on POST /entities
(api_create_entity at routes.py:1490).
Test: test_api_promote_returns_400_on_legacy_no_provenance inserts
a pre-V1-0 legacy candidate directly, POSTs to the promote route,
asserts 400 with the expected detail, asserts the row stays
candidate.
Test count: 547 -> 548. Full suite green in 72.91s.
Closes R14.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
22 lines
252 B
Plaintext
22 lines
252 B
Plaintext
data/
|
|
__pycache__/
|
|
*.pyc
|
|
.env
|
|
*.egg-info/
|
|
dist/
|
|
build/
|
|
.pytest_cache/
|
|
.mypy_cache/
|
|
htmlcov/
|
|
.coverage
|
|
venv/
|
|
.venv/
|
|
.claude/*
|
|
!.claude/commands/
|
|
!.claude/commands/**
|
|
|
|
# Editor / IDE state — user-specific, not project config
|
|
.obsidian/
|
|
.vscode/
|
|
.idea/
|