Context
apidiff.py is a sound syntactic lower bound (symbol add/remove + Python signatures). Replace with compiler/type-checker-backed differs per language (cargo-public-api, go/types, TS .d.ts, Python stubtest, JVM ABI). UNCERTAIN => over-bump + human stays the fallback.
Acceptance
Detects signature/behavioural breaks beyond add/remove for >=1 language; unsupported/evasion still routes to UNCERTAIN.
Seam
tools/conductor/apidiff.py.
Context
apidiff.pyis a sound syntactic lower bound (symbol add/remove + Python signatures). Replace with compiler/type-checker-backed differs per language (cargo-public-api, go/types, TS .d.ts, Python stubtest, JVM ABI). UNCERTAIN => over-bump + human stays the fallback.Acceptance
Detects signature/behavioural breaks beyond add/remove for >=1 language; unsupported/evasion still routes to UNCERTAIN.
Seam
tools/conductor/apidiff.py.