Stored Transformation
Stored transformation detail
Inspect version history, edit inputs, and save a new version without overwriting prior records.
{ "name": [{"lang":"es", "value": .name.value}], "hasAdditionalType": .category.value, "hasDescription": [ {object: {keyword: [{lang:"es", value: .extraInfo.value}], longDescription: [{lang:"es", value: .description.value}], shortDescription: [{lang:"es", value: .shortDescription.value}]}} ] }
{
"hasAdditionalType": "TrailRoute",
"hasDescription": [
{
"object": {
"keyword": [
{
"lang": "es",
"value": "Encinar"
}
],
"longDescription": [
{
"lang": "es",
"value": "Comenzamos"
}
],
"shortDescription": [
{
"lang": "es",
"value": "Dificultad: baja"
}
]
}
}
],
"name": [
{
"lang": "es",
"value": "Majalacabra"
}
]
}
Trace Details
{
"attempts": [
{
"attempt_number": 1,
"compile_ok": true,
"error_message": null,
"execution_ok": true,
"jq_expression": "[{\"lang\":\"es\", \"value\": .name.value}]",
"schema_valid": true,
"stage": "field",
"target_field": "name",
"used_hints": true
},
{
"attempt_number": 1,
"compile_ok": true,
"error_message": null,
"execution_ok": true,
"jq_expression": ".category.value",
"schema_valid": true,
"stage": "field",
"target_field": "hasAdditionalType",
"used_hints": true
},
{
"attempt_number": 1,
"compile_ok": true,
"error_message": null,
"execution_ok": true,
"jq_expression": "[ {object: {keyword: [{lang:\"es\", value: .extraInfo.value}], longDescription: [{lang:\"es\", value: .description.value}], shortDescription: [{lang:\"es\", value: .shortDescription.value}]}} ]",
"schema_valid": true,
"stage": "field",
"target_field": "hasDescription",
"used_hints": true
},
{
"attempt_number": 1,
"compile_ok": true,
"error_message": null,
"execution_ok": true,
"jq_expression": "{ \"name\": [{\"lang\":\"es\", \"value\": .name.value}], \"hasAdditionalType\": .category.value, \"hasDescription\": [ {object: {keyword: [{lang:\"es\", value: .extraInfo.value}], longDescription: [{lang:\"es\", value: .description.value}], shortDescription: [{lang:\"es\", value: .shortDescription.value}]}} ] }",
"schema_valid": true,
"stage": "global",
"target_field": null,
"used_hints": true
}
],
"events": [
{
"payload": {
"field_name": "name",
"hint_hash": "a152b3dd84ba3596cac717147755874e66ac528d790dff1022927bded1679376",
"match_result": {
"candidate_source_path": "name.value",
"confidence": 0.95,
"identified": true,
"reasoning": "Source field name.value matches target name[0].value per hints."
},
"prompt_payload": {
"field_name": "name",
"field_schema": {
"items": {
"properties": {
"lang": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"value",
"lang"
],
"type": "object"
},
"type": "array"
},
"hints": "Use name.value as name[0].value, hardcode name[0].lang as \"es\"\r\nUse category.value as hasAdditionalType\r\nUse shortDescription.value as hasDescription[0].object.shortDescription[0].value, hardcode lang as \"es\"\r\nUse description.value as hasDescription[0].object.longDescription[0].value, hardcode lang as \"es\"\r\nUse extraInfo.value as hasDescription[0].object.keyword[0].value, hardcode lang as \"es\"\r\nHardcode hasLocation[0].object: autonomousCommunity \"Comunidad de Madrid\", country \"Espa\u00f1a\", municipality \"Las Rozas de Madrid\", postalCode \"28290\", province \"Madrid\"",
"input_summary": {
"path_count": 42,
"paths": [
"alternateName",
"alternateName.metadata",
"alternateName.type",
"alternateName.value",
"category",
"category.metadata",
"category.type",
"category.value",
"dataProvider",
"dataProvider.metadata",
"dataProvider.type",
"dataProvider.value",
"description",
"description.metadata",
"description.type",
"description.value",
"extraInfo",
"extraInfo.metadata",
"extraInfo.type",
"extraInfo.value",
"id",
"location",
"location.metadata",
"location.type",
"location.value",
"location.value.coordinates",
"location.value.coordinates[0]",
"location.value.coordinates[1]",
"location.value.type",
"name",
"name.metadata",
"name.type",
"name.value",
"shortDescription",
"shortDescription.metadata",
"shortDescription.type",
"shortDescription.value",
"source",
"source.metadata",
"source.type",
"source.value",
"type"
],
"root_type": "dict"
},
"output_schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"hasAdditionalType": {
"type": "string"
},
"hasDescription": {
"items": {
"properties": {
"object": {
"properties": {
"keyword": {
"items": {
"properties": {
"lang": {
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"longDescription": {
"items": {
"properties": {
"lang": {
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"shortDescription": {
"items": {
"properties": {
"lang": {
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"hasLocation": {
"items": {
"properties": {
"object": {
"properties": {
"autonomousCommunity": {
"type": "string"
},
"country": {
"type": "string"
},
"municipality": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"province": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"name": {
"items": {
"properties": {
"lang": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"value",
"lang"
],
"type": "object"
},
"type": "array"
}
},
"title": "Trail GraphQL Input",
"type": "object"
},
"required": false,
"task": "match"
},
"response": "{\"identified\":true,\"candidate_source_path\":\"name.value\",\"reasoning\":\"Source field name.value matches target name[0].value per hints.\",\"confidence\":0.95}",
"system_prompt": "You perform semantic field matching between a target schema field and source JSON paths. Return exactly one flat JSON object and nothing else. Do not wrap the result in markdown. Do not nest the result under keys like match, result, mapping, output, or data. Use exactly these keys: \"identified\", \"candidate_source_path\", \"reasoning\", \"confidence\". \"identified\" must be a JSON boolean. \"candidate_source_path\" must be a string path or null. \"reasoning\" must be a short string. \"confidence\" must be a JSON number between 0.0 and 1.0. If no reliable match exists, return identified=false, candidate_source_path=null, a brief reasoning string, and confidence=0.0. Example valid output: {\"identified\":true,\"candidate_source_path\":\"datetime\",\"reasoning\":\"The source field semantically matches the target date.\",\"confidence\":0.92}",
"used_hints": true
},
"stage": "semantic_match",
"timestamp": "2026-05-21T10:00:28.611342+00:00"
},
{
"payload": {
"field_name": "hasAdditionalType",
"hint_hash": "a152b3dd84ba3596cac717147755874e66ac528d790dff1022927bded1679376",
"match_result": {
"candidate_source_path": "category.value",
"confidence": 0.95,
"identified": true,
"reasoning": "category.value semantically matches hasAdditionalType"
},
"prompt_payload": {
"field_name": "hasAdditionalType",
"field_schema": {
"type": "string"
},
"hints": "Use name.value as name[0].value, hardcode name[0].lang as \"es\"\r\nUse category.value as hasAdditionalType\r\nUse shortDescription.value as hasDescription[0].object.shortDescription[0].value, hardcode lang as \"es\"\r\nUse description.value as hasDescription[0].object.longDescription[0].value, hardcode lang as \"es\"\r\nUse extraInfo.value as hasDescription[0].object.keyword[0].value, hardcode lang as \"es\"\r\nHardcode hasLocation[0].object: autonomousCommunity \"Comunidad de Madrid\", country \"Espa\u00f1a\", municipality \"Las Rozas de Madrid\", postalCode \"28290\", province \"Madrid\"",
"input_summary": {
"path_count": 42,
"paths": [
"alternateName",
"alternateName.metadata",
"alternateName.type",
"alternateName.value",
"category",
"category.metadata",
"category.type",
"category.value",
"dataProvider",
"dataProvider.metadata",
"dataProvider.type",
"dataProvider.value",
"description",
"description.metadata",
"description.type",
"description.value",
"extraInfo",
"extraInfo.metadata",
"extraInfo.type",
"extraInfo.value",
"id",
"location",
"location.metadata",
"location.type",
"location.value",
"location.value.coordinates",
"location.value.coordinates[0]",
"location.value.coordinates[1]",
"location.value.type",
"name",
"name.metadata",
"name.type",
"name.value",
"shortDescription",
"shortDescription.metadata",
"shortDescription.type",
"shortDescription.value",
"source",
"source.metadata",
"source.type",
"source.value",
"type"
],
"root_type": "dict"
},
"output_schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"hasAdditionalType": {
"type": "string"
},
"hasDescription": {
"items": {
"properties": {
"object": {
"properties": {
"keyword": {
"items": {
"properties": {
"lang": {
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"longDescription": {
"items": {
"properties": {
"lang": {
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"shortDescription": {
"items": {
"properties": {
"lang": {
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"hasLocation": {
"items": {
"properties": {
"object": {
"properties": {
"autonomousCommunity": {
"type": "string"
},
"country": {
"type": "string"
},
"municipality": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"province": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"name": {
"items": {
"properties": {
"lang": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"value",
"lang"
],
"type": "object"
},
"type": "array"
}
},
"title": "Trail GraphQL Input",
"type": "object"
},
"required": false,
"task": "match"
},
"response": "{\"identified\":true,\"candidate_source_path\":\"category.value\",\"reasoning\":\"category.value semantically matches hasAdditionalType\",\"confidence\":0.95}",
"system_prompt": "You perform semantic field matching between a target schema field and source JSON paths. Return exactly one flat JSON object and nothing else. Do not wrap the result in markdown. Do not nest the result under keys like match, result, mapping, output, or data. Use exactly these keys: \"identified\", \"candidate_source_path\", \"reasoning\", \"confidence\". \"identified\" must be a JSON boolean. \"candidate_source_path\" must be a string path or null. \"reasoning\" must be a short string. \"confidence\" must be a JSON number between 0.0 and 1.0. If no reliable match exists, return identified=false, candidate_source_path=null, a brief reasoning string, and confidence=0.0. Example valid output: {\"identified\":true,\"candidate_source_path\":\"datetime\",\"reasoning\":\"The source field semantically matches the target date.\",\"confidence\":0.92}",
"used_hints": true
},
"stage": "semantic_match",
"timestamp": "2026-05-21T10:00:30.999735+00:00"
},
{
"payload": {
"field_name": "hasDescription",
"hint_hash": "a152b3dd84ba3596cac717147755874e66ac528d790dff1022927bded1679376",
"match_result": {
"candidate_source_path": "description",
"confidence": 0.95,
"identified": true,
"reasoning": "The source \u0027description\u0027 field semantically matches the target \u0027hasDescription\u0027 as it provides the main descriptive text."
},
"prompt_payload": {
"field_name": "hasDescription",
"field_schema": {
"items": {
"properties": {
"object": {
"properties": {
"keyword": {
"items": {
"properties": {
"lang": {
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"longDescription": {
"items": {
"properties": {
"lang": {
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"shortDescription": {
"items": {
"properties": {
"lang": {
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"hints": "Use name.value as name[0].value, hardcode name[0].lang as \"es\"\r\nUse category.value as hasAdditionalType\r\nUse shortDescription.value as hasDescription[0].object.shortDescription[0].value, hardcode lang as \"es\"\r\nUse description.value as hasDescription[0].object.longDescription[0].value, hardcode lang as \"es\"\r\nUse extraInfo.value as hasDescription[0].object.keyword[0].value, hardcode lang as \"es\"\r\nHardcode hasLocation[0].object: autonomousCommunity \"Comunidad de Madrid\", country \"Espa\u00f1a\", municipality \"Las Rozas de Madrid\", postalCode \"28290\", province \"Madrid\"",
"input_summary": {
"path_count": 42,
"paths": [
"alternateName",
"alternateName.metadata",
"alternateName.type",
"alternateName.value",
"category",
"category.metadata",
"category.type",
"category.value",
"dataProvider",
"dataProvider.metadata",
"dataProvider.type",
"dataProvider.value",
"description",
"description.metadata",
"description.type",
"description.value",
"extraInfo",
"extraInfo.metadata",
"extraInfo.type",
"extraInfo.value",
"id",
"location",
"location.metadata",
"location.type",
"location.value",
"location.value.coordinates",
"location.value.coordinates[0]",
"location.value.coordinates[1]",
"location.value.type",
"name",
"name.metadata",
"name.type",
"name.value",
"shortDescription",
"shortDescription.metadata",
"shortDescription.type",
"shortDescription.value",
"source",
"source.metadata",
"source.type",
"source.value",
"type"
],
"root_type": "dict"
},
"output_schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"hasAdditionalType": {
"type": "string"
},
"hasDescription": {
"items": {
"properties": {
"object": {
"properties": {
"keyword": {
"items": {
"properties": {
"lang": {
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"longDescription": {
"items": {
"properties": {
"lang": {
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"shortDescription": {
"items": {
"properties": {
"lang": {
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"hasLocation": {
"items": {
"properties": {
"object": {
"properties": {
"autonomousCommunity": {
"type": "string"
},
"country": {
"type": "string"
},
"municipality": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"province": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"name": {
"items": {
"properties": {
"lang": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"value",
"lang"
],
"type": "object"
},
"type": "array"
}
},
"title": "Trail GraphQL Input",
"type": "object"
},
"required": false,
"task": "match"
},
"response": "{\"identified\":true,\"candidate_source_path\":\"description\",\"reasoning\":\"The source \u0027description\u0027 field semantically matches the target \u0027hasDescription\u0027 as it provides the main descriptive text.\",\"confidence\":0.95}",
"system_prompt": "You perform semantic field matching between a target schema field and source JSON paths. Return exactly one flat JSON object and nothing else. Do not wrap the result in markdown. Do not nest the result under keys like match, result, mapping, output, or data. Use exactly these keys: \"identified\", \"candidate_source_path\", \"reasoning\", \"confidence\". \"identified\" must be a JSON boolean. \"candidate_source_path\" must be a string path or null. \"reasoning\" must be a short string. \"confidence\" must be a JSON number between 0.0 and 1.0. If no reliable match exists, return identified=false, candidate_source_path=null, a brief reasoning string, and confidence=0.0. Example valid output: {\"identified\":true,\"candidate_source_path\":\"datetime\",\"reasoning\":\"The source field semantically matches the target date.\",\"confidence\":0.92}",
"used_hints": true
},
"stage": "semantic_match",
"timestamp": "2026-05-21T10:00:35.879189+00:00"
},
{
"payload": {
"field_name": "hasLocation",
"hint_hash": "a152b3dd84ba3596cac717147755874e66ac528d790dff1022927bded1679376",
"match_result": {
"candidate_source_path": null,
"confidence": 0.0,
"identified": false,
"reasoning": "No source path provides the required location fields; hasLocation must be hardcoded per hints."
},
"prompt_payload": {
"field_name": "hasLocation",
"field_schema": {
"items": {
"properties": {
"object": {
"properties": {
"autonomousCommunity": {
"type": "string"
},
"country": {
"type": "string"
},
"municipality": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"province": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"hints": "Use name.value as name[0].value, hardcode name[0].lang as \"es\"\r\nUse category.value as hasAdditionalType\r\nUse shortDescription.value as hasDescription[0].object.shortDescription[0].value, hardcode lang as \"es\"\r\nUse description.value as hasDescription[0].object.longDescription[0].value, hardcode lang as \"es\"\r\nUse extraInfo.value as hasDescription[0].object.keyword[0].value, hardcode lang as \"es\"\r\nHardcode hasLocation[0].object: autonomousCommunity \"Comunidad de Madrid\", country \"Espa\u00f1a\", municipality \"Las Rozas de Madrid\", postalCode \"28290\", province \"Madrid\"",
"input_summary": {
"path_count": 42,
"paths": [
"alternateName",
"alternateName.metadata",
"alternateName.type",
"alternateName.value",
"category",
"category.metadata",
"category.type",
"category.value",
"dataProvider",
"dataProvider.metadata",
"dataProvider.type",
"dataProvider.value",
"description",
"description.metadata",
"description.type",
"description.value",
"extraInfo",
"extraInfo.metadata",
"extraInfo.type",
"extraInfo.value",
"id",
"location",
"location.metadata",
"location.type",
"location.value",
"location.value.coordinates",
"location.value.coordinates[0]",
"location.value.coordinates[1]",
"location.value.type",
"name",
"name.metadata",
"name.type",
"name.value",
"shortDescription",
"shortDescription.metadata",
"shortDescription.type",
"shortDescription.value",
"source",
"source.metadata",
"source.type",
"source.value",
"type"
],
"root_type": "dict"
},
"output_schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"hasAdditionalType": {
"type": "string"
},
"hasDescription": {
"items": {
"properties": {
"object": {
"properties": {
"keyword": {
"items": {
"properties": {
"lang": {
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"longDescription": {
"items": {
"properties": {
"lang": {
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"shortDescription": {
"items": {
"properties": {
"lang": {
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"hasLocation": {
"items": {
"properties": {
"object": {
"properties": {
"autonomousCommunity": {
"type": "string"
},
"country": {
"type": "string"
},
"municipality": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"province": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"name": {
"items": {
"properties": {
"lang": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"value",
"lang"
],
"type": "object"
},
"type": "array"
}
},
"title": "Trail GraphQL Input",
"type": "object"
},
"required": false,
"task": "match"
},
"response": "{\"identified\":false,\"candidate_source_path\":null,\"reasoning\":\"No source path provides the required location fields; hasLocation must be hardcoded per hints.\",\"confidence\":0.0}",
"system_prompt": "You perform semantic field matching between a target schema field and source JSON paths. Return exactly one flat JSON object and nothing else. Do not wrap the result in markdown. Do not nest the result under keys like match, result, mapping, output, or data. Use exactly these keys: \"identified\", \"candidate_source_path\", \"reasoning\", \"confidence\". \"identified\" must be a JSON boolean. \"candidate_source_path\" must be a string path or null. \"reasoning\" must be a short string. \"confidence\" must be a JSON number between 0.0 and 1.0. If no reliable match exists, return identified=false, candidate_source_path=null, a brief reasoning string, and confidence=0.0. Example valid output: {\"identified\":true,\"candidate_source_path\":\"datetime\",\"reasoning\":\"The source field semantically matches the target date.\",\"confidence\":0.92}",
"used_hints": true
},
"stage": "semantic_match",
"timestamp": "2026-05-21T10:00:40.640427+00:00"
},
{
"payload": {
"field_name": "name",
"hint_hash": "a152b3dd84ba3596cac717147755874e66ac528d790dff1022927bded1679376",
"jq_expression": "[{\"lang\":\"es\", \"value\": .name.value}]",
"prompt_payload": {
"candidate_source_path": "name.value",
"field_name": "name",
"field_schema": {
"items": {
"properties": {
"lang": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"value",
"lang"
],
"type": "object"
},
"type": "array"
},
"hints": "Use name.value as name[0].value, hardcode name[0].lang as \"es\"\r\nUse category.value as hasAdditionalType\r\nUse shortDescription.value as hasDescription[0].object.shortDescription[0].value, hardcode lang as \"es\"\r\nUse description.value as hasDescription[0].object.longDescription[0].value, hardcode lang as \"es\"\r\nUse extraInfo.value as hasDescription[0].object.keyword[0].value, hardcode lang as \"es\"\r\nHardcode hasLocation[0].object: autonomousCommunity \"Comunidad de Madrid\", country \"Espa\u00f1a\", municipality \"Las Rozas de Madrid\", postalCode \"28290\", province \"Madrid\"",
"source_fragment": "Majalacabra",
"source_json": {
"alternateName": {
"metadata": {},
"type": "string",
"value": "LR-01"
},
"category": {
"metadata": {},
"type": "string",
"value": "TrailRoute"
},
"dataProvider": {
"metadata": {},
"type": "string",
"value": "nec-ccoc"
},
"description": {
"metadata": {},
"type": "string",
"value": "Comenzamos"
},
"extraInfo": {
"metadata": {},
"type": "string",
"value": "Encinar"
},
"id": "trailroute_lr-01",
"location": {
"metadata": {},
"type": "geo:json",
"value": {
"coordinates": [
-3.8565638,
40.4845294
],
"type": "Point"
}
},
"name": {
"metadata": {},
"type": "string",
"value": "Majalacabra"
},
"shortDescription": {
"metadata": {},
"type": "string",
"value": "Dificultad: baja"
},
"source": {
"metadata": {},
"type": "string",
"value": "portal-randev6"
},
"type": "PointOfInterest"
},
"task": "synthesize"
},
"response": "{\"jq_expression\":\"[{\\\"lang\\\":\\\"es\\\", \\\"value\\\": .name.value}]\"}",
"system_prompt": "You generate a jq expression for one target field. Return exactly one flat JSON object and nothing else. Do not wrap the result in markdown. Do not nest the result under keys like result, output, data, or expression. Use exactly this output schema: {\"jq_expression\": string}. \"jq_expression\" must be a JSON string containing only the jq expression for the target field. Use candidate_source_path as the primary source location, verify it against source_json, and use source_fragment as the focused local value. Do not return explanations or extra keys. Example valid output: {\"jq_expression\":\".datetime\"}",
"used_hints": true
},
"stage": "jq_synthesis",
"timestamp": "2026-05-21T10:00:45.554970+00:00"
},
{
"payload": {
"field_name": "hasAdditionalType",
"hint_hash": "a152b3dd84ba3596cac717147755874e66ac528d790dff1022927bded1679376",
"jq_expression": ".category.value",
"prompt_payload": {
"candidate_source_path": "category.value",
"field_name": "hasAdditionalType",
"field_schema": {
"type": "string"
},
"hints": "Use name.value as name[0].value, hardcode name[0].lang as \"es\"\r\nUse category.value as hasAdditionalType\r\nUse shortDescription.value as hasDescription[0].object.shortDescription[0].value, hardcode lang as \"es\"\r\nUse description.value as hasDescription[0].object.longDescription[0].value, hardcode lang as \"es\"\r\nUse extraInfo.value as hasDescription[0].object.keyword[0].value, hardcode lang as \"es\"\r\nHardcode hasLocation[0].object: autonomousCommunity \"Comunidad de Madrid\", country \"Espa\u00f1a\", municipality \"Las Rozas de Madrid\", postalCode \"28290\", province \"Madrid\"",
"source_fragment": "TrailRoute",
"source_json": {
"alternateName": {
"metadata": {},
"type": "string",
"value": "LR-01"
},
"category": {
"metadata": {},
"type": "string",
"value": "TrailRoute"
},
"dataProvider": {
"metadata": {},
"type": "string",
"value": "nec-ccoc"
},
"description": {
"metadata": {},
"type": "string",
"value": "Comenzamos"
},
"extraInfo": {
"metadata": {},
"type": "string",
"value": "Encinar"
},
"id": "trailroute_lr-01",
"location": {
"metadata": {},
"type": "geo:json",
"value": {
"coordinates": [
-3.8565638,
40.4845294
],
"type": "Point"
}
},
"name": {
"metadata": {},
"type": "string",
"value": "Majalacabra"
},
"shortDescription": {
"metadata": {},
"type": "string",
"value": "Dificultad: baja"
},
"source": {
"metadata": {},
"type": "string",
"value": "portal-randev6"
},
"type": "PointOfInterest"
},
"task": "synthesize"
},
"response": "{\"jq_expression\":\".category.value\"}",
"system_prompt": "You generate a jq expression for one target field. Return exactly one flat JSON object and nothing else. Do not wrap the result in markdown. Do not nest the result under keys like result, output, data, or expression. Use exactly this output schema: {\"jq_expression\": string}. \"jq_expression\" must be a JSON string containing only the jq expression for the target field. Use candidate_source_path as the primary source location, verify it against source_json, and use source_fragment as the focused local value. Do not return explanations or extra keys. Example valid output: {\"jq_expression\":\".datetime\"}",
"used_hints": true
},
"stage": "jq_synthesis",
"timestamp": "2026-05-21T10:00:48.804432+00:00"
},
{
"payload": {
"field_name": "hasDescription",
"hint_hash": "a152b3dd84ba3596cac717147755874e66ac528d790dff1022927bded1679376",
"jq_expression": "[ {object: {keyword: [{lang:\"es\", value: .extraInfo.value}], longDescription: [{lang:\"es\", value: .description.value}], shortDescription: [{lang:\"es\", value: .shortDescription.value}]}} ]",
"prompt_payload": {
"candidate_source_path": "description",
"field_name": "hasDescription",
"field_schema": {
"items": {
"properties": {
"object": {
"properties": {
"keyword": {
"items": {
"properties": {
"lang": {
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"longDescription": {
"items": {
"properties": {
"lang": {
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"shortDescription": {
"items": {
"properties": {
"lang": {
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"hints": "Use name.value as name[0].value, hardcode name[0].lang as \"es\"\r\nUse category.value as hasAdditionalType\r\nUse shortDescription.value as hasDescription[0].object.shortDescription[0].value, hardcode lang as \"es\"\r\nUse description.value as hasDescription[0].object.longDescription[0].value, hardcode lang as \"es\"\r\nUse extraInfo.value as hasDescription[0].object.keyword[0].value, hardcode lang as \"es\"\r\nHardcode hasLocation[0].object: autonomousCommunity \"Comunidad de Madrid\", country \"Espa\u00f1a\", municipality \"Las Rozas de Madrid\", postalCode \"28290\", province \"Madrid\"",
"source_fragment": {
"metadata": {},
"type": "string",
"value": "Comenzamos"
},
"source_json": {
"alternateName": {
"metadata": {},
"type": "string",
"value": "LR-01"
},
"category": {
"metadata": {},
"type": "string",
"value": "TrailRoute"
},
"dataProvider": {
"metadata": {},
"type": "string",
"value": "nec-ccoc"
},
"description": {
"metadata": {},
"type": "string",
"value": "Comenzamos"
},
"extraInfo": {
"metadata": {},
"type": "string",
"value": "Encinar"
},
"id": "trailroute_lr-01",
"location": {
"metadata": {},
"type": "geo:json",
"value": {
"coordinates": [
-3.8565638,
40.4845294
],
"type": "Point"
}
},
"name": {
"metadata": {},
"type": "string",
"value": "Majalacabra"
},
"shortDescription": {
"metadata": {},
"type": "string",
"value": "Dificultad: baja"
},
"source": {
"metadata": {},
"type": "string",
"value": "portal-randev6"
},
"type": "PointOfInterest"
},
"task": "synthesize"
},
"response": "{\"jq_expression\":\"[ {object: {keyword: [{lang:\\\"es\\\", value: .extraInfo.value}], longDescription: [{lang:\\\"es\\\", value: .description.value}], shortDescription: [{lang:\\\"es\\\", value: .shortDescription.value}]}} ]\"}",
"system_prompt": "You generate a jq expression for one target field. Return exactly one flat JSON object and nothing else. Do not wrap the result in markdown. Do not nest the result under keys like result, output, data, or expression. Use exactly this output schema: {\"jq_expression\": string}. \"jq_expression\" must be a JSON string containing only the jq expression for the target field. Use candidate_source_path as the primary source location, verify it against source_json, and use source_fragment as the focused local value. Do not return explanations or extra keys. Example valid output: {\"jq_expression\":\".datetime\"}",
"used_hints": true
},
"stage": "jq_synthesis",
"timestamp": "2026-05-21T10:00:56.853080+00:00"
},
{
"payload": {
"field_expressions": {
"hasAdditionalType": ".category.value",
"hasDescription": "[ {object: {keyword: [{lang:\"es\", value: .extraInfo.value}], longDescription: [{lang:\"es\", value: .description.value}], shortDescription: [{lang:\"es\", value: .shortDescription.value}]}} ]",
"name": "[{\"lang\":\"es\", \"value\": .name.value}]"
},
"jq_filter": "{ \"name\": [{\"lang\":\"es\", \"value\": .name.value}], \"hasAdditionalType\": .category.value, \"hasDescription\": [ {object: {keyword: [{lang:\"es\", value: .extraInfo.value}], longDescription: [{lang:\"es\", value: .description.value}], shortDescription: [{lang:\"es\", value: .shortDescription.value}]}} ] }",
"validation_passed": true
},
"stage": "generation_complete",
"timestamp": "2026-05-21T10:00:56.863389+00:00"
},
{
"payload": {
"jq_filter": "{ \"name\": [{\"lang\":\"es\", \"value\": .name.value}], \"hasAdditionalType\": .category.value, \"hasDescription\": [ {object: {keyword: [{lang:\"es\", value: .extraInfo.value}], longDescription: [{lang:\"es\", value: .description.value}], shortDescription: [{lang:\"es\", value: .shortDescription.value}]}} ] }",
"output_json": {
"hasAdditionalType": "TrailRoute",
"hasDescription": [
{
"object": {
"keyword": [
{
"lang": "es",
"value": "Encinar"
}
],
"longDescription": [
{
"lang": "es",
"value": "Comenzamos"
}
],
"shortDescription": [
{
"lang": "es",
"value": "Dificultad: baja"
}
]
}
}
],
"name": [
{
"lang": "es",
"value": "Majalacabra"
}
]
},
"schema_valid": true,
"validation_errors": []
},
"stage": "transform_complete",
"timestamp": "2026-05-21T10:00:56.867306+00:00"
}
],
"run_id": "bd83ea27-1c77-4867-9f2e-816fe1806592"
}