Skip to content

chore: bump async-test-lib 1.7.0-RC1 -> 1.7.0-RC4 - #50

Merged
PIsberg merged 1 commit into
mainfrom
chore/async-test-lib-1.7.0-RC4
Aug 1, 2026
Merged

chore: bump async-test-lib 1.7.0-RC1 -> 1.7.0-RC4#50
PIsberg merged 1 commit into
mainfrom
chore/async-test-lib-1.7.0-RC4

Conversation

@PIsberg

@PIsberg PIsberg commented Aug 1, 2026

Copy link
Copy Markdown
Owner

Why

RC1 shipped three detectors that never ran. LatchMisuseDetector, ExecutorDeadlockDetector and FutureBlockingDetector had full implementations and passing unit tests, but no DetectorType constant, no registry field and no accessor — nothing constructed them during a real @AsyncTest, so their findings could not reach a report. Upstream's own changelog puts it plainly: "the green test suite made them look shipped."

RC4 wires all three and brings the verified detector count to 127.

RC4 also fixes the third-party Detector SPI, which previously ran nowhere: a detector supplied through META-INF/services was "discovered by nobody", and its violations reached neither the reports nor the failOn gate.

The reason this matters here rather than being a routine bump: neither failure is visible from the consumer side. A detector that never fires and a detector that finds nothing produce the same green run. ConcurrencySafetyTest has been passing on RC1 while three of the detectors it nominally enables were dead code.

Verification

./gradlew test — all eight @AsyncTest rounds pass unchanged on RC4:

contextBundleIsSafelyPublishedAndImmutable        8 threads x 100  PASSED
skillSpectorReportSharesObjectMapperSafely        8 threads x 100  PASSED
skillSpectorRunnerManagesProcessResourcesCleanly  4 threads x 10   PASSED
authorityScorerScoresConcurrently                 8 threads x 100  PASSED
skillMdRenderUsesStaticPatternsThreadSafely       8 threads x 100  PASSED
cutoffResolverReadsStaticTableConcurrently        8 threads x 100  PASSED
nameSanitizerIsStatelessUnderConcurrency          8 threads x 100  PASSED
parallelRetrievalIsConsistentUnderConcurrency     6 threads x 50   PASSED

Same result, but now with the full detector set actually reaching the runner.

🤖 Generated with Claude Code

https://claude.ai/code/session_0153QiTQsRQEikh9pHa5zrpC

RC1 shipped three detectors that were never wired into a real @AsyncTest run —
LatchMisuseDetector, ExecutorDeadlockDetector and FutureBlockingDetector had full
implementations, passing unit tests, and no DetectorType constant, registry field or
accessor. Nothing constructed them, so their findings could not reach a report.
RC4 wires all three and brings the detector count to 127.

RC4 also fixes the third-party Detector SPI, which previously ran nowhere: a detector
supplied via META-INF/services was discovered by nobody and its violations reached
neither the reports nor the failOn gate.

Neither of those is visible from here as a failure — a detector that never fires and a
detector that finds nothing produce the same green run. That is the reason to move.

ConcurrencySafetyTest passes unchanged on RC4: all eight @AsyncTest rounds green.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0153QiTQsRQEikh9pHa5zrpC
@PIsberg
PIsberg merged commit 9e5af83 into main Aug 1, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant