mirror of
https://github.com/stablyai/orca.git
synced 2026-09-21 16:02:20 +00:00
* wip(omp): prove fresh settings overlay without redirecting storage * fix(omp): guard fresh launches with execution-host settings * fix(omp): preserve unmodelled shell launch commands * test(omp): consolidate shell fixture path import * preserve fresh OMP launch status * test: cover preserved OMP launch status * fix: recognize wrapped fresh OMP launches * chore(ci): refresh validation against fixed main baseline * fix(omp): recognize generated fresh launch guards across shells * fix(omp): preserve draft status and clear prefill across Unix shells * fix(omp): run cmd draft cleanup after either guard branch * fix(omp): launch drafts safely with nounset enabled * fix(omp): select draft shell without parser diagnostics * test(omp): await relay environment augmentation
52 lines
2.8 KiB
Markdown
52 lines
2.8 KiB
Markdown
# Fresh OMP launches
|
|
|
|
Orca's new-session and draft launch plans apply a one-time `--config` overlay
|
|
containing `autoResume: false`. OMP's configured session directory, settings,
|
|
authentication and extensions remain in their usual locations. Saved launch
|
|
configuration omits the overlay so explicit resume keeps its normal semantics.
|
|
Custom commands with session selectors, unknown flags, positional arguments or
|
|
shell compounds are left unchanged.
|
|
|
|
The execution host creates the overlay. Local and WSL terminals use Orca userData
|
|
(with WSLENV path translation); SSH relays use their own managed directory. Config
|
|
creation is independent of status-hook preferences and does not require plugin
|
|
source installation. An unavailable file produces a terminal diagnostic and skips
|
|
OMP. Filesystem failures do not prevent unrelated agents or bare shells starting.
|
|
|
|
The guard invokes OMP in the current shell, preserving functions, aliases and the
|
|
managed status wrapper. A nonzero agent exit never triggers a second launch.
|
|
POSIX commands also support fish; environment presence is checked before expansion
|
|
so an old host under `set -u` reports the same missing-settings diagnostic.
|
|
|
|
## Mixed versions
|
|
|
|
The existing command and environment transport carries the launch unchanged; no
|
|
new RPC or stream opcode is introduced. A new host exports the path before shell
|
|
startup, including bare shells that receive an OMP command later. An old client
|
|
continues its existing launch behavior on a new host. A new fresh-launch command
|
|
on an old host without the managed environment fails visibly and requests a host
|
|
update and terminal restart. It must not silently fall back to OMP auto-resume.
|
|
|
|
## Verification
|
|
|
|
`src/shared/omp-fresh-launch-shell.test.ts` runs actual available bash, zsh and fish
|
|
shells, checking exact argv, a single invocation, nonzero exit, deleted settings
|
|
and an absent environment variable. `src/relay/omp-fresh-launch-environment.test.ts`
|
|
checks the guarded command through relay environment assembly and the actual OMP
|
|
shell wrapper, retaining both extension and config arguments and prefill.
|
|
Local host assembly tests recognize guarded POSIX, cmd and PowerShell commands.
|
|
|
|
Run the actual OMP storage smoke against a read-only OMP checkout:
|
|
|
|
```sh
|
|
ORCA_BACKGROUND_LAUNCH=1 bun tests/tools/omp-fresh-session-runtime-smoke.mjs /path/to/oh-my-pi
|
|
```
|
|
|
|
For Windows, bundle `tests/tools/omp-fresh-launch-windows-smoke.ts` with
|
|
`bun build --target=node --outfile=/tmp/omp-fresh-windows-smoke.mjs`, transfer the
|
|
bundle to the host and run it using Node with `ORCA_BACKGROUND_LAUNCH=1`.
|
|
The smoke uses temporary files and process-local environment only. Both cmd and
|
|
PowerShell must pass existing/missing/unset/directory settings cases, preserving
|
|
exit 17 for the single successful launch and returning exit 1 without launching
|
|
when settings are unavailable. This passed on Windows host `awin` on 2026-09-14.
|