idea_world_labDEV JOURNAL
lunes, 13 de julio de 2026

Estructura de aplicación del Prompt Qwen Validation Debugger

Fecha de creación: 13 de julio de 2026

Propósito del documento

Este documento resume los prompts realmente aplicados en tools/qwen-validation-debugger.

Sin añadir interpretaciones, solo se registra en qué función del código se crea cada prompt, a qué API se envía y qué formato de respuesta se espera.

Archivos objetivo

Archivo Contenido descrito en este documento
tools/qwen-validation-debugger/core.js Función que genera el prompt para la solicitud real a Qwen
tools/qwen-validation-debugger/server.js Enrutamiento que recibe el prompt y lo envía a la API compatible con Qwen/OpenAI
tools/qwen-validation-debugger/public/app.js Qué botón/acción llama a qué API y prompt

Estructura común de la llamada a la API

callQwen() en server.js envía todos los prompts de la misma manera.

{
  model,
  messages: [{ role: 'user', content: prompt }],
  temperature: 0
}
Valor Fuente
endpoint Valor de entrada del navegador qwenEndpoint
model Valor de entrada del navegador qwenModel
apiKey Valor de entrada del navegador qwenApiKey
prompt Valor devuelto por la función de generación de prompts en core.js

La clave API se envía al servidor en el cuerpo de la solicitud desde el navegador, pero no se almacena en localStorage.

Ruta de llamada del prompt

Acción de pantalla Función del navegador API del servidor Función de prompt en core.js Función de procesamiento de respuesta
Etiquetado de ítem classifyItem() POST /api/classify-item buildClassificationPrompt() extractJsonObject(), normalizeClassification()
Generación de código generateCode() POST /api/generate-code buildCodePrompt() extractJsonObject(), normalizeGeneratedCode()
Generación de JSONL generateJsonl() POST /api/generate-jsonl buildJsonlPrompt() extractJsonObject()
Verificación de JSONL verifyJsonl() POST /api/verify-jsonl buildVerificationPrompt() normalizeYesNo()
Vista previa del prompt JSONL renderSlot() No hay llamada a API buildJsonlPromptPreview() Solo para mostrar en pantalla

Definición de tablas

Las definiciones de tablas usadas en los prompts se encuentran en TABLE_DEFINITIONS dentro de core.js.

docs_chunks

Campo Valor
label docs_chunks
purpose Verifica si la evidencia descriptiva de la documentación oficial coincide directamente con los fragmentos de código.
directFields content, code_blocks, api_symbols, heading, symbol

esquema:

chunk_id
doc_version
source_url
source_file
source_sha256
doc_type
symbol
section_path
heading
content
code_blocks
language_tags
godot_version_tags
api_symbols
token_count
metadata

api_mapping

Elemento Valor
etiqueta api_mapping
propósito Verificar si la evidencia de cómo cambian los nombres, clases, funciones y símbolos de Godot 3 a Godot 4 coincide directamente con los fragmentos de código.
camposDirectos source_api, target_api, match_terms, notes

esquema:

mapping_id
source_api
target_api
change_type
godot_from
godot_to
confidence
evidence_chunk_ids
match_terms
notes
negative_patterns

label_prototypes

Ítem Valor
label label_prototypes
purpose Verifique si el ejemplo, que no solo cambia el nombre sino que también altera por completo el modo de uso de la función, la composición de los argumentos y el patrón de llamada, coincide directamente con el fragmento de código.
directFields input_pattern, expected_finding, recommended_action, validator_rules.required_when_seen_in_code, validator_rules.before_code, validator_rules.after_code

schema:

prototype_id
label
task_type
input_pattern
expected_finding
recommended_action
evidence_mapping_ids
evidence_chunk_ids
severity
validator_rules

Definición de caso de ranura

getSlotCase({ tableName, versionKey, expectation }) determina el goal, generationRule y expectedAnswer que entrarán en el prompt de generación de JSONL.

