Test Output Filter Hook — token štednja (PreToolUse Bash)
Test Output Filter Hook (PreToolUse[Bash])
MC #105580 | 2026-07-13 | Token-saving audit
Šta radi
PreToolUse hook ~/.claude/hooks/test-output-filter.py presreće test-runner komande (npm test, npx playwright/jest/vitest, pytest, go test, gradlew/gradle/mvn test) i prepiše ih tako da:
- pass run → zadnjih 15 linija (summary) umjesto punog outputa
- fail run → grep -B2 -A6 oko FAIL/ERROR markera, cap 200 linija
- puni output UVIJEK ostaje na disku (
/tmp/testout-XXXXXX, putanja u poruci) - exit code originalne komande je sačuvan (dokumentovani primjer iz code.claude.com/docs/en/costs ima bug:
cmd | grep FAILvraća grep-ov exit → prolazan run izgleda kao fail; naša verzija hvata rc prije filtriranja)
Kada NE dira komandu
- komanda nije test runner
- komanda već ima pipe/redirect/tee (upravlja svojim outputom)
SKIP_TEST_FILTER=1u env (opt-out)- bilo koja interna greška → fail-open
{}
Ušteda
60–90% tokena po test komandi (Bilko E2E/Gradle outputi su desetine hiljada tokena; filtrirano na stotine).
Wiring
~/.claude/settings.json → PreToolUse → matcher Bash → python3 ~/.claude/hooks/test-output-filter.py (timeout 5s).
Evidence
~/system/evidence/105580/ — E2E test 7/7 (hook-e2e-test.txt): non-test netaknut, piped netaknut, pass rc=0 + ≤20 linija, fail rc=1 + kontekst 302→13 linija.
No comments to display
No comments to display