[hermes] bstein-dev-home #465: frontend_e2e_test_failure #21

Open
opened 2026-08-14 09:57:59 +00:00 by bstein · 0 comments
Owner

Hermes auto-triage classified incident bstein-dev-home/465 as frontend_e2e_test_failure (confidence 0.85); first failed gate: tests.

Why a human is needed

The failing check is unambiguous: the Playwright e2e test at testing/frontend/e2e/home.spec.js:76 times out because no 'details.source-diagrams .mermaid-card' element ever appears after the diagrams section is expanded, while the backend suite passed. What cannot be determined from the build evidence alone is whether the homepage markup changed intentionally (making the test's selectors stale) or the diagram cards genuinely stopped rendering (an application regression, e.g. mermaid rendering failing in the headless browser). A maintainer needs to inspect the current homepage DOM or recent frontend changes to decide which side to fix; the wrong choice would either mask a real rendering regression or churn a correct test.

Ariadne did not authorize automated remediation: human_required.

Facts

  • jenkins — Build 465 of job bstein-dev-home finished FAILURE with first_failed_stage 'Enforce quality gate' and no structured test results published (jenkins.failed_tests is empty). (https://ci.bstein.dev/job/bstein-dev-home/465/ (result, first_failed_stage, failed_tests))
  • jenkins — The Playwright e2e test 'shows Brad's professional homepage and opens the platform diagram overlay' in testing/frontend/e2e/home.spec.js:76 exceeded its 60000ms test timeout: expect(locator('details.source-diagrams .mermaid-card').first()).toBeVisible() failed with 'Received: undefined' after cli... (console_failures line 896 (marker ERROR:))
  • jenkins — The backend pytest suite passed in the same build: '128 passed in 30.01s' with coverage written to build/backend-coverage.xml and junit to build/junit-backend.xml. (console_failures line 688 region)
  • jenkins — During the SonarQube scan, the JavaScript sensor logged NodeCommandException ('Cannot run program "node": error=2, No such file or directory'), but the sensor was marked done and the pipeline continued through later stages, so this did not terminate the build. (console_failures lines 327 and 363)
  • opensearch — The build agent pod bstein-dev-home-465-7h7hr-6c04b-0kq7p provisioned successfully at 09:26:04, was running by 09:26:12, and was terminated normally at build end 09:54:34, so the build did not fail for lack of an agent. (kube-2026.08.14 jenkins namespace logs, 09:26:04Z–09:54:34Z)
  • jenkins — The downstream stage 'Build & push backend' was skipped due to earlier failure(s) and the pipeline ended with 'ERROR: script returned exit code 1'. (console_tail)

Evidence

The earliest failure region of the build console:

09:32:00.625 INFO  Sensor JaCoCo XML Report Importer [jacoco] (done) | time=40ms
09:32:00.625 INFO  Sensor IaC CloudFormation Sensor [iac]
09:32:01.800 INFO  0 source files to be analyzed
09:32:02.706 INFO  0/0 source files have been analyzed
09:32:02.716 INFO  Sensor IaC CloudFormation Sensor [iac] (done) | time=2091ms
09:32:02.717 INFO  Sensor IaC Kubernetes Sensor [iac]
09:32:03.410 INFO  0 source files to be analyzed
09:32:03.952 INFO  0/0 source files have been analyzed
09:32:03.954 INFO  Sensor IaC Kubernetes Sensor [iac] (done) | time=1237ms
09:32:03.955 INFO  Sensor JavaScript analysis [javascript]
09:32:37.630 ERROR Error when running: 'node -v'. Is Node.js available during analysis?
org.sonarsource.nodejs.NodeCommandException: Error when running: 'node -v'. Is Node.js available during analysis?
	at org.sonarsource.nodejs.NodeCommand.start(NodeCommand.java:79)
	at org.sonarsource.nodejs.NodeCommandBuilderImpl.getVersion(NodeCommandBuilderImpl.java:203)
	at org.sonarsource.nodejs.NodeCommandBuilderImpl.checkNodeCompatibility(NodeCommandBuilderImpl.java:169)
	at org.sonarsource.nodejs.NodeCommandBuilderImpl.build(NodeCommandBuilderImpl.java:143)
	at org.sonar.plugins.javascr
... (truncated; the full log is in the linked build)

Inferences

  • The build failed because the frontend e2e test in testing/frontend/e2e/home.spec.js could not find any element matching 'details.source-diagrams .mermaid-card' after expanding the details.source-diagrams section: Playwright reported 'Received: undefined', meaning the locator matched nothing at al...
  • The earlier SonarQube message about Node.js being unavailable is unrelated to this failure: the scanner logged the exception, marked the JavaScript sensor done, and the build proceeded through the backend and frontend test stages afterwards. It does mean JavaScript/TypeScript static analysis is b...
  • A fix would involve reproducing the homepage locally, expanding the details.source-diagrams section, and checking whether .mermaid-card elements appear: if the markup was intentionally changed, update the selectors in testing/frontend/e2e/home.spec.js to match; if the cards should render but do n...

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

Hermes auto-triage classified incident `bstein-dev-home/465` as **frontend_e2e_test_failure** (confidence 0.85); first failed gate: `tests`. ## Why a human is needed The failing check is unambiguous: the Playwright e2e test at testing/frontend/e2e/home.spec.js:76 times out because no 'details.source-diagrams .mermaid-card' element ever appears after the diagrams section is expanded, while the backend suite passed. What cannot be determined from the build evidence alone is whether the homepage markup changed intentionally (making the test's selectors stale) or the diagram cards genuinely stopped rendering (an application regression, e.g. mermaid rendering failing in the headless browser). A maintainer needs to inspect the current homepage DOM or recent frontend changes to decide which side to fix; the wrong choice would either mask a real rendering regression or churn a correct test. Ariadne did not authorize automated remediation: `human_required`. ## Facts - **jenkins** — Build 465 of job bstein-dev-home finished FAILURE with first_failed_stage 'Enforce quality gate' and no structured test results published (jenkins.failed_tests is empty). (`https://ci.bstein.dev/job/bstein-dev-home/465/ (result, first_failed_stage, failed_tests)`) - **jenkins** — The Playwright e2e test 'shows Brad's professional homepage and opens the platform diagram overlay' in testing/frontend/e2e/home.spec.js:76 exceeded its 60000ms test timeout: expect(locator('details.source-diagrams .mermaid-card').first()).toBeVisible() failed with 'Received: undefined' after cli... (`console_failures line 896 (marker ERROR:)`) - **jenkins** — The backend pytest suite passed in the same build: '128 passed in 30.01s' with coverage written to build/backend-coverage.xml and junit to build/junit-backend.xml. (`console_failures line 688 region`) - **jenkins** — During the SonarQube scan, the JavaScript sensor logged NodeCommandException ('Cannot run program "node": error=2, No such file or directory'), but the sensor was marked done and the pipeline continued through later stages, so this did not terminate the build. (`console_failures lines 327 and 363`) - **opensearch** — The build agent pod bstein-dev-home-465-7h7hr-6c04b-0kq7p provisioned successfully at 09:26:04, was running by 09:26:12, and was terminated normally at build end 09:54:34, so the build did not fail for lack of an agent. (`kube-2026.08.14 jenkins namespace logs, 09:26:04Z–09:54:34Z`) - **jenkins** — The downstream stage 'Build & push backend' was skipped due to earlier failure(s) and the pipeline ended with 'ERROR: script returned exit code 1'. (`console_tail`) ## Evidence The earliest failure region of the build console: ``` 09:32:00.625 INFO Sensor JaCoCo XML Report Importer [jacoco] (done) | time=40ms 09:32:00.625 INFO Sensor IaC CloudFormation Sensor [iac] 09:32:01.800 INFO 0 source files to be analyzed 09:32:02.706 INFO 0/0 source files have been analyzed 09:32:02.716 INFO Sensor IaC CloudFormation Sensor [iac] (done) | time=2091ms 09:32:02.717 INFO Sensor IaC Kubernetes Sensor [iac] 09:32:03.410 INFO 0 source files to be analyzed 09:32:03.952 INFO 0/0 source files have been analyzed 09:32:03.954 INFO Sensor IaC Kubernetes Sensor [iac] (done) | time=1237ms 09:32:03.955 INFO Sensor JavaScript analysis [javascript] 09:32:37.630 ERROR Error when running: 'node -v'. Is Node.js available during analysis? org.sonarsource.nodejs.NodeCommandException: Error when running: 'node -v'. Is Node.js available during analysis? at org.sonarsource.nodejs.NodeCommand.start(NodeCommand.java:79) at org.sonarsource.nodejs.NodeCommandBuilderImpl.getVersion(NodeCommandBuilderImpl.java:203) at org.sonarsource.nodejs.NodeCommandBuilderImpl.checkNodeCompatibility(NodeCommandBuilderImpl.java:169) at org.sonarsource.nodejs.NodeCommandBuilderImpl.build(NodeCommandBuilderImpl.java:143) at org.sonar.plugins.javascr ... (truncated; the full log is in the linked build) ``` ## Inferences - The build failed because the frontend e2e test in testing/frontend/e2e/home.spec.js could not find any element matching 'details.source-diagrams .mermaid-card' after expanding the details.source-diagrams section: Playwright reported 'Received: undefined', meaning the locator matched nothing at al... - The earlier SonarQube message about Node.js being unavailable is unrelated to this failure: the scanner logged the exception, marked the JavaScript sensor done, and the build proceeded through the backend and frontend test stages afterwards. It does mean JavaScript/TypeScript static analysis is b... - A fix would involve reproducing the homepage locally, expanding the details.source-diagrams section, and checking whether .mermaid-card elements appear: if the markup was intentionally changed, update the selectors in testing/frontend/e2e/home.spec.js to match; if the cards should render but do n... ## Links - Failed build: https://ci.bstein.dev/job/bstein-dev-home/465/ - 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_ef24c0f664d249768f797ee8ac41ee18](https://triage.hermes.bstein.dev/chat?resume=run_ef24c0f664d249768f797ee8ac41ee18)). Hermes has no write access to this repository; no files or infrastructure were changed. <!-- hermes-triage job=bstein-dev-home classification=frontend_e2e_test_failure incident=bstein-dev-home/465 -->
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bstein/bstein-dev-home#21
No description provided.