{ "$schema": "https://json-schema.org/draft/2020-12/schema", "name": "agents-shipgate", "display_name": "Agents Shipgate", "tagline": "The deterministic merge gate for AI-generated agent capability changes", "version": "0.11.0", "license": "Apache-2.0", "publisher": { "name": "Three Moons Lab", "url": "https://threemoonslab.com" }, "category": "agent_release_readiness", "primary_wedge": "ai_generated_agent_pr_verifier", "primary_use_case": "deterministic merge verdicts for AI-generated agent capability changes", "positioning": { "short": "Merge verdicts for AI-generated agent PRs", "answer": "Agents Shipgate is described by the canonical tagline: The deterministic merge gate for AI-generated agent capability changes. It is an open-source, local-first CLI and GitHub Action from Three Moons Lab that verifies PRs from Codex, Claude Code, Cursor, or humans and returns a deterministic merge verdict before agent code lands.", "primary_use_case": "Run on PRs from Codex, Claude Code, Cursor, or humans when agent tools, prompts, permissions, MCP/OpenAPI surfaces, policies, or release gates change.", "not_for": ["llm_evals", "runtime_guardrails", "runtime_observability", "general_linting"] }, "primary_keywords": [ "agent release readiness", "Tool-Use Readiness", "AI agent release gate", "AI agent CI/CD", "MCP tool security", "OpenAPI tool scanning", "OpenAI Agents SDK release gate", "GitHub Action for AI agents", "AI-generated PR review", "agent capability merge verdict", "deterministic merge verdict" ], "recommended_github_topics": [ "ai-agents", "agent-release-readiness", "tool-use-readiness", "mcp", "model-context-protocol", "openapi", "openai-agents-sdk", "github-actions", "static-analysis", "sarif", "agent-governance" ], "audiences": ["agent_builders", "platform_engineers", "security_reviewers", "coding_agents"], "when_to_use": [ "AI-generated agent PRs from Codex, Claude Code, Cursor, or similar tools", "AI agent tool-surface changes", "MCP or OpenAPI surface changes", "SDK tool decorator changes", "n8n workflow JSON changes", "Codex plugin package or marketplace changes", "permissions, scopes, approval, confirmation, prompt, or release-gate changes", "Shipgate CI, AGENTS.md, Claude Code skill, Cursor rule, baseline, waiver, or suppression changes" ], "package": { "pypi": "agents-shipgate", "github_action": "ThreeMoonsLab/agents-shipgate@v0.11.0", "github_repo": "ThreeMoonsLab/agents-shipgate" }, "release_status": { "track": "verify-capable release", "latest_release": "v0.11.0" }, "install": { "pipx": "pipx install agents-shipgate", "pip": "python -m pip install agents-shipgate", "uv": "uv tool install agents-shipgate" }, "binaries": ["agents-shipgate", "shipgate"], "quickstart": "agents-shipgate verify --preview --json", "commands": { "preview": "agents-shipgate verify --preview --json", "install_ai_coding_workflow": "agents-shipgate init --workspace . --write --ci --agent-instructions=all", "verify_pr": "agents-shipgate verify --workspace . --config shipgate.yaml --base origin/main --head HEAD --ci-mode advisory --format json", "trigger": "agents-shipgate trigger --base origin/main --head HEAD --json", "feedback_export": "agents-shipgate feedback export --from agents-shipgate-reports/verifier.json --redact --out shipgate-feedback.json", "attest": "agents-shipgate attest --from agents-shipgate-reports/verifier.json --out agents-shipgate-reports/attestation.json", "capture_scenario": "agents-shipgate feedback capture --before verifier-before.json --after verifier-after.json --redact --out scenario.json" }, "fixture_run": "agents-shipgate fixture run ai_generated_refund_pr", "static_scan_fixture_run": "agents-shipgate fixture run support_refund_agent", "self_check": "agents-shipgate self-check --json", "contract": "agents-shipgate contract --json", "contract_version": "1", "inputs": ["mcp", "openapi", "openai_agents_sdk", "anthropic_api", "google_adk", "langchain", "crewai", "openai_api", "codex_plugin", "n8n"], "outputs": ["markdown", "json", "sarif", "packet_md", "packet_json", "packet_html", "verifier_json", "pr_comment_md", "feedback_json", "attestation_json", "scenario_json"], "artifacts": { "verifier": "agents-shipgate-reports/verifier.json", "report": "agents-shipgate-reports/report.json", "pr_comment": "agents-shipgate-reports/pr-comment.md", "feedback": "shipgate-feedback.json", "attestation": "agents-shipgate-reports/attestation.json", "scenario": "scenario.json" }, "gating_signal": "release_decision.decision", "merge_verdicts": ["mergeable", "human_review_required", "insufficient_evidence", "blocked", "unknown"], "applicability_values": ["verified", "not_applicable", "unknown"], "release_decisions": ["passed", "review_required", "insufficient_evidence", "blocked"], "merge_verdict_labels": { "passed": "mergeable", "review_required": "human_review_required", "insufficient_evidence": "insufficient_evidence", "blocked": "blocked" }, "verifier_read_order": [ "merge_verdict", "can_merge_without_human", "first_next_action", "fix_task", "capability_review.top_changes", "agent_controller", "release_decision.decision" ], "do_not_auto_assert": [ "approval", "confirmation", "idempotency", "broad-scope", "prohibited-action", "runtime-trace", "suppression", "waiver", "baseline", "policy-weakening" ], "trust_model": "static_by_default", "schemas": { "manifest": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/manifest-v0.1.json", "report": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/report-schema.v0.23.json", "verifier": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/verifier-schema.v0.1.json", "packet": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/packet-schema.v0.6.json", "feedback": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/feedback-schema.v0.1.json", "attestation": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/attestation-schema.v0.1.json", "scenario": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/scenario-schema.v0.1.json", "checks_catalog": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/checks.json" }, "agent_instructions": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/AGENTS.md", "agent_contract": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/agent-contract-current.md", "agent_native_merge_contract": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/agent-native-merge-contract.md", "stability_contract": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/STABILITY.md", "triggers_url": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/triggers.json", "errors_url": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/errors.json", "llms_full_url": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/llms-full.txt", "ai_search_summary_url": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/ai-search-summary.md", "zero_install_detector_url": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/tools/shipgate-detect.py", "agent_onramps": { "target_repo_snippets": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/target-repo-agent-snippets.md", "codex": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/agents/use-with-codex.md", "claude_code": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/agents/use-with-claude-code.md", "cursor": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/agents/use-with-cursor.md" }, "coding_agent_surfaces": { "codex": { "agents_md": "AGENTS.md", "skill_path": ".agents/skills/agents-shipgate/", "install": "agents-shipgate init --workspace . --write --ci --agent-instructions=agents-md,codex-skill" }, "claude_code": { "claude_md": "CLAUDE.md", "skill_path": ".claude/skills/agents-shipgate/", "slash_command": ".claude/commands/shipgate.md", "install": "agents-shipgate init --workspace . --write --ci --agent-instructions=claude-md,claude-code-skill" }, "cursor": { "rules_path": ".cursor/rules/agents-shipgate.mdc", "install": "agents-shipgate init --workspace . --write --ci --agent-instructions=cursor" } }, "exit_codes": { "0": "pass", "2": "config_error", "3": "input_parse_error", "4": "other_error", "6": "baseline_integrity_failure", "20": "strict_gate_failure" }, "agent_mode_env_var": "AGENTS_SHIPGATE_AGENT_MODE", "plugin_opt_in_env_var": "AGENTS_SHIPGATE_ENABLE_PLUGINS" }