condición etiqueta expectedAnswer objetivo reglaDeGeneración
docs_chunks + positive JSONL de evidencia explicativa Crear un JSONL tipo documentación oficial que explique directamente el CÓDIGO_FUENTE. Al menos uno de los campos descripción/código/símbolo del JSONL debe coincidir exactamente con la cadena real/API llamada dentro del CÓDIGO_FUENTE.
docs_chunks + negative JSONL de explicación de otro código no Puede parecer un candidato de búsqueda porque comparte alguna API/tema con el CÓDIGO_FUENTE, pero en realidad debe ser un JSONL tipo documentación oficial que explique un comportamiento de código diferente. El JSONL puede compartir alguna API o tema como candidato de búsqueda, pero no debe describir directamente el propósito central, el objeto objetivo o la acción/resultados finales del CÓDIGO_FUENTE.
expectation === negative + versionKey === migration JSONL de conversión irrelevante no Crear un JSONL de conversión/patrón 3→4 irrelevante que no deba aplicarse ni al código Godot 3 ni al código Godot 4. El JSONL debe estar escrito en formato de conversión 3→4, pero no debe abordar directamente la evidencia previa del CÓDIGO_FUENTE_GODOT3 ni la evidencia posterior del CÓDIGO_OBJETIVO_GODOT4.
expectation === negative + fuera de migración JSONL de conversión irrelevante no Crear un JSONL de conversión/patrón irrelevante que no deba aplicarse al CÓDIGO_FUENTE. El JSONL debe tratar APIs, nodos o patrones de llamada diferentes y no debe servir como evidencia de conversión para el CÓDIGO_FUENTE.
versionKey === migration + positive JSONL de evidencia de conversión 3→4 Godot 3 sí / Godot 4 no Crear un JSONL de evidencia de conversión 3→4 que transforme el patrón previo del código Godot 3 al formato posterior del código Godot 4. Los campos source_api, source_pattern, match_terms, input_pattern, before_code, required_when_seen_in_code del JSONL deben coincidir exactamente con la cadena real/API llamada del CÓDIGO_FUENTE_GODOT3, y target_api, after_code, recommended_action deben describir la forma posterior del CÓDIGO_OBJETIVO_GODOT4.
versionKey === godot3 + positive JSONL de necesidad de conversión Crear un JSONL que muestre que las APIs o patrones de llamada del lado fuente de Godot 3 dentro del CÓDIGO_FUENTE deben convertirse a Godot 4. Al menos uno de los campos source_api, source_pattern, match_terms, input_pattern, before_code, required_when_seen_in_code del JSONL debe coincidir exactamente con la cadena real de conversión fuente o llamada API dentro del CÓDIGO_FUENTE.
versionKey === godot4 + positive JSONL ya aplicado no Crear un JSONL que indique que el CÓDIGO_FUENTE ya está en la forma objetivo de Godot 4 y no debe considerarse evidencia adicional de migración. El JSONL debe contener direcciones como target_api, after_code, signature_stable, no_change, common syntax que indiquen que ya está aplicado o que no se necesita conversión, y no debe hacer que el CÓDIGO_FUENTE se considere fuente de conversión.
demás positive JSONL común/no necesario no Crear un JSONL que indique que el CÓDIGO_FUENTE es sintaxis común y no debe considerarse evidencia de migración para api_mapping o label_prototypes. El JSONL debe contener direcciones como target_api, after_code, signature_stable, no_change, common syntax que indiquen que ya está aplicado o que no se necesita conversión, y no debe hacer que el CÓDIGO_FUENTE se considere fuente de conversión.

1. Prompt de etiquetado

Posición de la llamada

elemento valor
función del navegador classifyItem(itemId)
API del servidor POST /api/classify-item
función central buildClassificationPrompt({ itemTitle })
valor de entrada itemTitle
JSON de respuesta syntax_scope, label, reason, godot3_focus, godot4_focus

Texto original del prompt

Eres un clasificador de ítems de prueba de código de Godot.

A continuación, determina si el TEST_ITEM puede probarse con la misma sintaxis/código chunk tanto en Godot 3 como en Godot 4, o si es necesario crear código separado para Godot 3 y Godot 4.

Criterios de decisión:
- Si es un elemento que se puede describir de forma natural en ambos Godot 3/4 usando la misma sintaxis de GDScript y las mismas llamadas a la API, se clasifica como **"common"**.
- Si el nombre de la clase, el nombre de la función, la firma, el nombre del nodo, la forma de llamada u otros aspectos cambian de manera significativa entre versiones, se clasifica como **"separate"**.
- En caso de duda, se elige **"separate"**. Es preferible crear más pruebas seguras.

La respuesta debe ser un único objeto JSON con el siguiente formato:

{
  "syntax_scope": "common o separate",
  "label": "etiqueta corta en coreano",
  "reason": "una o dos frases explicando la decisión",
  "godot3_focus": "puntos a observar al generar código para Godot 3",
  "godot4_focus": "puntos a observar al generar código para Godot 4"
}

