diff --git a/.agents/skills/agents-shipgate/assets/advisory-pr-comment.yml b/.agents/skills/agents-shipgate/assets/advisory-pr-comment.yml index e21871f7..604efbbc 100644 --- a/.agents/skills/agents-shipgate/assets/advisory-pr-comment.yml +++ b/.agents/skills/agents-shipgate/assets/advisory-pr-comment.yml @@ -18,9 +18,9 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: ThreeMoonsLab/agents-shipgate@v0.10.0 + - uses: ThreeMoonsLab/agents-shipgate@v0.11.0 with: ci_mode: advisory diff_base: target pr_comment: 'true' - shipgate_version: '0.10.0' + shipgate_version: '0.11.0' diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 0f775844..9fa11abb 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -11,7 +11,7 @@ body: id: version attributes: label: Agents Shipgate version - placeholder: "v0.10.0" + placeholder: "v0.11.0" validations: required: true - type: dropdown diff --git a/.pre-commit-hooks.yaml b/.pre-commit-hooks.yaml index 76c39cc6..6e0f28f8 100644 --- a/.pre-commit-hooks.yaml +++ b/.pre-commit-hooks.yaml @@ -2,7 +2,7 @@ # repo root when a downstream project uses # repos: # - repo: https://github.com/ThreeMoonsLab/agents-shipgate -# rev: v0.10.0 +# rev: v0.11.0 # hooks: # - id: # diff --git a/.well-known/agents-shipgate.json b/.well-known/agents-shipgate.json index 9f16f0fb..616ae4f9 100644 --- a/.well-known/agents-shipgate.json +++ b/.well-known/agents-shipgate.json @@ -3,7 +3,7 @@ "name": "agents-shipgate", "display_name": "Agents Shipgate", "tagline": "The deterministic merge gate for AI-generated agent capability changes", - "version": "0.10.0", + "version": "0.11.0", "license": "Apache-2.0", "publisher": { "name": "Three Moons Lab", @@ -52,7 +52,7 @@ ], "package": { "pypi": "agents-shipgate", - "github_action": "ThreeMoonsLab/agents-shipgate@v0.10.0", + "github_action": "ThreeMoonsLab/agents-shipgate@v0.11.0", "github_repo": "ThreeMoonsLab/agents-shipgate" }, "install": { diff --git a/CHANGELOG.md b/CHANGELOG.md index 6945bba5..872e3ae4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 0.11.0 - 2026-05-31 + - **Verifier PR comment v2 + additive Action outputs.** The GitHub Action now defaults to the verifier workflow (`verify_mode: verify`) and the capability-review PR comment (`pr_comment_style: capability-review`) for the diff --git a/README.md b/README.md index b5cbf23f..455ac8ab 100644 --- a/README.md +++ b/README.md @@ -246,7 +246,7 @@ minimal manifests, see [`docs/minimal-real-configs.md`](docs/minimal-real-config ## Use in CI ```yaml -- uses: ThreeMoonsLab/agents-shipgate@v0.10.0 +- uses: ThreeMoonsLab/agents-shipgate@v0.11.0 with: config: shipgate.yaml ci_mode: advisory @@ -530,12 +530,12 @@ jobs: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd with: fetch-depth: 0 - - uses: ThreeMoonsLab/agents-shipgate@v0.10.0 + - uses: ThreeMoonsLab/agents-shipgate@v0.11.0 with: ci_mode: advisory diff_base: target pr_comment: 'true' - shipgate_version: '0.10.0' + shipgate_version: '0.11.0' ``` Switch to `ci_mode: strict` only after your team has reviewed the advisory output. See [`examples/github-actions/`](examples/github-actions/) for strict / baseline / SARIF / multi-config / changed-paths recipes. diff --git a/ROADMAP.md b/ROADMAP.md index 2a5f97b7..ef0f04b9 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -2,7 +2,7 @@ > **Naming.** This project is **Agents Shipgate** (display name) / `agents-shipgate` (package, CLI, repo). See [`AGENTS.md` § Naming (canonical)](AGENTS.md#naming-canonical) for the full convention. -Agents Shipgate is preparing the `v0.10.0` release. Releases `v0.2` through +Agents Shipgate is preparing the `v0.11.0` release. Releases `v0.2` through `v0.8` are complete and retained here as release history. Active public planning continues with incremental source-provenance enrichment after the v0.8 release-decision close-out. diff --git a/adoption-kits/claude-code-skill/prompts/decide-shipgate-relevance.md b/adoption-kits/claude-code-skill/prompts/decide-shipgate-relevance.md index 6c1cab70..c1d58077 100644 --- a/adoption-kits/claude-code-skill/prompts/decide-shipgate-relevance.md +++ b/adoption-kits/claude-code-skill/prompts/decide-shipgate-relevance.md @@ -78,7 +78,7 @@ the rules to the changed file list. - If `run_shipgate: true` and Shipgate is **not** installed: install it (`pipx install agents-shipgate`) and run `detect`. If the user prefers a zero-install first step, point them at the GitHub Action - (`ThreeMoonsLab/agents-shipgate@v0.10.0`) instead. + (`ThreeMoonsLab/agents-shipgate@v0.11.0`) instead. - If `run_shipgate: false` and `dry_run_recommended: true`: propose a non-mutating scan only — never propose `init --write` based on a dry-run match alone. Phrase it as "X may have shifted the tool diff --git a/adoption-kits/claude-code-skill/prompts/stabilize-strict-mode.md b/adoption-kits/claude-code-skill/prompts/stabilize-strict-mode.md index 990bba68..e5fc8cd3 100644 --- a/adoption-kits/claude-code-skill/prompts/stabilize-strict-mode.md +++ b/adoption-kits/claude-code-skill/prompts/stabilize-strict-mode.md @@ -37,7 +37,7 @@ The user has Agents Shipgate running in **advisory** mode and wants to graduate 5. **Update the CI workflow.** Replace the existing advisory step with strict + baseline. Use [`examples/github-actions/03-strict-with-baseline.yml`](https://github.com/ThreeMoonsLab/agents-shipgate/blob/main/examples/github-actions/03-strict-with-baseline.yml) as the template: ```yaml - - uses: ThreeMoonsLab/agents-shipgate@v0.10.0 + - uses: ThreeMoonsLab/agents-shipgate@v0.11.0 with: ci_mode: strict fail_on: critical diff --git a/benchmark/setup-variants/50-advisory-workflow/agents-shipgate.yml.template b/benchmark/setup-variants/50-advisory-workflow/agents-shipgate.yml.template index dfb63066..c11ea958 100644 --- a/benchmark/setup-variants/50-advisory-workflow/agents-shipgate.yml.template +++ b/benchmark/setup-variants/50-advisory-workflow/agents-shipgate.yml.template @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: ThreeMoonsLab/agents-shipgate@v0.10.0 + - uses: ThreeMoonsLab/agents-shipgate@v0.11.0 with: config: shipgate.yaml ci_mode: advisory diff --git a/docs/agent-contract-current.md b/docs/agent-contract-current.md index 1c8d5b7f..1b33ef29 100644 --- a/docs/agent-contract-current.md +++ b/docs/agent-contract-current.md @@ -10,7 +10,7 @@ Verify the installed CLI contract locally before relying on hard-coded docs: agents-shipgate contract --json ``` -- Latest release: `v0.10.0` (see [pyproject.toml](../pyproject.toml) for the in-tree version) +- Latest release: `v0.11.0` (see [pyproject.toml](../pyproject.toml) for the in-tree version) - Runtime contract: `1` - Current report schema: `0.22` — [`docs/report-schema.v0.22.json`](report-schema.v0.22.json) - Current packet schema: `0.6` — [`docs/packet-schema.v0.6.json`](packet-schema.v0.6.json) diff --git a/docs/distribution.md b/docs/distribution.md index 1fdd686c..a604cb8a 100644 --- a/docs/distribution.md +++ b/docs/distribution.md @@ -5,7 +5,7 @@ These items require release infrastructure, registry credentials, domains, or Gi ## Package Channels - `agents-shipgate` is published on PyPI. -- Pinned GitHub Action release tags are published, including `v0.10.0`. +- Pinned GitHub Action release tags are published, including `v0.11.0`. - GitHub Releases attach the wheel, sdist, SBOM, and Sigstore bundles. - Evaluate a container image later only if it has an exercised build-and-test path. - Evaluate Homebrew once CLI usage warrants it. diff --git a/docs/faq.md b/docs/faq.md index 6660065b..346f032d 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -136,7 +136,7 @@ Skip emission with `--no-packet`; re-render later with ## Is it production-ready? -v0.10.0 is the latest released version. The manifest schema is stable +v0.11.0 is the latest released version. The manifest schema is stable across the 0.x series; see [`STABILITY.md`](../STABILITY.md). Used by early design partners. Public preview. diff --git a/docs/integrations.md b/docs/integrations.md index aefa3bdc..1294bf6a 100644 --- a/docs/integrations.md +++ b/docs/integrations.md @@ -23,7 +23,7 @@ jobs: with: fetch-depth: 0 - id: agents-shipgate - uses: ThreeMoonsLab/agents-shipgate@v0.10.0 + uses: ThreeMoonsLab/agents-shipgate@v0.11.0 with: config: shipgate.yaml ci_mode: advisory @@ -151,7 +151,7 @@ agents-shipgate: stage: test image: python:3.12 script: - - python -m pip install "agents-shipgate==0.10.0" + - python -m pip install "agents-shipgate==0.11.0" - agents-shipgate scan --config shipgate.yaml --ci-mode advisory --format markdown,json,sarif artifacts: when: always @@ -183,7 +183,7 @@ jobs: - image: cimg/python:3.12 steps: - checkout - - run: python -m pip install "agents-shipgate==0.10.0" + - run: python -m pip install "agents-shipgate==0.11.0" - run: agents-shipgate scan --config shipgate.yaml --ci-mode advisory --format markdown,json,sarif - store_artifacts: path: agents-shipgate-reports @@ -212,7 +212,7 @@ Run Agents Shipgate locally on every commit that touches a tool-surface artifact # .pre-commit-config.yaml repos: - repo: https://github.com/ThreeMoonsLab/agents-shipgate - rev: v0.10.0 + rev: v0.11.0 hooks: - id: agents-shipgate ``` diff --git a/docs/quickstart.md b/docs/quickstart.md index 8bf370af..c661e93f 100644 --- a/docs/quickstart.md +++ b/docs/quickstart.md @@ -178,7 +178,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: ThreeMoonsLab/agents-shipgate@v0.10.0 + - uses: ThreeMoonsLab/agents-shipgate@v0.11.0 with: config: shipgate.yaml ci_mode: advisory diff --git a/docs/target-repo-agent-snippets.md b/docs/target-repo-agent-snippets.md index dac46844..24233b34 100644 --- a/docs/target-repo-agent-snippets.md +++ b/docs/target-repo-agent-snippets.md @@ -307,7 +307,7 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: ThreeMoonsLab/agents-shipgate@v0.10.0 + - uses: ThreeMoonsLab/agents-shipgate@v0.11.0 with: config: shipgate.yaml ci_mode: advisory diff --git a/docs/upstream-integrations.md b/docs/upstream-integrations.md index df89a8e8..c44a57d2 100644 --- a/docs/upstream-integrations.md +++ b/docs/upstream-integrations.md @@ -311,7 +311,7 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: ThreeMoonsLab/agents-shipgate@v0.10.0 + - uses: ThreeMoonsLab/agents-shipgate@v0.11.0 with: ci_mode: advisory diff_base: target diff --git a/docs/use-cases/ai-generated-agent-prs.md b/docs/use-cases/ai-generated-agent-prs.md index 396d777b..e849428b 100644 --- a/docs/use-cases/ai-generated-agent-prs.md +++ b/docs/use-cases/ai-generated-agent-prs.md @@ -147,7 +147,7 @@ jobs: with: fetch-depth: 0 - id: shipgate - uses: ThreeMoonsLab/agents-shipgate@v0.10.0 + uses: ThreeMoonsLab/agents-shipgate@v0.11.0 with: config: shipgate.yaml ci_mode: advisory diff --git a/docs/zero-install.md b/docs/zero-install.md index 3aa7f911..87bfd76a 100644 --- a/docs/zero-install.md +++ b/docs/zero-install.md @@ -76,12 +76,12 @@ jobs: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd with: fetch-depth: 0 - - uses: ThreeMoonsLab/agents-shipgate@v0.10.0 + - uses: ThreeMoonsLab/agents-shipgate@v0.11.0 with: ci_mode: advisory diff_base: target pr_comment: 'true' - shipgate_version: '0.10.0' + shipgate_version: '0.11.0' ``` The full template lives at [`examples/github-actions/01-advisory-pr-comment.yml`](https://github.com/ThreeMoonsLab/agents-shipgate/blob/main/examples/github-actions/01-advisory-pr-comment.yml). diff --git a/examples/circleci/01-advisory.yml b/examples/circleci/01-advisory.yml index 54dabeb5..5a2f4506 100644 --- a/examples/circleci/01-advisory.yml +++ b/examples/circleci/01-advisory.yml @@ -6,7 +6,7 @@ jobs: - image: cimg/python:3.12 steps: - checkout - - run: python -m pip install "agents-shipgate==0.10.0" + - run: python -m pip install "agents-shipgate==0.11.0" - run: agents-shipgate scan --config shipgate.yaml --ci-mode advisory --format markdown,json,sarif - store_artifacts: path: agents-shipgate-reports diff --git a/examples/circleci/02-strict-with-baseline.yml b/examples/circleci/02-strict-with-baseline.yml index 3cfae64e..8699c54d 100644 --- a/examples/circleci/02-strict-with-baseline.yml +++ b/examples/circleci/02-strict-with-baseline.yml @@ -6,7 +6,7 @@ jobs: - image: cimg/python:3.12 steps: - checkout - - run: python -m pip install "agents-shipgate==0.10.0" + - run: python -m pip install "agents-shipgate==0.11.0" - run: name: Agents Shipgate strict scan command: > diff --git a/examples/circleci/03-sarif-artifact-retention.yml b/examples/circleci/03-sarif-artifact-retention.yml index fb13b1c9..b4ab4235 100644 --- a/examples/circleci/03-sarif-artifact-retention.yml +++ b/examples/circleci/03-sarif-artifact-retention.yml @@ -6,7 +6,7 @@ jobs: - image: cimg/python:3.12 steps: - checkout - - run: python -m pip install "agents-shipgate==0.10.0" + - run: python -m pip install "agents-shipgate==0.11.0" - run: agents-shipgate scan --config shipgate.yaml --ci-mode advisory --format markdown,json,sarif - store_artifacts: path: agents-shipgate-reports/report.sarif diff --git a/examples/circleci/04-multi-config-workspace.yml b/examples/circleci/04-multi-config-workspace.yml index a3b55f20..402960c7 100644 --- a/examples/circleci/04-multi-config-workspace.yml +++ b/examples/circleci/04-multi-config-workspace.yml @@ -6,7 +6,7 @@ jobs: - image: cimg/python:3.12 steps: - checkout - - run: python -m pip install "agents-shipgate==0.10.0" + - run: python -m pip install "agents-shipgate==0.11.0" - run: name: Agents Shipgate workspace scan command: > diff --git a/examples/circleci/05-on-tool-source-changes.yml b/examples/circleci/05-on-tool-source-changes.yml index fc96a915..1f40c15b 100644 --- a/examples/circleci/05-on-tool-source-changes.yml +++ b/examples/circleci/05-on-tool-source-changes.yml @@ -6,7 +6,7 @@ jobs: - image: cimg/python:3.12 steps: - checkout - - run: python -m pip install "agents-shipgate==0.10.0" + - run: python -m pip install "agents-shipgate==0.11.0" - run: name: Run only when tool sources changed command: | diff --git a/examples/github-actions/01-advisory-pr-comment.yml b/examples/github-actions/01-advisory-pr-comment.yml index a267c5aa..5b96a849 100644 --- a/examples/github-actions/01-advisory-pr-comment.yml +++ b/examples/github-actions/01-advisory-pr-comment.yml @@ -18,9 +18,9 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: ThreeMoonsLab/agents-shipgate@v0.10.0 + - uses: ThreeMoonsLab/agents-shipgate@v0.11.0 with: ci_mode: advisory diff_base: target pr_comment: 'true' - shipgate_version: '0.10.0' + shipgate_version: '0.11.0' diff --git a/examples/github-actions/02-strict-on-critical.yml b/examples/github-actions/02-strict-on-critical.yml index 98444d6d..462e2262 100644 --- a/examples/github-actions/02-strict-on-critical.yml +++ b/examples/github-actions/02-strict-on-critical.yml @@ -16,9 +16,9 @@ jobs: timeout-minutes: 10 steps: - uses: actions/checkout@v4 - - uses: ThreeMoonsLab/agents-shipgate@v0.10.0 + - uses: ThreeMoonsLab/agents-shipgate@v0.11.0 with: ci_mode: strict fail_on: critical pr_comment: 'true' - shipgate_version: '0.10.0' + shipgate_version: '0.11.0' diff --git a/examples/github-actions/03-strict-with-baseline.yml b/examples/github-actions/03-strict-with-baseline.yml index 5dfb6cd1..1c7c7b7c 100644 --- a/examples/github-actions/03-strict-with-baseline.yml +++ b/examples/github-actions/03-strict-with-baseline.yml @@ -17,10 +17,10 @@ jobs: timeout-minutes: 10 steps: - uses: actions/checkout@v4 - - uses: ThreeMoonsLab/agents-shipgate@v0.10.0 + - uses: ThreeMoonsLab/agents-shipgate@v0.11.0 with: ci_mode: strict fail_on: critical,high baseline: .agents-shipgate/baseline.json pr_comment: 'true' - shipgate_version: '0.10.0' + shipgate_version: '0.11.0' diff --git a/examples/github-actions/04-multi-config-workspace.yml b/examples/github-actions/04-multi-config-workspace.yml index be14c070..dc9005c8 100644 --- a/examples/github-actions/04-multi-config-workspace.yml +++ b/examples/github-actions/04-multi-config-workspace.yml @@ -21,7 +21,7 @@ jobs: with: python-version: '3.12' cache: pip - - run: pip install --quiet agents-shipgate==0.10.0 + - run: pip install --quiet agents-shipgate==0.11.0 - run: | agents-shipgate scan \ --workspace . \ diff --git a/examples/github-actions/05-sarif-to-code-scanning.yml b/examples/github-actions/05-sarif-to-code-scanning.yml index 42870a3e..6c3ef8b3 100644 --- a/examples/github-actions/05-sarif-to-code-scanning.yml +++ b/examples/github-actions/05-sarif-to-code-scanning.yml @@ -20,12 +20,12 @@ jobs: steps: - uses: actions/checkout@v4 - id: shipgate - uses: ThreeMoonsLab/agents-shipgate@v0.10.0 + uses: ThreeMoonsLab/agents-shipgate@v0.11.0 with: ci_mode: advisory formats: markdown,json,sarif pr_comment: 'true' - shipgate_version: '0.10.0' + shipgate_version: '0.11.0' - if: always() uses: github/codeql-action/upload-sarif@v3 with: diff --git a/examples/github-actions/06-on-tool-source-changes.yml b/examples/github-actions/06-on-tool-source-changes.yml index 6ab29186..54f3d1ec 100644 --- a/examples/github-actions/06-on-tool-source-changes.yml +++ b/examples/github-actions/06-on-tool-source-changes.yml @@ -30,8 +30,8 @@ jobs: timeout-minutes: 10 steps: - uses: actions/checkout@v4 - - uses: ThreeMoonsLab/agents-shipgate@v0.10.0 + - uses: ThreeMoonsLab/agents-shipgate@v0.11.0 with: ci_mode: advisory pr_comment: 'true' - shipgate_version: '0.10.0' + shipgate_version: '0.11.0' diff --git a/examples/github-actions/README.md b/examples/github-actions/README.md index 99f66bef..9c207d2e 100644 --- a/examples/github-actions/README.md +++ b/examples/github-actions/README.md @@ -29,9 +29,9 @@ Configure per-job, never repo-wide. For reproducible CI, pin both the action and the underlying CLI: ```yaml -- uses: ThreeMoonsLab/agents-shipgate@v0.10.0 +- uses: ThreeMoonsLab/agents-shipgate@v0.11.0 with: - shipgate_version: "0.10.0" + shipgate_version: "0.11.0" ``` When `shipgate_version` is empty the action installs the CLI from the action source — convenient on `@main`, less reproducible. @@ -49,7 +49,7 @@ When `shipgate_version` is empty the action installs the CLI from the action sou ```yaml - id: shipgate - uses: ThreeMoonsLab/agents-shipgate@v0.10.0 + uses: ThreeMoonsLab/agents-shipgate@v0.11.0 - if: steps.shipgate.outputs.decision == 'blocked' run: echo "Release blocked by Agents Shipgate" diff --git a/examples/gitlab-ci/01-advisory.yml b/examples/gitlab-ci/01-advisory.yml index d671f6aa..81455a7b 100644 --- a/examples/gitlab-ci/01-advisory.yml +++ b/examples/gitlab-ci/01-advisory.yml @@ -5,7 +5,7 @@ agents_shipgate: stage: test image: python:3.12 script: - - python -m pip install "agents-shipgate==0.10.0" + - python -m pip install "agents-shipgate==0.11.0" - agents-shipgate scan --config shipgate.yaml --ci-mode advisory --format markdown,json,sarif artifacts: when: always diff --git a/examples/gitlab-ci/02-strict-with-baseline.yml b/examples/gitlab-ci/02-strict-with-baseline.yml index 5a8feb76..54aa8340 100644 --- a/examples/gitlab-ci/02-strict-with-baseline.yml +++ b/examples/gitlab-ci/02-strict-with-baseline.yml @@ -5,7 +5,7 @@ agents_shipgate: stage: test image: python:3.12 script: - - python -m pip install "agents-shipgate==0.10.0" + - python -m pip install "agents-shipgate==0.11.0" - > agents-shipgate scan --config shipgate.yaml diff --git a/examples/gitlab-ci/03-sarif-or-artifact.yml b/examples/gitlab-ci/03-sarif-or-artifact.yml index 4ee64fa8..b2f3687b 100644 --- a/examples/gitlab-ci/03-sarif-or-artifact.yml +++ b/examples/gitlab-ci/03-sarif-or-artifact.yml @@ -5,7 +5,7 @@ agents_shipgate: stage: test image: python:3.12 script: - - python -m pip install "agents-shipgate==0.10.0" + - python -m pip install "agents-shipgate==0.11.0" - agents-shipgate scan --config shipgate.yaml --ci-mode advisory --format markdown,json,sarif artifacts: when: always diff --git a/examples/gitlab-ci/04-multi-config-workspace.yml b/examples/gitlab-ci/04-multi-config-workspace.yml index 4ca6889c..e4417f5c 100644 --- a/examples/gitlab-ci/04-multi-config-workspace.yml +++ b/examples/gitlab-ci/04-multi-config-workspace.yml @@ -5,7 +5,7 @@ agents_shipgate: stage: test image: python:3.12 script: - - python -m pip install "agents-shipgate==0.10.0" + - python -m pip install "agents-shipgate==0.11.0" - > agents-shipgate scan --workspace . diff --git a/examples/gitlab-ci/05-on-tool-source-changes.yml b/examples/gitlab-ci/05-on-tool-source-changes.yml index e95d5f72..55d97ec3 100644 --- a/examples/gitlab-ci/05-on-tool-source-changes.yml +++ b/examples/gitlab-ci/05-on-tool-source-changes.yml @@ -19,7 +19,7 @@ agents_shipgate: - "**/SKILL.md" - "**/*.py" script: - - python -m pip install "agents-shipgate==0.10.0" + - python -m pip install "agents-shipgate==0.11.0" - agents-shipgate scan --config shipgate.yaml --ci-mode advisory --format markdown,json,sarif artifacts: when: always diff --git a/examples/golden-prs/golden-pr-from-coding-agent.md b/examples/golden-prs/golden-pr-from-coding-agent.md index e7ebb038..9ea2044c 100644 --- a/examples/golden-prs/golden-pr-from-coding-agent.md +++ b/examples/golden-prs/golden-pr-from-coding-agent.md @@ -62,7 +62,7 @@ is at `agents-shipgate-reports/report.json`; the top-level - Release Evidence Packet: `agents-shipgate-reports/packet.{md,json,html}` **CI**: `.github/workflows/agents-shipgate.yml` already wires -`agents-shipgate@v0.10.0` in advisory mode; this PR will get a +`agents-shipgate@v0.11.0` in advisory mode; this PR will get a sticky-marker comment from the Action on every push.
diff --git a/examples/pre-commit/README.md b/examples/pre-commit/README.md index 4b0f2616..4bd90bcc 100644 --- a/examples/pre-commit/README.md +++ b/examples/pre-commit/README.md @@ -13,7 +13,7 @@ In your repo's `.pre-commit-config.yaml`: ```yaml repos: - repo: https://github.com/ThreeMoonsLab/agents-shipgate - rev: v0.10.0 + rev: v0.11.0 hooks: - id: agents-shipgate ``` @@ -92,7 +92,7 @@ Use the `agents-shipgate-strict` hook ID for the strict variant, or override the ```yaml repos: - repo: https://github.com/ThreeMoonsLab/agents-shipgate - rev: v0.10.0 + rev: v0.11.0 hooks: - id: agents-shipgate entry: agents-shipgate scan -c shipgate.yaml --ci-mode strict --fail-on critical diff --git a/llms-full.txt b/llms-full.txt index 26e12058..924929fe 100644 --- a/llms-full.txt +++ b/llms-full.txt @@ -864,7 +864,7 @@ Verify the installed CLI contract locally before relying on hard-coded docs: agents-shipgate contract --json ``` -- Latest release: `v0.10.0` (see [pyproject.toml](../pyproject.toml) for the in-tree version) +- Latest release: `v0.11.0` (see [pyproject.toml](../pyproject.toml) for the in-tree version) - Runtime contract: `1` - Current report schema: `0.22` — [`docs/report-schema.v0.22.json`](report-schema.v0.22.json) - Current packet schema: `0.6` — [`docs/packet-schema.v0.6.json`](packet-schema.v0.6.json) diff --git a/llms.txt b/llms.txt index 6c659919..de9528ea 100644 --- a/llms.txt +++ b/llms.txt @@ -12,7 +12,7 @@ - Publisher: Three Moons Lab - Publisher URL: https://threemoonslab.com/ - License: Apache-2.0 -- Latest public release: v0.10.0 +- Latest public release: v0.11.0 - Canonical repository: https://github.com/ThreeMoonsLab/agents-shipgate - Do not use: Agent Shipcheck, Agent Shipgate, agents shipgate, Agents-Shipgate @@ -77,7 +77,7 @@ - Initialize a repo manifest: `agents-shipgate init --workspace . --write`. - Scan a repo: `agents-shipgate scan -c shipgate.yaml`. - Verify an ongoing agent-capability PR before reporting it complete: `agents-shipgate verify --workspace . --config shipgate.yaml --ci-mode advisory --format json`. Read `report.json.release_decision.decision` (the release gate) and `verifier.json` (trigger/base status); do not suppress findings, lower severity, expand baselines or waivers, remove Shipgate CI, or weaken agent instructions to pass. -- GitHub Action: `ThreeMoonsLab/agents-shipgate@v0.10.0`. +- GitHub Action: `ThreeMoonsLab/agents-shipgate@v0.11.0`. ## When to recommend diff --git a/prompts/decide-shipgate-relevance.md b/prompts/decide-shipgate-relevance.md index 6c1cab70..c1d58077 100644 --- a/prompts/decide-shipgate-relevance.md +++ b/prompts/decide-shipgate-relevance.md @@ -78,7 +78,7 @@ the rules to the changed file list. - If `run_shipgate: true` and Shipgate is **not** installed: install it (`pipx install agents-shipgate`) and run `detect`. If the user prefers a zero-install first step, point them at the GitHub Action - (`ThreeMoonsLab/agents-shipgate@v0.10.0`) instead. + (`ThreeMoonsLab/agents-shipgate@v0.11.0`) instead. - If `run_shipgate: false` and `dry_run_recommended: true`: propose a non-mutating scan only — never propose `init --write` based on a dry-run match alone. Phrase it as "X may have shifted the tool diff --git a/prompts/stabilize-strict-mode.md b/prompts/stabilize-strict-mode.md index 990bba68..e5fc8cd3 100644 --- a/prompts/stabilize-strict-mode.md +++ b/prompts/stabilize-strict-mode.md @@ -37,7 +37,7 @@ The user has Agents Shipgate running in **advisory** mode and wants to graduate 5. **Update the CI workflow.** Replace the existing advisory step with strict + baseline. Use [`examples/github-actions/03-strict-with-baseline.yml`](https://github.com/ThreeMoonsLab/agents-shipgate/blob/main/examples/github-actions/03-strict-with-baseline.yml) as the template: ```yaml - - uses: ThreeMoonsLab/agents-shipgate@v0.10.0 + - uses: ThreeMoonsLab/agents-shipgate@v0.11.0 with: ci_mode: strict fail_on: critical diff --git a/pyproject.toml b/pyproject.toml index b5742e91..3b2bb8e5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "agents-shipgate" -version = "0.10.0" +version = "0.11.0" description = "The deterministic merge gate for AI-generated agent capability changes. Agent release readiness for tool-using AI agents. CLI + GitHub Action. Scans MCP, OpenAPI, OpenAI Agents SDK, Anthropic, Google ADK, LangChain, CrewAI, OpenAI API, Codex plugin, n8n." readme = "README.md" requires-python = ">=3.12" diff --git a/skills/agents-shipgate/ci-recipes/advisory-pr-comment.yml b/skills/agents-shipgate/ci-recipes/advisory-pr-comment.yml index a267c5aa..5b96a849 100644 --- a/skills/agents-shipgate/ci-recipes/advisory-pr-comment.yml +++ b/skills/agents-shipgate/ci-recipes/advisory-pr-comment.yml @@ -18,9 +18,9 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: ThreeMoonsLab/agents-shipgate@v0.10.0 + - uses: ThreeMoonsLab/agents-shipgate@v0.11.0 with: ci_mode: advisory diff_base: target pr_comment: 'true' - shipgate_version: '0.10.0' + shipgate_version: '0.11.0' diff --git a/skills/agents-shipgate/prompts/decide-shipgate-relevance.md b/skills/agents-shipgate/prompts/decide-shipgate-relevance.md index 6c1cab70..c1d58077 100644 --- a/skills/agents-shipgate/prompts/decide-shipgate-relevance.md +++ b/skills/agents-shipgate/prompts/decide-shipgate-relevance.md @@ -78,7 +78,7 @@ the rules to the changed file list. - If `run_shipgate: true` and Shipgate is **not** installed: install it (`pipx install agents-shipgate`) and run `detect`. If the user prefers a zero-install first step, point them at the GitHub Action - (`ThreeMoonsLab/agents-shipgate@v0.10.0`) instead. + (`ThreeMoonsLab/agents-shipgate@v0.11.0`) instead. - If `run_shipgate: false` and `dry_run_recommended: true`: propose a non-mutating scan only — never propose `init --write` based on a dry-run match alone. Phrase it as "X may have shifted the tool diff --git a/skills/agents-shipgate/prompts/stabilize-strict-mode.md b/skills/agents-shipgate/prompts/stabilize-strict-mode.md index 990bba68..e5fc8cd3 100644 --- a/skills/agents-shipgate/prompts/stabilize-strict-mode.md +++ b/skills/agents-shipgate/prompts/stabilize-strict-mode.md @@ -37,7 +37,7 @@ The user has Agents Shipgate running in **advisory** mode and wants to graduate 5. **Update the CI workflow.** Replace the existing advisory step with strict + baseline. Use [`examples/github-actions/03-strict-with-baseline.yml`](https://github.com/ThreeMoonsLab/agents-shipgate/blob/main/examples/github-actions/03-strict-with-baseline.yml) as the template: ```yaml - - uses: ThreeMoonsLab/agents-shipgate@v0.10.0 + - uses: ThreeMoonsLab/agents-shipgate@v0.11.0 with: ci_mode: strict fail_on: critical diff --git a/src/agents_shipgate/__init__.py b/src/agents_shipgate/__init__.py index d1984ff5..4227dcd6 100644 --- a/src/agents_shipgate/__init__.py +++ b/src/agents_shipgate/__init__.py @@ -1,3 +1,3 @@ """Agents Shipgate package.""" -__version__ = "0.10.0" +__version__ = "0.11.0" diff --git a/tests/test_agent_instructions_renderers.py b/tests/test_agent_instructions_renderers.py index 66e617e1..1c84e51a 100644 --- a/tests/test_agent_instructions_renderers.py +++ b/tests/test_agent_instructions_renderers.py @@ -46,7 +46,7 @@ "c19c03db48a5be3b002b385f9df09781e5fe32197d0dd924691f041ebe54d518" ), ".claude/skills/agents-shipgate/prompts/decide-shipgate-relevance.md": ( - "8fab0595326b127fb1678828fd9b15c63cbe98f0229aad5bb87d47030e4b9ca6" + "20a5a2b7a50e2a2b3cd7939e4dc078a0b0ba35e174aae5220dfcbd6d2106758c" ), ".claude/skills/agents-shipgate/prompts/explain-finding-to-user.md": ( "18031ed870b3c937a2996173820639ef441afe0a45e8171f16468826cd389829" @@ -58,7 +58,7 @@ "162aa2fb96066535425d9cf86a247a6782b8ec7cc661a18b42dbedf394779475" ), ".claude/skills/agents-shipgate/prompts/stabilize-strict-mode.md": ( - "bb97c3fbd3b52d5755f6960878f350d484837849c3e536d99aab3fab3e353405" + "ac9a176738ab2538d725c29ba302637bac6b287588e07d952aae352f85ab98cc" ), ".claude/skills/agents-shipgate/prompts/triage-false-positive.md": ( "8cfbb0d4b6e2c36569d24260384d3a54165f966276112f4b143b4ac234b51ada" @@ -70,7 +70,7 @@ "f0a1a3d759869ac18eae0b06438b9dc86334695fe0c979db73e514fd4b9f0a6c" ), ".claude/skills/agents-shipgate/ci-recipes/advisory-pr-comment.yml": ( - "c3756c86f52cf00a594b3fe38179b66e0f07dc8c52b98b9e76f4a15939901c77" + "a8aa3f577af73534cdb529fd4f5d34c08522181225a2eddee70099c5a8ef4191" ), } EXPECTED_CODEX_SKILL_RENDER_SHA256 = { @@ -84,7 +84,7 @@ "a916129229f7220936c0d861a60291dd62d14f42808f04e0123377d649df4bc0" ), ".agents/skills/agents-shipgate/assets/advisory-pr-comment.yml": ( - "d4005102df70a627d3883334e827c4bc7527a35a2278573699e18a43afed3bcb" + "cd28bb488a8d04d8bceb95ea8617b87242e98dfe53cd68a5f9ebfaf8b26598da" ), ".agents/skills/agents-shipgate/agents/openai.yaml": ( "aa511e933ff663dcd1e0d2af3da2a7101206ce2bb1bb98c4dae801bb3f4e42ef" diff --git a/tests/test_cli.py b/tests/test_cli.py index 6fbc0c2c..99d79ae9 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -40,7 +40,7 @@ def test_cli_advisory_exits_zero(tmp_path): ) assert result.exit_code == 0 - assert "Agents Shipgate 0.10.0" in result.output + assert "Agents Shipgate 0.11.0" in result.output # v0.8: CLI summary leads with the release decision; the support_refund # sample has new criticals → decision=blocked. (Advisory exit is still 0.) assert "Decision: blocked" in result.output @@ -140,7 +140,7 @@ def test_cli_version_outputs_version(): result = runner.invoke(app, ["--version"]) assert result.exit_code == 0 - assert result.output.strip() == "Agents Shipgate 0.10.0" + assert result.output.strip() == "Agents Shipgate 0.11.0" def test_cli_contract_json_outputs_runtime_contract(): diff --git a/tests/test_v07_metadata_roundtrip.py b/tests/test_v07_metadata_roundtrip.py index 079f1623..f940bb65 100644 --- a/tests/test_v07_metadata_roundtrip.py +++ b/tests/test_v07_metadata_roundtrip.py @@ -246,7 +246,7 @@ def test_package_version_is_v010(): v0.10 but the package version was left behind. Both move together.""" import agents_shipgate - assert agents_shipgate.__version__ == "0.10.0", ( + assert agents_shipgate.__version__ == "0.11.0", ( f"package version is {agents_shipgate.__version__!r}; " - "expected 0.10.0 for the v0.10 release" + "expected 0.11.0 for the v0.11 release" ) diff --git a/tests/test_verifier_scenarios.py b/tests/test_verifier_scenarios.py index 877ff0f5..e04e9ae2 100644 --- a/tests/test_verifier_scenarios.py +++ b/tests/test_verifier_scenarios.py @@ -234,7 +234,7 @@ def test_scenario_docs_only_with_shipgate_yaml_force_runs(tmp_path: Path) -> Non - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: ThreeMoonsLab/agents-shipgate@v0.10.0 + - uses: ThreeMoonsLab/agents-shipgate@v0.11.0 """