Extraction du cœur autonomie de calculs.trans-former.fr (12 modules, sans singleton, couplages sans mutation, console derrière debug), découpage en trois moteurs d'axe + intégrateur (mode global = calculs, mode par_axe = plateforme), moteurs commun.contexte (Corse 2A/2B, DOM 97x corrigés) et commun.geometrie, table des coefficients harmonisés (docs/CONSTANTES.md pour Jules, R-7), validation structurelle des données (schemas/), tests hors ligne : 28 assertions d'origine + épingle générée depuis le code d'astro-pro + écarts d'harmonisation figés + contrat des moteurs. dist/ committé. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019UBHYPdeQYy2m1GVJp6b12
66 lines
1.4 KiB
JSON
66 lines
1.4 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://git.trans-former.fr/jules/moteurs/schemas/algo_config.schema.json",
|
|
"description": "Heuristiques de conception du simulateur autonomie (poids, modulateurs, matrices, tolérances, alias, poids des postes). Données non sourcées, injectées, jamais importées.",
|
|
"type": "object",
|
|
"required": [
|
|
"poids_axes_base",
|
|
"modulateurs",
|
|
"adequation_weights",
|
|
"tolerances",
|
|
"bonus_malus",
|
|
"couplages_alias",
|
|
"postes_poids"
|
|
],
|
|
"properties": {
|
|
"poids_axes_base": {
|
|
"type": "object",
|
|
"required": [
|
|
"eau",
|
|
"energie",
|
|
"alim"
|
|
],
|
|
"properties": {
|
|
"eau": {
|
|
"type": "number"
|
|
},
|
|
"energie": {
|
|
"type": "number"
|
|
},
|
|
"alim": {
|
|
"type": "number"
|
|
}
|
|
}
|
|
},
|
|
"modulateurs": {
|
|
"type": "object"
|
|
},
|
|
"adequation_weights": {
|
|
"type": "object"
|
|
},
|
|
"tolerances": {
|
|
"type": "object",
|
|
"properties": {
|
|
"budget_overrun_pct": {
|
|
"type": "number"
|
|
},
|
|
"budget_underspend_pct": {
|
|
"type": "number"
|
|
},
|
|
"tolerance_par_poste_pct": {
|
|
"type": "number"
|
|
}
|
|
}
|
|
},
|
|
"bonus_malus": {
|
|
"type": "object"
|
|
},
|
|
"couplages_alias": {
|
|
"type": "object"
|
|
},
|
|
"postes_poids": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|