4.8 KiB
| id | ticket | title | status | created | completed | tags | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| PLN-0063 | studio-editor-workspace-cleanup | Legacy LSP and VFS Module Removal with Runtime Preservation | done | 2026-05-05 | 2026-05-05 |
|
Objective
Remove the legacy prometeu-lsp and prometeu-vfs modules and all remaining code references to them while preserving compiler, shipper, play, run, and debug flows that do not depend on the editor stack.
Background
DEC-0031 treats the current prometeu-lsp and prometeu-vfs modules as part of the embedded editor legacy stack. The Studio execution path must continue to compile, build, package, and run projects through the existing compiler and runtime orchestration layers.
Scope
Included
- Remove
prometeu-lspmodules from Gradle settings and codebase references. - Remove
prometeu-vfsmodules from Gradle settings and codebase references. - Remove tests dedicated to these legacy modules.
- Verify
StudioShipperService,StudioPlayStopCoordinator, and runtime/debug flows remain intact.
Excluded
- Shell/editor state cleanup handled by a separate plan.
- Documentation/spec/lesson cleanup handled by a separate plan.
- New replacement backend services.
Execution Steps
Step 1 - Remove Gradle module registration for legacy editor stack modules
What: Stop building the legacy prometeu-lsp and prometeu-vfs modules.
How: Remove the module includes and any direct module dependencies that point to prometeu-lsp:* and prometeu-vfs:*, then fix resulting build graph fallout in Studio modules.
File(s): settings.gradle.kts, affected build.gradle.kts files in prometeu-app, prometeu-studio, and module directories.
Step 2 - Remove legacy module source trees and direct test coverage
What: Delete the legacy prometeu-lsp and prometeu-vfs code once all consumers are detached.
How: Remove module source files and their dedicated tests only after production call sites no longer compile against them.
File(s): prometeu-lsp/**, prometeu-vfs/**, related test sources in prometeu-studio.
Step 3 - Preserve compiler and shipper build flow
What: Ensure build preparation still uses the canonical compiler pipeline without editor legacy dependencies.
How: Validate and adjust StudioShipperService and any shipper/build callers so they continue using BuilderPipelineService, BuilderPipelineConfig, and BuilderPipelineContext directly without reintroducing removed editor-layer seams.
File(s): prometeu-studio/src/main/java/p/studio/shipper/StudioShipperService.java, affected compiler/shipper integration tests.
Step 4 - Preserve play, run, and debug execution flow
What: Ensure runtime orchestration continues to function after legacy module removal.
How: Re-test and patch StudioPlayStopCoordinator, runtime handshake services, execution session handling, and debug workspace projections if any hidden import or event dependency pointed at removed editor-stack modules.
File(s): prometeu-studio/src/main/java/p/studio/execution/StudioPlayStopCoordinator.java, prometeu-studio/src/main/java/p/studio/debug/runtime/**, prometeu-studio/src/main/java/p/studio/workspaces/debug/**, related tests.
Test Requirements
Unit Tests
- Update or remove module-specific tests for
prometeu-lspandprometeu-vfs. - Preserve unit coverage for execution session, play/stop coordination, and runtime handshake behavior.
Integration Tests
- Run compiler pipeline integration tests that cover
analyze,compile, andbuild. - Run shipper/build integration tests that exercise
StudioShipperService. - Run runtime/debug integration or coordinator tests that validate play/stop behavior.
Manual Verification
- Trigger Studio build flow and confirm artifact generation still works.
- Trigger Studio play flow and confirm runtime launch/stop still works.
- Open Debug and Shipper workspaces and confirm they remain operational.
Acceptance Criteria
prometeu-lspis no longer part of the build graph.prometeu-vfsis no longer part of the build graph.- No production Studio class imports legacy
LSPorVFSmodule types. - Compiler and shipper build flows still work.
- Play/run/debug flows still work without the removed modules.
Dependencies
DEC-0031accepted and normatively locked.- Shell/session cleanup completed enough that no surviving production code still requires legacy
LSP/VFStypes.
Risks
- Hidden transitive dependencies may keep the build graph coupled to removed modules longer than expected.
- Runtime or debug flows may have indirect event or session assumptions not obvious from imports alone.
- Deleting modules too early may obscure compile errors that should instead be fixed in surviving Studio code first.