# ============================================================================
# xpcsjax .gitignore — derived from homodyne/heterodyne, NLSQ-only
# ============================================================================

# ----------------------------------------------------------------------------
# Python Bytecode & Compiled Files
# ----------------------------------------------------------------------------
__pycache__/
*.py[codz]
*$py.class
*.so
*.dylib
*.dll

# ----------------------------------------------------------------------------
# Distribution / Packaging
# ----------------------------------------------------------------------------
# Note: xpcsjax uses hatchling with a hard-coded version in pyproject.toml,
# so there is no auto-generated `xpcsjax/_version.py` (unlike homodyne /
# heterodyne, which use setuptools_scm). Do not add a _version.py rule.
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
*.whl
MANIFEST

# ----------------------------------------------------------------------------
# Installer & Package Managers
# ----------------------------------------------------------------------------
pip-log.txt
pip-delete-this-directory.txt
.pypirc

# PyInstaller
*.manifest
*.spec

# Dependency management lockfiles (we commit uv.lock; ignore the others)
Pipfile.lock
poetry.lock
pdm.lock
.pdm-python
.pdm-build/
.pixi/
pixi.lock
__pypackages__/

# ----------------------------------------------------------------------------
# Virtual Environments
# ----------------------------------------------------------------------------
.env
.envrc
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
.conda/
conda-env/

# ----------------------------------------------------------------------------
# Testing & Coverage
# ----------------------------------------------------------------------------
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
nosetests.xml
coverage.xml
*.cover
*.py,cover
*.py.cover
.hypothesis/
.pytest_cache/
cover/
.benchmarks/
# Root-level perf-benchmark scratch (e.g. bench_*.py, baseline.json). Anchored
# with a leading slash so the committed tests/benchmarks/ suite stays tracked.
/benchmarks/
.test-runs/
test_report*/
test_reports/
test-results.xml
bandit*re*.json
pip_audit_report.json

# IMPORTANT: do NOT ignore tests/characterization/fixtures/ — those are the
# homodyne parity baselines and are the parity contract (see CLAUDE.md).

# ----------------------------------------------------------------------------
# Type Checkers, Linters & Caches
# ----------------------------------------------------------------------------
.mypy_cache/
.dmypy.json
dmypy.json
.pyre/
.pytype/
.ruff_cache/
.pylint_cache/
.nlsq_cache/
.cache/

# ----------------------------------------------------------------------------
# Documentation
# ----------------------------------------------------------------------------
# Sphinx is not configured in xpcsjax (docs/ holds design specs only).
# Keep these patterns for future Sphinx adoption.
docs/_build/
docs/build/
doc/build/
.doctrees/
*.doctree
docs/source/_autosummary/
docs/source/_generated/
docs/source/api/generated/
docs/superpowers/

# MkDocs
/site

