[GH-ISSUE #2356] [Feature] Compare admitted WebAssembly import and export interfaces #779

Closed
opened 2026-10-15 18:28:16 +00:00 by bsakaguchi · 1 comment
Owner

Originally created by @matbrgz on GitHub (Oct 12, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/2356

Analyst question and current scope

inspect_wasm_artifact preserves selected module identity and exact import/export WAT forms, but the current contracts have no focused WASM interface comparison result. A generic byte or decoded-text difference cannot establish whether a function import/export signature changed.

Acceptance criteria

  • Define a comparison input using two exact retained inspection Evidence identities and a declared interface selection scope.
  • Compare admitted import/export names, kinds and type signatures; distinguish added, removed, changed, unchanged and unknown coverage.
  • Preserve duplicate/escaped names, unsupported proposal features, original byte identities and ambiguity; do not infer runtime compatibility from a static match.
  • Verify equivalent encodings, signature changes, incomplete inputs, cancellation and CLI/MCP schema/output parity using original modules.

Core-module interface comparison is separate from component support and from decompiled pseudocode request #2298.

Priority: P2. The current surface was checked at upstream 1c3791430, and open/closed issues were searched before filing. Proposed file-analysis features need their own spec/plan/tasks under docs/specs/. If implementation requires a new provider or expands execution authority, obtain the maintainer scope decision required by CONTRIBUTING.md before integration; this proposal itself does not authorize that expansion.

Originally created by @matbrgz on GitHub (Oct 12, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/2356 ## Analyst question and current scope inspect_wasm_artifact preserves selected module identity and exact import/export WAT forms, but the current contracts have no focused WASM interface comparison result. A generic byte or decoded-text difference cannot establish whether a function import/export signature changed. ## Acceptance criteria - [ ] Define a comparison input using two exact retained inspection Evidence identities and a declared interface selection scope. - [ ] Compare admitted import/export names, kinds and type signatures; distinguish added, removed, changed, unchanged and unknown coverage. - [ ] Preserve duplicate/escaped names, unsupported proposal features, original byte identities and ambiguity; do not infer runtime compatibility from a static match. - [ ] Verify equivalent encodings, signature changes, incomplete inputs, cancellation and CLI/MCP schema/output parity using original modules. ## Source and related work - https://webassembly.github.io/spec/core/binary/modules.html Core-module interface comparison is separate from component support and from decompiled pseudocode request #2298. Priority: P2. The current surface was checked at upstream 1c3791430, and open/closed issues were searched before filing. Proposed file-analysis features need their own spec/plan/tasks under docs/specs/. If implementation requires a new provider or expands execution authority, obtain the maintainer scope decision required by CONTRIBUTING.md before integration; this proposal itself does not authorize that expansion.
Author
Owner

@matbrgz commented on GitHub (Oct 12, 2026):

Implementation & Scope Notes

Objective (ELI5):
Compare imported and exported function definitions, tables, and memory types across two WebAssembly binary modules.

Integration Coordinates:

  • Leverages the WebAssembly parsing layer expanded in PR #2406 (Component Model decoding).
  • Output format diffs highlighting added, removed, or signature-altered export functions for breaking API change detection.
<!-- gh-comment-id:6133952693 --> @matbrgz commented on GitHub (Oct 12, 2026): ### Implementation & Scope Notes **Objective (ELI5):** Compare imported and exported function definitions, tables, and memory types across two WebAssembly binary modules. **Integration Coordinates:** - Leverages the WebAssembly parsing layer expanded in PR #2406 (Component Model decoding). - Output format diffs highlighting added, removed, or signature-altered export functions for breaking API change detection.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#779
No description provided.