Repository navigation
Sandbox OMO_MEMORY_HOME in isolatedChildEnv - #9242
Conversation
…ngyu#9239) isolatedChildEnv set every agent-dir lane but left OMO_MEMORY_HOME alone, so a QA child resolved the caller's memory root: its inherited override, or the default ~/.omo/memory. It now points OMO_MEMORY_HOME at a memory directory beside the sandbox agent dir. Scripts that set their own OMO_MEMORY_HOME after the spread are unaffected.
|
All contributors have signed the CLA. Thank you! ✅ |
|
Thank you @drakeo338, this is a clean, minimal fix for #9239, and the test pins exactly the right thing. Two things before it can merge: please sign the CLA (the bot comment above has the link), and I'm approving the CI run now. #9239 also asks for a before/after digest of the real memory tree in the driver; I'll add that on top of your branch as a small maintainer commit so you don't have to. |
…memory root (code-yeongyu#9239) Acceptance 2 of code-yeongyu#9239, on top of the isolatedChildEnv fix. Every model-profile e2e scenario now checks that its child resolves a memory root inside the sandbox and that no child output names the caller's real memory root (absolute or ~ form), so a transient sweep over the real ~/.omo/memory fails the run. The real tree is not content-digested because other live sessions on the same machine write to it during a run. Verified on one real scenario: PASS with the fix; with the helper's OMO_MEMORY_HOME line removed, both checks fail and the child output names the real root.
|
I have read the CLA Document and I hereby sign the CLA |
|
Merged, thanks @drakeo338! This makes the model-profile e2e QA driver run its child with a sandboxed memory root, so QA runs no longer touch the real |
…form isolatedChildEnv joins OMO_MEMORY_HOME with path.join since #9242, which gives \tmp\sbx\memory on Windows, while the test expected the POSIX literal, so senpi-compatibility (windows-latest) failed on every head. The expectation is now built the way the code builds it; placing the memory root anywhere but beside the agent dir still fails the test.
Summary
Fixes #9239.
isolatedChildEnvsandboxed the agent dir andXDG_CONFIG_HOMEbut leftOMO_MEMORY_HOMEalone, so the child's memory component still used the caller's real~/.omo/memory(or its override), and the transient sweep ran against it. The helper now setsOMO_MEMORY_HOMEto amemorydirectory beside the sandbox agent dir, with a test for it.Changes
sandbox-child-env.mjs: setOMO_MEMORY_HOMEinside the sandbox.sandbox-child-env.test.mjs: assert the child env never points at the caller's memory root.QA & Evidence
sandbox-child-env.test.mjsObserved result: against the unfixed source, 2 passed, 2 failed; with the fix, 4 passed, 0 failed.
Why sufficient: the failing cases are the new memory-root assertions.
Risks & Residuals
bun run typecheckand the fullbun testwere not run, so they are unticked.Automated Checks
bun run typecheckbun testScreenshots
Not applicable.
Related Issues
Closes #9239
Summary by cubic
Sandboxes
OMO_MEMORY_HOMEinisolatedChildEnvso QA children no longer read or write the caller's real~/.omo/memory(or its override), which the transient sweep previously ran against.OMO_MEMORY_HOMEat amemorydirectory beside the sandbox agent dir.Closes #9239.
Written for commit c95b544. Summary will update on new commits.