diff --git a/README.md b/README.md
index 9b9975d..565be83 100644
--- a/README.md
+++ b/README.md
@@ -45,8 +45,6 @@ On macOS or Linux, replace `py -3` with `python3` in the commands below.
### From PyPI
-After the first public PyPI release:
-
```bash
py -3 -m pip install broadside-ai
```
@@ -67,7 +65,7 @@ py -3 -m pip install "broadside-ai[all]"
### From a downloaded ZIP or cloned repo
-This works now, even before the PyPI package is published.
+If you prefer to install from source:
Windows PowerShell, if you downloaded the GitHub ZIP:
diff --git a/RELEASE.md b/RELEASE.md
index 356fd74..edd3fff 100644
--- a/RELEASE.md
+++ b/RELEASE.md
@@ -10,10 +10,27 @@ Use this checklist when publishing Broadside-AI.
4. Add `pypi` and `testpypi` environments in GitHub with the protections you want.
5. Confirm the publish workflows can request `id-token: write`.
-For PyPI Trusted Publishing, the workflow file paths in this repo are:
-
-- `.github/workflows/publish.yml` for PyPI
-- `.github/workflows/publish-testpypi.yml` for TestPyPI
+### Trusted publisher values
+
+**PyPI** (create as pending publisher at ):
+
+| Field | Value |
+| ----------------- | -------------------------------------- |
+| Project name | `broadside-ai` |
+| Owner | `HuginnIndustries` |
+| Repository name | `Broadside-AI` |
+| Workflow name | `publish.yml` |
+| Environment name | `pypi` |
+
+**TestPyPI** (create at ):
+
+| Field | Value |
+| ----------------- | -------------------------------------- |
+| Project name | `broadside-ai` |
+| Owner | `HuginnIndustries` |
+| Repository name | `Broadside-AI` |
+| Workflow name | `publish-testpypi.yml` |
+| Environment name | `testpypi` |
## Local release gate
diff --git a/pyproject.toml b/pyproject.toml
index e899c0f..4855f72 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -40,6 +40,7 @@ openai = ["openai>=1.50.0"]
all = ["anthropic>=0.40.0", "openai>=1.50.0"]
dev = [
"build>=1.2.2",
+ "packaging>=24.2",
"pytest>=8.0.0",
"pytest-asyncio>=0.24.0",
"ruff>=0.8.0",