Zum Inhalt springen

Skills

chimera-run-the-projects-own-gate-command

Führe den Verifikationsbefehl des Projekts wörtlich aus — gleicher Scope, gleiche Flags. Die fast identische Variante, die du improvisierst, lügt in beide Richtungen.

MusterHerkunft: cleanStatus: activev0.1.0 · Apache-2.0

Verliehen von der Person, die die Karte gelesen hat — nicht von der Datei über sich selbst behauptet. Eine Karte, die der Agent während eines Laufs mit nicht vertrauenswürdigen Inhalten destilliert, kommt kontaminiert zur Welt und wird bis zur Prüfung zurückgehalten, bevor sie jemals abgerufen wird.

Wann sie in den Sinn kommt

  • gleich Lint oder Typechecks laufen lassen
  • vor Commit oder PR prüfen
  • CI rot, lokal war es grün
  • ein Scope-Argument oder Strict-Flag ergänzen
  • das Gate als grün melden

In Vermeiden und Prüfen steckt meist der Wert. Tun ist der Abschnitt, den alle schreiben.

Der Kartentext oben ist eine Übersetzung. Das englische Original ist das, was die CLI importiert, was der Agent zur Laufzeit liest und was der Hash unten bezeugt.

Auslöser

Sie sind dabei, das Qualitäts-Gate des Projekts auszuführen — Lint, Typecheck, Tests — und das Ergebnis als Beleg dafür zu melden, dass eine Änderung sicher ist. Die Versuchung ist, es einzuengen („Ich habe nur chimera/ angefasst") oder es zu verschärfen („--strict ist doch sicher besser").

Das gilt nicht für Exploration. pytest tests/test_governed_surfaces.py -x auszuführen, während Sie an einer Datei arbeiten, ist genau richtig; die Regel handelt davon, was Sie dann das Gate nennen dürfen. Ein eingeengter Lauf ist eine Debugging-Hilfe, nie die Verifikation.

Tun

  1. Finden Sie, wo der Befehl aufgeschrieben ist, und benennen Sie EINE Quelle als kanonisch. In Chimera ist das das check-Target im Makefilemake check —, weil ein Target ausführbar ist und eine Prosazeile eine Kopie davon. Die drei Prüfungen, die es ausführt, sind ruff check ., mypy chimera und pytest -q.
  2. Führen Sie die kanonische Form Byte für Byte aus. Kein zusätzliches Pfadargument, kein zusätzliches Flag, kein ersetzter Runner. Achtung: Eine Prosa-Kopie kann sich auf Weisen unterscheiden, die kosmetisch aussehen und es nicht sind: Makefile:21 verpackt es als uv run --no-sync, CONTRIBUTING.md:105 als uv run --extra dev --extra desktop. Gleiches Werkzeug, unterschiedliche Umgebungen — genau deshalb muss eines davon die Quelle sein.
  3. Wenn zwei Quellen sich widersprechen, behandeln Sie den CI-Workflow als maßgeblich, führen Sie diesen aus und korrigieren Sie das veraltete Dokument im selben PR — CONTRIBUTING.md trug eine Zeit lang eine falsche mypy --strict-Zeile, und eine veraltete Anweisung pflanzt sich zu jedem fort, der sie liest.
  4. Wenn der kanonische Befehl in Ihrer Umgebung nicht laufen kann, sagen Sie, dass das Gate nicht gelaufen ist. Unter Windows ist das lokale .venv kaputt (litellm will Rust/MSVC), also läuft das Gate in WSL — die Shell zu verschieben ist erlaubt, den Befehl zu bearbeiten nicht.
  5. Berichten Sie den Befehl und seine Ausgabe wörtlich, nicht eine Zusammenfassung davon, wie es lief.

Vermeiden

Zwei Beinahe-Treffer, beide echt, beide in einer Sitzung, und beachten Sie, dass sie in entgegengesetzte Richtungen lügen:

