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,
)