CoolFace
Apppublic

build-small-hackathon/hackathon-advisor

sourceHugging Facemitupdated 3mo agoView on Hugging Face
16likes
test_trace_export.py44 linesDownload Raw Back to tests
1import json2from pathlib import Path3 4from tests.helpers import load_test_index5 6from hackathon_advisor.agent import AdvisorEngine7from hackathon_advisor.trace_export import build_trace_jsonl, trace_metadata8 9 10def test_trace_jsonl_contains_manifest_and_turns() -> None:11    index = load_test_index()12    engine = AdvisorEngine(index)13    state = engine.turn("A local-first archive cartographer for family photos", {}).state14    state = engine.turn("make a build plan", state).state15 16    lines = [json.loads(line) for line in build_trace_jsonl(state, trace_metadata(index)).splitlines()]17 18    assert lines[0]["type"] == "trace_manifest"19    assert lines[0]["turn_count"] == 220    assert lines[0]["index"]["algorithm"] == "llama-cpp-embedding-v1"21    assert lines[1]["type"] == "agent_turn"22    assert lines[1]["tools"]23    assert lines[1]["tool_resolution"]["call"]["name"] == "save_idea"24    assert lines[2]["plan_steps"] > 025 26 27def test_checked_in_sample_trace_matches_schema() -> None:28    lines = [29        json.loads(line)30        for line in Path("data/sample_trace.jsonl").read_text(encoding="utf-8").splitlines()31    ]32    sample_text = "\n".join(json.dumps(line) for line in lines)33 34    assert lines[0]["type"] == "trace_manifest"35    assert lines[0]["turn_count"] >= 336    assert all(line["schema_version"] == 1 for line in lines)37    assert lines[1]["tool_resolution"]["status"] == "valid"38    assert "Mothback" not in sample_text39    assert "Add one prize" not in sample_text40    assert "set_target" not in sample_text41    assert "side_quests" not in sample_text42    assert "Record the trace" not in sample_text43    assert "Write build notes from the exact decisions" in lines[-1]["response"]44