Аудит безопасности исключений в кэше Caffeine

testing

audit-exception-safety — это скилл для Claude Code, который проводит аудит безопасности исключений и атомарности отказов во всех точках выброса исключений в кэше Caffeine. Скилл работает в режиме агента-аудитора без вызова модели и анализирует восемь категорий throw-сайтов: пользовательский код (CacheLoader, Weigher, Expiry, mapping-функции, RemovalListener/EvictionListener) и runtime-ошибки (OutOfMemoryError, StackOverflowError, RejectedExecutionException). Для каждой точки выброса он перечисляет уже зафиксированные мутации, проверяет, откатывает ли catch-блок изменения или коммитит их, и ищет конкретные классы дефектов: phantom entries, orphaned WeakReference, дрейф weightedSize, потерянные уведомления, незавершённые CompletableFuture и застрявшие refresh-флаги. Особый приоритет — паттерн catch-commit-rethrow в doComputeIfAbsent и remap как исторически наиболее хрупкий. В JCache-адаптере дополнительно трассируются CacheWriter, EntryProcessor, ExpiryPolicy и Copier при сбоях сериализации в store-by-value режиме.