{
  "name": "Polylane",
  "description": "Polylane makes your software self-operating: AI agents that read your code, watch your infra, and fix production before you wake up.",
  "tagline": "Nobody should be on-call in 2026.",
  "company": {
    "name": "Coreplane Labs",
    "location": "San Francisco, CA",
    "founder": "Boris Tane"
  },
  "status": "pre-launch; early access rolling out from June 2026",
  "whenToUse": [
    {
      "job": "Detect production issues without threshold tuning",
      "outcome": "From raw telemetry to triaged issue",
      "detail": "Polylane agents read the actual metric, log, and trace series across AWS, Cloudflare, Vercel, Fly.io, Render, and Kubernetes, and flag regressions the way an engineer would."
    },
    {
      "job": "Investigate an incident with receipts",
      "outcome": "From error spike to root cause",
      "detail": "Every claim in a Polylane investigation links back to the query, log line, or change record behind it. Runs are shareable transcripts you can watch and interrupt."
    },
    {
      "job": "Turn an investigation into a reviewed fix",
      "outcome": "From pager alert to merged fix",
      "detail": "Investigations that end at a line of code end as a pull request with the full evidence trail. Human review and CI still gate the merge."
    },
    {
      "job": "Automate infrastructure runbooks in plain English",
      "outcome": "From plain English to running automation",
      "detail": "Describe the job; Polylane builds the trigger, the instructions, and the allowed actions."
    }
  ],
  "capabilities": [
    {
      "title": "Context graph",
      "description": "Nobody remembers how production is actually wired. Your code and cloud in one live, greppable graph, with a wiki that rewrites itself as the system drifts."
    },
    {
      "title": "Anomaly detection",
      "description": "No thresholds to tune. An agent reads the charts and decides, the way you would at 3am."
    },
    {
      "title": "Alert intelligence",
      "description": "Forward your alerts. Polylane calls each one, incident or noise, and investigates the real ones."
    },
    {
      "title": "Change intelligence",
      "description": "Most incidents start with a change. Polylane records every one, and looks there first."
    },
    {
      "title": "Impact intelligence",
      "description": "Every pull request reviewed against the live infrastructure it deploys to. The diff that would cause tonight's incident never merges."
    },
    {
      "title": "Investigations",
      "description": "Agents argue both sides of every hypothesis. Root cause takes evidence, not correlation."
    },
    {
      "title": "Automations",
      "description": "Describe the job in plain English. An agent picks it up every time the event fires."
    },
    {
      "title": "Instrumentation",
      "description": "You can't debug what you didn't log. Polylane finds the blind spots in your code and closes them."
    },
    {
      "title": "Autofix",
      "description": "Reversible fixes run on their own where you allow it: roll back the deploy, restore the baseline. When the root cause is code, the fix follows as a pull request; your review and CI gate the merge."
    }
  ],
  "roadmap": [
    {
      "theme": "Context graph",
      "items": [
        {
          "title": "One graph, every cloud",
          "status": "done",
          "description": "Connect AWS, Cloudflare, Vercel, Fly, and Render, and every resource you run lands in a single living graph with its edges, config, and history."
        },
        {
          "title": "Kubernetes",
          "status": "done",
          "description": "Clusters, workloads, and their churn alongside everything else. Hand us a kubeconfig and EKS wires itself up."
        },
        {
          "title": "Wikis that write themselves",
          "status": "done",
          "description": "Every cloud resource gets living documentation that rewrites itself as your system drifts, and your repositories are indexed for agents to grep."
        },
        {
          "title": "Change intelligence",
          "status": "done",
          "description": "Every sync writes down exactly what appeared, changed, or disappeared. When production breaks, the culprit is usually in here."
        },
        {
          "title": "Blast radius",
          "status": "done",
          "description": "Every issue maps the slice of the graph it touches, and the investigation starts from that map: agents walk the affected edges to the offending resource instead of guessing."
        },
        {
          "title": "Resource tiers",
          "status": "done",
          "description": "An agent ranks every resource by how load-bearing it is. Tier one gets watched closest and investigated first, and you can overrule the ranking anytime."
        },
        {
          "title": "Applications",
          "status": "planned",
          "description": "Resources grouped into the applications they serve, so agents know what's load-bearing before they touch anything."
        },
        {
          "title": "More clouds",
          "status": "planned",
          "description": "GCP, Azure, Supabase, Railway, and DigitalOcean. Same graph, same treatment."
        }
      ]
    },
    {
      "theme": "Detection without thresholds",
      "items": [
        {
          "title": "Proactive observability",
          "status": "done",
          "description": "Agents comb your metrics, logs, traces, and access logs on a cadence and flag what's actually wrong, before your customers do. No thresholds to tune, no alert rules to babysit."
        },
        {
          "title": "Observability providers as sources",
          "status": "done",
          "description": "Datadog, Sentry, Honeycomb, and Axiom join the graph as first-class citizens, and an agent triages every alert they fire the moment it lands."
        },
        {
          "title": "Your charts become checks",
          "status": "done",
          "description": "That dashboard your team curated? Every query and chart saved in a provider becomes a check: agents run it on a cadence and flag what strays from normal."
        },
        {
          "title": "Déjà vu detection",
          "status": "done",
          "description": "Repeat detections fold into one issue instead of re-paging you. An 18x P99 regression is one issue, not forty pages."
        },
        {
          "title": "Scan reports",
          "status": "done",
          "description": "Ask for a sweep of a whole account and an agent walks the graph, queries the telemetry, and hands you a written report of what it found."
        },
        {
          "title": "Telemetry attribution",
          "status": "in progress",
          "description": "Logs, metrics, and datasets from your observability providers matched to the exact resources that emit them. No tagging homework, an agent works out the mapping."
        },
        {
          "title": "Vercel runtime telemetry",
          "status": "in progress",
          "description": "Function logs and runtime metrics from Vercel joining the graph, next to the deployments and domains we already sync."
        },
        {
          "title": "Cloud doctor",
          "status": "planned",
          "description": "Like react-doctor, for your cloud. One command grades the whole account: misconfigurations, missing observability, security posture, and the five things to fix first."
        },
        {
          "title": "Cost intelligence",
          "status": "planned",
          "description": "Billing joined to the graph, and agents that point at exactly which resources are burning money for nothing."
        },
        {
          "title": "More providers",
          "status": "planned",
          "description": "Grafana, Splunk, Better Stack, SigNoz, and Logfire, with the same first-class treatment."
        },
        {
          "title": "Closing the loop with product",
          "status": "planned",
          "description": "PostHog, Mixpanel, and Amplitude in the graph, so an incident's blast radius includes what your users actually felt."
        }
      ]
    },
    {
      "theme": "From signal to reviewed fix",
      "items": [
        {
          "title": "Incident threads",
          "status": "done",
          "description": "Every investigation is a transcript with cited tool calls. Watch it think, interrupt it, hand it to a teammate, or make it public."
        },
        {
          "title": "Marathon investigations",
          "status": "in progress",
          "description": "The agent loop is moving onto durable workflows: investigations that grind for hours, survive restarts, and pick up exactly where they left off."
        },
        {
          "title": "Autofix",
          "status": "done",
          "description": "Investigations that end at a line of code end as a pull request, with the full evidence trail. You review, you merge."
        },
        {
          "title": "Bring your own executor",
          "status": "done",
          "description": "Route autofix through Cursor or Devin with your own key, or let the built-in agent open the PR."
        },
        {
          "title": "The next autofix engine",
          "status": "in progress",
          "description": "The built-in executor is moving to the open-source pi coding agent, running in the same sandbox with the same review gates."
        },
        {
          "title": "More executors",
          "status": "planned",
          "description": "Claude Code, Codex, and Factory: delegate the fix to whichever agent your team already trusts."
        },
        {
          "title": "Memory",
          "status": "done",
          "description": "Agents remember what they confirm, and you can save memories of your own. Each day the workspace writes its own notes from your threads: durable facts plus a daily log. Every investigation starts already knowing your system."
        },
        {
          "title": "Skills",
          "status": "done",
          "description": "The way your team debugs, packaged into procedures agents reach for on the next incident. Write them once, benefit every time."
        },
        {
          "title": "Dynamic skills",
          "status": "planned",
          "description": "Agents notice what keeps working and write their own skills, sharpening them with every incident."
        },
        {
          "title": "Automations",
          "status": "done",
          "description": "Cron, webhooks, GitHub events, and alerts trigger agent runs; results land in email, Slack, or your webhook."
        },
        {
          "title": "Advisories",
          "status": "done",
          "description": "Every resource carries its misconfigurations and risks, each one marked fixable in place or with guidance."
        },
        {
          "title": "Agents on your pull requests",
          "status": "planned",
          "description": "A comment when a change looks like tomorrow's incident, an answer when you ask whether it'll break production."
        },
        {
          "title": "Change intelligence for pull requests",
          "status": "planned",
          "description": "Every PR annotated with what it will actually change in your cloud, before you merge instead of after the deploy."
        },
        {
          "title": "Issue trackers",
          "status": "planned",
          "description": "Findings filed as issues in Linear or Jira, where your team already plans work."
        }
      ]
    },
    {
      "theme": "Every surface",
      "items": [
        {
          "title": "A CLI built for coding agents",
          "status": "done",
          "description": "Structured output, non-interactive flags everywhere, and a skill that teaches Claude Code or Cursor when to reach for it."
        },
        {
          "title": "MCP server",
          "status": "done",
          "description": "The whole platform as tools for any agent that speaks MCP."
        },
        {
          "title": "Bring your own MCP",
          "status": "done",
          "description": "Connect your own MCP servers and their tools show up in the agent's hands mid-investigation."
        },
        {
          "title": "Public API",
          "status": "done",
          "description": "Everything the console does, scriptable."
        },
        {
          "title": "Slack",
          "status": "done",
          "description": "Notifications where your team lives, and investigations you can spin off from any message."
        },
        {
          "title": "Browser extension",
          "status": "in progress",
          "description": "Cmd+. puts the agent on whatever tab you're reading; the page becomes the thread's context."
        },
        {
          "title": "Bring your own cloud",
          "status": "planned",
          "description": "The whole platform deployed inside your own cloud account. Your telemetry, your graph, and your agents never leave your infrastructure."
        },
        {
          "title": "Your incident platforms",
          "status": "planned",
          "description": "An incident fires in PagerDuty or incident.io and an agent is already investigating before anyone picks up the page. Resolved with evidence, not just acknowledged."
        }
      ]
    }
  ],
  "developers": {
    "portal": "https://polylane.com/developers",
    "markdown": "https://polylane.com/developers.md",
    "quickstart": "Join the waitlist, sign in at https://console.polylane.com, mint an API key (sk_...), then call https://api.polylane.com/v1 or connect an MCP client to https://mcp.polylane.com/mcp.",
    "rateLimits": "Per-credential rate limits; on 429 honour Retry-After with exponential backoff.",
    "versioning": "URL-versioned (/v1); breaking changes only in new versions; deprecations announced in the build log before removal."
  },
  "api": {
    "baseUrl": "https://api.polylane.com/v1",
    "openapi": "https://api.polylane.com/v1/doc",
    "openapiMirror": "https://polylane.com/openapi.json",
    "catalog": "https://polylane.com/.well-known/api-catalog",
    "authentication": "OAuth 2.0 bearer tokens or API keys (x-api-key / Bearer sk_...); walkthrough at https://polylane.com/auth.md"
  },
  "mcp": {
    "product": {
      "url": "https://mcp.polylane.com/mcp",
      "transport": "streamable-http",
      "authentication": "oauth2 (dynamic client registration) or API key",
      "guide": "https://polylane.com/auth.md",
      "serverCard": "https://mcp.polylane.com/.well-known/mcp/server-card.json",
      "tools": [
        {
          "name": "search",
          "description": "Run a read-only query against the Polylane API: context graph resources, telemetry, issues, investigations, and more."
        },
        {
          "name": "execute",
          "description": "Execute an action against the Polylane API: create investigations, run automations, manage checks and integrations."
        },
        {
          "name": "searchTools",
          "description": "Discover the workspace's agent tools (observability queries, infra graph, code search, deployments) and fetch their schemas."
        },
        {
          "name": "runTool",
          "description": "Run an agent tool discovered via searchTools. Read-only by default; writes require write access and a session opt-in."
        },
        {
          "name": "runCode",
          "description": "Chain several agent tools in one call by running TypeScript against the tools namespace."
        }
      ]
    },
    "docs": {
      "url": "https://docs.polylane.com/mcp",
      "transport": "streamable-http",
      "authentication": "none"
    }
  },
  "siteApi": {
    "description": "Pre-launch actions on polylane.com itself; no auth required.",
    "endpoints": [
      {
        "method": "POST",
        "url": "https://polylane.com/api/auth/email",
        "description": "Join the waitlist: {name, email}"
      },
      {
        "method": "GET",
        "url": "https://polylane.com/api/signups/count",
        "description": "Current waitlist size"
      },
      {
        "method": "POST",
        "url": "https://polylane.com/api/careers/apply",
        "description": "Apply to a role: {jobId, email, link, location, notes?}"
      },
      {
        "method": "POST",
        "url": "https://polylane.com/ask",
        "description": "NLWeb: ask a natural-language question about Polylane; AI-generated answer grounded in site content, with matching pages as citations (GET ?query= also supported)"
      }
    ]
  },
  "content": {
    "llmsTxt": "https://polylane.com/llms.txt",
    "llmsFullTxt": "https://polylane.com/llms-full.txt",
    "markdownHome": "https://polylane.com/index.md",
    "docs": "https://docs.polylane.com",
    "blog": [
      {
        "title": "I'm Betting My Company on Proactive Agents",
        "url": "https://polylane.com/blog/proactive-agents",
        "markdown": "https://polylane.com/blog/proactive-agents.md"
      }
    ]
  },
  "careers": [
    {
      "title": "Founding Engineer",
      "jobId": "founding-engineer",
      "url": "https://polylane.com/careers/founding-engineer"
    },
    {
      "title": "Founding Growth",
      "jobId": "founding-growth",
      "url": "https://polylane.com/careers/founding-growth"
    },
    {
      "title": "Founding Researcher",
      "jobId": "founding-researcher",
      "url": "https://polylane.com/careers/founding-researcher"
    }
  ],
  "contact": {
    "email": "boris@coreplane.ai",
    "x": "https://x.com/polylanehq"
  }
}