Agents Shipgatev1.2.0Beta

Merge verdicts for
AI-written agent PRs.

When Claude Code, Codex, or Cursor changes what your agent can do—its tools, scopes, prompts, or policies—Shipgate turns the diff into a deterministic merge verdict, before anything reaches production.

Abstract. Static analysis only. No agent execution, LLM calls, tool calls, or telemetry by default. Same evidence, same verdict.

RELEASE NOTE · ASG-FX-001 REPRODUCIBLE
Claim under review

Should a support agent gain refund authority?

Bundled fixture · ai_generated_refund_pr

Capability
+ stripe.create_refund
Scope
+ stripe:*
Policy
approval and idempotency evidence absent
Merge verdictblocked
B
[1] capability-lock-diff.json [2] verifier.json [3] pr-comment.md
01 / METHOD

Registered procedure

See it block a PR in 60 seconds.

One command, a frozen fixture, and a verdict anyone can reproduce before installing the CLI.

ZERO-INSTALL REPRODUCTION~20s
$ uvx agents-shipgate fixture run \
  ai_generated_refund_pr

capability delta   + stripe.create_refund
release decision   blocked
human authority    required
Run the full quickstart →
INPUT / 01PR diff + manifest

Tools, scopes, prompts, policies, and CI.

REVIEW / 02Static adapters + checks

No agent, model, tool, or network execution.

OUTPUT / 03One release decision

Verdict, capability delta, evidence, next action.

  1. 1

    A capability changes. A coding agent or human changes what the released agent can do.

  2. 2

    Shipgate reads the diff. Declared tool sources and release policy become one review surface.

  3. 3

    The PR gets a verdict. The same decision is projected into JSON, SARIF, and a reviewer-shaped PR comment.

02 / CASE NOTES

Public evidence

Four tool surfaces. Four reviewable claims.

These are demonstrations on public sources—not vulnerability claims or project rankings.

CASE 01OpenAI Agents SDK

Airline customer service agent

2 declared tools · static AST

Representative findingupdate_seat changes customer state without enough scope and policy evidence for release review.

Inspect source
CASE 02Anthropic Messages API

Cookbook customer service agent

3 tools · destructive action

Representative findingcancel_order is destructive and needs a declared approval policy before promotion.

Inspect source
CASE 03OpenAPI stress case

DigitalOcean public API

591 operations · broad surface

Representative findingInfrastructure deletion and mutation operations are present without explicit approval coverage.

Inspect source
CASE 04Purpose–surface comparison

Twilio Messaging API

167 operations · declared read-only

Representative findingDELETE-capable operations contradict the manifest’s stated read-only purpose.

Inspect source
03 / REVIEW SCOPE

What the verdict examines

Nine questions before an agent capability ships.

The published catalog currently contains 144 deterministic checks. This index shows the review logic, not every rule.

01

Capability delta

What tools, actions, or host grants did this PR add or broaden?

02

Approval policy

Do high-risk actions stop for the right human authority?

03

Confirmation

Does an irreversible action require an explicit user confirmation?

04

Idempotency

Can a retried write repeat money movement or state change?

05

Scope

Are permissions narrower than wildcard or administrative access?

06

Schema

Are inputs bounded, typed, and reviewable at release time?

07

Purpose fit

Does the actual tool surface match the agent’s declared job?

08

Trust root

Did the PR weaken the verifier, policies, baselines, or CI gate?

09

Evidence debt

Are suppressions, waivers, and accepted gaps named and owned?

Source adapters

Source-adapter support is not a validated integration: promotion requires a reproducible pilot, zero low-confidence tools, published limitations, and an independently documented adopter or field case.
MCP · OpenAPI 3.x · OpenAI Agents SDK · Anthropic Messages API · Google ADK · LangChain / LangGraph · CrewAI · OpenAI API · Codex · n8n

Inspect the promotion gate →
04 / CATEGORY BOUNDARY

What Shipgate is—and is not

Review the release question other tools leave open.

Runtime controls and behavior tests stay essential. Shipgate occupies the merge-time layer between code generation and promotion.

Runtime

Sandbox controls can.

Constrains capability when a call happens.

Scenarios

Evals measure does.

Observes behavior on tested inputs.

Merge time

Shipgate reviews should vs. can.

Compares static authority with intended purpose and controls.

Trust-root protection

Don’t let AI edit the rules that review it.

A coding agent may repair mechanical evidence gaps. It must not assert human approval, weaken policy, delete the gate, or approve its own authority expansion.

Read the trust model ↗
ActionAgentHuman
Add mechanical evidenceYesYes
Re-run verificationYesYes
Assert approval / idempotencyNoYes
Weaken policy or CINoReview
05 / TRUST & STATUS

Falsifiable by design

Trust the boundary because you can inspect it.

Open checks, local artifacts, explicit failure states, and no hidden model judgment in the default path.

Default verifier guarantees

  • No agent execution
  • No user-code import by default
  • No tool or LLM calls
  • No MCP server connections
  • No verifier network calls by default
  • No verifier telemetry by default
  • Deterministic projection from one decision engine
  • Apache-2.0 open source
STATUS NOTEv1.2.0 · ADVISORY CHANNEL

Deterministic engine. Public limitations.

Shipgate is beta. On dynamic or weakly declared tool surfaces, static extraction can return insufficient_evidence rather than inventing confidence.

Begin in advisory mode. Promote to strict CI only after your team has reviewed the baseline, policies, and expected failure modes.

Read the validation roadmap ↗

Frequently cited

Six answers before you run the verifier.

Read the full FAQ →
01What is Agents Shipgate?

Agents Shipgate is an open-source CLI and GitHub Action that reviews AI-agent capability changes at PR time and returns a deterministic merge verdict with the evidence and next safe action attached.

02Does it run my agent or send code to an LLM?

Agents Shipgate is static and local-first by default: no agent execution, LLM calls, tool calls, MCP server connections, verifier network calls, or verifier telemetry.

03What inputs can it review?

MCP exports, OpenAPI 3.x, OpenAI Agents SDK, Anthropic Messages API artifacts, Google ADK, LangChain and LangGraph, CrewAI, OpenAI API artifacts, Codex configuration and plugins, and n8n workflows. Source-adapter support is not a validated integration: promotion requires a reproducible pilot, zero low-confidence tools, published limitations, and an independently documented adopter or field case.

04How do I add it to CI?

Start with the ThreeMoonsLab/[email protected] GitHub Action in advisory mode, keep full Git history available, and move to strict mode after your team has reviewed the baseline and policy.

05What happens when static evidence is incomplete?

Shipgate returns insufficient_evidence and routes the change to a person. It does not convert an incomplete dynamic tool surface into a confident pass.

06Does a passing verdict certify the agent as safe?

Agents Shipgate is a release-evidence gate, not a safety certification, runtime sandbox, behavioral eval, or gateway.

Begin with one pull request

Give your next agent PR an evidence trail.

Run locally, post the reviewer-shaped comment, and tighten the gate when the team is ready.

FIRST RUN
$ agents-shipgate verify --workspace . --config shipgate.yaml --base origin/main --head HEAD --ci-mode advisory --format json

Then read report.json → release_decision.decision.

FROM THE LAB

Three Moons Lab is building “healthcare for agents”: reproducible checks across release readiness, capability drift, and the evidence trail between them.

About the lab →