# Version journeys, not blasts

## Goal
Only snapshot a version when saving a **journey**, never a **blast**.

## Change
Guard inside `CustomJourneyVersion::record()` — skip when the journey is a blast:

```php
public static function record(CustomJourney $journey, $editedBy): ?self
{
    if ($journey->is_blast) {
        return null; // only journeys are versioned, not blasts
    }
    return static::create([...]);
}
```

Signature `: self` → `: ?self` (return value is unused by callers).

## Why one place
`record()` is the single funnel for all three save paths:
- `createBlast` (always a blast) → now skipped.
- `createJourney` (journey) → still recorded.
- `silentSaveJourney` (either) → recorded only for non-blast journeys.

Composes with the existing `skip_version_record` (restore) guard.

## Scope
Backend only. No migration, no rebuild. Existing blast version rows are left as-is (harmless).
