> ## Documentation Index
> Fetch the complete documentation index at: https://doc.blueapi.ir/llms.txt
> Use this file to discover all available pages before exploring further.

# EMEP Configuration Specification

> YAML configuration schema for EMEP platform, registry, merge, evolution, evaluation, storage, GPU, deployment, security, and observability settings.

EMEP uses a single YAML configuration file to control platform behavior. The configuration is loaded at startup and validated against a JSON Schema. Invalid values prevent startup. This page defines all sections and provides a full example.

## Schema Sections

### platform

| Key | Type | Default | Description |
| - | - | - | - |
| name | string | "emep" | Platform instance name |
| version | string | required | EMEP version string |
| log\_level | string | "info" | One of: debug, info, warn, error |
| max\_concurrent\_jobs | integer | 4 | Global job concurrency limit |

### registry

| Key | Type | Default | Description |
| - | - | - | - |
| backend | string | "postgres" | ModelRegistry backend: postgres, sqlite, memory |
| connection\_string | string | required | Database connection string |
| cache\_ttl | integer | 300 | Registry metadata cache TTL in seconds |

### merge

| Key | Type | Default | Description |
| - | - | - | - |
| default\_strategy | string | "slerp" | Default MergeStrategy |
| max\_models\_per\_merge | integer | 8 | Maximum source models in one merge |
| validation\_enabled | boolean | true | Run MergeValidation after every merge |
| artifact\_retention\_days | integer | 30 | Days to retain intermediate merge artifacts |

### evolution

| Key | Type | Default | Description |
| - | - | - | - |
| algorithm | string | "nsga2" | Evolution algorithm: nsga2 (Deb et al. 2002), nsga3 (Deb & Jain 2014), cmaes (Hansen 2001) |
| population\_size | integer | 50 | Initial population size |
| max\_generations | integer | 100 | Hard stop after N generations |
| crossover\_rate | float | 0.8 | Probability of crossover per pair |
| mutation\_rate | float | 0.1 | Probability of mutation per genome |

### evaluation

| Key | Type | Default | Description |
| - | - | - | - |
| benchmark\_backend | string | "vllm" | Inference backend for benchmarks |
| deterministic\_seeds | boolean | true | Fix random seeds for reproducibility |
| timeout\_seconds | integer | 3600 | Per-benchmark timeout |

### storage

| Key | Type | Default | Description |
| - | - | - | - |
| artifact\_store | string | "s3" | ArtifactStore backend: s3, gcs, azure, local |
| bucket | string | required | Storage bucket or root path |
| encryption | string | "aes256" | At-rest encryption algorithm |

### gpu

| Key | Type | Default | Description |
| - | - | - | - |
| orchestrator | string | "kubernetes" | GPU orchestrator: kubernetes, slurm, manual |
| default\_dtype | string | "bf16" | Default compute dtype: fp32, bf16, fp16, fp8 |
| memory\_fraction | float | 0.9 | Fraction of GPU memory to allocate per job |

### deployment

| Key | Type | Default | Description |
| - | - | - | - |
| inference\_backend | string | "vllm" | Default InferenceBackend |
| quantization\_enabled | boolean | false | Enable QuantizationEngine for deployment |
| max\_batch\_size | integer | 16 | Maximum inference batch size |

### security

| Key | Type | Default | Description |
| - | - | - | - |
| artifact\_signing | boolean | true | Enable ArtifactStore signing |
| require\_signed\_models | boolean | true | Reject unsigned models in ModelRegistry |
| license\_scanning | boolean | true | Enable license compliance checks |

### observability

| Key | Type | Default | Description |
| - | - | - | - |
| metrics\_backend | string | "prometheus" | Metrics sink |
| tracing\_backend | string | "jaeger" | Distributed tracing backend |
| alert\_webhook | string | "" | URL for critical alert webhooks |

## Full Example

```yaml theme={null}
platform:
  name: "emep-production"
  version: "0.1.0"
  log_level: "info"
  max_concurrent_jobs: 8

registry:
  backend: "postgres"
  connection_string: "postgresql://user:pass@db:5432/emep"
  cache_ttl: 300

merge:
  default_strategy: "ties"
  max_models_per_merge: 4
  validation_enabled: true
  artifact_retention_days: 30

evolution:
  algorithm: "nsga2"
  population_size: 50
  max_generations: 100
  crossover_rate: 0.8
  mutation_rate: 0.1

evaluation:
  benchmark_backend: "vllm"
  deterministic_seeds: true
  timeout_seconds: 3600

storage:
  artifact_store: "s3"
  bucket: "emep-artifacts-prod"
  encryption: "aes256"

gpu:
  orchestrator: "kubernetes"
  default_dtype: "bf16"
  memory_fraction: 0.9

deployment:
  inference_backend: "vllm"
  quantization_enabled: true
  max_batch_size: 16

security:
  artifact_signing: true
  require_signed_models: true
  license_scanning: true

observability:
  metrics_backend: "prometheus"
  tracing_backend: "jaeger"
  alert_webhook: "https://alerts.emep.dev/webhook"
```

## Validation

The configuration is validated on load. Unknown keys are rejected. Missing required keys prevent startup. Type mismatches produce a detailed error message with the offending key and expected type.

## Integration Points

* **API Specification**: the REST API reads the same config file for defaults.
* **CLI Specification**: `emep` commands use config values when flags are omitted.
* **GPU Orchestration**: the `gpu` section is consumed by the GPU orchestrator layer.
* **Security**: the `security` section drives ArtifactStore signing and license compliance.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.