[PR #5510] [CLOSED] fix(metadata): isolate Go build-info validation #6944

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

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/5510
Author: @zerojackhear
Created: 10/20/2026
Status: ❌ Closed

Base: main ← Head: codex/go-rust-metadata


📝 Commits (1)

  • 8276967 fix(metadata): isolate Go build-info validation

📊 Changes

18 files changed (+590 additions, -381 deletions)

View changed files

📝 src/go/GoBinaryImage.ts (+50 -85)
📝 src/go/GoBinaryProvider.ts (+6 -6)
➕ src/go/GoBuildInfoSearch.ts (+101 -0)
📝 src/go/GoMachoImage.alignment.test.ts (+1 -1)
📝 src/il2cpp/ElfRelocations.ts (+10 -10)
📝 src/il2cpp/Il2cppBinaryImage.ts (+17 -17)
📝 src/native/metadata/BinaryContainer.ts (+53 -44)
📝 src/native/metadata/ElfImage.ts (+50 -86)
📝 src/native/metadata/MachoImage.ts (+42 -73)
📝 src/native/metadata/PeImage.test.ts (+7 -7)
📝 src/native/metadata/PeImage.ts (+40 -31)
➕ src/native/metadata/readBinaryContainer.ts (+48 -0)
📝 src/rust/RustBinaryImage.ts (+13 -13)
📝 tests/acceptance/rustBinaryCli.test.ts (+65 -0)
📝 tests/boundary/go/goBinaryImage.test.ts (+5 -7)
📝 tests/boundary/go/goBinaryMappings.test.ts (+1 -1)
📝 tests/boundary/rust/rustBinaryImage.test.ts (+26 -0)
📝 tests/fixtures/rust/image.ts (+55 -0)

📄 Description

Closure

Closed without merging at the human owner's request because the fix was adapted into upstream main in c19c2d672. The source branch, dedicated worktree, backups and all original validation receipts are retained.

Current status

The maintainer has already adapted this fix into upstream main in c19c2d6723fb92548b0c8a1ed0696d721a80aae6, whose commit message explicitly attributes draft PR #5510 without asserting human readiness. This draft is now superseded as an integration patch.

A source-only comparison against upstream c324d31b4 confirms that the original Go/Rust fix, seven mixed-section regressions and public CLI/MCP coverage are retained. Upstream additionally moves all Go fallback policy out of native readers into GoBuildInfoSearch, preserving LoadRegion, Mach-O protection masks and PE section facts, and strengthens out-of-file, zero-address and IL2CPP coverage. Seven key reader/consumer files are identical to this candidate. No independent remaining patch was identified; replaying the older representation would regress those upstream improvements.

The published candidate remains 8276967f7 on fixed validation base 0ba4d6f43 to preserve its tested tree and provenance. GitHub currently reports this redundant comparison as conflicting after upstream adoption. No further rebase, empty commit, merge or human-readiness attestation was performed. The dedicated worktree, backup refs, verified bundles and original receipts are retained for the human owner.

The executed checks below belong to the two recorded candidate runtimes. The latest upstream was inspected as source only; its maintainer-reported tests are not presented as checks run by this author, and the candidate results do not qualify every later upstream change.

Summary

Rust metadata inspection currently inherits Go-specific validation: an unrelated malformed .go.buildinfo / __go_buildinfo section can reject valid Rust dependency or inferred compiler evidence. Share native container facts while giving Go ownership of build-info validity. Rust retains its evidence; Go preserves its rejection contract.

Problem and expected behavior

On the affected base, readRustBinaryImage calls readGoBinaryContainer, running Go rules before Rust interprets its own metadata (source-derived root cause). A mixed Mach-O with zero-filled __go_buildinfo should remain inspectable as Rust while Go rejects it. No public issue is linked; this is a focused local investigation supported by regression and producer evidence.

Change and scope

Extract ELF/PE/thin Mach-O readers into src/native/metadata/; move Go selection/validation into GoBuildInfoSearch and remove the superseded Go container modules. Move direct PE tests to their reader owner. Preserve cancellation/cleanup ownership, ELF machine facts, width-specific Mach-O alignment, PE zero-VirtualSize fallback and padding bounds.

Resolve the new upstream IL2CPP reader conflicts by retaining executable mappings, PE preferred image base and Mach-O chained-fixup facts. Migrate Il2cppBinaryImage and ElfRelocations to the shared reader symbols without changing their behavior. The final diff has 18 files, including five renames, with no dependency upgrades, generated outputs or unrelated dispatch changes.

Contract and boundary impact

  • Semantic owner / earliest stage: native readers own container facts; Go owns build-info validity; Rust owns .dep-v0 and compiler-path interpretation.
  • Contribution scope / decision: ordinary static-inspection fix within existing boundaries; new-capability maintainer scope decision is not applicable.
  • CLI/MCP/tool catalog: existing commands, schemas, error categories and Evidence shape retained.
  • Compatibility: preserve native bounds, mappings, raw declared ranges, IL2CPP relocation/zero-fill/FAT selection and refusal behavior.
  • Evidence: caller path, digest, raw bytes, source ranges, partial/unknown facts and inferred compiler claims retained.
  • Selection / authority / cleanup: caller-selected local files, read-only inspection, existing cancellation and cleanup owners.
  • Generated metadata / installation: none. Toolchains, binaries, caches, runtime builds and local verification receipts are uncommitted.

Expected effects of the changed inspection workflow:

  • Read existing files or captured data.
  • Launch or attach to a process.
  • Inject instrumentation or run scripts/code.
  • Change process memory, registers, files, or configuration.
  • Contact network services.
  • Recover protected code or work around protections.
  • Documentation or usability only; no target interaction.
  • Not sure yet; investigation or maintainer guidance needed.

Evidence and regression coverage

Seven mixed-section regressions cover ELF compressed/unmapped/zero-fill/duplicate and Mach-O unmapped/zero-fill/duplicate Go sections alongside valid Rust metadata. The public regression checks CLI/stdio-MCP parity and responsiveness after errors. Go still rejects malformed named sections.

Selected fields from observed real no_std Mach-O output, including its name-only derived Go-negative sample:

{"format":"macho","auditable_metadata":{"section_name":"__DATA,.dep-v0","file_offset":4096,"section_bytes":148},"rustc_commit":null}

Go CLI/MCP rejects that derived sample with invalid_request: Mach-O build-info section is zero-fill data. The complete file has no /rustc/<40hex>/ path, so the compiler commit remains unknown. Non-UTF-8 Go fields retain null, raw Base64 and partial/unparsed data.

  • Observed, derived, and inferred claims remain distinguishable.
  • Artifact identity, source provenance, and failed attempts remain preserved.
  • Unsupported, incomplete, unavailable, or uncertain outcomes remain visible.

Validation performed

The rebase used two recorded execution points. Final commit 8276967f7d6f1c3b1065a526515b8ee9683ef428 has the same tested tree 0580c7d49a244735c392d213d868a0b17eca4454 as final test candidate 3df8e4e4; only its commit message changed afterward.

Conflict-resolution candidate ae7f74b4, base 080c0e2b:

  • npm run build:cached, npm run typecheck — passed; runtime compiled freshly.
  • npm run test:focused -- the 20 exact files below — 373 passed, 3 existing Windows skips (Go provider symlink identity, Go CLI ELOOP and IL2CPP symlink-parent Evidence).
  • oxfmt --check on all 18 changed files — passed. oxlint on those files — exit 0, 11 complexity/function-length/max-parameter warnings. Those patch contents are unchanged on the final base.
  • Fresh public Windows CLI/stdio-MCP checks — 46 successful static reads + 4 expected Go rejections: newly compiled Go 1.27.2 nine-target matrix and derived variants (14 binaries / 28 reads); retained Go 1.17.13 pointer-form ELF/PE/thin Mach-O and one Go 1.27.2 Linux non-UTF-8 sample (4 / 8); retained Rust ELF original/derived, Windows GNU PE and no_std thin Mach-O original/derived (5 / 10). Rust used 1.99.1/cargo-auditable 0.7.7 and local path crates. Retained samples were re-read, not recompiled.
Exact conflict-resolution test selection
npm run test:focused -- tests/boundary/go/goBinaryImage.test.ts tests/boundary/go/goBinaryMappings.test.ts tests/boundary/go/goBinaryProvider.test.ts tests/boundary/go/goModuleText.test.ts tests/boundary/rust/rustBinaryImage.test.ts tests/acceptance/goBinaryCli.test.ts tests/acceptance/rustBinaryCli.test.ts src/go/GoMachoImage.alignment.test.ts src/native/metadata/PeImage.test.ts src/rust/RustBinaryImage.machoAlignment.test.ts src/application/go/GoBinaryService.test.ts src/application/rust/RustBinaryService.test.ts tests/boundary/providers/artifactReadCleanupRetry.test.ts tests/process-global/stableArtifactConsumers.test.ts tests/boundary/mcp/goBinaryViews.test.ts tests/boundary/il2cpp/il2cppMetadataProvider.test.ts tests/boundary/il2cpp/il2cppMetadataFile.test.ts tests/boundary/il2cpp/il2cppGhidraSeeds.test.ts tests/boundary/il2cpp/il2cppBinaryFile.test.ts tests/acceptance/il2cppMetadataCli.test.ts

Final fixed base 0ba4d6f43ad610dacc861a1548be1a5c4712cd61: upstream subsequently changed shared native-dispatch snapshot handling, so the candidate was rebased again and the affected paths received fresh checks:

  • npm run build:cached and direct node node_modules/typescript/bin/tsc --noEmit — passed.
  • npm run test:focused -- src/application/WorkflowEvidence.test.ts src/application/binary/BinarySessionStatus.test.ts tests/acceptance/nativeDispatchSnapshot.test.ts tests/boundary/filesystem/directAnalysisSnapshotReplay.test.ts tests/boundary/mcp/workflowSnapshotReplayMcp.test.ts — 47 passed, 2 platform skips (macOS-only native-dispatch acceptance and Windows-excluded MCP queued snapshot mutation/reopen).
  • node node_modules/vitest/vitest.mjs run --project acceptance tests/acceptance/il2cppMetadataCli.test.ts --testNamePattern 'links method addresses from a selected binary slice' — 1 passed, covering selected-slice linking through CLI and MCP; 8 cases were not selected by the name filter.
  • Fresh public Go/Rust retained-sample revalidation — 18 successful static reads (Go 8, Rust 10) + 4 expected Go rejections, with source/input hashes, ranges, CLI/MCP parity, unknown/inferred fields, PE padding bounds, responsiveness and closure checked again.
  • node scripts/verify-module-boundaries.mjs — passed, 2,359 source files. node scripts/verify-test-discovery.mjs — all 1,818 test files discovered exactly once. git diff --check — clean.

The 080c full matrix remains evidence at its original runtime/source point; it was not rerun in full on the final base. Go/native reader, provider and application/domain source equality was checked across candidates (12 production files), all PR patch contents stayed unchanged, and final public workflows were rerun. The additional snapshot behavior is native-macOS-dispatch-specific; Go/Rust/IL2CPP retain their dedicated readers and handlers.

Reused Node 24.18.0/npm 11.16.0 and the dedicated worktree's verified Windows native 6.7.0 artifact; native source/manifest/artifact hashes stayed unchanged. node scripts/verify-windows-native-artifact.mjs passed this round. No toolchain was installed or upgraded this round. Go outer Jobs used a 4 GiB limit and settled with zero active processes and both streams closed. Inner full-matrix verifier lineage remains unavailable; independent retained outer Job observations establish its process-family settlement. No analyzed target was executed. Original receipts, backups, hashes, failed attempts and logs remain local and unmodified.

Compatibility, safety, and release

  • Conflicts resolved on the fixed base above, preserving both Go/Rust fixes and upstream shared-reader facts. Pre-rebase and validated intermediate commits have local backup refs and verified bundles; the dedicated worktree is retained.
  • Breaking changes / migrations / package metadata: none; public contracts retained.
  • Remaining gaps: exhaustive historical Go/compiler/architecture/byte combinations; Rust MSVC/ARM/32-bit, other compiler/cargo-auditable versions, fat Mach-O and external registry/real-world dependency corpora.
  • No Apple SDK/macOS runtime coverage: std/dynamic/system-library binaries, execution/ABI, signing and notarization remain unverified. Thin no_std Mach-O checks establish static format evidence only.
  • IL2CPP coverage here uses fixtures and public CLI/MCP workflows, not a real Unity/Ghidra engine session. Other deep engines and target runtime behavior remain unverified.
  • HTTPS archive SHA256 matches do not establish detached-signature verification or authenticated package/compiler identities. No full task CPU/RSS/token performance comparison was performed; per-Job commit peaks are not RSS.
  • Full check:pr, complete native conformance and remote CI are not claimed as passing. This superseded draft is closed without merging; human ownership/readiness declarations below remain unchecked.

Author readiness

Human owner: @zerojackhear

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

Before merge

  • This PR addresses a concrete problem or an agreed enhancement.
  • Material scope and authority questions are resolved, and any required maintainer scope decision covers the final diff.
  • The PR has one focused outcome and the title follows type(scope): outcome.
  • Related issue is linked, or the reason for not linking one is stated above.
  • Tests cover changed observable behavior and meaningful failure paths.
  • Owning docs, contracts, and generated metadata are updated where needed.
  • User-visible CLI/MCP changes include representative output.
  • I checked the final diff for secrets, unrelated cleanup, and unsupported claims.

🔄 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/5510 **Author:** [@zerojackhear](https://github.com/zerojackhear) **Created:** 10/20/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `codex/go-rust-metadata` --- ### 📝 Commits (1) - [`8276967`](https://github.com/morluto/rea/commit/8276967f7d6f1c3b1065a526515b8ee9683ef428) fix(metadata): isolate Go build-info validation ### 📊 Changes **18 files changed** (+590 additions, -381 deletions) <details> <summary>View changed files</summary> 📝 `src/go/GoBinaryImage.ts` (+50 -85) 📝 `src/go/GoBinaryProvider.ts` (+6 -6) ➕ `src/go/GoBuildInfoSearch.ts` (+101 -0) 📝 `src/go/GoMachoImage.alignment.test.ts` (+1 -1) 📝 `src/il2cpp/ElfRelocations.ts` (+10 -10) 📝 `src/il2cpp/Il2cppBinaryImage.ts` (+17 -17) 📝 `src/native/metadata/BinaryContainer.ts` (+53 -44) 📝 `src/native/metadata/ElfImage.ts` (+50 -86) 📝 `src/native/metadata/MachoImage.ts` (+42 -73) 📝 `src/native/metadata/PeImage.test.ts` (+7 -7) 📝 `src/native/metadata/PeImage.ts` (+40 -31) ➕ `src/native/metadata/readBinaryContainer.ts` (+48 -0) 📝 `src/rust/RustBinaryImage.ts` (+13 -13) 📝 `tests/acceptance/rustBinaryCli.test.ts` (+65 -0) 📝 `tests/boundary/go/goBinaryImage.test.ts` (+5 -7) 📝 `tests/boundary/go/goBinaryMappings.test.ts` (+1 -1) 📝 `tests/boundary/rust/rustBinaryImage.test.ts` (+26 -0) 📝 `tests/fixtures/rust/image.ts` (+55 -0) </details> ### 📄 Description ## Closure Closed without merging at the human owner's request because the fix was adapted into upstream main in [c19c2d672](https://github.com/morluto/rea/commit/c19c2d6723fb92548b0c8a1ed0696d721a80aae6). The source branch, dedicated worktree, backups and all original validation receipts are retained. ## Current status The maintainer has already adapted this fix into upstream main in [c19c2d6723fb92548b0c8a1ed0696d721a80aae6](https://github.com/morluto/rea/commit/c19c2d6723fb92548b0c8a1ed0696d721a80aae6), whose commit message explicitly attributes draft PR #5510 without asserting human readiness. This draft is now superseded as an integration patch. A source-only comparison against upstream `c324d31b4` confirms that the original Go/Rust fix, seven mixed-section regressions and public CLI/MCP coverage are retained. Upstream additionally moves all Go fallback policy out of native readers into `GoBuildInfoSearch`, preserving `LoadRegion`, Mach-O protection masks and PE section facts, and strengthens out-of-file, zero-address and IL2CPP coverage. Seven key reader/consumer files are identical to this candidate. No independent remaining patch was identified; replaying the older representation would regress those upstream improvements. The published candidate remains `8276967f7` on fixed validation base `0ba4d6f43` to preserve its tested tree and provenance. GitHub currently reports this redundant comparison as conflicting after upstream adoption. No further rebase, empty commit, merge or human-readiness attestation was performed. The dedicated worktree, backup refs, verified bundles and original receipts are retained for the human owner. The executed checks below belong to the two recorded candidate runtimes. The latest upstream was inspected as source only; its maintainer-reported tests are not presented as checks run by this author, and the candidate results do not qualify every later upstream change. ## Summary Rust metadata inspection currently inherits Go-specific validation: an unrelated malformed `.go.buildinfo` / `__go_buildinfo` section can reject valid Rust dependency or inferred compiler evidence. Share native container facts while giving Go ownership of build-info validity. Rust retains its evidence; Go preserves its rejection contract. ## Problem and expected behavior On the affected base, `readRustBinaryImage` calls `readGoBinaryContainer`, running Go rules before Rust interprets its own metadata (source-derived root cause). A mixed Mach-O with zero-filled `__go_buildinfo` should remain inspectable as Rust while Go rejects it. No public issue is linked; this is a focused local investigation supported by regression and producer evidence. ## Change and scope Extract ELF/PE/thin Mach-O readers into `src/native/metadata/`; move Go selection/validation into `GoBuildInfoSearch` and remove the superseded Go container modules. Move direct PE tests to their reader owner. Preserve cancellation/cleanup ownership, ELF machine facts, width-specific Mach-O alignment, PE zero-VirtualSize fallback and padding bounds. Resolve the new upstream IL2CPP reader conflicts by retaining executable mappings, PE preferred image base and Mach-O chained-fixup facts. Migrate `Il2cppBinaryImage` and `ElfRelocations` to the shared reader symbols without changing their behavior. The final diff has 18 files, including five renames, with no dependency upgrades, generated outputs or unrelated dispatch changes. ## Contract and boundary impact - Semantic owner / earliest stage: native readers own container facts; Go owns build-info validity; Rust owns `.dep-v0` and compiler-path interpretation. - Contribution scope / decision: ordinary static-inspection fix within existing boundaries; new-capability maintainer scope decision is not applicable. - CLI/MCP/tool catalog: existing commands, schemas, error categories and Evidence shape retained. - Compatibility: preserve native bounds, mappings, raw declared ranges, IL2CPP relocation/zero-fill/FAT selection and refusal behavior. - Evidence: caller path, digest, raw bytes, source ranges, partial/unknown facts and inferred compiler claims retained. - Selection / authority / cleanup: caller-selected local files, read-only inspection, existing cancellation and cleanup owners. - Generated metadata / installation: none. Toolchains, binaries, caches, runtime builds and local verification receipts are uncommitted. Expected effects of the changed inspection workflow: - [x] Read existing files or captured data. - [ ] Launch or attach to a process. - [ ] Inject instrumentation or run scripts/code. - [ ] Change process memory, registers, files, or configuration. - [ ] Contact network services. - [ ] Recover protected code or work around protections. - [ ] Documentation or usability only; no target interaction. - [ ] Not sure yet; investigation or maintainer guidance needed. ## Evidence and regression coverage Seven mixed-section regressions cover ELF compressed/unmapped/zero-fill/duplicate and Mach-O unmapped/zero-fill/duplicate Go sections alongside valid Rust metadata. The public regression checks CLI/stdio-MCP parity and responsiveness after errors. Go still rejects malformed named sections. Selected fields from observed real no_std Mach-O output, including its name-only derived Go-negative sample: ```json {"format":"macho","auditable_metadata":{"section_name":"__DATA,.dep-v0","file_offset":4096,"section_bytes":148},"rustc_commit":null} ``` Go CLI/MCP rejects that derived sample with `invalid_request`: `Mach-O build-info section is zero-fill data`. The complete file has no `/rustc/<40hex>/` path, so the compiler commit remains unknown. Non-UTF-8 Go fields retain `null`, raw Base64 and partial/unparsed data. - [x] Observed, derived, and inferred claims remain distinguishable. - [x] Artifact identity, source provenance, and failed attempts remain preserved. - [x] Unsupported, incomplete, unavailable, or uncertain outcomes remain visible. ## Validation performed The rebase used two recorded execution points. Final commit `8276967f7d6f1c3b1065a526515b8ee9683ef428` has the same tested tree `0580c7d49a244735c392d213d868a0b17eca4454` as final test candidate `3df8e4e4`; only its commit message changed afterward. **Conflict-resolution candidate `ae7f74b4`, base `080c0e2b`:** - `npm run build:cached`, `npm run typecheck` — passed; runtime compiled freshly. - `npm run test:focused --` the 20 exact files below — **373 passed, 3 existing Windows skips** (Go provider symlink identity, Go CLI ELOOP and IL2CPP symlink-parent Evidence). - `oxfmt --check` on all 18 changed files — passed. `oxlint` on those files — exit 0, 11 complexity/function-length/max-parameter warnings. Those patch contents are unchanged on the final base. - Fresh public Windows CLI/stdio-MCP checks — **46 successful static reads + 4 expected Go rejections**: newly compiled Go 1.27.2 nine-target matrix and derived variants (14 binaries / 28 reads); retained Go 1.17.13 pointer-form ELF/PE/thin Mach-O and one Go 1.27.2 Linux non-UTF-8 sample (4 / 8); retained Rust ELF original/derived, Windows GNU PE and no_std thin Mach-O original/derived (5 / 10). Rust used 1.99.1/cargo-auditable 0.7.7 and local path crates. Retained samples were re-read, not recompiled. <details> <summary>Exact conflict-resolution test selection</summary> ```text npm run test:focused -- tests/boundary/go/goBinaryImage.test.ts tests/boundary/go/goBinaryMappings.test.ts tests/boundary/go/goBinaryProvider.test.ts tests/boundary/go/goModuleText.test.ts tests/boundary/rust/rustBinaryImage.test.ts tests/acceptance/goBinaryCli.test.ts tests/acceptance/rustBinaryCli.test.ts src/go/GoMachoImage.alignment.test.ts src/native/metadata/PeImage.test.ts src/rust/RustBinaryImage.machoAlignment.test.ts src/application/go/GoBinaryService.test.ts src/application/rust/RustBinaryService.test.ts tests/boundary/providers/artifactReadCleanupRetry.test.ts tests/process-global/stableArtifactConsumers.test.ts tests/boundary/mcp/goBinaryViews.test.ts tests/boundary/il2cpp/il2cppMetadataProvider.test.ts tests/boundary/il2cpp/il2cppMetadataFile.test.ts tests/boundary/il2cpp/il2cppGhidraSeeds.test.ts tests/boundary/il2cpp/il2cppBinaryFile.test.ts tests/acceptance/il2cppMetadataCli.test.ts ``` </details> **Final fixed base `0ba4d6f43ad610dacc861a1548be1a5c4712cd61`:** upstream subsequently changed shared native-dispatch snapshot handling, so the candidate was rebased again and the affected paths received fresh checks: - `npm run build:cached` and direct `node node_modules/typescript/bin/tsc --noEmit` — passed. - `npm run test:focused -- src/application/WorkflowEvidence.test.ts src/application/binary/BinarySessionStatus.test.ts tests/acceptance/nativeDispatchSnapshot.test.ts tests/boundary/filesystem/directAnalysisSnapshotReplay.test.ts tests/boundary/mcp/workflowSnapshotReplayMcp.test.ts` — **47 passed, 2 platform skips** (macOS-only native-dispatch acceptance and Windows-excluded MCP queued snapshot mutation/reopen). - `node node_modules/vitest/vitest.mjs run --project acceptance tests/acceptance/il2cppMetadataCli.test.ts --testNamePattern 'links method addresses from a selected binary slice'` — **1 passed**, covering selected-slice linking through CLI and MCP; 8 cases were not selected by the name filter. - Fresh public Go/Rust retained-sample revalidation — **18 successful static reads (Go 8, Rust 10) + 4 expected Go rejections**, with source/input hashes, ranges, CLI/MCP parity, unknown/inferred fields, PE padding bounds, responsiveness and closure checked again. - `node scripts/verify-module-boundaries.mjs` — passed, 2,359 source files. `node scripts/verify-test-discovery.mjs` — all 1,818 test files discovered exactly once. `git diff --check` — clean. The 080c full matrix remains evidence at its original runtime/source point; it was **not rerun in full on the final base**. Go/native reader, provider and application/domain source equality was checked across candidates (12 production files), all PR patch contents stayed unchanged, and final public workflows were rerun. The additional snapshot behavior is native-macOS-dispatch-specific; Go/Rust/IL2CPP retain their dedicated readers and handlers. Reused Node 24.18.0/npm 11.16.0 and the dedicated worktree's verified Windows native 6.7.0 artifact; native source/manifest/artifact hashes stayed unchanged. `node scripts/verify-windows-native-artifact.mjs` passed this round. No toolchain was installed or upgraded this round. Go outer Jobs used a 4 GiB limit and settled with zero active processes and both streams closed. Inner full-matrix verifier lineage remains unavailable; independent retained outer Job observations establish its process-family settlement. **No analyzed target was executed.** Original receipts, backups, hashes, failed attempts and logs remain local and unmodified. ## Compatibility, safety, and release - Conflicts resolved on the fixed base above, preserving both Go/Rust fixes and upstream shared-reader facts. Pre-rebase and validated intermediate commits have local backup refs and verified bundles; the dedicated worktree is retained. - Breaking changes / migrations / package metadata: none; public contracts retained. - Remaining gaps: exhaustive historical Go/compiler/architecture/byte combinations; Rust MSVC/ARM/32-bit, other compiler/cargo-auditable versions, fat Mach-O and external registry/real-world dependency corpora. - No Apple SDK/macOS runtime coverage: std/dynamic/system-library binaries, execution/ABI, signing and notarization remain unverified. Thin no_std Mach-O checks establish static format evidence only. - IL2CPP coverage here uses fixtures and public CLI/MCP workflows, not a real Unity/Ghidra engine session. Other deep engines and target runtime behavior remain unverified. - HTTPS archive SHA256 matches do not establish detached-signature verification or authenticated package/compiler identities. No full task CPU/RSS/token performance comparison was performed; per-Job commit peaks are not RSS. - Full `check:pr`, complete native conformance and remote CI are not claimed as passing. This superseded draft is closed without merging; human ownership/readiness declarations below remain unchecked. ## Author readiness Human owner: @zerojackhear - [ ] 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. ## Before merge - [ ] This PR addresses a concrete problem or an agreed enhancement. - [ ] Material scope and authority questions are resolved, and any required maintainer scope decision covers the final diff. - [ ] The PR has one focused outcome and the title follows `type(scope): outcome`. - [ ] Related issue is linked, or the reason for not linking one is stated above. - [ ] Tests cover changed observable behavior and meaningful failure paths. - [ ] Owning docs, contracts, and generated metadata are updated where needed. - [ ] User-visible CLI/MCP changes include representative output. - [ ] I checked the final diff for secrets, unrelated cleanup, and unsupported claims. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-11-01 21:44:13 +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#6944
No description provided.