Skip to content

[codex] Enable Kotlin LSP fixture coverage#1363

Open
caydyan wants to merge 1 commit into
stakwork:mainfrom
caydyan:codex/kotlin-lsp-123-minimal
Open

[codex] Enable Kotlin LSP fixture coverage#1363
caydyan wants to merge 1 commit into
stakwork:mainfrom
caydyan:codex/kotlin-lsp-123-minimal

Conversation

@caydyan

@caydyan caydyan commented Jun 14, 2026

Copy link
Copy Markdown

Fixes #123

Summary

  • Enables Kotlin when USE_LSP=true selects the default LSP-backed fixture path.
  • Keeps non-LSP Kotlin fixture assertions working while allowing mode-specific annotations with node_lsp / node_no_lsp, edge_lsp / edge_no_lsp, and absent_lsp / absent_no_lsp.
  • Adds testing::test_kotlin so Kotlin runs through both graph backends in normal CI and through the Kotlin language server in LSP CI.
  • Adds Kotlin LSP-only assertions for extra call edges that tree-sitter alone does not capture:
    • PersonList -> PersonViewModel.updatePerson
    • HomeViewModel.fetchUsers -> UserRepository.getUsers
  • Avoids spawning an empty analyzer command when USE_LSP=true is used with a language that does not have an LSP executable configured.

BTC payout address: bc1qev5ant33v5y89qqjvcf4mh9hlax5svqf5xd7gc

Validation

  • git diff --check
  • cargo test -p lsp language::tests:: -- --nocapture --test-threads=1
  • cargo test -p ast testing::test_kotlin -- --nocapture --test-threads=1
  • PATH=/tmp/stakgraph-kls/server/bin:$PATH USE_LSP=true cargo test -p ast testing::test_kotlin -- --nocapture --test-threads=1
  • cargo test -p ast --lib -- --test-threads=1
  • PATH=/tmp/stakgraph-kls/server/bin:$PATH USE_LSP=true cargo test -p ast --lib -- --test-threads=1

Docker note

The current upstream base lsp/Dockerfile already installs kotlin-language-server and exposes the kotlin-language-server executable. This PR completes the remaining #123 wiring by enabling Kotlin in the USE_LSP=true path and adding mode-specific Kotlin fixture assertions that prove LSP captures extra cross-file call edges while the non-LSP path remains covered.

@caydyan caydyan force-pushed the codex/kotlin-lsp-123-minimal branch from 5ac2ec9 to 109b036 Compare June 14, 2026 11:15
@caydyan

caydyan commented Jun 14, 2026

Copy link
Copy Markdown
Author

Hosted checks are green on 109b0361 now:

  • Run CLI integration tests
  • Run e2e standalone tests
  • Run e2e tests
  • Run standalone tests
  • Run unit tests
  • Run unit tests with LSP

The follow-up fix scopes fixture node-count checks to files inside the fixture tree, so hosted Kotlin LSP external definitions no longer perturb the fixture assertions. PR is non-draft, mergeable, and CLEAN from the GitHub merge-state view.

Local validation also covered git diff --check, the Kotlin fixture in non-LSP and LSP modes, cargo test -p ast --lib -- --test-threads=1, and the LSP language tests.

@caydyan caydyan mentioned this pull request Jun 14, 2026
@caydyan

caydyan commented Jun 22, 2026

Copy link
Copy Markdown
Author

Quick follow-up after the 2026-06-14 submission: this is still ready for review.

Current GitHub checks are all passing on head 109b0361, the PR is non-draft and mergeable, and issue #123 has the bounty claim plus BTC payout address recorded. Happy to make any maintainer-preferred adjustments if the Kotlin LSP fixture expectations differ from this approach.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

kotlin LSP

1 participant