92 lines
4.8 KiB
Markdown
92 lines
4.8 KiB
Markdown
---
|
|
id: PLN-0063
|
|
ticket: studio-editor-workspace-cleanup
|
|
title: Legacy LSP and VFS Module Removal with Runtime Preservation
|
|
status: done
|
|
created: 2026-05-05
|
|
completed: 2026-05-05
|
|
tags: [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
|
|
|
|
- [x] `prometeu-lsp` is no longer part of the build graph.
|
|
- [x] `prometeu-vfs` is no longer part of the build graph.
|
|
- [x] No production Studio class imports legacy `LSP` or `VFS` module types.
|
|
- [x] Compiler and shipper build flows still work.
|
|
- [x] 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.
|