Аудит потокобезопасности подсистем кэша
testing
audit-subsystem-safety is a Claude Code skill that performs targeted concurrency-correctness auditing of a single cache subsystem: eviction, refresh, write-buffer, compute, expiration, references, or read. For every method within the selected scope, it enumerates shared mutable fields with their access modes (plain, opaque, acquire, release, volatile, CAS), records which locks are held at each access point, and evaluates happens-before edges between every write/read pair — noting any conditions they depend on. The skill then attempts to construct concrete 2- or 3-thread interleavings that violate method postconditions, with special focus on node lifecycle transitions (alive → retired → dead). Cross-cutting invariants checked include unidirectional node lifecycle, weightedSize convergence, lock ordering (evictionLock → CHM bin lock → synchronized(node)), and acquire/release semantics on the value field. It targets JVM cache developers hunting data races and JMM violations in specific subsystems.
- #concurrency
- #subsystem-analysis
- #cache-internals
- #lock-ordering
- #auditing