fix: correct publish validation to check title instead of action/solution fields
The publish validator was checking for an 'action' field on action nodes and a 'solution' field on solution nodes, but the actual node schema (confirmed from seed data and frontend types) uses 'title'/'description'. This caused all AI-generated trees to fail publish validation. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -83,17 +83,17 @@ def _validate_node(node: dict[str, Any], path: str, errors: list[dict[str, str]]
|
|||||||
})
|
})
|
||||||
|
|
||||||
elif node_type == "action":
|
elif node_type == "action":
|
||||||
if "action" not in node or not node["action"]:
|
if "title" not in node or not node["title"]:
|
||||||
errors.append({
|
errors.append({
|
||||||
"field": f"{path}.action",
|
"field": f"{path}.title",
|
||||||
"message": "Action nodes must have a non-empty action"
|
"message": "Action nodes must have a non-empty title"
|
||||||
})
|
})
|
||||||
|
|
||||||
elif node_type == "solution":
|
elif node_type == "solution":
|
||||||
if "solution" not in node or not node["solution"]:
|
if "title" not in node or not node["title"]:
|
||||||
errors.append({
|
errors.append({
|
||||||
"field": f"{path}.solution",
|
"field": f"{path}.title",
|
||||||
"message": "Solution nodes must have a non-empty solution"
|
"message": "Solution nodes must have a non-empty title"
|
||||||
})
|
})
|
||||||
|
|
||||||
elif node_type == "answer":
|
elif node_type == "answer":
|
||||||
|
|||||||
Reference in New Issue
Block a user