---
title: "Is WELD still Sourdough's shape? | WELD docs"
description: "Whether WELD is still Sourdough's Inertia shape: the regen gate compares a fresh generation with WELD and fails only on new drift."
url: https://weld.apps.wayne.edu/docs/guides/regen-check.html
llms: https://weld.apps.wayne.edu/llms.txt
generator: Squire agent-ready
---

# Is WELD still Sourdough's shape?[#](https://weld.apps.wayne.edu/docs/guides/regen-check.html#is-weld-still-sourdough-s-shape)

This page shows how the regen gate proves that WELD is still Sourdough's Inertia shape, and how to run it against your own generation.

## How the check works[#](https://weld.apps.wayne.edu/docs/guides/regen-check.html#how-the-check-works)

Sourdough writes a manifest of every file it generates (`.sourdough/manifest.json`: each path with its SHA-256). `bin/regen-check.php` compares that manifest with WELD file by file, skipping the product files WELD adds on top (listed in `.sourdough/product-files.json`) and any path with a `vendor` or `node_modules` segment. Each remaining path is reported as IDENTICAL, DIFFERS or MISSING_IN_WELD.

The generated app folder must contain `.sourdough/manifest.json`, the file list Sourdough writes into every app it generates (files maps path to `{class, sha256}`). Paths listed in `.sourdough/product-files.json` (exact paths or `dir/` prefixes) and every path with a `vendor` or `node_modules` segment at any depth are skipped. A DIFFERS path means the WELD file exists with another SHA-256.

## The ratchet baseline[#](https://weld.apps.wayne.edu/docs/guides/regen-check.html#the-ratchet-baseline)

The gate is a ratchet: `.sourdough/regen-baseline.json` records the drift already known and accepted, and the check fails only on new drift. CI runs it against a fresh `sourdough new --inertia` generation from Sourdough's main; locally, point it at your own generation.

## Running the check[#](https://weld.apps.wayne.edu/docs/guides/regen-check.html#running-the-check)

Run the check:

```sh
php bin/regen-check.php --generated <dir>
```

or through Composer:

```sh
composer regen-check -- --generated <dir>
```

Record the current drift as accepted: add `--write-baseline`.

Note

Exit codes: 0 no new drift (or the baseline was written), 1 new drift, listed on stderr, 2 usage error. The script is plain PHP 8.3 with no Composer packages, so it runs on Windows, macOS and Linux the same way.

## Related[#](https://weld.apps.wayne.edu/docs/guides/regen-check.html#related)

- [WELD and Sourdough](https://weld.apps.wayne.edu/docs/guides/sourdough.html)
- [Status](https://weld.apps.wayne.edu/docs/reference/status.html)
- [Changelog](https://weld.apps.wayne.edu/docs/changelog.html)
