From 8405efddcc039ab96dec90a831232a2b194499a4 Mon Sep 17 00:00:00 2001 From: Antoine Zambelli Date: Mon, 1 Jun 2026 01:31:14 -0500 Subject: [PATCH] chore: scope sdist to exclude eval datasets and dashboard node_modules The wheel target is scoped to src/forge, but the sdist target had no configuration, so hatchling swept the entire working tree -- pulling the LFS eval datasets (~112MB) and the eval dashboard's node_modules (~97MB, including Windows .exe/.node binaries) into the source distribution. Add a scoped [tool.hatch.build.targets.sdist] excluding both. The sdist drops from ~26MB to ~690KB; src/forge, tests, docs, the dashboard source, and the prebuilt results HTML are all retained. report.py rebuilds the dashboard via npm on demand, so the committed node_modules was never load-bearing; the eval datasets remain in the repo via LFS. Also refresh a stale .gitignore comment to the versioned eval-results naming (post #96). --- .gitignore | 2 +- pyproject.toml | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index e98db68..13fe07b 100644 --- a/.gitignore +++ b/.gitignore @@ -22,7 +22,7 @@ htmlcov/ # Claude Code .claude/ -# Eval results (scratch files only — eval_results.jsonl + eval_results_rig*.jsonl tracked via LFS) +# Eval results (scratch files only — versioned eval_results_v*.jsonl tracked via LFS) eval_tight*.jsonl eval_vram*.jsonl ablation_progress.log diff --git a/pyproject.toml b/pyproject.toml index d7a0f2e..ceba814 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -49,6 +49,15 @@ dev = [ [tool.hatch.build.targets.wheel] packages = ["src/forge"] +[tool.hatch.build.targets.sdist] +# Without scoping, hatchling sweeps the whole tree into the sdist — pulling in +# the LFS eval datasets (~112 MB) and the eval dashboard's node_modules (~97 MB, +# incl. platform .exe/.node binaries). Ship only what builds + tests from source. +exclude = [ + "eval_results*.jsonl", + "tests/eval/dashboard/node_modules", +] + [tool.pytest.ini_options] testpaths = ["tests"] markers = [