refactor(app): remove the vestigial mode toggle; client is the only mode (RIG-3111) - #828
Closed
rigel-mintaka wants to merge 1 commit into
Closed
refactor(app): remove the vestigial mode toggle; client is the only mode (RIG-3111)#828rigel-mintaka wants to merge 1 commit into
rigel-mintaka wants to merge 1 commit into
Conversation
|
Compass engineering docs preview: https://compass-native-rig-3111-remo.compass-eng-docs.pages.dev Deployed from |
…ode (RIG-3111)
Embedded mode was retired in RIG-2554, so the app no longer supervises a stack and `client` is the only mode; the mode-selection machinery had become dead weight.
Go side: the `Mode` type, `ModeClient` const, `String()` method, and `modeStr*` consts are deleted. `Config` is now `{ServerURL, CACert}`. `Parse` drops the mode switch and calls `parseClient` directly after the unknown-key check.
The `mode` app.toml key is removed entirely (Option B, hard-remove, no compat shim): with the field gone from the TOML struct, a stale `mode = "client"` line is now an ordinary unknown-key rejection that names the offending key legibly — that IS the migration message.
UI side: the `window.__COMPASS_MODE__` global is KEPT — it still distinguishes the shell-from-browser boot path (`shellMode() === "client"` picks the native boot). Only its type union is narrowed from `"embedded" | "client"` to `"client"` and the dead 'embedded' prose is removed.
Spec-impact: supersedes compass-native-client-only design §A3 'sanctioned residue' (the mode="embedded" legible-rejection arm) — the mode key is removed entirely per Matt (RIG-3111).
Refs RIG-3111
Co-authored-by: Matt Wilkinson <matt@rigel.build>
rigel-mintaka
force-pushed
the
compass-native/rig-3111-remove-mode-toggle
branch
from
September 1, 2026 03:14
7a1e91c to
6b4a7ca
Compare
rigel-mintaka
marked this pull request as ready for review
September 1, 2026 03:17
Contributor
Author
|
Withdrawing: reversing course on mode removal. Per discussion with compass-obs, we're supporting BOTH podman and microVM runners going forward, which means embedded app mode stays (and needs finishing for macOS). RIG-3111 reopened/repurposed to track that work instead. This removal PR is superseded. |
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.
Embedded mode was retired in RIG-2554, so the app no longer supervises a stack and
clientis the only mode; the mode-selection machinery had become dead weight.Go side: the
Modetype,ModeClientconst,String()method, andmodeStr*consts are deleted.Configis now{ServerURL, CACert}.Parsedrops the mode switch and callsparseClientdirectly after the unknown-key check.The
modeapp.toml key is removed entirely (Option B, hard-remove, no compat shim): with the field gone from the TOML struct, a stalemode = "client"line is now an ordinary unknown-key rejection that names the offending key legibly — that IS the migration message.UI side: the
window.__COMPASS_MODE__global is KEPT — it still distinguishes the shell-from-browser boot path (shellMode() === "client"picks the native boot). Only its type union is narrowed from"embedded" | "client"to"client"and the dead 'embedded' prose is removed.Spec-impact: supersedes compass-native-client-only design §A3 'sanctioned residue' (the mode="embedded" legible-rejection arm) — the mode key is removed entirely per Matt (RIG-3111).
Refs RIG-3111
Co-authored-by: Matt Wilkinson matt@rigel.build