Аудит завершения работы кэша Caffeine
testing
audit-lifecycle is a Claude Code skill that analyzes correctness of shutdown, close, and garbage collection for a Caffeine cache instance. Running in auditor mode with model invocation disabled, it systematically checks eight defect categories: races between get/put/compute and cleanUp() or close(), GC leaks caused by scheduled futures, reference cycles between the cache and its executor, RejectedExecutionException handling, removal-listener notifications dropped during shutdown, in-flight CacheLoader.load() calls and refresh whenComplete callbacks after close, idempotency of repeated close() calls, and symmetric JCache/OSGi teardown with correct classloader context. Each finding must include the specific lifecycle transition, a concrete reproducing scenario, and the observable incorrect behavior. If no defects are found, the skill requires re-examining scheduler and executor lifecycle and explaining precisely why no race condition is possible.
- #lifecycle
- #shutdown
- #executor-lifecycle
- #scheduler
- #cleanup
- #concurrency