Cheap metadata view of one background job, returned by
ClaudeWrapper.Jobs.list/1. Stripped of the timeline.
See ClaudeWrapper.Jobs for how these are produced and where each
field comes from in the on-disk state.json.
Summary
Types
@type t() :: %ClaudeWrapper.Jobs.Summary{ backend: String.t() | nil, cli_version: String.t() | nil, created_at: String.t() | nil, cwd: String.t() | nil, daemon_short: String.t() | nil, detail: String.t() | nil, first_terminal_at: String.t() | nil, intent: String.t() | nil, name: String.t() | nil, origin_cwd: String.t() | nil, session_id: String.t() | nil, session_path: String.t() | nil, short_id: String.t(), state: String.t(), state_mtime_secs: non_neg_integer() | nil, updated_at: String.t() | nil }