TEST_ITEM:
${itemTitle}

Normalización de la respuesta

normalizeClassification(parsed) guarda lo siguiente.

Campo interno Fuente
syntaxScope parsed.syntax_scope
label parsed.label
reason parsed.reason
godot3Focus parsed.godot3_focus
godot4Focus parsed.godot4_focus

syntax_scope solo acepta common o separate.

2. Prompt de generación de código

Lugar de llamada

Ítem Valor
Función del navegador generateCode(itemId, versionKey)
API del servidor POST /api/generate-code
Función central buildCodePrompt({ itemTitle, syntaxScope, targetVersion })
Valor de entrada itemTitle, syntaxScope, targetVersion
JSON de respuesta godot_version, syntax_scope, source_code, notes

Rama versionInstruction

targetVersion versionInstruction
common Escribe un fragmento de código GDScript que sea común y visible tanto en Godot 3 como en Godot 4.
godot3 Escribe un fragmento de código GDScript que muestre diferencias exclusivas de Godot 3.x.
godot4 Escribe un fragmento de código GDScript que muestre diferencias exclusivas de Godot 4.x.

Texto original del prompt

Eres un generador de fragmentos de código para pruebas de Godot.

${versionInstruction}

Requisitos:
- Escribe en unidades de función o bloques de código pequeños, no en todo el proyecto.
- Escribe solo el código directamente relacionado con el ítem de prueba.
- El código debe mostrar la API/sintaxis necesaria para determinar la versión.
- La respuesta debe contener únicamente un objeto JSON.
- No uses fences de código Markdown.

Formato JSON:
{
  "godot_version": "${targetVersion}",
  "syntax_scope": "${syntaxScope}",
  "source_code": "GDScript código chunk",
  "notes": "Puntos clave que deben verificarse en el código"
}

TEST_ITEM:
${itemTitle}

Normalización de la respuesta

normalizeGeneratedCode(parsed) guarda lo siguiente.

Campo interno Fuente
godotVersion parsed.godot_version
syntaxScope parsed.syntax_scope
sourceCode parsed.source_code
notes parsed.notes

Si source_code está vacío, se maneja como error.

3. Prompt de generación de JSONL

Lugar de llamada

Ítem Valor
Función del navegador generateJsonl(itemId, slotId)
API del servidor POST /api/generate-jsonl
Función core buildJsonlPrompt({ itemTitle, tableName, expectation, versionKey, versionLabel, sourceCode, targetCode })
Valores de entrada itemTitle, tableName, expectation, versionKey, versionLabel, sourceCode, targetCode
Respuesta Objeto JSON

Selección de sourceCode / targetCode

app.js → getJsonlGenerationCodes(detail, slot) determina el código que se inserta en el prompt de generación de JSONL.

slot.versionKey Entrada SOURCE
migration GODOT3_SOURCE_CODE con detail.codes.godot3.sourceCode, GODOT4_TARGET_CODE con detail.codes.godot4.sourceCode
common SOURCE_CODE con detail.codes.common.sourceCode
godot3 SOURCE_CODE con detail.codes.godot3.sourceCode
godot4 SOURCE_CODE con detail.codes.godot4.sourceCode

Texto original del prompt

Eres un generador de JSONL para pruebas de Godot RAG.

Objetivo:
${slotCase.goal}

Tabla objetivo:
${table.label}

Propósito de la tabla:
${table.purpose}

Lista de campos:
${table.schema.map((field) => `- ${field}`).join('\n')}

Campos importantes para la determinación de coincidencia directa:
${table.directFields.map((field) => `- ${field}`).join('\n')}

Reglas de generación:
- La respuesta debe contener únicamente un objeto JSON.
- No utilices bloques de código Markdown.
- ${slotCase.generationRule}
- docs_chunks es una coincidencia de evidencia descriptiva, y api_mapping y label_prototypes son coincidencias de evidencia de origen de migración.
- El código ya aplicado en forma de objetivo Godot 4 o la sintaxis común no constituye una evidencia de "necesidad de conversión" en api_mapping/label_prototypes.
- negative_patterns y reject_when_seen_in_code son condiciones de rechazo. Las cadenas en estos campos deben interpretarse como evidencia de "no" y no como evidencia de "sí".
- No te limites a palabras clave amplias; haz que la relevancia se distinga según las cadenas reales o llamadas a API.
- No añadas campos arbitrariamente que no correspondan al propósito de la tabla.
- Los valores de source_url, source_file y *_id deben generarse de forma natural para pruebas.

