mirror of
https://github.com/morluto/rea.git
synced 2026-11-05 06:45:22 +00:00
[GH-ISSUE #4211] [Bug] Omitted initiator URLs cause unsupported passive network comparison results #1651
Closed
opened 2026-10-16 21:08:29 +00:00 by bsakaguchi
·
1 comment
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#1651
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?
Originally created by @coygeek on GitHub (Oct 15, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/4211
Before submitting
Area
Evidence, artifacts, or reconstruction
Observed behavior
The offline
compare-web-capturesCLI reports network equality for two captures that explicitly omit the compared initiator URL, and reports a request modification when only one capture omits that URL. The omission is recorded innetwork_initiatorscompleteness. Request identity, inventory, response facts, and the remaining initiator facts are fixed. These are unsupported equality and omission-only modification results, with no demonstrated hidden real initiator change.Reproduction
With the source revision under REA version and its locked dependencies prepared, run
npm run build:cachedusing the pinned toolchain. Save the following program asrepro.mjsin a disposable work directory outside the checkout. It constructs already-recorded passive capture inputs, validates them with the built production schema, and compares nine pairs. Theexample.testURLs are inert identities. Each child CLI uses isolated home and configuration directories. The fixture timestamp comes from the local date command, rather than a guessed historical capture time.From the checkout root, run the program with the checkout and its disposable work directory as arguments. For example, when the program is saved in the directory named by
comparison_work, run:The inspected request has method GET, URL ending in
/data, resource type Fetch, response status 200, MIME type application/json, byte count 10, and no redirects. Theomittedinput differs fromretainedonly by replacing the initiator URL with null and adding the matching completeness/exclusion entries. There is one request on both sides in the same order. Thedifferentcontrol instead retains a different known initiator URL. The status control retains omitted URLs on both sides and changes the known response status to 201.Expected behavior
The network dimension must preserve the explicit lack of initiator URL evidence. With no independently established difference,
bothOmitted,oneOmitted, andreverseOmittedshould report unknown and no modification inferred from the omitted URL. The attach-limited omission pair should likewise remain unknown unless a retained fact proves a difference. A null value accompanied by a recorded omission cannot establish either equality of the missing URLs or a changed initiator URL.The complete self-comparison should remain unchanged. Known retained initiator URL differences and known response status differences must remain reportable as changes. An unrelated console omission must not make network comparison unknown. These requirements concern the URL fact that actually enters this comparison, rather than every optional initiator field or every comparison dimension.
Impact and scope
REA version
Source checkout at 62bf09809ef7bb224028916424f8f07652a20f4f, built with
npm run build:cached. The source package reports 6.5.0; this is not a reproduction of the publishedrea-agents-6.5.0package. Current main08a897b2cd7b359fcb0674c82baec3f1a74af632was inspected: the cited contract, comparator, and public adapter files are byte-identical to the tested source revision. The baseline reproduction was not rerun on that newer main revision, and packaged-release applicability was not established.Runtime and platform
macOS arm64; pinned Node.js v24.18.0 and npm 11.16.0; repository locked dependencies. No browser or external service ran. NOT_ENOUGH_INFO: the OS release was not recorded for the reproduction.
Target and artifact context
Synthetic, schema-validated normalized passive capture JSON files with one HTTP request and no redirects. The URLs are inert recorded identities and are never fetched. Request count, order, identity and known response facts are fixed except for the named controls. The initiator URL is the compared fact explicitly omitted by the fixture's
network_initiatorsmarker. These are already-recorded inputs; no actual filtering, redaction, origin-policy action, or protected value was exercised.Interface
CLI
Earliest failure stage
Transport or result projection
Relevant output or evidence
The inline program execution made nine successful CLI calls. Every child exited 0. It returned the following network and overall statuses:
The incorrect equality result is specific to the network dimension; unrelated dimensions leave overall status unknown. The omission-only modifications also make overall status changed. Each modified entry uses the same request identity,
net_7a1b22a9c7101a021881143f45152302fb26cb92504f1f9be0947cc571b67abc, with total_changes 1 and reason null. The known differences in the controls use that identity too. Both omitted fixtures contain null, so no real underlying initiator change was observed. The result persisted in a second equivalent execution; this does not establish real-browser occurrence frequency.Evidence provenance: observed. Local verification: reproduced. Reproduction completeness: complete. The exact inline reproduction was independently rerun after a fresh source build. All nine public CLI calls exited 0. The unchanged existing network-comparison suite passed all 45 tests. MCP sharing is source-derived only; its transport was not run.
Typed outcome or recovery expected
Rerun the inline program and inspect the network dimension. Require unknown with no omission-only modification for
bothOmitted,oneOmitted,reverseOmitted, andattachOmission. KeepcompleteandunrelatedOmissionunchanged, keepattachCompleteunknown, and retain one modification for each ofknownInitiatorChangeandknownStatusChange. Preserve the original capture facts and keep genuine differences reportable rather than dropping all initiator evidence or suppressing every network change on incomplete captures.Analysis or suspected cause
Source-derived expected contract: the public comparison contract and the passive capture guide say missing or truncated evidence never proves equality. The guide also includes initiator locations among network facts. Passive input schemas, nullable initiator URL, and the completeness section enum admit this explicitly omitted compared fact.
Source-derived failure explanation: network comparison and request fingerprinting include the entire initiator object in the fingerprint while omitting
network_initiatorsfrom the completeness handling and shared-known metadata projection. This explains why one omitted URL becomes a modification and two omissions permit equality. It does not establish a hidden real initiator change or require suppressing independently known differences.Public reachability: the CLI parses passive file inputs, the application operation selects its adapter, and the adapter calls the pure comparator without browser access. The MCP registration shares this operation by source inspection only.
Additional context
Related closed #3172 handled unavailable redirect response metadata; this fixture has no redirects, and the tested source still reproduces the separate initiator URL result. Related #3386 concerns omitted duplicate requests and multiplicity; these inputs each retain one request in the same order. Open #3879 concerns script-source identity, and #3989 concerns dropped WebMCP observations. Their closure signals do not cover this compared URL and its explicit omission marker.
The complete-within-window inventory is a schema-valid synthetic input, not a claim that a live attach-only capture emits it. The attach-limited pair independently reproduces the omission-only modification. NOT_ENOUGH_INFO: real-browser occurrence frequency, behavior on other platforms, and a practical result-preserving workaround were not established. Published-package behavior was not tested.
@coygeek commented on GitHub (Oct 24, 2026):
Checked the reported fix on
mainatd87e73f2db.networkDimension now derives joint initiator completeness, excludes initiator facts from both comparison maps when incomplete, and includes initiator completeness in equality eligibility. Thus a one-sided omitted URL cannot generate a modification, while both omitted cannot establish equality. Response facts remain compared.
Implementation: webCaptureDiff.ts, webCaptureDiff.ts.
The relevant regression checks in passiveCaptureCorrespondence.test.ts passed in the focused test run on this revision. This closure is based on the current source and those checks; provider fixtures do not establish a real-engine run. Closing as completed on main.