Skip to main content
An issue is a group of occurrences: a durable failure pattern that Lemma infers from trace evidence, where each occurrence is one time that pattern showed up in a specific trace. See Concepts for how these nouns relate. Open Issues in a project in the Lemma dashboard to triage them.
Issues table grouped by agent, showing signals, occurrence counts, assignee, status, and last seen
You don’t write assertions for this to work: Lemma analyzes traces and groups repeated evidence into issues on its own. See Concepts for how that detection and grouping work, and why both are probabilistic. Alerting follows this issue lifecycle through Slack and webhooks.

Issue versus occurrence

One issue can have many occurrences across many traces. Opening an issue shows the rationale behind it, its category, priority signals, linked traces, and available actions. Opening a trace instead shows you whether that specific run is an occurrence of one or more issues.

Status

resolved and dismissed are mutually exclusive, and if two people act on the same issue at once, whichever transition commits first wins. Matching evidence can reopen a resolved issue, but never reopens a dismissed one, and reopening an issue manually doesn’t by itself change a linked Linear ticket; see Linear for how those stay in sync. You can also flag an issue for review, assign it to a Lemma member, and add tags. Assignment inside Lemma doesn’t write to Linear unless you create a ticket and choose combined assignment.

Priority and grouping

Priority comes from recurrence and impact measured across your whole population of issues, things like volume and spikes, not from a threshold you configure on a monitor. Treat it as a triage hint rather than a guarantee. Grouping aims for one issue per underlying defect, but it isn’t perfect. If two issues look like the same bug, check their occurrences rather than assuming Lemma missed an obvious merge; grouping gets revised as more traces arrive.

Investigating an issue

  1. Filter the issues table by status, agent, assignee, flagged state, or search term.
  2. Open the issue and read why Lemma flagged it.
  3. Open the supporting traces and review both the conversation and the execution tree.
  4. Ask Inspect why it fired, what scenarios triggered it, and how to fix it.
  5. Export it as markdown through GET /issues/{id}/markdown or the UI equivalent, to paste into a ticket or hand to a coding agent.
  6. Resolve or dismiss it, and add feedback if the finding was wrong so future extraction can learn from it.

Workflow connections

Each connection reports on the issue lifecycle in a different way:
  • Slack: issue alerts and Issue Briefs sent to a project channel
  • Linear: an optional one-to-one ticket link that you create, exact-link, or unlink explicitly
  • MCP Server: lets coding agents list and act on issues with a project API key
  • Webhooks: issue.created, issue.resolved, issue.dismissed, and issue.reopened events
Connecting Slack or Linear never auto-creates a ticket, and recurrence never creates a new one either.

Concepts

How traces, occurrences, and issues relate.

Traces

Open the supporting executions for an issue.

Inspect

Ask why an issue was flagged and how to fix it.

Artifacts

Agent context that can sharpen detection.

Slack

Issue alerts and Issue Briefs in your workspace.