LOT P1.0 : paquet @transformer/moteurs v0.1.0
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
This commit is contained in:
Vendored
+38
@@ -0,0 +1,38 @@
|
||||
/** Une constante ou une donnée effectivement utilisée par un calcul. */
|
||||
export interface Source {
|
||||
cle: string;
|
||||
valeur: number | string;
|
||||
source: string;
|
||||
date: string;
|
||||
}
|
||||
export interface Resultat<S> {
|
||||
sorties: S;
|
||||
/** Tout coefficient et tout prix effectivement utilisé. */
|
||||
sources: Source[];
|
||||
/** Toute donnée manquante, toute valeur par défaut appliquée. */
|
||||
avertissements: string[];
|
||||
/** Étiquette du paquet (`vX.Y.Z`). */
|
||||
version: string;
|
||||
}
|
||||
export interface Moteur<E, D, S> {
|
||||
/** 'autonomie.eau', 'commun.geometrie', … */
|
||||
id: string;
|
||||
calculer(entrees: E, donnees: D): Resultat<S>;
|
||||
}
|
||||
/**
|
||||
* Collecteur de sources et d'avertissements d'un calcul. Une source est
|
||||
* enregistrée une fois par clé (la première valeur gagne) ; un avertissement
|
||||
* une fois par texte. Objet interne, sans I/O.
|
||||
*/
|
||||
export declare class Trace {
|
||||
private readonly sources;
|
||||
private readonly avertissements;
|
||||
source(cle: string, valeur: number | string, source: string, date: string): void;
|
||||
avertit(texte: string): void;
|
||||
/** Verse dans ce collecteur les sources et avertissements d'un autre résultat. */
|
||||
absorbe(autre: {
|
||||
sources: Source[];
|
||||
avertissements: string[];
|
||||
}): void;
|
||||
resultat<S>(sorties: S, version: string): Resultat<S>;
|
||||
}
|
||||
Reference in New Issue
Block a user