addrbookFor publishers
← The evidence ledger

Evidence row 220978

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 5ac09e09-917e-433c-acb5-d0d66278d1e8
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
6a632c48bf206917f6aca8db6b83c9e1c45247ec7966703cbf48920754516444
Leaf
0xab2ad191d7ab5f72fafc95ceb907a3d09039beef57aa72c39d5de448bc5a7571

What was observed

{
  "count": 8,
  "tools": [
    {
      "description": "Busca empresas del directorio CEMIS combinando filtros con AND. Todos son opcionales.\n\n    - sector: uno de los valores devueltos por listar_sectores(), o un sector de la\n      taxonomía de matching de reformas (ver impacto_de_reforma()) que todavía no\n      tiene ninguna empresa asignada — en ese caso el resultado es una lista vacía\n      con una nota explicativa, no un error.\n    - provincia: una de las 16 provincias cubanas (ver listar_provincias()).\n    - objetivo: coincidencia parcial contra 'que_busca' de la empresa (ej. 'inversión',\n      'socio estratégico', 'distribuidor', 'exportar').\n    - verificada: True para empresas con datos de contacto verificados, False para no\n      verificadas, None (default) para no filtrar.\n    - limite: máximo de resultados a devolver (default 50); el total real de matches\n      siempre se informa en 'total_encontrado' aunque exceda el límite.\n\n    Devuelve una ficha resumida por empresa, no el perfil completo (usá ficha_empresa()\n    para eso).\n    ",
      "inputSchema": {
        "properties": {
          "limite": {
            "default": 50,
            "title": "Limite",
            "type": "integer"
          },
          "objetivo": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Objetivo"
          },
          "provincia": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Provincia"
          },
          "sector": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Sector"
          },
          "verificada": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Verificada"
          }
        },
        "title": "buscar_empresasArguments",
        "type": "object"
      },
      "name": "buscar_empresas"
    },
    {
      "description": "Dado un id (ej. 'opp-001') o título (exacto o aproximado) de una oportunidad de\n    negocio, devuelve las empresas del directorio CEMIS relacionadas: primero las\n    curadas a mano dentro de la propia oportunidad, luego las encontradas automáticamente\n    porque su sector matchea por palabra clave con el texto de la oportunidad.",
      "inputSchema": {
        "properties": {
          "oportunidad": {
            "title": "Oportunidad",
            "type": "string"
          }
        },
        "required": [
          "oportunidad"
        ],
        "title": "empresas_por_oportunidadArguments",
        "type": "object"
      },
      "name": "empresas_por_oportunidad"
    },
    {
      "description": "Devuelve las empresas cubanas del sector 'TICs y economía digital'\n    (desarrollo de software, soluciones informáticas, TI y telemática) —\n    el mismo dataset que arma el hub público /empresas-tecnologicas-cuba/ de\n    cemis.io.\n\n    A diferencia de buscar_empresas(sector=\"TICs y economía digital\"), esta\n    tool también cruza el sector con las reformas del Eje 21 (ámbito digital,\n    IA y economía del conocimiento) y las oportunidades de negocio asociadas\n    a esas reformas — el mismo cruce regulatorio que distingue al hub de un\n    directorio plano.\n\n    limite: máximo de empresas a devolver en 'empresas' (default 50); el total\n    real siempre está en 'total' aunque exceda el límite.\n    ",
      "inputSchema": {
        "properties": {
          "limite": {
            "default": 50,
            "title": "Limite",
            "type": "integer"
          }
        },
        "title": "empresas_tecnologicasArguments",
        "type": "object"
      },
      "name": "empresas_tecnologicas"
    },
    {
      "description": "Devuelve el perfil estructurado completo de una empresa del directorio CEMIS,\n    identificada por su slug (o por nombre exacto/aproximado si no sabés el slug),\n    incluyendo sus oportunidades de negocio relacionadas y las transformaciones/reformas\n    que la afectan. Si no se encuentra, devuelve sugerencias aproximadas.",
      "inputSchema": {
        "properties": {
          "slug": {
            "title": "Slug",
            "type": "string"
          }
        },
        "required": [
          "slug"
        ],
        "title": "ficha_empresaArguments",
        "type": "object"
      },
      "name": "ficha_empresa"
    },
    {
      "description": "Herramienta principal: dado el número o título (exacto o aproximado) de una\n    transformación/reforma de 2026, devuelve su impacto sobre el directorio CEMIS.\n\n    El criterio de impacto varía según la naturaleza de la reforma (ver\n    ambito_transformaciones.py, curado a mano transformación por transformación):\n    - Reformas cuyo alcance real es un TIPO de empresa (estatal/no estatal/\n      inversión extranjera/cooperativa) matchean por tipo, no por sector, y el\n      resultado lo indica con \"criterio_de_impacto\": \"tipo_de_empresa\".\n    - Reformas TRANSVERSALES (fiscales/cambiarias/laborales de alcance nacional,\n      o que explícitamente aplican a \"todos los actores económicos\") devuelven\n      \"alcance\": \"transversal\" con la metadata de la reforma, sin enumerar las\n      252 empresas del directorio (no aporta valor).\n    - Reformas que NO APLICAN a un actor económico del directorio (reforma de\n      aparato de gobierno, política social para personas, deuda soberana) lo\n      dicen explícitamente en vez de devolver un array vacío sin explicación.\n    - El resto matchea por SECTOR de industria vía EMPRESA_SECTOR_KEYWORDS\n      (mismo criterio que cemis.io, con el fix de normalización de acentos\n      de 2026-08-23 — antes \"turis\" no matcheaba \"turística\").\n\n    En todos los casos incluye oportunidades_directas (vínculo curado\n    transformacion_num) y el estado de implementación regulatoria si está\n    disponible (ver monitor de reformas de cemis.io).",
      "inputSchema": {
        "properties": {
          "transformacion": {
            "title": "Transformacion",
            "type": "string"
          }
        },
        "required": [
          "transformacion"
        ],
        "title": "impacto_de_reformaArguments",
        "type": "object"
      },
      "name": "impacto_de_reforma"
    },
    {
      "description": "Devuelve las provincias válidas para filtrar empresas, derivadas de los datos reales\n    del directorio. Usalo antes de llamar a buscar_empresas() con un filtro de provincia.",
      "inputSchema": {
        "properties": {},
        "title": "listar_provinciasArguments",
        "type": "object"
      },
      "name": "listar_provincias"
    },
    {
      "description": "Devuelve los sectores válidos para filtrar empresas, derivados de los datos reales\n    del directorio (no del formulario web, que puede estar desactualizado). Usalo antes de\n    llamar a buscar_empresas() u oportunidades_por_sector() con un filtro de sector.",
      "inputSchema": {
        "properties": {},
        "title": "listar_sectoresArguments",
        "type": "object"
      },
      "name": "listar_sectores"
    },
    {
      "description": "Dado un sector (ver listar_sectores(), o un sector de la taxonomía de matching\n    de reformas que todavía no tiene empresas asignadas — ver impacto_de_reforma()),\n    devuelve las oportunidades de negocio relevantes: primero las curadas a mano\n    (vinculadas directamente a alguna empresa de ese sector), luego las encontradas\n    automáticamente por coincidencia de palabras clave de sector (mismo criterio que\n    usa cemis.io). Si el sector no tiene empresas asignadas hoy, 'oportunidades_curadas'\n    sale vacía (no puede haber curadas sin empresas) pero las automáticas por keyword\n    sí pueden aparecer, porque esas se buscan directamente en el texto de las\n    oportunidades/transformaciones, no a través de las empresas.",
      "inputSchema": {
        "properties": {
          "sector": {
            "title": "Sector",
            "type": "string"
          }
        },
        "required": [
          "sector"
        ],
        "title": "oportunidades_por_sectorArguments",
        "type": "object"
      },
      "name": "oportunidades_por_sector"
    }
  ]
}

