# Rust build artifacts
target/
**/*.rs.bk
*.lock
.sniper/
.jules/

# Generated by build.rs (cbindgen, ffi feature)
include/

# IDE and editor files
.vscode/
.idea/
*.swp
*.swo
*~

# OS files
.DS_Store
Thumbs.db

# Build artifacts
*.so
*.dylib
*.dll
*.a
c_harness
test_llmosafe
libtest_mod.rlib

# Test artifacts
*.log

# --- Training infrastructure (operator-only, never published) ---
data/
scripts/
TRAINING.md
tools/__init__.py
tools/train_full_pipeline.py
tools/train_tfidf_classifier.py
tools/download_hf_datasets.py
tools/generate_training_data.py
tools/generate_sifter_data/
# tools/vocab_model.bin is the single exception — it is the compiled
# classifier embedded into the Rust crate at build time.  Without it
# the crate falls back to a fail-closed no-op model.  Tracked.

# ML Training Artifacts - NOT PART OF RUST LIBRARY
*.pt
*.onnx
*.onnx.data
*.zip
checkpoints/
training/
kaggle_dataset/
kaggle_upload/
kaggle_output/
kaggle_backup.tar.gz
llmosafe_new/
notebook_cells/
*.xpynb

# Python - NOT PART OF RUST LIBRARY
/*.py
*.pyc
__pycache__/
*.ipynb
.ipynb_checkpoints/
.pytest_cache/
.venv/
!llmosafe-py/llmosafe/
!examples/python_consumer/

# Data files - NOT PART OF RUST LIBRARY
*.jsonl
*.json
*.txt
!README.txt
.ix/

# --- RNA artifacts (AI-generated, never committed per AGENTS.md) ---
AGENTS.md
.annotations/

# --- AI-generated audit/analysis artifacts ---
COMPREHENSIVE_ANALYSIS.md
/audit_*.yaml
ARCHITECTURE_*.md
SUBAGENT_*.md
TEST_PROTOCOL_*.md
.pi/

# --- Profiling and valgrind artifacts ---
*.prof*
valgrind*
callgrind*
cachegrind*

# --- Miscellaneous ---
*.core
*.tmp
*.bak
TODO
.moeinclude

# --- Pre-publish / audit artifacts (never published) ---
.audit/

# --- AI IDE configs (never published) ---
.cursor/
.claude/
copilot-instructions.md
.github/copilot-instructions.md
.github/copilot/
.github/agents/
references/
*.agent/
.agents/

# --- Secrets (never committed) ---
.env
.env.*
*.pem
*.key
