Failure Details
Failed Jobs and Errors
| Job |
Conclusion |
| buildAndTest (testWithJava21 testngWithJava21, java21, ...) |
❌ failure |
| buildAndTest (testWithJava11 ...) |
⚫ cancelled |
| buildAndTest (testWithJava17 ...) |
⚫ cancelled |
| buildAndTest (test testng jacocoTestReport, java25, ...) |
⚫ cancelled |
| javadoc |
✅ success |
| buildAndTest (check) |
✅ success |
Root Cause
The JSpecifyAnnotationsCheck test has two assertions:
- All @PublicApi/@ExperimentalApi classes must have @NullMarked or @NullUnmarked (unless exempted).
- Classes in the exemption list must NOT be annotated — if a class is both annotated and exempted, the test fails.
PR #4274 added these 10 classes to its exemption list (indicating they hadn't been annotated yet):
graphql.execution.incremental.DeferredExecution
graphql.execution.instrumentation.ChainedInstrumentation
graphql.execution.instrumentation.DocumentAndVariables
graphql.execution.instrumentation.NoContextChainedInstrumentation
graphql.execution.ResponseMapFactory
graphql.execution.instrumentation.SimpleInstrumentation
graphql.execution.instrumentation.SimpleInstrumentationContext
graphql.execution.instrumentation.SimplePerformantInstrumentation
graphql.execution.instrumentation.fieldvalidation.FieldAndArguments
graphql.execution.instrumentation.fieldvalidation.FieldValidationEnvironment
However, all 10 of these classes were already annotated with @NullMarked in master (likely via PRs #4216/#4257 merged 2026-03-21/22). When PR #4274 merged master, the annotation stubs from master came in, but the exemption list was not reconciled.
This causes the second assertion in JSpecifyAnnotationsCheck.groovy to throw:
The following classes are in the JSpecify exemption list but are annotated with @NullMarked or @NullUnmarked: ...
Recommended Fix
- In src/test/groovy/graphql/archunit/JSpecifyAnnotationsCheck.groovy on branch claude/agent-team-jspecify-Frd74, remove these 10 entries from JSPECIFY_EXEMPTION_LIST:
"graphql.execution.incremental.DeferredExecution",
"graphql.execution.instrumentation.ChainedInstrumentation",
"graphql.execution.instrumentation.DocumentAndVariables",
"graphql.execution.instrumentation.NoContextChainedInstrumentation",
"graphql.execution.ResponseMapFactory",
"graphql.execution.instrumentation.SimpleInstrumentation",
"graphql.execution.instrumentation.SimpleInstrumentationContext",
"graphql.execution.instrumentation.SimplePerformantInstrumentation",
"graphql.execution.instrumentation.fieldvalidation.FieldAndArguments",
"graphql.execution.instrumentation.fieldvalidation.FieldValidationEnvironment",
These classes are already annotated in master, so they do not belong in the exemption list.
Generated by CI Failure Doctor
To install this workflow, run gh aw add githubnext/agentics/workflows/ci-doctor.md@ee50a3b7d1d3eb4a8c409ac9409fd61c9a66b0f5. View source at https://github.com/githubnext/agentics/tree/ee50a3b7d1d3eb4a8c409ac9409fd61c9a66b0f5/workflows/ci-doctor.md.
Failure Details
Failed Jobs and Errors
Root Cause
The JSpecifyAnnotationsCheck test has two assertions:
PR #4274 added these 10 classes to its exemption list (indicating they hadn't been annotated yet):
However, all 10 of these classes were already annotated with @NullMarked in master (likely via PRs #4216/#4257 merged 2026-03-21/22). When PR #4274 merged master, the annotation stubs from master came in, but the exemption list was not reconciled.
This causes the second assertion in JSpecifyAnnotationsCheck.groovy to throw:
Recommended Fix
These classes are already annotated in master, so they do not belong in the exemption list.