[hermes] ananke #287: coverage_quality_gate_failure #13

Open
opened 2026-08-25 18:42:58 +00:00 by hermes-automation · 0 comments

Hermes auto-triage classified incident ananke/287 as coverage_quality_gate_failure (confidence 0.64); first failed gate: coverage.

Why a human is needed

The build reached the quality-gate enforcement stage after its Go tests passed, then exited because at least one enforced check was unsuccessful. The available output rules out published test failures and explicitly shows successful SonarQube and supply-chain statuses. Coverage is therefore the strongest candidate, particularly because several packages reported very low or zero coverage. The decisive coverage status and threshold are missing from the truncated console, so a maintainer must confirm them from the retained quality-gate artifact or complete enforcement output. If confirmed, the fix is to add meaningful tests for the uncovered production paths responsible for the threshold miss rather than weakening the required coverage level.

Ariadne did not authorize automated remediation: human_required.

Facts

  • jenkins — Jenkins reported build 287 as FAILURE, with the first failed pipeline stage named "Enforce quality gate". (jenkins.result; jenkins.first_failed_stage)
  • jenkins — The published structured test-failure list is empty, while the console records successful Go test results for every listed package. (jenkins.failed_tests; jenkins.console_failures line 224)
  • jenkins — Several packages had low or zero statement coverage, including internal/execx and internal/metrics at 0.0%, testing/service at 3.7%, internal/service at 55.6%, and internal/cluster at 56.6%. (jenkins.console_failures line 224)
  • jenkins — SonarQube reported parser-process errors for multiple Go files, but the enforcement script later recorded sonar_status=ok. (jenkins.console_failures line 308; jenkins.console_tail)
  • jenkins — The enforcement script recorded supply_status=ok before exiting with status 1. (jenkins.console_tail)
  • opensearch — OpenSearch correlation evidence was unavailable because the request was refused. (log_evidence.error)

Evidence

The earliest failure region of the build console:

tty: true
    volumeMounts:
    - mountPath: "/home/jenkins/agent"
      name: "workspace-volume"
  - command:
    - "cat"
    image: "registry.bstein.dev/bstein/quality-tools:sonar8.0.1-trivy0.70.0-db20260422-arm64"
    name: "quality-tools"
    tty: true
    volumeMounts:
    - mountPath: "/home/jenkins/agent"
      name: "workspace-volume"
  - env:
    - name: "JENKINS_SECRET"
      value: "********"
    - name: "JENKINS_TUNNEL"
      value: "jenkins.jenkins.svc.cluster.local:50000"
    - name: "JENKINS_AGENT_NAME"
      value: "ananke-287-j7jdn-l91cw-swpf2"

Inferences

  • The first enforced failure was most likely the coverage gate: tests completed successfully, no structured test failures were published, and the enforcement script explicitly considered the SonarQube and supply-chain gates successful.
  • The package coverage results show plausible grounds for a coverage threshold failure, but the truncated console does not include the gate's calculated aggregate coverage, configured threshold, or explicit coverage status. A maintainer should inspect the retained quality-gate artifact or the omitt...
  • The SonarQube parser errors reduced analysis completeness but did not cause this build to fail because Jenkins subsequently recorded the SonarQube gate as successful.
  • Failed build: https://ci.bstein.dev/job/ananke/287/
  • Full evidence bundle and audit trail live in Ariadne at /api/admin/audit/events, event types hermes_autotriage_incident and hermes_autotriage_diagnosis.

Filed automatically by Ariadne from a Hermes Agent diagnosis (run run_d99b2596ff9648dab29f6fc356e4c9c2). Hermes has no write access to this repository; no files or infrastructure were changed.

Hermes auto-triage classified incident `ananke/287` as **coverage_quality_gate_failure** (confidence 0.64); first failed gate: `coverage`. ## Why a human is needed The build reached the quality-gate enforcement stage after its Go tests passed, then exited because at least one enforced check was unsuccessful. The available output rules out published test failures and explicitly shows successful SonarQube and supply-chain statuses. Coverage is therefore the strongest candidate, particularly because several packages reported very low or zero coverage. The decisive coverage status and threshold are missing from the truncated console, so a maintainer must confirm them from the retained quality-gate artifact or complete enforcement output. If confirmed, the fix is to add meaningful tests for the uncovered production paths responsible for the threshold miss rather than weakening the required coverage level. Ariadne did not authorize automated remediation: `human_required`. ## Facts - **jenkins** — Jenkins reported build 287 as FAILURE, with the first failed pipeline stage named "Enforce quality gate". (`jenkins.result; jenkins.first_failed_stage`) - **jenkins** — The published structured test-failure list is empty, while the console records successful Go test results for every listed package. (`jenkins.failed_tests; jenkins.console_failures line 224`) - **jenkins** — Several packages had low or zero statement coverage, including internal/execx and internal/metrics at 0.0%, testing/service at 3.7%, internal/service at 55.6%, and internal/cluster at 56.6%. (`jenkins.console_failures line 224`) - **jenkins** — SonarQube reported parser-process errors for multiple Go files, but the enforcement script later recorded sonar_status=ok. (`jenkins.console_failures line 308; jenkins.console_tail`) - **jenkins** — The enforcement script recorded supply_status=ok before exiting with status 1. (`jenkins.console_tail`) - **opensearch** — OpenSearch correlation evidence was unavailable because the request was refused. (`log_evidence.error`) ## Evidence The earliest failure region of the build console: ``` tty: true volumeMounts: - mountPath: "/home/jenkins/agent" name: "workspace-volume" - command: - "cat" image: "registry.bstein.dev/bstein/quality-tools:sonar8.0.1-trivy0.70.0-db20260422-arm64" name: "quality-tools" tty: true volumeMounts: - mountPath: "/home/jenkins/agent" name: "workspace-volume" - env: - name: "JENKINS_SECRET" value: "********" - name: "JENKINS_TUNNEL" value: "jenkins.jenkins.svc.cluster.local:50000" - name: "JENKINS_AGENT_NAME" value: "ananke-287-j7jdn-l91cw-swpf2" ``` ## Inferences - The first enforced failure was most likely the coverage gate: tests completed successfully, no structured test failures were published, and the enforcement script explicitly considered the SonarQube and supply-chain gates successful. - The package coverage results show plausible grounds for a coverage threshold failure, but the truncated console does not include the gate's calculated aggregate coverage, configured threshold, or explicit coverage status. A maintainer should inspect the retained quality-gate artifact or the omitt... - The SonarQube parser errors reduced analysis completeness but did not cause this build to fail because Jenkins subsequently recorded the SonarQube gate as successful. ## Links - Failed build: https://ci.bstein.dev/job/ananke/287/ - Full evidence bundle and audit trail live in Ariadne at `/api/admin/audit/events`, event types `hermes_autotriage_incident` and `hermes_autotriage_diagnosis`. Filed automatically by Ariadne from a Hermes Agent diagnosis (run [run_d99b2596ff9648dab29f6fc356e4c9c2](https://triage.bstein.dev/chat?resume=run_d99b2596ff9648dab29f6fc356e4c9c2)). Hermes has no write access to this repository; no files or infrastructure were changed. <!-- hermes-triage job=ananke classification=coverage_quality_gate_failure incident=ananke/287 -->
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: titan/ananke#13
No description provided.