debug-fuzzer-failure
End-to-end workflow for debugging SSA fuzzer failures from CI. Extracts a reproduction case from GitHub Actions logs, then bisects SSA passes to identify the bug. Use when a `pass_vs_prev` or similar fuzzer test fails in CI.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
End-to-end workflow for debugging SSA fuzzer failures from CI. Extracts a reproduction case from GitHub Actions logs, then bisects SSA passes to identify the bug. Use when a pass_vs_prev or similar fuzzer test fails in CI.
How to use
Przygotuj link do GitHub Actions job'a, w którym fuzzer
pass_vs_prevlub podobny test się nie powiódł. Link powinien mieć formathttps://github.com/noir-lang/noir/actions/runs/[ID]/job/[JOB_ID].Uruchom skill z adresem URL job'a jako wejście. Skill automatycznie pobierze logi z GitHub Actions i wyodrębni projekt Noir, który spowodował błąd.
Zweryfikuj, że przypadek reprodukcji działa lokalnie — powinieneś otrzymać katalog zawierający
src/main.nr(wygenerowany program) iProver.toml(wartości wejściowe, które wyzwalają błąd).Użyj sub-skill'u
bisect-ssa-pass, aby przeszukać SSA passes i znaleźć dokładnie ten, który narusza semantykę. Skill będzie testować poszczególne passes, aż do zidentyfikowania winnego.Przeanalizuj znaleziony pass i napraw bug w kodzie kompilera. Skill dostarcza wystarczających informacji, aby zrozumieć, które transformacje SSA powodują problem.
Jeśli błąd pochodzi z fuzzerów innych niż
pass_vs_prev, sprawdź nazwę testu w logach (formattargets::u003cfuzzer_typeu003e::tests::fuzz_with_arbtest) i skonsultuj się z zespołem, ponieważ workflow może wymagać innego podejścia.