Add reviewer, artifact store, and paginated queries

This commit is contained in:
2026-07-03 21:44:46 +03:00
parent 50178a4e69
commit 648f0f9024
17 changed files with 441 additions and 16 deletions
+29
View File
@@ -0,0 +1,29 @@
from ai_orchestrator.application.services.execution import StructuredReviewer
from ai_orchestrator.domain.enums import NodeType
from ai_orchestrator.domain.models import ExecutionNode, Task
def test_structured_reviewer_accepts_valid_output() -> None:
reviewer = StructuredReviewer()
task = Task(project_id="default", goal="Review", inputs={})
node = ExecutionNode(task_id=task.task_id, node_type=NodeType.PLANNER, input_data={})
reviewed = reviewer.review(
task=task,
node=node,
output_data={"status": "planned", "goal": "Review"},
)
assert reviewed["review"]["status"] == "accepted"
assert reviewed["task_id"] == task.task_id
def test_structured_reviewer_marks_missing_status_as_review_failed() -> None:
reviewer = StructuredReviewer()
task = Task(project_id="default", goal="Review", inputs={})
node = ExecutionNode(task_id=task.task_id, node_type=NodeType.PLANNER, input_data={})
reviewed = reviewer.review(task=task, node=node, output_data={"goal": "Review"})
assert reviewed["status"] == "review_failed"
assert reviewed["review"]["status"] == "rejected"