Stage 5 test report

Copy Markdown

Recorded 2026-11-07 after the commands below. GitHub Actions has not been run from this machine. The required workflow is still mix ci plus the native decode job. This stage did not add a benchmark gate or a MinIO service.

Environment

ToolVersion
HostDarwin arm64
Elixir1.20.2, compiled with Erlang/OTP 28
OTP28
Native stamp0 for the benchmark and for mix ci
Upstreambd92506447dc1333820cfe9a34ebbf497fe0219e

The committed .f3 fixtures were not regenerated. Hex was not published. The library version is 0.1.0.

HTTP

mix test test/f3/io/http_test.exs — 12 passed. The run excluded :minio and :native. F3_MINIO was unset, so the MinIO tag was not run. The tests spoke HTTP to a :gen_tcp server in the test process. A full read of small.f3 matched the local schema, metadata, and F3.read/2 result. A ranged pread was capped. A missing object was :not_found. A redirect was refused. F3.schema/1 on the local fixture did not contact that server.

Benchmark

/usr/bin/time -l mix run scripts/bench.exs exited 0. native_stamp was 0. Eight fixtures returned :native_unavailable. custom_wasm.f3 returned :unsupported_encoding. parquet-cli and a pyarrow binary were not on PATH, so the script printed parquet comparison: skipped. It did not download data.

/usr/bin/time -l printed maximum resident set size 109854720 and peak memory footprint 97747616. The script printed ps_rss_kb: 107136 from ps. That is the resident set ps reported, not the time peak.

batch_size stayed 8192. Projection stayed every column. A chunk is still one pread/3. This run does not name a defect in those defaults.

The script's stdout is quoted in docs/tutorials/09-performance-and-what-remains-experimental.md.

Packaging

mix.exs files includes native/f3_write/src, native/f3_write/build.ex, native/f3_write/Cargo.toml, and native/f3_write/rust-toolchain.toml. It does not list priv/native, tmp/, or a built helper. Precompiled NIFs stay off. NOTICE records the license fields read from the Vortex, Arrow, Wasmtime, and fff-poc crate files.

Required checks

mix ci passed. Format check, compile with warnings as errors, Credo strict, and docs passed. Tests: 100 passed (3 doctests, 97 tests), 16 excluded. Coverage 90.53%. The excluded tags were :native and :minio. The beam was the rust-free stub (native_stamp 0).