Requirement Categories Mindmap
Correctness
| ID | Requirement | Component | Verification |
|---|---|---|---|
| FR-001 | ModelCompatibilityAnalyzer shall emit COMPATIBLE, CONDITIONALLY_COMPATIBLE, or INCOMPATIBLE for every pair | ModelCompatibilityAnalyzer | Unit test with 100% state coverage |
| FR-002 | TensorEngine shall validate all tensor shapes before merge dispatch | TensorEngine | Property-based test on random shapes |
| FR-003 | MergeEngine shall produce bitwise-identical output for identical inputs and seeds | MergeEngine | Deterministic regression test |
| FR-004 | EvaluationEngine shall assign PASS, FAIL, REGRESSION, INVALID, or INCOMPLETE to every candidate | EvaluationEngine | Integration test with mock benchmarks |
Performance
| ID | Requirement | Component | Verification |
|---|---|---|---|
| NFR-001 | TensorEngine shall sustain 80% GPU compute utilization during merge operations | TensorEngine | GPU profiling benchmark |
| NFR-002 | BenchmarkEngine shall complete Optimization Set evaluation within 4 hours per candidate | BenchmarkEngine | CI performance gate |
| NFR-003 | MergeEngine shall process a 7B parameter merge in under 10 minutes on 1x A100 | MergeEngine | Load test with timed runs |
| NFR-004 | API server p99 latency shall be under 200ms for registry queries | API server | Load test with k6 |
Reliability
| ID | Requirement | Component | Verification |
|---|---|---|---|
| FR-005 | ExperimentTracker shall recover state from checkpoint after worker failure | ExperimentTracker | Chaos test with process kill |
| FR-006 | GPU worker shall release allocation within 60 seconds of job completion or crash | GPU Orchestration | Monitoring alert + manual audit |
| FR-007 | MergeEngine shall fall back to CPU execution if GPU OOM occurs | MergeEngine | Failure injection test |
| NFR-005 | System availability shall exceed 99.5% during evaluation windows | Operations | Uptime monitoring |
Security
| ID | Requirement | Component | Verification |
|---|---|---|---|
| FR-008 | ArtifactStore shall reject unsigned model artifacts in enterprise mode | ArtifactStore | Security test with tampered artifact |
| FR-009 | Model supply chain shall validate SHA-256 hashes at import | ModelLoader | Integration test with hash mismatch |
| FR-010 | Signing key hierarchy shall enforce root → intermediate → signing separation | Security Architecture | Key ceremony audit |
| NFR-006 | All secrets shall reside in hardware security modules or encrypted vaults in air-gap deployments | Security Architecture | Penetration test |
Reproducibility
| ID | Requirement | Component | Verification |
|---|---|---|---|
| FR-011 | ExperimentTracker shall record full provenance: model IDs, merge params, seeds, hardware | ExperimentTracker | Provenance audit query |
| FR-012 | EvolutionEngine shall support fixed random seeds for every stochastic operation | EvolutionEngine | Seed sweep test |
| FR-013 | BenchmarkEngine shall use identical dataset splits for repeated evaluations | BenchmarkEngine | Split hash verification |
| NFR-007 | Reproducibility protocol shall enable bit-exact reproduction within 24 hours | Reproducibility | End-to-end reproduction run |
Observability
| ID | Requirement | Component | Verification |
|---|---|---|---|
| FR-014 | Every component shall emit structured logs with trace_id and experiment_id | All components | Log schema validation |
| FR-015 | Metrics pipeline shall expose candidate throughput, fitness distribution, and GPU VRAM | Observability | Dashboard review |
| FR-016 | Alerting shall fire within 60 seconds of experiment state transition to FAILED | Alerting | Synthetic failure test |
| NFR-008 | Log retention shall be 90 days hot, 1 year warm, 7 years cold | Storage Architecture | Retention policy audit |
Offline Operation
| ID | Requirement | Component | Verification |
|---|---|---|---|
| FR-017 | EMEP shall operate without external network access in air-gap mode | DeploymentManager | Air-gap integration test |
| FR-018 | DatasetRegistry shall serve all splits from local storage in offline mode | DatasetRegistry | Offline benchmark run |
| FR-019 | ModelRegistry shall not require external model hub access after initial import | ModelRegistry | Disconnected registry test |
| NFR-009 | Offline deployment shall complete within 2 hours from signed artifact to inference endpoint | DeploymentManager | Timed offline deploy test |
Portability
| ID | Requirement | Component | Verification |
|---|---|---|---|
| FR-020 | TensorEngine shall support CUDA and ROCm backends via configuration | TensorEngine | Backend switch test |
| FR-021 | InferenceBackend shall load models in HuggingFace, GGUF, and ONNX formats | InferenceBackend | Format compatibility matrix |
| FR-022 | All workers shall run in OCI-compliant containers | Runtime Architecture | Container scan and run |
| NFR-010 | Configuration layer shall require zero code changes to switch GPU vendor | Configuration | Config-only backend swap |
Traceability Footer
| Spec Reference | Phase |
|---|---|
| Component Architecture | Phase 2 |
| Runtime Architecture | Phase 3 |
| Security Architecture | Phase 2 |
| Storage Architecture | Phase 2 |