Skip to content

Spike: library-usage / signature-drift from external SCIP SymbolInformation #114

@skakri

Description

@skakri

Spike. Detect signature drift / library misuse by parsing the external-symbol signatures the SCIP oracle pass already produces but discards.

Key finding: oracle/scip.rs::from_index parses only document.occurrences (+ def sites) and drops the document.symbols / index.external_symbols arrays — which carry SymbolInformation { documentation, signature_documentation } for dependency symbols. rag-rat already tags external call sites (oracle resolved-external, imports imported_external, the moniker). Connecting the two is the whole feature.

Deterministically catches: removed/renamed API, arity mismatch (call's N args vs current sig's M), deprecated-but-compiling usage, cross-version shape drift (re-index on lockfile change, diff sigs).

Honest caveat: the compiler already catches hard signature breaks at build for typed langs. Differentiated value: dynamically-typed langs, deprecation, inline agent context (the new signature at the call site), and it works on code that doesn't currently build.

Out of scope (semantic misuse — wrong order, missing await, unhandled error): not signature-shaped; surface the parsed doc as drive-by context anchored to the external moniker and let the agent reason — do NOT assert a verdict.

Thin slice: (1) parse external SymbolInformation → moniker-keyed side table; (2) check_library_usage MCP tool flagging removed/arity/deprecated only; (3) optionally auto-seed external-contract memories.

Ref: docs/plans/2026-06-14-agent-value-strategy.md §4b.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestspikeTime-boxed exploratory/proof-of-concept work

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions