# ============================================================================
# WHITELIST APPROACH: Block everything by default, then allow only what's needed
# ============================================================================

# Block everything first
*

# ============================================================================
# ALLOW: Application source code (model_manager package)
# ============================================================================

# Allow the main package directory and all Python files
!model_manager/
!model_manager/**/*.py
!model_manager/**/__init__.py

# Allow subdirectories structure
!model_manager/activities/
!model_manager/activities/**
!model_manager/schedules/
!model_manager/schedules/**
!model_manager/sientia/
!model_manager/sientia/**
!model_manager/utils/
!model_manager/utils/**
!model_manager/utils/models/
!model_manager/utils/models/**
!model_manager/utils/repository/
!model_manager/utils/repository/**
!model_manager/worker/
!model_manager/worker/**
!model_manager/workflows/
!model_manager/workflows/**

# Allow reports directory with header.html
!model_manager/reports/
!model_manager/reports/header.html

# Allow temp directory structure (but not its contents)
!model_manager/reports/temp/

# ============================================================================
# ALLOW: Dependencies file (needed for pip install in Dockerfile)
# ============================================================================
!requirements.txt

# ============================================================================
# BLOCK: Explicitly block unwanted files even if they match above patterns
# ============================================================================

# Python cache and compiled files
**/__pycache__/
**/*.pyc
**/*.pyo
**/*.pyd
**/.Python
**/*.so
**/*.egg
**/*.egg-info/

# Tests (not needed in production)
model_manager/**/test_*.py
model_manager/**/*_test.py

# IDE and editor files
**/.vscode/
**/.idea/
**/*.swp
**/*.swo
**/*~

# OS files
**/.DS_Store
**/Thumbs.db

# Logs and temporary files
**/*.log
**/*.tmp
**/*.temp

# Local configuration
**/.env
**/.env.local
**/*.local

# Documentation inside code
**/*.md
**/README*

# Backup files
**/*.bak
**/*.backup
**/*.old
