[GH-ISSUE #7659] [Bug] Translated READMEs omit the objdump/Rizin setup ownership note #4584

Closed
opened 2026-10-31 00:51:00 +00:00 by bsakaguchi · 0 comments
Owner

Originally created by @coygeek on GitHub (Oct 28, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/7659

Before submitting

  • I searched the open and closed issues for a related report.
  • I removed credentials, tokens, private paths, and sensitive target data.

Area

Documentation

Observed behavior

Source-only documentation finding. A reader of the German README sees GNU objdump/Rizin in a navigation link, but receives no corresponding explanation that these offline inspection providers are supplied by the caller and that REA does not install or update them. The English and Korean editions include that explanation in the body.

I ran this comparison from the repository root:

grep -n -i objdump README.md docs/readme/README_de.md docs/readme/README_ko.md

The match locations were English line 233, German navigation line 23, and Korean body line 193. Inspecting the surrounding paragraphs confirmed the German omission.

Across all 22 translated editions, 17 have only the navigation mention and five retain the explanatory body note. Three pending PRs cover Arabic, Simplified Chinese, and Turkish. This report concerns the remaining 14 editions.

Reproduction

  1. Check out source revision 65f1c447344a423fa2785847dbcea1e9a9e2454a.

  2. Run the three-file grep comparison above. Read the surrounding text: the English and Korean bodies explain provider ownership, while the German match is only a navigation item.

  3. Run the following read-only inventory, which I also ran, to list every translated edition's objdump-matching line numbers:

    python3 -I - <<'PY'
    from pathlib import Path
    for p in sorted(Path('docs/readme').glob('README_*.md')):
        hits = [(n, line) for n, line in enumerate(p.read_text().splitlines(), 1)
                if 'objdump' in line.lower()]
        print(p.name, ','.join(str(n) for n, _ in hits))
    PY
    

    Seventeen editions print 23, the top navigation line. The five body-note editions print 192, 193, 193, 231, and 230 for Greek, Korean, Malayalam, Romanian, and Roman Urdu respectively. The all-edition inventory and the targeted comparison agreed; this is a static discrepancy at the specified revision.

Expected behavior

Translated README editions should preserve the English edition's analysis and setup facts: GNU objdump/Rizin support applies to offline native inspection, the caller supplies the providers, and REA does not install or update them. The note should also explain that the linked guide covers setup, CLI commands, and Evidence limitations. Translation maintenance instructions designate the English edition as the reference for these facts.

Impact and scope

P3 documentation wording/completeness defect. Readers lose the provider-ownership explanation in their README, but the tools guide remains accessible through navigation and contains the missing facts. No failed analysis, provider installation, or other runtime consequence was observed.

The remaining affected editions are German, Spanish, Persian, French, Indonesian, Italian, Japanese, Polish, Brazilian Portuguese, Russian, Thai, Ukrainian, Vietnamese, and Traditional Chinese. Arabic, Simplified Chinese, and Turkish have the same baseline omission but are excluded from this report's requested correction scope because open PRs already restore their notes.

REA version

Exact node scripts/rea.mjs --version output:

6.8.0

Source revision: 65f1c447344a423fa2785847dbcea1e9a9e2454a.

Runtime and platform

Node.js v24.22.1; macOS 27.0.1; darwin, arm64. Documentation inspection, the version CLI, and the focused README consistency tests ran. No analysis provider or MCP server was started.

Target and artifact context

Repository README documentation. No binary, captured artifact, or runtime target is needed.

Interface

Other

Earliest failure stage

Unknown

Relevant output or evidence

Baseline source locations:

  • README.md:232-235: the complete English offline-inspection and provider-ownership note.
  • docs/readme/README_de.md:23: navigation link naming GNU objdump/Rizin. Lines 191-197 proceed from the JavaScript/.NET explanation to the provider anchor, startup timeout, and other-provider guidance without the offline note.
  • docs/readme/README_ko.md:193: a body-note control that includes caller-supplied providers and the installation/update limitation.
  • CONTRIBUTING.md:305-314: translation maintenance rules, including English as the reference for commands, requirements, and analysis claims.
  • docs/reverse-engineering-tools.md:1-3: the linked guide still states caller-supplied tools and no installation/update by REA.

The all-edition inventory returned navigation line 23 for README_ar.md, README_de.md, README_es.md, README_fa.md, README_fr.md, README_id.md, README_it.md, README_ja.md, README_pl.md, README_pt-BR.md, README_ru.md, README_th.md, README_tr.md, README_uk.md, README_vi.md, README_zh-TW.md, and README_zh.md.

I ran npm run test:local -- tests/conformance/readmeConsistency.test.ts with the pinned Node runtime: one test file and all nine tests passed. The translated-edition case at tests/conformance/readmeConsistency.test.ts:48-67 checks language inventory and fenced shell examples, not this explanatory prose. Its passing result therefore does not establish prose parity.

Analysis or suspected cause

Source-derived: the link comparison at scripts/lib/docs-facts.mjs:29-55,135-157 compares normalized sorted target arrays without checking placement or surrounding prose. A single guide link can remain in navigation while its explanatory paragraph is absent, preserving that target's occurrence count. This explains why link parity alone cannot detect the omission; it does not establish a runtime defect.

Additional context

Duplicate searches covered open/closed issues, open/closed/merged PRs, and comments, including objdump/Rizin, README, translation, paragraph, caller-supplied, and guide-path terms.

  • #4564 and closed-unmerged #4570 concern procps, Go/SQLite, and Bun facts. Their closure does not claim to restore this paragraph.
  • Open #4139, #3113, and #4971 contain the Arabic, Simplified Chinese, and Turkish paragraph restorations respectively; their patches were inspected. These three editions are excluded here.
  • #6589 acknowledges the Brazilian Portuguese paragraph omission but explicitly leaves it outside that PR's scope. Its translation changes would not close this omission.
  • Merged #3046 and #3021 restored the corresponding Korean and Greek notes. Those editions already carry the explanation at this baseline and are excluded.

No matching report or pending fix for the remaining fourteen-edition correction was found.

Originally created by @coygeek on GitHub (Oct 28, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/7659 ### Before submitting - [x] I searched the open and closed issues for a related report. - [x] I removed credentials, tokens, private paths, and sensitive target data. ### Area Documentation ### Observed behavior Source-only documentation finding. A reader of the German README sees GNU objdump/Rizin in a navigation link, but receives no corresponding explanation that these offline inspection providers are supplied by the caller and that REA does not install or update them. The English and Korean editions include that explanation in the body. I ran this comparison from the repository root: ```bash grep -n -i objdump README.md docs/readme/README_de.md docs/readme/README_ko.md ``` The match locations were English line 233, German navigation line 23, and Korean body line 193. Inspecting the surrounding paragraphs confirmed the German omission. Across all 22 translated editions, 17 have only the navigation mention and five retain the explanatory body note. Three pending PRs cover Arabic, Simplified Chinese, and Turkish. This report concerns the remaining 14 editions. ### Reproduction 1. Check out source revision `65f1c447344a423fa2785847dbcea1e9a9e2454a`. 2. Run the three-file `grep` comparison above. Read the surrounding text: the English and Korean bodies explain provider ownership, while the German match is only a navigation item. 3. Run the following read-only inventory, which I also ran, to list every translated edition's objdump-matching line numbers: ```bash python3 -I - <<'PY' from pathlib import Path for p in sorted(Path('docs/readme').glob('README_*.md')): hits = [(n, line) for n, line in enumerate(p.read_text().splitlines(), 1) if 'objdump' in line.lower()] print(p.name, ','.join(str(n) for n, _ in hits)) PY ``` Seventeen editions print `23`, the top navigation line. The five body-note editions print `192`, `193`, `193`, `231`, and `230` for Greek, Korean, Malayalam, Romanian, and Roman Urdu respectively. The all-edition inventory and the targeted comparison agreed; this is a static discrepancy at the specified revision. ### Expected behavior Translated README editions should preserve the English edition's analysis and setup facts: GNU objdump/Rizin support applies to offline native inspection, the caller supplies the providers, and REA does not install or update them. The note should also explain that the linked guide covers setup, CLI commands, and Evidence limitations. Translation maintenance instructions designate the English edition as the reference for these facts. ### Impact and scope P3 documentation wording/completeness defect. Readers lose the provider-ownership explanation in their README, but the tools guide remains accessible through navigation and contains the missing facts. No failed analysis, provider installation, or other runtime consequence was observed. The remaining affected editions are German, Spanish, Persian, French, Indonesian, Italian, Japanese, Polish, Brazilian Portuguese, Russian, Thai, Ukrainian, Vietnamese, and Traditional Chinese. Arabic, Simplified Chinese, and Turkish have the same baseline omission but are excluded from this report's requested correction scope because open PRs already restore their notes. ### REA version Exact `node scripts/rea.mjs --version` output: ```text 6.8.0 ``` Source revision: `65f1c447344a423fa2785847dbcea1e9a9e2454a`. ### Runtime and platform Node.js `v24.22.1`; macOS `27.0.1`; `darwin`, `arm64`. Documentation inspection, the version CLI, and the focused README consistency tests ran. No analysis provider or MCP server was started. ### Target and artifact context Repository README documentation. No binary, captured artifact, or runtime target is needed. ### Interface Other ### Earliest failure stage Unknown ### Relevant output or evidence Baseline source locations: - `README.md:232-235`: the complete English offline-inspection and provider-ownership note. - `docs/readme/README_de.md:23`: navigation link naming GNU objdump/Rizin. Lines 191-197 proceed from the JavaScript/.NET explanation to the provider anchor, startup timeout, and other-provider guidance without the offline note. - `docs/readme/README_ko.md:193`: a body-note control that includes caller-supplied providers and the installation/update limitation. - `CONTRIBUTING.md:305-314`: translation maintenance rules, including English as the reference for commands, requirements, and analysis claims. - `docs/reverse-engineering-tools.md:1-3`: the linked guide still states caller-supplied tools and no installation/update by REA. The all-edition inventory returned navigation line 23 for `README_ar.md`, `README_de.md`, `README_es.md`, `README_fa.md`, `README_fr.md`, `README_id.md`, `README_it.md`, `README_ja.md`, `README_pl.md`, `README_pt-BR.md`, `README_ru.md`, `README_th.md`, `README_tr.md`, `README_uk.md`, `README_vi.md`, `README_zh-TW.md`, and `README_zh.md`. I ran `npm run test:local -- tests/conformance/readmeConsistency.test.ts` with the pinned Node runtime: one test file and all nine tests passed. The translated-edition case at `tests/conformance/readmeConsistency.test.ts:48-67` checks language inventory and fenced shell examples, not this explanatory prose. Its passing result therefore does not establish prose parity. ### Analysis or suspected cause Source-derived: the link comparison at `scripts/lib/docs-facts.mjs:29-55,135-157` compares normalized sorted target arrays without checking placement or surrounding prose. A single guide link can remain in navigation while its explanatory paragraph is absent, preserving that target's occurrence count. This explains why link parity alone cannot detect the omission; it does not establish a runtime defect. ### Additional context Duplicate searches covered open/closed issues, open/closed/merged PRs, and comments, including objdump/Rizin, README, translation, paragraph, caller-supplied, and guide-path terms. - [#4564](https://github.com/morluto/rea/issues/4564) and closed-unmerged [#4570](https://github.com/morluto/rea/pull/4570) concern procps, Go/SQLite, and Bun facts. Their closure does not claim to restore this paragraph. - Open [#4139](https://github.com/morluto/rea/pull/4139), [#3113](https://github.com/morluto/rea/pull/3113), and [#4971](https://github.com/morluto/rea/pull/4971) contain the Arabic, Simplified Chinese, and Turkish paragraph restorations respectively; their patches were inspected. These three editions are excluded here. - [#6589](https://github.com/morluto/rea/pull/6589) acknowledges the Brazilian Portuguese paragraph omission but explicitly leaves it outside that PR's scope. Its translation changes would not close this omission. - Merged [#3046](https://github.com/morluto/rea/pull/3046) and [#3021](https://github.com/morluto/rea/pull/3021) restored the corresponding Korean and Greek notes. Those editions already carry the explanation at this baseline and are excluded. No matching report or pending fix for the remaining fourteen-edition correction was found.
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#4584
No description provided.