Skip to repository content

tenant.openagents/omega

No repository description is available.

OpenAgents Git authority 2026-07-27T23:52:51.056Z Public web read
NIP-34 coordinate30617:7649603503856e5148d571eac2766b288a8ff1e9e35d380337a1d2b0015b4f92:omega
MaintainersHidden in public view
References2 branches · 1 tag
Read-only clonegit clone https://openagents.com/git/tenant.openagents/omega.git

Remove Omega when Omega is uninstalled, and read the commands the prompt shows

Remove Omega when Omega is uninstalled, and read the commands the prompt shows Two defects found in the signed 0.2.0-rc16 while proving omega#16. `--uninstall` (omega#92) planned the main *executable* where the installation belongs. OMEGA-DELTA-0036 is real -- the plan holds nine Omega paths and zero belonging to anybody else -- but `main.rs` handed it `app.path()`, which on macOS is `Omega.app/Contents/MacOS/omega`, into a field documented as "the application bundle or executable". So a run that reported success left `/Applications/Omega.app` standing: 130.9 MB, five executables including a `cli` that still carries `--uninstall`, and a bundled Node runtime. Zed was safe and Omega was not removed. `InstalledApp` now answers two questions with two names: `path()` is the executable to run, `installation_root()` is the directory a removal removes. The inherent macOS `path()` that shadowed the trait method and returned the bundle is gone, so the same call spelled two ways can no longer mean two paths. And `from_installed_paths` normalizes whatever it is given through `uninstall::installation_root`, which resolves any path under a `.app` to the outermost `.app` -- a caller holding an executable, which every macOS caller does, cannot reintroduce this from outside. A loose development build is returned unchanged. The old end-to-end test could not see the defect: it planted the app root as a directory holding one marker and asserted the root was gone, and "removed the bundle" and "removed the one file the plan named" are the same observation from a root like that. Its bundle now holds `omega`, `cli`, `omega-identity-proof`, `omega-effectd` and its Node runtime, named independently of the plan, and every one is read back after the real script runs. Three `zed --*` literals (omega#93) shipped in the signed `cli`'s interactive prompt -- `zed --existing`, `zed --classic`, `zed <path>` -- in a panel whose surrounding copy says "Omega window" and "Omega settings". Substituting our own name leaves each true, so by OMEGA-DELTA-0031's own written rule they are product claims. They passed because `is_prose` needs three tokens, a blind spot the rc16 notes had already recorded and nobody had closed. The prompt now builds every command form from `paths::BINARY_NAME`, and the blind spot is narrowed rather than papered over: the inventory admits a command form -- a brand word in argv[0] followed by flags, placeholders or paths -- in all three streams, on both the Python and the Rust side. A denylist entry would have reproduced the defect the inverted inventory was built to end. The width was measured, not asserted: this shape adds 3 items across the tree, exactly the three defects; any two-token literal starting with a brand word adds 11; a bare brand token adds 58. Proved against the product. The plan was derived by running the built `cli --uninstall` with `OMEGA_UNINSTALL_DRY_RUN=1` under an isolated HOME against a fabricated bundle: before, `remove: .../Omega.app/Contents/MacOS/omega`; after, `remove: .../Omega.app`. Nothing was ever run against `/Applications`. And the prompt was made to render -- the built `cli` under a pty against a stand-in that performs the real IPC handshake -- showing `omega <path>`, `omega --existing` and `omega --classic`. omega#93 could only record a shipped-string result; this is a render. What is still unobserved is whether a running Omega ever reaches the four conditions that send the prompt. Falsified, each edit probed in the file and in the rebuilt binary before its test ran. Reverting the call site alone did not reproduce the defect, because the normalization defends it -- reverting both did, in the product's own dry-run output, and failed three tests including the end-to-end one on a surviving `cli`. Restoring `zed --existing` failed the prompt test, the unclassified-prose test and `script/verify-omega-brand`. Disabling the command-form rule failed its test; removing it from the shell gate while keeping it in Rust failed the parity assertion. Release Notes: - Fixed `omega --uninstall` leaving the application bundle behind. It removed the main executable and reported success, so a signed, non-functional `Omega.app` -- with a second copy of the CLI and a bundled Node runtime inside it -- survived in `/Applications` and had to be dragged out by hand. - Fixed the CLI's first-run open-behavior prompt showing another editor's commands (`zed --existing`, `zed --classic`, `zed <path>`) beside copy that names Omega. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

Commit
1f732301f0bc5d9cd9d94303f7a53ec4a4b69ad5
Author
AtlantisPleb
Authored
Parents
e5b422b1a795
Diffstat
+641 31 across 5 files
View changes
Served at tenant.openagents/omega Member data and write actions are omitted.