Zum Inhalt springen

Selbstheilende CI

Aus einem roten Check kann ein geprüfter Fix werden.

Wenn ein geeigneter Check fehlschlägt, kann Hive einen begrenzten Coding-Agenten starten — Run, Logs, Diff und Testergebnisse sind bereits dabei. Der Kandidat landet auf Ihrem Branch; das nächste Gate entscheidet, ob er funktioniert.

Autofix wird je Check bewusst aktiviert. Infrastrukturfehler und Timeouts verbrauchen keinen Agenten-Run.

hive — Run #4821, und warum er gebrochen ist
Ein fehlgeschlagener Hive-Run: ein Panel „why did this fail?“ benennt den gebrochenen Schritt und die drei fehlgeschlagenen Tests, dazu ein Abhängigkeitsgraph mit einem roten Schritt und zwei dahinter blockierten sowie der auslösende Commit.

Run #4821, rot: der gebrochene Schritt, die drei benannten Tests und der Abhängigkeitsgraph dahinter.

Aufgenommen aus dem eingecheckten Fixture-Set, nicht aus der Produktion

Auslöser
Geeignete rote Checks
Lieferung
Ein Kandidat auf Ihrem Branch
Entscheidung
Ihr nächstes CI-Gate

Die Reparatur-Schleife

Die Fehlerbelege reisen mit der Arbeit.

Kein Ritual aus kopierten Logs und kein abgetrennter Chat. Run, Agent und prüfendes Gate bilden eine nachvollziehbare Kette.

  1. 01 · Erkennen

    Ein deklarierter Check scheitert

    Hive klassifiziert den Fehler und materialisiert nur dann einen Fixer, wenn der Schritt ihn aktiviert hat und die Richtlinie ihn erlaubt.

  2. 02 · Diagnostizieren

    Die Belege sind schon da

    Der Agent liest Task, begrenzte Logs, benannte Tests, Branch-Diff und frühere verifizierte Fixes direkt.

  3. 03 · Reparieren

    Ein Kandidat entsteht

    Der Agent arbeitet in einer isolierten Umgebung. Der Wrapper kontrolliert Umfang, Budget, Prüfung und Git-Lieferung.

  4. 04 · Beweisen

    Das Branch-Gate läuft erneut

    Der gepushte Kandidat löst einen frischen Run aus. Dieser Run — nicht die Prosa des Agenten — entscheidet über den Merge.

Die Aktivierung, im Code

Ein Fixer ist ein Schritt, den Sie deklarieren. Von selbst weckt nichts einen.

Zwei Zeilen in der Pipeline-Datei, und sie sind der ganze Vertrag.

fix_step benennt einen ruhenden Agenten-Schritt; on_failure hängt ihn an genau ein Ziel. Ein Schritt ohne on_failure weckt nie einen Agenten, und eine Pipeline ohne deklarierten Fixer hat keinen Autofix — es gibt nichts abzuschalten.

Der Fixer muss existieren, genau einen Task reparieren und keine eigenen Abhängigkeiten haben. Alles andere weist die Pipeline-Sprache bei der Auswertung zurück, bevor ein Run entsteht.

.hive/main.starstarlark
fixer = fix_step(target = "test")          # @hive//factory.star (agent, dormant)hive.pipeline(name = "pr-checks", on = [hive.on.pull_request(branches=["main"])],    steps = [        hive.step(name = "test", image = CI, run = "go test ./...", on_failure = fixer),        fixer,    ])
Aus dem Autofix-Vertrag der Pipeline. Ohne on_failure schlägt der Schritt einfach am Gate fehl.

Eine Reparatur, von Anfang bis Ende

Drei Schritte, ein Branch, nichts vom Agenten gemergt.

Derselbe Run wie im Hero, zu Ende verfolgt — aufgenommen aus dem eingecheckten Fixture-Set, also eine gestaltete Geschichte statt des Branches eines Kunden.

  1. 01Run #4821 scheitert an test-2 mit drei benannten Tests; das Diagnose-Panel sagt, welche und warum.

  2. 02Der Fixer erneuert die veralteten Order-Fixtures, lässt pytest bis 1262 grün laufen, pusht und öffnet einen Pull Request mit der Ursache.

  3. 03Der Push löst einen frischen Run auf dem Branch-Head aus. Dieser Run — nicht die Zusammenfassung des Agenten — macht den Check grün, und Ihre Merge-Regeln entscheiden weiterhin.

hive — Run #4821, und warum er gebrochen ist
Ein fehlgeschlagener Hive-Run: ein Panel „why did this fail?“ benennt den gebrochenen Schritt und die drei fehlgeschlagenen Tests, dazu ein Abhängigkeitsgraph mit einem roten Schritt und zwei dahinter blockierten sowie der auslösende Commit.

