Internal Documentation internal
TalkIDE internal documentation

What this context does

Owns the user-facing chat with Mara — the AI Product Manager. A Conversation is the container in which the user describes what they want; Mara delegates to subagents (backend-dev, frontend-dev, devops/Kai, tester, analyst); the resulting tool calls and agent messages are recorded as Activities (UC-05).

Scope boundary

  • Owns: Conversation and Message entities, the multi-turn lifecycle, session resume.
  • Does not own: the actual Anthropic call (UC-08001 — the gateway), the activity stream (UC-05), the cost ledger (UC-08001), FUP enforcement (UC-08002 planned).

Main entities

CONVERSATIONid, projectId, userId, title, status (ACTIVE/CLOSED), sessionId (UUID linking to the Claude session for resume), timestamps. MESSAGEid, conversationId, role (USER/PM/SYSTEM), content, createdAt.

Use cases

UCWhat it does
UC-04001List Conversations
UC-04002Start Conversation — auto-closes any previous ACTIVE in the same project
UC-04003Send Message — triggers a Mara turn via the gateway
UC-04004Conversation Detail (history)
UC-04005Close Conversation

Component diagram

{/* Image missing: UC-04 Conversation — Component View (../../assets/diagrams/uc04Components.svg) */}

Dependencies on other contexts

  • UC-03 Project Management — Conversation is scoped to a Project; archived projects refuse new conversations.
  • UC-08 Mara Platform / UC-08001 Anthropic Call Gateway — Send Message routes through the gateway, which records spend in api_usage_ledger.
  • UC-05 Workspace Activity — every tool call and agent message during a Mara turn is emitted as an Activity row.
  • UC-08002 Mara Fatigue & Quota Enforcement (planned) — pre-turn quota check; ASLEEP blocks the turn before gateway invocation.

Cross-cutting

  • CLI vs. Network worker — both MaraExecutor implementations are reachable via AnthropicGatewayService. CLI is the local-dev path (Max plan, no ANTHROPIC_API_KEY required); NetworkWorkerExecutor is the cloud / production path (LIVE since 2026-05-21), driving the per-tenant-env talkide-worker pod over HTTP+SSE with HMAC token. See worker-runtime.md.
  • Session resumesessionId is null on first turn, then set. CLI uses --resume <sessionId>; network worker resumes via Agent SDK reading CLAUDE_CONFIG_DIR transcript from NFS PVC.
  • Privacy — only data with explicit consent (salutation, team briefing) reaches Mara via <project>/CLAUDE.md. See mara-context.md.

Was this page helpful?

Thanks for the feedback.