# ==============================
# Python bytecode
# ==============================
__pycache__/
*.py[cod]
*$py.class

# ==============================
# C extensions
# ==============================
*.so

# ==============================
# Distribution / packaging
# ==============================
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
/lib/
/lib64/
# Do NOT ignore webui/src/lib/ — that's frontend source code
!webui/src/lib/
parts/
sdist/
var/
*.egg-info/
*.egg
MANIFEST

# ==============================
# Virtual environments
# ==============================
venv/
.env/
.venv/
ENV/
env/
env.bak/
venv.bak/

# ==============================
# Installer logs
# ==============================
pip-log.txt
pip-delete-this-directory.txt

# ==============================
# Unit test / coverage
# ==============================
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
pytest_cache/
nosetests.xml
coverage.xml
*.cover
*.py,cover

# ==============================
# Jupyter Notebook
# ==============================
.ipynb_checkpoints

# ==============================
# PyInstaller
# ==============================
*.manifest
*.spec

# ==============================
# Logs
# ==============================
*.log

# ==============================
# OS files
# ==============================
.DS_Store
Thumbs.db

# ==============================
# Database files
# ==============================
*.db
*.sqlite
*.sqlite3

# ==============================
# IDE
# ==============================
.vscode/
.idea/
*.swp
*.swo
.claude/

# ==============================
# mypy
# ==============================
.mypy_cache/
.dmypy.json
dmypy.json

# ==============================
# Pyre
# ==============================
.pyre/

# ==============================
# Ruff / lint
# ==============================
.ruff_cache/

# ==============================
# Pylint
# ==============================
.pylint.d/

# ==============================
# pytype
# ==============================
.pytype/

# ==============================
# dotenv
# ==============================
.env
.env.*
!.env.template

# ==============================
# Local data / experiment output
# ==============================
data/
outputs/
checkpoints/
models/

# ==============================
# LaTeX build artifacts
# ==============================
paper/*.aux
paper/*.bbl
paper/*.blg
paper/*.log
paper/*.out
paper/*.fls
paper/*.fdb_latexmk
paper/*.synctex.gz
papers/**/*.aux
papers/**/*.bbl
papers/**/*.blg
papers/**/*.log
papers/**/*.out
papers/**/*.fls
papers/**/*.fdb_latexmk
papers/**/*.synctex.gz
papers/**/*.pdf
papers/**/*.bak
papers/**/*.bak2

# ==============================
# Large feature / experiment cache (keep local only)
# ==============================
results/p0_features/
results/*.npz
__pycache__/
patents/patent-01-lint/node_modules/

# ==============================
# Web UI — build artifacts and dependencies
# ==============================
webui/node_modules/
webui-dist/
webui/.vite/

# ==============================
# Agent workspace — run data, not tracked
# Each run creates workspace/run_YYYYMMDD_HHMMSS/ with intermediate
# and final artifacts. These are local execution data, never committed.
# ==============================
**/workspace/
!**/workspace/.gitkeep

# ==============================
# Agent instance data — accumulated knowledge, not tracked
# Instance dirs contain wiki/knowledge data that grows at runtime.
# Only instance.yml is tracked (config); data dirs are ignored.
# ==============================
**/instances/*/wiki/
**/instances/*/knowledge/
!**/instances/*/instance.yml

# agentexample runtime wiki / workspace (generated, never committed)
agentexample/**/wiki/
agentexample/**/workspace/

# ==============================
# physics67 escape defense — agent-written dirs that leaked to repo root.
# Historical bug (see docs/AUDIT_2026-06-05.md "项目外目录非法写入" 一节):
# if `{workspace}` substitution failed inside sub-agent prompts,
# `cd {workspace} && python3 03_analysis/x.py` became `cd && python3
# 03_analysis/x.py`, writing 03_analysis/ to cwd (= repo root). Prompts
# now require absolute paths; these rules are belt-and-suspenders so an
# LLM regression won't silently pollute main.
# ==============================
# orchestrator.yml default fallback dir:
/physics_runs/
# `{base_workspace}/cycle_N` accidentally rooted at /:
/cycle_[0-9]*/
# artifact-gate dir:
/_gates/
# Per-stage agent output dirs (analyst writes 03_analysis/, writer writes
# 04_paper/, etc. — only catch when they leak to root, not inside workspace):
/0[0-9]_plan/
/0[0-9]_lit/
/0[0-9]_sim/
/0[0-9]_analysis/
/0[0-9]_paper/
/0[0-9]_review/

# ==============================
# Knowledge base index files (generated, can be large)
# BM25 index, vector embeddings (numpy), metadata pickles
# ==============================
**/rag_index.json
**/rag_index.keywords.json
**/rag_vectors_v2.npy
**/rag_vectors_meta_v2.pkl

# ==============================
# Job logs (stored in data dir, not repo)
# ==============================
**/jobs/*.log

# ==============================
# User data directory (never in repo)
# ==============================
.agentpaas/

# ==============================
# Docker Compose env override (host-specific)
# ==============================
.env
.gstack/

# ==============================
# 机密/个人产物 — 永不入库 (AUDIT_2026-06-11)
# 审稿 agent 的论文评审输出（保密评审内容）+ 商业文档
# ==============================
review_report*.md
review_report*.pdf
review_comments*.md
review_comments*.pdf
review_result*.json
*商业计划书*

# 发行包组装产物（setup.sh --package 生成，含 wheel，勿入库）
/release/
/dist-secure/
/build_nuitka/
/.nuitka-venv/
/dist-binary/
/build_binary_out/
