# Credentials and secrets
*.enc
*.enc.tmp
*.token.json
creds.py
.env
.env.*
!.env.example

# Dev / internal scripts — not for public distribution
gmail_auth_test.py
gmail_list_latest_5.py
REVIEW_PROMPT.md

# MCP runtime config (contains API keys)
.mcp.json

# Build & environment
node_modules/
dist/
build/

# IDE & OS
.DS_Store
.vscode/
.idea/

# Claude / Gemini local state
.claude/
.gemini/

# Temporary outputs
*.restore.log
output.png
gmail_snapshot.json

# Personal / sensitive directories
secure/
restore/
memory/
!src/memory/
bcba/
.agent/

# MCP Registry tokens
.mcpregistry_github_token
.mcpregistry_registry_token

# Smithery build artifacts
.smithery/
supabase/.temp/
examples/langgraph-agent/research_ledger.json
undefined
undefined-shm
undefined-wal

# Repomix (code review packs)
repomix*

# Local Build / DB
*.tgz
*.db
*.db-shm
*.db-wal
*.sqlite
*.sqlite-shm
*.sqlite-wal

# Local debug/scratch scripts
test-mcp.js
test_crdt.js
test_save.js
test_save2.js
upvote.js
test-results.txt
# ─── Training: ENTIRE directory blocked from this PUBLIC repo ───
# 2026-05-05: training/ was force-purged from prism-coder history after a
# leak audit found 178 proprietary files (Modal scripts, Phase plans,
# BFCL eval methodology, build_phase pipelines) in the public repo.
# All training work belongs in synalux-private/prism-training/.
# See ~/.agent/skills/no-public-leak/SKILL.md for the full rule.
/training/
bfcl-submission/

# ─── Training runtime artifacts (do not commit) ───
# Background-run process IDs from grpo / sft / generation jobs
training/*.pid
# Log files captured during training runs
training/*.log
# Manual backups of broken / experimental files
training/*.broken
# Modal-watcher runtime files (status snapshots + alert flag files)
training/*.status
training/*.ALERT
# MLX model weights — 4 GB of binary tensors, never belongs in git
training/mlx_model/

# Expo config from sibling prism-aac repo that leaked here
/app.json
.gemini/

# Iterative Modelfile experiments (v2..v5j and *.bare/*.tmp variants).
# Production Modelfiles (Modelfile.published, Modelfile.restore) are
# explicit-named and tracked normally.
training/Modelfile.v[0-9]*
training/Modelfile.*.bare
training/Modelfile.bfcl

# BFCL run output dumps (ephemeral, regenerated on every eval)
training/bfcl_*.txt
__pycache__/
results.json
