prometeu-studio/discussion/workflow/agendas/AGD-0055-pbs-lsp-document-links.md
bQUARKz 099857b636
implements PLN-0137 (1/7) diagnostic-source
Lock DSC-0066 on Q1-A and Q2-A. Retire AGD-0048 through AGD-0056
into AGD-0069, DEC-0058, and PLN-0137.

Published editor diagnostics use the bound frontend language id as
source. For PBS that is pbs. The stable compiler code stays in code
and is not copied into source. Related locations, phase, and repair
payload stay unpublished.
2026-09-22 08:11:06 +01:00

2.2 KiB

id ticket title status created resolved decision tags
AGD-0055 pbs-lsp-document-links PBS LSP Document Links abandoned 2026-07-15
studio
lsp
vscode
compiler-pbs
editor
document-links
imports

Pain

Domain owner: studio/lsp

PBS import/module references and asset-like surfaces are plain text in VS Code, so users cannot click through to imported modules or related project resources.

Context

The compiler understands module references and project files. The LSP does not announce documentLinkProvider, and the VS Code extension delegates all language behavior to the server.

Open Questions

  • Which references should become document links first: imports, barrels, stdlib modules, assets/addressables, or docs?
  • How should virtual or stdlib resources be represented as link targets?
  • Should document links overlap with go-to-definition or remain a separate lightweight navigation feature?

Options

  • Approach: Expose documentLink for module references such as @sdk:gfx and barrel paths.
  • Pro: Narrow, useful, and mostly aligned with existing module resolution.
  • Con: Does not cover assets/addressables or documentation links.
  • Maintainability: Strong first wave.
  • Approach: Link imports, stdlib modules, assets, addressables, and possibly documentation/resource surfaces.
  • Pro: Richer navigation across project resources.
  • Con: Requires resource-specific target policy and may overlap with definition.
  • Maintainability: Good only after resource ownership is defined.

Tradeoffs

Document links should remain lightweight. If a link requires semantic identity and symbol resolution, it may belong in go-to-definition instead.

Recommendation

Prefer Option A first: imports and module references only.

Discussion

Coordinate stdlib target handling with go-to-definition.

Resolution

Aposentada em 2026-09-22. O tema foi consolidado em AGD-0069 / DSC-0066. Este texto não é normativo.

Next Step

Decide first-wave link targets and how stdlib/module URIs are represented.