fix(task): complete evidence rendering contract

This commit is contained in:
2026-05-22 11:28:19 +08:00
parent 0ace09b984
commit 3ff2e2ce11
2 changed files with 18 additions and 7 deletions

View File

@ -79,7 +79,6 @@ class EvidenceBuilder:
def build_run_evidence(
self,
*,
session_id: str,
run_id: str,
output_text: str,
@ -175,6 +174,8 @@ def _render_tool_evidence(item: ToolEvidence) -> str:
metadata.append(f"url={item.url}")
if item.title:
metadata.append(f"title={item.title}")
if item.created_at:
metadata.append(f"created_at={item.created_at}")
return "\n".join([header, *metadata, item.content])

View File

@ -3,7 +3,7 @@ from __future__ import annotations
from pathlib import Path
from beaver.engine.session.manager import SessionManager
from beaver.tasks.evidence import EvidenceBuilder, RunEvidence, TaskEvidencePacket, render_task_evidence
from beaver.tasks.evidence import EvidenceBuilder, RunEvidence, TaskEvidencePacket, ToolEvidence, render_task_evidence
def test_evidence_builder_preserves_full_tool_result(tmp_path: Path) -> None:
@ -35,10 +35,10 @@ def test_evidence_builder_preserves_full_tool_result(tmp_path: Path) -> None:
)
evidence = EvidenceBuilder(session_manager).build_run_evidence(
session_id=session_id,
run_id=run_id,
output_text="Manchester United won 3-2.",
finish_reason="stop",
session_id,
run_id,
"Manchester United won 3-2.",
"stop",
)
rendered = render_task_evidence(
TaskEvidencePacket(
@ -63,7 +63,15 @@ def test_render_task_evidence_includes_failed_team_run_tool_results() -> None:
output_text="Tool loop stopped.",
finish_reason="max_tool_iterations",
transcript=[],
tool_results=[],
tool_results=[
ToolEvidence(
tool_name="web_fetch",
tool_call_id="call-team",
content="Recovered partial source content.",
event_payload={"success": True, "created_at": "2026-05-22T12:00:00Z"},
created_at="2026-05-22T12:00:00Z",
)
],
warnings=["finish_reason=max_tool_iterations"],
)
packet = TaskEvidencePacket(
@ -79,3 +87,5 @@ def test_render_task_evidence_includes_failed_team_run_tool_results() -> None:
assert "finish_reason=max_tool_iterations" in rendered
assert "partial answer" in rendered
assert "Recovered partial source content." in rendered
assert "created_at=2026-05-22T12:00:00Z" in rendered