{
  "manifestVersion": 1,
  "process": {
    "slug": "ship-a-feature-spec-to-deploy",
    "title": "Ship a feature (spec to deploy)",
    "phase": "software",
    "description": "The whole software-making loop: spec it, track it, implement with a coding agent, open the PR, pass AI and human review, deploy through CI, and verify in production."
  },
  "manifestUrl": "https://ultrametric.ai/productarena/processes/ship-a-feature-spec-to-deploy/manifest.json",
  "steps": [
    {
      "id": "n1",
      "title": "Write the spec",
      "kind": "api",
      "route": "agent",
      "toolCall": null,
      "calls": [],
      "vendorOptions": [
        {
          "vendor": "notion",
          "name": "Notion",
          "productId": "notion",
          "arena": "project-management",
          "agentReady": 58.6,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/project-management/product/notion"
        },
        {
          "vendor": "linear",
          "name": "Linear",
          "productId": "linear",
          "arena": "project-management",
          "agentReady": 56.4,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/project-management/product/linear"
        },
        {
          "vendor": "asana",
          "name": "Asana",
          "productId": "asana",
          "arena": "project-management",
          "agentReady": 44.5,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/project-management/product/asana"
        },
        {
          "vendor": "monday",
          "name": "monday.com",
          "productId": "monday",
          "arena": "project-management",
          "agentReady": 51.6,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/project-management/product/monday"
        },
        {
          "vendor": "clickup",
          "name": "ClickUp",
          "productId": "clickup",
          "arena": "project-management",
          "agentReady": 34.5,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/project-management/product/clickup"
        },
        {
          "vendor": "jira",
          "name": "Jira",
          "productId": "jira",
          "arena": "project-management",
          "agentReady": 24.3,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/project-management/product/jira"
        }
      ],
      "approvalRequired": false,
      "riskLevel": null,
      "estimatedMinutes": 30,
      "async": false
    },
    {
      "id": "n2",
      "title": "Create the tracking issue",
      "kind": "api",
      "route": "agent",
      "toolCall": null,
      "calls": [
        {
          "method": "issueCreate",
          "type": "graphql",
          "description": "Create the Linear issue"
        }
      ],
      "vendorOptions": [
        {
          "vendor": "linear",
          "name": "Linear",
          "productId": "linear",
          "arena": "project-management",
          "agentReady": 56.4,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/project-management/product/linear"
        }
      ],
      "approvalRequired": true,
      "riskLevel": null,
      "estimatedMinutes": 5,
      "async": false
    },
    {
      "id": "n3",
      "title": "Implement with a coding agent",
      "kind": "api",
      "route": "agent",
      "toolCall": null,
      "calls": [],
      "vendorOptions": [
        {
          "vendor": "claude_code",
          "name": "Claude Code",
          "productId": "claude-code",
          "arena": "ai-coding",
          "agentReady": 69.3,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/ai-coding/product/claude-code"
        },
        {
          "vendor": "opencode",
          "name": "OpenCode",
          "productId": "opencode",
          "arena": "ai-coding",
          "agentReady": 61.9,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/ai-coding/product/opencode"
        },
        {
          "vendor": "cline",
          "name": "Cline",
          "productId": "cline",
          "arena": "ai-coding",
          "agentReady": 47,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/ai-coding/product/cline"
        },
        {
          "vendor": "github-copilot",
          "name": "GitHub Copilot",
          "productId": "github-copilot",
          "arena": "ai-coding",
          "agentReady": 44.5,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/ai-coding/product/github-copilot"
        },
        {
          "vendor": "antigravity",
          "name": "Google Antigravity",
          "productId": "antigravity",
          "arena": "ai-coding",
          "agentReady": 55.1,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/ai-coding/product/antigravity"
        },
        {
          "vendor": "codex",
          "name": "Codex",
          "productId": "codex",
          "arena": "ai-coding",
          "agentReady": 46.2,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/ai-coding/product/codex"
        },
        {
          "vendor": "aider",
          "name": "Aider",
          "productId": "aider",
          "arena": "ai-coding",
          "agentReady": 29.9,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/ai-coding/product/aider"
        },
        {
          "vendor": "devin",
          "name": "Devin",
          "productId": "devin",
          "arena": "ai-coding",
          "agentReady": 49,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/ai-coding/product/devin"
        },
        {
          "vendor": "cursor",
          "name": "Cursor",
          "productId": "cursor",
          "arena": "ai-coding",
          "agentReady": 29.2,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/ai-coding/product/cursor"
        }
      ],
      "approvalRequired": false,
      "riskLevel": null,
      "estimatedMinutes": 120,
      "async": false
    },
    {
      "id": "n4",
      "title": "Open the pull request",
      "kind": "api",
      "route": "agent",
      "toolCall": null,
      "calls": [
        {
          "method": "POST /repos/{owner}/{repo}/pulls",
          "type": "rest",
          "description": "Open the PR"
        }
      ],
      "vendorOptions": [
        {
          "vendor": "github",
          "name": "GitHub",
          "productId": "github",
          "arena": "code-hosting",
          "agentReady": 70.5,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/code-hosting/product/github"
        }
      ],
      "approvalRequired": true,
      "riskLevel": null,
      "estimatedMinutes": 5,
      "async": false
    },
    {
      "id": "n5",
      "title": "AI code review pass",
      "kind": "api",
      "route": "agent",
      "toolCall": null,
      "calls": [],
      "vendorOptions": [
        {
          "vendor": "coderabbit",
          "name": "CodeRabbit",
          "productId": "coderabbit",
          "arena": "ai-code-review",
          "agentReady": 34.8,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/ai-code-review/product/coderabbit"
        },
        {
          "vendor": "qodo",
          "name": "Qodo",
          "productId": "qodo",
          "arena": "ai-code-review",
          "agentReady": 37,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/ai-code-review/product/qodo"
        },
        {
          "vendor": "cubic",
          "name": "cubic",
          "productId": "cubic",
          "arena": "ai-code-review",
          "agentReady": 36.2,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/ai-code-review/product/cubic"
        },
        {
          "vendor": "greptile",
          "name": "Greptile",
          "productId": "greptile",
          "arena": "ai-code-review",
          "agentReady": 39.4,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/ai-code-review/product/greptile"
        },
        {
          "vendor": "graphite",
          "name": "Graphite",
          "productId": "graphite",
          "arena": "ai-code-review",
          "agentReady": 30,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/ai-code-review/product/graphite"
        },
        {
          "vendor": "cursor-bugbot",
          "name": "Cursor Bugbot",
          "productId": "cursor-bugbot",
          "arena": "ai-code-review",
          "agentReady": 25.8,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/ai-code-review/product/cursor-bugbot"
        }
      ],
      "approvalRequired": false,
      "riskLevel": null,
      "estimatedMinutes": 15,
      "async": false
    },
    {
      "id": "n6",
      "title": "Human review and approval",
      "kind": "human",
      "route": "person",
      "toolCall": null,
      "calls": [],
      "vendorOptions": [],
      "approvalRequired": false,
      "riskLevel": null,
      "estimatedMinutes": 45,
      "async": false,
      "irreducible": "judgment or identity — work an agent shouldn’t stand in for"
    },
    {
      "id": "n7",
      "title": "Merge and deploy via CI",
      "kind": "api",
      "route": "agent",
      "toolCall": null,
      "calls": [
        {
          "method": "PUT /repos/{owner}/{repo}/pulls/{number}/merge",
          "type": "rest",
          "description": "Merge the PR"
        }
      ],
      "vendorOptions": [
        {
          "vendor": "github",
          "name": "GitHub",
          "productId": "github",
          "arena": "code-hosting",
          "agentReady": 70.5,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/code-hosting/product/github"
        },
        {
          "vendor": "gitlab",
          "name": "GitLab",
          "productId": "gitlab",
          "arena": "code-hosting",
          "agentReady": 53.8,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/code-hosting/product/gitlab"
        },
        {
          "vendor": "gitea",
          "name": "Gitea",
          "productId": "gitea",
          "arena": "code-hosting",
          "agentReady": 34,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/code-hosting/product/gitea"
        },
        {
          "vendor": "bitbucket",
          "name": "Bitbucket",
          "productId": "bitbucket",
          "arena": "code-hosting",
          "agentReady": 15.7,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/code-hosting/product/bitbucket"
        },
        {
          "vendor": "vercel",
          "name": "Vercel",
          "productId": "vercel",
          "arena": "edge-platforms",
          "agentReady": 43.7,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/edge-platforms/product/vercel"
        }
      ],
      "approvalRequired": true,
      "riskLevel": "medium",
      "estimatedMinutes": 10,
      "async": false
    },
    {
      "id": "n8",
      "title": "Verify in production",
      "kind": "api",
      "route": "agent",
      "toolCall": null,
      "calls": [],
      "vendorOptions": [
        {
          "vendor": "sentry",
          "name": "Sentry",
          "productId": "sentry",
          "arena": "observability",
          "agentReady": 48.7,
          "mcpEndpoint": "https://mcp.sentry.dev/mcp",
          "paProductUrl": "https://ultrametric.ai/productarena/arena/observability/product/sentry"
        },
        {
          "vendor": "honeybadger",
          "name": "Honeybadger",
          "productId": "honeybadger",
          "arena": "error-tracking",
          "agentReady": 58.6,
          "mcpEndpoint": "https://mcp.honeybadger.io/mcp",
          "paProductUrl": "https://ultrametric.ai/productarena/arena/error-tracking/product/honeybadger"
        },
        {
          "vendor": "rollbar",
          "name": "Rollbar",
          "productId": "rollbar",
          "arena": "error-tracking",
          "agentReady": 44.9,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/error-tracking/product/rollbar"
        },
        {
          "vendor": "glitchtip",
          "name": "GlitchTip",
          "productId": "glitchtip",
          "arena": "error-tracking",
          "agentReady": 35.9,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/error-tracking/product/glitchtip"
        },
        {
          "vendor": "bugsnag",
          "name": "BugSnag",
          "productId": "bugsnag",
          "arena": "error-tracking",
          "agentReady": 36.7,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/error-tracking/product/bugsnag"
        },
        {
          "vendor": "raygun",
          "name": "Raygun",
          "productId": "raygun",
          "arena": "error-tracking",
          "agentReady": 12.3,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/error-tracking/product/raygun"
        },
        {
          "vendor": "posthog",
          "name": "PostHog",
          "productId": "posthog",
          "arena": "product-analytics",
          "agentReady": 56.1,
          "mcpEndpoint": null,
          "paProductUrl": "https://ultrametric.ai/productarena/arena/product-analytics/product/posthog"
        }
      ],
      "approvalRequired": false,
      "riskLevel": null,
      "estimatedMinutes": 10,
      "async": false
    }
  ],
  "provenance": {
    "source": "productarena",
    "url": "https://ultrametric.ai/productarena",
    "generatedFrom": "data/processes.json + data/process-chains.json (the ProductArena founder-process corpus), resolved against live arena leaderboards at build time. Regenerate by refetching this manifest URL — it always reflects the currently deployed data, not a pinned data commit.",
    "license": "ProductArena Data License (DATA-LICENSE in github.com/ultrametricai/productarena): querying and quoting with attribution to \"ProductArena by Ultrametric Inc\" is fine; bulk redistribution or use to build competing datasets requires written permission."
  }
}