01Run #4821 scheitert an test-2 mit drei benannten Tests; das Diagnose-Panel sagt, welche und warum.

Aufgenommen aus dem eingecheckten Fixture-Set, nicht aus der Produktion

hive — der Agent, der es repariert hat
Das Transkript eines Agenten in Hive: er erneuert die veralteten Order-Fixtures, lässt pytest erneut laufen bis 1262 Tests grün sind, committet, pusht und nennt die Ursache — unten stehen die Kosten der gesamten Session.

02Der Fixer erneuert die veralteten Order-Fixtures, lässt pytest bis 1262 grün laufen, pusht und öffnet einen Pull Request mit der Ursache.

Aufgenommen aus dem eingecheckten Fixture-Set, nicht aus der Produktion

Agenten-Kontext

Geben Sie dem Modell Belege, keine Textwand.

Hive kompiliert aus eigenen Fakten ein begrenztes Aufgabenbriefing und stellt schmale Werkzeuge für die nächsten benötigten Belege bereit.

Run-Belege

Fehler mit Namen

Fehlgeschlagene Tasks, geparste Testergebnisse, Reports und begrenzte Log-Enden kommen strukturiert an.

Änderungs-Belege

Das exakte Branch-Delta

Auslösender SHA und Diff halten den Agenten bei dem Fehler, der wirklich passiert ist.

Frühere Belege

Verifizierte Fixes statt Hörensagen

Ähnliche frühere Ergebnisse erscheinen nur, wenn ein späteres Gate sie als grün bewiesen hat.

Schmale Werkzeuge

Aufrufe statt kopierter Seiten

Der Agent untersucht aktuellen Run und ausgewählte Checks über geprüfte Fähigkeiten.

Richtlinie

Budgets außerhalb des Prompts

Turn-, Token-, Umfangs- und Lieferregeln erzwingt ein Wrapper, den das Modell nicht umschreiben kann.

Prüfung

Belege vor Lieferung

Ein Kandidat muss den konfigurierten Verifier der Lane bestehen, bevor der Wrapper ihn liefern darf.

Kontrolle bleibt ausdrücklich

Selbstheilend heißt nicht selbstautorisierend.

Die Automatisierung handelt innerhalb der Grenzen, die Pipeline und Plattform-Richtlinie festlegen.

Bewusst aktiviert

Sie wählen die Checks, die einen Agenten wecken.

Ein neuer Schritt hat standardmäßig keinen Fixer. Eine Laufzeit-Richtlinie kann einen problematischen Fixer ohne Pipeline-Änderung unterdrücken.

Sicher scheitern

Der Kandidat muss CI weiterhin bestehen.

Scheitert der Fixer, überschreitet er Grenzen oder kann er seine Arbeit nicht prüfen, bleibt der ursprüngliche Fehler bestehen.

Review

Der normale Branch-Ablauf bleibt bestehen.

Hive pusht einen Kandidaten auf den Branch. Pflicht-Checks, Review-Regeln und Merge-Richtlinie bleiben maßgeblich.

Grenzen

Was ein Fixer nicht tut.

Jede Zeile ist eine Regel, die der Wrapper erzwingt — kein Versprechen, das das Modell halten soll.

Keine Aktivierung, kein Fixer
Ein Schritt ohne on_failure weckt nie einen Agenten. Für jeden neuen Schritt und jede Pipeline gilt: kein Autofix, nichts abzuschalten.
Infrastruktur
Timeouts, Runner-Verlust und erkannte Infrastrukturfehler wecken nie einen Fixer. Nur ein Fehler, der nach Code-Arbeit aussieht.
Der eigene Commit
Der Push eines Fixers weckt nie einen weiteren Fixer, sodass ein falscher Kandidat keine Schleife starten kann.
Budget und Dauer-Rot
Turn- und Token-Budgets werden außerhalb des Prompts erzwungen, und ein Schritt, der über Kandidaten hinweg rot bleibt, verbraucht keine weiteren Agenten-Runs.
Eingriff des Betreibers
Eine Laufzeit-Richtlinie kann einen problematischen Fixer ohne Pipeline-Änderung unterdrücken — und ihn auf demselben Weg wieder freigeben.

Private Beta

Bringen Sie ein Repository mit. Sehen Sie das ganze System arbeiten.

Starten Sie auf Ihrem eigenen Runner, lassen Sie Ihre bestehende CI daneben weiterlaufen und sehen Sie, wie Hive aus dem nächsten geeigneten roten Check einen prüfbaren Fix macht.