# ============================================================
# 客服中心管理系统 - .gitignore
# ============================================================

# ---------- 操作系统 ----------
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
desktop.ini

# ---------- IDE / 编辑器 ----------
.idea/
.vscode/
*.swp
*.swo
*~
.project
.pydevproject
.settings/

# ---------- Docker 本地覆盖 ----------
# docker-compose.override.yml 仅用于本地 macOS colima(改用 named volume 解决权限),
# 生产服务器不需要也不应加载; 误提交后已移除跟踪, 此处忽略防止再次提交。
docker-compose.override.yml

# ---------- Python ----------
__pycache__/
*.pyc
*.pyo
*.pyd
*.so
*.egg
*.egg-info/
.eggs/
dist/
build/
wheels/
*.manifest
*.spec

# 虚拟环境
.venv/
.venv_test/
venv/
env/
ENV/

# 测试 / lint 缓存
.pytest_cache/
.ruff_cache/
.mypy_cache/
.coverage
htmlcov/
.tox/
coverage.xml
*.cover

# ---------- Node ----------
node_modules/
web/dist/
web/.vite/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
.npm
.pnpm-store/

# ---------- 环境配置(含密钥,不入库) ----------
.env
.env.local
.env.*.local
backend/.env
# 保留模板文件
!.env.example
!backend/.env.example
!web/.env.example

# ---------- 运行时数据 ----------
# 上传的业务文件(运行时挂载,仅保留目录占位)
backend/uploads/*
!backend/uploads/.gitkeep
# 根目录 uploads/ = compose 挂载的同步下载目录(运行时生成,不入库)
uploads/

# 后端运行时数据(登录态/下载/临时,含 cookie/会话凭证,严禁入库)
backend/data/

# 样本数据(真实业务数据,含退费单号/商户信息等敏感内容,不入库)
01样本数据/

# ---------- Docker 运行时卷 ----------
pgdata/
redis-data/
backend-data/
# 部署数据/日志 bind mount 到宿主机（PG、Redis 持久化数据 + 应用日志）
# 注意：必须用 /data/（绝对路径），否则会错误忽略 web/src/views/data/ 下的所有源文件
/data/


# ---------- 日志 ----------
*.log
logs/
backend/logs/

# ---------- 部署产物(本地打包/备份,勿入库) ----------
backups/

# ---------- 本地工具凭证(勿入库,如 Gitea API token) ----------
.gitea-token
.gitea_token

# ---------- 含 PII 的去重分析明细(勿入库, 由 scripts/export_dedup_analysis.py 生成) ----------
# 这些 CSV 含真实用户手机号/设备SN, 仅本地人工核对用
docs/reports/*投诉去重分析/*.csv
/tmp/csctalon-dup-analysis/

# ══════════════════════════════════════════════════════════════════
# ★ 通用规则: 核查类导出 CSV 一律不入库
# ══════════════════════════════════════════════════════════════════
# 教训: 原先按目录逐条加规则(见下方历史条目), 每新增一个核查目录就要记得加一条
#       → 遗漏时 PII 会被 `git add` 扫进去。
#       #65 已改为**通用 glob**, 一次覆盖所有 `*-核查/`、`*-核查/` 子目录。
#       保留下方历史条目作说明, 但与通用规则重复, 可随时清理。
#
# 覆盖: docs/reports/*核查*/  (对账核查 / 工信部误录核查 / 外部投诉缺口核查 / ...)
docs/reports/*核查*/*.csv
docs/reports/*核查*/*/*.csv
docs/reports/*分析*/*.csv
docs/reports/*导出*/*.csv

# ── 历史条目(已被通用规则覆盖, 保留作变更溯源) ──
# #56 外部投诉对账核查导出: 含真实手机号/设备SN(PII), 仅供本地人工核查, 严禁入库
docs/reports/*外部投诉对账核查/*.csv
/tmp/csctalon-recon/

# #58 工信部误录核查导出: 含真实SN/手机号(PII), 仅供本地人工核查, 严禁入库
docs/reports/*工信部误录核查/*.csv

# #64 SN 清洗验证导出: 含真实SN/手机号(PII)
docs/reports/*外部投诉缺口核查/*.csv

# ---------- 仓库入库规范(见 docs/standards/仓库入库规范.md) ----------
# C4 任务现场: 一次性脚本/冻结语料/模型raw输出/状态日志, 本机工作台不入库
workdata/
work-data/
# C5 密钥凭证: 证书私钥泄露即事故
certs/
# C7 工具私有状态: AI 工具记忆/会话状态, 写给工具自己用的不入库
.workbuddy/

