Files
orca/config/scripts
OrcaWin d921847331 fix(relay): ship the WSL transcript helper with the Windows relay
The AI Vault title reader forks wsl-transcript-fs-process-entry.js for WSL UNC
paths. PR #15381 taught electron.vite.config.ts and electron-builder to emit and
unpack it for the desktop app, but config/scripts/build-relay.mjs was never
updated, so no relay ever shipped it. A packaged Windows relay therefore
advertised the AI Vault title service, reached the fork, threw "entry not
found", and had the throw swallowed by the title reader's per-request catch —
every WSL transcript title came back empty, with no error surfaced anywhere.

Unit suites cannot catch this: the dispatcher runs the child's own operations
in-process under vitest and never forks.

The build, the content hash, and the remote install-completeness probe each
carried their own hand-maintained file list, which is how the three drifted.
Replace them with one declaration in src/shared/relay-artifacts.ts that all
three read, and close the loop in both directions: an artifact declared but not
emitted fails the build, and an artifact emitted but not declared fails it too.
Each platform directory is cleared first, so a stale companion from an earlier
build cannot satisfy the manifest or be hashed into .version.

Adding the helper to the hash changes every relay version, so hosts install into
a fresh immutable directory rather than reusing a partial one.

Verified on a Windows host against a real WSL distro: the built relay returns no
title before and the transcript title after, and the generated install probe
accepts a complete directory and rejects one missing only the helper.
2026-08-19 23:36:45 -07:00
..
2026-05-15 05:44:25 -04:00