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

@ -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