Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

10 of my Temporal workflows were never going to finish. A 4B model on my laptop wrote their death certificates

Description and use

Undertaker automatically identifies dead Temporal workflows, classifies the cause, and provides a remediation command, reducing manual investigation time.

Problem

Temporal workflows can remain in a "Running" state indefinitely due to reasons such as missing workers, persistent activity failures, code changes that break replay, or unsent signals, and the platform does not reveal why.

Outcome

Undertaker automatically identifies dead Temporal workflows, classifies the cause, and provides actionable remediation commands, reducing manual investigation time.

Workflow

  • 1. Point Undertaker at a Temporal server.
  • 2. Undertaker lists all running workflows via ListWorkflowExecutions.
  • 3. For each workflow, it gathers data from DescribeWorkflowExecution, the workflow history, and DescribeTaskQueue.
  • 4. It applies a set of deterministic rules to classify the cause of stalling.
  • 5. It generates a certificate of undeath containing evidence and a remediation command.
  • 6. If source code is provided, it runs Gemma 4 via Ollama to generate a natural‑language diagnosis.
  • 7. The generated text is validated against the evidence before display.
  • 8. The user receives a clear explanation and a command to fix the workflow.

Evidence

Undertaker finds the Temporal workflows that will never finish, sorts each one into a cause using Temporal's own data, and writes a checked certificate of undeath for it

Source

The diagnosis is a set of fixed rules, checked in order, over data from four places: ListWorkflowExecutions, DescribeWorkflowExecution, the history, and DescribeTaskQueue

Source

Only then does the model come in. Gemma 4 e4b gets the cause, its rule, the workflow's id and type, the evidence list and, with --source, the function around each stack frame

Source

  • Record date: 2026-11-01T07:28:43.072Z