feat(Production): Complete production deployment infrastructure

- Add comprehensive health check system with multiple endpoints
- Add Prometheus metrics endpoint
- Add production logging configurations (5 strategies)
- Add complete deployment documentation suite:
  * QUICKSTART.md - 30-minute deployment guide
  * DEPLOYMENT_CHECKLIST.md - Printable verification checklist
  * DEPLOYMENT_WORKFLOW.md - Complete deployment lifecycle
  * PRODUCTION_DEPLOYMENT.md - Comprehensive technical reference
  * production-logging.md - Logging configuration guide
  * ANSIBLE_DEPLOYMENT.md - Infrastructure as Code automation
  * README.md - Navigation hub
  * DEPLOYMENT_SUMMARY.md - Executive summary
- Add deployment scripts and automation
- Add DEPLOYMENT_PLAN.md - Concrete plan for immediate deployment
- Update README with production-ready features

All production infrastructure is now complete and ready for deployment.
This commit is contained in:
2025-10-25 19:18:37 +02:00
parent caa85db796
commit fc3d7e6357
83016 changed files with 378904 additions and 20919 deletions

View File

@@ -0,0 +1,75 @@
<?php
declare(strict_types=1);
namespace App\Framework\MachineLearning\ModelManagement;
use App\Framework\Core\ValueObjects\Version;
use App\Framework\Core\ValueObjects\Duration;
/**
* Performance Storage Interface
*
* Storage abstraction for ML model performance tracking data.
*/
interface PerformanceStorage
{
/**
* Store a prediction record
*
* @param array{
* model_name: string,
* version: string,
* prediction: mixed,
* actual: mixed,
* confidence: float,
* features: array,
* timestamp: \DateTimeImmutable,
* is_correct: ?bool
* } $predictionRecord
*/
public function storePrediction(array $predictionRecord): void;
/**
* Get predictions within time window
*
* @return array<array{
* model_name: string,
* version: string,
* prediction: mixed,
* actual: mixed,
* confidence: float,
* features: array,
* timestamp: \DateTimeImmutable,
* is_correct: ?bool
* }>
*/
public function getPredictions(
string $modelName,
Version $version,
Duration $timeWindow
): array;
/**
* Get historical average confidence for baseline
*/
public function getHistoricalAverageConfidence(
string $modelName,
Version $version
): ?float;
/**
* Store confidence baseline for drift detection
*/
public function storeConfidenceBaseline(
string $modelName,
Version $version,
float $avgConfidence,
float $stdDevConfidence
): void;
/**
* Clear old prediction records (cleanup)
*/
public function clearOldPredictions(Duration $olderThan): int;
}