Skip to content

feat: scala, ruby, kotlin + baci CI#4

Merged
lance-sp merged 2 commits intomainfrom
feat/multilang-support
Mar 12, 2026
Merged

feat: scala, ruby, kotlin + baci CI#4
lance-sp merged 2 commits intomainfrom
feat/multilang-support

Conversation

@lance-sp
Copy link
Copy Markdown
Contributor

Summary

  • Add full language support for scala, ruby, and kotlin (patterns, detection, fn/type extraction, imports, deps, project root, module resolution, classification) — 11 languages total
  • Migrate CI to baci pattern: ci.clj is source of truth, emit-yaml generates workflow. Adds multilang smoke test stage
  • Fix pre-existing :reflect contract drift (project-commandsspai-commands)
  • Fix grep fallback missing new language extensions
  • Fix enum class (Kotlin/Scala) type name extraction
  • Add object and module to type-kind detection

Test plan

  • bb test — 23 tests, 120 assertions, 0 failures
  • bb .github/ci.clj test — unit + contract tests pass
  • bb .github/ci.clj multilang — all 11 languages detect and parse
  • Manual verification: shape, sig, deps for scala, ruby, kotlin test files

🤖 Generated with Claude Code

lance-sp and others added 2 commits March 12, 2026 19:36
Add full language support (patterns, detection, fn/type extraction,
imports, deps, project root, module resolution, classification) for
scala, ruby, and kotlin — bringing spai to 11 languages.

Also migrates CI from hand-written YAML to the baci pattern
(ci.clj → emit-yaml), adds multilang smoke tests, and fixes
pre-existing :reflect contract drift.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
stats and reflect return different key sets when no usage history
exists (fresh CI checkout). Add keys-or alternative to contracts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@lance-sp lance-sp merged commit 9ae597a into main Mar 12, 2026
2 checks passed
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.

1 participant