Optional ReadonlyactiveOptional ReadonlyhasWhether a grid is showing this workbook.
Separate from kind on purpose. kind says where the engine lives (a routing fact);
hasView says whether anyone can SEE it — which is what decides if an in-grid highlight or
prompt can do anything. They coincide today and are still two questions: conflating them is
how "is this id still valid" and "is a human watching" came to be answered by one flag.
ReadonlyidReadonlykindReadonlynameOptional ReadonlyopenedWhen the session's workbook was (re)loaded — its history epoch, epoch-ms. A session id survives a reload but its commit/undo history does not; this is the marker that scopes commit ids. Absent when the surface cannot know (older clients).
Optional ReadonlypathThe workbook's file, when known — disambiguates same-named files; the document identity.
An open workbook, as the report sees it.
Remarks
Structurally the subset of the MCP
SessionInfothat survives on both surfaces. The CLI learns these from the relay lock (a live client UI) and so only ever reportsattendedones; MCP adds its own sandboxes.