Context
#763 deliberately stays on the reviewed Koffi 2.x line and solves release size/cross-architecture payloads with a guarded afterPack prune plus full native inventory auditing. Koffi 3 migration is a separate ABI/provisioning change and must not be folded into that packaging fix.
Research and implementation scope
- Select an exact Koffi 3 version after the current ABI-fix cadence settles.
- Adapt pointer handling to BigInt and verify
koffi.address() behavior.
- Prove all five
@koromix/koffi-* target rows survive clean cross-platform lockfile installs, including version, resolved, integrity, os, and cpu metadata.
- Evaluate Koffi 3's
process.resourcesPath search roots and a target-native extraResources provisioning model without splitting updater metadata ownership accidentally.
- Use full Electron, not only
ELECTRON_RUN_AS_NODE, when the packaged process.resourcesPath load path or ASAR integrity path is involved.
- Run positive ABI probes for Windows x64/ARM64 COM vtable decode/call, Buffer/offset decode, structs, and
koffi.address().
- Run positive macOS x64/ARM64 probes for multiple declarations of
objc_msgSend, SkyLight calls, Space-stationary behavior, and de-delegation/restoration.
- Define updater metadata generation/merge ownership before changing any release job from its current multi-architecture invocation.
Entry criteria
Non-goals
Context
#763 deliberately stays on the reviewed Koffi 2.x line and solves release size/cross-architecture payloads with a guarded
afterPackprune plus full native inventory auditing. Koffi 3 migration is a separate ABI/provisioning change and must not be folded into that packaging fix.Research and implementation scope
koffi.address()behavior.@koromix/koffi-*target rows survive clean cross-platform lockfile installs, includingversion,resolved,integrity,os, andcpumetadata.process.resourcesPathsearch roots and a target-nativeextraResourcesprovisioning model without splitting updater metadata ownership accidentally.ELECTRON_RUN_AS_NODE, when the packagedprocess.resourcesPathload path or ASAR integrity path is involved.koffi.address().objc_msgSend, SkyLight calls, Space-stationary behavior, and de-delegation/restoration.Entry criteria
Non-goals