﻿---
title: Axis 07 · Liveness: Does it eventually finish?
description: Axis 07, Liveness: Does it eventually finish?
url: https://docs-v3-preview.elastic.dev/axes/07-liveness
---

# Axis 07 · Liveness: Does it eventually finish?
## In plain words

Every request eventually gets an answer. Not "within a minute", just "at some point". The bug is the endless spinner: something was started and never finished.

## The bug you would ship

A confirmed order was never shipped (and never cancelled). Nothing crashed. Nothing was reported. The order just stayed confirmed forever.

## You declare

```csharp
Temporal<FulfilmentEvent>.Eventually(
	_ => "order",                                  
	e => e is FulfilmentEvent.Confirmed,           
	e => e is FulfilmentEvent.Shipped or FulfilmentEvent.Cancelled)  
```


## The library does

It runs the same random calls on the virtual clock, lets the run settle, and then checks that everything that was started has ended. Liveness can only be judged at the end of a run, which is why it is a separate question from a deadline.

## When it fails, you read

Liveness failed.
Rule broken      every-confirmed-order-ships
Noticed at       +0s
What happened    1 instance(s) never reached the target event: order
Events recorded  +0s  Confirmed
Calls made       wait 4s, Confirm
Law              What must eventually happen does, once a run has settled.
Consequence      Something that was started never finishes: an endless spinner, a build that never reports an end.
Smallest case found, after 1 shrink. To run this case again: .Seed("9-RUpSdWxJb3")
How to read this:
- **What happened** says what never ended: `1 instance(s) never reached the target event`.
- **Events recorded** shows a confirmation and nothing after it.


## Why you did not write this test

A failure of omission leaves nothing to look at. No error, no log line. Only a rule that says "this must end" notices.

## In real code

In docs-builder, every started validation build must end in "complete" or "cancelled", however many findings it makes on the way.
---

Previous: [06 Temporal](https://docs-v3-preview.elastic.dev/axes/06-temporal) · Next: [08 Confluence](https://docs-v3-preview.elastic.dev/axes/08-confluence) · [All nine axes](https://docs-v3-preview.elastic.dev/axes)