Repository navigation
fix: disable local embeddings for omp fleet workers - #28
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Intent
why are omp sessions taking 1GB apiece?
do A and file B
Context: on 2026-10-06 Firstmate measured the fleet on the Mac Studio (omp 18.6.3): 64
__omp_worker_mnemopi_embedhelper processes held about 58 GB of physical memory, against about 32 GB for the 80 omp agent processes. Each omp session starts its own Mnemopi embedding helper, and each helper loads its own copy of the local embedding model (about 0.9-1.1 GB) and keeps it for the life of the session. Option A, which was chosen: turn this off for Firstmate-launched fleet worker sessions only, and keep memory unchanged for the interactive sessions (the captain's own sessions, the primary firstmate, and the secondmate lanes). Option B, filed separately upstream (can1357/oh-my-pi issue 9908, PRs 13785 and 8653): a shared embedding server so all sessions share one model.What Changed
mnemopi.noEmbeddings: truefor Firstmate-launched omp crewmates and scouts, retaining text-only recall without per-session embedding helpers..omp/fm-session-overlay.ymland layer the worker memory overlay only for fleet workers, preserving memory settings for secondmate lanes, the primary Firstmate, and captain sessions.Risk Assessment
✅ Low: The change narrowly adds worker/scout-only text-memory configuration at the shared launch boundary, preserves existing session posture and interactive memory settings, and introduces no substantiated correctness, privacy, or unnecessary-scope issues.
Testing
Live omp 18.6.3 RPC and Firstmate-launched TUI scenarios passed, including worker/scout suppression, fresh-session text recall, interactive-memory preservation, custom secondmate preferences, and missing-overlay refusal. CLI transcripts, descendant-process samples, and persisted memory evidence were retained. Setup issues were corrected; no repository suite, lint, or other pipeline phase was run, and no source fix was needed.
Evidence: Concise live product observations
Source: Concise live product observations
Evidence: Commands and consolidated runtime evidence
Source: Commands and consolidated runtime evidence
Evidence: Actual worker and scout descendant samples
Source: Actual worker and scout descendant samples
Evidence: Persisted text-only memory state
Source: Persisted text-only memory state
Evidence: Interactive Firstmate primary transcript
Source: Interactive Firstmate primary transcript
Evidence: Missing worker-overlay refusal
Source: Missing worker-overlay refusal
Evidence: Owned runtime and fixture cleanup
Source: Owned runtime and fixture cleanup
Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
✅ **Review** - passed
✅ No issues found.
✅ **Test** - passed
✅ No issues found.
omp --version,omp --help,omp config --help,omp models --json, andomp config list --jsonestablished the installed runtime and supported configuration.Launched real omp RPC sessions with isolated Mnemopi databases, submitted prompts, and sampled owned descendants usingps -axo pid=,ppid=,rss=,command=.Usedfm-lab-home.shand a privatetmux -L fm-labserver with a 160×50 terminal grid; created a workspace-contained Git fixture and Treehouse pool.Ran realfm-spawn.sh memory-worker <fixture> --mode local-only --yolo off --harness omp --backend tmux --model google-antigravity/gemini-3.1-flash-lite --effort lowand the correspondingmemory-scout --scoutlaunch.Exercised the real memory learn tool, restarted omp against the same isolated database, and verified fresh-session recall plus persisted SQLite state.Provisioned and launched a real secondmate throughfm-brief.sh,fm-home-seed.sh, andfm-spawn.sh; stopped it withfm-control.sh, changed its fixture-local memory preference, and exercisedfm-spawn.sh memory-lane --relaunch.Launched a real Firstmate primary as a private tmux session command, submitted a prompt through its ready composer, captured its response, and sampled its embedding helper.Removed the worker overlay from the disposable code fixture and exercised the real missing-overlay refusal before task publication.Read live GitHub API resources for can1357/oh-my-pi issue 9908 and PRs 13785 and 8653.The initial Herdr prepare/provision sequence refused duplicate tripwire ownership; guarded teardown succeeded, and validation proceeded through private tmux. All owned runtimes, sockets, fixture repositories, Treehouse slots, and generated markers were cleaned up.✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.