Skip to content

Call compatability#108

Merged
lzehrung merged 33 commits into
mainfrom
call-compatability
May 28, 2026
Merged

Call compatability#108
lzehrung merged 33 commits into
mainfrom
call-compatability

Conversation

@lzehrung
Copy link
Copy Markdown
Owner

  • Adds cross-language call compatibility hints for changed callable signatures.
  • Extracts callable signatures and callsite argument counts with provider-backed AST parsing.
  • Emits likely argument-count mismatches in impact and review outputs.
  • Filters call compatibility results through existing impact test and ignore rules.
  • Skips ambiguous overload sets and unknown or unsupported callsites.
  • Preserves JS/TS method signature impact signals while avoiding unsafe method callsite hints.
  • Documents support boundaries in parity and scenario docs.
  • Adds regression coverage across supported callable languages and edge cases.

lzehrung added 30 commits May 26, 2026 18:25
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds conservative, provider-backed call-arity compatibility hints to impact and review outputs for changed callable signatures across the languages Codegraph parses. Hints are emitted only when both signature parsing and callsite argument counting are high-confidence, and pretty output only surfaces likely mismatches. Also preserves a class-level signatureChanged impact signal for JS/TS method parameter edits while method locals remain unindexed.

Changes:

  • New attachCallCompatibilityHints pipeline (src/impact/callCompatibility.ts + provider registry) integrated into impact analyzer and review summaries, with new CallCompatibilityHint types in reports and compact JSON.
  • Signature-change detection in src/impact/map.ts broadened to more callable AST types, with a JS/TS fallback that flags class-level edits when class method signatures change but methods aren't tracked locals.
  • Pretty CLI sections in impact --pretty and review --summary showing "Call compatibility" lines only for likely mismatches.
  • Extensive test coverage across cross-language extraction, provider registry, fallback budget, impact, review, CLI, and parser-efficiency regressions; plus doc/parity updates.

Reviewed changes

Copilot reviewed 37 out of 37 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/impact/callCompatibility.ts New AST/text-based signature & callsite extraction and hint attachment.
src/impact/call-compatibility/providers/{index,types}.ts Provider registry and contract for per-language extractors.
src/impact/types.ts Adds CallCompatibilityHint + diagnostics fields.
src/impact/analyzer.ts Wires attachCallCompatibilityHints with ignore/test filters.
src/impact/map.ts Expands signature decl set; adds JS/TS class fallback via descendant method scan.
src/impact/reportCompact.ts Carries callCompatibility into compact symbol entries.
src/impact/collect.ts Initializes call-compatibility diagnostics.
src/impact/index.ts Re-exports new extractor API.
src/cli/impact.ts Pretty section listing likely mismatches; preserves field in ensured report.
src/cli/review.ts Adds "Call compatibility" block to review summary.
src/review/summaries.ts Always builds full symbol summaries, attaches per-handle compatibility.
src/languages/definitions/kotlin.ts Accepts identifier (alongside simple_identifier) for several Kotlin declaration parents.
tests/impact-call-compatibility/*.test.ts New cross-language, registry, and fallback-budget suites.
tests/impact-analyzer.test.ts, tests/impact-signature.test.ts, tests/impact-cli.test.ts, tests/review.test.ts, tests/cli-regressions.test.ts, tests/parser-efficiency-fixes.test.ts Integration & regression coverage for hints, fallbacks, and CLI rendering.
docs/* and README.md, codegraph-skill/codegraph/SKILL.md Document provider-backed scope and conservative semantics; add parity-matrix column.
docs/superpowers/plans/* Plan documents updated/added (completion notes, future agentic plans).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/impact/callCompatibility.ts Outdated
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 37 out of 37 changed files in this pull request and generated no new comments.

@lzehrung lzehrung merged commit 5571ec4 into main May 28, 2026
4 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.

2 participants