[PR #4691] [MERGED] test(ci): align fixtures with runtime and evidence contracts #6359

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

📋 Pull Request Information

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

Base: main ← Head: fix/4690-ci-fixture-contracts


📝 Commits (3)

  • 89a78e1 test(ci): align fixtures with runtime and evidence contracts
  • 069d4d7 test(hopper): separate publisher admission from CLI regex fixtures
  • f564b4a test(evm): bind retained Evidence assertions to source carrier

📊 Changes

8 files changed (+222 additions, -180 deletions)

View changed files

➕ tests/acceptance/applications/hopperPublisherRejectionCli.test.ts (+60 -0)
➖ tests/acceptance/applications/hopperRegexFailureCli.test.ts (+0 -99)
📝 tests/acceptance/providers/jebConfigurationIsolation.test.ts (+2 -1)
📝 tests/boundary/evm/evmoleInterfaceProvider.test.ts (+6 -1)
📝 tests/boundary/filesystem/ghidraJavaProbe.test.ts (+8 -0)
📝 tests/boundary/filesystem/javascript-applications/javascriptModuleRelationships.test.ts (+15 -7)
➖ tests/fixtures/hopperRegexCliLauncher.mjs (+0 -72)
➕ tests/process-global/hopperRegexFailureCli.test.ts (+131 -0)

📄 Description

Summary

Fixes #4690. Repair five CI fixture contracts without changing production behavior:

  • Keep host PATH prerequisites for isolated JEB discovery (ps ownership probing).
  • Supply Windows runtime defaults to the controlled Node Java-shaped probe.
  • Keep unresolved relationship comparisons unknown despite exact module-source identity.
  • Separate real CLI publisher refusal from Hopper regex-result tests, using production CLI/provider/client and existing real fixture sockets below explicit launcher substitution. Check all six success/failure cases, exact wire identity, Evidence and owned cleanup; remove the obsolete bespoke launcher.
  • Check retained EVM Evidence through typed local_path/digest.sha256 fields against exact unchanged source bytes, retaining cancellation reasons, cleanup failure/retry, warnings and partial facts.

Test-only; provider authority, authentication, API/schema and package behavior are unchanged. These controlled fixtures do not qualify real Hopper/JEB/Ghidra/EVM workers.

Validation performed

  • Clean main 0ec4826633: JEB/comparison selection reproduces 2 failed / 10 passed; compiled CLI probing identifies spawn ps ENOENT. The old Hopper fixture separately reproduces 1 failure because production correctly refuses its unauthenticated launcher before any trace exists.
  • Clean main 7086768a27: EVM provider selection reproduces 3 failed / 27 passed / 2 platform skips. Production Evidence already has the correct schema; its new test incorrectly expected the internal execution-target shape.
  • Executed npm run test:focused selections: JEB/comparison/Java probes 21 passed; Hopper real CLI refusal + CLI/socket regex boundaries 13 passed; EVM provider/service/MCP 54 passed / 2 platform skips.
  • Full npm run check:ci after the final EVM correction: passed, including typecheck/lint, Knip and architecture guards. git diff --check: passed.
  • Previous complete CI: all four other built-dependent shards, Source tests, static checks, native package baselines and Windows lane passed; only the three EVM assertions remained. Hosted Windows executes all nine corrected controlled probes. Final-head CI passed: all five shards, Source/static checks, all three native package baselines, Windows lane and required gates are green on f564b4a1642751e98b7e7e3152ccc9035cd6663d.

Measured serially on two CPU cores with a 3 GiB Node heap:

Completed local task Wall / reaped CPU Sampled family RSS
21-test selection 15.98 / 28.16 s 1.38 GiB
13-test Hopper selection 17.56 / 24.74 s 1.15 GiB
54-test EVM selection 44.57 / 55.47 s 1.38 GiB
Final full static gate 77.71 / 135.24 s 4.59 GiB

No OOM/guard stop. Summed RSS is sampled at 200 ms and excludes assistant/shared services; host load/cache conditions are uncontrolled. Agent/model tokens and controlled cold/warm costs are unmeasured; no speedup is claimed.

Codex's original-head receipt found no major issues; Greptile reviewed final head f564b4a16 at 5/5 with no actionable issue. Subsequent Codex requests explicitly report repository review-credit exhaustion, so a fresh Codex receipt is unavailable; final available review and CI are followed independently.

Author readiness

Human owner: @N0zoM1z0

  • I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work.
  • I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps.
  • I declare this PR ready for initial maintainer review.

Human owner explicitly reviewed the diff/evidence and dictated readiness in this session on 17 October 2026; later pushes retain the initial declaration under the contribution policy.


🔄 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/4691 **Author:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Created:** 10/17/2026 **Status:** ✅ Merged **Merged:** 10/17/2026 **Merged by:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Base:** `main` ← **Head:** `fix/4690-ci-fixture-contracts` --- ### 📝 Commits (3) - [`89a78e1`](https://github.com/morluto/rea/commit/89a78e1685454ccc480b30d13c9e6862f0e8aaa8) test(ci): align fixtures with runtime and evidence contracts - [`069d4d7`](https://github.com/morluto/rea/commit/069d4d75b6d1836358bb22a96fb45d3c2840c968) test(hopper): separate publisher admission from CLI regex fixtures - [`f564b4a`](https://github.com/morluto/rea/commit/f564b4a1642751e98b7e7e3152ccc9035cd6663d) test(evm): bind retained Evidence assertions to source carrier ### 📊 Changes **8 files changed** (+222 additions, -180 deletions) <details> <summary>View changed files</summary> ➕ `tests/acceptance/applications/hopperPublisherRejectionCli.test.ts` (+60 -0) ➖ `tests/acceptance/applications/hopperRegexFailureCli.test.ts` (+0 -99) 📝 `tests/acceptance/providers/jebConfigurationIsolation.test.ts` (+2 -1) 📝 `tests/boundary/evm/evmoleInterfaceProvider.test.ts` (+6 -1) 📝 `tests/boundary/filesystem/ghidraJavaProbe.test.ts` (+8 -0) 📝 `tests/boundary/filesystem/javascript-applications/javascriptModuleRelationships.test.ts` (+15 -7) ➖ `tests/fixtures/hopperRegexCliLauncher.mjs` (+0 -72) ➕ `tests/process-global/hopperRegexFailureCli.test.ts` (+131 -0) </details> ### 📄 Description ## Summary Fixes #4690. Repair five CI fixture contracts without changing production behavior: - Keep host PATH prerequisites for isolated JEB discovery (`ps` ownership probing). - Supply Windows runtime defaults to the controlled Node Java-shaped probe. - Keep unresolved relationship comparisons unknown despite exact module-source identity. - Separate real CLI publisher refusal from Hopper regex-result tests, using production CLI/provider/client and existing real fixture sockets below explicit launcher substitution. Check all six success/failure cases, exact wire identity, Evidence and owned cleanup; remove the obsolete bespoke launcher. - Check retained EVM Evidence through typed `local_path/digest.sha256` fields against exact unchanged source bytes, retaining cancellation reasons, cleanup failure/retry, warnings and partial facts. Test-only; provider authority, authentication, API/schema and package behavior are unchanged. These controlled fixtures do not qualify real Hopper/JEB/Ghidra/EVM workers. ## Validation performed - Clean main `0ec4826633`: JEB/comparison selection reproduces **2 failed / 10 passed**; compiled CLI probing identifies `spawn ps ENOENT`. The old Hopper fixture separately reproduces **1 failure** because production correctly refuses its unauthenticated launcher before any trace exists. - Clean main `7086768a27`: EVM provider selection reproduces **3 failed / 27 passed / 2 platform skips**. Production Evidence already has the correct schema; its new test incorrectly expected the internal execution-target shape. - Executed `npm run test:focused` selections: JEB/comparison/Java probes **21 passed**; Hopper real CLI refusal + CLI/socket regex boundaries **13 passed**; EVM provider/service/MCP **54 passed / 2 platform skips**. - Full `npm run check:ci` after the final EVM correction: **passed**, including typecheck/lint, Knip and architecture guards. `git diff --check`: passed. - [Previous complete CI](https://github.com/morluto/rea/actions/runs/39007383341): all four other built-dependent shards, Source tests, static checks, native package baselines and Windows lane passed; only the [three EVM assertions](https://github.com/morluto/rea/actions/runs/39007383341/job/117322747690) remained. [Hosted Windows](https://github.com/morluto/rea/actions/runs/39007383341/job/117322909802) executes all nine corrected controlled probes. **[Final-head CI passed](https://github.com/morluto/rea/actions/runs/39008369119)**: all five shards, Source/static checks, all three native package baselines, Windows lane and required gates are green on `f564b4a1642751e98b7e7e3152ccc9035cd6663d`. Measured serially on two CPU cores with a 3 GiB Node heap: | Completed local task | Wall / reaped CPU | Sampled family RSS | |---|---:|---:| | 21-test selection | 15.98 / 28.16 s | 1.38 GiB | | 13-test Hopper selection | 17.56 / 24.74 s | 1.15 GiB | | 54-test EVM selection | 44.57 / 55.47 s | 1.38 GiB | | Final full static gate | 77.71 / 135.24 s | 4.59 GiB | No OOM/guard stop. Summed RSS is sampled at 200 ms and excludes assistant/shared services; host load/cache conditions are uncontrolled. Agent/model tokens and controlled cold/warm costs are unmeasured; no speedup is claimed. Codex's original-head receipt found no major issues; Greptile reviewed final head `f564b4a16` at 5/5 with no actionable issue. Subsequent Codex requests explicitly report repository review-credit exhaustion, so a fresh Codex receipt is unavailable; final available review and CI are followed independently. ## Author readiness Human owner: @N0zoM1z0 - [x] I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work. - [x] I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps. - [x] I declare this PR ready for initial maintainer review. Human owner explicitly reviewed the diff/evidence and dictated readiness in this session on 17 October 2026; later pushes retain the initial declaration under the contribution policy. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-31 01:13:50 +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#6359
No description provided.