prometeu-studio/discussion/workflow/plans/PLN-0102-add-end-to-end-doc-documentation-conformance-coverage.md
bQUARKz 725c28b3f5
All checks were successful
JaCoCo Coverage #### Project Overview No changes detected, that affect the code coverage. * Line Coverage: 61.37% (17351/28272) * Branch Coverage: 52.31% (6722/12850) * Lines of Code: 28272 * Cyclomatic Complexity: 11325 #### Quality Gates Summary Output truncated.
Test / Build skipped: 15, passed: 601
Intrepid/Prometeu/Studio/pipeline/pr-master This commit looks good
Intrepid/Prometeu/Studio/pipeline/head This commit looks good
implements PLN-0102
2026-07-15 07:22:58 +01:00

2.9 KiB

id ticket title status created ref_decisions tags
PLN-0102 pbs-symbol-documentation-and-hover-markdown Add end-to-end Doc documentation conformance coverage done 2026-07-15
DEC-0039
compiler
compiler-pbs
studio
lsp
vscode
editor
hover
documentation
markdown

Briefing

Close the feature with end-to-end tests that prove the whole [Doc] contract works across compiler and LSP boundaries.

Objective

Validate that syntax, normalization, semantics, metadata attachment, LSP exposure, hover composition, stdlib docs, and runtime exclusion all satisfy DEC-0039.

Dependencies

  • Depends on PLN-0092 through PLN-0101.

Scope

  • Add integrated compiler tests for valid and invalid [Doc].
  • Add LSP tests for hover documentation payloads.
  • Add conformance coverage for normalization and runtime exclusion.
  • Define a manual VSCode checklist for final visual validation.

Non-Goals

  • Automate VSCode UI rendering.
  • Add new documentation syntax beyond [Doc(markdown = """...""")].
  • Reopen decision scope.

Execution Method

  1. Create one or more fixture PBS files using [Doc] on functions, methods, structs/classes when available, services, hosts, and interface declarations.
  2. Add negative fixtures for parameters, duplicate Doc, empty payload, missing markdown, extra arguments, alias names, and invalid targets.
  3. Add LSP tests proving hover transports Markdown and does not reparse source.
  4. Add runtime artifact tests proving docs do not lower.
  5. Record a short manual VSCode validation checklist covering paragraph rendering, list rendering, code spans, indentation behavior, and undocumented-symbol fallback.

Acceptance Criteria

  • All decision rules have at least one compiler or LSP test.
  • Manual VSCode validation scope is documented but not automated.
  • The feature can be implemented without returning to the agenda or decision for missing requirements.

Tests

  • Full relevant PBS frontend test suite.
  • Relevant LSP module tests.
  • Runtime/lowering golden tests.
  • Manual VSCode checklist execution before final housekeeping.

Manual VSCode Validation Checklist

This plan intentionally does not automate VSCode UI rendering. Before final housekeeping, validate manually that:

  • hover renders a Doc paragraph below the symbol signature and kind;
  • Markdown lists render from - item documentation lines;
  • code spans such as `color` render as inline code;
  • normalized indentation from [Doc(markdown = """...""")] does not leak leading source indentation into hover;
  • undocumented symbols still show the existing hover fallback without an empty documentation block;
  • completion documentation matches the same Markdown payload used by hover.

Affected Artifacts

  • PBS frontend tests and fixtures
  • LSP tests and fixtures
  • Golden/runtime artifact tests
  • Optional manual validation note in the implementation PR or plan completion record