feat(workspace): turn workspaces on by default, with ALTIMATE_DISABLE_WORKSPACE as the kill switch - #1381
Draft
sahrizvi wants to merge 2 commits into
Draft
feat(workspace): turn workspaces on by default, with ALTIMATE_DISABLE_WORKSPACE as the kill switch#1381sahrizvi wants to merge 2 commits into
ALTIMATE_DISABLE_WORKSPACE as the kill switch#1381sahrizvi wants to merge 2 commits into
Conversation
…E_WORKSPACE` as the kill switch Workspaces leave the opt-in pilot. `ALTIMATE_WORKSPACE` is retired and has no effect; `ALTIMATE_DISABLE_WORKSPACE=1` turns every part of the feature off. - `Flag.ALTIMATE_WORKSPACE` becomes `Flag.ALTIMATE_DISABLE_WORKSPACE`; every gate is inverted, so the former flag-off paths are now the kill-switch paths (hidden `link` / `skill publish` stubs, 409 on `/workspace` routes, the per-turn purge of already-synced workspace skills). - Messages that told users to "restart with ALTIMATE_WORKSPACE unset" to edit a workspace-managed MCP entry by hand now name the kill switch. - Test preload sets the kill switch so the suite keeps the old isolation: workspace code starts background syncs that outlive a test and reach the network once its `fetch` stub is restored. Workspace tests clear it and restore it afterwards; `launch-resolve.test.ts` now restores instead of deleting. - New `kill-switch.test.ts` checks the default (unset means on), the switch, and that the retired variable is ignored. - Docs: `usage/cli.md` and `configure/skills.md` drop the pilot wording and document the kill switch. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_018fJ3X7pcGT4R9yzjsJnqsV
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The refusal read "Workspace mode is not enabled for this server.", which no longer tells an operator what to change now that workspaces are on by default. It now says "Workspaces are turned off on this server because ALTIMATE_DISABLE_WORKSPACE is set.", and the route test asserts the exact body. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_018fJ3X7pcGT4R9yzjsJnqsV
Collaborator
Author
End-to-end verificationResult: every check passed in both modes. Six areas were not exercised; they are listed at the end. Approach
Results
Findings
Not covered
CleanupThe test project was unlinked through |
This branch has not been deployed
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.
Issue for this PR
No tracking issue. Workspaces leave the opt-in pilot.
Type of change
What does this PR do?
Turns workspaces on by default. The opt-in flag
ALTIMATE_WORKSPACEis retired (setting it now does nothing) andALTIMATE_DISABLE_WORKSPACE=1is the kill switch that turns every part of the feature off.Because there is a kill switch, the old "pilot off" code is kept rather than deleted: every gate is inverted, so what used to run for non-pilot users now runs when the switch is set. That includes the hidden
link/skill publishstubs, the 409 on theserveworkspace routes, and the per-turn cleanup that takes already-synced workspace skills out of service. The five error messages that told users to "restart with ALTIMATE_WORKSPACE unset" to edit a workspace-managed MCP entry by hand now name the kill switch. Theserveworkspace routes' 409 now says "Workspaces are turned off on this server because ALTIMATE_DISABLE_WORKSPACE is set." instead of "Workspace mode is not enabled for this server."What reaches every user signed in to Altimate with this change:
originURL (credentials stripped) and the absolute project path. The "not linked" answer is cached for 5 minutes in memory, so a long-running TUI orserverepeats it at most every 5 minutes, but every separatealtimate-code runlooks up once. A failed lookup (backend unreachable) is not cached, so it is retried every turn; the turn waits at most 2s for it./workspacemenu, the sidebar tile,link,skill publish, and thememory_refreshtool.Users not signed in to Altimate make no workspace requests.
Other changes:
test/preload.tssets the kill switch for the whole suite, and the workspace tests clear it and restore it. This keeps the test environment as it was onmain: with workspaces on by default, unrelated test files left background skill syncs running against the real network after theirfetchstub was restored, which hung later tests.launch-resolve.test.tsnow restores the switch instead of deleting it.test/altimate/workspace/kill-switch.test.tschecks the default (unset means on), the switch, and that the retired variable is ignored. It fails if the old opt-in check is put back.usage/cli.mdandconfigure/skills.mddrop the pilot wording and document the switch.Not in this PR: the CHANGELOG entry, which goes in the release PR as usual. It needs to say that workspaces are now on for everyone, including the lookup traffic above.
Known leftovers:
alwaysApply/applyPathsfrom their frontmatter, as they did in the pilot. With default-on, anyone who can upload a skill to a workspace can add standing instructions to every linked member's prompt. This was approved for the pilot and has been re-approved for this change; the note inskill-sync.tsis unchanged.How did you verify your code works?
packages/opencode,packages/core) and the strictaltimate_changemarker check pass.packages/opencodesuite was run twice on this branch and once onmain: no failures unique to this branch.flushPendingSyncs waits for a sync…fails onmaintoo, and therunsubprocess tests are flaky on both.Screenshots / recordings
None; TUI checks were captured as text (see the E2E comment).
Checklist
🤖 Generated with Claude Code
https://claude.ai/code/session_018fJ3X7pcGT4R9yzjsJnqsV