The hook used --noEmit which is less strict than CI's --build,
causing type errors to slip through.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
PostToolUse hooks run after every file edit:
- Backend: ./mvnw compile (Checkstyle Google Style + javac)
- Frontend: vue-tsc --noEmit + oxlint + ESLint
Stop hook runs test suites when source files changed, blocks the
agent on failure and re-engages it to fix the issue. Output is
filtered to [ERROR] lines only for context efficiency.
Static analysis: Checkstyle (validate phase), SpotBugs (verify phase),
ArchUnit (9 hexagonal architecture rules as JUnit tests).
Fail-fast: Surefire skipAfterFailureCount=1, Vitest bail=1.
Test log noise suppressed via logback-test.xml (WARN level),
redirectTestOutputToFile, and trimStackTrace.
Existing Java sources reformatted to Google Style (2-space indent,
import order, Javadoc on public types).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>