Build and check
From a repository checkout:bash tests/runner.sh. Python needs python3 -m pip install -e 'adapters/python[test]'. The Node package has its own Cargo manifest and checks. The development guide describes the layout, dependencies, and benchmark limits.
Changes to the core
Mapping operations live incore/src/platform/unix.rs. MappedFile unmaps on drop and file descriptors close after mapping. Notification behavior lives in core/src/sync.rs. Preserve the timeout and memory-ordering contracts on both supported platforms.
Add regression tests for behavioral fixes. Check failed setup, creator-first close, pending notifications, and capacity boundaries when they apply. Keep hot data-access paths free of allocations and preserve the C ABI layout.
Edit Rust declarations or core/cbindgen.toml to change the C header, then regenerate it:
-- --check to verify it without writing; CI and release builds check this too. Do not edit include/zinc.h directly. Update adapter declarations when adding an exported function.
