__pycache__/
*.py[cod]
*$py.class

.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage
htmlcov/

.venv/
venv/
env/

build/
dist/
*.egg-info/

.DS_Store
Thumbs.db
.idea/
.vscode/

# Deployment-only directories (not part of public repo)
# Plugins and library content are site-specific and managed separately
plugins/
library/
.worktrees/

# Local-only reference samples (real customer L5X exports used to debug
# the API/MCP tool against shapes that show up in the wild).  Never
# commit these -- they may contain proprietary logic.
# EXCEPTION: references/FBDTest.L5X is a metadata-scrubbed FBD+SFC+RLL
# sample committed as a CI test fixture (tests/test_fbd_sfc_seam_fixes.py
# + FBD corpus tests). All other reference samples stay local-only.
references/*
!references/FBDTest.L5X
# Synthetic bench project for the live-PLC conformance harness (no proprietary
# logic) -- committed so the harness + goldens ship with the repo. The compiled
# .ACD stays local-only: the binary embeds workstation/author metadata that
# cannot be scrubbed; regenerate it from LiveTests.L5X via the deploy verb.
!references/LiveTests.L5X
# Synthetic ST scan-sim fixture (no proprietary logic) -- committed as the
# end-to-end test bed for the Tier-3D ST engine (tests/query/sim/test_st_integration.py).
!references/STSimTest.L5X

# Local Claude / build artifacts
.claude/
cache.db
installer/

# .NET build artifacts for the Echo conformance oracle (Track O) — the SDKs are
# licensed/Windows-only; only the source skeleton is committed, never bin/obj.
oracle/**/bin/
oracle/**/obj/

# Studio 5000 XSD schemas are Rockwell-copyrighted; populate locally per schemas/README.md
schemas/*.xsd

# Internal AI design/process docs (kept local; not published)
docs/superpowers/

# subagent-driven-development scratch (ledger, briefs, diffs)
.superpowers/
