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.
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
| Name | Target | Kind | Cardinality | Inverse |
|---|---|---|---|---|
work_session | WorkSession | attaches | 0..1 | host_conversation_attachments 0..* |
owner_principal | Principal | references | 0..1 | owned_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.
| Name | Kind | Type | Portable | Notes |
|---|---|---|---|---|
host_conversation_id | identity | name | True | |
work_session_id | reference | name | True | |
host_system | descriptive | string | True | Name of the owning host product. |
Native mapping hooks
| System | Native term | Fidelity | Notes |
|---|---|---|---|
project-interop | _none_ | none |