AX Code holen · KostenlosDokumentation

Diese Seite ist eine Übersetzung der englischen Dokumentation. Befehle, Bezeichner und Beispiele bleiben unverändert. Runtime 7.24.4 · SDK 2.6.7. Englische Fassung

Zusicherung von Zielen

Status: Aktuell Geltungsbereich: Prüfungen der Zielannahme und Aktualität der Quelle Zuletzt geprüft: 2026-09-14 Verantwortlich: Betreuende der Laufzeit von AX Code

Pläne für Codeänderungen, die der Zielplaner erzeugt, erklären ausführbare Annahmekontrollen. Jede Prüfung nennt das Ergebnis, das sie abdeckt, ihren genauen Befehl, ihren Zweck und die vorgesehene Umgebung. AX Code zeichnet Ausführungsnachweise auf, wenn der Agent verify_project mit der Kennung goalCheck der Prüfung ausführt.

{ "goalCheck": "invoice-parity" }

Der Befehl kommt aus dem eingefrorenen Zielplan. Der Agent kann ihn über diesen Aufruf nicht durch einen anderen Befehl ersetzen. Bestehende Bash-Berechtigungen gelten weiterhin. Das Ziel abzuschließen verlangt, dass der jüngste Versuch jeder erklärten Prüfung besteht, mit passendem Ziel, passender Sitzung, passendem Arbeitsbereich, passendem Vertrag und passendem Quellinhalt. Prosa zur Annahme erklärt das Ergebnis; sie ersetzt ausgeführte Prüfungen nicht. Gewöhnliche Shell-Läufe und Prüfungen, die vollständig übersprungen wurden, können diesen Nachweis nicht liefern.

Alte Zielpläne ohne Zusicherung behalten ihre früheren Abschlussregeln. Löschen Sie ein altes Ziel und legen Sie es neu an, wenn Sie den neuen Vertrag brauchen; die eingefrorenen Anforderungen an Ort und Stelle zu bearbeiten verursacht eine Vertragsabweichung. Ein Fork bewahrt den Vertrag, verlangt aber neue Prüfläufe in der neuen Sitzung.

Ein Migrationsprojekt vorbereiten

Stellen Sie maßgebliche Altquellen oder Exporte mit Revisionskennungen bereit, ein begrenztes Abdeckungsinventar und Prüfskripte, die fehlschlagen, wenn Zusicherungen nicht geprüft werden können. Behandeln Sie Kommentare und frühere Migrationsumsetzungen als Spuren, die untersucht werden müssen. Zeichnen Sie genehmigte Verhaltensänderungen getrennt von Anforderungen an die Gleichwertigkeit mit dem Altsystem auf.

Wählen Sie Prüfungen für die Schichten, die die angeforderte Änderung tatsächlich betrifft:

Schicht Was eine Projektprüfung zusichern soll
Geschäftsablauf Dieselben Eingaben, Rollen und Ausgangsdaten erzeugen die geforderten Ausgaben und Nebenwirkungen.
Datenbanklogik Erforderliche Objekte, Trigger, Prozeduren und Aufträge existieren und zeigen das erwartete Verhalten.
Schema und Daten Zuordnungen, Einschränkungen, Voreinstellungen und Abgleichsregeln gelten; Zeilenzahlen allein reichen nicht.
Konfiguration Relevante Konfigurationszweige üben das beabsichtigte Verhalten aus.
Bereitstellung Die beabsichtigte Instanz, das Schema, die Revision des Artefakts und die wirksame Konfiguration sind tatsächlich aktiv.

Skripte müssen die Zielidentität zusichern, bevor sie ihre Prüfungen ausführen. Bewahren Sie Zugangsdaten im bestehenden Mechanismus des Projekts auf, niemals im Plantext, in Befehlen oder in Zielbeschreibungen. Eine Prüfung sollte bei einer fehlgeschlagenen Zusicherung, einer fehlenden Umgebung oder einer übersprungenen erforderlichen Zusicherung einen Exit-Code ungleich null liefern. Vermeiden Sie Hüllen, die Fehlschläge verdecken. AX Code kann aus einem erfolgreichen Prozessende keine Zusicherungen ableiten.

