--- id: LSN-0049 discussion: DSC-0031 title: Remove the embedded editor stack before rebuilding code workflows status: done created: 2026-05-08 updated: 2026-05-08 tags: [studio, editor, cleanup, lsp, vfs, shell, migration] --- ## Original Problem Studio still carried an embedded `Code Editor` workspace together with a `prometeu-vfs` boundary and a legacy `prometeu-lsp` path that existed only to support that editor. That stack had become architectural drag: - the JavaFX editor was no longer a product direction; - the legacy `VFS` and `LSP` contracts were shaped around that editor model; - shell state and project session still persisted editor-specific assumptions; - and keeping those surfaces alive made any future code-backend redesign harder. ## Consolidated Decision `DEC-0031` locked a full cleanup of the embedded editor stack. The repository removed: - the `Code Editor` workspace as an active Studio surface; - the legacy editor-owned `VFS` boundary; - the legacy editor-era `LSP` assumptions; - shell/session/state dependencies that expected the editor to exist; - and normative references that treated that stack as current architecture. The decision also locked an equally important limit: - this cleanup was not allowed to define the future code backend; - a replacement LSP or automation boundary had to come later, in separate discussion. ## Final Result The Studio shell now opens with surviving workspaces only: `Assets`, `Debug`, and `Shipper`. Project-local state no longer persists editor restoration or editor layout fields, while still loading old state safely and falling back to surviving shell behavior. The cleanup also succeeded without freezing the repository in a "no LSP ever again" state. Later work in `DSC-0032` introduced a new project-scoped LSP boundary as separate architecture, which is exactly what `DEC-0031` required: remove the old stack first, then rebuild cleanly under a new decision. ## Implementation Notes The cleanup landed in three coordinated waves: 1. shell/session/state cleanup removed `WorkspaceId.EDITOR`, editor restoration state, and editor-owned session composition; 2. the old editor-era `VFS` and `LSP` stack stopped being the active Studio foundation; 3. specs, tests, and historical references were revised so the removed editor stack no longer appears as current product guidance. This produced an important boundary reset: - Studio remains responsible for launcher, assets, shipper, debug, build, and run orchestration; - code-editing architecture is no longer smuggled in through dead UI or legacy session seams. ## Example Before the cleanup, an old `.studio/state.json` could still restore editor-centric state. After the cleanup, the same persisted payload is treated defensively: - old editor fields are ignored; - the selected workspace falls back safely when `EDITOR` is present; - the project reopens into a surviving workspace instead of reviving a dead surface. ## Pitfalls and Anti-Patterns - Do not preserve dead editor-era boundaries "for compatibility" when the product direction has already moved. - Do not treat naming continuity as architectural continuity. A later `prometeu-lsp` module can be valid if it comes from a new discussion and a new boundary. - Do not leave project-local state as an accidental migration trap; persisted legacy fields must degrade safely. ## References - `AGD-0034` Limpeza completa do Workspace Editor do Studio e remoção dos acoplamentos legados - `DEC-0031` Limpeza completa do Workspace Editor do Studio e remoção dos acoplamentos legados - `PLN-0062` Shell Session and State Cleanup After Editor Removal - `PLN-0063` Legacy LSP and VFS Module Removal with Runtime Preservation - `PLN-0064` Normative Test and Lesson Cleanup for Editor Stack Removal - `LSN-0047` Project-scoped LSP boundary and protocol containment