mypy --strict chimera      # WRONG — lies toward failure
mypy chimera               # right

Das explizite Flag überschreibt das projekteigene warn_unused_ignores = false in pyproject.toml und meldet rund fünfzehn unused-ignore-Fehler in Dateien, die niemand angefasst hat. Daraus wäre beinahe ein Bug-Report gegen sauberen Code geworden.

ruff check chimera tests   # WRONG — lies toward success
ruff check .               # right

Der eingeengte Scope meldet ein B023 (eine Closure, die eine Schleifenvariable einfängt) nicht, das ruff check . meldet, weil der Scope entscheidet, welche Dateien — und damit welche verzeichnisspezifischen Regeleinstellungen — im Spiel sind. Die CI scheiterte an einem PR, dessen lokales „Gate" grün war.

Der gemeinsame Mechanismus: Das Flag entscheidet, welche Konfiguration gewinnt, und der Scope entscheidet, welche Regeln feuern. Keines von beidem ist ein kosmetischer Unterschied, und beide Varianten sehen dem echten Befehl nahe genug, dass die Ausgabe sich maßgeblich liest.

Prüfen

Zeigen Sie auf die Datei und die Zeile, wo Ihr Befehl aufgeschrieben ist. Makefile:21, CONTRIBUTING.md:105. Wenn Sie das nicht können, haben Sie ihn improvisiert.

Die binäre Frage: Ließe sich die Zeichenkette, die Sie getippt haben, ohne eine einzige Änderung in das check-Rezept einfügen? Wenn Ihr Befehl ein Argument oder ein Flag hat, das das Rezept nicht hat, lautet die Antwort nein, und was Sie ausgeführt haben, war eine andere Prüfung, die zufällig denselben Namen trägt.

Risiko

Der kanonische Befehl ist meist der langsamste, und eine Regel, die die schnelle Variante verbietet, drängt dazu, gar nichts auszuführen. Das ist ein schlechteres Ergebnis als ein eingeengter Lauf, der ehrlich als solcher gekennzeichnet ist.

Messen Sie die Kosten, bevor Sie die Regel für billig erklären, und messen Sie erneut, während die Suite wächst. Der erste Entwurf dieser Karte sagte, Chimeras vollständige Suite dauere „etwa fünfzehn Sekunden" — eine Zahl, die einmal stimmte und bis zum Schreiben der Karte über vier gemessene Läufe auf rund 100 Sekunden abgedriftet war. Eine Karte darüber, Befehle nicht zu improvisieren, ist ein schlechter Ort, um eine Zahl zu veröffentlichen, die das Ausführen des Befehls nicht übersteht.

Und das Rezept selbst kann falsch sein. Ihm wörtlich zu folgen bedeutet, seine blinden Flecken zu erben: make check wird Ihnen nicht sagen, dass ein Test eine gitignorierte bench/local_lift/results/paired.json liest, die ein frischer Clone nicht hat. Die Behebung eines schlechten Gates ist, das Rezept in einem PR zu ändern, nicht still ein besseres privates auszuführen — eine private Verbesserung schützt genau eine Person und lässt die CI und alle anderen auf dem alten Befehl.

Verwenden

Die Karte ist Daten. Klonen Sie das Repository und importieren Sie sie über den Pfad — was über das Netz kommt, gilt als kontaminiert und wird bis zur Freigabe zurückgehalten. Das ist das gewünschte Verhalten und der Grund, warum es hier keinen Einzeiler-Installer gibt.

git clone https://github.com/brcampidelli/chimera-agent.git
chimera skills-import chimera-agent/skills/chimera-run-the-projects-own-gate-command/SKILL.md

Integrität

SHA-256 der Datei in der veröffentlichten Fassung. Wer sie importiert, kann prüfen, dass das Empfangene dem entspricht, was diese Seite gezeigt hat.

12e60e2bbe0fa29b4a242ec429a1897741266f43812148c3a55356f77de227b9

Die Karte im Repository lesen