# ----------------------------------------------------------------------------
# Jupyter / IPython / Marimo
# ----------------------------------------------------------------------------
.ipynb_checkpoints
*.ipynb_checkpoints/
*/.ipynb_checkpoints/*
profile_default/
ipython_config.py
.jupyter/
marimo/_static/
marimo/_lsp/
__marimo__/

# ----------------------------------------------------------------------------
# IDEs & Editors
# ----------------------------------------------------------------------------
.idea/
.vscode/
*.code-workspace
.spyderproject
.spyproject
.ropeproject
*.swp
*.swo
\#*\#
.\#*
tempCodeRunnerFile.py

# ----------------------------------------------------------------------------
# AI-Powered Development Tools (state, caches, sessions)
# ----------------------------------------------------------------------------
.agent/
.agents/
.antigravitycli/
.claude/
.claude-progress.md
.claude-scratch
.code/
.codex/
.cursor/
.cursorignore
.cursorindexingignore
.gemini/
.remember/
.serena/
.specify/
.ultra-think/
.ultracode/
.abstra/
.firecrawl/
agent-os/

# AI assistant project memos
# ----------------------------------------------------------------------------
# Treated as local-only AI scratch — same policy as homodyne / heterodyne.
# Each developer maintains their own onboarding notes for their AI assistant
# of choice; nothing about these files is load-bearing for the project's
# build, tests, or distribution. To flip the policy and check one of these
# in (e.g. as a shared onboarding contract), remove the corresponding line.
AGENTS.md
CLAUDE.md
GEMINI.md
WARP.md

# Other AI-assistant notes that remain local-only
GROK.md
HERMES.md
OPENROUTER.md
codex.md

# Multi-model review outputs
three-brain-out/

# Git
.worktrees/

# ----------------------------------------------------------------------------
# Operating System
# ----------------------------------------------------------------------------
# macOS
.DS_Store
.AppleDouble
.LSOverride
._*

# Windows
Thumbs.db
ehthumbs.db
Desktop.ini

# Linux
.directory

# ----------------------------------------------------------------------------
# Logs & Temporary Files
# ----------------------------------------------------------------------------
*.log
.research-log.jsonl
*.tmp
*.temp
*.bak
*.backup
*.orig
*~
tmp/

# ----------------------------------------------------------------------------
# Profiling
# ----------------------------------------------------------------------------
*.prof
*.lprof
.prof/
profiling/

# ----------------------------------------------------------------------------
# Cython
# ----------------------------------------------------------------------------
cython_debug/
*.c
*.cpp
# Uncomment if you ever ship Cython sources to keep:
# !src/**/*.c
# !src/**/*.cpp

# ----------------------------------------------------------------------------
# Translations & Misc
# ----------------------------------------------------------------------------
*.mo
*.pot
*.sage.py
celerybeat-schedule
celerybeat.pid
node_modules/

# ----------------------------------------------------------------------------
# xpcsjax-specific
# ----------------------------------------------------------------------------
# Analysis results and outputs
xpcsjax_results/
xpcsjax_analysis_results/
xpcsjax_analysis_results.json
.xpcsjax_cache/
# Root-level app-state cache (e.g. cache/projects.json). Anchored with a
# leading slash so any tracked cache/ deeper in the tree stays unaffected.
/cache/

# Scientific Computing & Data (results, not test fixtures)
# Tests fixtures live under tests/characterization/fixtures/ and MUST be
# committed — those are the parity oracle baselines.
*.h5
*.hdf5
*.mat
*.npy
*.npz
!tests/characterization/fixtures/**/*.h5
!tests/characterization/fixtures/**/*.hdf5
!tests/characterization/fixtures/**/*.npy
!tests/characterization/fixtures/**/*.npz
# Committed golden snapshots for the Phase-1.0 homodyne engine preservation suite
!tests/parity/_golden/**/*.npz

# Run artifacts
phi_angles_list.txt

# Task / work-in-progress scratch
TASK_GROUP_*.md
fix-imports/
.optimization/
scripts/dev_cleanup/
plans/

# Temporary analysis / review reports
PROGRESS.md
commit_*_review.json
commit_*_breaking_changes.json
git_workflow_summary_*.md
code_quality_fixes_summary.md
codebase_analysis.md
DEBUG_REPORT.md
PRODUCTION_READINESS_REPORT.md
SCIENTIFIC_VALIDATION_REPORT.md
DOCUMENTATION_POLISH_SUMMARY.md
PERFORMANCE_ANALYSIS_REPORT.md
ARCHITECTURE_REVIEW.md
T0*_test_failure_analysis.md
T0*_integration_test_analysis.md

# ----------------------------------------------------------------------------
# Graphify (Knowledge Graph & Semantic Cache)
# ----------------------------------------------------------------------------
graphify-out/cache/
graphify-out/.graphify_python
graphify-out/.graphify_*.json
graphify-out/.graphify_*.txt
graphify-out/.obsidian/
graphify-out/_COMMUNITY_*.md
graphify-out/20*/

# Generated by CI / `make security` for pip-audit (SEC-3); never commit
requirements-audit.txt

# subagent-driven-development scaffolding (briefs/reports/diffs) — never commit
/sdd/

# The hand-authored GUI PyInstaller spec is a tracked deliverable (overrides *.spec)
!packaging/xpcsjax-gui.spec
