Kombinat
Petrit Isufi · das Verfahren hinter den Rekordeinträgen · Stand 20.09.2026
Was das Kombinat ist
Im Kombinat suchen KI-Agenten nach Lösungen für exakt spezifizierte kombinatorische Probleme. Ich leite es, die Agenten rechnen. Ein Kandidat wird erst zum Ergebnis, wenn ein unabhängiger Checker ihn annimmt. Vier Probleme liegen darin: LABS mit Binärfolgen minimaler Autokorrelationsenergie, degdiam, das Grad-Durchmesser-Problem, dessen Kandidat kein Graph ist, sondern ein Generatorprogramm, sortnet mit Sortiernetzen aus möglichst wenig Komparatoren, wo die Werkzeuge stehen und die Suche noch nicht gestartet ist, und booleansens, Boolesche Sensitivität gegen den exakten reellen Grad.
core/loop.py rechnet einen Tick aus Eltern, Mutation, Bewertung und Archiv, core/sandbox.py sperrt fremde Kandidatenprogramme in bwrap mit rlimits, core/budget.py prüft vor jedem Modellaufruf das Budget. Die Checker bleiben absichtlich einfach: Standardbibliothek, exakte Arithmetik, keine Abhängigkeiten. Nichts im Suchpfad darf sich eine Bewertung selbst ausrechnen. Für die innere Schleife gibt es einen C-Zwilling desselben Urteils: am (16,3)-Rekordgraphen mit 1600 Knoten und 12800 Kanten schafft er 269 Bewertungen pro Sekunde mit einem Prozess je Kandidat und 442 über das Stromprotokoll. Der Python-Checker bleibt die Autorität und bestätigt jeden Kandidaten vor dem Archiv.
Eine Regelquelle für Claude, Codex und DeepSeek
Alle Agenten lesen dieselbe Datei. Sie liegt in ~/.agents/AGENTS.md; ~/AGENTS.md, ~/.claude/CLAUDE.md und ~/.codex/AGENTS.md sind Symlinks darauf, geändert wird nur das Original. Vier Coding-Regeln stehen dort. Denken vor Code heißt, Annahmen zu benennen statt stillschweigend eine Lesart zu wählen, und mir zu widersprechen, wenn es Grund dafür gibt. Simplicity First verlangt den kleinsten Code, der das Problem löst, ohne Abstraktion für Einmal-Code. Surgical Changes erlaubt nur Änderungen, die sich auf den Auftrag zurückführen lassen; fremder toter Code wird gemeldet, nicht gelöscht. Goal-Driven Execution übersetzt jeden Auftrag in prüfbare Erfolgskriterien und verlangt die Verifikation vor der Fertigmeldung.
Arbeitseinheit ist ein Claim mit eigenem Worktree
Im Haupt-Checkout wird nie gearbeitet, ein git switch dort zerschießt laufende Jobs. Ein Skript legt Branch, Worktree und Claim in einem Schritt an; erst der erfolgreiche Push gibt den Worktree frei, der Remote-Branch ist damit der Kollisionstest. Ein Scope gehört genau einem Claim, abgeschlossene bekommen status: done oder abandoned und bleiben liegen. Am 20.09.2026 zählt coordination/ 406 Claim-Dateien und 1262 Job-Dateien; eine Job-Datei ist der Claim ihres eigenen Laufs.
Finder und Prüfer sind getrennt
$tick führt einen zielgebundenen Angriff aus und erzeugt Evidenz. Er verifiziert seinen eigenen Fund nie und endet mit einer typisierten Übergabe, einem Zeugen oder einem Beweis, oder mit einer datierten Notiz über Suchraum, Methode, Budget und Ausgang. Ein negatives Ergebnis zählt als Abschluss.
$tock prüft genau das übergebene, bytegenau gehashte Artefakt mit unabhängig geschriebenem Code und einer anderen Methode. Den Finder-Code zu importieren oder den beigelegten Replay-Befehl auszuführen genügt nicht. Mindestens eine Mutanten-Gegenprobe muss durchfallen. Erst danach wandert ein Fund nach records/. Beide Rollen starten mit demselben Lagebild aus lagebild.py: Sperren, Arme und offene Prüfungen, frisch aus dem Remote-Stand.
Für prüfkettenrelevante Änderungen gilt Autor ungleich Reviewer, mergefähig ist allein ein verdict: ok gegen den finalen Head. Die Checker, core/sandbox.py und core/budget.py sind unantastbar, problems/*/records/ ist append-only. Korrekturen kommen als Amendment daneben, das Original bleibt liegen.
Kostenbuch
Jedes Arbeitspaket trägt beim Claim-Abschluss eine Zeile ein; ohne Zeile gilt der Abschluss als unvollständig. Tokens misst kein Werkzeug im Kombinat zuverlässig, deshalb stehen dort keine. Das ist eine bewusste Lücke, Ersatzmaß sind Wandzeit und Review-Runden. Nicht ableitbare Zellen tragen ein Fragezeichen, geschätzt wird nie. Fünf Zeilen aus dem September:
| Datum | Baustein | Modell | Wandzeit h | Subagenten | Review-Runden | Ergebnis |
|---|---|---|---|---|---|---|
| 2026-09-05 | Hintergrund | ? | 0,05 | ? | 0 | Vier Tabellenzellen nachgezogen, 8 von 10 eigenen Rekordzellen zu diesem Stand bestätigt. |
| 2026-09-08 | B1 | Opus 5 | 9,0 | 3 × Sonnet | 3 (R3 ok) | Eigene Hypothese an der vorab gesetzten Latte falsifiziert, unabhängig repliziert. |
| 2026-09-08 | Hintergrund | Astra/high, Review Opus 5 | 1,12 | 3 × Luna/max | 0 | Sieben Blockzahlen reproduziert, Gesamtschranke fremdcodebestätigt. |
| 2026-09-10 | Hintergrund | Sonnet 5 | 48,4 | 0 | 5 (R5 ok) | Lambda-Gate auf vier weitere Stützstellen gezogen, Schlupf 0. |
| 2026-09-10 | B1 | Fable 5.1 | 0,37 | 0 | 1 (R1 ok) | Vier als unerreichbar geführte Wachen mit Mutanten belegt. |
Die 48,4 Stunden der vierten Zeile sind eine Kalenderspanne über drei Sitzungen, keine Rechenzeit. Was ein Modellaufruf kostet, steht in einer versionierten Preistabelle im Repo, mit Quelle und Datum in der Datei.
Wiederkehrendes läuft als systemd-Unit
Was regelmäßig laufen soll, läuft als systemd-Unit auf dem Server, nicht in einem Agenten. Der Betriebsordner hält 28 Service- und 22 Timer-Dateien, 25 davon mit OnFailure=notify-failure@%n. Die Vorlage schickt eine Telegram-Meldung mit dem Namen der gefallenen Unit, ein Prüfskript listet Units ohne diesen Haken.
Dazu kommt eine Regel für Warteschleifen. Vom 10. bis 14.09.2026 lief ein until adb connect im Container ws-scrcpy vier Tage durch, weil niemand eine Abbruchgrenze gesetzt hatte. Seitdem bekommt jede Warteschleife ein timeout, auch in Container-Entrypoints und Subagenten-Skripten. Eine Schleife ohne Abbruchgrenze ist ein Befund.
Ergebnisse
Im August 2026 standen zehn Einträge der Tabelle von Comellas und Delorme unter meinem Namen. Heute halte ich davon einen, Grad 15 und Durchmesser 3 mit Ordnung 1224. Die übrigen sind im September überboten worden, und bei sechs Nachfolgern vermerkt die Tabelle, dass sie auf meinen Graphen aufbauen. Welche Zelle wann gefallen ist, steht auf der Forschungsseite, zusammen mit dem Preprint zur zweiten unabhängigen Verifikation des Gegenbeispiels zu Goemans' Kostenvermutung, auf Zenodo unter doi:10.5281/zenodo.22238190 und unter ORCID 0009-0004-3834-8704.