7.3 KiB
| id | discussion | decision | ticket | title | status | created | updated | owner | tags | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| PLN-0040 | DSC-0021 | DEC-0019 | studio-frontend-editor-write-and-save-wave | Implement the frontend editor write and save wave through VFS ownership | done | 2026-04-04 | 2026-04-04 | studio |
|
Briefing
Implement the accepted frontend write wave for the Studio Code Editor.
Frontend editing and frontend save must be released together, must remain owned by prometeu-vfs, and must be consumed by Studio UI without introducing a new immediate LSP implementation wave.
Objective
Move frontend-scoped supported files from hard read-only to VFS-owned editable/saveable documents while preserving the current boundary:
prometeu-vfsowns document state and persistence;prometeu-lspremains a semantic consumer of VFS-backed snapshots;- Studio UI remains a policy consumer.
Dependencies
DEC-0019Enable Frontend Editing and Save in the Studio Code Editor- existing
prometeu-vfseditable snapshot and save model for non-frontend textual documents - existing Studio editor consumption of VFS access mode and save behavior
- existing semantic-read seam where
prometeu-lspreads VFS-backed frontend snapshots
Scope
- propagate the new FE write/save contract into Studio and VFS specs
- extend
prometeu-vfsso frontend-scoped supported files become editable/saveable - keep FE writable snapshots, dirty tracking, and save ownership inside VFS
- update Studio editor behavior to consume FE editability from VFS
- update FE write/save tests in VFS and Studio
Non-Goals
- any new LSP feature implementation wave
- per-file FE access policy
- partial FE draft mode without save
- moving persistence logic into Studio UI
- moving persistence logic into
prometeu-lsp
Execution Method
1. Propagate the accepted contract into specs
Update the Studio specs that still describe FE files as hard read-only so they now describe the new FE write/save wave and preserve VFS ownership plus semantic-consumer-only LSP ownership.
Targets:
docs/specs/studio/5. Code Editor Workspace Specification.mddocs/specs/studio/6. Project Document VFS Specification.mddocs/specs/studio/7. Integrated LSP Semantic Read Phase Specification.md
2. Change FE access policy in prometeu-vfs
Update the filesystem-backed VFS classification so frontend-scoped supported files become EDITABLE rather than READ_ONLY, while preserving frontend classification itself.
What changes:
- document kind classification for FE files
- VFS acceptance of FE
updateDocument - VFS save/save-all behavior for FE snapshots
- FE dirty tracking semantics under the same VFS owner model already used for editable non-frontend documents
Targets:
prometeu-vfs/prometeu-vfs-v1/src/main/java/p/studio/vfs/FilesystemVfsProjectDocument.java- any supporting VFS API contracts if required by the implementation
Dependency ordering:
- this step must land before Studio editor UX changes so the UI can consume the new policy rather than invent it.
3. Update VFS tests for FE edit/save behavior
Replace tests that assert FE hard read-only behavior with tests that assert:
- FE documents open as frontend documents with
EDITABLEaccess mode; - FE documents accept
updateDocument; - FE documents save correctly through
saveDocument; - FE documents participate correctly in
saveAllDocuments.
Targets:
prometeu-vfs/prometeu-vfs-v1/src/test/java/p/studio/vfs/FilesystemVfsProjectDocumentTest.java
4. Propagate FE editability into the Studio editor
Update the Studio editor to consume the new FE access mode from VFS exactly as it already does for editable non-frontend documents.
What changes:
- FE tabs become editable when VFS reports
EDITABLE - FE warning surfaces that are specific to hard
read-onlyFE behavior must be revised or removed - editor save/save-all enablement must work for dirty FE buffers through the existing VFS-backed flow
- no FE-local persistence path may be introduced
Targets:
prometeu-studio/src/main/java/p/studio/workspaces/editor/EditorWorkspace.javaprometeu-studio/src/main/java/p/studio/workspaces/editor/EditorStatusBar.java- any FE-warning or editor-session support classes affected by access-mode transition
Dependency ordering:
- this step depends on VFS access-mode propagation from Step 2.
5. Keep LSP integration stable without opening new implementation scope
Verify that the existing editor and semantic-read flow still calls prometeu-lsp as a consumer of FE snapshots, but do not introduce a new LSP implementation wave.
What changes:
- only compatibility adjustments that are strictly necessary because FE snapshots are now editable may be made;
- no new semantic features, refresh model, or ownership expansion is authorized here.
Targets:
- only the minimum compatibility surface if compilation or existing tests require it
Dependency ordering:
- this is verification-oriented and should follow the VFS/editor write changes.
6. Update Studio tests for FE editable/saveable behavior
Add or revise editor tests so they assert FE files are no longer treated as permanently hard read-only once VFS grants FE EDITABLE access mode.
Targets:
- Studio editor tests under
prometeu-studio/src/test/java/p/studio/workspaces/editor/... - any session/editor tests affected by FE access-mode transition
Acceptance Criteria
- Frontend-scoped supported files open through VFS with
EDITABLEaccess mode. - Frontend-scoped supported files can be updated and saved through VFS-owned snapshots.
- Studio editor FE tabs become editable only because VFS reports them as editable.
- FE save and save-all route through the same VFS owner path used by other editable documents.
- No new persistence or access-policy ownership moves into Studio UI.
- No new persistence or access-policy ownership moves into
prometeu-lsp. - Specs no longer describe FE files as hard
read-onlyfor the current wave.
Tests
- VFS tests for FE access mode, update, save, and save-all
- Studio editor tests for FE editable/saveable behavior
- regression tests that confirm non-frontend editable documents still behave correctly
- compile/test verification that existing LSP consumer seams still pass without opening new LSP feature scope
Affected Artifacts
discussion/workflow/decisions/DEC-0019-studio-frontend-editor-write-and-save-wave.mddocs/specs/studio/5. Code Editor Workspace Specification.mddocs/specs/studio/6. Project Document VFS Specification.mddocs/specs/studio/7. Integrated LSP Semantic Read Phase Specification.mdprometeu-vfs/prometeu-vfs-v1/src/main/java/p/studio/vfs/FilesystemVfsProjectDocument.javaprometeu-vfs/prometeu-vfs-v1/src/test/java/p/studio/vfs/FilesystemVfsProjectDocumentTest.javaprometeu-studio/src/main/java/p/studio/workspaces/editor/...- Studio editor tests
Risks
- existing specs and tests currently encode the old hard
read-onlyFE contract and will fail until all propagation lands coherently - FE warning/UI surfaces may assume old read-only semantics in more than one place
- LSP snapshot consumption could reveal hidden assumptions about FE immutability even without opening a new LSP scope
- if implementation order is reversed and Studio is changed before VFS policy, UI code may drift into local heuristics