PrezziDocumentazione
Inizia
Soluzioni · Engineering

Il lavoro che non arriva mai in cima alla coda.

Ogni sessione riceve il proprio computer cloud e il proprio branch. L'agente riproduce il bug, scrive la correzione, esegue i test e apre una change request. Tu revisioni un diff.

IniziaParla con noi
kortix/session-9f4c2b7e · retry backoff jitter2 file · +7 −1 · 214 test superati
 packages/queue/src/retry.ts−const delay = base * 2 ** attempt;+// Full jitter. Without it every worker wakes on the same tick and the+// retry storm is indistinguishable from the outage that caused it.+const delay = Math.random() * base * 2 ** attempt;   packages/queue/src/retry.test.ts+test("spreads retries across the window", () => {+  const spread = sample(1_000).stddev / EXPECTED_MEAN;+  expect(spread).toBeGreaterThan(0.4);+});
Illustrazione. Il nome del branch è l'ID della sessione, perché questo è un branch di sessione.
Il passaggio di consegne

L'arretrato che hai smesso di fingere di voler affrontare.

Non le riscritture. Il piccolo lavoro ben definito che c'è sotto: riproduzioni, aggiornamenti delle dipendenze, test instabili, una rinomina su duecento file.

  1. 01

    Il bug che nessuno ha riprodotto

    Prende il report, costruisce il caso sulla propria macchina e torna con un test fallito o con il motivo per cui non ha potuto riprodurlo. Una sessione che non riesce a riprodurre il problema lo dichiara; non inventa una correzione per un bug che non ha mai visto.

  2. 02

    Il test instabile che tutti rieseguono

    Esegue la suite in ciclo, identifica quale test fallisce davvero e con quale frequenza, quindi trova lo stato condiviso o l'ipotesi temporale sottostante. La change request riporta il tasso di errore misurato prima e dopo.

  3. 03

    Aggiornamenti delle dipendenze, con build verificata

    Aggiorna, compila, esegue la suite, legge nel changelog le note sulle modifiche incompatibili e corregge i punti di chiamata spostati. Se la suite diventa rossa, apre comunque la change request, indicando gli errori nella descrizione invece di dichiarare un esito positivo.

  4. 04

    La migrazione meccanica su duecento file

    Una rinomina, uno spostamento di API, una regola lint attivata: modifiche banali per file, insostenibili su larga scala. Lavora file per file sul proprio branch e consegna un unico diff revisionabile.

  5. 05

    Le eccezioni della notte scorsa, raggruppate

    Legge gli errori della giornata, li raggruppa per causa principale anziché per messaggio, li ordina in base a quante persone hanno colpito e porta il primo fino alla correzione.

  6. 06

    Documentazione non più allineata al codice

    Confronta il comportamento documentato con quello reale e corregge il documento per allinearlo al codice, oppure segnala che è il codice a essere errato. Qui entrambi sono lo stesso tipo di commit: tutto è un file.

Il risultato

Un diff su un branch, con la suite già eseguita.

Ricevi un diff su un branch, con i test già eseguiti sulla macchina che l'ha prodotto. Non c'è nulla di nuovo da imparare a leggere.

kortix/session-9f4c2b7e · retry backoff jitterChange request
packages/queue/src/retry.ts
-const delay = base * 2 ** attempt;
+// Full jitter. Without it every worker wakes on the same tick and the
+// retry storm is indistinguishable from the outage that caused it.
+const delay = Math.random() * base * 2 ** attempt;
packages/queue/src/retry.test.ts
+test("spreads retries across the window", () => {
+ const spread = sample(1_000).stddev / EXPECTED_MEAN;
+ expect(spread).toBeGreaterThan(0.4);
+});
2 file · +7 −1 · 214 test superati
Illustrazione. Il nome del branch è l'ID della sessione, perché questo è un branch di sessione.

Revisioni la modifica, non un report che la descrive

L'agente salva il commit sul branch della sessione e apre una change request verso main. In revisione arriva un diff con una descrizione: lo stesso oggetto che avrebbe aperto un collega.

È stato eseguito prima che tu lo leggessi

La sandbox è una vera macchina Linux: l'agente installa, compila ed esegue la suite autonomamente. Una change request che arriva rossa lo dichiara nella descrizione invece di sostenere che sia verde.

Un branch, una macchina, nessuna collisione

Le sessioni non condividono il working tree. Venti sessioni possono lavorare contemporaneamente sullo stesso repository, ognuna sul proprio branch e computer, senza interferire.

Dove arriva

Il repository, il tracker, il thread.

La maggior parte del lavoro avviene nel repository clonato dalla sessione. I connettori coprono il resto e le relative credenziali rimangono dalla nostra parte, mai nella macchina.

Il repository stesso
Clonato nella sandbox all'avvio della sessione, su un branch nuovo. L'agente ha shell, filesystem e cronologia completa: può fare bisect, eseguire la suite e leggere il commit che ha introdotto la riga che sta per modificare.
GitHub
Legge issue, commenti e stato di un branch e scrive dove lo hai autorizzato. Kortix apre direttamente la change request; il connettore serve per tutto ciò che la circonda.
Linear
Recupera il ticket che ha avviato la sessione, leggi i criteri di accettazione e pubblica il link alla change request quando il lavoro arriva. Il ticket resta la fonte di verità per l'ambito.
Slack
Il canale live. Menziona il bot in un thread e quel thread diventa una sessione; risposta e file prodotti tornano nello stesso thread. Teams è incluso, ma disattivato finché non lo abiliti nella tua distribuzione.
I tuoi servizi
Indica a Kortix una specifica OpenAPI o Postman, un endpoint GraphQL, un server MCP remoto o un URL di base HTTP. Legge la sorgente, determina l'autenticazione e trasforma ogni operazione in uno strumento che l'agente può chiamare.

