__pycache__/
*.py[cod]
*.so
*.o
*.egg-info/
dist/
build/
.eggs/
.pytest_cache/
*.cdb
# Golden compat fixtures are committed (see tests/compat/golden/README.md);
# the C migration tests read them and they cannot be regenerated in CI
# because they intentionally carry the pre-3.0 JSON manifest format.
!tests/compat/golden/*.cdb
packages/
node_modules/

_build*/

# Out-of-source CMake build trees for the C++ writer (cpp/ucis-xml).
cpp/build*/

# Per-run conformance evidence. Regenerated by
# `pytest --conformance-json=...`; the committed artifact is the matrix it
# feeds (docs/ucis-parquet-feature-map.md), not the raw evidence.
tests/conformance/coverage.json

# Out-of-source CMake build trees for the C libraries. cpp/build*/ is covered
# above; these are the c/ equivalents, and they are large -- c/build-uw and
# c/build-asan were 1056 files between them when this was written.
c/build*/

# Stray command output, not a directory -- `out/` would not match it.
out

# Benchmark corpus. bench/coverage/rtlmeter-out is ~235 MB of GENERATED
# coverage data, and this repo is mirrored to R2 and to GitHub -- anything
# committed here is published and permanent, so a corpus that size would be
# unremovable. It is ignored by bench/coverage/.gitignore, which is tracked
# alongside the scripts; the rule is NOT duplicated here, so there is one place
# to look. Same for example/obj_dir and the generated coverage.dat/.cdb --
# example/top.sv and sim_main.cpp are real sources and stay tracked.

# Compiled benchmark drivers, built from the .c sources beside them.
bench/bench_c
bench/bench_c_read

# Editor-local, per-machine.
*.code-workspace
