personal memory agent
0

Configure Feed

Select the types of activity you want to include in your feed.

test(inventory): exclude build outputs from the repo-write inventory

The sandbox marker refusal matrix takes a before/after repository inventory for
each of nine cases. target and dist were walked, so on a working clone the walk
covered ~44k entries, core/target alone contributing ~23k files at ~7 GB, and
eighteen full walks pushed the test past pytest 15s timeout. A clean checkout of
the same commit walks ~73 MB and the same test passes in 1.75s, so the verdict
depended on how much the clone had been built in rather than on the product.

target and dist are build outputs, not repository source, and cargo and uv
rewrite them constantly. That is the same category as the .venv and cache
entries already in this set, whose name says runtime dir names.

The exclusion cannot blind the check: tests/test_repo_inventory.py parametrizes
its visibility cases over this set, so both new names automatically gain the
proofs that a regular file, symlink, or fifo with that basename stays
inventoried and that a symlink by that name is not followed, alongside the
existing proof that ordinary writes are reported. 99 inventory tests pass.

+15 -1
+15 -1
tests/_repo_inventory.py
··· 34 34 # tests/test_openapi_schemathesis.py has 6 unmarked default-selected tests 35 35 # that rewrite .hypothesis/unicode_data/15.1.0/codec-utf-8.json.gz on every 36 36 # run, which is otherwise a regular-file change at repo root. 37 + # - target / dist: build outputs, not repository source. cargo and uv rewrite 38 + # them constantly, and on a working clone core/target alone carries ~23k files 39 + # (~7 GB), which is enough to push a nine-case before/after inventory past 40 + # pytest's 15s timeout. A clean checkout of the same commit walks ~73 MB and 41 + # the same test finishes in under two seconds, so including them made the 42 + # result depend on how much the clone had been built in, not on the product. 37 43 EXCLUDED_RUNTIME_DIR_NAMES: frozenset[str] = frozenset( 38 - {".git", ".venv", ".pytest_cache", "__pycache__", ".hypothesis"} 44 + { 45 + ".git", 46 + ".venv", 47 + ".pytest_cache", 48 + "__pycache__", 49 + ".hypothesis", 50 + "target", 51 + "dist", 52 + } 39 53 ) 40 54 41 55