Easy connect copre oltre 3.000 app tramite le rispettive schermate OAuth. Tutto ciò che non è nel catalogo è raggiungibile tramite MCP, OpenAPI, GraphQL o HTTP diretto: di solito è la risposta corretta per un servizio interno, che non ha mai avuto una voce in un catalogo pubblico.

Come viene eseguito

Chiedi ora, osserva ciò che conta, lascia lavorare il resto.

Tre modi per avviare la stessa sessione. Isolamento e percorso di revisione non cambiano con il trigger.

  1. 01Su richiesta

    Dal thread in cui ti trovi già

    Descrivi il bug in un thread Slack oppure avvia una sessione dall'app web o dalla CLI. Ricevi una reazione sul tuo messaggio, non un post del bot, e la risposta arriva nello stesso thread.

  2. 02Con supporto umano

    Si ferma dove gli hai detto di fermarsi

    Imposta un'azione su Ask: l'esecuzione si ferma sulla chiamata e attende, mostrandoti azione e argomenti. Approva e la stessa chiamata viene completata; la sessione riprende esattamente da dove si era fermata.

  3. 03Automatizzato

    Un cron o un webhook firmato dai tuoi alert

    Gestisci le eccezioni notturne alle 06:00. Oppure collega il sistema di alert a un webhook firmato, così un evento di paging avvia una sessione con il payload dell'incidente già nel prompt.

Control

Niente merge automatici.

La domanda non è cosa può scrivere un agente, ma cosa può consegnare. Ecco la risposta esatta.

Il merge è negato per impostazione predefinita
Un agente non può fare merge verso main. L'autorizzazione esiste: un admin può concedere project.cr.merge, ma il permesso vive in kortix.yaml, quindi ampliarlo è una modifica sottoposta a revisione. Nulla di tutto ciò è un'impostazione predefinita nascosta.
I blocchi di approvazione sono disattivati finché non li configuri
L'impostazione predefinita distribuita è permissiva: le azioni vengono eseguite salvo diversa indicazione. Imposta Ask su quelle che devono fermarsi e Block su quelle che non devono mai avvenire, per azione o con una regola basata su pattern. Preferiamo dirti qual è il default invece di lasciarti presumere quello più sicuro.
Ogni sessione è isolata dalle altre
Una macchina Linux usa e getta per sessione, sul proprio branch. L'unica cosa davvero condivisa è il mondo esterno: per questo l'accesso si decide nei connettori, non nella macchina.
Le credenziali dei connettori non entrano mai nella macchina
La sandbox contiene un token Kortix limitato al progetto e nessuna chiave di terze parti. Il gateway decritta la credenziale reale lato server e la associa alla chiamata in uscita. Un segreto runtime che concedi deliberatamente è diverso: è un vero valore d'ambiente leggibile dall'agente, ed è proprio questo il suo scopo.
Ogni chiamata agli strumenti viene registrata
Il gateway che risolve la credenziale è lo stesso che registra l'evento: azione, agente, persona o trigger alla base della sessione, esito e autore dell'autorizzazione di una chiamata in attesa.
Come funziona l'isolamentoCome vengono gestiti i connettori

La stessa piattaforma, gli altri team

Un progetto, un insieme di connettori, una memoria che si arricchisce. Ogni team scrive le competenze per il proprio lavoro; nessuno crea un secondo sistema.

  • VenditeRicerche, bozze e igiene del CRM, in attesa della tua approvazione
  • MarketingLavoro di produzione che suona come te, perché la voce è un file
  • ProdottoFeedback sintetizzato in specifiche, con le prove allegate
  • FinanzaLa chiusura, la riconciliazione e la nota sulle varianze
  • PersonePianificazione, kit e onboarding — mai la decisione di assunzione
  • ITRunbook eseguibili e una piattaforma che supera la tua revisione
  • Data ScienceUna macchina reale, una query reale, un'analisi che puoi rieseguire
Tutte le soluzioni →

Gestisci l'intera azienda da un unico repo che possiedi.

Inizia da un'attività e cresci da lì.

Inizia

Prodotto

  • Computer dell’agente
  • Azienda come codice
  • Connettori
  • Automazioni
  • Canali
  • Agenti e skill
  • Sicurezza
  • Self-hosted
  • Enterprise
  • Prezzi
  • Scarica

Soluzioni

  • Vendite
  • Marketing
  • Engineering
  • Prodotto
  • Finanza
  • Persone
  • IT
  • Data Science

Sviluppatori

  • Documentazione
  • AI Operating System
  • CLI
  • SDK
  • Avvio rapido
  • Per sviluppatori
  • Marketplace
  • GitHub

Azienda

  • Informazioni
  • Lavora con noi
  • Blog
  • Registro delle modifiche
  • Casi d'uso
  • Brand

Connetti

  • X
  • LinkedIn
  • Discord
  • Stato
  • Supporto
  • Termini
  • Privacy
©2026 Kortix