# Manifest de figeage : MOTEUR V19 (backtest + live — momentum sectoriel + or) # Date de fixation : 2026-06-12 # Objet : scellement d'integrite du MOTEUR DE DECISION V19, prealable a # l'horodatage externe RFC-3161 (preuve de pre-engagement de la spec # avant le track record forward demarrant juillet 2026). # # PERIMETRE = uniquement ce qui determine QUELLES positions sont prises et a # QUELLE taille (backtest ET live partagent ces modules — pas de divergence # possible entre les deux par construction). # # EXCLUS VOLONTAIREMENT (presentation / peripherie, libres d'evoluer sans # invalider le scelle — cf. decision 2026-06-12, optimisation UI a venir) : # - services/v14/notify.py (formatage Telegram = presentation) # - services/v14/performance.py (reporting d'affichage, recalculable # depuis ledger + prix publics) # - services/v14/custom_positions.py (CRUD positions manuelles abonnes, # hors strategie) # - api/routes/*, api/templates/* (couche UI/API, jamais scellee) # # Verification : # python scripts/hash_part.py --manifest config/hash_manifests/v19_engine.manifest \ # --zone "V19 ENGINE" --verify config/hash_manifests/v19_engine.json # # Toute modification d'un fichier liste ici = ALERTE CRITIQUE + re-scellement # versionne (nouveau JSON + nouveau RFC-3161 + changelog public). Le moteur # etant deterministe, une migration "deplacement de code sans changement # fonctionnel" se prouve en rejouant le backtest de reference (memes trades). # --- Moteur de decision V19 (services/v14) --- services/v14/__init__.py services/v14/momentum.py services/v14/allocator.py services/v14/risk_parity.py services/v14/universe.py services/v14/live_allocation.py services/v14/backtest_v14.py services/v14/paper_trading.py services/v14/persist.py services/v14/version.py # --- Declencheur live mensuel (rebalancement) --- scheduler/tasks/v14_monthly.py # --- Configurations gouvernant les decisions --- config/v14_config.json config/universe.json config/engine_version.json