Skip to content

[Web] El validador OTE podría enlazar a un agente de IA para explicar/corregir errores (y a GitHub Discussions para pedir ayuda humana) #39

Description

@hhkaos

Contexto

Sigue a #38. El validador (tools.opentechevents.org/validator/, código en ote-toolsapps/validator) ya:

  • separa "descubrimiento" de "validación", y MUST de SHOULD (violaciones de schema vs. recomendaciones no cumplidas),
  • señala cada hallazgo con su path (JSON Pointer) + line:column en el documento,
  • nunca envía el documento a ningún sitio salvo que el usuario use el modo "desde URL" — pegar JSON o subir fichero se quedan el 100% del tiempo en la pestaña, nada se sube (ver apps/validator/README.md).

Pero cuando alguien recibe una lista de errores, hoy tiene que resolverlos por su cuenta, sin más ayuda que el propio mensaje. La web principal (opentechevents.org) ya resuelve un problema parecido con el botón "¿Dudas? Pregunta a una IA" (docs/ask-ai.js): abre una conversación en el asistente que el usuario elija (ChatGPT/Claude/Perplexity/Grok), con un prompt que le dice que lea /llms.txt//llms-full.txt antes de responder — sin backend propio, sin API keys, todo en la cuenta del usuario. El validador podría ofrecer el mismo patrón, pero alimentado con lo que él ya sabe: los errores concretos que acaba de encontrar.

Propuesta

  1. Botón "Pregunta a una IA sobre estos errores" en el propio informe de resultados del validador. Mismo mecanismo que ask-ai.js — construir una URL con un prompt pre-rellenado, nada se envía hasta que el usuario pulsa un asistente concreto — pero el prompt incluiría, además del contexto de la spec, los hallazgos reales de esa validación: path/line:column/mensaje de cada error MUST, y las recomendaciones SHOULD no cumplidas.
  2. El prompt no debería limitarse a "explica y corrige estos errores": también debería pedirle a la IA que revise si el documento podría ampliarse con campos ya soportados por la spec que no se han detectado — traducciones (translations), CFP (cfp), etc. — cualquier campo opcional relevante que el usuario probablemente no sepa que existe.
  3. Junto a ese botón, un enlace a GitHub Discussions para quien prefiera pedir ayuda a una persona en vez de a una IA — mismo patrón que ya usa el config.yml de este repo para "Questions and ideas" (opentechevents-spec/discussions).

Qué hay que decidir (no lo decido aquí)

  • ¿El prompt se serializa en la propia URL (como ask-ai.js) o hace falta otro mecanismo, dado que aquí puede ser más largo (documento + lista de errores)? Habría que vigilar los límites de longitud de query string de cada asistente.
  • ¿Se reutiliza literalmente ask-ai.js (cargarlo también en el validador) o se bifurca una variante específica para errores de validación?
  • El validador tiene una CSP estricta (script-src 'self', sin unsafe-inline/unsafe-eval) — cualquier solución tiene que respetarla, igual que ya hace ask-ai.js (JS propio, sin scripts remotos).
  • Coherencia con la privacidad actual del validador: en los modos "pegar JSON"/"subir fichero" nada sale de la pestaña salvo acción explícita del usuario. El botón de IA debe seguir esa misma regla — nada se manda hasta que el usuario elige un asistente y confirma.

Qué NO es esta issue

  • No es un backend propio de IA — sigue el mismo modelo sin servidor que ask-ai.js: el usuario usa su propia cuenta del asistente que prefiera.
  • No sustituye al soporte humano — el enlace a Discussions es la alternativa explícita para quien lo prefiera.
  • No toca spec/v0.3/.

Dónde vive esto

La implementación real es del validador en ote-tools (apps/validator), usando docs/ask-ai.js de este repo como precedente de patrón/UX. Documento la idea aquí, junto a #38, para que quien la recoja no tenga que investigar el precedente desde cero.

Related: #38

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions