prometeu-studio/discussion/workflow/plans/PLN-0063-legacy-lsp-and-vfs-module-removal-with-runtime-preservation.md
2026-05-05 11:14:45 +01:00

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
studio
editor
cleanup
lsp
vfs
runtime

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-lsp modules from Gradle settings and codebase references.
  • Remove prometeu-vfs modules 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-lsp and prometeu-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, and build.
  • 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-lsp is no longer part of the build graph.
  • prometeu-vfs is no longer part of the build graph.
  • No production Studio class imports legacy LSP or VFS module types.
  • Compiler and shipper build flows still work.
  • Play/run/debug flows still work without the removed modules.

Dependencies

  • DEC-0031 accepted and normatively locked.
  • Shell/session cleanup completed enough that no surviving production code still requires legacy LSP/VFS types.

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.