What the leaf hashes

{"body":"6a632c48bf206917f6aca8db6b83c9e1c45247ec7966703cbf48920754516444","id":220978,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793027032791734,"prev":null,"subject":"5ac09e09-917e-433c-acb5-d0d66278d1e8","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).

  1. 0xab2b587c1bf96792c97cff9ae1cad24655695cd1534f236940a7859e0de29b65
  2. 0x71c7817265fdfb744df82c69eb635bb69ad5d06d9545a4740c32f660ed9ac2a3
  3. 0x5455019f62ce2bfb52730b1f4577d66bfc74c52d5eabb812627c185cb2332ce6
  4. 0x2241e580a7ae7432136d71fe86edd77b0ba7e0400fe7c45e2398a34d95c8b179
  5. 0x7515c7cd93d43c0082ce8ad2891622f5226b26877393bd2abe4396918a6cfec8
  6. 0x81fd2043d2bff45c4f2a29c1b6daf110e6e20231dc36ff5ba08ef53fb5442adb
  7. 0x2acfd56fea7ebcb668556e14b215322018d918318d94158b322c3d551bf5f215
  8. 0x00bfdd3de60a87e6b6c9c59d517f230843c59d3cf24eebe273ede0178ad81bc9
  9. 0x0bb588ea8722a2a8d5b5a05c25092b677ddc4f9e9399320c7a2e7e81ca524052
  10. 0x3fa5eaa6d08becab2832207a749500470aa2568b12840b9e743f3ba19967d00b
  11. 0xe285855b14529e4bf6d93d3ce05a3365dcfc651d48b9dfeb5c229a51822613eb
  12. 0xb7fae69bb7bd717d54a83df961404a3e4de2a5cfbcfa013fd83a38627fe13f7e
  13. 0x4700d6dfdb40e52e2ceb8ffe62c75f3f708d23452f828255fd003d795f5d9d66
  14. 0x3b4dba7d874fc323b0a364140a9c60f37bf547fe671897653118a9873fe03420
  15. 0x1a74ed3b3756b9cd946da49701bcec120ec88645013da99fa9eea60b39e1a570
  16. 0x123ec8bee20ddc55223eeef5a4f4d6c4b6416515adbb911c56759f5cde56e452
  17. 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON