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>
190 lines
5.0 KiB
JSON
190 lines
5.0 KiB
JSON
{
|
|
"main": {
|
|
"id": "b77ba76979ead837",
|
|
"type": "split",
|
|
"children": [
|
|
{
|
|
"id": "f87c2c42c078a85b",
|
|
"type": "tabs",
|
|
"children": [
|
|
{
|
|
"id": "c56c6d5a90db0355",
|
|
"type": "leaf",
|
|
"state": {
|
|
"type": "markdown",
|
|
"state": {
|
|
"file": "docs/MASTER-BRAIN-PLAN.md",
|
|
"mode": "source",
|
|
"source": false
|
|
},
|
|
"icon": "lucide-file",
|
|
"title": "MASTER-BRAIN-PLAN"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"direction": "vertical"
|
|
},
|
|
"left": {
|
|
"id": "b855c3c36d491ee3",
|
|
"type": "split",
|
|
"children": [
|
|
{
|
|
"id": "7d6978e4bb8c4218",
|
|
"type": "tabs",
|
|
"children": [
|
|
{
|
|
"id": "f799b7c8adbccbc2",
|
|
"type": "leaf",
|
|
"state": {
|
|
"type": "file-explorer",
|
|
"state": {
|
|
"sortOrder": "alphabetical",
|
|
"autoReveal": false
|
|
},
|
|
"icon": "lucide-folder-closed",
|
|
"title": "Files"
|
|
}
|
|
},
|
|
{
|
|
"id": "7de38afa76edc676",
|
|
"type": "leaf",
|
|
"state": {
|
|
"type": "search",
|
|
"state": {
|
|
"query": "",
|
|
"matchingCase": false,
|
|
"explainSearch": false,
|
|
"collapseAll": false,
|
|
"extraContext": false,
|
|
"sortOrder": "alphabetical"
|
|
},
|
|
"icon": "lucide-search",
|
|
"title": "Search"
|
|
}
|
|
},
|
|
{
|
|
"id": "babc39197dd9c9c6",
|
|
"type": "leaf",
|
|
"state": {
|
|
"type": "bookmarks",
|
|
"state": {},
|
|
"icon": "lucide-bookmark",
|
|
"title": "Bookmarks"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"direction": "horizontal",
|
|
"width": 300
|
|
},
|
|
"right": {
|
|
"id": "d63c3fe3c986f84d",
|
|
"type": "split",
|
|
"children": [
|
|
{
|
|
"id": "33e2645653a3a2d0",
|
|
"type": "tabs",
|
|
"children": [
|
|
{
|
|
"id": "5827678b9e27e77c",
|
|
"type": "leaf",
|
|
"state": {
|
|
"type": "backlink",
|
|
"state": {
|
|
"file": "docs/MASTER-BRAIN-PLAN.md",
|
|
"collapseAll": false,
|
|
"extraContext": false,
|
|
"sortOrder": "alphabetical",
|
|
"showSearch": false,
|
|
"searchQuery": "",
|
|
"backlinkCollapsed": false,
|
|
"unlinkedCollapsed": true
|
|
},
|
|
"icon": "links-coming-in",
|
|
"title": "Backlinks for MASTER-BRAIN-PLAN"
|
|
}
|
|
},
|
|
{
|
|
"id": "fec1e8678fe61e1a",
|
|
"type": "leaf",
|
|
"state": {
|
|
"type": "outgoing-link",
|
|
"state": {
|
|
"file": "docs/MASTER-BRAIN-PLAN.md",
|
|
"linksCollapsed": false,
|
|
"unlinkedCollapsed": true
|
|
},
|
|
"icon": "links-going-out",
|
|
"title": "Outgoing links from MASTER-BRAIN-PLAN"
|
|
}
|
|
},
|
|
{
|
|
"id": "0c524cb35a17b042",
|
|
"type": "leaf",
|
|
"state": {
|
|
"type": "tag",
|
|
"state": {
|
|
"sortOrder": "frequency",
|
|
"useHierarchy": true,
|
|
"showSearch": false,
|
|
"searchQuery": ""
|
|
},
|
|
"icon": "lucide-tags",
|
|
"title": "Tags"
|
|
}
|
|
},
|
|
{
|
|
"id": "0c7517dd072e31f4",
|
|
"type": "leaf",
|
|
"state": {
|
|
"type": "all-properties",
|
|
"state": {
|
|
"sortOrder": "frequency",
|
|
"showSearch": false,
|
|
"searchQuery": ""
|
|
},
|
|
"icon": "lucide-archive",
|
|
"title": "All properties"
|
|
}
|
|
},
|
|
{
|
|
"id": "f2b9b2636ff29057",
|
|
"type": "leaf",
|
|
"state": {
|
|
"type": "outline",
|
|
"state": {
|
|
"file": "docs/MASTER-BRAIN-PLAN.md",
|
|
"followCursor": false,
|
|
"showSearch": false,
|
|
"searchQuery": ""
|
|
},
|
|
"icon": "lucide-list",
|
|
"title": "Outline of MASTER-BRAIN-PLAN"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"direction": "horizontal",
|
|
"width": 300,
|
|
"collapsed": true
|
|
},
|
|
"left-ribbon": {
|
|
"hiddenItems": {
|
|
"switcher:Open quick switcher": false,
|
|
"graph:Open graph view": false,
|
|
"canvas:Create new canvas": false,
|
|
"daily-notes:Open today's daily note": false,
|
|
"templates:Insert template": false,
|
|
"command-palette:Open command palette": false,
|
|
"bases:Create new base": false
|
|
}
|
|
},
|
|
"active": "c56c6d5a90db0355",
|
|
"lastOpenFiles": [
|
|
"DEV-LEDGER.md.tmp.94864.1776886173652"
|
|
]
|
|
} |