Die Umstellung ersetzte die bisherige Runtime schrittweise statt mit einem vollständigen Austausch zu einem einzigen Stichtag. GitHub teilte einzelne Komponenten nach und nach durch Rust-Implementierungen ab. Eine vorübergehende N-API-Schnittstelle verband dabei neuen und alten Code, sodass vorhandene End-to-End-Tests auch die Rust-Komponenten prüfen konnten. Während der Migration veröffentlichte GitHub 135 Versionen: 35 stabile und 100 Vorabversionen.
Die neue Runtime lässt sich direkt in eine Host-Anwendung einbetten oder weiterhin als separater Prozess ausführen. Zuvor benötigte die Integration Node.js und V8 und lief über eine Prozessgrenze. Das verursachte laut GitHub pro Client ungefähr 100 MB zusätzlichen Arbeitsspeicherbedarf. In einem gemessenen Szenario aus Client-Start, Sitzungserstellung und einer einzelnen Anfrage sank die Laufzeit von 5,25 Sekunden auf 292 Millisekunden, wenn die Rust-Runtime direkt im Prozess eingebettet war.
Die Übergangsschicht umfasste 2.019 interne N-API-Exporte und 3.356 Aufrufstellen in TypeScript, bevor GitHub sie entfernte. Zum Stand 21. August bestand die Runtime aus 832.378 Zeilen produktivem Rust-Code und 468.689 Zeilen Rust-Unit-Tests. KI-Agenten erzeugten nach Angaben von GitHub den größten Teil der Implementierung. Kompilierung, Tests und menschliche Prüfung dienten dazu, Fehler unter anderem bei Verhalten, Zustands- und Lebensdauerverwaltung sowie Bibliothekssemantik aufzudecken.
GitHub zählte 4.478 direkte Aufrufe von „cargo check“; 87,1 Prozent davon liefen ohne Fehler durch. Die Zahl allein belegt jedoch nicht, dass das Verhalten an allen Schnittstellen unverändert blieb: Dafür waren laut GitHub zusätzlich Tests und menschliche Überprüfungen nötig. Das Copilot SDK unterstützt derzeit TypeScript, Python, Go, .NET, Java und Rust. Die Umstellung betrifft damit nicht nur den internen Code, sondern auch die verfügbaren Möglichkeiten, die Runtime in Anwendungen einzubinden.
