with one click
audit-jmm
Java Memory Model audit of all VarHandle/volatile field access modes
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Java Memory Model audit of all VarHandle/volatile field access modes
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Audit the adaptive window hill-climber and region-resize logic for implementation defects (not algorithm quality)
JSR-107 (JCache) spec-conformance audit
Audit explicit state machines (drain status, node lifecycle, async-value lifecycle) for illegal or missed transitions
Heavyweight history-mining bug audit. Walks the caffeine module's git history chronologically (oldest to HEAD), maintains a forward-tracked issue database, and surfaces concerns introduced by past commits that were never resolved. Catches bugs that snapshot mining cannot โ half-fixes invisible from current state, latent+trigger pairs across multi-commit interactions, and partial refactors. Slow (model/effort-dependent; ~24h on Opus + max effort) and rare-run (every several months or before a major release).
Differential audit comparing matched code paths that should behave identically. Spawns one auditor per sibling pair (sync/async, bounded/unbounded, view consistency, bulk vs single, generated node variants, read fast vs slow, adapter conformance) and requires a concrete witness scenario where the two paths diverge observably.
Find places where documented API contracts and the implementation diverge
| name | audit-jmm |
| description | Java Memory Model audit of all VarHandle/volatile field access modes |
| context | fork |
| agent | auditor |
| disable-model-invocation | true |
Perform a Java Memory Model audit of the cache.
For every field accessed via VarHandle or Unsafe, and for every field declared volatile or accessed under synchronization:
Specific areas to examine:
For each issue:
Do not report issues that only affect performance. Do not report deliberately racy patterns with documented stale-read tolerance.
Platform focus: Pay specific attention to aarch64 (ARM) memory ordering. ARM's weaker-than-TSO model exposes reordering bugs invisible on x86. Historical bug: WeakValueReference.keyReference required setRelease + storeStoreFence (not just setRelease alone) because the field is non-final and aarch64 reorders the field write after reference publication. Check for similar patterns โ non-final fields published via release without a fence.