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:
chihlasm
2026-02-21 14:29:33 -05:00
parent f5e001b199
commit cb36b7886b

View File

@@ -83,17 +83,17 @@ def _validate_node(node: dict[str, Any], path: str, errors: list[dict[str, str]]
})
elif node_type == "action":
if "action" not in node or not node["action"]:
if "title" not in node or not node["title"]:
errors.append({
"field": f"{path}.action",
"message": "Action nodes must have a non-empty action"
"field": f"{path}.title",
"message": "Action nodes must have a non-empty title"
})
elif node_type == "solution":
if "solution" not in node or not node["solution"]:
if "title" not in node or not node["title"]:
errors.append({
"field": f"{path}.solution",
"message": "Solution nodes must have a non-empty solution"
"field": f"{path}.title",
"message": "Solution nodes must have a non-empty title"
})
elif node_type == "answer":