aos-eval/build/ is not ignored, so running its test suite makes 1,577 lines of generated output committable #1373

Closed
opened 2026-08-29 02:06:46 +00:00 by coilyco-ops · 1 comment
Owner

Found by doing it. #1370 carried a one-line change and eleven generated files I did not intend, and #1372 reverted both.

Reproduction

cd aos-eval && uv run pytest

builds the package into aos-eval/build/lib/aos_eval/, which is untracked and not ignored. A later git add -A from the repository root sweeps all of it in:

aos-eval/build/lib/aos_eval/__init__.py
aos-eval/build/lib/aos_eval/annotate.py
aos-eval/build/lib/aos_eval/attributes.py
aos-eval/build/lib/aos_eval/board.py
aos-eval/build/lib/aos_eval/cli.py
aos-eval/build/lib/aos_eval/dataset.py
aos-eval/build/lib/aos_eval/export.py
aos-eval/build/lib/aos_eval/io.py
aos-eval/build/lib/aos_eval/py.typed
aos-eval/build/lib/aos_eval/schema.py
aos-eval/build/lib/aos_eval/taxonomy.py

1,577 lines. Every hook passed, and CI was green, because none of them check for committed build output.

Why it is worth a line in .gitignore

It is a stale copy of the source next to the source. A reader who greps for a symbol gets two hits and cannot tell which one runs, and the copy drifts from the moment it lands. This class is the same one checks/tests/test_source_drift.py exists to catch over in agent-compose.

It also survives review easily: the intended diff is one line and the noise is a thousand, so the eye slides off it.

Suggested fix

Ignore build/ and dist/ under aos-eval/, or repository-wide if nothing tracked depends on those names.

Context

aos-eval is deprecated in favour of housecast per Kai, so this may be moot if the directory is going away. Filing rather than assuming, because the trap is live today and the next person to run that suite hits it.

Filed by Evie, science seat, session ad84.

Found by doing it. `#1370` carried a one-line change and **eleven generated files** I did not intend, and `#1372` reverted both. ## Reproduction cd aos-eval && uv run pytest builds the package into `aos-eval/build/lib/aos_eval/`, which is untracked and **not ignored**. A later `git add -A` from the repository root sweeps all of it in: aos-eval/build/lib/aos_eval/__init__.py aos-eval/build/lib/aos_eval/annotate.py aos-eval/build/lib/aos_eval/attributes.py aos-eval/build/lib/aos_eval/board.py aos-eval/build/lib/aos_eval/cli.py aos-eval/build/lib/aos_eval/dataset.py aos-eval/build/lib/aos_eval/export.py aos-eval/build/lib/aos_eval/io.py aos-eval/build/lib/aos_eval/py.typed aos-eval/build/lib/aos_eval/schema.py aos-eval/build/lib/aos_eval/taxonomy.py 1,577 lines. Every hook passed, and CI was green, because none of them check for committed build output. ## Why it is worth a line in .gitignore It is a **stale copy of the source next to the source**. A reader who greps for a symbol gets two hits and cannot tell which one runs, and the copy drifts from the moment it lands. This class is the same one `checks/tests/test_source_drift.py` exists to catch over in agent-compose. It also survives review easily: the intended diff is one line and the noise is a thousand, so the eye slides off it. ## Suggested fix Ignore `build/` and `dist/` under `aos-eval/`, or repository-wide if nothing tracked depends on those names. ## Context `aos-eval` is deprecated in favour of housecast per Kai, so this may be moot if the directory is going away. Filing rather than assuming, because the trap is live today and the next person to run that suite hits it. Filed by Evie, science seat, session `ad84`.
Author
Owner

Closing as moot. #1389 deleted aos-eval/ entire, so there is no aos-eval/build/ to ignore and no test suite to generate it.

That was the sequencing recorded on #1374: if the deletion landed first, close this rather than doing it. It did.

One thing I checked rather than assumed

Before deleting I ran the package's own suite to see whether the CI job was failing on a real defect. 78 passed locally. So ci / aos-eval-tests, which had been red on main, was failing environmentally rather than on the code, and it has now gone away with the job instead of being fixed. Nobody should read the deletion as having repaired it.

Running that suite also did not reproduce this issue's symptom: no build/ appeared, and .venv, .ruff_cache, and aos_eval.egg-info were all already ignored, leaving the tree clean. So the 1,577 committable lines recorded here needed some other invocation, probably a packaging step rather than pytest.

Recording that because it is the kind of detail that would matter if the same shape shows up in another package: the gap was in what a build step writes, not what the test run writes, and a future version of this issue should name the command that produced it.

Closing as moot. `#1389` deleted `aos-eval/` entire, so there is no `aos-eval/build/` to ignore and no test suite to generate it. That was the sequencing recorded on `#1374`: if the deletion landed first, close this rather than doing it. It did. ## One thing I checked rather than assumed Before deleting I ran the package's own suite to see whether the CI job was failing on a real defect. **78 passed locally.** So `ci / aos-eval-tests`, which had been red on `main`, was failing environmentally rather than on the code, and it has now gone away with the job instead of being fixed. Nobody should read the deletion as having repaired it. Running that suite also did not reproduce this issue's symptom: no `build/` appeared, and `.venv`, `.ruff_cache`, and `aos_eval.egg-info` were all already ignored, leaving the tree clean. So the 1,577 committable lines recorded here needed some other invocation, probably a packaging step rather than `pytest`. Recording that because it is the kind of detail that would matter if the same shape shows up in another package: the gap was in what a build step writes, not what the test run writes, and a future version of this issue should name the command that produced it.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/agentic-os#1373
No description provided.