Parent
Scope
Implement the pinned Home/Bun private property-boundary imports with JavaScriptCore-compatible observable behavior:
JSC__JSValue__createObject2JSC__JSValue__putJSC__JSValue__putToPropertyKeyJSC__JSValue__deletePropertyJSC__JSValue__getIfPropertyExistsImplJSC__JSValue__getPropertyValueJSC__JSValue__getOwnJSC__JSValue__getOwnByValue
Acceptance criteria
createObject2creates a selected-realm ordinary object and defines key 2 before key 1 with writable/enumerable/configurable data descriptors; duplicate keys retain key 2's insertion position but key 1's value.- ZigString
putperforms a direct named own write, bypassing inherited setters, while property-keyputToPropertyKeyperformsToPropertyKeyonce, preserves symbols, handles indexes, and publishes coercion/write exceptions. deletePropertyuses ordinary[[Delete]], including proxy traps and configurability rules, and returnsfalsefor non-objects and exceptions.getPropertyValueperforms ordinary prototype-aware[[Get]], including indexes, accessors, and proxies; absence returns the deleted sentinel and exceptions return empty.getIfPropertyExistsImplimplements Bun's non-index prototype-pollution-mitigated lookup: walk own properties/proxies but stop before the selected realm's%Object.prototype%; absence returns deleted and exceptions return empty.getOwnandgetOwnByValueuseGetOwnProperty, invoke own accessors/proxy traps, support BunString/Empty and exact property-key coercion/index paths, and return empty for absence or exception.- Focused ABI coverage exercises duplicate-key order, direct-write bypass, numeric and symbol keys, inherited and own accessors, proxy traps, non-configurable delete, prototype cutoff, non-object sentinels, throwing coercion/accessors/traps, cross-realm values, and pending-exception preservation.
- Home/Bun implementation inventories, ABI documentation, README progress, and parent trackers are updated from checked-in evidence.