Skip to content

ABI: pin profile-selectable Home and Bun JSType layouts #172

Description

@chrisbbreuer

Parents: #163, #164
Depends on: #165, #169

The pinned Home and Bun source revisions do not use the same private JSType numbering. Bun includes WebAssemblyStreamingContext = 27, shifting the later object-family tags (Object = 34 in Bun versus 33 in Home). A single unversioned return mapping would therefore be wrong for one consumer.

Acceptance:

  • Generate exact, hash-pinned full JSType inventories from both consumer source revisions.
  • Record and audit every shared, added, removed, and renumbered enum member.
  • Add an explicit private-ABI consumer profile selection; reject unknown profiles.
  • Map every zig-js value/cell kind represented by the declared profiles to the selected exact tag.
  • Export exact JSC__JSValue__jsType and JSC__JSCell__getType signatures without exposing internal tags.
  • Add separate compile-link-runtime evidence for the Home and Bun selections, including strings, BigInts, symbols, functions, errors, arrays, typed arrays, and ordinary objects.
  • Update both private inventories and README/API documentation without changing public/extension counts.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions