2.8 KiB
2.8 KiB
| id | ticket | title | status | created | completed | ref_decisions | tags | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| PLN-0113 | multi-frontend-remove-pbs-branches | Migrate completion to generic frontend models | done | 2026-07-15 | 2026-07-15 |
|
|
Briefing
DEC-0042 requires completion to move from PBS-specific editorial models to generic frontend models while preserving PBS completion behavior and deterministic fallback for frontends without completion support.
Objective
Migrate LSP completion handling to generic frontend completion models exposed through the selected provider's optional language service.
Dependencies
- Depends on
PLN-0111. - Should run after
PLN-0112so the bridge already has the provider/capability lookup pattern.
Scope
- Map PBS completion candidates to generic
FrontendCompletionCandidatevalues. - Update LSP completion mapping to consume generic models.
- Preserve labels, details, kinds, origin/documentation fallback, and existing PBS behavior.
Non-Goals
- Changing completion ranking or filtering.
- Expanding PBS completion depth.
- Migrating hover or signature help in this plan.
- Removing all PBS imports from LSP if hover/signature still depend on them.
Execution Method
- Inspect
PbsEditorialCompletionCandidate,PbsEditorialSymbolKind, and LSPmapCompletionItem(...). - Ensure
FrontendCompletionCandidatecan represent label, kind, detail, documentation, and origin or equivalent text. - Add PBS adapter code inside
PBSFrontendLanguageServiceor the PBS frontend boundary to return generic completion candidates. - Update
CompilerLanguageServiceBridge.completion(...)to call the generic completion capability throughFrontendProvider.languageService(). - Replace PBS-specific completion-kind mapping with mapping from
FrontendSymbolKindtoBaselineCompletionItemKind. - Preserve empty completion fallback when language service or completion capability is absent.
Acceptance Criteria
- LSP completion no longer consumes
PbsEditorialCompletionCandidate. - Completion kind mapping uses generic frontend kinds.
- Existing PBS completion tests pass without user-visible behavior changes.
- Missing capability returns a valid empty
BaselineCompletion.
Tests
- Existing PBS completion/editorial tests.
CompilerLanguageServiceBridgeTestcompletion cases.- Compile-only provider completion fallback test.
Affected Artifacts
prometeu-compiler/prometeu-frontend-api/src/main/java/p/studio/compiler/services/...prometeu-compiler/frontends/prometeu-frontend-pbs/src/main/java/p/studio/compiler/PBSFrontendLanguageService.javaprometeu-lsp/prometeu-lsp-v1/src/main/java/p/studio/lsp/services/compiler/CompilerLanguageServiceBridge.java- Completion-related tests.