Add instruction report sinks

This commit is contained in:
2026-05-19 18:36:58 +02:00
parent 0dc342eb1b
commit 3110399b11
5 changed files with 390 additions and 1 deletions

View File

@@ -27,6 +27,7 @@ from activity_core.orm import ActivityRun, TaskInstance, TaskSpawnLog
from activity_core.rules import evaluate_condition
from activity_core.llm_client import get_llm_client
from activity_core.models import InstructionDef
from activity_core.report_sinks import persist_reports
from activity_core.rules.executor import execute_instruction_with_audit
@@ -313,6 +314,7 @@ async def evaluate_instructions(payload: dict) -> dict:
reports.append({
"instruction_id": instruction.id,
"report": result.report,
"sinks": instruction.report_sinks,
"condition": result.condition_matched,
"prompt_hash": result.prompt_hash,
"model": result.model,
@@ -339,6 +341,12 @@ async def evaluate_instructions(payload: dict) -> dict:
return {"task_specs": task_specs, "reports": reports}
@activity.defn
async def persist_instruction_reports(payload: dict) -> list[dict]:
"""Persist report payloads to deterministic configured sinks."""
return persist_reports(payload)
@activity.defn
async def emit_tasks(payload: dict) -> list[str]:
"""Emit TaskSpecs to IssueSink and write task_spawn_log rows.