ReviewOS

zig-utils/zig-js

Home ABI: export the core EncodedJSValue identity and coercion shims

#167
Closed chris opened this 9 days ago ·
9 days ago

Parent: #163 Depends on: #166

Land the first complete private-symbol slice on the JSC64 boundary.

Acceptance:

  • Implement exact pinned signatures for JSC__JSValue__eqlCell, JSC__JSValue__eqlValue, JSC__JSValue__toBoolean, and JSC__JSValue__toInt32.
  • Decode primitives through private_abi.EncodedValue and validated external cell handles through context-owned C-API boxes.
  • Cover empty/immediate/int32/double/string/object identity and truthiness behavior, including NaN and negative zero.
  • Keep private exports out of the public C symbol count while making both audits reject classification/status drift.
  • Update the pinned Home inventory from 432 pending to 4 implemented / 428 pending and publish compile-link-runtime evidence.
9 days ago

Completed in 50465f4 and documented in 88fc137.

zig build test-home-private-abi links the four exact pinned symbols and passes raw empty/immediate/int32/double/NaN/negative-zero cases plus context-owned boxed empty/nonempty strings and objects. c-api-audit remains 117 public + 19 extensions and separately reports 4 private exports. The Home inventory is now 4 implemented / 428 pending with implementation-status drift enforced.

Sign in to comment on this issue.