Agent setup for ignite-firefighter

Скачайте проект ignite-firefighter на машину агента и откройте рабочую сессию в корне репозитория:

git clone https://gitverse.ru/dpavlov/ignite-firefighter.git
cd ignite-firefighter

Проверьте, что доступны Java 17 и Gradle. Затем соберите локальный agent-friendly дистрибутив:

gradle installDist --no-daemon

После сборки CLI должен лежать прямо в work:

work/ignff
work/ignff.bat
work/ignff.jar

На Windows используйте:

.\work\ignff.bat tools --format json

На Linux/macOS используйте:

./work/ignff tools --format json

Agent mode

Агент должен работать из корня репозитория, где лежит AGENTS.md. Этот файл задает режим работы: первый проход только inventory, без root cause conclusions, без Apache Ignite runtime dependency, с bounded чтением больших файлов и с классификацией по content sniffing.

Перед анализом инцидента агент должен получить машинный контракт команд:

.\work\ignff.bat tools --format json

Поле implemented показывает, какие команды реально доступны. Поле parallelSafe показывает, какие анализаторы можно запускать параллельно по разным файлам.

First pass analysis

Для полного первого прохода используйте report:

.\work\ignff.bat report <incident-dir> --out-dir <incident-dir>\ignff-report --format both

Эта команда делает inventory scan, local tool discovery, запускает поддержанные анализаторы параллельно и пишет связанный Markdown/HTML bundle.

Если нужен только базовый inventory report:

.\work\ignff.bat scan <incident-dir> --out <incident-dir>\ignff-report.md

После scan агент должен прочитать отчет, выбрать интересные артефакты, снова свериться с tools --format json и запускать только реализованные независимые анализаторы. Примеры:

.\work\ignff.bat analyze-log <ignite-log> --format json
.\work\ignff.bat analyze-gc <gc-log> --format json
.\work\ignff.bat analyze-thread-dump <thread-dump-or-log> --format json
.\work\ignff.bat analyze-jfr <recording.jfr> --format json
.\work\ignff.bat analyze-nmon <nmon-file> --format json
.\work\ignff.bat analyze-heap-dump <dump.hprof> --format json --no-mat

Сводить результаты нужно только после завершения независимых разборов. Первый проход остается инвентаризационным: он собирает факты и ссылки на evidence, но не делает выводы о root cause.