# Retire superseded vectors

Delete the vectors that only this workflow's earlier runs still own.

## When to use it

Remove indexed vectors whose remaining ownership belongs only to this workflow’s earlier runs. Use it to retire obsolete search content. Removing vectors changes retrieval results and does not erase the original document or an authoritative review history.

## Add and configure

1. Add **Retire superseded vectors** from the workflow step picker.
2. Give the step a recognisable name and connect its required inputs.
3. Set the options below. Nested names identify fields within an object or a list item.
4. Validate the recipe, inspect the test result, then run it on the intended data.

The step identifier used in the editor’s code view is `vector_retire`.

## Settings

| Setting | Accepted value | Required | Default | What it controls |
| --- | --- | --- | --- | --- |
| Max Runs (`max_runs`) | integer; minimum 1; maximum 50000 | No | 500 | Maximum prior vector generations retired in this run. A larger backlog drains across later runs. |
| Record Type (`record_type`) | string | No | "vector_retire_meta" | Record type assigned to the step’s emitted result or manifest. |

## Inputs and outputs

| Direction | Port | Content | Required | Multiple records |
| --- | --- | --- | --- | --- |
| Inputs | `in` | records | Yes | Yes |
| Outputs | `out` | records | Yes | Yes |

## Effects, testing, and recovery

Writes information inside Strive.

The declared preview behaviour is to skip this step. Configuration can affect preview behaviour; HTTP GET is a notable exception. Read [dry runs](/docs/workflows/dry-runs) before using a preview with live connections.

Duplicate prevention uses the operation’s natural identity. Do not assume that manually repeating the step is free of repeated effects.

## Example: Retire prior generations after the vector write (defaults)

Step settings:

```json
{}
```

## Example: Drain a large backlog a hundred generations per run

Step settings:

```json
{
  "max_runs": 100,
  "record_type": "vector_retire_meta"
}
```

## Check the result

Inspect the selected run’s status, counts, errors, and output records. An empty collection can be a valid result, and a completed step can contain per-record failures where the step defines that behaviour. Check the next step’s expected record shape before publishing or delivering the result.
