tenant.openagents/omega
No repository description is available.
30617:7649603503856e5148d571eac2766b288a8ff1e9e35d380337a1d2b0015b4f92:omegagit clone https://openagents.com/git/tenant.openagents/omega.gitUninstall Omega instead of somebody else, and read what ships
Uninstall Omega instead of somebody else, and read what ships `omega --uninstall`, advertised as "Uninstall Omega from user system", ran upstream's uninstaller verbatim. It removed the other editor's application bundle, its whole application-support tree, its logs, caches, preferences plist and saved application state, asked whether to keep *that* product's preferences, announced that *that* product had been uninstalled — and removed no Omega path at all. It is in the signed, notarized 0.2.0-rc13 and 0.2.0-rc14 (#88). The defect was not a wrong path. It was a hand-written path table in a shell script, disconnected from the code that creates those directories, inside a binary no check had ever opened. `script/verify-omega-brand --app` opened `Contents/MacOS/omega` and nothing else, while `script/bundle-omega-rc` copies and signs `cli` and `omega-identity-proof` beside it (#89). So both halves are fixed at the mechanism, not at the strings: - `script/uninstall.sh` holds no path of its own. `crates/cli/src/uninstall.rs` builds `UninstallRoots` — one field per place Omega writes, each read from the `paths::` function that writes it — destructures it exhaustively, and hands the plan over in `OMEGA_UNINSTALL_PATHS`. An empty or relative plan, `/`, `/Applications` and `$HOME` are refused before anything is removed. Settings and keymap are prompted for, never taken. - The packaged gate derives its executable set by walking the bundle for Mach-O magic, so `cli` and `omega-identity-proof` are inside every scan, and a helper added tomorrow is inside it the day it is added. - A new gate runs the shipped binaries with `--help` and `--version`, walks the subcommands it finds in that output, and reads what comes back — as blocks, because clap wraps. Nothing had ever read rendered help, which is how five classes of copy shipped under a green gate: "Run zed in the foreground", "Run zed in dev-server mode", "Instructs zed to run as a dev server", `--zed <ZED>`, and `~/Library/Application Support/Zed` given as the data root when the real one is `Omega RC`. - `brand.words` now carries lowercase `zed`. The recorded reason for excluding it — that it is a substring of "authorized" — was false; the boundary rule already handles that, and the exclusion was what hid the help text. 111 literals fell out: 79 were rewritten to Omega, 32 are classified as fork seams, third-party references or Zed's own services, with a reason each. - The doc scanner reads `#[cfg_attr(…, doc = …)]` and `#[doc = …]`, in both the Python and the Rust half. - `first_party_agent.phrases` is applied by a gate for the first time; it had been read by nothing but a source-tree test since it was written. - `X-Title: Zed Editor` and `HTTP-Referer: https://zed.dev` went out on every OpenRouter request, where the account holder reads the title in their own dashboard. Both now come from the identity constants. - The installed-proof harness (#90): the secret tripwire minted its own needle and closed both ends of the pipe it wrote it into, so `pass` was guaranteed; four of six surfaces watched directories Omega never writes and the live 191 KB log was never opened; and `light-theme`/`dark-theme` wrote `content_legible: True` as a literal with zero OCR calls and zero pixel diffs. Each now performs the observation, with the host flag demoted to a precondition and thresholds stated openly. `"dirty": False` in the release record is read from git. Falsified. The rewritten gate rejects the installed, signed, notarized 0.2.0-rc15 on 49 findings, including the uninstall script's text inside a file the old gate never opened and all five help defects; the rebuilt `cli` from this tree passes the same scan. Restoring the `~/Library/Application Support/Zed` line and rebuilding is caught only by the rendered gate, because clap wraps the path across two lines and neither fragment is a sentence. Dropping lowercase `zed`, reverting the doc scanner, un-calling the rendered gate, removing the derived executable inventory, planting a competitor's directory in the uninstall script, omitting `paths::logs_dir()` from the plan, and reaching into another product's tree each fail their check. Every falsification was probed against a pristine copy of the file before its test ran. One thing to know before touching this again: the first falsification of the uninstall delta restored the rc14 script and ran the suite, and one test did not override `HOME`. It destroyed this machine's other editor and its application-support tree — the exact damage #88 describes. Every test in that module now gets a `HOME` of its own. Release Notes: - Fixed `omega --uninstall`, which removed another editor's application, data, logs and preferences and left Omega installed. It now removes Omega's own application bundle, data, logs, cache, state and CLI symlink, asks before removing your settings and keymap, and touches nothing belonging to any other product. - Fixed `--help` on both shipped binaries naming a different editor as the product, including a `--user-data-dir` line that gave the wrong data directory. Renamed `--zed` to `--omega`; `--zed` still works. - Fixed Omega identifying itself to OpenRouter as a different editor, which was visible in your own OpenRouter dashboard. - Fixed the shipped keymap template pointing at a deprecated command name. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- Commit
68027e1027b2f65813236b860b414b05fa601505- Author
- AtlantisPleb
- Authored
- Parents
a96f6c051217- Diffstat
- +2971 −446 across 45 files