Zum Hauptinhalt springen
ai-slop/hallucinated-importmanuelle Behebung

Halluzinierter Import.

Ein Import eines Packages, das das Projekt nicht deklariert. Oft ein plausibel klingender, vom Modell erfundener Name, der bei der Installation oder zur Laufzeit scheitert.

Beanstandete und saubere Form.

Jedes Beispiel zeigt genau die Codeform, nach der die Regel sucht, und dann die kleinste Version, die die Absicht bewahrt, ohne Risiken zu verstecken oder Rauschen hinzuzufügen.

hallucinated-import.ts
✗ Beanstandet
// package.json declares "zod" and "date-fns", nothing else
import { z } from 'zod'
import { addBusinessDays } from 'date-fns'
import { retryWithBackoff } from 'fetch-retry-utils'
Warum das anschlägt

Deterministische Manifest-Prüfung: löst unqualifizierte JS/TS-Imports gegen package.json (einschließlich Workspaces) und Python-Imports gegen Requirements-Dateien, pyproject.toml oder Pipfile auf und beanstandet nicht deklarierte Packages. Gemeldet mit Schweregrad error.

hallucinated-import.ts
✓ Sauber
// package.json declares "zod", "date-fns" and "p-retry"
import { z } from 'zod'
import { addBusinessDays } from 'date-fns'
import pRetry from 'p-retry'
Was sich geändert hat

Ersetze ihn durch das echte Package oder füge die Abhängigkeit hinzu, falls sie installiert werden sollte. Stellt die Laufzeitumgebung es bereit, trag es unter `imports.provided` ein.

Modelle sagen Package-Namen anhand von Mustern in ihren Trainingsdaten voraus und importieren deshalb Namen, die richtig klingen, aber nicht existieren oder nie ins Manifest aufgenommen wurden.

Wie diese Regel begründet ist.

Regel-ID

ai-slop/hallucinated-import

Prüfende Engine

ai-slop

Erkennungsstrategie

Deterministische Manifest-Prüfung: löst unqualifizierte JS/TS-Imports gegen package.json (einschließlich Workspaces) und Python-Imports gegen Requirements-Dateien, pyproject.toml oder Pipfile auf und beanstandet nicht deklarierte Packages. Gemeldet mit Schweregrad error.

Legitimer Code, der NICHT beanstandet wird

Relative Imports, Node-Built-ins, Pfad-Aliase aus der tsconfig, `@types`-Packages, Python-Standardbibliothek und lokale Module, Imports unter `if TYPE_CHECKING:`, Packages, die in `.aislop/config.yml` unter `imports.provided` stehen, sowie Pfade außerhalb des Produktivcodes werden nicht beanstandet.

Belege

Erschienen in aislop v0.8.0; v0.14.0 erweiterte die Python-Auflösung auf uv-Workspaces.