Organisieren Sie große Migrationen in begrenzte Chargen nach Geschäftsablauf und pflegen Sie ein Inventar, das Formulare, Abhängigkeiten, Altverweise und Annahmeprüfungen verknüpft. Berichten Sie sowohl die angenommene Charge als auch die verbleibende Abdeckung. Eine bestandene Charge schließt die gesamte Migration nicht ab.

Was ein Plan aufzeichnet

Der Planer liefert ein Objekt assurance. Dieses erläuternde Fragment setzt voraus, dass das Projekt den genannten Quellenexport und das Prüfskript hat:

{
  "version": 1,
  "sourcePaths": ["src", "checks", "package.json"],
  "sources": [
    { "role": "legacy", "reference": "legacy/invoice-schema.sql at export-v1" },
    { "role": "requirement", "reference": "Invoice acceptance criteria supplied by the user" }
  ],
  "checks": [
    {
      "id": "invoice-parity",
      "acceptanceIds": ["AC1"],
      "command": "node checks/invoice-parity.cjs",
      "purpose": "Assert invoice behavior, database mappings and target identity",
      "environment": "Staging migration target, schema ERP"
    }
  ]
}

Alle Annahmekennungen müssen abgedeckt sein. Befehle werden vom Stamm des Arbeitsbereichs ausgeführt. Das Zusicherungsobjekt wird mit dem Annahmevertrag eingefroren. Der Agent erhält geprüften Umfang, Quellverweise, Prüfkennungen und erklärte Ziele in seinem fortlaufenden Zielkontext. Fehlende oder veränderte Verträge erzeugen einen Hinweis zur Wiederherstellung. Erzeugte Gesprächszusammenfassungen bleiben fehlbar; erklärte Verweise und Zielbeschriftungen sind Anforderungen, keine unabhängig beobachteten Tatsachen.

Git-Bereiche, die messen, was dieses Ziel geändert hat, müssen {BASELINE} als Zustand davor verwenden. Der Planer schreibt diesen Platzhalter in den HEAD-SHA um, der erfasst wird, wenn der Plan eingereicht wird, damit bereits vorhandene Commits vor origin/main oder ein unsauberer Arbeitsbaum das Ziel nicht unabschließbar machen. Verweise auf entfernte Nachverfolgung (origin/main, @{u}, refs/remotes/…) werden als dieser Zustand davor abgelehnt, sofern das Ziel die Gegenstelle nicht nennt. Zeichnen Sie bereits auseinandergelaufene oder unsaubere Pfade unter Risiken auf; frieren Sie keine sperrende Prüfung ein, die bereits fehlschlägt, sofern das Ziel nicht darin besteht, genau diesen Fehlschlag zu beheben.

Aktualität und Grenzen

Fingerabdrücke von Git-Quellen umfassen die tatsächlichen Bytes verfolgter und nicht ignorierter, nicht verfolgter Dateien innerhalb der erklärten sourcePaths. Ausdrückliche Dateipfade schließen auch ignorierte Konfigurationsdateien ein; Verzeichnispfade behalten die Ignorierregeln von Git. Veränderliche Checklisten des Zielplans sind ausgeschlossen; ihre eingefrorenen Anforderungen werden über den Vertragsdigest geprüft. Projekte ohne Git bilden rekursiv Fingerabdrücke der erklärten sourcePaths, einschließlich fehlender Pfade. Nehmen Sie jede relevante Quelle, jede Konfigurationsdatei und jedes Prüfskript in diesen Umfang auf.

Die Fingerabdrücke sind auf 20,000 Einträge und 128 MiB Dateiinhalt begrenzt. Verknüpfte Quellen, verschachtelte Git-Repositorys, besondere Dateien, ausbrechende Pfade, sich ändernde Dateien und nicht verfügbare Lesevorgänge können keine frischen Nachweise erzeugen. Solche Fehlschläge blockieren einen zugesicherten Abschluss. Artefakte der Prüfausgabe sollten an einen ignorierten Ort gehen, damit ein Bericht die geprüfte Quelle nicht verändert.

Ignorierte Dateien, die nicht ausdrücklich genannt sind, Abhängigkeiten außerhalb des Quellumfangs, Datenbanken und Bereitstellungen brauchen Zusicherungen im Projektbefehl. Ein Beleg zeichnet eine Beobachtung zu ihrem Ausführungszeitpunkt auf; er beweist nicht, dass ein externer Zustand unverändert geblieben ist. Führen Sie betroffene Prüfungen erneut aus, nachdem Sie Konfiguration, Datenbanken oder Bereitstellungen geändert haben. AX Code entdeckt nicht automatisch alles Altverhalten und bescheinigt keine Gleichwertigkeit der Migration.

Wann die Planung läuft

Die Planung ist auf beiden Oberflächen optional. /goal <objective> und create_goal ohne assure starten das Ziel sofort: Es trägt keine eingefrorenen Annahmekriterien, und der Abschluss wird nach dem Arbeitsplan (ausstehende Todos) plus einer bestehenden Prüfung nach der letzten Änderung beurteilt. /goal --assure <objective> und create_goal mit assure: true führen zuerst den Planschreiber aus. Das macht die unten genannten Belege ausgeführter Prüfungen zu einer Abschlussanforderung.

Ein Ziel ohne Vertrag sagt das überall, wo es gezeigt wird (/goal view, der Zieldialog, die Steuerungsmeldungen), sodass Sie seine Abschlussschranke nie erschließen müssen. /goal replace behält die Zusicherung, wenn das ersetzte Ziel einen gültigen Vertrag hat.

Planungskontext und Modellauswahl

Die Zielplanung erbt das gewählte Sitzungsmodell sowohl über /goal als auch über das Werkzeug create_goal. Verträgliche Varianten des Aufrufers bleiben erhalten. Der nur lesende Schreiber erhält jüngere ursprüngliche Benutzeranforderungen und Verweise auf Anhänge, mit einem Budget von 16 KiB je Aufzeichnung. Eine zu große Aufzeichnung stoppt die Aufnahme älterer Aufzeichnungen, mit einem Hinweis, damit ältere Anforderungen eine ausgelassene Korrektur nicht still ersetzen; eingebettete Medieninhalte gelten nicht als geprüfte Nachweise. Stellen Sie einsehbare Quelldateien für Anforderungen bereit, die nur in Medien vorliegen.

Fortschritt und Blocker

get_goal enthält den aktuellen Prüfstatus (bestanden, fehlgeschlagen, veraltet, laufend oder fehlend) und jüngere Kennungen von Werkzeugnachweisen. Die Abschlussschranke verlangt weiterhin aktuelle erfolgreiche Belege. Eine blockierte Aktualisierung verlangt eine Art des Blockers, einen Grund, die erforderliche externe Änderung, ursprüngliche Nachweis-Kennungen und die Bestätigung, dass keine unabhängige Arbeit bleibt. Gründe für Blocker sind Erklärungen des Modells, gestützt auf einsehbare Aufzeichnungen, keine Bescheinigung, dass ein externer Dienst unerreichbar bleibt.

Abgeschlossene Züge, die wiederholt keine neuen erfolgreichen Werkzeugnachweise erzeugen, erhalten eine Anleitung zur Wiederherstellung und pausieren dann das Ziel, wobei unfertige Arbeit offengelegt wird. Neue Forschungsergebnisse können zählen, ohne Quellbearbeitungen; Umschreiben von Todos und wiederholte identische Ergebnisse zählen nicht. Das ist eine begrenzte Heuristik, kein Beweis semantischen Fortschritts. /goal resume startet einen weiteren Versuch. Werkzeugaufrufe, die für ein früheres Ziel erzeugt wurden, können dessen Ersatz nicht beenden. Ein vom Werkzeug erzeugtes Ziel steht Statusaktualisierungen zur Verfügung, nachdem das Modell das Ergebnis der Erzeugung im nächsten Schritt erhalten hat.

Einen bestehenden Plan überarbeiten

Verwenden Sie /goal revise <correction>, um ein aktives, pausiertes oder blockiertes eingefrorenes Ziel ausdrücklich zu überarbeiten. Abgeschlossene Arbeit und ausgeschöpfte Budgets verlangen ein neues Ziel. Der vorherige Plan und der Digest bleiben unversehrt. Der überarbeitete Plan erhält eine neue Identität und eine lokale vorbereitete Revisionsaufzeichnung, die beide Digests und die Korrektur verknüpft. Die aktuelle Zielidentität bestimmt, welcher Kandidat tatsächlich installiert wurde; fehlgeschlagene gleichzeitige Kandidaten können zur Prüfung auf dem Datenträger bleiben. Alte Belege bleiben in der Historie und können die neue Revision nicht erfüllen. Token-Budget und aufgelaufene Nutzung werden übernommen; die Überarbeitung gewährt kein frisches Ausgabebudget.

Die Überarbeitung bricht den aktuellen Lauf ab und pausiert das Ziel, während der neue Plan vorbereitet wird. Scheitert die Planung, bleibt der vorherige Vertrag fortsetzbar; ein zuvor blockiertes Ziel behält diesen Status. Eine Pause oder ein Abbruch durch den Benutzer während der Planung verhindert die Aktivierung. Ein gleichzeitiger Ersatz verhindert, dass der Kandidat übernimmt. Modellwerkzeuge können eingefrorene Anforderungen nicht still überarbeiten. Prüfen Sie den entstandenen Plan und seine Annahmekriterien; ein ausführbarer Befehl allein belegt nicht, dass seine Zusicherungen die korrigierte Anfrage abdecken.

Prüfungsergebnisse und spätere Quelländerungen

Ein nicht leeres Prüfungsprotokoll belegt keine erfolgreiche Prüfung. Verwenden Sie für erforderliche externe Prüfende eine projekteigene Prüfung, die den tatsächlichen Exit-Code, den Abschluss im Terminal, die Identität von Quelle oder Diff und die endgültigen Befunde oder ein ausdrückliches Urteil ohne Befunde validiert. Protokolle nur mit Warnungen, teilweises Reasoning und Zeitüberschreitungen müssen fehlschlagen. Halten Sie fehlgeschlagene Versuche für die Diagnose getrennt fest.

Neue Einreichungen von Codeänderungen lehnen erkannte einfache Prüfungen auf Dateivorhandensein und Inspektion ab. Das ist eine enge Zulassungsschranke, kein semantischer Beweis beliebiger Shell- Befehle. Bestehende eingefrorene Verträge behalten ihr Schema und ihren Digest; Prüfpunkte warnen, wenn eine ältere Prüfung diese Schwäche hat.

Die Aktualität der Zielprüfung bildet außerdem Fingerabdrücke aufgelöster Dateipfade, die erfolgreiche dateibearbeitende Werkzeuge während des aktuellen Ziels melden, einschließlich jedes Ergebnisses multiedit und von Pfaden, die in der ursprünglichen Quellenliste fehlen. Spätere Bearbeitungen dieser Dateien machen frühere Belege ungültig. Vertrag und Digest bleiben unverändert eingefroren. Diese Verfolgung nutzt Metadaten der Dateiwerkzeug-Ergebnisse; sie leitet keine beliebigen Nebenwirkungen der Shell und keine Testabdeckung ab. Bestehende Grenzen für die Eingrenzung des Dateisystems, für Verknüpfungen, Größe und Dateizahl gelten weiterhin.

Ausgabe der Prüfung und Ziel-Prüfpunkte legen zusätzliche Pfade offen. Wenn ein eingefrorener Testbefehl nötige Regressionen auslässt, fordern Sie /goal revise <correction> an und führen die überarbeiteten Prüfungen aus. Eine Datei in einem Fingerabdruck zu haben beweist Aktualität, nicht dass ein Test diese Datei ausgeübt hat. Bevorzugen Sie begrenzte Quellverzeichnisse und Testbefehle, die neue Regressionen einschließen, wenn Sie eine offene Fehlersuche planen.

Aliase des Arbeitsbereichs werden für beobachtete Dateipfade normalisiert. Externe Entwurfsdateien werden keine Quelleneingaben des Arbeitsbereichs; Prüfpunkte legen offen, dass externer Inhalt keinen Fingerabdruck erhält. Erforderlicher externer Zustand braucht weiterhin eine projekteigene Prüfung.

Nachweise zum Commit-Umfang

