prometeu-studio/discussion/lessons/DSC-0031-studio-editor-workspace-cleanup/LSN-0049-remove-the-embedded-editor-stack-before-rebuilding-code-workflows.md
2026-05-08 09:17:43 +01:00

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
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