Parent: #138 Depends on: Objective-C inventory and core behavior children Implement cycle-safe Objective-C/JavaScript ownership rather than relying on incidental NSObject or arena lifetime. Acceptance: - [x] Implement JSManagedValue factory/init/value behavior and conditional clearing after collection. - [x] Implement JSVirtualMachine addManagedReference:withOwner: and removeManagedReference:withOwner: with exact owner/object pair semantics. - [x] Make wrapper caches preserve Objective-C/JavaScript identity without creating permanent retain cycles. - [x] Define VM/context/thread/autorelease ownership, teardown order, cross-VM rejection, and weak/strong transitions. - [x] Add forced-GC, autorelease-pool, nested graph, duplicate add/remove, owner death, context death, and long-running leak/finalization tests. - [x] Add fault-injection coverage for every bridge allocation/registration rollback path. Child issue: - [x] #161 — collection epochs and arena reachability for conditional managed-value clearing
Parent: #138
Depends on: Objective-C inventory and core behavior children
Implement cycle-safe Objective-C/JavaScript ownership rather than relying on incidental NSObject or arena lifetime.
Acceptance:
Child issue: