[PR #2731] [MERGED] docs(go): clarify cumulative build-info search budget #5349

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

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/2731
Author: @cyanseek
Created: 10/13/2026
Status: ✅ Merged
Merged: 10/21/2026
Merged by: @morluto

Base: main ← Head: codex/go-sectionless-pie


📝 Commits (10+)

  • 6ec84d2 fix(go): retain build info in later ELF data segments
  • 5c8ae62 test(javascript): retain unknown shadowed parameter provenance
  • 43568cd fix(go): bound overlapping build-info searches
  • 85f846e test(release): select the runnable preflight job
  • e4d2fd6 chore: merge upstream CI baseline fixes
  • 26e76b9 chore: merge captured main updates
  • 5d172ee fix(ci): isolate Linux Hopper process fixture inventory
  • d63024b fix(comparison): recheck historical calls-only changes (#2223)
  • fe70886 chore: merge main into PR #2731
  • 1ce0f03 Merge commit '8fef2aa64e' into codex/ci-wave3-2731

📊 Changes

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

View changed files

📝 src/contracts/go/goToolContracts.ts (+1 -1)

📄 Description

Summary

Document the cumulative Go build-info header-search budget in inspect_go_binary discovery. The remaining diff is one tool-description sentence; the later-load ELF parser fix and its regressions are already on main.

Problem and expected behavior

The description names the 256 MiB file bound but omits the independent cumulative search budget. Overlapping load ranges can exhaust that budget even when the file itself is smaller.

Change and scope

Clarify that each distinct search span is charged in full before searching, and partial overlaps are charged separately. readGoBinaryImage owns this accounting: identity is file offset, size and virtual-address alignment modulo 16. Identical identities are skipped; each remaining span consumes its full size, including a span in which a header is found early. Exactly 256 MiB is accepted; a next span that would exceed it raises the existing typed resource failure before scanning.

Contract and boundary impact

  • Owner: the inspect_go_binary description in goToolContracts.ts, checked against GoBinaryImage.ts on main c61c108b.
  • Scope decision: not applicable; documentation within existing offline inspection.
  • CLI/MCP: discovery wording only; no schema, parser, output, provenance, authority, cleanup or compatibility changes.
  • Generated metadata: product/tool catalogs inherit the description; generated files are not committed. No package or installation change.
  • Documentation or usability only; no target interaction.

Evidence and regression coverage

Source comparison confirms the scanner already enforces this budget. Existing executed coverage includes distinct overlapping spans, duplicate spans, the exact limit, different virtual alignments, public CLI resource diagnostics and subsequent MCP responsiveness.

Validation performed

On the branch synchronized with main c61c108b, Node 24.18.0 / Windows:

  • Five focused Go reader/mapping/provider/CLI/MCP files: 143 passed, 3 platform skips.
  • npm run check, npm run docs:check, git diff --check: passed.

Compatibility, safety, and release

Documentation-only; no breaking changes or runtime cost change. Real Go producer runs from the earlier implementation remain historical evidence, not new runs for this wording update.

Author readiness

Human owner: @cyanseek

  • 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/2731 **Author:** [@cyanseek](https://github.com/cyanseek) **Created:** 10/13/2026 **Status:** ✅ Merged **Merged:** 10/21/2026 **Merged by:** [@morluto](https://github.com/morluto) **Base:** `main` ← **Head:** `codex/go-sectionless-pie` --- ### 📝 Commits (10+) - [`6ec84d2`](https://github.com/morluto/rea/commit/6ec84d23dac43377153e115662a8988f57efa6e8) fix(go): retain build info in later ELF data segments - [`5c8ae62`](https://github.com/morluto/rea/commit/5c8ae6243790250bcbeba04052377509e34a937c) test(javascript): retain unknown shadowed parameter provenance - [`43568cd`](https://github.com/morluto/rea/commit/43568cd02342aaa21bc38768777b609451bce93f) fix(go): bound overlapping build-info searches - [`85f846e`](https://github.com/morluto/rea/commit/85f846e5930c0a682be76aa241e7e9bc62aa4763) test(release): select the runnable preflight job - [`e4d2fd6`](https://github.com/morluto/rea/commit/e4d2fd6b64b72158da45b35a78174234376f5adf) chore: merge upstream CI baseline fixes - [`26e76b9`](https://github.com/morluto/rea/commit/26e76b93b4d5b6fe2526a6ada8361c43e3998ba9) chore: merge captured main updates - [`5d172ee`](https://github.com/morluto/rea/commit/5d172ee2568d862d1350b23b3e44604945a1715d) fix(ci): isolate Linux Hopper process fixture inventory - [`d63024b`](https://github.com/morluto/rea/commit/d63024bd2c1e89c2712aa90a6370ba752d71c4ce) fix(comparison): recheck historical calls-only changes (#2223) - [`fe70886`](https://github.com/morluto/rea/commit/fe708862dd323b90fccd9c9fc2ead352cc568239) chore: merge main into PR #2731 - [`1ce0f03`](https://github.com/morluto/rea/commit/1ce0f0345cd05c4f0f4f9a2f8489251bc6305229) Merge commit '8fef2aa64ec1ee742e8b70b825938d30a0ea7319' into codex/ci-wave3-2731 ### 📊 Changes **1 file changed** (+1 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `src/contracts/go/goToolContracts.ts` (+1 -1) </details> ### 📄 Description ## Summary Document the cumulative Go build-info header-search budget in `inspect_go_binary` discovery. The remaining diff is one tool-description sentence; the later-load ELF parser fix and its regressions are already on main. ## Problem and expected behavior The description names the 256 MiB file bound but omits the independent cumulative search budget. Overlapping load ranges can exhaust that budget even when the file itself is smaller. ## Change and scope Clarify that each distinct search span is charged in full before searching, and partial overlaps are charged separately. `readGoBinaryImage` owns this accounting: identity is file offset, size and virtual-address alignment modulo 16. Identical identities are skipped; each remaining span consumes its full size, including a span in which a header is found early. Exactly 256 MiB is accepted; a next span that would exceed it raises the existing typed resource failure before scanning. ## Contract and boundary impact - Owner: the `inspect_go_binary` description in `goToolContracts.ts`, checked against `GoBinaryImage.ts` on main `c61c108b`. - Scope decision: not applicable; documentation within existing offline inspection. - CLI/MCP: discovery wording only; no schema, parser, output, provenance, authority, cleanup or compatibility changes. - Generated metadata: product/tool catalogs inherit the description; generated files are not committed. No package or installation change. - [x] Documentation or usability only; no target interaction. ## Evidence and regression coverage Source comparison confirms the scanner already enforces this budget. Existing executed coverage includes distinct overlapping spans, duplicate spans, the exact limit, different virtual alignments, public CLI resource diagnostics and subsequent MCP responsiveness. ## Validation performed On the branch synchronized with main `c61c108b`, Node 24.18.0 / Windows: - Five focused Go reader/mapping/provider/CLI/MCP files: **143 passed, 3 platform skips**. - `npm run check`, `npm run docs:check`, `git diff --check`: passed. ## Compatibility, safety, and release Documentation-only; no breaking changes or runtime cost change. Real Go producer runs from the earlier implementation remain historical evidence, not new runs for this wording update. ## Author readiness <!-- The human owner completes these declarations before requesting review. The PR author is the owner by default. A different owner must explicitly accept ownership on this PR. AI agents must leave these declarations to a human to dictate to them or there could be catastrophic consequences for many users of REA. Draft PRs may leave them unchecked. These declarations record initial readiness when opening the PR for review; later pushes do not require a new human sign-off. Keep the description and validation evidence current as the work changes. See CONTRIBUTING.md#pull-request-ownership-and-readiness. --> Human owner: @cyanseek - [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-10-31 01:05:55 +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#5349
No description provided.