Skip to content

fix(parity): C# build-parity test fails on main — native vs WASM edge/role divergence #1418

@carlos-alm

Description

@carlos-alm

Problem

tests/integration/build-parity.test.ts > Build parity: native vs WASM — csharp Repository fails on main:

  • edges: Native finds more edges than WASM for the C# fixture (extra contains edges involving Validators.* methods and a user symbol)
  • roles: Because of the extra edges, Validators.IsValidEmail / IsValidName / ValidateUser get different role classifications (core/leaf/utility from native vs dead-ffi from WASM)

This is a native vs WASM parity gap in C# symbol extraction/resolution. The native engine correctly resolves more call edges than the WASM path for C# method bodies.

Reproduction

npx vitest run tests/integration/build-parity.test.ts

Fails on both main and any branch rebased on it.

Root cause (preliminary)

The WASM extractor for C# likely misses some call sites or import resolution paths that the native (Rust) extractor catches. The Validators.* methods appear as dead-ffi in WASM but have live callers in native — meaning the native engine finds the cross-file call edges that WASM drops.

Impact

Pre-existing failure that inflates flakiness noise for all PRs.

Notes

Discovered during sweep of PR #1383. Out of scope for that PR — filing here to track.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    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