3.8 KiB
| id | discussion | title | status | created | updated | tags | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LSN-0049 | DSC-0031 | Remove the embedded editor stack before rebuilding code workflows | done | 2026-05-08 | 2026-05-08 |
|
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
VFSandLSPcontracts 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 Editorworkspace as an active Studio surface; - the legacy editor-owned
VFSboundary; - the legacy editor-era
LSPassumptions; - 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:
- shell/session/state cleanup removed
WorkspaceId.EDITOR, editor restoration state, and editor-owned session composition; - the old editor-era
VFSandLSPstack stopped being the active Studio foundation; - 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
EDITORis 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-lspmodule 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-0034Limpeza completa do Workspace Editor do Studio e remoção dos acoplamentos legadosDEC-0031Limpeza completa do Workspace Editor do Studio e remoção dos acoplamentos legadosPLN-0062Shell Session and State Cleanup After Editor RemovalPLN-0063Legacy LSP and VFS Module Removal with Runtime PreservationPLN-0064Normative Test and Lesson Cleanup for Editor Stack RemovalLSN-0047Project-scoped LSP boundary and protocol containment