[PR #1526] [MERGED] test(javascript): verify escaped receivers through CLI and MCP #2943

Closed
opened 2026-10-17 21:12:05 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

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

Base: main ← Head: test/javascript-receiver-public-regressions-1517


📝 Commits (1)

  • a1f1d80 test(javascript): verify escaped receivers through CLI and MCP

📊 Changes

2 files changed (+18 additions, -3 deletions)

View changed files

📝 src/domain/javascript/javascriptSemanticAnalysis.member_mutations.test.ts (+1 -3)
📝 tests/acceptance/applications/javascriptReturnedReferences.test.ts (+17 -0)

📄 Description

Summary

The escaped-receiver regression added by #1517 fails on the prescribed two-core maintenance host because its fixed 2,000 ms assertion also measures concurrent suite load. Keep its semantic regression and add actual CLI/MCP coverage for equivalent returned references without coupling correctness to host speed. Refs #1495 and #1065.

Problem and expected behavior

On merged main 46c9cba0, the focused suite observed 2,332.3 ms for the new timing assertion: 260 tests passed and that one assertion failed. An isolated compiled analysis of the same 2,000-method shape took 1,159.3 ms. Correctness tests should verify the returned-reference uncertainty and binding/path boundaries; explicit performance runs should report their conditions and timings.

Change and scope

Remove only the newly added wall-clock assertion and rename that case around its semantic outcome. Extend the existing compiled CLI/stdio-MCP return-shape workflow with a wide receiver, identical identifier names in distinct lexical scopes, and distinct paths on one parent binding. Both affected paths remain unknown, while an untouched sibling stays literal. Production analysis code is unchanged; #1517 retains credit for the performance fix.

Contract and boundary impact

  • Semantic owner and earliest changed stage: tests of the existing returned-reference/escape collector.
  • CLI and MCP/tool-catalog contract: unchanged; existing complete tool contracts exercised through both adapters.
  • Provider, bridge, target-format, or platform compatibility: unchanged.
  • Evidence, artifact, provenance, or reconstruction contract: unchanged; CLI/MCP Evidence identity still compared.
  • Process execution, authorization, cleanup, or containment impact: unchanged.
  • Generated metadata, package, or installation impact: none; no generated outputs committed.

Evidence and regression coverage

  • Updated the existing member-mutation regression and the public returned-reference workflow; no new suite or mock provider.
  • The 2,000-method compiled CLI/MCP pair preserves the complete 25,343,089-byte CLI output SHA-256 and Evidence ID versus frozen a0e5e9db. Actual retained views, close, expired references, ping and unchanged source were checked.
  • Diagnostic CPU-profile observations, baseline versus merged main: 2,000 methods 13,337.9 → 1,159.3 ms; 4,000 methods 41,435.2 → 6,788.3 ms. Complete semantic IR bytes/hash match at both sizes; 18 adjacent semantic fixtures also match exactly. These are single observations, not response percentiles or a linear-growth claim.
  • Remaining proof gaps: the separate full-application responsiveness issue #1462 remains open; no new native-provider claim.

Validation performed

  • npm run test:focused -- tests/acceptance/applications/javascriptReturnedReferences.test.ts tests/acceptance/applications/javascriptIterationAliases.test.ts src/domain/javascript/javascriptSemanticAnalysis.member_mutations.test.ts src/domain/javascript/javascriptSemanticAnalysis.reference_lifetimes.test.ts — 261 passed across four files, including actual compiled CLI/stdio-MCP workflows.
  • npm run check:fast — strict typecheck and lint passed using the installed compiler in serial mode within the resource guard.
  • git diff --check and staged format/lint hooks — passed.

Compatibility, safety, and release

  • Breaking changes or migration steps: none.
  • Real Hopper/Ghidra, browser, or OS coverage: JavaScript public workflows executed on Linux x64 with Node 24.18.0; Hopper/Ghidra/browser lanes do not apply to this test-only change and were not run.
  • Package or release metadata impact: none.
  • Security, privacy, process, or containment review: no runtime authority or evidence changes; synthetic fixture data only.

Review checklist

  • This PR addresses a concrete observed failure.
  • One focused outcome with a conventional title.
  • Related issues linked.
  • Tests cover meaningful public behavior and boundary cases.
  • No documentation, contract, or generated metadata change required.
  • Actual CLI/MCP behavior and remaining proof scope stated.
  • Final diff contains no binaries, build outputs, credentials, or unrelated cleanup.

🔄 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/1526 **Author:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Created:** 10/10/2026 **Status:** ✅ Merged **Merged:** 10/10/2026 **Merged by:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Base:** `main` ← **Head:** `test/javascript-receiver-public-regressions-1517` --- ### 📝 Commits (1) - [`a1f1d80`](https://github.com/morluto/rea/commit/a1f1d801e028abc5a6448917e334bf575bbf8ec6) test(javascript): verify escaped receivers through CLI and MCP ### 📊 Changes **2 files changed** (+18 additions, -3 deletions) <details> <summary>View changed files</summary> 📝 `src/domain/javascript/javascriptSemanticAnalysis.member_mutations.test.ts` (+1 -3) 📝 `tests/acceptance/applications/javascriptReturnedReferences.test.ts` (+17 -0) </details> ### 📄 Description ## Summary The escaped-receiver regression added by #1517 fails on the prescribed two-core maintenance host because its fixed 2,000 ms assertion also measures concurrent suite load. Keep its semantic regression and add actual CLI/MCP coverage for equivalent returned references without coupling correctness to host speed. Refs #1495 and #1065. ## Problem and expected behavior On merged main `46c9cba0`, the focused suite observed 2,332.3 ms for the new timing assertion: 260 tests passed and that one assertion failed. An isolated compiled analysis of the same 2,000-method shape took 1,159.3 ms. Correctness tests should verify the returned-reference uncertainty and binding/path boundaries; explicit performance runs should report their conditions and timings. ## Change and scope Remove only the newly added wall-clock assertion and rename that case around its semantic outcome. Extend the existing compiled CLI/stdio-MCP return-shape workflow with a wide receiver, identical identifier names in distinct lexical scopes, and distinct paths on one parent binding. Both affected paths remain unknown, while an untouched sibling stays literal. Production analysis code is unchanged; #1517 retains credit for the performance fix. ## Contract and boundary impact - Semantic owner and earliest changed stage: tests of the existing returned-reference/escape collector. - CLI and MCP/tool-catalog contract: unchanged; existing complete tool contracts exercised through both adapters. - Provider, bridge, target-format, or platform compatibility: unchanged. - Evidence, artifact, provenance, or reconstruction contract: unchanged; CLI/MCP Evidence identity still compared. - Process execution, authorization, cleanup, or containment impact: unchanged. - Generated metadata, package, or installation impact: none; no generated outputs committed. ## Evidence and regression coverage - Updated the existing member-mutation regression and the public returned-reference workflow; no new suite or mock provider. - The 2,000-method compiled CLI/MCP pair preserves the complete 25,343,089-byte CLI output SHA-256 and Evidence ID versus frozen `a0e5e9db`. Actual retained views, close, expired references, ping and unchanged source were checked. - Diagnostic CPU-profile observations, baseline versus merged main: 2,000 methods 13,337.9 → 1,159.3 ms; 4,000 methods 41,435.2 → 6,788.3 ms. Complete semantic IR bytes/hash match at both sizes; 18 adjacent semantic fixtures also match exactly. These are single observations, not response percentiles or a linear-growth claim. - Remaining proof gaps: the separate full-application responsiveness issue #1462 remains open; no new native-provider claim. ## Validation performed - `npm run test:focused -- tests/acceptance/applications/javascriptReturnedReferences.test.ts tests/acceptance/applications/javascriptIterationAliases.test.ts src/domain/javascript/javascriptSemanticAnalysis.member_mutations.test.ts src/domain/javascript/javascriptSemanticAnalysis.reference_lifetimes.test.ts` — 261 passed across four files, including actual compiled CLI/stdio-MCP workflows. - `npm run check:fast` — strict typecheck and lint passed using the installed compiler in serial mode within the resource guard. - `git diff --check` and staged format/lint hooks — passed. ## Compatibility, safety, and release - Breaking changes or migration steps: none. - Real Hopper/Ghidra, browser, or OS coverage: JavaScript public workflows executed on Linux x64 with Node 24.18.0; Hopper/Ghidra/browser lanes do not apply to this test-only change and were not run. - Package or release metadata impact: none. - Security, privacy, process, or containment review: no runtime authority or evidence changes; synthetic fixture data only. ## Review checklist - [x] This PR addresses a concrete observed failure. - [x] One focused outcome with a conventional title. - [x] Related issues linked. - [x] Tests cover meaningful public behavior and boundary cases. - [x] No documentation, contract, or generated metadata change required. - [x] Actual CLI/MCP behavior and remaining proof scope stated. - [x] Final diff contains no binaries, build outputs, credentials, or unrelated cleanup. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-17 21:12:05 +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#2943
No description provided.