namespace ClaudeDo.Data.Models; /// One claude session started in a Mission Control tile (ad-hoc, task or handoff) — the /// index behind "Recent sessions". The transcript itself stays with Claude Code. public sealed class MissionControlSessionEntity { /// The claude session id (`--session-id` / `--resume`). public string SessionId { get; init; } = string.Empty; /// Working directory the session ran in — a resume must start there. public string Cwd { get; set; } = string.Empty; /// Task the tile belonged to; null for an ad-hoc tile. No FK: the row outlives the task. public string? TaskId { get; set; } /// Tile title at start (task title or folder name; a handoff inherits its predecessor's). public string Title { get; set; } = string.Empty; /// UTC time the session was first launched. public DateTime StartedAt { get; set; } = DateTime.UtcNow; /// Session this one was handed off from; null unless it is a handoff session. public string? PredecessorSessionId { get; set; } /// brief.md the session started from; non-null exactly for handoff sessions. public string? BriefPath { get; set; } }