Аудит модели памяти Java (JMM)

testing

audit-jmm — это скилл для Claude Code, который проводит аудит модели памяти Java (JMM) для всех полей кэша, доступ к которым осуществляется через VarHandle, Unsafe или объявленных volatile. Для каждого поля скилл фиксирует его тип и режим доступа, перечисляет все операции чтения и записи с указанием метода, строки и удерживаемых блокировок, а затем проверяет наличие happens-before гарантий для каждой пары (запись, чтение). Особое внимание уделяется специфическим областям: кодирование writeTime (флаг обновления + временна́я метка), достаточность opaque-доступа для accessTime, видимость полей объекта при чтении key/value, а также корреляция policyWeight и weight. Для каждой найденной проблемы скилл формулирует конкретный сценарий выполнения двух потоков и верифицирует его законность по JMM — с акцентом на платформу aarch64, где модель памяти слабее TSO и проявляются ошибки, невидимые на x86.