Ein nicht leeres git log <baseline>..HEAD -- <paths> beweist nur, dass ein Commit zum Filter passt. Es schließt weder unabhängige Dateien in diesem Commit noch andere Commits aus. Neue Pläne für Codeänderungen lehnen erkannte eigenständige, nicht leere und nach Pfad gefilterte Git-Log-Zusicherungen ab; ältere eingefrorene Prüfungen erhalten eine Anleitung zur Überarbeitung, ohne dass sich ihr Digest oder die Prüfung beim Lesen ändert.

Verwenden Sie einen projekteigenen Prüfer, der die Abstammung von der Basis prüft, einen nicht leeren Bereich verlangt und jeden geänderten Pfad in jedem Commit ohne Pfadfilter untersucht. Schließen Sie gelöschte Dateien und beide Seiten von Umbenennungen ein, behandeln Sie Merge-Commits ausdrücklich und prüfen Sie erforderliche Eigenschaften von Branch oder Nachricht getrennt. Verwenden Sie /goal revise, um einen bestehenden Vertrag zu verstärken; bearbeiten Sie eingefrorene Anforderungen nicht.

Plangröße und vollständiges erneutes Einreichen

Der dargestellte Plan, einschließlich Markdown und JSON der Zusicherung, muss in 8,192 UTF-8-Byte passen. Zielen Sie auf unter 7,168 Byte. Überschreitet die Einreichung die Obergrenze, kürzen Sie wiederholte Prosa und reichen Sie das vollständige Objekt erneut ein, einschließlich kind und aller erforderlichen Felder. Bewahren Sie Annahmekennungen und Prüfungen; die Laufzeit kürzt Anforderungen nicht und hebt die Lesergrenze nicht an, um einen zu großen Plan anzunehmen.

Belege für die Prüfung der lokalen CLI-Animation

Die dem Repository gehörende Prüfung packages/ax-code/script/verify-cli-review-receipts.ts prüft Artefakte round-* unter der Belegwurzel, die mit --root gewählt wird. Jede Runde braucht revision.txt, und jedes von grok, claude und codex braucht exit.txt mit 0 und einem endgültigen Urteil in stdout.jsonl (Textereignisse von Grok) oder stdout.txt (Claude/Codex). Bewahren Sie fehlgeschlagene Versuche außerhalb abgeschlossener Rundenverzeichnisse auf; verwandeln Sie Fehlschläge nicht in Belege mit Exit-Code null.

dispositions.json enthält ein Array findings. Jeder Eintrag nennt round, cli, id, status (fixed oder rejected) und ein nicht leeres evidence. Einträge mit dem Status behoben verlangen zusätzlich ein Objekt regression mit einem wörtlichen Repository- Pfad file unter packages/ax-code/test/cli/tui/ und dem genauen Vitest- fullName. Doppelte Dispositionen oder mehrdeutige mehrere Urteile schlagen fehl.

Der Prüfer führt diese Dateien mit dem installierten Vitest aus, wobei die globale Wiederholung standardmäßig auf null steht (einzelne Testoptionen dürfen diese Voreinstellung überschreiben), und prüft danach, dass jede genannte Zusicherung genau einmal bestanden hat. Fehlende, übersprungene, fehlgeschlagene oder mehrdeutige Zusicherungen lassen die Prüfung scheitern. Das beweist, dass diese genannten Tests bestanden haben, nicht dass ihre Zusicherungen den Befund semantisch abdecken. Abgelehnte Dispositionen bleiben aufgezeichnete Urteile. Eine letzte Runde muss zum aktuellen HEAD passen; als behoben gekennzeichnete Befunde verlangen eine neuere Revision und eine Prüfungsrunde. Nicht committete Quellen, Tests oder Konfigurationsänderungen des Kernpakets verhindern die Prüfung. Halten Sie die unabhängige lokale Konfiguration ax-code.json aus Commits heraus.

Für dieses Repository bewahrt vitest run --dir test/cli/tui die Ausschlüsse der normalen Spur und durchsucht das TUI-Verzeichnis. Gruppenläufer dürfen weiterhin genaue Dateien mit AX_TEST_FILES wählen; die Verzeichniswahl schaltet Ausschlüsse nicht ab.