[PR #3093] [CLOSED] test(electron): verify preload coverage across the retention boundary #5611

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

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/3093
Author: @jpdefo
Created: 10/14/2026
Status: ❌ Closed

Base: main ← Head: fix/dropped-preload-coverage


📝 Commits (4)

  • fa3285e fix(electron): preserve dropped preload configuration coverage
  • 9694eb3 chore(electron): merge main and retain preload coverage regressions
  • e90bd03 fix(evm): retain pending cleanup after output failures
  • 23b5f0f test(electron): reconcile preload coverage with upstream fixes

📊 Changes

1 file changed (+85 additions, -0 deletions)

View changed files

📝 tests/boundary/browser/electronActiveHook.test.ts (+85 -0)

📄 Description

Summary

Verify that Electron preload configuration remains observable after the active hook drops its event at the retention boundary. The PR adds regression coverage for dropped, retained, and absent configuration through the actual hook snapshot and production projector.

Problem and expected behavior

A preload configuration event can be dropped after the event budget is exhausted. Its retained family count must still make preload-configuration observable, without claiming that preload execution was observed. Retained and absent configuration controls distinguish this behavior from unconditional availability.

Change and scope

The final diff adds three cases in tests/boundary/browser/electronActiveHook.test.ts. Each runs the real hook in an owned Node child with a simulated Electron module, then projects the resulting snapshot. Existing oversized-event coverage remains intact.

This is a test-only contribution. The current base already contains the production preload fix, the EVM cleanup repair in 07540cbc, and the invalid-JSON refinement fix in 713163e6. This PR preserves those upstream implementations.

Contract and boundary impact

  • Semantic owner exercised: Electron active-hook retention and projectElectronActiveCapture.
  • Existing capability and authority are unchanged. No new provider, target interaction, or advance scope decision is needed.
  • CLI/MCP schemas, public error contracts, package metadata, and generated catalogs are unchanged.
  • Tests verify observed and unavailable families, dropped-family and role counts, timeline accounting, and the absence of an incorrect missing-configuration limitation.
  • Fixtures use the repository's temporary-directory lifecycle and owned child execution.

Validation performed

With upstream main fb752d22 integrated, using pinned Node 24.18.0 and npm 11.16.0 on Linux x64 under WSL:

  • npm ci: passed.
  • npm run test:focused -- tests/boundary/evm/evmoleInterfaceProvider.test.ts tests/boundary/browser/electronActiveHook.test.ts src/browser/PlaywrightElectronActiveProjection.test.ts tests/boundary/process/processCli.test.ts: 46 passed, 2 platform skips across four files. This includes the EVM cleanup regressions and the compiled CLI JSON-depth case that previously failed in hosted CI.
  • npm run check: passed, including types, lint, formatting, metadata, module boundaries, and architecture guards. Lint reported 0 errors and 1,350 repository warnings.
  • git diff --check: passed.
  • Hosted checks must still run on the updated PR head.

Compatibility, safety, and release

No runtime or release changes. The fixture validates the hook-to-projector boundary with simulated Electron, not a real Electron application. No real-browser, native-provider, or full portable-suite qualification is claimed.

Before merge

  • One focused regression outcome and a conventional title.
  • Existing production ownership and upstream fixes preserved.
  • Dropped, retained, and absent configuration controls included.
  • Final diff contains no generated output or unrelated production changes.
  • Required hosted checks passed on the published revision.

🔄 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/3093 **Author:** [@jpdefo](https://github.com/jpdefo) **Created:** 10/14/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `fix/dropped-preload-coverage` --- ### 📝 Commits (4) - [`fa3285e`](https://github.com/morluto/rea/commit/fa3285e465ff0956c5729a7f49e3615c19746584) fix(electron): preserve dropped preload configuration coverage - [`9694eb3`](https://github.com/morluto/rea/commit/9694eb35ae6821246eaa98ed1024c892bc7393c3) chore(electron): merge main and retain preload coverage regressions - [`e90bd03`](https://github.com/morluto/rea/commit/e90bd03febe3c3d6746c95a4a709170a16327147) fix(evm): retain pending cleanup after output failures - [`23b5f0f`](https://github.com/morluto/rea/commit/23b5f0f4ce43f0ebdb77b9ebdd87921b9311ec98) test(electron): reconcile preload coverage with upstream fixes ### 📊 Changes **1 file changed** (+85 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `tests/boundary/browser/electronActiveHook.test.ts` (+85 -0) </details> ### 📄 Description ## Summary Verify that Electron preload configuration remains observable after the active hook drops its event at the retention boundary. The PR adds regression coverage for dropped, retained, and absent configuration through the actual hook snapshot and production projector. ## Problem and expected behavior A preload configuration event can be dropped after the event budget is exhausted. Its retained family count must still make `preload-configuration` observable, without claiming that preload execution was observed. Retained and absent configuration controls distinguish this behavior from unconditional availability. ## Change and scope The final diff adds three cases in `tests/boundary/browser/electronActiveHook.test.ts`. Each runs the real hook in an owned Node child with a simulated Electron module, then projects the resulting snapshot. Existing oversized-event coverage remains intact. This is a test-only contribution. The current base already contains the production preload fix, the EVM cleanup repair in `07540cbc`, and the invalid-JSON refinement fix in `713163e6`. This PR preserves those upstream implementations. ## Contract and boundary impact - Semantic owner exercised: Electron active-hook retention and `projectElectronActiveCapture`. - Existing capability and authority are unchanged. No new provider, target interaction, or advance scope decision is needed. - CLI/MCP schemas, public error contracts, package metadata, and generated catalogs are unchanged. - Tests verify observed and unavailable families, dropped-family and role counts, timeline accounting, and the absence of an incorrect missing-configuration limitation. - Fixtures use the repository's temporary-directory lifecycle and owned child execution. ## Validation performed With upstream main `fb752d22` integrated, using pinned Node 24.18.0 and npm 11.16.0 on Linux x64 under WSL: - `npm ci`: passed. - `npm run test:focused -- tests/boundary/evm/evmoleInterfaceProvider.test.ts tests/boundary/browser/electronActiveHook.test.ts src/browser/PlaywrightElectronActiveProjection.test.ts tests/boundary/process/processCli.test.ts`: 46 passed, 2 platform skips across four files. This includes the EVM cleanup regressions and the compiled CLI JSON-depth case that previously failed in hosted CI. - `npm run check`: passed, including types, lint, formatting, metadata, module boundaries, and architecture guards. Lint reported 0 errors and 1,350 repository warnings. - `git diff --check`: passed. - Hosted checks must still run on the updated PR head. ## Compatibility, safety, and release No runtime or release changes. The fixture validates the hook-to-projector boundary with simulated Electron, not a real Electron application. No real-browser, native-provider, or full portable-suite qualification is claimed. ## Before merge - [x] One focused regression outcome and a conventional title. - [x] Existing production ownership and upstream fixes preserved. - [x] Dropped, retained, and absent configuration controls included. - [x] Final diff contains no generated output or unrelated production changes. - [ ] Required hosted checks passed on the published revision. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-31 01:07:58 +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#5611
No description provided.