What this context does
A persistent channel for agents (primarily Mara) to report problems to the TalkIDE platform team — and, in Phase 3, for users to report bugs in their own apps. It exists because Mara used to hallucinate “I logged this for the TalkIDE team” without anything actually being persisted (a real Stopa B deploy incident, 2026-05-13: a registry-write token failure was never recorded and the user had to diagnose it themselves).
The data model is deliberately universal — target = PLATFORM | PROJECT — so the same
issues table serves both platform issue reporting and future user-app issue tracking.
Scope boundary
- Owns:
issuesandissue_commentstables, theIssuestate machine, the Mara toolsreport_issue/search_issues/comment_issue, the admin triage endpoint, and the injection of open project issues intoCLAUDE.md. - Does not own: GitLab escalation (future), SSE “retry?” notifications back to a Mara session (future), pattern-detection / auto-severity cron (future).
Main entities
ISSUE — id, target (PLATFORM/PROJECT), projectId, tenantSlug,
reporterUserId, reporterAgent (MARA/USER), sessionId, title, description,
kind (BUG/FEATURE; INCIDENT reserved for the environments feature), severity
(CRITICAL set by admin only), status, contextJsonb (server-enriched: K8s events, pod
logs, conversation snippet, project state), resolvedByUserId, resolutionNote,
parentIssueId (duplicate-of link), and the reportedAt/triagedAt/resolvedAt
timestamps.
ISSUE_COMMENT — id, issueId, authorUserId, authorAgent, body, createdAt.
Use cases
| UC | Phase | What it does |
|---|---|---|
| UC-09001 | 1 | Report Platform Issue — Mara tool report_issue, server-side context enrichment, rate limit 5/h/session, 10-min dedup window |
| UC-09002 | 1 | Search Issues — search_issues tool, LIKE filter, scoped by reporterUserId for non-admins |
| UC-09003 | 1 | Comment Issue — Mara adds context on recurrence |
| UC-09004 | 1 | Admin Triage Issue — status transitions, CRITICAL override, duplicate-of links |
| UC-09005 | 3 | Report Project Issue — dual reporter (USER via Workspace modal / MARA via tool) |
| UC-09006 | 3 | View Project Issues — Workspace tab, Studio widget, /studio/issues page |
| UC-09007 | 3 | Mara Injects Open Issues — # Open TODO issues section in CLAUDE.md |
Reporting authority
Dependencies on other contexts
- UC-04 Conversation — issues are reported as side effects of a Mara turn;
sessionIdlinks an issue back to its conversation. - UC-08 Mara Platform — Mara tools run inside the agent runtime fronted by the gateway.
- UC-03 Project Management — Phase 3
target=PROJECTissues carry aprojectIdFK withON DELETE CASCADE.
Cross-cutting
- Server-side context enrichment — the BE, not Mara, attaches K8s events, pod logs and
project state to
contextJsonb. Mara cannot fabricate diagnostics. - Immutable Liquibase — Phase 1 schema is
0019-create-issues-tables.xml; Phase 3 adds the missing project FK in0020-add-project-fk-to-issues.xml(production phase — no in-place edits).
Thanks for the feedback.