Skip to content

Commit 00fd8bb

Browse files
committed
Persist FastLanes retry evidence
1 parent 75dedb2 commit 00fd8bb

3 files changed

Lines changed: 37 additions & 6 deletions

File tree

docs/research-log.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ The investigation then asked whether vendor and project claims were plausible, a
2626

2727
[FastLanes](https://github.com/cwida/FastLanes), [Nimble](https://github.com/facebookincubator/nimble), and [AnyBlox](https://github.com/AnyBlox/vldb-2025) were attempted from pinned source commits. Mixed-column conversion, official build, or toolchain reproduction did not complete. Their failures are versioned evidence with retry conditions, not blank table cells.
2828

29-
Correction: the first FastLanes numeric failure was caused by the lab writing comma-separated input to a reader configured for a pipe delimiter. A later Linux retry used `|` and the pinned official binding, but one million numeric rows and all five string-boundary cases still exited `SIGSEGV`; the 13-column case raised `RuntimeError: UNREACHABLE`, and malformed comma input raised a normal `RuntimeError`. The earlier pipe-delimited numeric success is therefore host- or workload-specific, not a general claim. The [Linux workflow run](https://github.com/Anionix/data-format-lab/actions/runs/29520329351) retains per-case artifacts and hashes. The robustness lane records these as distinct harness, conformance, and crash-resistance observations rather than one format verdict.
29+
Correction: the first FastLanes numeric failure was caused by the lab writing comma-separated input to a reader configured for a pipe delimiter. A later Linux retry used `|` and the pinned official binding, but one million numeric rows and all five string-boundary cases still exited `SIGSEGV`; the 13-column case raised `RuntimeError: UNREACHABLE`, and malformed comma input raised a normal `RuntimeError`. The earlier pipe-delimited numeric success is therefore host- or workload-specific, not a general claim. The [Linux workflow run](https://github.com/Anionix/data-format-lab/actions/runs/29520329351) retains per-case artifacts and hashes, and the raw archive is preserved in the [v0.1.0 Release](https://github.com/Anionix/data-format-lab/releases/download/v0.1.0/data-format-lab-fastlanes-linux-x86_64-29520329351.tar.zst) with a [checksum sidecar](https://github.com/Anionix/data-format-lab/releases/download/v0.1.0/data-format-lab-fastlanes-linux-x86_64-29520329351.tar.zst.sha256). The robustness lane records these as distinct harness, conformance, and crash-resistance observations rather than one format verdict.
3030

3131
Follow-up on 2026-07-17: the pinned FastLanes Python binding was rebuilt from the official source before attempting the mixed 13-column table. On macOS ARM64 with the lab's Python 3.12 and Clang 21 environment, compilation stopped at `TypedStats<std::string>` with `-Werror,-Wnonnull`. This is a reproducible build blocker, not evidence that the mixed-schema writer itself failed; the machine-readable attempt and exact pinned commit remain in `research/formats/fastlanes.json`.
3232

research/formats/fastlanes.json

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"source_commits": {"core": "f0edc1020a538f1f8098640fce8347c9ac247a0d"},
66
"primary_source": "https://fastlanes.io/",
77
"claim": "nested encodings designed for parallel SIMD-friendly decoding",
8-
"attempted_on": "2026-07-14",
8+
"attempted_on": "2026-07-17",
99
"comparability": "PARTIAL",
1010
"state": "FAILED",
1111
"claim_summary": "results are host- and workload-sensitive: the latest Linux retry crashed in numeric and string cases and failed the mixed-schema harness",
@@ -29,19 +29,39 @@
2929
{
3030
"entrypoint": "official pyfastlanes binding on Linux x86_64",
3131
"attempted_on": "2026-07-17",
32-
"workflow_run": "https://github.com/Anionix/data-format-lab/actions/runs/29520329351",
3332
"workload": "1,000,000 numeric rows, five string-boundary cases, one 13-column mixed case, and malformed comma input",
3433
"environment": {
35-
"os": "Linux x86_64",
34+
"os": "Ubuntu 24.04 GitHub-hosted runner",
35+
"kernel": "6.17.0-1020-azure",
36+
"architecture": "x86_64",
3637
"runner": "ubuntu-24.04",
38+
"host_python": "3.12.3",
3739
"python": "3.12.13",
3840
"clang": "21.1.8",
3941
"cmake": "4.1.2",
4042
"ninja": "1.13.2",
43+
"scikit_build_core": "0.11.6",
44+
"pybind11": "2.12.1",
45+
"setuptools_scm": "8.3.1",
46+
"build_type": "Release",
47+
"parallelism": 4,
48+
"timeout_seconds": 120,
4149
"package": "pyfastlanes==0.1.3.post9",
4250
"runtime": "0.1.4"
4351
},
44-
"result": "numeric and all five string cases exited SIGSEGV; the mixed 13-column case raised RuntimeError UNREACHABLE; malformed comma input raised RuntimeError. The workflow preserved per-case inputs, artifacts, logs, and SHA-256 hashes."
52+
"build_command": "nix develop --command python -m venv native/fastlanes/.venv; nix develop --command native/fastlanes/.venv/bin/python -m pip install scikit-build-core==0.11.6 cmake==4.4.0 ninja==1.13.0 pybind11==2.12.1 setuptools-scm==8.3.1; CMAKE_BUILD_PARALLEL_LEVEL=4 nix develop --command native/fastlanes/.venv/bin/python -m pip install --no-build-isolation -e native/fastlanes",
53+
"result": "numeric and all five string cases exited SIGSEGV; the mixed 13-column case raised RuntimeError UNREACHABLE; malformed comma input raised RuntimeError. The workflow preserved per-case inputs, artifacts, logs, and SHA-256 hashes.",
54+
"workflow_run": {
55+
"run_id": "29520329351",
56+
"url": "https://github.com/Anionix/data-format-lab/actions/runs/29520329351",
57+
"artifact_name": "data-format-lab-fastlanes-linux-x86_64-29520329351",
58+
"results_path": "runs/fastlanes-linux-29520329351/results.json",
59+
"archive_path": "outputs/release/data-format-lab-fastlanes-linux-x86_64-29520329351.tar.zst",
60+
"archive_sha256": "b9270a10d9cc0f5d81a81e67b8e22af591a06018e767720b9d9c6e4c3689227a",
61+
"release_tag": "v0.1.0",
62+
"release_asset_url": "https://github.com/Anionix/data-format-lab/releases/download/v0.1.0/data-format-lab-fastlanes-linux-x86_64-29520329351.tar.zst",
63+
"release_checksum_url": "https://github.com/Anionix/data-format-lab/releases/download/v0.1.0/data-format-lab-fastlanes-linux-x86_64-29520329351.tar.zst.sha256"
64+
}
4565
},
4666
{
4767
"entrypoint": "official pyfastlanes editable build with scikit-build-core",
@@ -89,5 +109,5 @@
89109
"result": "target built after warning overrides; all 10 CTest cases exited SIGTRAP"
90110
}
91111
],
92-
"retry_when": "the official Python extension builds in a reproducible toolchain, round-trips partial-vector string dictionaries, and rejects malformed input without terminating the process"
112+
"retry_when": "a pinned source and toolchain complete the 13-column mixed-schema round trip without numeric or string SIGSEGV or UNREACHABLE, with the same result independently reproduced on macOS and Linux"
93113
}

tests/test_research.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,17 @@ def test_negative_research_records_are_pinned_and_unranked() -> None:
1919
assert "checksum-complete dataset" in records["anyblox"]["retry_when"]
2020
assert ".anyblox bundle" in records["anyblox"]["retry_when"]
2121

22+
fastlanes_attempt = next(
23+
attempt
24+
for attempt in records["fastlanes"]["attempts"]
25+
if "Linux x86_64" in attempt["entrypoint"]
26+
)
27+
assert fastlanes_attempt["environment"]["architecture"] == "x86_64"
28+
assert fastlanes_attempt["result"].startswith("numeric and all five")
29+
assert fastlanes_attempt["workflow_run"]["run_id"] == "29520329351"
30+
assert fastlanes_attempt["workflow_run"]["archive_sha256"].startswith("b9270a10")
31+
assert fastlanes_attempt["workflow_run"]["release_tag"] == "v0.1.0"
32+
2233
nimble_json = json.dumps(records["nimble"])
2334
assert "/nix/store/" not in nimble_json
2435
assert "/opt/homebrew/" not in nimble_json

0 commit comments

Comments
 (0)