These items require release infrastructure, registry credentials, domains, or GitHub repository settings. They are tracked here so the project has a clear path beyond source installs.
agents-shipgateis published on PyPI.- Pinned GitHub Action release tags are published, including
v0.15.0. - GitHub Releases attach the independently qualified wheel, SBOM,
safety-qualification.json, and their Sigstore bundles. The tag workflow does not rebuild or publish an unqualified sdist. - Evaluate a container image later only if it has an exercised build-and-test path.
- Evaluate Homebrew once CLI usage warrants it.
The GitHub Action installs from its tagged source by default. A
shipgate_version input is available for release flows that intentionally need
to install a published PyPI version.
- Generate SBOMs for release artifacts.
- Sign release artifacts with Sigstore.
- Publish to PyPI through Trusted Publishing from
.github/workflows/release.yml. - Keep GitHub Actions pinned by SHA.
- Use Dependabot for Python and GitHub Actions updates.
- Add a lockfile for release and dev dependency builds once packaging workflow is finalized.
PyPI Trusted Publishing is configured for this repository's tag-triggered
release workflow and protected pypi environment.
Every tag release now fails closed unless the protected pypi environment
provides all six variables below. Values must be populated by the independent
benchmark-owner promotion flow after it runs the frozen corpus against the
exact wheel and signs safety-qualification.json:
| Environment variable | Required value |
|---|---|
SAFETY_QUALIFICATION_WHEEL_URL |
HTTPS URL for the exact qualified wheel |
SAFETY_QUALIFICATION_WHEEL_FILENAME |
Safe wheel basename, for example agents_shipgate-0.16.0b6-py3-none-any.whl |
SAFETY_QUALIFICATION_JSON_URL |
HTTPS URL for the production-qualified JSON artifact |
SAFETY_QUALIFICATION_SIGSTORE_BUNDLE_URL |
HTTPS URL for that JSON artifact's Sigstore bundle |
SAFETY_QUALIFICATION_SIGNER_IDENTITY |
Exact trusted certificate identity configured for qualification promotion |
SAFETY_QUALIFICATION_OIDC_ISSUER |
Trusted OIDC issuer, normally https://token.actions.githubusercontent.com for GitHub Actions |
The release workflow verifies the signature identity first, then validates the artifact's production policy, 100-case invariants, tag/version, and wheel SHA-256. It copies and publishes that exact wheel only; it never rebuilds the package after qualification. Missing variables, non-HTTPS URLs, an unsafe filename, an invalid signature, a non-production result, or any binding mismatch stops before PyPI publication. Protect variable updates with required environment reviewers who are independent of the release initiator.
This is a configured trust root, not proof of organizational independence. The promotion job trusts the signed qualification summary and does not replay its underlying verifier receipts. The four-week, three-design-partner rollout is likewise an external beta stop condition; the machine gate enforces only the qualification artifact's combined minimum of 40 real-history, rejected/reverted, or design-partner origins.
ThreeMoonsLab/agents-shipgateis listed on GitHub Marketplace.- Create a small landing page with install instructions, trust model, and findings gallery.
- Consider a local-only playground later; do not accept private customer manifests into a hosted service without a separate privacy review.
The tag-triggered release workflow publishes PyPI artifacts and creates the GitHub release. After each release tag, verify the external surfaces that live outside this repository:
- PyPI shows the new package version.
- GitHub Marketplace shows the new release tag as Latest.
- The website header, footer,
/llms.txt, and/.well-known/agents-shipgate.jsonshow the new version. - Website discovery metadata points at the current report schema and GitHub Action pin.
/sitemap.xmlresolves to the current sitemap or redirects to/sitemap-index.xml.
The repository keeps a root action.yml for GitHub Marketplace publication and
a minimal .github/workflows/ci.yml for project validation plus a tag-triggered
release workflow. The action remains a composite action; there is no Docker
action entrypoint in the current release.