[PR #4833] [MERGED] feat(erlang): inspect BEAM IFF chunks and tables #6434

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

📋 Pull Request Information

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

Base: main ← Head: fix/erlang-beam


📝 Commits (2)

  • 3714cdd feat(erlang): inspect BEAM IFF chunks and tables
  • efa4592 fix(erlang): use publicInputStrictObject for BEAM tool input

📊 Changes

55 files changed (+1699 additions, -2 deletions)

View changed files

📝 .agents/skills/reverse-engineer-anything/SKILL.md (+6 -0)
📝 .agents/skills/reverse-engineer-anything/references/native-and-artifacts.md (+10 -0)
📝 README.md (+1 -0)
📝 docs/.vitepress/config.ts (+1 -0)
📝 docs/cli.md (+10 -0)
➕ docs/erlang-beam.md (+46 -0)
📝 docs/index.md (+1 -1)
📝 docs/readme/README_ar.md (+1 -0)
📝 docs/readme/README_de.md (+1 -0)
📝 docs/readme/README_el.md (+1 -0)
📝 docs/readme/README_es.md (+1 -0)
📝 docs/readme/README_fa.md (+1 -0)
📝 docs/readme/README_fr.md (+1 -0)
📝 docs/readme/README_id.md (+1 -0)
📝 docs/readme/README_it.md (+1 -0)
📝 docs/readme/README_ja.md (+1 -0)
📝 docs/readme/README_ko.md (+1 -0)
📝 docs/readme/README_ml.md (+1 -0)
📝 docs/readme/README_pl.md (+1 -0)
📝 docs/readme/README_pt-BR.md (+1 -0)

...and 35 more files

📄 Description

Summary

Add inspect_erlang_beam / inspect-erlang-beam for one explicit local
FOR1/BEAM IFF file. The workflow returns chunk names and payload SHA-256,
Atom/AtU8 names, export/import/lambda tables with resolved atom names when
present, and the Code chunk instruction-set header.

It does not execute bytecode or require an Erlang installation. Missing optional
tables stay null. Malformed FOR1/BEAM headers, truncated chunks, and exhausted
budgets fail without partial success. LitT inflation and Attr/CInf external-term
decoding remain out of scope.

Usage

rea inspect-erlang-beam /absolute/path/to/app.beam --json

MCP: inspect_erlang_beam with an absolute path.

Tests

  • npm run check:fast
  • npm run test:local -- domain, parser, and service tests (8 passed)
  • npm run test:focused -- CLI, MCP, and filesystem tests (7 passed)

Demo

demo


🔄 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/4833 **Author:** [@mvanhorn](https://github.com/mvanhorn) **Created:** 10/17/2026 **Status:** ✅ Merged **Merged:** 10/22/2026 **Merged by:** [@morluto](https://github.com/morluto) **Base:** `main` ← **Head:** `fix/erlang-beam` --- ### 📝 Commits (2) - [`3714cdd`](https://github.com/morluto/rea/commit/3714cdd16e1774b049fe04b22282873dc24f364d) feat(erlang): inspect BEAM IFF chunks and tables - [`efa4592`](https://github.com/morluto/rea/commit/efa4592bad9b32becf50f48a47d0bf0281bd9e0b) fix(erlang): use publicInputStrictObject for BEAM tool input ### 📊 Changes **55 files changed** (+1699 additions, -2 deletions) <details> <summary>View changed files</summary> 📝 `.agents/skills/reverse-engineer-anything/SKILL.md` (+6 -0) 📝 `.agents/skills/reverse-engineer-anything/references/native-and-artifacts.md` (+10 -0) 📝 `README.md` (+1 -0) 📝 `docs/.vitepress/config.ts` (+1 -0) 📝 `docs/cli.md` (+10 -0) ➕ `docs/erlang-beam.md` (+46 -0) 📝 `docs/index.md` (+1 -1) 📝 `docs/readme/README_ar.md` (+1 -0) 📝 `docs/readme/README_de.md` (+1 -0) 📝 `docs/readme/README_el.md` (+1 -0) 📝 `docs/readme/README_es.md` (+1 -0) 📝 `docs/readme/README_fa.md` (+1 -0) 📝 `docs/readme/README_fr.md` (+1 -0) 📝 `docs/readme/README_id.md` (+1 -0) 📝 `docs/readme/README_it.md` (+1 -0) 📝 `docs/readme/README_ja.md` (+1 -0) 📝 `docs/readme/README_ko.md` (+1 -0) 📝 `docs/readme/README_ml.md` (+1 -0) 📝 `docs/readme/README_pl.md` (+1 -0) 📝 `docs/readme/README_pt-BR.md` (+1 -0) _...and 35 more files_ </details> ### 📄 Description ## Summary Add `inspect_erlang_beam` / `inspect-erlang-beam` for one explicit local `FOR1`/`BEAM` IFF file. The workflow returns chunk names and payload SHA-256, Atom/AtU8 names, export/import/lambda tables with resolved atom names when present, and the Code chunk instruction-set header. It does not execute bytecode or require an Erlang installation. Missing optional tables stay null. Malformed FOR1/BEAM headers, truncated chunks, and exhausted budgets fail without partial success. LitT inflation and Attr/CInf external-term decoding remain out of scope. ## Usage ```bash rea inspect-erlang-beam /absolute/path/to/app.beam --json ``` MCP: `inspect_erlang_beam` with an absolute `path`. ## Tests - `npm run check:fast` - `npm run test:local --` domain, parser, and service tests (8 passed) - `npm run test:focused --` CLI, MCP, and filesystem tests (7 passed) ## Demo ![demo](https://raw.githubusercontent.com/mvanhorn/pr-demo-assets/main/rea/erlang-beam/demo.gif) <video src="https://raw.githubusercontent.com/mvanhorn/pr-demo-assets/main/rea/erlang-beam/demo.mp4" controls width="720"></video> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-31 01:14:25 +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#6434
No description provided.