Esta página responde:¿Cuánto vale mi puntuación de 0~10 en la escala −10~+10 del motor?
El criterio de asignación proviene del código del motor app_v4.2.py, línea 205, mapped = round(v*2-10, 2); la inversa (v+10)/2 es su operación inversa. El redondeo de la mitad al par más cercano se alinea con Python mediante pyRound(). Esta página no contiene ningún algoritmo nuevo.
/opt/curve_engine/app_v4.2.py, línea 205, mapped_vals = [round(v * 2 - 10, 2) for v in vals] (solo lectura); la inversa (v+10)/2 es su operación inversa; la tarjeta de contrato /opt/contracts/curve_engine.md registra ese número de línea en la línea 78 («la única fórmula de escala»).pyRound() alineado con el round de Python).3.2 en directo → 3.2×2−10 = −3.6; pasa −3.6 por la inversa → (−3.6+10)/2 = 3.2, debería volver al valor original. Ojo: fuera de rango no se trunca (pegar 12 da 14) y en el motor tampoco se trunca.
/opt/slices_build/build.py a partir de la especificación /_shared/slices/score-map.json — para cambiar esta página, edita la especificación y vuelve a ejecutar el generador; nunca edites el HTML a mano.