diff --git a/src/lib/longevity/db.ts b/src/lib/longevity/db.ts index 639e697..21a0166 100644 --- a/src/lib/longevity/db.ts +++ b/src/lib/longevity/db.ts @@ -2,7 +2,11 @@ import Database from 'better-sqlite3'; import { mkdirSync } from 'node:fs'; import { dirname } from 'node:path'; -/** Sotto questa copertura di peso un elemento calcolato e' 'insufficiente' e non ha valore. */ +/** + * Sotto questa copertura di peso un elemento calcolato e' 'insufficiente' e non ha valore. + * Vale a ogni livello E dentro il questionario: soglia unica, confermata da Nicola il + * 22/08 — due criteri diversi sarebbero due cose da spiegare e da ricordare. + */ export const COPERTURA_MINIMA = 0.4; const SCHEMA_LONGEVITY = ` diff --git a/src/lib/longevity/registro.ts b/src/lib/longevity/registro.ts index d934a5f..30cd1f1 100644 --- a/src/lib/longevity/registro.ts +++ b/src/lib/longevity/registro.ts @@ -116,6 +116,10 @@ export function seedRegistro(db: Database.Database): void { // Pesi presi dal motore del cliente (AXIS_SUBDOMAIN_WEIGHTS, MACRO_SCORE_WEIGHTS, // FITNESS_AGE_WEIGHTS). I macro con peso 0 non si inseriscono: assenza e zero sono // la stessa cosa per la rinormalizzazione, e una riga a zero confonde chi legge. +// ⚠️ Il plank compare volutamente in DUE assi: 'core' in Forza & Struttura (0.15) e +// 'plank' in Stabilità & Mobilità (0.20). Confermato da Nicola il 22/08 e motivato: +// il plank non è forza pura, richiede controllo neuromuscolare del tronco, quindi +// contribuisce davvero a entrambi i domini che misura. Non è un refuso da correggere. const PESI_ASSE: Record> = { 'Forza & Struttura': { handgrip: 0.25, spinta: 0.20, trazione: 0.20, arti_inferiori: 0.20, core: 0.15 }, 'Composizione Corporea': { grasso: 0.40, muscolo: 0.35, whr: 0.25 },