-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
Failure Details
- Run: 22870173052
- Commit: 0752dc1
- PR: This adds support for QueryAppliedDirective on operations and documents #4297 — "This adds support for QueryAppliedDirective on operations and documents"
- Branch:
extract-out-operation-directives
Failed Jobs and Errors
Only one job failed: Per-Class Coverage Gate
All build and test jobs passed (5702 tests passing across Java 11/17/21/25 + jcstress).
The coverage gate reported regressions in two classes:
1. graphql.execution.directives.QueryDirectivesImpl — Line: −0.4%, Branch: −5.0%, Method: −0.7%
This PR extracts two private methods (toAppliedDirective and toAppliedArgument) from QueryDirectivesImpl into DirectivesResolver as public methods. These extracted methods were fully covered. Removing fully-covered code from a class that isn't at 100% raises the proportion of missed items, causing a percentage drop even though no coverage was actually lost.
Math: Baseline was 82/84 lines = 97.6%. After removing ~10 covered lines, it becomes 72/74 = 97.3%. The 2 missed lines stay the same but now represent a larger fraction.
Verdict: False positive — mathematical artifact of refactoring.
2. graphql.normalized.ExecutableNormalizedOperationFactory — Line: −8.0%, Method: −12.5%
The 4-argument convenience overload createExecutableNormalizedOperation(schema, operationDefinition, fragments, coercedVars) (lines ~311–320) lost its only caller. This PR changes ExecutionContext.mkExecutableNormalizedOperation() to call the 5-arg overload with Options (passing graphQLContext and locale). The 4-arg method is now dead from a test coverage perspective.
Verdict: Real gap — a trivial one-line delegator method lost its only calling path.
Root Cause
The coverage gate correctly flagged that ExecutableNormalizedOperationFactory's 4-arg overload is no longer exercised by any test path. The QueryDirectivesImpl regression is a false positive caused by code extraction.
Recommended Fix
- Option A (preferred): Add a unit test directly calling the 4-arg
createExecutableNormalizedOperation(schema, operationDefinition, fragments, coercedVars)overload inExecutableNormalizedOperationFactoryTestto restore coverage. - Option B: Update
test-baseline.jsonto accept the new lower coverage baseline forQueryDirectivesImplandExecutableNormalizedOperationFactory(acceptable if the 4-arg method is considered a trivial convenience wrapper). - Optionally: The
QueryDirectivesImplfalse positive could be addressed by updating the baseline, since no actual test coverage was lost.
Note: A detailed analysis was already posted to PR #4297 by
@andimarek.
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.