Code Slim Refactor - Schlanker Code-Refactor
Auslösegrenze
Diese Fähigkeit nur verwenden, wenn der Benutzer explizit eine strukturierte Vereinfachung oder Konvergenz-Refactoring wünscht.
Nicht auslösen für:
- kleine Bereinigungen
- routinemäßige Fehlerbehebungen
- einmalige Umbenennungen
- gewöhnliche Refactorings, die keinen dedizierten Konvergenz-Workflow benötigen
Modi
Wähle einen Modus pro Durchlauf:
quick: leichter Konvergenz-Durchlauf für einen kleinen oder gut abgegrenzten Bereichstrict: formeller Refactor-Durchlauf mit vollständiger Rückverfolgbarkeit und Merge-Gates
Standardmäßig quick verwenden, es sei denn, der Benutzer wünscht ein formelles, prüfbares oder release-sensitives Refactoring.
Erforderliche Eingaben
repo_path: absoluter Pfad zum Git-Repositoryrefactor_goal: einzeiliges Konvergenzzielscope: optionaler Pfad oder Modul-Bereichmode:quickoderstricttarget_branch: nur fürstricterforderlich, Standardmaster
Kernregel
Dieser Workflow bewahrt standardmäßig keine alte externe Kompatibilität, muss aber den beabsichtigten aktuellen Vertrag des abgegrenzten Systems bewahren.
Nie Backend-Verträge, Antwort-Semantiken oder Assertionsstandards ändern, nur um Tests bestehen zu lassen.
Schnellmodus
quick verwenden, wenn die Aufgabe begrenzt ist und der Benutzer hauptsächlich Konvergenz, nicht eine formelle Artefaktspur, wünscht.
Erforderliche Schritte:
- Ziel, Umfang und die zu entfernende Hauptkomplexität benennen.
- Eine kurze Aktionsliste im Gespräch oder eine minimale lokale Notiz führen, falls hilfreich.
- Nur auf diese Aktionsliste bezogene Änderungen anwenden.
- Backend-Verträge, Antwort-Semantiken und Assertionsstandards bewahren.
- Fokussierte Validierung für den geänderten Bereich durchführen.
- Wenn die Validierung auf eine Diskrepanz zwischen Backend und Test hindeutet, anhalten und das Vertragsdiskrepanz-Gate ausführen, bevor weitere Änderungen vorgenommen werden.
- Berichten, welche Komplexität entfernt wurde, was beibehalten wurde und welches Restrisiko besteht.
./slim_refactor/-Artefakte sind im quick-Modus optional.
Strenger Modus
strict verwenden, wenn das Refactoring rückverfolgbar, prüfbar oder merge-gesichert sein muss.
Erforderliche Gates:
- Einen dedizierten Arbeitsbranch erstellen und verwenden. Niemals direkt auf dem Zielbranch bearbeiten.
- Design vor Code-Änderungen schreiben.
- Artefakte unter
./slim_refactor/verfolgen:todolist.mdplan.mdreport.md
- Backend-Verträge, Antwort-Semantiken und Assertionsstandards bewahren.
- In jeder Änderungsrunde eine Überprüfung durchführen.
- Das Vertragsdiskrepanz-Gate ausführen, wenn die Validierung auf eine Diskrepanz zwischen Backend und Test hindeutet.
- Den vollständigen Workflow-Gate vor dem Merge ausführen.
Vertragsdiskrepanz-Gate
Dieses Gate immer dann verwenden, wenn Tests auf eine Weise fehlschlagen, die auf eine Vertragsdiskrepanz statt auf eine echte Regression hindeuten könnte.
Erforderliche Aktionen:
- Implementierungsänderungen anhalten, bis die Klassifikation abgeschlossen ist.
- Aktuelles Verhalten, beabsichtigten aktuellen Vertrag und Testerwartungen vergleichen.
- Eine unabhängige Unteragenten-Überprüfung starten, wenn Unteragenten verfügbar sind.
- Wenn Unteragenten nicht verfügbar sind, einen expliziten lokalen Überprüfungs-Fallback durchführen und diesen Fallback in der Rundenausgabe festhalten.
- Die Diskrepanz als genau eine der folgenden klassifizieren:
backend_regression: Backend-Verhalten ist falsch für den beabsichtigten aktuellen Vertrag.stale_tests: Tests hinken dem beabsichtigten aktuellen Vertrag hinterher.
Erlaubte Aktionen nach der Klassifikation:
backend_regression: Backend-Verhalten auf den beabsichtigten aktuellen Vertrag korrigieren. Tests nicht abschwächen, um das Problem zu verstecken.stale_tests: Nur die betroffenen Tests aktualisieren oder diese Tests für diese Runde überspringen. Backend-Verträge oder Assertionsstandards nicht lockern.
Wenn Tests übersprungen werden, den Stale-Gate-Zustand, den übersprungenen Umfang und die erforderliche Nachverfolgung melden, bevor die Runde beendet wird.
Ausführungsworkflow
Quick
- Ziel, Umfang und Validierungsziel bestätigen.
- Nicht wesentliche Komplexität mit dem kleinsten kohärenten Änderungssatz entfernen.
- Löschung und Konvergenz gegenüber neuer Abstraktion bevorzugen.
- Den beabsichtigten aktuellen Backend-Vertrag bei gleichzeitiger Strukturänderung bewahren.
- Den betroffenen Bereich validieren.
- Wenn die Validierung auf eine Diskrepanz zwischen Vertrag und Test hindeutet, das Vertragsdiskrepanz-Gate ausführen, bevor weitere Änderungen vorgenommen werden.
- Konvergenzergebnis und Restrisiko zusammenfassen.
Strict
target_branchauschecken und synchronisieren.BASE_SHAfesthalten.- Branch
codex/refactor/<topic>-<YYYYMMDD>erstellen. ./slim_refactor/todolist.mderstellen oder aktualisieren../slim_refactor/plan.mderstellen oder aktualisieren.- Nur im Plan deklarierte Aktionen implementieren.
- Den beabsichtigten aktuellen Backend-Vertrag bei gleichzeitiger Konvergenz der Struktur bewahren.
- Für jede Änderungsrunde eine Überprüfung durchführen und die Ergebnisse in
./slim_refactor/report.mdfesthalten. - Wenn die Validierung auf eine Diskrepanz zwischen Vertrag und Test hindeutet, das Vertragsdiskrepanz-Gate ausführen und Prüfertyp sowie Klassifikation festhalten.
- Den vollständigen Workflow-Gate ausführen.
report.mdmit Rückverfolgbarkeit und Merge- oder Block-Entscheidung finalisieren.
Ausgabeanforderungen
Immer berichten:
- entfernte Komplexität
- konvergierte Struktur
- Validierungsergebnis
- verbleibendes Risiko
- beibehaltene oder korrigierte Vertragsinvarianten
- Diskrepanzklassifikation, wenn zutreffend
- Prüfertyp (
subagentoderlocal_fallback), wenn eine Diskrepanzüberprüfung stattfand - geänderte oder übersprungene Tests, wenn veraltete Tests gefunden wurden
Für strict ebenfalls berichten:
- Branchname
- Artefaktpfade
- Überprüfungsergebnis
- Merge- oder Block-Entscheidung
Referenzen
references/workflow-checklist.mdreferences/design-spec-template.mdreferences/todolist-template.mdreferences/plan-template.mdreferences/report-template.md