Stage 5 test report
Copy MarkdownRecorded 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
| Tool | Version |
|---|---|
| Host | Darwin arm64 |
| Elixir | 1.20.2, compiled with Erlang/OTP 28 |
| OTP | 28 |
| Native stamp | 0 for the benchmark and for mix ci |
| Upstream | bd92506447dc1333820cfe9a34ebbf497fe0219e |
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).