target/
scratch/
.cargo/
.rustup/
review/
*.bin
*.dylib
*.so
*.o
*.log

*.ll
*.mlir
.idea
# ...but never a test fixture. These globs are unanchored so they match at any depth, which
# would silently drop a new `.mlir`/`.ll` fixture from the repo -- it would never be added,
# never run, and nothing would say so.
!tests/**/*.mlir
!tests/**/*.ll
!utils/**/*.mlir

test_log.txt
ast.txt
config.local
.claude/settings.local.json
# Git worktrees made by an agent session. Each is a checkout of this repository, so
# committing one nests a repository inside itself: git stores only the gitlink, and a
# clone gets a path it cannot fill.
.claude/worktrees/
.gemini/settings.local.json
temp_hover.vx
temp.vx

# Shakedown measurement binary (built by utils/memalg/run_shakedown.sh)
utils/memalg/measure_link

# M1 device instrument, built on the rented box by run_m1.sh
utils/memalg/measure_device

# M1 run outputs. Measurements are paper evidence and are kept with the paper, next to the predictions
# they are scored against, copied there deliberately -- not swept into a Vx commit by `git add -A`.
# Ignoring them also keeps run_m1.sh's own `dirty=` provenance count from counting its own output.
utils/memalg/results/

# Python bytecode from utils/memalg's harvester and comparison scripts. Three of
# these were tracked, which meant a `git add -A` after running the instrument
# committed a compiled copy of the analysis alongside it.
__pycache__/
*.pyc
utils/memalg/session-prep/
utils/memalg/session-*.tgz

# CoreML primitives compiled by build.rs. One rule for the directory they all
# live in, so adding a shape is a line in the build list and nothing else.
/ane-primitives/

# mdBook output for the website (www/book/book). Built by CI, never committed.
www/book/book/

# The standard library reference. The site's deploy generates it from stdlib/ with
# scripts/tools/gen_stdlib_reference.py; run that to see it in a local build of the book.
www/book/src/stdlib-reference.md

# One page per diagnostic code (www/errors). Generated by CI from src/diagnostic.rs and the
# fixtures under tests/, so it is build output rather than a source file.
www/errors/

# Social preview images (www/cards). Screenshots rendered by CI; build output like the above.
www/cards/

# Release tarballs staged by scripts/release/package.sh. Build output, not source: a local
# packaging run leaves a few hundred megabytes here and it must never reach a commit.
dist/

# The LLVM build from scripts/provision/build_llvm.sh: its source, build directories and install.
/toolchain/
