Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ci.cljis source of truth,emit-yamlgenerates workflow. Adds multilang smoke test stage:reflectcontract drift (project-commands→spai-commands)enum class(Kotlin/Scala) type name extractionobjectandmoduleto type-kind detectionTest plan
bb test— 23 tests, 120 assertions, 0 failuresbb .github/ci.clj test— unit + contract tests passbb .github/ci.clj multilang— all 11 languages detect and parse🤖 Generated with Claude Code