# Shard a slow job so it runs in parallel

A long serial job split across parallel shards, with the same test count and a measured wall-clock.

Category: Pipeline speed and cost
Source: https://letsship.ai/use-cases/shard-a-slow-job
Published: 2026-08-25

## Goal

Split a slow pipeline job into parallel shards.

## Acceptance criteria

- The total test count is identical before and after
- Wall-clock time is recorded either side
- Shards are balanced rather than split arbitrarily
- A failure in any shard fails the job

## What lands as proof

Matching test counts plus the wall-clock difference, so speed is not bought by silently skipping work.

## 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: Shard the {job} job

Description: Split a slow pipeline job into parallel shards.

Acceptance criteria:
- The total test count is identical before and after
- Wall-clock time is recorded either side
- Shards are balanced rather than split arbitrarily
- A failure in any shard fails the job

Before you create the issue, find the longest job in this repository's pipeline and replace {job}.
```

## Questions

### What does the agent actually change?

The ticket is scoped to one outcome: split a slow pipeline job into parallel shards. 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 wall-clock before and after with an identical test count, 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.
