types
types
¶
Data types for the diagnose phase.
Lightweight dataclasses used as return types by diagnostic tools and as internal data carriers. These are NOT pydantic models — they don't need validation or JSON schema generation.
See spec §5.2 for the tool return type rationale.
Classes¶
TraceMeta
dataclass
¶
TraceMeta(trace_id: str, query: str, agent: str, model: str, outcome: Optional[str], feedback: Optional[float], started_at: float)
Lightweight summary of a trace for browsing.
BenchmarkTask
dataclass
¶
One task from the personal benchmark.
StudentRun
dataclass
¶
StudentRun(task_id: str, output: str, score: float, trace_id: str, latency_seconds: float, tokens_used: int)
Result of re-executing the local student on a benchmark task.
TeacherRun
dataclass
¶
Result of the teacher running itself on a benchmark task.
ComparisonResult
dataclass
¶
Structured comparison between student and teacher outputs.
ToolMeta
dataclass
¶
Metadata about a tool in the ToolRegistry.
DiagnosticTool
dataclass
¶
A tool exposed to the teacher in the diagnose phase.
Unlike BaseTool, these are not registered in ToolRegistry.
They are lightweight wrappers: a name, description, JSON schema
for parameters, and a callable that implements the tool.
ToolCallRecord
dataclass
¶
ToolCallRecord(timestamp: datetime, tool: str, args: dict[str, Any], result: str, latency_ms: float, cost_usd: float)