from __future__ import annotations from dataclasses import dataclass @dataclass(frozen=True) class Job: id: int intent: str status: str created_at: str updated_at: str @dataclass(frozen=True) class Phase: id: int job_id: int name: str position: int status: str summary: str started_at: str | None completed_at: str | None @dataclass(frozen=True) class Decision: id: int job_id: int phase_name: str title: str context: str options: list[str] status: str selected_option: str | None note: str created_at: str answered_at: str | None @dataclass(frozen=True) class Result: id: int job_id: int summary: str blocked: bool decisions: list[str] next_steps: list[str] approved: bool | None created_at: str updated_at: str @dataclass(frozen=True) class JobSnapshot: job: Job phases: list[Phase] decisions: list[Decision] result: Result | None