Skip to content

CI Failure DoctorCI Failure - Per-Class Coverage Gate - Run #22870173052 #4325

Description

@github-actions

Failure Details

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 in ExecutableNormalizedOperationFactoryTest to restore coverage.
  • Option B: Update test-baseline.json to accept the new lower coverage baseline for QueryDirectivesImpl and ExecutableNormalizedOperationFactory (acceptable if the 4-arg method is considered a trivial convenience wrapper).
  • Optionally: The QueryDirectivesImpl false 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions