# Re-record test data that no longer matches the real service

Recorded responses captured a year ago, replayed against the current provider and updated where they no longer match.

Category: Mocks, fixtures, and test doubles
Source: https://letsship.ai/use-cases/refresh-drifted-fixtures
Published: 2026-08-25

## Goal

Re-record the fixtures for one service and reconcile the differences against the current live shape.

## Acceptance criteria

- Each fixture is re-recorded from the current provider
- Differences from the old recordings are listed in the description
- Tests relying on removed fields are updated rather than deleted
- Sensitive values are scrubbed from the recordings

## What lands as proof

A diff of old against new recordings, with each change explained rather than accepted silently.

## Prompt

Copy this to an agent to open the ticket:

```text
Create a Linear issue in my team and assign it to the SHIP agent.

Title: Re-record the {service} fixtures

Description: Re-record the fixtures for one service and reconcile the differences against the current live shape.

Acceptance criteria:
- Each fixture is re-recorded from the current provider
- Differences from the old recordings are listed in the description
- Tests relying on removed fields are updated rather than deleted
- Sensitive values are scrubbed from the recordings

Before you create the issue, find the oldest recorded fixtures in this repository and replace {service} with what they cover.
```

## Questions

### What does the agent actually change?

The ticket is scoped to one outcome: re-record the fixtures for one service and reconcile the differences against the current live shape. Work that serves that outcome is in scope, and anything outside it is left for a separate ticket, so the pull request stays reviewable.

### How do I know the work is done?

The pull request carries the evidence, not only the diff. Here that means each recording replayed against the current provider, so a reviewer can confirm the result without reproducing the work locally.

### How much oversight does this need?

The run stops once the plan is written. Somebody reads the approach and approves it before any code exists, which is the cheapest moment to redirect the work.
