Exact inspection of Bun 4982b91e3702094330f3be3883354c52b8c01323 proved that all 24 formerly pending Bun-profile declarations are consumer-provided, not JavaScriptCore imports. Home shares those providers; its only additional pending symbol was the true JSC import completed in #424.
The generated contracts pin provider files, definitions, hashes, and lifecycle/ordering semantics for Bake/async context, one-shot tasks, secrets jobs, termination hooks, debugger startup, loader/plugin/scheduler calls, workers, and the N-API host environment. Independent Home/Bun final-link fixtures provide representative groups from the consumer side and reject duplicate zig-js exports.
Acceptance
- Pin every declaration to its consumer provider file, definition, and source hash for both exact profiles.
- Classify all 24 symbols as
consumer_providedwhile retaining declaration/provider provenance. - Reject missing/mismatched provider definitions and duplicate zig-js exports.
- Preserve group-specific lifetime and ordering semantics in the contract.
- Add independent Home/Bun final-link fixtures with consumer-side providers.
- Advance Bun to zero pending and Home to one genuine pending JSC import without changing public C-API counts.
- Refresh concise ABI docs/counts and reconcile exact main CI.
Completed by c948437e, df877bb7, and aa695a1a; exact-main run 29806223245 passed 43/43 jobs.