[PR #2427] [MERGED] test(evm): verify static descriptor bindings before use #5219

Closed
opened 2026-10-31 01:04:54 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/2427
Author: @N0zoM1z0
Created: 10/13/2026
Status: ✅ Merged
Merged: 10/13/2026
Merged by: @N0zoM1z0

Base: main ← Head: test/evm-static-contract-admission-20261013


📝 Commits (1)

  • b577487 test(evm): verify static descriptor bindings before use

📊 Changes

3 files changed (+104 additions, -1 deletions)

View changed files

📝 experiments/analysis-efficiency/evm-descriptor.md (+37 -0)
📝 tests/boundary/mcp/evmInterfaceMcp.test.ts (+5 -1)
➕ tests/composition/evmModuleContract.test.ts (+62 -0)

📄 Description

The static EVM descriptor pilot lacked explicit regression checks that its operation, CLI command, service factory and input/output schema types remain compatible before use. Add five negative assignability checks to the complete project compiler gate and verify the named binding plus separate lazy service/provider owners.

The actual SDK duplicate-registration scenario now spies on the provider and proves the named failure happens before any provider invocation. The composition check likewise proves invalid target input returns an application error before provider invocation. Existing schemas, defaults, caller inputs, factory export and lifecycle remain unchanged; no production code or dynamic plugin admission API is added.

Validation:

  • Full project typecheck passes using the installed compiler's supported single-thread scheduling; all source/test files remain included. Five incompatible static bindings are rejected by compiler-backed assertions, not by executing malformed modules.
  • Exact focused composition/MCP files pass 12 cases, including SDK-converted schema validity, duplicate rejection, invalid inputs, incompatible reply data, healthy peer, cancellation, default/retained summaries and cleanup retry. The final added provider spy passes a focused two-case composition rerun. Injected SDK ports verify boundary semantics only; no new real-provider claim.
  • Lint/format/knip/metadata and the full checked pre-push pass. Pinned toolchain, one CPU, unchanged 3 GiB early-stop/4 GiB hard memory/no swap remain in force; sampled peaks stay below the early-stop threshold. Final transient-cgroup counters remain unknown.
  • Scoped experiment notes distinguish static compiler/SDK pre-use checks from validating unknown provider replies after execution. General third-party ABI/version negotiation remains deferred; the existing pinned real EVMole/WABT evidence retains its original scope.

Continues the remaining static-contract acceptance item in #2016. Built from main c462 and rebased onto independently corrected main 37b7550ecc916acc8619fa72e5c05af45702733f; final own head b57748736ba4f87125a26aa0ecb781b9df3b1ceb. No release publication/deployment. Draft until exact-head CI and final manual review.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/2427 **Author:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Created:** 10/13/2026 **Status:** ✅ Merged **Merged:** 10/13/2026 **Merged by:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Base:** `main` ← **Head:** `test/evm-static-contract-admission-20261013` --- ### 📝 Commits (1) - [`b577487`](https://github.com/morluto/rea/commit/b57748736ba4f87125a26aa0ecb781b9df3b1ceb) test(evm): verify static descriptor bindings before use ### 📊 Changes **3 files changed** (+104 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `experiments/analysis-efficiency/evm-descriptor.md` (+37 -0) 📝 `tests/boundary/mcp/evmInterfaceMcp.test.ts` (+5 -1) ➕ `tests/composition/evmModuleContract.test.ts` (+62 -0) </details> ### 📄 Description The static EVM descriptor pilot lacked explicit regression checks that its operation, CLI command, service factory and input/output schema types remain compatible before use. Add five negative assignability checks to the complete project compiler gate and verify the named binding plus separate lazy service/provider owners. The actual SDK duplicate-registration scenario now spies on the provider and proves the named failure happens before any provider invocation. The composition check likewise proves invalid target input returns an application error before provider invocation. Existing schemas, defaults, caller inputs, factory export and lifecycle remain unchanged; no production code or dynamic plugin admission API is added. Validation: - Full project typecheck passes using the installed compiler's supported single-thread scheduling; all source/test files remain included. Five incompatible static bindings are rejected by compiler-backed assertions, not by executing malformed modules. - Exact focused composition/MCP files pass 12 cases, including SDK-converted schema validity, duplicate rejection, invalid inputs, incompatible reply data, healthy peer, cancellation, default/retained summaries and cleanup retry. The final added provider spy passes a focused two-case composition rerun. Injected SDK ports verify boundary semantics only; no new real-provider claim. - Lint/format/knip/metadata and the full checked pre-push pass. Pinned toolchain, one CPU, unchanged 3 GiB early-stop/4 GiB hard memory/no swap remain in force; sampled peaks stay below the early-stop threshold. Final transient-cgroup counters remain unknown. - Scoped experiment notes distinguish static compiler/SDK pre-use checks from validating unknown provider replies after execution. General third-party ABI/version negotiation remains deferred; the existing pinned real EVMole/WABT evidence retains its original scope. Continues the remaining static-contract acceptance item in #2016. Built from main c462 and rebased onto independently corrected main `37b7550ecc916acc8619fa72e5c05af45702733f`; final own head `b57748736ba4f87125a26aa0ecb781b9df3b1ceb`. No release publication/deployment. Draft until exact-head CI and final manual review. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-31 01:04:54 +00:00
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#5219
No description provided.