# retry

A computing technique that repeats a failed operation after a delay, typically according to a defined retry strategy.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## AI safety does not stop at the model

DevFeed: [AI safety does not stop at the model](<https://devfeed.tech/articles/ai-safety-does-not-stop-at-the-model-35705.md>)

Original publisher: [Read original article](<https://temporal.io/blog/ai-safety-does-not-stop-at-the-model>)

Author: Samar Abbas

Published: 2026-09-15T00:00:00Z

Content type: opinion

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [ai safety](<https://devfeed.tech/topics/ai-safety.md>), [Agent Harness](<https://devfeed.tech/topics/agent-harness.md>), [reliability](<https://devfeed.tech/topics/reliability.md>), [retry](<https://devfeed.tech/topics/retry.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [agent-harness](<https://devfeed.tech/tags/agent-harness.md>), [ai](<https://devfeed.tech/tags/ai.md>), [reliability](<https://devfeed.tech/tags/reliability.md>), [retry](<https://devfeed.tech/tags/retry.md>), [safety](<https://devfeed.tech/tags/safety.md>), [security](<https://devfeed.tech/tags/security.md>), [temporal-voices](<https://devfeed.tech/tags/temporal-voices.md>)

### AI overview

The article argues that AI safety extends beyond model behavior to the application layer, where companies must control agent authority and enforce approvals, policies, and credential limits. It emphasizes that these controls must remain reliable through crashes, timeouts, and retries, and presents Temporal Agent Harness as an execution-layer control point around an agent SDK.

### Source excerpt

Auditing what an agent did is only half the job. Companies also have to control what agents may do, and make those limits hold when systems fail.

## Metastability as a failed conditional discharge of rely-guarantee composition

DevFeed: [Metastability as a failed conditional discharge of rely-guarantee composition](<https://devfeed.tech/articles/metastability-as-a-failed-conditional-discharge-of-rely-guarantee-composition-41859.md>)

Original publisher: [Read original article](<https://muratbuffalo.blogspot.com/2026/09/metastability-as-failed-conditional.html>)

Author: Murat (noreply@blogger.com)

Published: 2026-09-03T01:03:24Z

Content type: opinion

Language: en

Sources: [Metadata](<https://devfeed.tech/sources/metadata.md>)

Topics: [systems](<https://devfeed.tech/topics/systems.md>), [retry](<https://devfeed.tech/topics/retry.md>), [Server](<https://devfeed.tech/topics/server.md>), [Latency](<https://devfeed.tech/topics/latency.md>)

Tags: [formal-methods](<https://devfeed.tech/tags/formal-methods.md>), [latency](<https://devfeed.tech/tags/latency.md>), [metastability](<https://devfeed.tech/tags/metastability.md>), [retries](<https://devfeed.tech/tags/retries.md>), [server](<https://devfeed.tech/tags/server.md>), [systems](<https://devfeed.tech/tags/systems.md>), [tla](<https://devfeed.tech/tags/tla.md>)

### AI overview

This post models metastability in a retry storm using TLA+ and a retrier-server composition. It argues that a trigger can displace a system outside the rely-guarantee conditions of its components, after which duplicate retries add queue load and waste capacity. The model uses server capacity, fresh arrivals, retry timeouts, and latency thresholds to study the resulting failure behavior.

### Source excerpt

Last week I wrote about modular verification of systems through open TLA+ specs and rely-guarantee discharge. In this post, I apply the same approach to study the metastability mechanics of a retry storm. Through this modeling I show that when the system is metastable, it is due to some trigger/shock that displaced the system outside the rely-guarantee discharge conditions of its components. The model I use the retrier-server example from the "Characterizing Metastable Faults and Failures" paper and model it in TLA+ as a composition of a retrier and a server component. The shared interface between the two components consist of the following variables: qf: fresh work queued at the server qd: duplicate (retry) work queued at the server done: the count of fresh requests the server completed this round, which the retrier reads and clears turn: a flag forcing alternation between the retrier and server steps The retrier has one private variable, p, which denotes the pending fresh requests: the requests sent and not yet acked. A retry is a duplicate of a request already counted in p, so sending one does not grow p. The server has no private state, and does not know about p. The constants in the specs parametrize the most important system characteristics: S=3 is the server capacity to process units per round AMax=2 is the max arrivals of fresh requests per round; retries arrive on top of this T=2 denotes retry timeout in rounds. Since AMax<S, client demand stays below server capacity, so under normal conditions the server coasts. Whatever goes wrong will be due to a trigger/shock. Recall that metastability is a three act play: a trigger creates a backlog, the trigger goes away, but the system fails to recover. Since we only study the last act here, I model the trigger by starting the system in an already displaced state: Q0 requests are already queued at the server (qf=Q0) and, none being answered yet, all still open on the retrier's ledger (p=Q0). How does this initial sho

## Using an AI Agent to Convert STL Meshes into Editable CAD

DevFeed: [Using an AI Agent to Convert STL Meshes into Editable CAD](<https://devfeed.tech/articles/the-cool-new-stuff-trap-36058.md>)

Original publisher: [Read original article](<https://temporal.io/blog/the-cool-new-stuff-trap>)

Author: Shy Ruparel

Published: 2026-08-18T00:00:00Z

Content type: article

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [stl](<https://devfeed.tech/topics/stl.md>), [3D](<https://devfeed.tech/topics/3d.md>), [audit trail](<https://devfeed.tech/topics/audit-trail.md>), [retry](<https://devfeed.tech/topics/retry.md>)

Tags: [3d](<https://devfeed.tech/tags/3d.md>), [agent](<https://devfeed.tech/tags/agent.md>), [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [audit-trail](<https://devfeed.tech/tags/audit-trail.md>), [generate](<https://devfeed.tech/tags/generate.md>), [model](<https://devfeed.tech/tags/model.md>), [retry](<https://devfeed.tech/tags/retry.md>), [stl](<https://devfeed.tech/tags/stl.md>), [temporal-voices](<https://devfeed.tech/tags/temporal-voices.md>)

### AI overview

The article describes using an AI agent to convert triangulated STL meshes into editable CAD and explains why validation mattered more than an autonomous agentic loop. Temporal provided durable execution, retries, progress preservation, and an audit trail, but did not improve the agent's geometric judgment.

### Source excerpt

Shy Ruparel tried an AI agent to turn STL files into editable CAD. What worked was less glamorous: generate candidates, measure them, and validate.

## Chaining Activities -- from text to vectors

DevFeed: [Chaining Activities -- from text to vectors](<https://devfeed.tech/articles/chaining-activities-from-text-to-vectors-35756.md>)

Original publisher: [Read original article](<https://temporal.io/blog/chaining-activities-from-text-to-vectors>)

Author: Houman Kargaran

Published: 2026-08-12T00:00:00Z

Content type: tutorial

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [data](<https://devfeed.tech/topics/data.md>), [Embeddings](<https://devfeed.tech/topics/embeddings.md>), [on-prem](<https://devfeed.tech/topics/on-prem.md>), [pii](<https://devfeed.tech/topics/pii.md>), [Redis](<https://devfeed.tech/topics/redis.md>), [retry](<https://devfeed.tech/topics/retry.md>), [Sequences](<https://devfeed.tech/topics/sequences.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [community](<https://devfeed.tech/tags/community.md>), [data-pipeline](<https://devfeed.tech/tags/data-pipeline.md>), [embeddings](<https://devfeed.tech/tags/embeddings.md>), [on-prem](<https://devfeed.tech/tags/on-prem.md>), [pii](<https://devfeed.tech/tags/pii.md>), [redis](<https://devfeed.tech/tags/redis.md>), [retries](<https://devfeed.tech/tags/retries.md>), [storage](<https://devfeed.tech/tags/storage.md>)

### AI overview

This guest post explains a Temporal workflow that chains discrete Activities to process complaints while maintaining a PII boundary. It uses an on-premises all-MiniLM-L6-v2 model for embeddings, caches vectors in Redis, stores them externally, and relies on deterministic workflow sequencing and retry policies.

### Source excerpt

Learn how to build a durable, PII-conscious data pipeline with Temporal using on-prem embeddings, idempotent Activities, external vector storage, and retries.

## I spent two months screen-sharing to ship one integration. So I rebuilt it on Temporal.

DevFeed: [I spent two months screen-sharing to ship one integration. So I rebuilt it on Temporal.](<https://devfeed.tech/articles/i-spent-two-months-screen-sharing-to-ship-one-integration-so-i-rebuilt-it-on-temporal-35876.md>)

Original publisher: [Read original article](<https://temporal.io/blog/i-spent-two-months-screen-sharing-to-ship-one-integration-so-i-rebuilt-it-on-temporal>)

Author: Stephen Montague

Published: 2026-08-06T00:00:00Z

Content type: tutorial

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [proxy](<https://devfeed.tech/topics/proxy.md>), [networking](<https://devfeed.tech/topics/networking.md>), [legacy application](<https://devfeed.tech/topics/legacy-application.md>), [Messaging](<https://devfeed.tech/topics/messaging.md>), [on-prem](<https://devfeed.tech/topics/on-prem.md>), [retry](<https://devfeed.tech/topics/retry.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>)

Tags: [legacy-application](<https://devfeed.tech/tags/legacy-application.md>), [messaging](<https://devfeed.tech/tags/messaging.md>), [networking](<https://devfeed.tech/tags/networking.md>), [on-prem](<https://devfeed.tech/tags/on-prem.md>), [proxy](<https://devfeed.tech/tags/proxy.md>), [retry](<https://devfeed.tech/tags/retry.md>), [software](<https://devfeed.tech/tags/software.md>), [temporal-voices](<https://devfeed.tech/tags/temporal-voices.md>)

### AI overview

The article explains how to connect a cloud application to a firewalled on-premises edge site using an egress-only proxy and a single outbound Temporal connection. It describes the operational difficulties of a legacy, one-way integration and the need for bidirectional messaging, retry handling, and testing.

### Source excerpt

How to durably reach a firewalled edge site with no inbound ports: an egress-only proxy that hot-reloads config over a single outbound Temporal connection.

## Towards Designing an Execution Control System with Metastability Resilience

DevFeed: [Towards Designing an Execution Control System with Metastability Resilience](<https://devfeed.tech/articles/towards-designing-an-execution-control-system-with-metastability-resilience-41856.md>)

Original publisher: [Read original article](<https://muratbuffalo.blogspot.com/2026/08/towards-designing-execution-control.html>)

Author: Murat (noreply@blogger.com)

Published: 2026-08-02T06:46:15Z

Content type: article

Language: en

Sources: [Metadata](<https://devfeed.tech/sources/metadata.md>)

Topics: [execution](<https://devfeed.tech/topics/execution.md>), [Resilience](<https://devfeed.tech/topics/resilience.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [scaling](<https://devfeed.tech/topics/scaling.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [retry](<https://devfeed.tech/topics/retry.md>), [systems](<https://devfeed.tech/topics/systems.md>), [Network](<https://devfeed.tech/topics/network.md>)

Tags: [databases](<https://devfeed.tech/tags/databases.md>), [execution](<https://devfeed.tech/tags/execution.md>), [fault-tolerance](<https://devfeed.tech/tags/fault-tolerance.md>), [latency](<https://devfeed.tech/tags/latency.md>), [metastability](<https://devfeed.tech/tags/metastability.md>), [my-paper](<https://devfeed.tech/tags/my-paper.md>), [network](<https://devfeed.tech/tags/network.md>), [resilience](<https://devfeed.tech/tags/resilience.md>), [retries](<https://devfeed.tech/tags/retries.md>), [retry](<https://devfeed.tech/tags/retry.md>), [scaling](<https://devfeed.tech/tags/scaling.md>), [systems](<https://devfeed.tech/tags/systems.md>)

### AI overview

The article discusses designing a metastability-tolerant execution control system for databases. It explains how mixed workloads, overload, delayed signals, retries, and workload misclassification can create self-sustaining degraded states in cloud database systems.

### Source excerpt

This week, I presented this paper at ICCCN'26. This is joint work with Aleksey Charapko (University of New Hampshire) and my MongoDB colleagues Matt Broadstone, Daniel Gomez Ferro, and Akshat Vig. The paper investigates how to build a metastability tolerant execution control system (ECS) for a database. Why? Modern databases are complex networked systems serving mixed workloads: short queries (that want an answer in milliseconds) sitting next to analytics jobs (that want the CPU for multiple seconds). The arrival rate of requests is effectively unbounded, but of course, the server's resources are not. And, unfortunately, elastic scaling does not save you here. Scaling takes minutes, whereas, overload takes seconds. Admission control tries to guard the front door (more on this later), but the component that mediates contention once requests reach the backend is the execution control system (ECS). Unlike a closed system OS scheduler, which strives for fairness and completeness by giving runtime for every thread, faced with an open environment the ECS can only afford to protect short latency-sensitive queries and shed the excess, pushing the burden of waiting back across the network to the clients. This doesn't mean that long tasks are starved, as they can retry until capacity permits execution. However, shedding load across a network is risky business. Clients do not see the server slow down, instead they time out and retry aggressively. Moreover, workloads are also unpredictable. A query that looks short may hang on a lock or blow up into a scan. The combination of delayed signals, retries, and misclassification makes the cloud databases a fertile ground for failures. The specific failure we worry about here is metastability: the system gets pushed into a degraded state, and the degraded state sustains itself even after the original trigger is removed. The mechanisms you build for resilience (the retries and the queues) turn into positive feedback loops after a trigg

## How to build deep research agents using Temporal and Braintrust

DevFeed: [How to build deep research agents using Temporal and Braintrust](<https://devfeed.tech/articles/how-to-build-deep-research-agents-using-temporal-and-braintrust-35865.md>)

Original publisher: [Read original article](<https://temporal.io/blog/how-to-build-deep-research-agents-using-temporal-and-braintrust>)

Author: Martin Bergman

Published: 2026-06-03T00:00:00Z

Content type: tutorial

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [Multi Agent Systems](<https://devfeed.tech/topics/multi-agent-systems.md>), [observability](<https://devfeed.tech/topics/observability.md>), [Pydantic](<https://devfeed.tech/topics/pydantic.md>), [parallel](<https://devfeed.tech/topics/parallel.md>), [retry](<https://devfeed.tech/topics/retry.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>)

Tags: [agents](<https://devfeed.tech/tags/agents.md>), [build](<https://devfeed.tech/tags/build.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [multi-agent](<https://devfeed.tech/tags/multi-agent.md>), [observability](<https://devfeed.tech/tags/observability.md>), [parallel](<https://devfeed.tech/tags/parallel.md>), [research](<https://devfeed.tech/tags/research.md>), [retry](<https://devfeed.tech/tags/retry.md>), [tracing](<https://devfeed.tech/tags/tracing.md>)

### AI overview

This tutorial explains a multi-agent deep research pipeline built with Temporal and Braintrust. It covers planning, query generation, parallel web search, report synthesis, and the use of Durable Execution, evals, and observability to handle timeouts, partial failures, and difficult debugging.

### Source excerpt

Deep research agents are fragile in production. Here's how Temporal and Braintrust make them resilient with Durable Execution, evals, and tracing.

## Track customer loyalty points with durable workflows

DevFeed: [Track customer loyalty points with durable workflows](<https://devfeed.tech/articles/track-customer-loyalty-points-with-durable-workflows-35824.md>)

Original publisher: [Read original article](<https://temporal.io/blog/entity-workflow-loyalty-points>)

Author: Cecil Phillip

Published: 2026-06-03T00:00:00Z

Content type: tutorial

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [account](<https://devfeed.tech/topics/account.md>), [business logic](<https://devfeed.tech/topics/business-logic.md>), [Database](<https://devfeed.tech/topics/database.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [locking](<https://devfeed.tech/topics/locking.md>), [retry](<https://devfeed.tech/topics/retry.md>), [service](<https://devfeed.tech/topics/service.md>), [upgrade](<https://devfeed.tech/topics/upgrade.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>)

Tags: [account](<https://devfeed.tech/tags/account.md>), [business-logic](<https://devfeed.tech/tags/business-logic.md>), [customer](<https://devfeed.tech/tags/customer.md>), [database](<https://devfeed.tech/tags/database.md>), [locking](<https://devfeed.tech/tags/locking.md>), [loyalty](<https://devfeed.tech/tags/loyalty.md>), [loyalty-points](<https://devfeed.tech/tags/loyalty-points.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [process](<https://devfeed.tech/tags/process.md>), [query](<https://devfeed.tech/tags/query.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [retry](<https://devfeed.tech/tags/retry.md>), [service](<https://devfeed.tech/tags/service.md>), [temporal](<https://devfeed.tech/tags/temporal.md>), [temporal-concepts](<https://devfeed.tech/tags/temporal-concepts.md>), [upgrades](<https://devfeed.tech/tags/upgrades.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

This article explains how to track customer loyalty points with durable Entity Workflows in Temporal. Each customer has a persistent workflow that maintains points, tier status, and activity history, while Signals handle accruals, Updates validate redemptions, and Queries read current balances.

### Source excerpt

Track loyalty points with durable Entity Workflows in Temporal. See how to handle accruals, tier upgrades, and redemptions for each customer.

## Keep business processes moving by recovering failed steps without restarting

DevFeed: [Keep business processes moving by recovering failed steps without restarting](<https://devfeed.tech/articles/keep-business-processes-moving-by-recovering-failed-steps-without-restarting-35901.md>)

Original publisher: [Read original article](<https://temporal.io/blog/keep-business-processes-moving>)

Author: Tao Guo

Published: 2026-05-11T00:00:00Z

Content type: tutorial

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [Orchestration](<https://devfeed.tech/topics/orchestration.md>), [Processes](<https://devfeed.tech/topics/processes.md>), [retry](<https://devfeed.tech/topics/retry.md>)

Tags: [data](<https://devfeed.tech/tags/data.md>), [error](<https://devfeed.tech/tags/error.md>), [execution](<https://devfeed.tech/tags/execution.md>), [state](<https://devfeed.tech/tags/state.md>), [temporal-concepts](<https://devfeed.tech/tags/temporal-concepts.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

The article explains how to recover failed steps in durable business processes without restarting completed work. It presents a Temporal pattern in which workflows pause on permanent failures, accept corrections from humans or automated agents, and resume from the point of failure.

### Source excerpt

Stop restarting broken business processes. See how Temporal Workflows pause on bad data, accept fixes via Signals, and resume without losing progress.

## Introducing the Temporal Developer Skill

DevFeed: [Introducing the Temporal Developer Skill](<https://devfeed.tech/articles/introducing-the-temporal-developer-skill-35890.md>)

Original publisher: [Read original article](<https://temporal.io/blog/introducing-temporal-developer-skill>)

Author: Ethan Ruhe

Published: 2026-03-20T00:00:00Z

Content type: release

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [cursor](<https://devfeed.tech/topics/cursor.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [Error Handling](<https://devfeed.tech/topics/error-handling.md>), [retry](<https://devfeed.tech/topics/retry.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [configuration](<https://devfeed.tech/topics/configuration.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai-coding-agents](<https://devfeed.tech/tags/ai-coding-agents.md>), [cli](<https://devfeed.tech/tags/cli.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [coverage](<https://devfeed.tech/tags/coverage.md>), [developer](<https://devfeed.tech/tags/developer.md>), [error-handling](<https://devfeed.tech/tags/error-handling.md>), [product-news](<https://devfeed.tech/tags/product-news.md>), [retry](<https://devfeed.tech/tags/retry.md>), [sdk](<https://devfeed.tech/tags/sdk.md>)

### AI overview

Temporal announces the Developer Skill in public preview, providing coding agents with on-demand guidance on Temporal's programming model, SDK best practices, workflows, retries, error handling, testing, and worker configuration.

### Source excerpt

Supercharge your AI coding agent with the Temporal Developer Skill. Get expert-level guidance on Workflow determinism, retry policies, and SDK best practices in real-time.

## nsnotifyd-2.4 released

DevFeed: [nsnotifyd-2.4 released](<https://devfeed.tech/articles/nsnotifyd-2-4-released-36230.md>)

Original publisher: [Read original article](<https://dotat.at/@/2026-02-24-nsnotifyd-2-4-released.html>)

Published: 2026-02-24T20:08:07Z

Content type: release

Language: en

Sources: [Tony Finch's blog](<https://devfeed.tech/sources/tony-finch-s-blog.md>)

Topics: [servers](<https://devfeed.tech/topics/servers.md>), [interoperability](<https://devfeed.tech/topics/interoperability.md>), [retry](<https://devfeed.tech/topics/retry.md>), [client](<https://devfeed.tech/topics/client.md>), [Web](<https://devfeed.tech/topics/web.md>)

Tags: [bug-fixes](<https://devfeed.tech/tags/bug-fixes.md>), [client](<https://devfeed.tech/tags/client.md>), [dns](<https://devfeed.tech/tags/dns.md>), [git](<https://devfeed.tech/tags/git.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>), [new-feature](<https://devfeed.tech/tags/new-feature.md>), [release](<https://devfeed.tech/tags/release.md>), [retry](<https://devfeed.tech/tags/retry.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

The nsnotifyd 2.4 release adds an option to direct all SOA queries to a specific server, fixes the nsnotify client's inability to create DNS NOTIFY messages, and improves compatibility with git archive and web front-ends offering tarball downloads.

### Source excerpt

The nsnotifyd daemon monitors a set of DNS zones and runs a command when any of them change. It listens for DNS NOTIFY messages so it can respond to changes promptly. It also uses each zone's SOA refresh and retry parameters to poll for updates if nsnotifyd does not receive NOTIFY messages more frequently. It comes with a client program nsnotify for sending notify messages. This nsnotifyd-2.4 release includes a new feature and some bug fixes: The new -S option tells nsnotifyd to send all SOA queries to a specific server. Previously, in response to a NOTIFY message, it would send a SOA query back to the source of the NOTIFY, as specified by RFC 1996. (Typically, a NOTIFY will only be accepted from a known authoritative server for the zone. The target of the NOTIFY responds with a SOA refresh query and zone transfer. But it should avoid trying to refresh from one of the other authoritative servers which might not have received the latest version of the zone.) Mark Felder encountered a situation where it would have been more convenient to fix the address that nsnotifyd sends SOA queries to, because the source of the NOTIFY messages wasn't responding on that address. Since nsnotifyd is intended to work as glue between disparate parts of a system, it makes sense for it to work around awkward interoperability problems. The nsnotify client program was broken and unable to create NOTIFY messages. D'oh! I have adjusted the release process so that it works better with git archive and web front-ends that offer tarball downloads.

## The hero's journey to AI durability with Temporal

DevFeed: [The hero's journey to AI durability with Temporal](<https://devfeed.tech/articles/the-hero-s-journey-to-ai-durability-with-temporal-36064.md>)

Original publisher: [Read original article](<https://temporal.io/blog/the-heros-journey-to-ai-durability-with-temporal>)

Author: Tim Imkin

Published: 2026-01-14T00:00:00Z

Content type: tutorial

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [reliability](<https://devfeed.tech/topics/reliability.md>), [Development](<https://devfeed.tech/topics/development.md>), [retry](<https://devfeed.tech/topics/retry.md>), [Networks](<https://devfeed.tech/topics/networks.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Filesystems](<https://devfeed.tech/topics/filesystems.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [apis](<https://devfeed.tech/tags/apis.md>), [databases](<https://devfeed.tech/tags/databases.md>), [durability](<https://devfeed.tech/tags/durability.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [networks](<https://devfeed.tech/tags/networks.md>), [reliability](<https://devfeed.tech/tags/reliability.md>), [retry](<https://devfeed.tech/tags/retry.md>), [temporal](<https://devfeed.tech/tags/temporal.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

The article explains how Temporal Workflows and Activities can make multi-step AI features durable when workers restart or networks, APIs, databases, file systems, and user actions fail. It focuses on recovering without duplicate work, lost state, wasted resources, or reduced user trust.

### Source excerpt

Ship AI features that survive real-world failures. Learn how Temporal Workflows and Activities make multi-step LLM and tool chains durable--so restarts, timeouts, and rate limits don't cause duplicate work or lost state.

## On Metastable Failures and Interactions Between Systems

DevFeed: [On Metastable Failures and Interactions Between Systems](<https://devfeed.tech/articles/on-metastable-failures-and-interactions-between-systems-39550.md>)

Original publisher: [Read original article](<https://charap.co/on-metastable-failures-and-interactions-between-systems/>)

Author: Aleksey Charapko

Published: 2025-12-24T21:26:49Z

Content type: opinion

Language: en

Sources: [Aleksey Charapko](<https://devfeed.tech/sources/aleksey-charapko.md>)

Topics: [systems](<https://devfeed.tech/topics/systems.md>), [retry](<https://devfeed.tech/topics/retry.md>), [clients](<https://devfeed.tech/topics/clients.md>), [servers](<https://devfeed.tech/topics/servers.md>), [Latency](<https://devfeed.tech/topics/latency.md>)

Tags: [clients](<https://devfeed.tech/tags/clients.md>), [fault-tolerance](<https://devfeed.tech/tags/fault-tolerance.md>), [latency](<https://devfeed.tech/tags/latency.md>), [load](<https://devfeed.tech/tags/load.md>), [metastabiilty](<https://devfeed.tech/tags/metastabiilty.md>), [other-thoughts](<https://devfeed.tech/tags/other-thoughts.md>), [performance](<https://devfeed.tech/tags/performance.md>), [retry](<https://devfeed.tech/tags/retry.md>), [server](<https://devfeed.tech/tags/server.md>), [signal](<https://devfeed.tech/tags/signal.md>), [state](<https://devfeed.tech/tags/state.md>), [systems](<https://devfeed.tech/tags/systems.md>), [timeout](<https://devfeed.tech/tags/timeout.md>)

### AI overview

The article explains metastable failures as self-sustaining performance failures caused by positive feedback loops. It uses retry storms to show how overload, latency, timeouts, and client retries can reinforce one another, and examines how ambiguous timeout signals make recovery more difficult.

### Source excerpt

I've written about metastable failures before. The topic has been picked up by a few different teams since the, all analyzing metastable failures more, while I apparently has been slacking off... Anyway, Metastable failures are self-sustaining performance failures that arise in systems due to a positive feedback loop triggered by an initial problem. This positive [...]

## From prototype to production-ready agentic AI solution: A use case from Grid Dynamics

DevFeed: [From prototype to production-ready agentic AI solution: A use case from Grid Dynamics](<https://devfeed.tech/articles/from-prototype-to-production-ready-agentic-ai-solution-a-use-case-from-grid-dynamics-35940.md>)

Original publisher: [Read original article](<https://temporal.io/blog/prototype-to-prod-ready-agentic-ai-grid-dynamics>)

Author: Eugene Steinberg

Published: 2025-09-29T00:00:00Z

Content type: article

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Langgraph](<https://devfeed.tech/topics/langgraph.md>), [Error Handling](<https://devfeed.tech/topics/error-handling.md>), [retry](<https://devfeed.tech/topics/retry.md>), [Redis](<https://devfeed.tech/topics/redis.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [case-study](<https://devfeed.tech/tags/case-study.md>), [community](<https://devfeed.tech/tags/community.md>), [error-handling](<https://devfeed.tech/tags/error-handling.md>), [langgraph](<https://devfeed.tech/tags/langgraph.md>), [production](<https://devfeed.tech/tags/production.md>), [redis](<https://devfeed.tech/tags/redis.md>), [retry](<https://devfeed.tech/tags/retry.md>), [state-management](<https://devfeed.tech/tags/state-management.md>)

### AI overview

A Grid Dynamics case study describes building a deep research agent for a Fortune 500 manufacturer. The team used LangGraph initially, then migrated to Temporal after encountering challenges with error handling, retries, state management, caching, scaling, custom workflows, and human-in-the-loop interactions.

### Source excerpt

What happens when a promising AI agent prototype hits the high stakes of a prod environment? Grid Dynamics found out the hard way.

## How Grepsr uses Temporal to deliver scalable and reliable web data

DevFeed: [How Grepsr uses Temporal to deliver scalable and reliable web data](<https://devfeed.tech/articles/how-grepsr-uses-temporal-to-deliver-scalable-and-reliable-web-data-35855.md>)

Original publisher: [Read original article](<https://temporal.io/blog/how-grepsr-uses-temporal-to-deliver-scalable-and-reliable-web-data>)

Author: Subrat Basnet

Published: 2025-07-24T00:00:00Z

Content type: article

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [data](<https://devfeed.tech/topics/data.md>), [Web Scraping](<https://devfeed.tech/topics/web-scraping.md>), [reliability](<https://devfeed.tech/topics/reliability.md>), [Microservices](<https://devfeed.tech/topics/microservices.md>), [Orchestration](<https://devfeed.tech/topics/orchestration.md>), [event driven](<https://devfeed.tech/topics/event-driven.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [retry](<https://devfeed.tech/topics/retry.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [code](<https://devfeed.tech/tags/code.md>), [community](<https://devfeed.tech/tags/community.md>), [data](<https://devfeed.tech/tags/data.md>), [event-driven](<https://devfeed.tech/tags/event-driven.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [orchestration](<https://devfeed.tech/tags/orchestration.md>), [reliability](<https://devfeed.tech/tags/reliability.md>), [retry](<https://devfeed.tech/tags/retry.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

Grepsr describes how it uses Temporal to orchestrate a microservices-based, event-driven web-data extraction platform. The article explains how workflow orchestration addresses failure tracing, lost state, brittle parallel execution, and limited cron-job visibility while supporting large-scale data processing.

### Source excerpt

Grepsr scaled to 600 M web-data records a day with 99% delivery reliability by orchestrating its micro-services on Temporal -- see how code-first Workflows made it happen.

## How many Activities should I use in my Temporal Workflow?

DevFeed: [How many Activities should I use in my Temporal Workflow?](<https://devfeed.tech/articles/how-many-activities-should-i-use-in-my-temporal-workflow-35858.md>)

Original publisher: [Read original article](<https://temporal.io/blog/how-many-activities-should-i-use-in-my-temporal-workflow>)

Author: Taylor Khan

Published: 2025-04-16T00:00:00Z

Content type: tutorial

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [Cloud](<https://devfeed.tech/topics/cloud.md>), [retry](<https://devfeed.tech/topics/retry.md>), [optimize](<https://devfeed.tech/topics/optimize.md>), [Self-hosted](<https://devfeed.tech/topics/self-hosted.md>), [monitor](<https://devfeed.tech/topics/monitor.md>), [Network](<https://devfeed.tech/topics/network.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [debug](<https://devfeed.tech/tags/debug.md>), [monitor](<https://devfeed.tech/tags/monitor.md>), [network](<https://devfeed.tech/tags/network.md>), [optimize](<https://devfeed.tech/tags/optimize.md>), [retry](<https://devfeed.tech/tags/retry.md>), [temporal-voices](<https://devfeed.tech/tags/temporal-voices.md>), [workflow](<https://devfeed.tech/tags/workflow.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

This tutorial explains how to decide whether to split work across multiple Temporal Activities. It recommends fine-grained Activities, usually one operation per Activity, while weighing state changes, event history, network requests, infrastructure cost, retry and timeout configuration, debugging, testing, monitoring, and workflow maintainability.

### Source excerpt

Learn when to split Temporal Activities for better Workflows. Explore necessity, practicality, and preference-based guidelines to optimize your design.

## Why Temporal replaces traditional state machines for distributed applications

DevFeed: [Why Temporal replaces traditional state machines for distributed applications](<https://devfeed.tech/articles/why-temporal-replaces-traditional-state-machines-for-distributed-applications-36027.md>)

Original publisher: [Read original article](<https://temporal.io/blog/temporal-replaces-state-machines-for-distributed-applications>)

Author: Tim Imkin

Published: 2025-04-11T00:00:00Z

Content type: tutorial

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [distributed-systems](<https://devfeed.tech/topics/distributed-systems.md>), [Orchestration](<https://devfeed.tech/topics/orchestration.md>), [reliability](<https://devfeed.tech/topics/reliability.md>), [retry](<https://devfeed.tech/topics/retry.md>)

Tags: [distributed](<https://devfeed.tech/tags/distributed.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [reliability](<https://devfeed.tech/tags/reliability.md>), [retries](<https://devfeed.tech/tags/retries.md>), [systems](<https://devfeed.tech/tags/systems.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

This article explains how Temporal's Durable Execution model addresses the complexity of long-running distributed workflows. It contrasts explicit state machines and ad-hoc orchestration with code that provides state tracking, retries, timeouts, and resilience to failures.

### Source excerpt

Discover how Temporal's Durable Execution model simplifies distributed workflows, replacing complex state machines with reliable, fault-tolerant code.

## Build resilient Agentic AI with Temporal

DevFeed: [Build resilient Agentic AI with Temporal](<https://devfeed.tech/articles/build-resilient-agentic-ai-with-temporal-35738.md>)

Original publisher: [Read original article](<https://temporal.io/blog/build-resilient-agentic-ai-with-temporal>)

Author: Tim Imkin

Published: 2025-02-25T00:00:00Z

Content type: tutorial

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Orchestration](<https://devfeed.tech/topics/orchestration.md>), [reliability](<https://devfeed.tech/topics/reliability.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [retry](<https://devfeed.tech/topics/retry.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [Processes](<https://devfeed.tech/topics/processes.md>), [SDK](<https://devfeed.tech/topics/sdk.md>), [context](<https://devfeed.tech/topics/context.md>)

Tags: [agentic-ai](<https://devfeed.tech/tags/agentic-ai.md>), [agents](<https://devfeed.tech/tags/agents.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [continuous](<https://devfeed.tech/tags/continuous.md>), [durability](<https://devfeed.tech/tags/durability.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [orchestration](<https://devfeed.tech/tags/orchestration.md>), [state-management](<https://devfeed.tech/tags/state-management.md>), [temporal-concepts](<https://devfeed.tech/tags/temporal-concepts.md>)

### AI overview

This tutorial explains how Temporal supports durable, scalable Agentic AI workflows that can preserve state, involve humans, schedule execution, provide observability, and recover from failures through retries.

### Source excerpt

Learn how Temporal powers durable, scalable Agentic AI workflows with reliable state management, human-in-the-loop, and seamless orchestration.

## Temporal Announces Four Hands-On Error Handling Training Courses

DevFeed: [Temporal Announces Four Hands-On Error Handling Training Courses](<https://devfeed.tech/articles/craft-an-error-handling-strategy-with-free-hands-on-training-35826.md>)

Original publisher: [Read original article](<https://temporal.io/blog/error-handling-strategy-free-hands-on-training>)

Author: Mason Egger

Published: 2024-10-29T05:00:00Z

Content type: release

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [Error Handling](<https://devfeed.tech/topics/error-handling.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [reliability](<https://devfeed.tech/topics/reliability.md>), [Learning](<https://devfeed.tech/topics/learning.md>), [retry](<https://devfeed.tech/topics/retry.md>)

Tags: [error-handling](<https://devfeed.tech/tags/error-handling.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [learning](<https://devfeed.tech/tags/learning.md>), [reliability](<https://devfeed.tech/tags/reliability.md>), [retry](<https://devfeed.tech/tags/retry.md>), [sdk](<https://devfeed.tech/tags/sdk.md>)

### AI overview

Temporal announces four hands-on training courses that teach developers how to design and implement error-handling strategies for Temporal applications using specific SDKs.

### Source excerpt

Errors are bound to happen. When they do, you'll be able to craft a great error handling strategy with the information from our course.

## How to convert your job scheduling system to Temporal Schedules

DevFeed: [How to convert your job scheduling system to Temporal Schedules](<https://devfeed.tech/articles/how-to-convert-your-job-scheduling-system-to-temporal-schedules-35866.md>)

Original publisher: [Read original article](<https://temporal.io/blog/how-to-convert-your-job-scheduling-system-to-temporal-schedules>)

Author: Irina Belova

Published: 2024-04-15T04:00:00Z

Content type: tutorial

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [Job](<https://devfeed.tech/topics/job.md>), [migration](<https://devfeed.tech/topics/migration.md>), [systems](<https://devfeed.tech/topics/systems.md>), [retry](<https://devfeed.tech/topics/retry.md>), [Script](<https://devfeed.tech/topics/script.md>)

Tags: [how-to](<https://devfeed.tech/tags/how-to.md>), [job](<https://devfeed.tech/tags/job.md>), [migration](<https://devfeed.tech/tags/migration.md>), [replacement](<https://devfeed.tech/tags/replacement.md>), [retry](<https://devfeed.tech/tags/retry.md>), [scheduling](<https://devfeed.tech/tags/scheduling.md>), [scripts](<https://devfeed.tech/tags/scripts.md>), [worker](<https://devfeed.tech/tags/worker.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

This tutorial explains how to migrate existing cron and other scheduled jobs to Temporal Schedules. It covers wrapping non-Temporal scripts in Activities, assessing schedule and overlap requirements, handling retries and failures, and deploying workflows in a Temporal Worker.

### Source excerpt

Temporal Schedules offer a reliable, efficient alternative to traditional job schedulers, replacing Cron, systemd timers, and task queues like Celery.

## What is idempotency? And why it matters for durable systems

DevFeed: [What is idempotency? And why it matters for durable systems](<https://devfeed.tech/articles/what-is-idempotency-and-why-it-matters-for-durable-systems-35877.md>)

Original publisher: [Read original article](<https://temporal.io/blog/idempotency-and-durable-execution>)

Author: Joshua Smith

Published: 2024-02-27T08:00:00Z

Content type: tutorial

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [distributed-systems](<https://devfeed.tech/topics/distributed-systems.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [retry](<https://devfeed.tech/topics/retry.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [examples](<https://devfeed.tech/tags/examples.md>), [idempotency](<https://devfeed.tech/tags/idempotency.md>), [retries](<https://devfeed.tech/tags/retries.md>), [safely](<https://devfeed.tech/tags/safely.md>), [temporal-concepts](<https://devfeed.tech/tags/temporal-concepts.md>)

### AI overview

This tutorial explains idempotency in programming and distributed systems: repeated requests produce the same result, making retries safer and reducing unintended duplicate effects. It uses database, media-player, and order-processing examples and discusses how Temporal can help manage complex cases.

### Source excerpt

Learn what idempotency means in programming and distributed systems. Discover how Temporal helps manage retries and durability with real-world examples.

## 5 ways Temporal Cloud can help startups

DevFeed: [5 ways Temporal Cloud can help startups](<https://devfeed.tech/articles/5-ways-temporal-cloud-can-help-startups-35695.md>)

Original publisher: [Read original article](<https://temporal.io/blog/5-ways-temporal-cloud-can-help-startups>)

Author: Meagan Speare

Published: 2023-11-28T05:00:00Z

Content type: article

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [reliability](<https://devfeed.tech/topics/reliability.md>), [distributed-systems](<https://devfeed.tech/topics/distributed-systems.md>), [business logic](<https://devfeed.tech/topics/business-logic.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [iteration](<https://devfeed.tech/topics/iteration.md>), [retry](<https://devfeed.tech/topics/retry.md>)

Tags: [business-logic](<https://devfeed.tech/tags/business-logic.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [developers](<https://devfeed.tech/tags/developers.md>), [development](<https://devfeed.tech/tags/development.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [iteration](<https://devfeed.tech/tags/iteration.md>), [reliability](<https://devfeed.tech/tags/reliability.md>), [retry](<https://devfeed.tech/tags/retry.md>), [startups](<https://devfeed.tech/tags/startups.md>)

### AI overview

This article explains how Temporal Cloud may help startup teams by accelerating feature development, abstracting state management and retry handling, improving reliability through durable execution, and making distributed-systems development more accessible. It also describes Temporal Cloud for Startups, which offers free credits and support.

### Source excerpt

We've frequently heard from developers at startups that Temporal Cloud would provide substantial benefits for their projects, but remains just out of reach of their limited budgets. To help these developers, we recently launched Temporal Cloud for Startups

## Failure handling in practice: Master Workflow retry logic for resilient applications

DevFeed: [Failure handling in practice: Master Workflow retry logic for resilient applications](<https://devfeed.tech/articles/failure-handling-in-practice-master-workflow-retry-logic-for-resilient-applications-35832.md>)

Original publisher: [Read original article](<https://temporal.io/blog/failure-handling-in-practice>)

Author: Fitz

Published: 2022-11-08T19:00:00Z

Content type: tutorial

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [retry](<https://devfeed.tech/topics/retry.md>), [Error Handling](<https://devfeed.tech/topics/error-handling.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [applications](<https://devfeed.tech/tags/applications.md>), [error-handling](<https://devfeed.tech/tags/error-handling.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [retry](<https://devfeed.tech/tags/retry.md>), [systems](<https://devfeed.tech/tags/systems.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

This tutorial explains how to classify and handle failures in Temporal Workflows, focusing on retry and compensation decisions across different failure dimensions. It applies the approach to a three-step online order workflow implemented with separate Activities.

### Source excerpt

Learn how to design reliable workflow retry logic with built-in error handling using Temporal. Get started building more resilient, error-tolerant systems.

## Paul Nordstrom: Why I joined Temporal

DevFeed: [Paul Nordstrom: Why I joined Temporal](<https://devfeed.tech/articles/paul-nordstrom-why-i-joined-temporal-35938.md>)

Original publisher: [Read original article](<https://temporal.io/blog/paul-nordstrom-why-i-joined>)

Author: Paul Nordstrom

Published: 2022-03-15T07:00:00Z

Content type: opinion

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [systems](<https://devfeed.tech/topics/systems.md>), [Persistence](<https://devfeed.tech/topics/persistence.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [retry](<https://devfeed.tech/topics/retry.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [code](<https://devfeed.tech/tags/code.md>), [ml](<https://devfeed.tech/tags/ml.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [persistence](<https://devfeed.tech/tags/persistence.md>), [retry](<https://devfeed.tech/tags/retry.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [temporal-voices](<https://devfeed.tech/tags/temporal-voices.md>)

### AI overview

Paul Nordstrom explains why he joined Temporal, describing its deterministic workflow processing model and how replay makes business logic durable while simplifying retries, error recovery, timers, and persistence.

### Source excerpt

Max and Samar's creation is, for me, similar in beauty and power to Euler's equation.

[Next page](<https://devfeed.tech/topics/retry.md?cursor=WyIyMDIyLTAzLTE1VDA3OjAwOjAwKzAwOjAwIiwgIjA0Njg0NGE3LWEyODItNDZjMi04YzRlLWFiZjY5NTcyM2Q1ZCJd>)