mirror of
https://github.com/morluto/rea.git
synced 2026-10-30 11:25:39 +00:00
inspect_wasm_artifact's configuration-phase error handler assumed every non-OwnedCommandFailure thrown before the artifact phase was about WABT tool/directory resolution, and unconditionally appended "Supply WABT 1.0.42 via absolute REA_WABT_BIN_DIRECTORY; REA does not install tools." to the reason. WabtArtifactProvider.inspect() also allocates its PrivateRuntimeRoot during the configuration phase, so a PrivateRuntimeRootUnavailableError (the Windows native-authority capability, unrelated to WABT) got the same false remediation glued onto its own already-correct message, misdirecting anyone troubleshooting a correctly-configured WABT install toward re-checking WABT instead of the real blocker. Classify PrivateRuntimeRootUnavailableError before the generic configuration-phase branch, matching the existing convention already used in JavaScriptAnalysisWorker.ts and SourceMapCommand.ts: surface it as its own AnalysisCapabilityUnavailableError with no userMessage override, letting its own message stand. Verified against a real WABT 1.0.42 Windows release (hash-checked against GitHub release metadata) and a real compiled .wasm module: before the fix, `reason` read "REA Windows native controls are unavailable: ENOENT: ... Supply WABT 1.0.42 ..." even with a fully correct REA_WABT_BIN_DIRECTORY; after, `reason` reports only the real cause.