Skip to content

Term

HostConversation

Conversation history owned by a host product such as Goose, Hermes, or Crush. A HostConversation may attach to a WorkSession but is not the WorkSession.

Identity
host_conversation_id
Kind
name
Authority role
host-product
Mutability
mutable
Status
accepted

Purpose

Keep host-owned chat history distinct from the work episode, the assignment, and individual turns so products can attach transcripts without becoming the model.

Relationships

NameTargetKindCardinalityInverse
work_sessionWorkSessionattaches0..1host_conversation_attachments 0..*
owner_principalPrincipalreferences0..1owned_conversations 0..*

Invariants

  • MUST host-owned: A HostConversation MUST remain owned by its host product.
  • MUST NOT not-the-session: A HostConversation MUST NOT be treated as a WorkSession.
  • MUST NOT not-an-agent-run: A HostConversation MUST NOT be treated as an AgentRun.
  • SHOULD optional-attachment: A HostConversation SHOULD be attachable to at most one WorkSession.

Aliases

  • host-chat

Deprecated aliases

  • session

Not synonyms

  • WorkSession: The session is the work episode; the conversation is host-owned history.
  • Turn: Turns live inside an AgentRun; host messages may not map 1:1.
  • AgentRun: An assignment is not a chat transcript.

Examples

  • A Goose conversation that a user later attaches to an existing WorkSession.
  • A Crush chat that never attaches to any WorkSession.

Anti-examples

  • Calling the host chat the WorkSession.
  • Using MCP connection identity as the conversation identity.

Fields

The identity field is the index of the handle. fields is the exchange shape.

NameKindTypePortableNotes
host_conversation_ididentitynameTrue
work_session_idreferencenameTrue
host_systemdescriptivestringTrueName of the owning host product.

Native mapping hooks

SystemNative termFidelityNotes
project-interop_none_none