mirror of
https://github.com/morluto/rea.git
synced 2026-11-05 06:45:22 +00:00
Closed
opened 2026-10-31 00:45:50 +00:00 by bsakaguchi
·
2 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#3990
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 23, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/6605
Before submitting
Area
CLI
Observed behavior
The public
inspect-python-pycCLI reportsresource_constraint, categoryresource_constraint, and resourcememoryfor a 105-byte CPython 3.11 pyc whose bytes constant has signed marshal length −1. Its message claimsMarshal string of 4294967295 bytes exceeds max_string_bytes 1048576.The maximum accepted string budget produces the same classification. Matching CPython rejects the body as malformed:ValueError: bad marshal data (bytes object size out of range).The controls distinguish format rejection from a real budget refusal. A truncated positive-length constant receives
invalid_requestwithinvalid_format; a fully present 2 MiB constant receivesresource_constraintat the default string budget and complete success when that budget is raised to 2 MiB. A three-byte constant also succeeds. Every measured CLI refusal exits 1 with empty stderr; successful controls exit 0.Reproduction
Use the source revision below with locked dependencies and its compiled runtime prepared. The verification used an already prepared checkout and did not rebuild or install dependencies. From the checkout root, run this block with Node.js and an existing CPython 3.11 interpreter on PATH. It creates synthetic files and isolated REA home/config/cache/data/state/temp directories, loads code objects only as data, and removes its temporary directory. No target bytecode runs.
The six CLI cases and all four matching-interpreter checks were executed through an independent probe, a replay of this program, and the exact inline shell block above. The negative-length failure reproduced on all three runs at both tested string budgets; every run produced the stated control results.
Expected behavior
Once the recognized marshal string length is read, a signed-negative encoding should receive the existing malformed-input result:
invalid_request, categoryinvalid_input, with aninvalid_formatissue forpath. It should not be interpreted as a large positive string requesting more memory. This expectation concerns typed rejection; the malformed artifact should remain refused without a successful report.Preserve real resource boundaries. The fully present positive 2 MiB constant should remain a resource refusal at the default budget and succeed at the accepted higher budget. This report does not require parsing past an earlier exhausted object/depth budget to discover a later malformed value.
Impact and scope
P2: callers receive a different machine-readable failure category and recovery direction for malformed data than for other invalid formats. The returned memory remediation recommends host/worker-memory review or a smaller artifact, neither of which corrects a signed-negative string length. This is a bounded diagnostic behavior defect affecting corrupt or handcrafted artifacts; both the current and expected paths refuse the file, and no valid artifact was observed failing because of this defect.
Real-world frequency is unknown. No input mutation, incorrect successful Evidence, lost sibling inventory, process crash, resource exhaustion, severe incident, or security-boundary crossing was observed. No caller retry loop was exercised. MCP and other platforms were not run.
REA version
Unreleased source revision
bcd1f95e68, using its prepared compiled runtime. The CLI reports 6.7.0, but the latest publishedrea-agents-6.7.0tag lacks the standalone inspector/parser; this is a source-build finding, not a claim that the published release contains the defect.Runtime and platform
Node.js v24.22.1; CPython 3.11.17 for inert fixture construction and independent marshal decoding; macOS 27.0.1 arm64. No native analysis engine was involved. Each REA subprocess received an explicit clean environment and isolated state directories.
Target and artifact context
Timestamp-header CPython 3.11 pycs with magic 3495, zero header flags, one root code object, and one bytes constant. The code has zero argument counts/flags, stack size 1, two bytecode bytes, and empty name/local/line/exception tables. Negative, small valid, truncated, and large fixtures contain 105, 108, 53, and 2097257 bytes respectively. The negative constant starts with
73 ff ff ff ff; no corresponding positive-length payload exists.Interface
CLI
Earliest failure stage
Native analysis or reconstruction
Relevant output or evidence
src/python/PythonPyc.errors.ts:1-18distinguishes corrupt recognized pycs from resource-boundary failures;src/python/PythonPycProvider.ts:53-76maps those cases to distinct public outcomes;docs/python-pyc.md, Limits and failures, describes bounded inspection and typed format failures. CPython v3.11.17 marshal reader reads the bytes length as a signed value and rejects negative sizes before allocation; the matching runtime confirms applicability to the exact fixture.src/python/PythonPycParser.ts:359-360,1347-1355,1379-1386reads the bytes length withu32()and checks the resulting unsigned value against the string budget before the file-overrun check. The prepared compiled parser contains the same read and comparison.Observed result summary from the inline program:
The negative default result reports
max_string_bytes: 1048576,retryable: false, and the message quoted above. At the maximum tested budget, only the reported limit/message changes to 8388608. Both return the same remediation action:Review the reported worker memory limits and available host memory. Retry with sufficient memory or a smaller artifact; REA retains tighter inherited limits.The additional fields and remediation were inspected in the independently retained full CLI responses.Typed outcome or recovery expected
For the negative string fixture at both tested string budgets, return
invalid_request/invalid_inputwith an issue at["path"]whose reason isinvalid_format. Identify malformed marshal structure rather than a memory shortage. Preserve refusal and avoid successful normalized Evidence; partial or opaque standalone recovery is not requested.Analysis or suspected cause
Source-derived explanation: the bytes tag uses an unsigned four-byte length reader, so the signed −1 encoding becomes 4294967295 before the resource comparison. The provider then faithfully projects the resulting resource-failure type. The observed mismatch concerns the producing format interpretation; correcting generic resource-remediation wording alone would leave the wrong category. No repair was applied or tested.
Additional context
Issue #6438 concerns valid artifacts refused by intentional caller-selected budgets. Its expected restoration retains
resource_constraintand fixes the control-specific recovery advice; this negative-length fixture instead requires the malformed-input classification.Issue #6120 concerns a separate PYZ parser and loss of healthy sibling inventory. Its closed/completed state and closure commit were checked live. The closure changes the PyInstaller parser and its tests, with no standalone-parser change. Independent public
inspect-artifactcalls at the tested baseline confirmed its separate restoration signal: negative string/list/tuple sizes abort inventory, whereas truncated and unsupported PYZ tables preserve a healthydata.txtsibling and an opaque PYZ. Standalone pyc has no such sibling or opaque fallback. The closure commit was inspected as source, not executed. Other canonical pyc reports cover code flags, hashability, singleton reference slots, negative line metadata, historical headers, Unicode previews, signed zero, and equality rules; no matching standalone negative-string-length report was found in the bounded open/closed searches.Restoration check
Rerun the exact inline program after a repair. Both negative-length calls must change from
resource_constrainttoinvalid_request/invalid_inputwithinvalid_format, while still exiting 1. Preserve the truncated input's format refusal, the small valid fixture's complete success, and the large positive fixture's default resource refusal followed by complete success at 2 MiB. Converting every over-budget string into a format error would fail the positive control. This is a proposed check; no repaired runtime was tested.Triage assessment
@ezrabrilliant commented on GitHub (Oct 23, 2026):
I'd like to take this one. I've traced it to the bytes-object length being read as an unsigned value (
this.blob(this.u32())insrc/python/PythonPycParser.ts), so a signed marshal length of -1 wraps to 4294967295 and gets classified as aresource_constraint/memory budget refusal instead of malformed input.Planned fix: read the length as a signed count that rejects negative values as malformed (
invalid_format), mirroring CPython'sbad marshal data (bytes object size out of range)and matching the existingsignedCountboundary rule already in that parser. Will add regression coverage for the negative-length case alongside the existing truncated/oversized controls and open a PR shortly.@morluto commented on GitHub (Oct 23, 2026):
Resolved on main in 06032237c. All signed counted marshal types use nonNegativeInt32 before allocation/resource checks. The executed nine-tag negative-count controls throw PythonPycFormatFailure; ordinary parser controls remain green. Validation:
src/python/PythonPycParser.test.ts— classifies a negative signed marshal count (tag %i) before applying limits; recorded execution ate1d9ebd3c. Parser suite52 passed; no new CLI/MCP or CPython oracle run. Provider translation of PythonPycFormatFailure to invalid input remains the existing owner.