[PR #6400] [MERGED] fix(ci): use an available command for the Ghidra probe marker #7338

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

📋 Pull Request Information

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

Base: main ← Head: codex/fix-ghidra-probe-marker


📝 Commits (2)

  • d0f6378 fix(ci): check the Ghidra probe with an available runner command
  • 27177e4 chore(ci): refresh Ghidra probe fix against current main

📊 Changes

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

View changed files

📝 .github/workflows/ghidra-bridge-sources.yml (+1 -1)

📄 Description

The ARM/Thumb probe completes successfully, but main's Ghidra CI lane then exits 127 because the runner has no rg. Use the runner's standard grep -F for the same exact success marker. This is a workflow dependency correction; provider behavior, fixture bytes, authority and cleanup are unchanged.

This existing PR was refreshed from main f850b7c894fa5cba370092a3ad9ca3df899d6d6f, after merging #6431, while preserving its original commit history. Its complete diff against current main remains one line.

Validation executed on head 27177e46f:

  • The original failing main Ghidra 12.1.4 log contains REA_ARM_CONTEXT_OK arm=0 thumb=1 unavailable=null (injected provider value) before the missing-command failure.
  • Executed the actual workflow shell under a PATH with mkdir, timeout, cat, grep and no rg, using a controlled headless executable replaying that captured log: baseline exits 127; fixed exits 0. Missing marker, wrong Thumb context, and a failed producer that still prints the marker all exit 1. These five controls verify the shell gate, not real-engine execution.
  • node scripts/run-exact-tests.mjs run tests/boundary/filesystem/ghidraBridgeSources.test.ts tests/boundary/filesystem/workflowActionPinning.test.ts --maxWorkers=1: 17 passed across two files. On one CPU: 3.984 s elapsed, 3.953 s user+system CPU, peak sampled process-family RSS 380.3 MiB (100 ms sampling; shared pages may double-count and short-lived/reparented children may be missed). No speedup claim; agent token costs were not measured.
  • Targeted oxfmt --check and git diff --check origin/main: pass.
  • Current-head hosted Ghidra and CI validation passed, including static checks, the portable gate, the real Ghidra lane and CI required: CI run. The earlier run 39895697798 was cancelled because its event retained the old PR base and selected 199 unrelated existing-main changes. The PR base was explicitly refreshed, its API and Git diffs now both contain exactly the one-line workflow fix, and reopening generated a fresh event without an empty source commit.

Ordinary CI maintenance; no new capability or maintainer scope decision is required. No separate issue is needed because the failing main CI run is the report. No retries, timeouts, assertions or coverage were relaxed.

Actual engine verification on this head completed successfully before the broad run was cancelled: Ghidra job, Ghidra 12.1.4 / javac 21.0.12.1, nine bridge sources compiled, real ARM=0 / Thumb=1 and injected-null checks passed, with the replacement grep -F accepting the result. This is an individual passing lane, not a claim that the cancelled overall run passed.

Author readiness

Human owner: @gensokyo-dev

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

The human maintenance owner explicitly accepted ownership and declared all three readiness items after the final diff and executed validation were presented. Codex review completed on 27177e46f with no findings.


🔄 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/6400 **Author:** [@morluto](https://github.com/morluto) **Created:** 10/22/2026 **Status:** ✅ Merged **Merged:** 10/23/2026 **Merged by:** [@gensokyo-dev](https://github.com/gensokyo-dev) **Base:** `main` ← **Head:** `codex/fix-ghidra-probe-marker` --- ### 📝 Commits (2) - [`d0f6378`](https://github.com/morluto/rea/commit/d0f6378c8a3f5011aa12a8b9f6d96029aeff61fb) fix(ci): check the Ghidra probe with an available runner command - [`27177e4`](https://github.com/morluto/rea/commit/27177e46fbaae12cb023a775b3da2d73c185c935) chore(ci): refresh Ghidra probe fix against current main ### 📊 Changes **1 file changed** (+1 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/ghidra-bridge-sources.yml` (+1 -1) </details> ### 📄 Description The ARM/Thumb probe completes successfully, but main's Ghidra CI lane then exits 127 because the runner has no `rg`. Use the runner's standard `grep -F` for the same exact success marker. This is a workflow dependency correction; provider behavior, fixture bytes, authority and cleanup are unchanged. This existing PR was refreshed from main `f850b7c894fa5cba370092a3ad9ca3df899d6d6f`, after merging #6431, while preserving its original commit history. Its complete diff against current main remains one line. Validation executed on head `27177e46f`: - The original failing main Ghidra 12.1.4 log contains `REA_ARM_CONTEXT_OK arm=0 thumb=1 unavailable=null (injected provider value)` before the missing-command failure. - Executed the actual workflow shell under a PATH with `mkdir`, `timeout`, `cat`, `grep` and no `rg`, using a controlled headless executable replaying that captured log: baseline exits 127; fixed exits 0. Missing marker, wrong Thumb context, and a failed producer that still prints the marker all exit 1. These five controls verify the shell gate, not real-engine execution. - `node scripts/run-exact-tests.mjs run tests/boundary/filesystem/ghidraBridgeSources.test.ts tests/boundary/filesystem/workflowActionPinning.test.ts --maxWorkers=1`: **17 passed across two files**. On one CPU: 3.984 s elapsed, 3.953 s user+system CPU, peak sampled process-family RSS 380.3 MiB (100 ms sampling; shared pages may double-count and short-lived/reparented children may be missed). No speedup claim; agent token costs were not measured. - Targeted `oxfmt --check` and `git diff --check origin/main`: pass. - Current-head hosted Ghidra and CI validation **passed**, including static checks, the portable gate, the real Ghidra lane and `CI required`: [CI run](https://github.com/morluto/rea/actions/runs/39896097696). The earlier run 39895697798 was cancelled because its event retained the old PR base and selected 199 unrelated existing-main changes. The PR base was explicitly refreshed, its API and Git diffs now both contain exactly the one-line workflow fix, and reopening generated a fresh event without an empty source commit. Ordinary CI maintenance; no new capability or maintainer scope decision is required. No separate issue is needed because the failing main CI run is the report. No retries, timeouts, assertions or coverage were relaxed. Actual engine verification on this head completed successfully before the broad run was cancelled: [Ghidra job](https://github.com/morluto/rea/actions/runs/39895697798/job/120226327666), Ghidra 12.1.4 / javac 21.0.12.1, nine bridge sources compiled, real ARM=0 / Thumb=1 and injected-null checks passed, with the replacement `grep -F` accepting the result. This is an individual passing lane, not a claim that the cancelled overall run passed. ## Author readiness Human owner: @gensokyo-dev - [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. The human maintenance owner explicitly accepted ownership and declared all three readiness items after the final diff and executed validation were presented. Codex review completed on `27177e46f` with no findings. --- <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:10 +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#7338
No description provided.