Tag

#human-in-the-loop

13 posts

Resonate brand card on a dark background with an ember spectrum wave at the lower left, the headline 'Human in the Loop' in white Sansation, and the subtitle 'Coming from Temporal · Go SDK'.
4 min readResonate HQ

Coming from Temporal: Human-in-the-Loop in Go

Temporal's await-signals needs a signal channel, a listener goroutine, a flag, and workflow.Await. Resonate collapses all four into one ctx.Promise().

Port Temporal's await-signals pattern to Resonate. One latent ctx.Promise() replaces a signal channel, a listener goroutine, a flag variable, and workflow.Await — the promise record itself is the pending state.

Resonate brand card on a dark background with a teal spectrum wave at the bottom and the post headline in white Sansation.
4 min readResonate HQ

Human-in-the-loop Kubernetes node drain in TypeScript on Resonate

How a node drain that may block for arbitrary human response time is written as a single generator function with checkpointed steps and a blocking durable promise.

Drain Kubernetes worker nodes durably: each node drain is a checkpoint, and when a Pod Disruption Budget blocks eviction the workflow blocks on a durable promise until an operator resolves it over HTTP.

Resonate brand card on a dark background with a teal spectrum wave at the bottom and the post headline in white Sansation.
6 min readResonate HQ

Resilient website summarization agent in TypeScript on Resonate

How a download/summarize/approve agent reads as straight-line generator code when scrape, LLM, notification, and human gate are all Resonate primitives.

Scrape a page, summarize it with an LLM, gate the result on human approval, and regenerate on rejection — as one generator workflow. Each step is a durable checkpoint and the approval pause is a latent durable promise the gateway settles from outside.

Resonate brand card on a dark background with a plum spectrum wave at the bottom and the post headline in white Sansation.
5 min readResonate HQ

Coordinating a Databricks job from a backend in Python with Resonate

How a single generator orchestrator triggers a long-running Databricks job and blocks on a durable promise that the notebook resolves out-of-band.

Trigger a Databricks job from a FastAPI service and resume a workflow when the job calls back, without splitting business logic across event handlers. The orchestrator yields a durable promise that the notebook resolves over HTTP.

Resonate brand card on a dark background with a plum spectrum wave at the bottom and the post headline in white Sansation.
6 min readResonate HQ

Durable LLM tool-call loop for a travel assistant in Python on Resonate

A multi-turn tool-using LLM agent expressed as one generator function with three branches, where every LLM call, web call, and user prompt is a Resonate durable checkpoint.

An LLM agent that searches the web, scrapes pages, and converses with a user across many turns must not lose context to a crash. Each LLM call, tool call, and user input becomes a durable checkpoint via `ctx.lfc`.