TEST_ITEM:
${itemTitle}

CODE_VERSION:
${versionLabel}

${isMigrationPair ? `GODOT3_SOURCE_CODE:
${sourceCode}

GODOT4_TARGET_CODE:
${targetCode}` : `SOURCE_CODE:
${sourceCode}`}

Valores incluidos en la respuesta del servidor

POST /api/generate-jsonl la respuesta incluye lo siguiente.

Campo de respuesta Contenido
prompt Prompt enviado al modelo real
rawResponse Respuesta original del modelo
jsonl Objeto analizado con extractJsonObject()
jsonlText Resultado de JSON.stringify(parsed)
expectedAnswer Resultado de expectedAnswerForSlot()

4. Prompt de verificación de JSONL

Lugar de invocación

Ítem Valor
Función del navegador verifyJsonl(itemId, slotId, targetVersionKey)
API del servidor POST /api/verify-jsonl
Función core buildVerificationPrompt({ tableName, sourceVersionKey, targetVersionKey, sourceCode, jsonlText })
Valores de entrada tableName, sourceVersionKey, targetVersionKey, sourceCode, jsonlText
Salida del modelo o No

Rama de question

tableName question
docs_chunks Determine si el JSONL a continuación es una evidencia tipo documentación oficial que describe directamente el SOURCE_CODE.
api_mapping, label_prototypes Determine si, basándose en el JSONL a continuación, se debe aplicar una migración al SOURCE_CODE actual.

Rama de firstRule

tableName firstRule
docs_chunks En docs_chunks, solo es “Sí” cuando el JSONL describe directamente la cadena real del SOURCE_CODE, la llamada a la API, el propósito del código, el objetivo de aplicación y el resultado.
api_mapping, label_prototypes En api_mapping y label_prototypes, solo es “Sí” cuando el JSONL describe el patrón previo a los cambios que ahora deben aplicarse al SOURCE_CODE.

reglas de tabla docs_chunks

- En **docs_chunks**, “sí” solo se permite cuando el JSONL describe directamente la acción central del **SOURCE_CODE**.  
- La acción central no es solo el nombre simple de la API, sino que incluye lo que el código calcula, a qué objetivo se aplica y, finalmente, qué estado/resultado produce.  
- Incluso si aparece la misma API o el mismo método, si el JSONL describe un propósito, un objetivo o un resultado diferentes, solo constituye una pista de búsqueda y no una evidencia directa, por lo que la respuesta es “no”.  
- Si el JSONL solo ofrece una descripción general de la API sin detallar los recursos específicos, ramificaciones, bucles o cambios de estado del **SOURCE_CODE**, no es una evidencia directa y la respuesta es “no”.  
- Si el **SOURCE_CODE** muestra una ejecución repetida, una ejecución única, una transición de estado o un reemplazo de recursos y el flujo descrito en el JSONL difiere, la respuesta es “no”.  
- Las funcionalidades que aparecen juntas en el mismo archivo o flujo de juego pueden ser pistas de búsqueda mutuas; sin embargo, solo cuando el objetivo final, el objetivo y el resultado del **SOURCE_CODE** coinciden con los descritos por el JSONL la respuesta es “sí”.  
- Incluso si en **api_symbols** o en los encabezados aparecen nombres de llamadas del **SOURCE_CODE**, si el contenido o los bloques de código describen un flujo de trabajo diferente, no constituye una evidencia directa.  
- Pistas periféricas que se repiten en varios códigos, como funciones de ciclo de vida, tipos comunes o nombres de propiedades genéricas, no son evidencia directa por sí solas.  
- Si los bloques de código del JSONL explican un ejemplo distinto al del **SOURCE_CODE**, aunque algunas APIs coincidan, la respuesta es “no”.  
- No se infiere que APIs de significado similar o casos de uso parecidos sean equivalentes según tu conocimiento; el JSONL debe mostrar explícitamente el propósito, objetivo y resultado del **SOURCE_CODE** actual.  
- Cuando **JSONL_GENERATED_FROM_CODE_VERSION** y **VERIFY_TARGET_CODE_VERSION** difieren, primero verifica si el JSONL describe el comportamiento del código de la versión objetivo de verificación.  
- Aunque las versiones difieran, si se describen explícitamente APIs/comportamientos comunes, podría ser “sí”; sin embargo, si los bloques de código o **api_symbols** del JSONL no coinciden con la sintaxis o llamadas reales del **SOURCE_CODE** actual, incluso si parecen la misma funcionalidad, la respuesta es “no”.

