extract-fuzzer-repro
Extract a Noir reproduction project from fuzzer failure logs in GitHub Actions. Use when a CI fuzzer test fails and you need to create a local reproduction.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Extract a Noir reproduction project from fuzzer failure logs in GitHub Actions. Use when a CI fuzzer test fails and you need to create a local reproduction.
How to use
Przejdź do uruchomienia GitHub Actions, które zawiera nieudany test fuzzer, i skopiuj adres URL strony zadania. Adres ma format: https://github.com/noir-lang/noir/actions/runs/RUN_ID/job/JOB_ID — wyodrębnij z niego JOB_ID.
Pobierz logi zadania za pomocą GitHub CLI, uruchamiając polecenie z JOB_ID z poprzedniego kroku. Logi zostaną zapisane do pliku tekstowego, który będziesz analizować.
Przeszukaj logi w poszukiwaniu sekcji AST zawierającej wygenerowany kod Noir. Szukaj linii zaczynających się od "unconstrained fn main" lub "fn main" — to będzie kod źródłowy do odtworzenia. Zwróć uwagę na sekcję "ABI Inputs" poniżej kodu, która zawiera wartości testowe.
Sprawdź logi pod kątem specjalnych flag kompilatora wymaganych do odtworzenia błędu, takich jak "-Zenums" dla wyrażeń match lub flagi optymalizacyjne. Zanotuj wszystkie flagi wymienione w logach — będą potrzebne do uruchomienia projektu.
Utwórz nowy projekt Noir za pomocą nargo, a następnie skopiuj wyodrębniony kod AST do pliku src/main.nr. Utwórz plik Prover.toml i wpisz tam wartości ABI Inputs z logów.
Uruchom projekt lokalnie za pomocą nargo execute, dołączając wszystkie flagi kompilatora zanotowane w kroku 4. Jeśli błąd się powtórzy, odtworzenie jest udane i możesz zacząć debugowanie.