Skip to content

feat(settings): one settings map on every surface, and a simpler GLaDOS - #60

Merged
BreakTheBeta merged 2 commits into
mainfrom
reset-or-delete-glados
Sep 21, 2026
Merged

BreakTheBeta merged 2 commits into
mainfrom
reset-or-delete-glados

Conversation

@BreakTheBeta

@BreakTheBeta BreakTheBeta commented Sep 21, 2026 •

Copy link
Copy Markdown
Owner

Settings were organised differently on each platform. Web had 12 sections, with about 45 controls in General. Mobile had 5 groups spread over roughly 25 screens, under different names. On an unfolded phone, mobile showed the phone layout stretched wide. GLaDOS setup was split between a web-only brief dialog and a mostly read-only mobile panel. That brief had 12 settings and three sets of defaults (3 or 10 workers). Some mobile GLaDOS buttons could never appear, and there was no way to reset it.

Settings

  • Shared section list. One nine-section map lives in @t3tools/client-runtime/settings-sections: General, Appearance, Agents, GLaDOS, Threads, Git & worktrees, Tools, Connections, About. Web, desktop and mobile all render it with the same labels and order.
  • Web. Controls moved into the nine sections; none were removed. Search, breadcrumbs and the command palette follow the registry. Old URLs (/settings/providers, integrations, snap-shot, scheduled-tasks, source-control, storage, archived) redirect to their new section. The keyboard shortcut table stays a sub-page of General.
  • Mobile, phone. The root screen shows an "Editing " row, then the nine sections, each opening one screen. The existing rows are reused.
  • Mobile, unfolded or tablet. A sidebar plus detail pane, matching desktop.

GLaDOS

  • Contract. A new user-only reset action, plus a shared defaultPitbossBrief (3 workers, 3 attempts) and pitbossAutonomy / withPitbossAutonomy helpers.
  • Server reset. Cancels this environment's open work but leaves mirrored peer tasks alone. Marks leads dormant and acknowledges messages. Keeps the role and brief, with a new generation that fences out the old coordinator. Then it archives the home thread and elects a fresh one. Because the brief is kept, a failed re-election can be retried without losing it.
  • Settings page, same on web and mobile.
    • Status with Pause and Open GLaDOS.
    • Priorities and Projects.
    • One Autonomy choice, Ask me / Full auto, which sets GLaDOS permissions, worker permissions and verification together.
    • Model.
    • Advanced, folded: workers, attempts, an optional quality bar, a fallback model and its guidance, and the peer allow-list.
    • Task sources and Peers.
    • Reset and Dismiss, both confirmed.
  • Removed. The web BriefForm dialog, the "Connections and administration" config fold, the separate permission and verification selects, the peer "Reply to message ID" debug field, and the mobile "Brief & team" config panel along with its unreachable buttons.
  • Task sources. A blank connection name is filled in from the tracker kind, and the Linear URL is prefilled.
  • User docs. Updated for the new settings paths and the GLaDOS page.

Known gaps

  • On mobile, the GLaDOS model is shown read-only; the model picker only works as a standalone route.
  • Mobile has no settings search, and the notification rows are unchanged.
  • The GLaDOS section row shows a static summary, not live status.
  • Native mobile hasn't been run on a device.
  • Unrelated to this PR: the web app fails to boot in dev mode (bundled or not) with $RefreshReg$ is not defined. main does the same.

Screenshots

These are from the real app, using a production web build with a copy of real data. The GLaDOS brief below is an existing one: its permissions are mixed, so Autonomy shows as custom with neither option selected, and it predates the new 3-worker default, so it shows 10.

GLaDOS settings on desktop (top of page, then end of page)
GLaDOS settings, desktop, top
GLaDOS settings, desktop, end

General, Threads and Tools
General
Threads
Tools

Web at unfolded and phone widths

Native mobile (mockups, not screenshots)
Native mobile couldn't be captured because agent device access is off on this environment. These mockups show what the code implements:

Verification

  • In a production web build, all nine sections render, and every old settings URL redirects to its new section.
  • tsc --noEmit is clean for contracts, client-runtime, server, web and mobile.
  • Tests pass: the GLaDOS server tests (Home, Work, WorkRuntime), including new reset tests; the web settings and pitboss tests; and the mobile settings and GLaDOS tests.

Built by Claude Opus 5 (1M context) in Claude Code, running in T3 Code.

🤖 Generated with Claude Code

Web, desktop and mobile now share one nine-section settings map
(General, Appearance, Agents, GLaDOS, Threads, Git & worktrees, Tools,
Connections, About) defined in client-runtime. Unfolded and tablet
mobile layouts render it as a sidebar and detail pane like desktop.
Old web settings URLs redirect to their new sections.

GLaDOS gets a single settings page on every surface: priorities,
projects, one Autonomy choice, model, and folded Advanced limits.
All clients share one default brief. A new user-only reset action
cancels open local work, archives the home conversation and elects a
fresh home with the same brief. Reset and dismiss both ask for
confirmation. Sources and peers moved into the settings page.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL labels Sep 21, 2026
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@BreakTheBeta
BreakTheBeta merged commit d1942da into main Sep 21, 2026
10 of 20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant