# forge.testing.publish_check

```python
forge.testing.publish_check(path: str | os.PathLike[str], *, symbols: Sequence[str] | None = None, limit_prices: bool = False) -> dict[str, Any]
```

Run the pre-publish battery on a strategy file and return its report as plain JSON.

The battery loads the file, lints it, runs it on Forge's sample prices for several symbols and
time frames, and judges the runs and the look-ahead and warm-up checks. It is the same function
the publish flow runs, so passing it here means the flow will see the same rows. ``symbols``
names
the sample symbols to use (at most five), and ``limit_prices`` keeps the strategy's own order
types in the look-ahead audit.

Since Forge API 1.
