mirror of
https://github.com/morluto/rea.git
synced 2026-11-05 06:45:22 +00:00
[PR #1942] [MERGED] fix(verification): align Linux Hopper setup lane with current contracts #4925
Closed
opened 2026-10-31 00:56:49 +00:00 by bsakaguchi
·
0 comments
No Branch/Tag specified
main
codex/procedure-reference-stacked
release-please--branches--main--components--rea-agents
release-please--branches--main--components--rea-agents--release-notes
codex/kuna-independent-retry
codex/byte-search-overlay-coverage
codex/open-failure-target-receipt
codex/kuna-xref-evidence
codex/ghidra-ambiguous-procedure-recovery
codex/function-source-bundle
codex/trace-function-integration-prototype
codex/snapshot-source-closure
codex/recorded-evidence-array-pages
codex/evidence-recovery-redesign
codex/trace-feature-address-scope
codex/call-discovery-scope
codex/ghidra-literal-candidate-evidence
codex/decompile-directory-independent-retry
codex/retry-provenance-base
codex/value-flow-capability-experiment
codex/ghidra-containing-instruction
cursor/readme-discord-button-ef9f
dependabot/github_actions/actions/setup-node-7.1.0
dependabot/github_actions/actions/upload-artifact-7.0.2
dependabot/npm_and_yarn/npm-minor-and-patch-d8d97ce6df
codex/kuna-1989
fix/8559-native-ui-fixture-ownership
fix/8555-go-verifier-mcp-ownership
codex/provider-capability-recovery
fix/8642-rizin-target-stdin
codex/ghidra-memory-effect-scope
codex/ghidra-annotation-entry-selector
codex/ghidra-readonly-recovery
codex/ghidra-regex-verifier-recovery
codex/evidence-discovery-view-guidance
fix/8545-bulk-append-overflow
fix/8428-navigation-refusal-alternatives
codex/address-context-recovery
codex/matching-member-limitations
codex/unknown-scope-contract
codex/evidence-view-guidance
feat/8373-native-trace-views
codex/ghidra-snapshot-verifier-binding
codex/elf-export-visibility
codex/evidence-view-recovery
codex/native-reference-cli-help
codex/provider-candidate-observation-scope
codex/kuna-session-verification
codex/ghidra-switch-lifetime-guidance
codex/pseudocode-paging-discovery
codex/clarify-evidence-view-support
codex/kuna-xrefs-selector-recovery
codex/context-capacity-recovery
codex/evidence-closure-large-links
codex/same-function-evidence-identity
codex/ghidra-verifier-inspected-jdk
codex/audit-guided-workflows
codex/crash-prompt-retained-dossiers
codex/analysis-view-error-recovery
codex/kuna-verifier-target-selection
codex/ghidra-selected-project-call-coverage
codex/docs-native-analysis-scope
codex/ghidra-java-socket-boundary
codex/ghidra-retained-snapshot-verifier
codex/ghidra-search-inventory-facts
fix/8284-zero-argument-parameter-bindings
fix/8198-ui-action-handler-offset
fix/8257-elf-entry-label-identity
fix/8304-deferred-output-schema-projection
fix/8277-call-path-computed-target-uncertainty
fix/pr-8089-conflicts
fix/ci-static-duplicate-export
dependabot/npm_and_yarn/lint-staged-17.6.0
dependabot/github_actions/actions/download-artifact-8.0.2
dependabot/npm_and_yarn/write-file-atomic-8.0.0
dependabot/npm_and_yarn/canonicalize-5.1.0
dependabot/github_actions/actions/cache/restore-6.1.0
dependabot/npm_and_yarn/toon-format/toon-4.4.0
dependabot/github_actions/actions/deploy-pages-5.0.1
codex/review-fixes-pr-2403
codex/review-fixes-pr-2400
codex/process-terminal-width
codex/test-brittleness-cleanup
verify/7167-browser-connect-macos
fix/7167-browser-connect
feat/native-matching-allowance-setting
feat/browser-scenario-dry-run
test/managed-caller-parameters-20261024
codex/parser-fortythird-boundaries
fix/6926-pinvoke-platform-decorations-20261023
fix/6889-har-body-encoding-20261023
fix/6888-sqlite-schema-budget-20261023
fix/dependency-security-gates-6708
cursor/evidence-overwrite-rebase-b4ac
feat/4057-verify-native-exports
fix/windows-acl-observer-overhead-20261022
cursor/erlang-beam-restack-4476
cursor/pe-certificate-review-bf32
fix/6116-javascript-application-fs-errors
fix/6061-unmapped-runtime-script-unknown
feat/browser-scenario-summary
fix/pe-certificates
codex/verify-3407
cursor/rebase-5699
cursor/rebase-5352
cursor/rebase-5600
cursor/fix-cli-schema-omission-10a8
codex/audit-hopper-shutdown-reasons-20261021
fix/demangle-swift-omitted-record
fix/nib-boolean-value-types
cursor/cancellation-partial-observation-a5ac
fix/ib-object-limit-reasons
fix/electron-fuse-limit-advice
fix/kuna-doctor-dangling-cache
fix/fixed-budget-refusal-advice
fix/js-ipc-listener-dedup
fix/js-return-member-provenance
fix/dmg-integrity-retry-advice
fix/ida-doctor-readiness
fix/kuna-version-probe-output-drain
fix/legacy-swift-runtime-name-matching
fix/dylib-lazy-load-commands
fix/browser-scenario-startup-cancel
fix/swift-nested-punycode-classification
fix/compare-unselected-scopes
fix/objc-method-budget-coverage
fix/dmg-mounted-root-observations
audit/ci-tests-20261019-round2
release/6.7.0
fix/wabt-cleanup-retry-resolution
fix/electron-fuse-elf-pe-architecture
fix/native-plist-descriptor-ownership
fix/kuna-caller-cleanup-ownership
experiment/atomic-codemode-20261016
review/first-contributor-3776
fix/call-resolution-full-read-cycles
fix/member-mutation-selection-repeat
experiment/atomic-re-tools-20261015
perf/member-mutation-lazy-origins
perf/static-network-mutation-index
fix/hopper-startup-lifecycle
audit/3050-windows-proof-20261015
feat/windows-window-capture-2183
audit/3049-windows-proof-20261015
audit/3735-macos-fixtures-20261015
fix/batch-decompile-null-pseudocode
fix/kuna-inventory-honors-jobs
experiment/browser-codemode-tool-design-20261015
fix/hopper-clean-runtime-argv
codex/review-2049-27f1b367
review-fixes/pr-2787-routing
fix/3360-scoped-this-emitters
fix/3367-replaced-global-effects
fix/3838-compact-any-value-items
test/hopper-download-probe-20261015
codex/windows-runtime-creation-red-green-20261015
codex/windows-readonly-root-red-green-20261015
codex/windows-root-share-red-green-20261015
codex/exp-1685-win-mcp-startup
codex/bug-sweep-20261015
investigate/2190-windows-package-phases
investigate/3543-macos-cli-deadline
perf/3281-reverse-tools-feedback-quality
fix/3406-hopper-doctor-fixture
fix/3341-wrapper-require-test-context
fix/3301-owned-uninstall-fixtures
fix/3164-compiler-input-ownership
fix/pcap-cleanup-stdout-newline-20261014
perf/interface-builder-summary
codex/review-fixes-pr-1977
fix/ghidra-effective-jvm-platform
fix/docs-turkish-rust-link-20261013
fix/main-maintenance-ci-20261010
fix/recover-binary-session-process-effects
codex/review-fixes-pr-2457
codex/ci-required-cancellation-gate
fix/main-format-baseline-20261013
fix/setup-preserve-entry-fields
cursor/restore-main-checks-1ffc
fix/ghidra-bridge-hashmap-import
codex/shared-ci-jadx-json-default-20261013
codex/shared-ci-ghidra-test-groups-20261013
codex/shared-ci-java-fixture-format-20261013
codex/fix-intrinsic-invocation-boundaries
test/release-preflight-reusable-jobs
test/js-parameter-provenance-expectation
fix/linux-hopper-verification-current
test/2419-ghidra-elf-probe-size
followup/pr-1544-native-ida
codex/fold-pr-2230-contribution
docs/readme-responsible-use
fix/issue-2064
fix/issue-2050
fix/issue-2053
fix/issue-1968
fix/issue-1945
experiment/codemode-bridge-20261011
fix/tool-effects-negative-wording-1904-20261012
fix/1842-electron-interop-provenance
feat/recover-javascript-multi-input
refactor/website-i18n-prep
fix/nativeaot-pe-virtual-extent
fix/browser-verifier-ci-hang
fix/pe-resources-input-selection
docs/beginner-friendly-guides
docs/beginner-setup-guide
fix/javascript-analysis-worker-1563
fix/1649-ghidra-duplicate-names
fix/javascript-export-keys-integration-1369
test/maintenance-boundary-contracts-20261011
review/javascript-export-keys-1369
review/process-live-progress-1483
test/javascript-1495-growth-ratio
fix/ci-escape-timing
docs/normalized-terminal-geometry-1450
release/6.3.0
archive/release-6.3.0-pr1381
release/6.2.0
fix/electron-preload-dynamic-override
fix/javascript-self-referential-bundler-edges
release/6.1.0
cursor/grok-client-cherry-pick-0b56
feat/signature-posture
feat/dyld-shared-cache
feat/artifact-integrity-policy
feat/pkg-inventory
release/6.0.0
chore/sync-release-5.0.0
release/5.0.0
cursor/cloud-agent-node-787e
fix/javascript-xhr-open-endpoints
review/pr-711-realpath-fallback-wording
cleanup/replay-confinement
codex/test-suite-performance
codex/issue-foundations
codex/address-open-issues-2026-07-20
agent/javascript-vite-rollup-esbuild-adapters
agent/process-cleanup
agent/triage-integration
agent/unknown-commands-registry
feat/mcp-identity-metadata
morlvps/issue_cleanup
codex/installer-redesign
morl/roadmap-investigation-core
morl/roadmap-investigation-docs
release-please--branches--main--components--rea
rea-agents-6.8.0
rea-agents-6.7.0
rea-agents-6.6.0
experiment/atomic-codemode-wait-runtime-20261016
rea-agents-6.5.0
rea-agents-6.4.0
rea-agents-6.3.0
rea-agents-6.2.0
rea-agents-6.1.0
rea-agents-6.0.0
rea-agents-5.0.0
rea-agents-4.1.0
rea-agents-4.0.1
rea-agents-4.0.0
rea-agents-3.2.1
rea-agents-3.2.0
rea-agents-3.1.0
rea-agents-3.0.0
rea-agents-2.7.0
rea-agents-2.6.0
rea-agents-2.5.1
rea-agents-2.5.0
rea-agents-2.4.0
rea-agents-2.3.0
rea-agents-2.2.0
rea-agents-2.1.0
rea-agents-2.0.0
rea-agents-1.7.0
rea-agents-1.6.0
rea-agents-1.5.0
rea-agents-1.4.0
rea-agents-1.3.0
rea-agents-1.2.0
rea-agents-1.1.0
rea-agents-1.0.0
rea-agents-0.5.0
rea-agents-0.4.0
rea-agents-0.3.0
rea-0.2.1
rea-0.2.0
Labels
Clear labels
area: bridge
area: bridge
area: build
area: build
area: build
area: cli
area: domain
area: evidence
area: mcp
area: native
area: providers
area: runtime
area: server
area: setup
area: tests
bug
design
documentation
enhancement
enhancement
enhancement
experiment
help wanted
i18n
invalid
P0: critical
P1: high
P2: medium
P2: medium
P2: medium
P3: low
performance
provider-request
pull-request
Mirrored from GitHub Pull Request
question
roadmap
triage
No labels
area: bridge
area: bridge
area: build
area: build
area: build
area: cli
area: domain
area: evidence
area: mcp
area: native
area: providers
area: runtime
area: server
area: setup
area: tests
bug
design
documentation
enhancement
enhancement
enhancement
experiment
help wanted
i18n
invalid
P0: critical
P1: high
P2: medium
P2: medium
P2: medium
P3: low
performance
provider-request
pull-request
question
roadmap
triage
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
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#4925
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/morluto/rea/pull/1942
Author: @LuisTaffelli
Created: 10/11/2026
Status: ✅ Merged
Merged: 10/13/2026
Merged by: @morluto
Base:
main← Head:fix/linux-hopper-verification📝 Commits (10+)
58d23e4fix(verification): align Linux Hopper setup lane with current contractsc039dd8fix(verification): retain orphan checks on clean Linux runnersb88cdc2fix(verification): detect Hopper through alternate launcher pathsb9d9a47fix(verification): report identified Hopper leaks before proc errors8ea0432fix(verification): distinguish Hopper string recognition from byte fidelity97b76aafix(verification): report full literal decoding coverage explicitlyf379bc3fix(verification): integrate Linux Hopper lane with current contracts794debechore(verification): sync Hopper validation with latest main94f3219chore: merge main and resolve PR #1942 conflicts0bb06f8test(verification): require a clean host before orphan checks📊 Changes
1 file changed (+3 additions, -0 deletions)
View changed files
📝
tests/process-global/cleanLinuxHopperRuntime.test.ts(+3 -0)📄 Description
Problem and scope
The Linux clean-setup verifier requests the wrong setup plan, omits source-built fixtures, uses an unscoped doctor, and requests reinstallation while expecting idempotence. The nested Hopper verifier also leaves the launcher environment pointing to a deleted alternate symlink. This PR corrects that verification path and retains orphan-aware clean-runner observations alongside token-verified child lineage.
The native Linux fixture investigation exposed recognition limits in Hopper 6.4.2. The verifier retains all 4,120 original long-literal bytes through a source-owned symbol, binds recognition to that exact address, and reports its decoded-object coverage as unverified on Linux. A separate 548-byte ASCII literal remains mandatory for decoded fragmentation, byte fidelity, shortened native display, tail search and dossier provenance. Missing native non-ASCII objects retain raw-byte proof and explicit unverified decoded coverage; any returned object must pass its value/encoding/extent/filter/search checks. macOS keeps the original full-length recognition requirement.
Related #339 and #340 remain open. No production provider, bridge, installer, domain, CLI/MCP schema or Evidence contract is changed. This is a routine verification correction within existing provider authority; it adds no target execution or mutation capability. The native lane uses existing metadata mutations in owned fixture sessions, with unrelated-process preservation. Installation writes occur only after the explicit setup plan and approval in the disposable VM.
Review corrections
The two regressions use real detached OS processes and production token/identity cleanup. They establish observation behavior, not real-Hopper behavior. The tested candidate uses the current temporary-directory helper and moves this PR's guide additions to docs/client-verification.md, where upstream now owns these instructions.
Exact source and native evidence
Original real-Hopper evidence remains pinned to
8ea0432ffc, run 45930d25-d485-4ff3-a0bf-0e6286f12329. It is not substituted for later executions.A new execution of the earlier PR revision
97b76aa20apassed in a private disposable Omarchy 4.0.4 x86-64 VM with Hopper 6.4.2-1 and Node 24.18.0/npm 11.16.0. Run ae4de7ff-dd2a-4c73-88dc-6dbf1ad7c537 completed 2026-10-12T22:13:52.319Z: 172 advertised schemas, 181 successful calls, 63 rejected calls, complete 1,205-item inventories, cancellation/deadline recovery, competing launches, unrelated Hopper preservation and clean shutdown. The configured launcher was restored and the dedicated post-run observer passed. All 2,822 source file digests matched before and after; runtime and source fixtures were built inside the guest. A non-root observer preflight failed closed on an unreadable caller-owned /proc executable before Hopper launched; its report is retained separately. The root run passed without changing that check.Tested candidate, now represented by commit
f379bc3882: mainae8051302bplus patch SHA-256 1a7ca61c6cff56730f2855d363d6e93e3c9615016578479722f63f6aa10e5723. Its separate native run 9e7de373-4686-4820-ae48-801e536589b7 completed 2026-10-12T22:17:02.991Z and passed with 187 schemas/181 successful calls/63 rejected calls and the same cleanup/coverage assertions. All 3,175 archived source-file digests matched before and after. The native run preceded commit creation. All 3,175 exported file digests match the later commit's git archive, including checkout normalization declared by .gitattributes. Native evidence is bound to that source snapshot; it is not a native execution of the final PR head. Unmaterialized optional gitlinks are recorded in provenance and outside the Hopper claim.Both runs report the full literal at 0x402020 as not_observed / decodedObject unverified. The fixture binaries have their own execution-specific digests; no old fixture digest is reused. Public evidence package contains 27 remotely verified files: source manifests, execution-specific fixture digests and receipts, runtime identities, full reports, failed preflight, cleanup observations and CI reproduction logs. Public logs remove terminal ANSI formatting only; the index records original and published SHA-256 values. The originally empty final process receipt is represented by an explicitly labeled JSON observation with its original size and digest. Original local evidence is preserved. No binaries, provider documents, VM disks or credentials are included in Git.
Published revision
Current head is
794debe565, integrating main653067d799without conflicts. The subsequent main merge changes 24 JavaScript/Apple files and tests; it changes no Hopper/provider/verifier or dependency files. Its complete path list and commit/tree bindings are in the public evidence package. No new native run was performed on this final merge. The PR diff remains nine verification, fixture and documentation files.Validation and CI diagnosis
26 selected tests, npm run check, docs:check and the pre-push check passed on final head
794debe5. Earlier candidate validation: 21 selected tests, npm run check, docs:check, verify:fixtures (4 fixtures), verify:test-discovery (996 files exactly once), verify:package and npm pack --dry-run passed on the candidate. Package checks are not native verification of an installed npm artifact. The complete local suite/check:pr was not rerun.Historical required CI run 38177777058 remains failed on the earlier revision
97b76aa2. The same two Qwen assertions and one browser assertion reproduced in both exact CI merge4893452b55790e4e362e097beb02e076b5ce345a and baseb777e5d4d8a7b60edad7d5c0eaa56408a4b3f610; five relevant test/producer file digests are identical between them. Qwen expects a raw string instead of the successful Result object. The browser fixture lacks required initiator metadata and therefore creates no request; its not.toBeNull assertion fails to reject undefined. Upstream89f5e489a fixes both fixture contracts;d1dcebce2subsequently strengthens response occurrence ownership. All 13 selected tests passed on pinned mainae8051302b, and all 21 passed with the tested candidate. The expanded final selection passed all 26 tests. No Qwen/browser correction is added to this PR. The historical red gate remains failed. Fresh CI run 38317360262 for published head794debe565completed successfully, including CI required, all six test shards and coverage aggregation.Installation and coverage limits
The earlier two clean installation attempts stopped at download_failed; the previous cached official-package restoration was separate evidence, not a fresh setup pass. The new uninterrupted verify:setup:linux run passed on the private candidate VM: 93584b53-944b-47cf-a6a4-b0d4ff8a4961, completed 2026-10-12T22:19:38.365Z. Hopper was removed with pacman -R (its prerequisites were retained), the lane used a new empty HOME, and the official download/install path ran without cached-package restoration. The verifier required the read-only plan, approved installation, scoped doctor, source CLI/MCP conformance, modified-launcher rejection, empty repeated setup actions and clean teardown. All 3,175 source hashes still matched afterward; the final Hopper/Xvfb observation was empty and the private VM shut down normally (QEMU exit 0). This is an uninterrupted pass with previously provisioned runtime prerequisites, not a claim about every fresh OS image or the older failed attempts.
Native evidence covers this Linux demo build and source CLI/MCP only. macOS and other builds, an installed npm artifact with real Hopper, native decoding of omitted full/non-ASCII literals, internal recognition heuristics, interruption of synchronous native work and saved-database recovery remain unverified. The raw-byte/recognized-fragment observations do not establish a universal native length limit. Passing this PR does not close #339 or #340.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.