{
  "$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.14.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 repo config 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.14.0",
    "github_repo": "ThreeMoonsLab/agents-shipgate"
  },
  "release_status": {
    "track": "verify-capable release",
    "latest_release": "v0.14.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": "shipgate check --agent codex --workspace . --format codex-boundary-json",
  "primary_commands": {
    "check_codex": "shipgate check --agent codex --workspace . --format codex-boundary-json",
    "check_claude_code": "shipgate check --agent claude-code --workspace . --format codex-boundary-json",
    "check_cursor": "shipgate check --agent cursor --workspace . --format codex-boundary-json",
    "verify_pr": "agents-shipgate verify --workspace . --config shipgate.yaml --base origin/main --head HEAD --ci-mode advisory --json",
    "host_audit": "shipgate audit --host --json --out agents-shipgate-reports/host-grants.json"
  },
  "commands": {
    "agent_check": "shipgate check --agent codex --workspace . --format codex-boundary-json",
    "agent_check_codex": "shipgate check --agent codex --workspace . --format codex-boundary-json",
    "agent_check_claude_code": "shipgate check --agent claude-code --workspace . --format codex-boundary-json",
    "agent_check_cursor": "shipgate check --agent cursor --workspace . --format codex-boundary-json",
    "preflight": "agents-shipgate preflight --workspace . --config shipgate.yaml --plan - --json",
    "preview": "agents-shipgate verify --preview --json",
    "install_ai_coding_workflow": "agents-shipgate init --workspace . --write --ci --agent-instructions=default --json",
    "verify_local": "agents-shipgate verify --workspace . --config shipgate.yaml --ci-mode advisory --json",
    "verify_pr": "agents-shipgate verify --workspace . --config shipgate.yaml --base origin/main --head HEAD --ci-mode advisory --format json",
    "agent_handoff": "agents-shipgate agent handoff --from agents-shipgate-reports/verifier.json --json",
    "trigger": "agents-shipgate trigger --base origin/main --head HEAD --json",
    "capability_export": "agents-shipgate capability export -c shipgate.yaml",
    "capability_diff": "agents-shipgate capability diff --base .agents-shipgate/capabilities.lock.json --head agents-shipgate-reports/capabilities.lock.json --out agents-shipgate-reports/capability-lock-diff.json --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",
    "org_bundle": "agents-shipgate org bundle --config shipgate.yaml --from agents-shipgate-reports/verifier.json --out agents-shipgate-reports/org-evidence-bundle.json --json",
    "org_policy_packs": "agents-shipgate org policy-packs --config shipgate.yaml --json",
    "registry_summary": "agents-shipgate registry summary --registry .agents-shipgate/registry.jsonl --json",
    "registry_verify": "agents-shipgate registry verify --registry .agents-shipgate/registry.jsonl --json",
    "host_audit": "shipgate audit --host --json --out agents-shipgate-reports/host-grants.json",
    "capture_scenario": "agents-shipgate feedback capture --before verifier-before.json --after verifier-after.json --redact --out scenario.json",
    "governance_benchmark": "PYTHONPATH=src python scripts/run_governance_benchmark.py --catalog benchmark/agent-pr-governance/cases.yaml --json"
  },
  "fixture_run": "agents-shipgate fixture run ai_generated_refund_pr",
  "static_scan_fixture_run": "agents-shipgate fixture run support_refund_agent",
  "feedback_loop": {
    "when": ["false_positive", "missed_capability", "unsafe_pass", "unclear_next_action", "adapter_gap"],
    "export_command": "agents-shipgate feedback export --from agents-shipgate-reports/verifier.json --redact --out shipgate-feedback.json",
    "capture_command": "agents-shipgate feedback capture --before verifier-before.json --after verifier-after.json --redact --out scenario.json",
    "issue_template": "https://github.com/ThreeMoonsLab/agents-shipgate/issues/new?template=agent_feedback.yml",
    "attach": ["shipgate-feedback.json", "minimal safe manifest/tool-source snippet"],
    "do_not_attach": ["unredacted reports", "raw tool outputs", "secrets", "customer data", "chain-of-thought"]
  },
  "self_check": "agents-shipgate self-check --json",
  "contract": "agents-shipgate contract --json",
  "agent_protocol": "docs/agents/protocol.md",
  "agent_result_schema_version": "agent_result_v1",
  "agent_result_schema_path": "docs/agent-result-schema.v1.json",
  "agent_result_control_fields": ["decision", "completion_allowed", "must_stop", "first_next_action", "human_review", "repair", "policy"],
  "codex_boundary_result_schema_version": "shipgate.codex_boundary_result/v1",
  "codex_boundary_result_schema_path": "docs/codex-boundary-result-schema.v1.json",
  "verifier_schema_version": "0.1",
  "verify_run_schema_version": "shipgate.verify_run/v1",
  "agent_handoff_schema_version": "shipgate.agent_handoff/v1",
  "agent_handoff_schema_path": "docs/agent-handoff-schema.v1.json",
  "agent_handoff_artifact": "agents-shipgate-reports/agent-handoff.json",
  "contract_version": "9",
  "inputs": ["mcp", "openapi", "openai_agents_sdk", "anthropic_api", "google_adk", "langchain", "crewai", "openai_api", "codex_config", "codex_plugin", "n8n"],
  "outputs": ["markdown", "json", "sarif", "packet_md", "packet_json", "packet_html", "verifier_json", "verify_run_json", "agent_handoff_json", "pr_comment_md", "check_annotations_json", "capability_lock_json", "base_capability_lock_json", "capability_lock_diff_json", "capability_lock_diff_md", "feedback_json", "attestation_json", "org_evidence_bundle_json", "host_grants_json", "org_status_json", "scenario_json", "governance_benchmark_result_json"],
  "artifacts": {
    "verifier": "agents-shipgate-reports/verifier.json",
    "verify_run": "agents-shipgate-reports/verify-run.json",
    "agent_handoff": "agents-shipgate-reports/agent-handoff.json",
    "report": "agents-shipgate-reports/report.json",
    "pr_comment": "agents-shipgate-reports/pr-comment.md",
    "check_annotations": "agents-shipgate-reports/check-annotations.json",
    "local_contract": ".shipgate/agent-contract.json",
    "capability_lock": ".agents-shipgate/capabilities.lock.json",
    "capability_lock_report_copy": "agents-shipgate-reports/capabilities.lock.json",
    "base_capability_lock": "agents-shipgate-reports/base.capabilities.lock.json",
    "capability_lock_diff": "agents-shipgate-reports/capability-lock-diff.json",
    "capability_lock_diff_markdown": "agents-shipgate-reports/capability-lock-diff.md",
    "feedback": "shipgate-feedback.json",
    "attestation": "agents-shipgate-reports/attestation.json",
    "org_evidence_bundle": "agents-shipgate-reports/org-evidence-bundle.json",
    "host_grants": "agents-shipgate-reports/host-grants.json",
    "org_status": "agents-shipgate-reports/org-status.json",
    "registry": ".agents-shipgate/registry.jsonl",
    "scenario": "scenario.json",
    "governance_benchmark_result": "benchmark/agent-pr-governance/results/result.json"
  },
  "capability_lock_schema_version": "0.2",
  "capability_lock_diff_schema_version": "0.3",
  "preflight_schema_version": "0.2",
  "attestation_schema_version": "0.4",
  "registry_schema_version": "0.3",
  "org_evidence_bundle_schema_version": "shipgate.org_evidence_bundle/v1",
  "host_grants_inventory_schema_version": "0.1",
  "capability_standard_version": "0.1",
  "governance_benchmark_catalog_schema_version": "0.2",
  "governance_benchmark_result_schema_version": "0.2",
  "supporting_provisional_surfaces": ["agent_result", "agent_decision", "release_evidence_packet", "reviewer_summary", "verifier_summary", "capability_review", "runtime_trace_evidence", "capability_diff_projections", "skill_review"],
  "external_integration_surfaces": ["agent_handoff", "preflight", "capability_lock", "capability_lock_diff", "capability_standard", "attestation", "registry", "org_governance", "org_evidence_bundle", "host_grants_inventory", "governance_benchmark_catalog", "governance_benchmark_result"],
  "agent_interface_operations": ["verify_pr", "verify_local", "verify_preview"],
  "exit_code_policy": {
    "0": "command completed; inspect JSON verdict fields for release state",
    "2": "configuration or CLI flag error",
    "3": "input parse or missing artifact error",
    "4": "other or internal error",
    "6": "baseline integrity failure",
    "20": "strict-mode gate failure or opt-in governance failure"
  },
  "mcp_tools": ["shipgate.check", "shipgate.preflight", "shipgate.explain", "shipgate.capabilities", "shipgate.handoff"],
  "gating_signal": "release_decision.decision",
  "agent_controller_signals": ["merge_verdict", "applicability", "agent_controller"],
  "merge_verdicts": ["mergeable", "human_review_required", "insufficient_evidence", "blocked", "unknown"],
  "check_run_policies": ["advisory", "blocked-fails", "require-mergeable"],
  "github_action_pr_workflow": {
    "recommended_inputs": {
      "ci_mode": "advisory",
      "diff_base": "target",
      "fail_on_merge_verdicts": "blocked",
      "check_annotations": "true",
      "pr_comment": "true"
    },
    "branch_protection_check_run_policy": "require-mergeable"
  },
  "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",
    "applicability",
    "can_merge_without_human",
    "first_next_action",
    "fix_task",
    "capability_review.top_changes",
    "agent_controller",
    "release_decision.decision"
  ],
  "agent_read_order": [
    "agent-handoff.json",
    "verifier.json.merge_verdict",
    "verifier.json.agent_controller",
    "verify-run.json",
    "report.json.release_decision.decision"
  ],
  "do_not_auto_assert": [
    "approval",
    "confirmation",
    "idempotency",
    "broad-scope",
    "prohibited-action",
    "runtime-trace",
    "human-ack",
    "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.28.json",
    "agent_result": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/agent-result-schema.v1.json",
    "codex_boundary_result": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/codex-boundary-result-schema.v1.json",
    "verifier": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/verifier-schema.v0.1.json",
    "verify_run": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/verify-run-schema.v1.json",
    "agent_handoff": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/agent-handoff-schema.v1.json",
    "packet": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/packet-schema.v0.7.json",
    "preflight": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/preflight-schema.v0.2.json",
    "capability_lock": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/capability-lock-schema.v0.2.json",
    "capability_lock_diff": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/capability-lock-diff-schema.v0.3.json",
    "governance_benchmark_catalog": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/governance-benchmark-catalog-schema.v0.2.json",
    "governance_benchmark_result": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/governance-benchmark-result-schema.v0.2.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.4.json",
    "org_governance": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/org-governance-schema.v0.1.json",
    "org_evidence_bundle": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/org-evidence-bundle-schema.v1.json",
    "registry": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/registry-schema.v0.3.json",
    "host_grants_inventory": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/host-grants-inventory-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",
  "capability_standard": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/capability-standard.md",
  "governance_benchmark": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/governance-benchmark.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": {
    "index": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/agents/README.md",
    "protocol": "https://raw.githubusercontent.com/ThreeMoonsLab/agents-shipgate/main/docs/agents/protocol.md",
    "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 --agent-instructions=agents-md,codex-skill --json"
    },
    "claude_code": {
      "claude_md": "CLAUDE.md",
      "skill_path": ".claude/skills/agents-shipgate/",
      "slash_command": ".claude/commands/shipgate.md",
      "install": "agents-shipgate init --workspace . --write --agent-instructions=claude-command,claude-code-skill --json"
    },
    "cursor": {
      "rules_path": ".cursor/rules/agents-shipgate.mdc",
      "install": "agents-shipgate init --workspace . --write --agent-instructions=cursor --json"
    }
  },
  "exit_codes": {
    "0": "pass",
    "2": "config_error",
    "3": "input_parse_error",
    "4": "other_error",
    "6": "baseline_integrity_failure",
    "20": "gate_failure (strict-mode scan/verify; or opt-in governance gates: baseline status --require-owner/--require-expiry/--max-age-days, audit --host --drift --fail-on-drift)"
  },
  "agent_mode_env_var": "AGENTS_SHIPGATE_AGENT_MODE",
  "plugin_opt_in_env_var": "AGENTS_SHIPGATE_ENABLE_PLUGINS"
}
