[PR #6898] [MERGED] test(ida): align native search fixtures with Unicode folding #7430

Closed
opened 2026-11-01 21:47:49 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/6898
Author: @gensokyo-dev
Created: 10/23/2026
Status: ✅ Merged
Merged: 10/23/2026
Merged by: @gensokyo-dev

Base: main ← Head: test/ida-native-unicode-search


📝 Commits (1)

  • 3ddd352 test(ida): align native search fixtures with Unicode folding

📊 Changes

1 file changed (+30 additions, -3 deletions)

View changed files

📝 src/ida/IdaNativeProtocol.test.ts (+30 -3)

📄 Description

Problem and outcome

Native IDA's byte-oriented candidate regression still required insensitive σ to exclude ς, although the shared search contract now uses Unicode simple case folding. This breaks source CI on 1de720e02 and the same failure is visible in main CI.

Align the fixture with that contract and cover upper/final sigma, whole words, and case-sensitive controls. Keep exact addresses, candidate narrowing, one upstream call per query, invalid regex handling, and cleanup assertions. Query details now identify a failing table row. Runtime behavior is unchanged. This is a direct repair of observed main CI; no separate issue was opened.

Validation performed

Executed with Node 24.22.1 / npm 11.16.0 on Linux x64, restricted to two CPUs:

  • Baseline: npm run test:local -- src/ida/IdaNativeProtocol.test.ts src/domain/analysisSearch.test.ts — 1 failed, 29 passed; incorrect sigma expectation reproduced.
  • Final: npm run test:local -- src/ida/IdaNativeProtocol.test.ts src/domain/analysisSearch.test.ts src/ida/IdaSessionClient.test.ts — 99 passed. 15.86 s elapsed, 16.80 s user+system CPU, 1253.3 MiB sampled process-family RSS peak.
  • Controlled old lowercase-matcher mutation — the strengthened native test fails on the sigma row; original source restored before final validation.
  • npm run check — passed, including typecheck, lint, formatting, Knip, metadata and architecture guards. 68.94 s elapsed, 112.93 s CPU, 2201.3 MiB sampled family RSS peak.
  • git diff --check — passed.

Memory is summed descendant RSS sampled every 100 ms; shared pages can double-count and short-lived/reparented children can be missed. A sampled 8 GiB stop and elapsed limits bounded these runs. Measurements describe validation cost, not a speedup. Agent-token cost was not measured. These tests exercise the production IDA adapter with a protocol fixture; no real IDA GUI/engine run is claimed.

Current-head CI and review

PR CI executes merge 7c3bf1bf against main@5d2c8c2b. The IDA native file passes all 23 tests. Source failures decrease from seven on the exact main baseline to the same six unrelated failures (Frida lifecycle, JavaScript returned invocation, and bundle-resource fixtures). The completed failing shard 5 has the same browser redirect and JavaScript indirect-loader failures as main. Actions fail-fast cancelled the other seven shards; their complete coverage is unavailable. CI is therefore not green. The owner explicitly authorized continuing past failures demonstrated on main; this PR does not alter their gates or assertions.

Readiness, title, static checks and package build passed. Codex code review and Greptile review both completed with no findings.

Author readiness

Human owner: @gensokyo-dev

The owner explicitly delegated readiness declarations and agent-managed review in the task. Code inspection and command execution above were performed by Codex; no separate human inspection is claimed.

  • 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.

🔄 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/6898 **Author:** [@gensokyo-dev](https://github.com/gensokyo-dev) **Created:** 10/23/2026 **Status:** ✅ Merged **Merged:** 10/23/2026 **Merged by:** [@gensokyo-dev](https://github.com/gensokyo-dev) **Base:** `main` ← **Head:** `test/ida-native-unicode-search` --- ### 📝 Commits (1) - [`3ddd352`](https://github.com/morluto/rea/commit/3ddd352487ef74eb6c730a674d435e94b16ca634) test(ida): align native search fixtures with Unicode folding ### 📊 Changes **1 file changed** (+30 additions, -3 deletions) <details> <summary>View changed files</summary> 📝 `src/ida/IdaNativeProtocol.test.ts` (+30 -3) </details> ### 📄 Description ## Problem and outcome Native IDA's byte-oriented candidate regression still required insensitive `σ` to exclude `ς`, although the shared search contract now uses Unicode simple case folding. This breaks source CI on `1de720e02` and the same failure is visible in [main CI](https://github.com/morluto/rea/actions/runs/39999745739). Align the fixture with that contract and cover upper/final sigma, whole words, and case-sensitive controls. Keep exact addresses, candidate narrowing, one upstream call per query, invalid regex handling, and cleanup assertions. Query details now identify a failing table row. Runtime behavior is unchanged. This is a direct repair of observed main CI; no separate issue was opened. ## Validation performed Executed with Node 24.22.1 / npm 11.16.0 on Linux x64, restricted to two CPUs: - Baseline: `npm run test:local -- src/ida/IdaNativeProtocol.test.ts src/domain/analysisSearch.test.ts` — 1 failed, 29 passed; incorrect sigma expectation reproduced. - Final: `npm run test:local -- src/ida/IdaNativeProtocol.test.ts src/domain/analysisSearch.test.ts src/ida/IdaSessionClient.test.ts` — 99 passed. 15.86 s elapsed, 16.80 s user+system CPU, 1253.3 MiB sampled process-family RSS peak. - Controlled old lowercase-matcher mutation — the strengthened native test fails on the sigma row; original source restored before final validation. - `npm run check` — passed, including typecheck, lint, formatting, Knip, metadata and architecture guards. 68.94 s elapsed, 112.93 s CPU, 2201.3 MiB sampled family RSS peak. - `git diff --check` — passed. Memory is summed descendant RSS sampled every 100 ms; shared pages can double-count and short-lived/reparented children can be missed. A sampled 8 GiB stop and elapsed limits bounded these runs. Measurements describe validation cost, not a speedup. Agent-token cost was not measured. These tests exercise the production IDA adapter with a protocol fixture; no real IDA GUI/engine run is claimed. ## Current-head CI and review [PR CI](https://github.com/morluto/rea/actions/runs/40002501622) executes merge `7c3bf1bf` against `main@5d2c8c2b`. The IDA native file passes all 23 tests. Source failures decrease from seven on the [exact main baseline](https://github.com/morluto/rea/actions/runs/40001543511) to the same six unrelated failures (Frida lifecycle, JavaScript returned invocation, and bundle-resource fixtures). The completed failing shard 5 has the same browser redirect and JavaScript indirect-loader failures as main. Actions fail-fast cancelled the other seven shards; their complete coverage is unavailable. CI is therefore **not green**. The owner explicitly authorized continuing past failures demonstrated on main; this PR does not alter their gates or assertions. Readiness, title, static checks and package build passed. Codex code review and Greptile review both completed with no findings. ## Author readiness Human owner: @gensokyo-dev The owner explicitly delegated readiness declarations and agent-managed review in the task. Code inspection and command execution above were performed by Codex; no separate human inspection is claimed. - [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. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-11-01 21:47:49 +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#7430
No description provided.