X Tutup
Skip to content

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

@github-actions

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.

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

      X Tutup