510d7ca4ec
Primo passo della separazione sito / piattaforme decisa da Adriano il 03/09: due applicazioni autosufficienti, senza workspace di root, cosi' che ognuna resti un progetto Astro completo ed estraibile. Qui non cambia niente del codice: solo la radice. I pattern del .gitignore che avevano una barra erano ancorati alla radice e dopo lo spostamento non avrebbero piu' coperto niente (data/*.db*, uploads/*): resi validi a qualunque profondita'. Suite: 45 file, 347 test verdi prima e dopo lo spostamento. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EndnceRA5WnA6rvA5iV9WL
23 lines
1.1 KiB
Markdown
23 lines
1.1 KiB
Markdown
# L'oracolo del motore di calcolo
|
|
|
|
`isl_scoring_engine.py` è il motore di punteggio **scritto dal cliente** (In-Sanity Lab),
|
|
ricevuto il 2026-08-21. Non è codice nostro e non va modificato: sta qui perché è
|
|
l'**oracolo** contro cui verifichiamo il porting in TypeScript.
|
|
|
|
Il porting delle curve è la parte più delicata della piattaforma: un coefficiente
|
|
trascritto male produce un punteggio sanitario sbagliato che sembra plausibile e che
|
|
nessun test funzionale intercetterebbe, perché diventerebbe il valore "atteso" di tutto
|
|
ciò che viene dopo. La fedeltà non è garantita dalla trascrizione, ma dal confronto
|
|
numerico: `genera-riferimento.py` esegue questo motore su una griglia di casi e scrive
|
|
`riferimento.json`, che il test TypeScript rilegge per confrontare i due risultati.
|
|
|
|
Serve `python3` (solo libreria standard: il motore importa unicamente `dataclasses` e
|
|
`typing`).
|
|
|
|
## Rigenerare il riferimento
|
|
|
|
python3 tests/longevity/riferimento/genera-riferimento.py
|
|
|
|
Va rifatto solo se il cliente manda una versione nuova del motore. In quel caso il
|
|
confronto dirà da sé quali curve sono cambiate.
|