{
  "$comentario": "El recibo de la obra. Dice quien pidio, que se hizo, con que funciones exactas, sobre que datos, quien la firma y que NO se puede afirmar. Sin recibo la obra no entra al universo — y entrega.html tampoco se dibuja: lee este archivo.",

  "obra": "comuna-1-cobertura-verde",
  "titulo": "Cobertura de espacio verde en la Comuna 1",
  "seccion": "ansgis.espacios-verdes",
  "zona": "comuna1.ans.zone",
  "estado": "borrador — espera aprobación humana",
  "fecha_obra": "2026-08-14",
  "fecha_recibo": "2026-08-16",
  "etiquetas": ["Espacios verdes", "Comuna 1", "GCBA", "sf", "corre en el navegador", "borrador"],

  "aprobacion": {
    "firma": "Emir Rivas",
    "canal": "un issue con la plantilla aprobar-obra, en el repo de la sección",
    "que_cambia_al_firmar": "estado pasa a 'publicada', la obra se anota en el cuaderno publico y deja de decir borrador",
    "firmada_el": null
  },

  "pedido": {
    "canal": "MCP (JSON-RPC sobre stdio) contra el servidor de ansgis.storymaps",
    "evidencia": "ansgis-taller:/root/ansgis-storymaps/prueba-mcp.sh:6-15 y mcp-out.jsonl",
    "servidor": "R mcptools server 0.0.1 — handshake initialize/tools\u00b7list repetido y verificado el 2026-08-15",
    "llamadas": [
      "crear_historia",
      "agregar_texto",
      "agregar_mapa",
      "agregar_tabla",
      "agregar_scroll",
      "renderizar_historia"
    ]
  },

  "datos": {
    "fuente": "GCBA — Secretaría de Desarrollo Urbano",
    "dataset": "espacio_verde_publico",
    "url": "https://cdn.buenosaires.gob.ar/datosabiertos/datasets/secretaria-de-desarrollo-urbano/espacios-verdes/espacio_verde_publico.geojson",
    "last_modified": "Mon, 06 Jul 2026 18:43:12 GMT",
    "publicada": "6-jul-2026",
    "bytes": 18399297,
    "verificado_el": "2026-08-15",
    "filtro": "comuna = 1",
    "espacios_en_el_filtro": 387,
    "copia_local": "no — se lee por URL en cada corrida",
    "barrios": {
      "$para": "el denominador: la superficie de cada barrio. Sin esta capa no hay porcentajes ni espacios por km2.",
      "fuente": "GCBA",
      "dataset": "barrios",
      "url": "https://cdn.buenosaires.gob.ar/datosabiertos/datasets/ministerio-de-educacion/barrios/barrios.geojson",
      "last_modified": "Mon, 18 Aug 2025 15:09:56 GMT",
      "publicada": "18-ago-2025",
      "bytes": 740597,
      "verificado_el": "2026-08-15"
    }
  },

  "metodo": {
    "calculo": [
      {
        "capacidad": "sf::st_read",
        "para": "abrir el GeoJSON",
        "version_respaldada": "1.1-1",
        "version_corrida": "1.1-2",
        "licencia": "GPL-2 | MIT + file LICENSE",
        "wasm": true,
        "verificada_el": "15-ago-2026",
        "hash_ficha": "cf2a106d56fdbc5b1ad9eb46b539f069aa18441040e280a82f691668d800c84d",
        "ficha": "https://diccionario.daiacaba.com.ar/api/v1/ficha/sf/st_read"
      },
      {
        "capacidad": "sf::st_transform",
        "para": "proyectar a metros (EPSG:32721) antes de medir",
        "version_respaldada": "1.1-1",
        "version_corrida": "1.1-2",
        "licencia": "GPL-2 | MIT + file LICENSE",
        "wasm": true,
        "verificada_el": "15-ago-2026",
        "hash_ficha": "7a76296bbce6e9c985ec18066229bd99bbc03ea041f2a6daa4237f4a93bd6dc9",
        "ficha": "https://diccionario.daiacaba.com.ar/api/v1/ficha/sf/st_transform"
      },
      {
        "capacidad": "sf::st_area",
        "para": "superficie de cada polígono, en hectáreas",
        "version_respaldada": "1.1-1",
        "version_corrida": "1.1-2",
        "licencia": "GPL-2 | MIT + file LICENSE",
        "wasm": true,
        "verificada_el": "15-ago-2026",
        "hash_ficha": "2dc358fe3f57f7c5fbd0cd9fa264a1a09e5fefaa0ca169ff2e5ef4f15797aef6",
        "ficha": "https://diccionario.daiacaba.com.ar/api/v1/ficha/sf/st_area"
      }
    ],
    "linea_exacta": "ha <- as.numeric(sf::st_area(sf::st_transform(d, 32721))) / 10000   —   ansgis.storymaps, pkg/R/historia.R:103",
    "presentacion": [
      { "paquete": "leaflet", "funcion": "leaflet", "version": "2.2.3", "licencia": "MIT + file LICENSE", "respaldada_por_el_diccionario": false },
      { "paquete": "gt", "funcion": "gt", "version": "1.3.0", "licencia": "MIT + file LICENSE", "respaldada_por_el_diccionario": false },
      { "paquete": "quarto", "funcion": "quarto_render", "version": "1.5.1", "licencia": "MIT + file LICENSE", "respaldada_por_el_diccionario": false },
      { "paquete": "ansgis.storymaps", "funcion": "historia", "version": "0.1.0", "licencia": "MIT + file LICENSE", "respaldada_por_el_diccionario": false }
    ],
    "nota_presentacion": "Ningun paquete de esta lista cambia el resultado: cambian como se muestra. Por eso van en el recibo y no como capacidades declaradas.",
    "procedencia_generada_por": "Rscript /root/ansgis-storymaps/procedencia.R (lee renv.lock + DESCRIPTION instalada)",
    "mapa_de_la_entrega": {
      "$que_es": "PRESENTACION: el dibujo de entrega.html. No mide nada, solo proyecta para mirar.",
      "script": "herramientas/mapa.py",
      "proyeccion": "equirectangular centrada en la comuna — para dibujar, no para medir",
      "simplificacion": "Douglas-Peucker, tolerancia 0,8 unidades del viewBox; anillos menores a 2 unidades cuadradas no se dibujan"
    }
  },

  "$sobre_la_direccion": "Este repositorio es publico: la maquina del taller se nombra por su apodo de ~/.ssh/config (ansgis-taller) y no por su IP y su usuario. La procedencia se mantiene — quien tiene acceso sabe cual es; quien no lo tiene, no recibe el blanco.",

  "donde_corrio": {
    "maquina": "taller — la maquina del Host ssh `ansgis-taller`, /root/ansgis-storymaps",
    "r": "4.3.3",
    "entorno": "renv.lock (237.624 bytes)"
  },

  "salida": {
    "archivo": "comuna1-espacios-verdes.html",
    "bytes": 5105502,
    "sha256": "6ac41b6e8f270357e1e3b5798ee38ba5fd21022fcc7f37421931608ca4cde715",
    "sha256_verificado_el": "2026-08-15",
    "autocontenido": true,
    "copias": [
      "ansgis-taller:/root/ansgis-storymaps/salidas/comuna1-espacios-verdes.html",
      "C:/Users/emirr/kernel-lab/ans-storymaps-salida/comuna1-espacios-verdes.html"
    ]
  },

  "verificacion": {
    "$que_es": "Recuento independiente de TODO lo que la obra afirma, hecho desde las dos capas del GCBA con las mismas capacidades declaradas. Es lo que se muestra en entrega.html: ningun numero de la pagina se escribe a mano.",
    "fecha": "2026-08-16",
    "script": "herramientas/verificar-obra.R",
    "corrio_en": "ansgis-taller:/root/ansgis-storymaps",
    "salida": "verificacion.txt",
    "r": "4.3.3",
    "sf": "1.1.2",

    "ciudad": {
      "espacios": 2176,
      "barrios": 48,
      "km2": 203.6631,
      "por_km2": 10.6843,
      "clases": [
        ["PLAZOLETA", 906], ["CANTERO CENTRAL", 755], ["PLAZA", 391], ["PARQUE", 61],
        ["JARDÍN", 27], ["PATIO RECREATIVO", 18], ["PATIO", 6], ["PARQUE SEMIPÚBLICO", 5],
        ["PATIO DE JUEGOS INCLUSIVO", 3], ["PASEO", 2], ["BARRIO/COMPLEJO", 1], ["JARDÍN BOTÁNICO", 1]
      ],
      "suma_de_clases": 2176
    },

    "comuna": {
      "espacios": 387,
      "km2": 17.3563,
      "ha": 325.8798,
      "por_km2": 22.2973,
      "pct": 18.78,
      "ha_por_espacio": 0.8421,
      "puerto_madero_pct_del_verde": 86.28,
      "sin_puerto_madero_ha": 44.7045,
      "sin_puerto_madero_km2": 12.3289,
      "sin_puerto_madero_pct": 3.63
    },

    "por_barrio": [
      { "barrio": "Retiro",        "espacios": 135, "km2": 4.5107, "ha": 15.4332,  "por_km2": 29.9289, "pct": 3.42,  "ha_por_espacio": 0.1143 },
      { "barrio": "San Nicolás",   "espacios": 58,  "km2": 2.2879, "ha": 7.2621,   "por_km2": 25.3504, "pct": 3.17,  "ha_por_espacio": 0.1252 },
      { "barrio": "Puerto Madero", "espacios": 112, "km2": 5.0275, "ha": 281.1752, "por_km2": 22.2777, "pct": 55.93, "ha_por_espacio": 2.5105 },
      { "barrio": "San Telmo",     "espacios": 25,  "km2": 1.2317, "ha": 7.0209,   "por_km2": 20.2974, "pct": 5.70,  "ha_por_espacio": 0.2808 },
      { "barrio": "Monserrat",     "espacios": 43,  "km2": 2.1976, "ha": 7.9353,   "por_km2": 19.5669, "pct": 3.61,  "ha_por_espacio": 0.1845 },
      { "barrio": "Constitución",  "espacios": 14,  "km2": 2.1010, "ha": 7.0531,   "por_km2": 6.6635,  "pct": 3.36,  "ha_por_espacio": 0.5038 }
    ],

    "constitucion_por_clase": { "PLAZOLETA": 5, "CANTERO CENTRAL": 5, "PLAZA": 4 },

    "diferencias": "Los porcentajes y los espacios por km² se movieron en la segunda decimal porque el denominador —la superficie de cada barrio— se volvió a medir con la misma sf::st_area: 17,3563 km² contra los 17,38 que usó la corrida del 14-ago.",

    "corregido_el_15_ago": [
      "La tabla de clases de notas/de-donde-salen-los-datos.md tenía 6 filas mal, omitía 4 clases y sumaba 2.133 en vez de 2.176. Regenerada con este script.",
      "La obra decía que Constitución era última por superficie: es anteúltima (3,36 %), abajo está San Nicolás (3,17 %). Corregido en la obra y en la nota."
    ]
  },

  "resultado_corrida_2026_08_14": {
    "$que_es": "Lo que dio la corrida original de ansgis.storymaps. Se deja tal cual para poder comparar: no se reescribe un recibo viejo.",
    "espacios": 387,
    "superficie_verde_ha": 325.9,
    "superficie_comuna_ha": 1737.95,
    "verde_por_ciento": 18.75,
    "verde_por_ciento_sin_puerto_madero": 3.62,
    "espacios_por_km2": 22.27,
    "por_barrio": [
      { "barrio": "Retiro",        "espacios": 135, "por_km2": 29.9,  "verde_ha": 15.4,  "verde_por_ciento": 3.41 },
      { "barrio": "San Nicolas",   "espacios": 58,  "por_km2": 25.34, "verde_ha": 7.3,   "verde_por_ciento": 3.19 },
      { "barrio": "Puerto Madero", "espacios": 112, "por_km2": 22.21, "verde_ha": 281.2, "verde_por_ciento": 55.76 },
      { "barrio": "San Telmo",     "espacios": 25,  "por_km2": 20.29, "verde_ha": 7.0,   "verde_por_ciento": 5.68 },
      { "barrio": "Monserrat",     "espacios": 43,  "por_km2": 19.56, "verde_ha": 7.9,   "verde_por_ciento": 3.59 },
      { "barrio": "Constitucion",  "espacios": 14,  "por_km2": 6.66,  "verde_ha": 7.1,   "verde_por_ciento": 3.38 }
    ],
    "conclusion": "El 86,3 % del verde de la comuna esta en Puerto Madero. Constitucion es ultima por cantidad."
  },

  "limitaciones": [
    "Cuenta espacios, no calidad: una plazoleta y un parque pesan igual en el indicador por km2.",
    "No hay poblacion cargada, asi que no se puede dar m2 verdes por habitante.",
    "No medimos cuanto cambia la superficie si se proyecta en EPSG:5347 en vez de 32721.",
    "El reparto desparejo se ve, pero todavia no se probo con moran.test.",
    "La distancia a pie entre un barrio y el verde de otro no se calculo."
  ],

  "cuaderno": {
    "origen": "https://ans.daiacaba.com.ar/tl/checkpoint",
    "tamano_al_emitir": 6,
    "raiz": "GrDzpsNSfAqONcbhWwieL+zT5HpoqesYk/pp4IPa98A=",
    "leido_el": "2026-08-15",
    "esta_obra_anotada": false,
    "por_que": "modo prueba: no se escribe en el registro público de ANS"
  }
}
