5.4 KiB
5.4 KiB
| id | ticket | title | status | created | resolved | decision | tags | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| AGD-0034 | studio-editor-workspace-cleanup | Limpeza completa do Workspace Editor do Studio e remoção dos acoplamentos legados | accepted | 2026-05-05 | 2026-05-05 | DEC-0031 |
|
Pain
O repositório ainda carrega um Workspace Editor no prometeu-studio junto com camadas de VFS e LSP desenhadas especificamente para esse editor embutido.
Esse conjunto virou um legado arquitetural:
- o editor JavaFX não é mais a direção do produto;
- o
prometeu-vfsatual está acoplado ao modelo editorial do editor embutido; - o
prometeu-lspatual está acoplado aoVFSe ao host local do Studio; - e manter essa base viva só aumenta o custo da futura reconstrução correta do backend de código.
Context
- O monorepo já separa
prometeu-compiler,prometeu-packereprometeu-studio, mas oprometeu-lspe oprometeu-vfsatuais nasceram como suporte ao editor embutido. - A capacidade de compilação dos projetos deve continuar existindo no Studio.
- O alvo imediato não é discutir o novo LSP nem o novo contrato de automação.
- O alvo imediato é remover:
- o
Workspace Editor; - o
prometeu-lsplegado usado por ele; - e o
prometeu-vfsacoplado a esse modelo editorial.
- o
- O Studio continua existindo como produto fora do editor:
- shell e launcher de projeto;
- assets workspace;
- shipper/build surfaces;
- play/stop e integração com runtime/debug.
- Uma agenda futura poderá discutir a reconstrução do backend de código e do novo servidor LSP, mas isso fica fora deste artefato.
Open Questions
- Quais partes do
prometeu-vfsatual pertencem exclusivamente aoWorkspace Editore podem ser removidas integralmente? - Existe algum consumer ainda válido do
prometeu-lsplegado fora do editor embutido? - O fluxo
playou qualquer outro fluxo do Studio depende hoje, mesmo indiretamente, de APIs do editor legado, doVFSlegado ou doLSPlegado? - A limpeza deve remover apenas código de produção ou também specs, testes, lessons e referências que tratam o editor embutido como superfície ativa?
- Quais contratos de compilação precisam ser preservados explicitamente enquanto a camada de edição é removida?
Options
Option A - Manter o editor legado até a reconstrução completa do backend de código
- Approach: adiar a limpeza e preservar temporariamente
Workspace Editor,prometeu-vfslegado eprometeu-lsplegado até o novo backend existir. - Pro: menor ruptura imediata.
- Con: prolonga a vida do legado, aumenta custo de manutenção e deixa a futura reconstrução mais confusa.
- Maintainability: fraca.
Option B - Limpeza completa agora, preservando apenas a compilação do Studio
- Approach: remover
Workspace Editor,prometeu-lsplegado e oprometeu-vfsacoplado a esse modelo, mantendo apenas as superfícies de compilação e execução que não dependem desse stack. - Pro: reduz o legado antes da reconstrução, clarifica boundaries e impede que o futuro LSP nasça comprometido por compatibilidade acidental.
- Con: cria um período sem editor embutido e sem backend de código novo dentro do Studio.
- Maintainability: forte.
Vamos de Option B.
Discussion
O trabalho desta agenda não é desenhar o novo backend de código.
O trabalho desta agenda é remover o legado que impediria esse redesenho.
Isso implica alguns cortes diretos:
- o
Workspace Editordeixa de ser superfície ativa do Studio; - o
prometeu-lspatual deixa de ser tratado como base evolutiva; - o
prometeu-vfsatual, por ser acoplado ao modelo editorial do editor embutido, sai junto com esse stack; - as capacidades de compilação, build e execução que não dependem desse stack devem ser preservadas.
O princípio aqui é de limpeza arquitetural antes de reconstrução:
- não carregar compatibilidade acidental com o editor antigo;
- não manter um
VFSouLSPcujo contrato nasce de um modelo que já foi abandonado; - e não misturar, nesta discussão, a limpeza do legado com o desenho do futuro servidor LSP.
Isso também reduz o risco de falsa migração:
- em vez de adaptar o editor atual, o repositório assume explicitamente que ele vai morrer;
- em vez de reaproveitar um
LSPembrionário acoplado ao host local, o repositório aceita que um novo backend de código será desenhado depois; - e em vez de preservar o
VFSpor inércia, o repositório valida se ele ainda possui valor fora do modelo que o originou.
Resolution
Recomendação preliminar:
- seguir com a Option B;
- tratar esta agenda exclusivamente como limpeza completa do
Workspace Editordo Studio; - remover junto o
prometeu-lsplegado e oprometeu-vfsacoplado a esse modelo; - preservar explicitamente a capacidade de compilação e os fluxos do Studio que não dependem desse stack;
- e abrir uma discussão futura separada para o backend de código novo, o novo LSP e o contrato de automação.
Next Step
Se a direção fizer sentido, o próximo passo disciplinado é fechar uma decision com:
- o escopo exato da remoção do
Workspace Editor; - o escopo exato da remoção do
prometeu-lsplegado; - o escopo exato da remoção do
prometeu-vfsacoplado a esse modelo; - as capacidades de compilação e execução que devem sobreviver intactas;
- e os artefatos normativos, testes e código que precisam ser limpos ou preservados.