Final round 4 qualification: CPython 3.14.4, Linux x86-64
Release extension SHA256: a126b0fbc2e541fda09d4d0e533d4dd4b7910891f4291f3ef9cf1837143ca73a
Wheel SHA256: b2a01f65ba9b2c3ed2905a7786357d815d306bb03da6cce0912d30be7bc5fcbd

cargo fmt --check: passed.
cargo clippy --locked --all-targets -- -D warnings: passed.
cargo test --locked --lib: 3 passed.
Installed wheel PYTHONMALLOC=debug: 64 passed on asyncio; 64 passed on uvloop.
Saved starting release, expanded cases PYTHONMALLOC=debug: 64 passed.
Separate Rust AddressSanitizer extension: 64 passed on asyncio; 64 on uvloop.
No ASan diagnostics. Leak detection disabled: host Python/system libraries are
uninstrumented. This is not leak, fuzz or full protocol qualification.

Wheel built with:
CARGO_HOME=/tmp/skirr-cargo CARGO_TARGET_DIR=/tmp/skirr-target \
  /tmp/skirr-build-tools/bin/maturin build --release --locked --interpreter python --out dist
python -m pip install --no-deps --no-compile --target /tmp/skirr-round4-inline-installed --upgrade dist/*.whl
PYTHONMALLOC=debug PYTHONPATH=/tmp/skirr-round4-inline-installed python -m pytest tests -q
uvloop selected through asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
before invoking pytest; this API emits a CPython 3.14 deprecation notice.

ASan build:
RUSTC_BOOTSTRAP=1 RUSTFLAGS=-Zsanitizer=address CARGO_HOME=/tmp/skirr-cargo \
  CARGO_TARGET_DIR=/tmp/skirr-asan-target PYO3_PYTHON=/usr/bin/python \
  cargo build --release --target x86_64-unknown-linux-gnu --features extension-module
Copy lib_native.so and the final Python __init__.py to /tmp/skirr-asan-package/skirr.
LD_PRELOAD=/tmp/skirr-asan-runtime.so ASAN_OPTIONS=detect_leaks=0 \
  PYTHONMALLOC=malloc PYTHONPATH=/tmp/skirr-asan-package python -m pytest tests -q
Use the same uvloop selection for its separate run. Runtime setup follows
asan-round3-check.txt. The new vectorcall slots and MSG_MORE path are exercised.

All additional cases protect externally observable compatibility; the expanded
suite also passes the pre-optimization release. No test-only runtime hooks.

Inline cohort flush at the end of the native callback is included in this build.
Cheap callbacks with no pending flush avoid entering the flush routine.
