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:
ConversationandMessageentities, 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
CONVERSATION — id, projectId, userId, title, status (ACTIVE/CLOSED),
sessionId (UUID linking to the Claude session for resume), timestamps.
MESSAGE — id, conversationId, role (USER/PM/SYSTEM), content, createdAt.
Use cases
| UC | What it does |
|---|---|
| UC-04001 | List Conversations |
| UC-04002 | Start Conversation — auto-closes any previous ACTIVE in the same project |
| UC-04003 | Send Message — triggers a Mara turn via the gateway |
| UC-04004 | Conversation Detail (history) |
| UC-04005 | Close 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;
ASLEEPblocks the turn before gateway invocation.
Cross-cutting
- CLI vs. Network worker — both
MaraExecutorimplementations are reachable viaAnthropicGatewayService. CLI is the local-dev path (Max plan, noANTHROPIC_API_KEYrequired);NetworkWorkerExecutoris the cloud / production path (LIVE since 2026-05-21), driving the per-tenant-envtalkide-workerpod over HTTP+SSE with HMAC token. See worker-runtime.md. - Session resume —
sessionIdis null on first turn, then set. CLI uses--resume <sessionId>; network worker resumes via Agent SDK readingCLAUDE_CONFIG_DIRtranscript 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.