# Rust build artifacts
target/
**/target/
**/*.rs.bk

# Cargo — keep Cargo.lock at workspace root (we're an application, not a library)
# Individual crate Cargo.lock files should not be committed.
crates/*/Cargo.lock

# Python (maturin develop install side-effects + venvs)
__pycache__/
*.py[cod]
*$py.class
*.so
*.egg-info/
.venv/
venv/
.Python
build/
dist/
*.whl

# Editor / OS
.DS_Store
.idea/
.vscode/
*.swp
*.swo
*~
.env
.env.local

# Maturin develop side-effects — the installed wheel lives in the caller's
# venv; we do not want any artifact under the project tree.
.maturin/

# Test coverage reports
target/criterion/
*.profraw
*.profdata
coverage/

# MADB runtime data directories (should never be in the repo).
# Intentionally NOT using a global *.lock pattern so the workspace
# Cargo.lock stays tracked (Rust workspace Cargo.lock must be committed).
data/
/tmp/madb*
**/data/madb*
**/data/maos_memory*
**/wal/*.log
**/hlc.json
# MADB data-dir lockfile is literally named "LOCK" (no extension)
# inside the data directory, not at the workspace root.
**/data/**/LOCK