api_mapping / label_prototypes tableRules

- Las preguntas de api_mapping y label_prototypes no son “¿JSONL y el código están de alguna manera relacionados?” sino “¿Debo cambiar el SOURCE_CODE actual basándome en este JSONL?”.
- Primero determina a cuál de las siguientes categorías pertenece el SOURCE_CODE actual según el JSONL: código antes del cambio, código ya cambiado, código irrelevante o código que no necesita transformación.
- “Sí” solo se permite cuando el SOURCE_CODE actual es código antes del cambio y la transformación que indica el JSONL debe aplicarse ahora.
- El JSONL de integración 3→4 se basa en comparar el código de Godot 3 antes del cambio con el código de Godot 4 después del cambio. En la verificación, separa si el SOURCE_CODE actual corresponde al código antes o después del cambio.
- Si el SOURCE_CODE actual ya está en la forma objetivo de Godot 4, aunque el JSONL parezca relacionado con la explicación de la migración, se considera “ya aplicado”, por lo que la respuesta es “No”.
- La evaluación de “necesita transformación” en label_prototypes es “Sí” solo cuando el SOURCE_CODE actual contiene realmente el patrón de uso, la composición de argumentos y el patrón de llamada anteriores al cambio.
- Un JSONL de transformación irrelevante es “No” incluso si el objetivo de verificación es código de Godot 3, siempre que la transformación no deba aplicarse al SOURCE_CODE actual.
- Los contenidos bajo source/before/required se interpretan como evidencia del código antes del cambio; los bajo target/after/recommended como la forma después del cambio; y los bajo negative/reject como condiciones bajo las cuales no debe aplicarse la transformación al código actual.
- Incluso si el nombre de la función coincide, debe quedar presente en el SOURCE_CODE actual el patrón anterior al cambio que describe el JSONL (por ejemplo, argumentos de llamada, manejo de valores de retorno, nodo heredado, estructura de código circundante) para que la respuesta sea “Sí”.
- source_api y target_api pueden compartir el mismo nombre o contener términos de match_terms tanto para source como para target. En ese caso, solo coincidir el nombre de la función o un término amplio de match_terms no basta para responder “Sí”.
- Funciones que aparecen en el mismo archivo o flujo de juego pueden ser candidatos de búsqueda mutua. Sin embargo, si el patrón anterior al cambio no está presente directamente en el SOURCE_CODE actual, la respuesta es “No”.
- Si JSONL_GENERATED_FROM_CODE_VERSION y VERIFY_TARGET_CODE_VERSION difieren, primero determina si el SOURCE_CODE actual corresponde al código antes del cambio o ya al código después del cambio descrito en el JSONL.
- Cuando JSONL_GENERATED_FROM_CODE_VERSION es una ranura de versión única que no corresponde a una migración, la respuesta es “Sí” solo si el código bajo verificación contiene directamente un patrón source/before/required.
- Si el SOURCE_CODE actual coincide o es más reciente que la forma target/after/recommended del JSONL, se considera código ya aplicado y la respuesta es “No”.
- Si la versión bajo verificación es Godot 4 o common y el SOURCE_CODE ya está en forma target/after, aunque el JSONL sea conocimiento de migración correcto, la respuesta sigue siendo “No”.
- Cuando change_type es signature_stable, no_change, common u otro que indique que no se necesita transformación, la respuesta es “No”.
- Incluso si un JSONL de migración se adjunta a código de Godot 4 o a código de sintaxis común, si no se requiere una transformación adicional, la respuesta es “No”.

reglasDeDecisión

- Antes del juicio, capture la operación principal de SOURCE_CODE en una frase, capture también la razón principal que describe JSONL en una frase y compárelas.  
- Considere como evidencia directa solo cuando el objeto objetivo, el propósito de la llamada, el flujo de entrada/parámetros y el resultado final estén en la misma dirección.  
- Incluso si parece un candidato de búsqueda similar, si no explica el SOURCE_CODE actual ni sirve como base para aplicarlo al SOURCE_CODE actual, es "No".

Texto original del prompt

Eres un evaluador de coincidencia de evidencia JSONL.

${question}

Tabla:
${table.label}

Propósito de la tabla:
${table.purpose}

