Producción dejó de caber en la cabeza de nadie. Polylane lo guarda todo: nubes, código y telemetría en un solo grafo en vivo.
Únete a la lista de esperaIssue hotspot: 4 issues in the last 7 days
Change hotspot: 12 changes in the last 7 days
Change hotspot: 7 changes in the last 7 days
Issue hotspot: 2 issues in the last 7 days
Issue hotspot: 1 issue in the last 7 days
Change hotspot: 3 changes in the last 7 days
Los agentes son tan buenos como su contexto. Así aprende Polylane el tuyo.
-
Toda tu nube, en solo lectura
AWS mediante un rol de solo lectura, la mayoría de proveedores con un token de API. Cada recurso entra en el grafo, y el grafo se mantiene al día por sí solo.
-
Enlazado entre proveedores
Nombres de host, registros DNS e IPs conectan las nubes: un CNAME de Cloudflare que apunta a un servicio de Render. La ruta real de la solicitud, no el diagrama de hace dos años.
-
Lo importante, vigilado más de cerca
Cada recurso recibe un nivel, de crítico a mínimo, calculado a diario a partir del tráfico y de lo que depende de él. Puedes sobrescribir cualquiera.
-
Deja las cosas por escrito
Cada recurso mantiene una wiki que se reescribe a medida que tu sistema cambia, y los agentes dejan notas: la investigación de julio aprende de la de junio.
CLI o MCP, tú eliges. Tu agente de programación se conecta como prefieras.
La CLI lo conecta.
Una sola instalación conecta tu stack y registra Polylane en todos los agentes de programación de tu máquina.
MCP lo sirve.
Tus nubes, telemetría, despliegues y código detrás de un solo servidor MCP. Lecturas por defecto; las escrituras quedan detrás de una política que deniega por defecto.
En la herramienta que ya usas. Todos los agentes leen el mismo grafo.
Code mode. Un solo viaje de ida y vuelta, solo la respuesta.
En lugar de llamar a las herramientas una por una, tu agente escribe TypeScript contra el espacio de nombres tools del MCP y el servidor lo ejecuta. Los resultados intermedios nunca pasan por la ventana de contexto; solo vuelve la respuesta.
// Which deploy slowed checkout-edge? const deploys = await tools.deployHistory({ service: "checkout-edge", hours: 24 }); const { points } = await tools.queryMetrics({ service: "checkout-edge", metric: "latency.p99", hours: 24, }); const median = (xs) => xs.sort((a, b) => a - b)[xs.length >> 1] ?? 0; const p99 = (t, side) => median(points.filter((p) => (side < 0 ? p.t < t : p.t > t)).map((p) => p.v)); // Score every deploy by the p99 shift across its timestamp. const [worst] = deploys .map((d) => ({ ...d, shift: p99(d.at, 1) / p99(d.at, -1) })) .sort((a, b) => b.shift - a.shift); // Pull the error logs right after the suspect deploy. const errors = await tools.queryLogs({ service: "checkout-edge", level: "error", after: worst.at, limit: 5, }); // Only this returns; the series and logs stay in the sandbox. return { deploy: worst.sha, // 9f3c2a1 p99Shift: worst.shift, // 4.8 topError: errors[0]?.message, // "Hyperdrive pool exhausted" };
✓ one answer back; twenty round trips saved