Docs : mesure est/nord dans CONSTANTES, marche à suivre pour ajouter un moteur (AGENTS)
This commit is contained in:
@@ -69,6 +69,21 @@ src/
|
||||
schemas/ fixtures/ test/ scripts/ docs/CONSTANTES.md dist/
|
||||
```
|
||||
|
||||
## Comment ajouter un moteur (P1.3 : isolation, autoconstruction, estimatif → v0.2.0)
|
||||
|
||||
1. Ses tables de données : une entrée par table dans `src/commun/schemas.ts` (`NomTable` s'étend seul,
|
||||
`valider` suit) ; les fixtures datées dans `fixtures/` ; **jamais un prix dans `src/`**.
|
||||
2. Ses coefficients physiques : dans `TableCoefficients` + `COEFFICIENTS` (valeur, source, date, note)
|
||||
**et** dans `fixtures/coefficients-2026-05.json` (le test exige les mêmes clés ; pour une grandeur
|
||||
absente du code d'origine, mettre la même valeur et le dire en `source`), puis une ligne dans
|
||||
`docs/CONSTANTES.md`.
|
||||
3. Le moteur : `src/<domaine>/<nom>.ts` exporte un `Moteur<E, D, S>` avec un `id` `'<domaine>.<nom>'`,
|
||||
construit son résultat avec `Trace` (chaque coefficient lu → `trace.source`, chaque défaut →
|
||||
`trace.avertit`), rend `VERSION`. Un `index.ts` par domaine ; l'`id` ajouté à `MOTEURS` (`src/index.ts`).
|
||||
4. `package.json` : une entrée `exports` par sous-chemin (`./isolation`, …) ; version mineure.
|
||||
5. Tests hors ligne dans `test/<domaine>.test.mjs` (contrat : déterminisme, sources, avertissements,
|
||||
un cas chiffré à la main), `npm test` vert, `dist/` reconstruit, étiquette, montée chez `reinnover`.
|
||||
|
||||
## Comment publier
|
||||
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user