mirror of
https://github.com/morluto/rea.git
synced 2026-11-05 06:45:22 +00:00
Open
opened 2026-11-01 21:12:40 +00:00 by bsakaguchi
·
5 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#6612
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 @morluto on GitHub (Nov 1, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/8453
Before submitting
Area
Evidence, artifacts, or reconstruction; MCP file-backed input diagnostics.
Observed behavior
On main
e18594b24754ab95ebd119311cc32a1d1ad6fa13, a malformed standalone Evidence file with many invalid fields causedinspect_analysis_viewto return a transportresource_constraintinstead of the original fileinvalid_requestand selected path. The response namedoriginal_error_code: "invalid_request"and provided a retained reference to the complete original error; it did not lose that error. The returned transport diagnostic did not directly include the selected file path.Reproduction
FUNCTION_COMPARISON_EXAMPLE.left, replacinglimitationswith 125,000 numeric values (invalid because each limitation must be a string), and write it to an owned local file. The resulting file was 376,625 bytes.REA_MCP_MAX_RESPONSE_BYTESunset, using the TypeScript SDK in-memory transport, full schema profile, and no provider.inspect_analysis_viewwithsource: {kind: "evidence-file", path: <absolute path>}andview: {kind: "summary"}.resource_constraintat the MCP response boundary, withoriginal_error_code: "invalid_request",result_budget_bytes: 10484736,response_bytes_at_least: 10498324, and an Evidence reference for the retained original error. The response did not includedetails.path. A 20,000-value control returned the directinvalid_requestwith the selected path in both full and compact profiles; its call result serialized to 1,729,549 bytes.Expected behavior
Keep the original typed file error and selected path directly visible when field-level issue details cannot fit, with explicit omission or bounded paging. Preserve complete diagnostics where available and do not silently treat an incomplete list as complete. Bound representation expansion before allocation; do not impose a new arbitrary limit on valid Evidence files.
Impact and scope
Observed with a deliberately malformed synthetic file, no provider or target interaction. The 125,000-value reproduction used the default MCP response setting and full profile; the smaller control exercised both profiles. No claim about frequency, OOM, production data, or other clients/platforms. The original error was retained and a subsequent
get_evidence_bundlesummary succeeded; recoverability after session loss was not tested.REA version
Source revision
e18594b24754ab95ebd119311cc32a1d1ad6fa13.Runtime and platform
Node 24.22.1, macOS arm64, public MCP registration and TypeScript SDK in-memory transport.
Target and artifact context
Synthetic malformed Evidence JSON derived from the public function-comparison fixture; no target execution or provider started.
Interface
MCP.
Earliest failure stage
Evidence-file validation and error delivery.
Relevant output or evidence
invalid_request, file path and 20,000 field issues.resource_constraint, original-error reference and no direct file path.Typed outcome or recovery expected
An actionable file validation error with the original path and bounded, explicitly incomplete field diagnostics; the original full diagnostics remain accessible only where an owned bounded mechanism supports them.
Analysis or suspected cause
readEvidenceFileSourceprojects the entire validator issue list and the generic error delivery later enforces the response budget. A prototype in #8427 defers issue projection until the MCP budget is known and passes a smaller injected-budget control, but validation itself still produces the issue list; validator-time allocation and nested failure aggregation remain unverified. This is not a claim that the prototype resolves the whole resource boundary.Additional context
Related: #7882, #8427, #8449. No upstream Ghidra or Kuna issue is implied.
cc @gensokyo-dev @kaoru0822-kitauji @N0zoM1z0
@morluto commented on GitHub (Nov 1, 2026):
An isolated, unmerged prototype was exercised on the same 125,000-value file with
REA_MCP_MAX_RESPONSE_BYTESunset and the full schema profile. Its shared file reader returned an 831-byteevidence_integrity_mismatchresponse with the selected path andcontent_issues_omitted: true; no record was retained, and a following bundle-summary call succeeded. The prototype classifies a recognized malformed Evidence record as an integrity error, so its code differs from main's originalinvalid_request. This is a candidate contract change, not evidence that the behavior is fixed on main.The prototype postpones issue projection until the MCP response allowance is known and explicitly reports omission. It does not bound Zod's generation of the 125,000 issues. Nested failures, large first-issue messages, memory pressure, other transports, and actual-agent recovery remain unverified. A final design should address the producing validation boundary and preserve useful small-error diagnostics without silently dropping facts.
Stdio follow-up: The same file was tested through separate production stdio MCP server processes with
REA_MCP_MAX_RESPONSE_BYTESunset and both full and compact output profiles. On main, both returned the transport constraint with a retained original-error reference and without the selected path; a subsequent bundle-summary call succeeded. The unmerged prototype returnedevidence_integrity_mismatchwith the selected path andcontent_issues_omitted: truein both profiles; its follow-up summary also succeeded. The prototype's issue-generation and broader validation limits above still apply. Neither run started a provider or executed a target.A further synthetic control used an otherwise valid-shaped record with one 65,544-character unknown top-level key and an injected 32 KiB response budget. Deferring field-issue projection alone still produced a transport error because Zod's first-issue message included the whole key. In the prototype, the shared validation-summary owner now reports the count of unrecognized keys; exact key details remain in the structured issues when they fit, or are explicitly marked omitted. The control then returned the file-integrity error and selected path in both schema profiles. This is an injected-budget result, not a default-limit reproduction for the single long key; other oversized paths and issue types remain unverified. Four focused CLI/MCP/projection/redaction suites passed 127 tests, and typecheck/lint passed.
@morluto commented on GitHub (Nov 1, 2026):
Validator investigation: The installed Zod is 4.6.6. Its public
schema.validate()reports a boolean and can stop early; it does not provide parsed output or a field-level error. In a controlled schema with 125,000 values and the first invalid, an instrumented element refinement ran once forvalidate()and 125,000 times forsafeParse(). This is a visit-count control, not a performance benchmark or a guarantee for every schema.With previously captured real Ghidra and Kuna function records,
evidenceSchema.validate()and REA's authenticated parser both accepted the originals. For each, changing a function name without updating its Evidence ID was still accepted by the shape validator but rejected by the authenticated parser. A mismatched profile/provider was rejected by the shape validator. Thusvalidate()cannot replace identity authentication, and its boolean alone would lose useful field paths. The installed source also shows that validation may run transforms; REA's JSON value schema performs a value-preserving transform, so a preflight is not necessarily allocation-free or free on valid records.A possible direction is to retain the authenticated parser for accepted records while investigating a bounded diagnostic strategy for malformed data. That requires testing valid large records, normal field diagnostics, malformed nested records, digest failures, and actual memory/elapsed costs; no such production change is proposed by this control. Captured inputs were previously produced by real providers but this check started neither provider.
A second controlled Zod 4.6.6 probe instrumented array pushes while validating a strict object with 20,000 unexpected keys.
validate()rejected it, but the runtime pushed all 20,000 keys into its unknown-key list before returning. This matches the installedhandleCatchallsource. Consequently, early termination on the array example is not a general constant-memory guarantee; this was a synthetic instrumented call, not a measurement of a real REA request.@morluto commented on GitHub (Nov 1, 2026):
Constrained-heap process failure before diagnostic projection
A further controlled check shows that bounding the projected response does not bound validation itself. On macOS arm64 / Node 24.22.1, I started fresh public stdio servers with
--max-old-space-size=128and compact schemas. A 381,310-byte synthetic record, based on a captured Kuna dossier but with 125,000 numeric values where limitation strings belong, caused both main revisione18594band the unmerged raw-import prototype to terminate duringimport_evidence_bundle; the SDK receivedConnection closedand each server's stderr reported heap exhaustion. No provider or target ran. Under the same cap, the prototype imported the original 6,908-byte valid record and answered a subsequent summary; main correctly refused that standalone record as invalid input and also answered a summary. The old-space cap is an injected test setting, not a measurement of default-heap failure frequency.To locate the stage, a separate instrumented process constructed the prototype's production server components and called the shared file reader directly. For the 125,000-value case it completed JSON reading and passed
requireAuthenticationHeadroom, then aborted insidesafeParseImmutableEvidencebefore that call returned or MCP error projection began. A 20,000-value control returned 20,000 validation issues and completed projection. In contrast, a standalone validator process without the server components returned all 125,000 issues under the same old-space flag, showing that the failure depends on actual live heap state; the count is not a universal threshold.In that server-loaded control,
evidenceSchema.validatereturnedfalsefor the 125,000 invalid values without exhausting the heap. It returnedtruefor a shape-valid record whose result had been changed without updating its Evidence ID; the subsequent authenticated parse correctly rejected it. Therefore the boolean check is not a replacement for semantic authentication, and its public API supplies no detailed issues. Previous controlled instrumentation also showed that.validate()can collect all unknown keys, so this single example does not establish a general memory bound. A fix needs the validation owner to bound issue production or otherwise admit its worst relevant working representation before allocation, while preserving useful diagnostics and exact authentication; merely truncating the eventual MCP reply is insufficient.Related raw-record recovery design: #8427. No claim about other operating systems, provider failure rates, or the released default heap.
Main later advanced to
a6caa79bfwith a CI-only commit; that newer revision was not runtime-tested in this control.@morluto commented on GitHub (Nov 1, 2026):
Additional reproduction on the existing public import path, tested on
e18594b24754ab95ebd119311cc32a1d1ad6fa13, macOS arm64, compact MCP schema profile. Version correction: the original runs in this comment used Node 26.5.0, not 24.22.1 as first stated. I reran the public bundle-import control with the pinned Node 24.22.1: the valid bundle imported and the same malformed bundle again closed the connection with V8 heap exhaustion. The isolated Ajv results and 240/1,680-case differential below were originally run on Node 26.5.0. The server was deliberately launched with--max-old-space-size=128for this resource-pressure test; this is not REA's default.limitationsto 125,000 numeric entries produced a 381,589-byte malformed bundle.import_evidence_bundleended with SDKConnection closed; the server's stderr reported V8 heap exhaustion. No provider or target was needed during import. This reproduces the allocation problem in the existing bundle path, independently of the experimental raw-record import in #8427.I also tested a possible direction in an isolated harness, not a product change. A JSON Schema generated from the owning Zod Evidence/bundle schema, compiled with Ajv
allErrors: false, returned a first invalid location for the 125,000 invalid limitations and for a separate invalid unknowns array under the same heap setting. It accepted the valid real Kuna bundle; a content-tampered bundle passed the structural precheck but failed the existing full authentication, as required. Real Ghidra and Kuna individual records also passed both stages. A separate finite differential sample of 240 generated valid records and 1,680 invalid variations found no Zod/Ajv shape disagreement.This is evidence for further investigation, not proof that the precheck is safe or a fix. The harness instantiated production server components but did not send its precheck through MCP. Schema conversion can omit Zod refinements (including semantic identity), and a finite sample cannot prove it will never reject a valid input. Authentication and bundle invariants remain mandatory; generated-schema compatibility, all affected file entry points, useful explicitly incomplete diagnostics, and validation allocation for other input shapes still need verification before integration. The valid/malformed public MCP reproduction above did not use this experimental precheck.
@morluto commented on GitHub (Nov 1, 2026):
Correction to the precheck experiment above: the generated-JSON-Schema/Ajv precheck does not solve validator-time amplification as tested.
residualUnknownSchemausesz.string().trim().min(1)for a recommended probe'srationale. Zod rejects a whitespace-only string after trimming, but its generated input JSON Schema is just{"type":"string","minLength":1}and Ajv accepts" ". In the original Node 26.5.0 isolated production-server-component harness under the same test-only--max-old-space-size=128, a bundle with 75,000 recommended probes whose rationales were" "passed the existing headroom check and the Ajv precheck, then aborted with V8 heap exhaustion during the subsequent Zod bundle authentication. A one-probe control likewise passed Ajv and failed full authentication; a 20,000-probe case failed authentication without crashing. The 75,000-probe JSON file was 3,007,802 bytes. No target or provider was run, and this particular counterexample used the isolated harness rather than a public MCP call.This confirms that merely putting a validator generated from the input JSON Schema in front of Zod leaves a real route to the same amplification. Any eventual solution must account for omitted transformations and refinements, as well as preserve full authentication and bounded useful diagnostics. The earlier results remain useful controls for specific structural errors, not evidence for adopting that precheck as a general fix.
Follow-up public control: the same malformed 3,007,802-byte bundle also caused SDK
Connection closedwith V8 heap exhaustion through the existingimport_evidence_bundlestdio MCP tool on the tested main revision with the same test-only old-space setting. This happened both in the original Node 26.5.0 run and on a separate rerun with the pinned Node 24.22.1. The public server had no Ajv precheck; the isolated test above establishes that adding that precheck alone would let this input reach authentication.Pinned Node 24.22.1 isolated rerun: the one-probe input passed Ajv and failed authentication; the 75,000-probe input passed headroom and Ajv, then aborted during authentication. The 20,000-probe case aborted after the headroom marker and before the Ajv return marker, so the earlier 20,000-probe non-crash observation applies only to the original Node 26.5.0 run. Heap and live-server state affect where these artificial constrained tests fail.