Zed julkaisi keskiviikkona Delta-ympäristönsä julkisen beetan. Kyse on työtilasta, jossa koodia kirjoitetaan agenttien kanssa ja valmis työ myös katselmoidaan. Yhtiö perustelee hanketta sillä, että agentit muuttivat ohjelmistotyön perusteellisesti, mutta yhteistyön välineet eivät seuranneet perässä.
Painavin todiste tulee Zedin omasta käytöstä. Viikkoa ennen julkaisua yhtiö kytki pull requestit pois päältä Deltan omasta repositoriosta. Sen jälkeen 33 kehittäjää on vienyt päähaaraan 570 muutosta ilman yhtäkään pull requestia.
Pull request jäi agenttien jalkoihin
Pull request on ollut koodin katselmoinnin vakiotapa yli 15 vuotta. Zedin mukaan malli rakoilee, koska agentit tuottavat koodia niin paljon, että katselmoitavat muutosjoukot ovat paisuneet hallitsemattomiksi.
Ison muutoksen pilkkominen haaroiksi helpottaa navigointia, mutta ei ratkaise varsinaista ongelmaa. Katselmoitavia ovat koodin takana olevat päätökset, eivätkä pienet muutokset kerro niistä mitään.
Yhtiö kuvaa tilanteen kärjistyneen kierteeksi. Katselmoija syöttää muutokset toiselle agentille ymmärtääkseen ne, ja tämä agentti joutuu arvaamaan päätökset, jotka tekijä on jo käynyt läpi. Zedin kysymys kuuluu, miksi työkaverin agentin pitäisi arvailla.
Zed ei ole ainoa haastaja. GitHubin ympärille on syntynyt viime kuukausina useita kilpailijoita, mutta yhtiön mukaan useimmat lupaavat vain paremman käyttövarmuuden samojen peruskäsitteiden päälle: haarojen, commitien ja muutosjoukkojen.

Säie korvaa haaran ja muutosjoukon
Deltassa yhteistyö ei nojaa commitointiin ja pushaamiseen. Työkaveri kutsutaan suoraan siihen keskusteluun, jota käydään agentin kanssa.
Kun joku liittyy säikeeseen, hän näkee samat työhakemistot ja voi työskennellä niiden kanssa omalla koneellaan. Hän voi myös kysyä samalta agentilta, miksi koodissa päädyttiin Mutexiin eikä RwLockiin. Jos alkuperäinen tekijä kirjautuu ulos, työ jatkuu siitä mihin se jäi.
Ero perinteiseen työnkulkuun on siinä, mitä jaetaan. Pull requestissa jaetaan lopputulos, Deltassa koko prosessi. Työkaveri näkee, mitä agentilta pyydettiin ja missä järjestyksessä.
Zed kutsuu tätä jatkuvaksi ohjelmistotyöksi. Integraatiosta ja toimituksesta tehtiin aikanaan jatkuvia, mutta muu kehitystyö jäi eräajoiksi. Deltan säikeessä idea, toteutus, katselmointi ja muutoksen vienti tapahtuvat samassa paikassa.

Katselmointi saa agentin kontekstin
Katselmointia varten säikeestä voi haarauttaa oman alisäikeensä. Se käy haaran muutokset läpi niin, että alkuperäisen agentin konteksti on koko ajan mukana.
Jokainen katselmointi saa oman eristetyn kopionsa emosäikeen työhakemistoista. Katselmoija voi siis kokeilla muutoksia ja tutkia koodia agenttien avulla häiritsemättä alkuperäistä työtä.
Jos katselmoija löytää ongelman, hän voi joko pyytää korjausta tai korjata sen itse agentin kanssa. Katselmoinnissa tehdyt korjaukset voi sulauttaa emosäikeeseen ennen kuin agenttia pyydetään viemään muutos maaliin.
Malli siirtää katselmoinnin painopisteen. Sen sijaan että katselmoija yrittäisi päätellä lopputuloksesta taaksepäin, hän pääsee käsiksi siihen keskusteluun, jossa ratkaisut tehtiin.

DeltaDB pitää Gitin alla
Delta rakentuu DeltaDB:n päälle. Se laajentaa Gitin sisältöpohjaista versiointia deltoihin eli muutoksiin perustuvilla välivaiheilla.
Käytännössä DeltaDB tallentaa commitien väliset muokkaukset sekä ihmisten ja agenttien viestit. Commit pysyy edelleen tarkistuspisteenä, jota pushataan, pullataan ja käytetään käännöksen pohjana. Väliin jäävä työ ei enää katoa.
Koko tiimin ei tarvitse siirtyä Deltaan kerralla. Zedin oma zed-repositorio pysyy toistaiseksi GitHubissa, koska yhteisö löytää sieltä tiketit ja lähettää sinne muutokset. Tiimiläinen, joka ei koskaan avaa Deltaa, näkee tavallisen Git-repositorion.
Jatkosuunnitelmissa on Git-tallennus DeltaDB:ssä. Pidemmällä aikavälillä sisältöpohjaiset käännökset voisivat tuoda CI-tyylisen varmistuksen suoraan säikeeseen. Toistaiseksi agentti voi käynnistää ajon olemassa olevalla CI-palvelulla ja tarkistaa tuloksen ennen muutoksen viemistä.
Beeta on ilmainen ja saatavilla macOS-, Linux- ja Windows-koneille. Deltaa voi käyttää myös selaimessa ilman asennusta, ja säikeitä voi seurata mobiiliselaimella. Maksullisia paketteja luvataan myöhemmin, mutta ilmainen versio jää yhtiön mukaan pysyvästi.

Yhteenveto
Zed ei tyydy korvaamaan GitHubin käyttöliittymää vaan sen perusyksikön. Haaran, commitin ja muutosjoukon tilalle tulee säie, ja sen tilaa mallinnetaan deltoilla. Yhtiön mukaan säikeestä tulee ohjelmistokehityksen uusi perusyksikkö.
Todistusaineisto on vielä ohut. Viisisataaseitsemänkymmentä muutosta yhdessä tiimissä ei kerro, miten malli skaalautuu sadan kehittäjän organisaatioon. Kokeilu on silti poikkeuksellinen, koska yhtiö ajaa sitä omalla tuotannollaan eikä erillisessä pilotissa.