Criterios de evaluación:
- ${firstRule}
- Campos JSONL a revisar: ${table.directFields.join(', ')}
- ${tableRules.join('\n- ')}
- ${decisionRules.join('\n- ')}
- Simplemente coincidir palabras amplias como Godot, Godot3, Godot4, migration, 2D, physics no implica relevancia.
- El contenido mencionado negativamente en el JSONL, como "does not describe", "not related", "unrelated", "does not apply", no se reconoce como evidencia relevante.
- Si el JSONL trata sobre otra API, otro nodo o otro sistema, la respuesta es "no".
- No uses el conocimiento de Godot que poseas; utiliza únicamente la evidencia textual presente en el JSONL.
- La respuesta debe ser únicamente "sí" o "no".

VERSIÓN_DEL_CÓDIGO_GENERADO_DESDE_JSONL:
${sourceVersionKey}

VERSIÓN_DEL_CÓDIGO_OBJETIVO_DE_VERIFICACIÓN:
${targetVersionKey}

CÓDIGO_FUENTE:
${sourceCode}

JSONL:
${jsonlText}

Normalización de respuestas

normalizeYesNo(text) solo reconoce los siguientes valores como válidos.

Forma de entrada Valor interno
yes
아니오 아니오
no 아니오
code fence valor anterior dentro valor correspondiente
Valor superior de la primera fila Valor correspondiente
Otros Cadena vacía

5. Vista previa del prompt JSONL

buildJsonlPromptPreview() en app.js no es una función que se envía al modelo, sino una vista previa mostrada en la pantalla.

Ubicación de la llamada

Ítem Valor
Función del navegador renderSlot()
Llamada a la API Ninguno
Propósito de uso dentro del slot JSONL prompt de generación mostrar área de detalles

Texto original de la vista previa

Eres un generador de JSONL para pruebas de Godot RAG.

Objetivo: ${slotCase.goal}
Tabla objetivo: ${table.label}
Uso de la tabla: ${table.purpose}
Campos de coincidencia directa: ${table.directFields.join(', ')}

TEST_ITEM: ${itemTitle}
CODE_VERSION: ${versionLabel}

${isMigrationPair ? `GODOT3_SOURCE_CODE:
${sourceCode || '(Código generado automáticamente después de crear el código de Godot 3)'}

GODOT4_TARGET_CODE:
${targetCode || '(Código generado automáticamente después de crear el código de Godot 4)'}` : `SOURCE_CODE:
${sourceCode || '(Código generado automáticamente después de crear el código)'}`}

regla de creación de slot

app.js de getSlotSpecs(detail) crea slots según el resultado de la clasificación.

common

Si la clasificación es common, se crean los siguientes slots.

versionKey tableName expectation
common docs_chunks positive
common docs_chunks negative
common api_mapping positive
common api_mapping negative
common label_prototypes positive
common label_prototypes negative

separate

Si la clasificación es separate, se crean los siguientes slots.

versionKey tableName expectation
godot3 docs_chunks positive
godot3 docs_chunks negative
godot4 docs_chunks positive
godot4 docs_chunks negative
migration api_mapping positive
migration api_mapping negative
migration label_prototypes positive
migration label_prototypes negative

cálculo de expectedAnswer

expectedAnswer de la respuesta de generación JSONL

expectedAnswerForSlot({ tableName, versionKey, expectation }) devuelve el expectedAnswer de getSlotCase().

expectedAnswer para comparación de resultados de verificación

Las reglas de expectedAnswerForVerification({ tableName, sourceVersionKey, targetVersionKey, expectation }) son las siguientes.

condición expectedAnswer
expectation === negative No
tableName === docs_chunks y sourceVersionKey === targetVersionKey
tableName === docs_chunks y sourceVersionKey !== targetVersionKey No
tableName es api_mapping o label_prototypes y sourceVersionKey === migration, targetVersionKey === godot3
tableName es api_mapping o label_prototypes y sourceVersionKey === migration, targetVersionKey !== godot3 No
tableName es api_mapping o label_prototypes y sourceVersionKey === godot3, targetVersionKey === godot3
otro caso No

tabla de registro de cambios de prompts

Cuando se modifique el prompt más adelante, se añadirá una fila a la tabla siguiente.

fecha función texto/regla antes del cambio texto/regla después del cambio resultado de verificación
2026-07-13 total estructura del prompt basada en el código actual documentación de referencia registro completado
buildClassificationPrompt()
buildCodePrompt()
buildJsonlPrompt()
buildVerificationPrompt()