[hermes] soteria #279: quality_tooling_missing_node_runtime #2

Open
opened 2026-08-06 21:42:52 +00:00 by bstein · 0 comments
Owner

Hermes auto-triage classified incident soteria/279 as quality_tooling_missing_node_runtime (confidence 0.98); first failed gate: Enforce quality gate.

Why a human is needed

The enforced quality gate failed because SonarScanner could not start Node.js for TypeScript analysis: the node executable was absent from the quality-tools container. Restore a compatible Node.js runtime in the quality-tools image or its CI container configuration, then rerun the quality gate for this commit. No failing test result was published, and the later image-build skip and final exit code are consequences of this earlier gate failure.

Ariadne did not authorize automated remediation: classification_not_supported: 'quality_tooling_missing_node_runtime'.

Facts

  • jenkins — Jenkins build 279 for job soteria finished with result FAILURE after running from 2026-08-06T20:59:00.758Z to 2026-08-06T21:41:50.336Z. (Ariadne bundle jenkins.job=soteria, build_number=279, result=FAILURE)
  • jenkins — The build reported its first failed pipeline stage as "Enforce quality gate". (Ariadne bundle jenkins.first_failed_stage)
  • jenkins — The retained console evidence shows SonarScanner TypeScript analysis failed when it attempted to run "node -v" because Node.js was unavailable. (Ariadne bundle jenkins.console_failures, lines 297-353: "Error when running: 'node -v'. Is Node.js available during analysis?")
  • jenkins — The underlying scanner exception states that it could not run program "node" because the executable was not found. (Ariadne bundle jenkins.console_failures, line 353: "java.io.IOException: Cannot run program \"node\": error=2, No such file or directory")
  • jenkins — The SonarScanner was running in the quality-tools container image registry.bstein.dev/bstein/quality-tools:sonar8.0.1-trivy0.70.0-db20260422-arm64. (Ariadne bundle jenkins.console_failures, line 102)
  • jenkins — No structured failed test results were published in jenkins.failed_tests. (Ariadne bundle jenkins.failed_tests=[])
  • jenkins — The later Build & push image stage was skipped because of an earlier failure, and the final "script returned exit code 1" is downstream termination output. (Ariadne bundle jenkins.console_tail)
  • opensearch — OpenSearch supplied no corroborating records because its query timed out. (Ariadne bundle log_evidence.error="opensearch timeout")

Inferences

  • The first enforced failure is the quality-gate stage failing during Sonar analysis, not a test assertion: the scanner requires Node.js for its JavaScript/TypeScript analyzer, but the quality-tools image does not provide an executable named node.
  • The Go parser messages preceded the Node failure but were logged as individual parse errors while analysis continued; the retained fatal exception identifies the missing Node runtime as the condition that stopped the scanner and caused the enforced gate to fail.
  • The service repository may not need a code change. The likely fix is to update the CI quality-tools image or the quality-gate container setup so a compatible Node.js runtime is installed and on PATH, then rebuild/publish that image through the normal repository and Flux-controlled delivery path.
  • Failed build: https://ci.bstein.dev/job/soteria/279/
  • 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_5f66ae3e4f9d426eb261a0eab7d093b7). Hermes has no write access to this repository; no files or infrastructure were changed.

Hermes auto-triage classified incident `soteria/279` as **quality_tooling_missing_node_runtime** (confidence 0.98); first failed gate: `Enforce quality gate`. ## Why a human is needed The enforced quality gate failed because SonarScanner could not start Node.js for TypeScript analysis: the node executable was absent from the quality-tools container. Restore a compatible Node.js runtime in the quality-tools image or its CI container configuration, then rerun the quality gate for this commit. No failing test result was published, and the later image-build skip and final exit code are consequences of this earlier gate failure. Ariadne did not authorize automated remediation: `classification_not_supported: 'quality_tooling_missing_node_runtime'`. ## Facts - **jenkins** — Jenkins build 279 for job soteria finished with result FAILURE after running from 2026-08-06T20:59:00.758Z to 2026-08-06T21:41:50.336Z. (`Ariadne bundle jenkins.job=soteria, build_number=279, result=FAILURE`) - **jenkins** — The build reported its first failed pipeline stage as "Enforce quality gate". (`Ariadne bundle jenkins.first_failed_stage`) - **jenkins** — The retained console evidence shows SonarScanner TypeScript analysis failed when it attempted to run "node -v" because Node.js was unavailable. (`Ariadne bundle jenkins.console_failures, lines 297-353: "Error when running: 'node -v'. Is Node.js available during analysis?"`) - **jenkins** — The underlying scanner exception states that it could not run program "node" because the executable was not found. (`Ariadne bundle jenkins.console_failures, line 353: "java.io.IOException: Cannot run program \"node\": error=2, No such file or directory"`) - **jenkins** — The SonarScanner was running in the quality-tools container image registry.bstein.dev/bstein/quality-tools:sonar8.0.1-trivy0.70.0-db20260422-arm64. (`Ariadne bundle jenkins.console_failures, line 102`) - **jenkins** — No structured failed test results were published in jenkins.failed_tests. (`Ariadne bundle jenkins.failed_tests=[]`) - **jenkins** — The later Build & push image stage was skipped because of an earlier failure, and the final "script returned exit code 1" is downstream termination output. (`Ariadne bundle jenkins.console_tail`) - **opensearch** — OpenSearch supplied no corroborating records because its query timed out. (`Ariadne bundle log_evidence.error="opensearch timeout"`) ## Inferences - The first enforced failure is the quality-gate stage failing during Sonar analysis, not a test assertion: the scanner requires Node.js for its JavaScript/TypeScript analyzer, but the quality-tools image does not provide an executable named node. - The Go parser messages preceded the Node failure but were logged as individual parse errors while analysis continued; the retained fatal exception identifies the missing Node runtime as the condition that stopped the scanner and caused the enforced gate to fail. - The service repository may not need a code change. The likely fix is to update the CI quality-tools image or the quality-gate container setup so a compatible Node.js runtime is installed and on PATH, then rebuild/publish that image through the normal repository and Flux-controlled delivery path. ## Links - Failed build: https://ci.bstein.dev/job/soteria/279/ - 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_5f66ae3e4f9d426eb261a0eab7d093b7`). Hermes has no write access to this repository; no files or infrastructure were changed. <!-- hermes-triage job=soteria classification=quality_tooling_missing_node_runtime incident=soteria/279 -->
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: titan/soteria#2
No description provided.