A card on The Board representing an agent session or manual workspace.
Each card carries a workspace snapshot (buffers, editing state) that gets restored when the user zooms in and captured when they zoom out. This is the same pattern as tab context snapshots in Shell.Traditional.
The "You" card has session: nil and provides the traditional editing
experience without an agent.
Status lifecycle
:idle → :working → :iterating → :done
↓ ↓
:needs_you :errored:working means the agent is actively generating. :iterating means
it's running tests or linter feedback loops. :needs_you means it
hit a wall and needs human input (approval, clarifying question).
Summary
Functions
Attaches an agent session PID to the card.
Clears the stored workspace snapshot.
Creates a new card with the given attributes.
Updates the list of recently touched files.
Transitions the card to a new status.
Stores a workspace snapshot on the card.
Returns true if this is the 'You' card (manual editing).
Types
@type id() :: pos_integer()
@type status() :: :idle | :working | :iterating | :needs_you | :done | :errored
Functions
Attaches an agent session PID to the card.
Clears the stored workspace snapshot.
Creates a new card with the given attributes.
Updates the list of recently touched files.
Transitions the card to a new status.
Stores a workspace snapshot on the card.
Returns true if this is the 'You' card (manual editing).