Files
orca/docs/reference/omp-relay-session-roots.md
T
Neil 5a67404783 fix(omp): find relocated conversations in relay history (#20638)
* fix(omp): resolve relay history roots on the execution host

* refactor(ai-vault): inline fixed Pi and OMP root segments

* refactor(ai-vault): keep fixed root segments compact
2026-09-19 00:17:52 -07:00

2.0 KiB

OMP relay history roots

The relay's history sidecar now resolves OMP storage on the execution host using resolveOmpSessionsDir, the same resolver as the native reader and local history scanner. Its environment allowlist carries only OMP root/profile inputs alongside the existing runtime variables. Node loader flags and unrelated credentials remain excluded.

The selected root replaces the legacy OMP source; it does not add a second scan. An invalid profile/root disables that source rather than selecting another store. The same bounded discovery, cancellation, child partition and parse cache remain. There are no new subprocesses, polls, recursive scan roots or wire fields.

The optional scanner input is in-process only. A client performing the existing filesystem fallback against an older relay still uses that host's legacy root, without consulting the client's environment or disk. A new relay publishes the same session schema to old and new clients; relocated conversations become visible. No capability is needed to interpret those ordinary existing session rows.

This covers the relay process's inherited environment. A profile or root set only inside an individual terminal is not automatically part of that environment. It does not prove resolution of the original iOS timing report #18663.

Run the actual persistence-to-sidecar proof with a read-only OMP checkout:

ORCA_BACKGROUND_LAUNCH=1 bun tests/tools/omp-relay-root-smoke.mjs /path/to/oh-my-pi

It bundles the production service entry, launches it under native Node using the production environment filter, and sends the real init/list IPC messages. OMP's actual SessionManager writes default and named-profile XDG conversations in isolated home/config/data directories while a legacy directory coexists. Both are found by exact UUID and path. An invalid profile yields no OMP sessions. No model calls or visible app windows are used. This local sidecar proof is not a live SSH connection or Windows/Linux runtime validation.