Self-contained worklist — 33 failing. Snapshot 2026-07-01 full sweep (perry 0.5.1209, node v26.3.0). Everything you need is in this issue; no history to read, no re-measure to start.
Proxy trap invariant checks. Crate: perry-runtime (proxy/object).
Setup (any box)
git clone https://github.com/PerryTS/perry && cd perry
cargo build --release -p perry -p perry-runtime-static -p perry-stdlib-static
git clone --depth 1 https://github.com/tc39/test262 vendor/test262 # checkout test-compat/test262/pinned-sha.txt
# node on PATH (differential oracle). See test-compat/test262/README.md.
Measure/verify: scripts/test262_subset.py --root vendor/test262 --dir built-ins/Proxy --jobs 8 (the .failures.txt sidecar lists failures; diff before/after for zero-regression).
Failure reasons
| n |
reason |
| 9 |
(no output) |
| 7 |
Uncaught exception: Expected a TypeError to be thrown b |
| 4 |
TypeError: Cannot convert undefined or null to object |
| 2 |
Uncaught exception: Expected true but got false |
| 2 |
Uncaught exception: Expected SameValue(«[object Object] |
| 2 |
Uncaught exception: [[GetPrototypeOf]] trap called |
| 1 |
Uncaught exception: Expected SameValue(«undefined», «2» |
| 1 |
Uncaught exception: prototype should be an own property |
| 1 |
ReferenceError: length is not defined |
| 1 |
Uncaught exception: Expected SameValue(«false», «true») |
| 1 |
Uncaught exception: Proxy constructor does not have a p |
| 1 |
Uncaught exception: Actual [] and expected [0, 0, 0] sh |
All 33 failing cases (path — reason)
built-ins/Proxy/defineProperty/targetdesc-not-compatible-descriptor-not-configurable-target.js Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Proxy/defineProperty/trap-is-missing-target-is-proxy.js Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Proxy/deleteProperty/trap-is-missing-target-is-proxy.js Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Proxy/deleteProperty/trap-is-null-target-is-proxy.js Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Proxy/deleteProperty/trap-is-undefined-target-is-proxy.js Uncaught exception: Expected true but got false
built-ins/Proxy/enumerate/removed-does-not-trigger.js (no output)
built-ins/Proxy/get/trap-is-null-target-is-proxy.js Uncaught exception: Expected SameValue(«undefined», «2») to be true
built-ins/Proxy/get/trap-is-undefined-receiver.js Uncaught exception: Expected SameValue(«[object Object]», «[object Object]») to
built-ins/Proxy/get/trap-is-undefined-target-is-proxy.js (no output)
built-ins/Proxy/getOwnPropertyDescriptor/trap-is-missing-target-is-proxy.js Uncaught exception: prototype should be an own property
built-ins/Proxy/getPrototypeOf/instanceof-custom-return-accepted.js Uncaught exception: Expected true but got false
built-ins/Proxy/getPrototypeOf/instanceof-target-not-extensible-not-same-proto-throws.js Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Proxy/has/call-in-prototype-index.js Uncaught exception: [[GetPrototypeOf]] trap called
built-ins/Proxy/has/call-in-prototype.js (no output)
built-ins/Proxy/has/call-object-create.js (no output)
built-ins/Proxy/has/trap-is-undefined-target-is-proxy.js (no output)
built-ins/Proxy/has/trap-is-undefined-using-with.js ReferenceError: length is not defined
built-ins/Proxy/has/trap-is-undefined.js Uncaught exception: Expected SameValue(«false», «true») to be true
built-ins/Proxy/proxy-no-prototype.js Uncaught exception: Proxy constructor does not have a prototype property
built-ins/Proxy/proxy-undefined-newtarget.js Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Proxy/revocable/length.js TypeError: Cannot convert undefined or null to object
built-ins/Proxy/revocable/name.js TypeError: Cannot convert undefined or null to object
built-ins/Proxy/set/call-parameters-prototype-index.js Uncaught exception: [[GetPrototypeOf]] trap called
built-ins/Proxy/set/call-parameters-prototype.js (no output)
built-ins/Proxy/set/trap-is-missing-receiver-multiple-calls-index.js Uncaught exception: Actual [] and expected [0, 0, 0] should have the same conten
built-ins/Proxy/set/trap-is-missing-receiver-multiple-calls.js Uncaught exception: Actual [] and expected [foo, foo, foo] should have the same
built-ins/Proxy/set/trap-is-null-receiver.js Uncaught exception: Expected SameValue(«[object Object]», «[object Object]») to
built-ins/Proxy/set/trap-is-undefined-target-is-proxy.js (no output)
built-ins/Proxy/setPrototypeOf/call-parameters.js TypeError: Cannot convert undefined or null to object
built-ins/Proxy/setPrototypeOf/return-abrupt-from-isextensible-target.js (no output)
built-ins/Proxy/setPrototypeOf/return-abrupt-from-target-getprototypeof.js (no output)
built-ins/Proxy/setPrototypeOf/trap-is-missing-target-is-proxy.js Uncaught exception: Expected a TypeError to be thrown but no exception was throw
built-ins/Proxy/setPrototypeOf/trap-is-undefined-target-is-proxy.js TypeError: Cannot convert undefined or null to object
Workflow
Pick a coherent single-root subcluster, localize (cargo run --release -- f.ts --trace hir --focus <fn> / --trace llvm), fix, verify listed cases pass AND re-run the slice for zero regressions. Code-only PR (no Cargo.toml/Cargo.lock version bump, no CLAUDE.md Current-Version, no CHANGELOG — maintainer folds metadata). cargo fmt --all -- --check + bash scripts/check_file_size.sh must pass (files < 2000 lines). Reference this issue. Never reference internal infrastructure hostnames.
Self-contained worklist — 33 failing. Snapshot 2026-07-01 full sweep (perry 0.5.1209, node v26.3.0). Everything you need is in this issue; no history to read, no re-measure to start.
Proxy trap invariant checks. Crate: perry-runtime (proxy/object).
Setup (any box)
Measure/verify:
scripts/test262_subset.py --root vendor/test262 --dir built-ins/Proxy --jobs 8(the.failures.txtsidecar lists failures; diff before/after for zero-regression).Failure reasons
All 33 failing cases (path — reason)
Workflow
Pick a coherent single-root subcluster, localize (
cargo run --release -- f.ts --trace hir --focus <fn>/--trace llvm), fix, verify listed cases pass AND re-run the slice for zero regressions. Code-only PR (no Cargo.toml/Cargo.lock version bump, no CLAUDE.md Current-Version, no CHANGELOG — maintainer folds metadata).cargo fmt --all -- --check+bash scripts/check_file_size.shmust pass (files < 2000 lines). Reference this issue. Never reference internal infrastructure hostnames.