notas-calibrar
Calibrar umbrales del motor de notas (TablaGrados, DetectorCurvas, UmbralesRasantes) sobre trazas reales de Mallorca y revisar los goldens; no cambia frases (test-write) ni voz (H4).
Files1
View on GitHubSKILL.md.claude/skills/notas-calibrar/SKILL.md
GitHubnotas-calibrar
Ajusta los parámetros del motor de notas en motor/src/main/kotlin/app/trombito/rallycopilot/motor/notas/ y mide el efecto sobre trazas reales. Traza: $0 (si falta, elegir de docs/rutas/*.gpx).
Cuándo usarla
- Las notas salen con grados, horquillas, «y» o avisos que no cuadran con la carretera real (p. ej. demasiadas horquillas o curvas de grado 6 mal clasificadas).
- Hay que mover un umbral (
TablaGrados.mu,umbralesKmh,radioHorquillaM;DetectorCurvas.radioEntradaM/radioSalidaM;UmbralesRasantes) y comprobar su efecto. - Llega una calibración de velocidad de Joan (perfil global o por tramo, según ROADMAP H3/H6).
Cuándo NO usarla
- Cambiar el texto de las frases (
FrasesNota) → usatest-write(tipomotor). - Voz, TTS o clips de audio → H4, no esta skill.
- Solo reproducir una traza en el emulador → usa
gps-replay. - Decidir si una nota «suena bien» al copiloto sin datos → va a
QUESTIONS.md, no se fija aquí.
Precondiciones
- Leer
docs/ESTADO.mdy el hito H3 deROADMAP.md. - Traza en
docs/rutas/(GPX contrkpt). Si no existe, ver Paso 1. - Estado limpio en
motor/antes de empezar (git status); el cambio se hace en un solo parámetro cada vez.
Pasos
- Traza: si
$0existe endocs/rutas/, usarla. Si no, mirardocs/rutas/README.md. Para crear una traza nueva:python -I scripts/traza-desde-vias.py <vias-mallorca.tsv.gz> <ref> <lat,lon ini> <lat,lon fin> docs/rutas/<nombre>.gpx(el.tsv.gzse baja de la última release derally-copilot-datacongh release download), y añadir su fila y atribución OSM adocs/rutas/README.md. - Leer la salida base:
./gradlew :motor:test --tests "*RealTest*"y anotar nº de notas, reparto por grado, encadenadas, grado 6 y modificadores (líneasprintlndeGeneradorNotasRealTest, enmotor/build/test-results/test/*.xml). - Cambiar un parámetro en
motor/src/main/kotlin/.../notas/conEdit(valor por defecto del constructor). Anotar valor anterior y nuevo. - Regenerar goldens a propósito: borrar el golden afectado (
ma-2141.txt,ma-2141-hoja.txt,ma-10-hoja.txtenmotor/src/test/resources/notas/) y ejecutar./gradlew :motor:test --tests "*RealTest*". El test escribe el archivo y falla una vez: es lo esperado. - Comparar:
git diff -- motor/src/test/resources/notas/y repetir el paso 2. Revisar nº de notas por grado, modificadores, «y» y avisos. Cada cambio debe poder explicarse con un tramo concreto (km o índice de la traza). - Si el cambio mejora un caso y empeora otro, no cerrar: volver al paso 3 o dejarlo como duda en
QUESTIONS.md. - Revisión: pedir
copiloto-reviewer(modeloopus, víadelegate-task) con el diff de goldens y los números de los pasos 2 y 5. Sin modificar archivos; findings citando nota o km. - Registrar con
registrar-decision(tema «Calibración de notas (H3)»): valor anterior, nuevo, traza y porqué. Si un subagente lo ejecuta, devuelve la línea propuesta;docs/DECISIONES.mdla escribe el agente principal.
Validaciones / tests
./gradlew :motor:test --tests "*RealTest*"en verde tras regenerar goldens (segunda pasada)../gradlew :motor:testcompleto sin fallos nuevos.node scripts/check-claude-assets.mjs && node scripts/gen-claude-index.mjs --check
Definition of Done
- Un parámetro cambiado, con valor anterior y nuevo anotados.
- Goldens regenerados y revisados con
git diff, con nº de notas por grado antes y después. - Revisión de
copiloto-reviewersin BLOCKER pendiente. - Decisión registrada (
registrar-decision) o marcada como duda enQUESTIONS.md. -
./gradlew :motor:testen verde.
Docs a actualizar
docs/DECISIONES.md§ Motor de notas (H3) (víaregistrar-decision, agente principal) ·docs/rutas/README.mdsi se añade traza ·docs/ESTADO.md(skillsession-handoff)