[GH-ISSUE #5436] [Bug] reconcile-javascript-runtime labels validation errors as Electron analysis failures #3295

Closed
opened 2026-10-31 00:38:53 +00:00 by bsakaguchi · 1 comment
Owner

Originally created by @coygeek on GitHub (Oct 20, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/5436

Before submitting

  • I searched the open and closed issues for a related report.
  • I removed credentials, tokens, private paths, and sensitive target data.

Area

CLI

Observed behavior

rea reconcile-javascript-runtime '{}' --json rejects the schema-invalid input with error: "Electron analysis failed", even though details.operation correctly identifies reconcile_javascript_runtime. The command reconciles static JavaScript and passive runtime Evidence. The independent reproduction exited 1 with empty stderr.

Reproduction

From the source checkout with dependencies and the prebuilt runtime available, the independent verifier ran:

node scripts/rea.mjs reconcile-javascript-runtime --help
node scripts/rea.mjs reconcile-javascript-runtime '{}' --json
node scripts/rea.mjs reconcile-javascript-runtime '{' --json

The verifier isolated HOME and all four XDG homes in temporary directories. Both invalid-input commands exited 1. The {} case returned the Electron label; the malformed-JSON { control returned Application workflow failed. The verifier then reran both inline-input cases through the draft's shell recipe and reproduced both labels. No provider, database, browser, or external API was needed.

Expected behavior

The human-readable error should identify reconciliation accurately, use a suitable generic label, or rely on the canonical typed diagnostics. The help describes reconciliation of static application and passive runtime Evidence. docs/javascript-runtime-reconciliation.md:3,10 describes cross-source reconciliation and states that it performs no filesystem, browser, or Electron I/O. These references do not prescribe exact replacement wording or identical labels at every failure stage.

Impact and scope

Observed impact is misleading wording on schema-validation failure. Input rejection, exit status, and typed diagnostics remain correct. Callers can use details.operation, code, category, and issue paths instead of the label. This is a P3 wording defect under the reporter's assessment. No downstream diagnostic-routing failure, data loss, or security impact was observed. Malformed JSON and a separately tested nonexistent input file use the generic application label, so this does not affect every JSON-input failure.

REA version

6.7.0, source commit 074768901f3cdc8205b61773fb1faf6f6c7b3ca8, using the prebuilt runtime.

Runtime and platform

Node.js v26.12.0; Darwin arm64. Native analysis providers are not relevant to this input-only workflow.

Target and artifact context

Inline JSON {} with the required static_layers and runtime_observations fields absent. No target application or captured artifact is involved.

Interface

CLI

Earliest failure stage

Request parsing or validation

Relevant output or evidence

The independent verifier captured this complete stdout response for the {} command above, with exit 1 and empty stderr:

{
  "error": "Electron analysis failed",
  "code": "invalid_request",
  "category": "invalid_input",
  "message": "Analysis input is invalid. Check the arguments and try again.",
  "retryable": true,
  "remediation": { "action": "Correct the listed arguments and retry." },
  "details": {
    "operation": "reconcile_javascript_runtime",
    "issues": [
      { "path": ["static_layers"], "reason": "missing_argument", "expected": "array" },
      { "path": ["runtime_observations"], "reason": "missing_argument", "expected": "array" }
    ]
  }
}

The malformed-JSON control also exited 1 with empty stderr. It returned error: "Application workflow failed", the same typed code/category/operation, and a root issue with reason: "invalid_format" and expected: "JSON".

Typed outcome or recovery expected

Preserve exit 1, invalid_request, invalid_input, retryable, remediation, the correct operation, and both missing-field diagnostics while correcting the misleading human-readable label. The malformed-JSON control should continue to reject input with its JSON-format issue and correct operation. This is a proposed restoration check, not a tested fix.

Analysis or suspected cause

Source-derived reasoning at the reported commit: src/cli/electronCommands.ts:175 routes reconciliation errors to cliError at lines 340-345, which adds Electron analysis failed. src/application/javascript/JavaScriptRuntimeReconciliationService.ts:23 validates the parsed input. JSON-input failures instead use the generic label in src/cliJsonInput.ts:165,173.

Additional context

This report was prepared with AI assistance and independently reproduced. Before submission, the reporter fetched upstream main at 052956af3416fa01d93837e54fdec3ad2739f6d1; no commits after the reported baseline touched the cited files, and source inspection confirmed that the reconciliation handler still uses the same label. This upstream check was source-based, not a new runtime reproduction.

Related issue #3865 and PR #5036 concern missing issue details for Electron target/page commands. They do not cover the incorrect workflow label for reconciliation.

Originally created by @coygeek on GitHub (Oct 20, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/5436 ### Before submitting - [x] I searched the open and closed issues for a related report. - [x] I removed credentials, tokens, private paths, and sensitive target data. ### Area CLI ### Observed behavior `rea reconcile-javascript-runtime '{}' --json` rejects the schema-invalid input with `error: "Electron analysis failed"`, even though `details.operation` correctly identifies `reconcile_javascript_runtime`. The command reconciles static JavaScript and passive runtime Evidence. The independent reproduction exited 1 with empty stderr. ### Reproduction From the source checkout with dependencies and the prebuilt runtime available, the independent verifier ran: ```sh node scripts/rea.mjs reconcile-javascript-runtime --help node scripts/rea.mjs reconcile-javascript-runtime '{}' --json node scripts/rea.mjs reconcile-javascript-runtime '{' --json ``` The verifier isolated HOME and all four XDG homes in temporary directories. Both invalid-input commands exited 1. The `{}` case returned the Electron label; the malformed-JSON `{` control returned `Application workflow failed`. The verifier then reran both inline-input cases through the draft's shell recipe and reproduced both labels. No provider, database, browser, or external API was needed. ### Expected behavior The human-readable error should identify reconciliation accurately, use a suitable generic label, or rely on the canonical typed diagnostics. The help describes reconciliation of static application and passive runtime Evidence. `docs/javascript-runtime-reconciliation.md:3,10` describes cross-source reconciliation and states that it performs no filesystem, browser, or Electron I/O. These references do not prescribe exact replacement wording or identical labels at every failure stage. ### Impact and scope Observed impact is misleading wording on schema-validation failure. Input rejection, exit status, and typed diagnostics remain correct. Callers can use `details.operation`, code, category, and issue paths instead of the label. This is a P3 wording defect under the reporter's assessment. No downstream diagnostic-routing failure, data loss, or security impact was observed. Malformed JSON and a separately tested nonexistent input file use the generic application label, so this does not affect every JSON-input failure. ### REA version 6.7.0, source commit `074768901f3cdc8205b61773fb1faf6f6c7b3ca8`, using the prebuilt runtime. ### Runtime and platform Node.js v26.12.0; Darwin arm64. Native analysis providers are not relevant to this input-only workflow. ### Target and artifact context Inline JSON `{}` with the required `static_layers` and `runtime_observations` fields absent. No target application or captured artifact is involved. ### Interface CLI ### Earliest failure stage Request parsing or validation ### Relevant output or evidence The independent verifier captured this complete stdout response for the `{}` command above, with exit 1 and empty stderr: ```json { "error": "Electron analysis failed", "code": "invalid_request", "category": "invalid_input", "message": "Analysis input is invalid. Check the arguments and try again.", "retryable": true, "remediation": { "action": "Correct the listed arguments and retry." }, "details": { "operation": "reconcile_javascript_runtime", "issues": [ { "path": ["static_layers"], "reason": "missing_argument", "expected": "array" }, { "path": ["runtime_observations"], "reason": "missing_argument", "expected": "array" } ] } } ``` The malformed-JSON control also exited 1 with empty stderr. It returned `error: "Application workflow failed"`, the same typed code/category/operation, and a root issue with `reason: "invalid_format"` and `expected: "JSON"`. ### Typed outcome or recovery expected Preserve exit 1, `invalid_request`, `invalid_input`, `retryable`, remediation, the correct operation, and both missing-field diagnostics while correcting the misleading human-readable label. The malformed-JSON control should continue to reject input with its JSON-format issue and correct operation. This is a proposed restoration check, not a tested fix. ### Analysis or suspected cause Source-derived reasoning at the reported commit: `src/cli/electronCommands.ts:175` routes reconciliation errors to `cliError` at lines 340-345, which adds `Electron analysis failed`. `src/application/javascript/JavaScriptRuntimeReconciliationService.ts:23` validates the parsed input. JSON-input failures instead use the generic label in `src/cliJsonInput.ts:165,173`. ### Additional context This report was prepared with AI assistance and independently reproduced. Before submission, the reporter fetched upstream main at `052956af3416fa01d93837e54fdec3ad2739f6d1`; no commits after the reported baseline touched the cited files, and source inspection confirmed that the reconciliation handler still uses the same label. This upstream check was source-based, not a new runtime reproduction. Related issue #3865 and PR #5036 concern missing issue details for Electron target/page commands. They do not cover the incorrect workflow label for reconciliation.
Author
Owner

@CassieFox23 commented on GitHub (Oct 20, 2026):

TL;DR: This still happens on main on Linux. Reconcile input that breaks the schema gets the label Electron analysis failed.

Checked on main b3aadaf47 (Node 24.18.0). reconcile-javascript-runtime '{}' --json exits 1 with "error":"Electron analysis failed", though details.operation is reconcile_javascript_runtime. The control '{' is malformed JSON. It says "Application workflow failed", as reported. Stderr is empty.

Not run

  • A nonexistent input file, and repeat runs.

Thanks, coygeek, for the clear report.

Commands
node scripts/rea.mjs reconcile-javascript-runtime '{}' --json

Exit 1, stdout 727 bytes: {"error":"Electron analysis failed","code":"invalid_request","category":"invalid_input","message":"Analysis input is invalid. Check the arguments and try again.", ... "details":{"operation":"reconcile_javascript_runtime","issues":[{"path":["static_layers"],"reason":"missing_argument","expected":"array"},{"path":["runtime_observations"], ...}]}}

node scripts/rea.mjs reconcile-javascript-runtime '{' --json

Exit 1, stdout 631 bytes: "error":"Application workflow failed", issue invalid_format, expected JSON.

Test setup
  • Box: Nobara 44 (Fedora 44 base), Linux 7.2.11
  • CPU: AMD Ryzen 9 5900X, 12 cores / 24 threads
  • RAM: 32 GB DDR4-3600
  • Node: 24.18.0
  • Head: b3aadaf47
  • Other: another job shared the box during the run

🤖 Generated with Claude Code (Sonnet 5.5, verified by Opus 5.5) 🦊

<!-- gh-comment-id:6298169419 --> @CassieFox23 commented on GitHub (Oct 20, 2026): **TL;DR:** This still happens on main on Linux. Reconcile input that breaks the schema gets the label `Electron analysis failed`. Checked on main b3aadaf47 (Node 24.18.0). `reconcile-javascript-runtime '{}' --json` exits 1 with `"error":"Electron analysis failed"`, though `details.operation` is `reconcile_javascript_runtime`. The control `'{'` is malformed JSON. It says "Application workflow failed", as reported. Stderr is empty. ### Not run - A nonexistent input file, and repeat runs. Thanks, coygeek, for the clear report. <details> <summary>Commands</summary> ```sh node scripts/rea.mjs reconcile-javascript-runtime '{}' --json ``` Exit 1, stdout 727 bytes: `{"error":"Electron analysis failed","code":"invalid_request","category":"invalid_input","message":"Analysis input is invalid. Check the arguments and try again.", ... "details":{"operation":"reconcile_javascript_runtime","issues":[{"path":["static_layers"],"reason":"missing_argument","expected":"array"},{"path":["runtime_observations"], ...}]}}` ```sh node scripts/rea.mjs reconcile-javascript-runtime '{' --json ``` Exit 1, stdout 631 bytes: `"error":"Application workflow failed"`, issue `invalid_format`, expected `JSON`. </details> <details> <summary>Test setup</summary> - Box: Nobara 44 (Fedora 44 base), Linux 7.2.11 - CPU: AMD Ryzen 9 5900X, 12 cores / 24 threads - RAM: 32 GB DDR4-3600 - Node: 24.18.0 - Head: b3aadaf47 - Other: another job shared the box during the run </details> 🤖 Generated with Claude Code (Sonnet 5.5, verified by Opus 5.5) 🦊
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#3295
No description provided.