# Secrets
.env
.env.*
!.env.sample

# Python
__pycache__/
*.py[cod]
*$py.class
.python-version.local
.venv/
venv/
ENV/
.pytest_cache/
.ruff_cache/
.mypy_cache/
.pyright/
# Hypothesis property-testing scratch database (per-machine, never commit).
.hypothesis/
.coverage
coverage.xml
htmlcov/
dist/
build/
*.egg-info/

# Editors and OS
.DS_Store
.idea/
.vscode/
*.swp
*.swo

# Logs and local scratch
*.log
.tmp/
tmp/

# Codegraph index (tool-local, per-machine; was self-ignored via a tracked
# .codegraph/.gitignore until review 00003 L1 moved it here)
.codegraph/

# Rust (plan 00003 E2): cargo build artifacts are per-machine and never
# committed; Cargo.lock IS committed (supply-chain pinning, like uv.lock).
# The dev-loop extension copy lands inside the source tree (just
# backend-dev) and is equally per-machine.
rust/target/
target/
src/fpr_ff1/_rs*.so
src/fpr_ff1/_rs*.pyd
src/fpr_ff1/_rs*.dylib
