Skip to content

fix(agent): ubicación real en búsquedas, sin login para consultar, y donaciones por el flujo correcto - #8

Merged
vgpastor merged 2 commits into
mainfrom
fix/nearby-location-and-donations
Jul 7, 2026
Merged

fix(agent): ubicación real en búsquedas, sin login para consultar, y donaciones por el flujo correcto#8
vgpastor merged 2 commits into
mainfrom
fix/nearby-location-and-donations

Conversation

@vgpastor

@vgpastor vgpastor commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Corrige tres problemas detectados en conversaciones reales de WhatsApp (sesión …5772).

1. 🗺️ El agente inventaba la ubicación

En "busca los que estén cerca de mí" sin ubicación, el agente alucinaba coordenadas para rellenar los lat/lng obligatorios de rg_find_nearby_resources y mostraba distancias falsas ("428 m"). Nueva instrucción tajante: usar solo ubicación real (compartida o vía rg_geocode); si no hay, pedirla y no llamar a la búsqueda. Nunca inventar lat/lng ni usar una por defecto.

2. 🔒 Forzaba login para consultar

Las tools públicas no piden auth en el código, pero el agente exigía login para "ver qué hay cerca". Se aclara: consultar/buscar nunca requiere login; para "cerca de mí" solo hace falta la ubicación, no la identidad.

3. 📦 Donaciones fallaban con 403

"Quiero llevar agua" se mapeaba a rg_record_inventory_entry (POST /resources/{id}/inventory-entries, permiso intake:receive de staff) → 403 Missing permission. Se añaden las tools correctas:

  • rg_preregister_donationPOST /emergencies/{id}/donation-intakes (pública, llevar material a un punto).
  • rg_submit_offerPOST /emergencies/{id}/offers (donante autenticado).

Y se instruye al agente a usarlas en vez de la de inventario. Copy honesto ante 403 de permiso (ya no dice "temporal, inténtalo de nuevo").

Verificación

  • tsc --noEmit limpio.
  • Tests: 83/83 (incluye test nuevo de registro de las tools de donación).

Al mergear a main se auto-despliega en srv07.

4. 🔎 Búsqueda de catálogo se rendía a la primera

"comida para bebés" devolvía 0 y el agente concluía que no existía — pero el catálogo sí tiene "Fórmula para bebé", "Compotas / purés infantiles", "Cereal … bebé", etc. El q de GET /supplies es de autocompletado (palabra/prefijo, no semántico): la frase entera no casa. Se instruye al agente a buscar con una palabra clave (el sustantivo), reintentar con sinónimos/singular y filtrar por categorySlug (los productos de bebé están en hygiene_infantile) antes de rendirse. También se documenta esto en la descripción de rg_search_supplies.

vgpastor added 2 commits July 7, 2026 21:32
…cas, y donaciones por el flujo correcto

Detectado en conversaciones reales (WhatsApp):
- El agente alucinaba coordenadas en búsquedas 'cerca de mí' y presentaba
  distancias falsas. Ahora exige ubicación real (compartida o geocodificada)
  y, si no la tiene, la pide; nunca inventa lat/lng ni usa una por defecto.
- Forzaba login para consultar recursos/necesidades públicas. Se aclara que
  consultar/buscar nunca requiere login; solo hace falta la ubicación.
- Las donaciones ('quiero llevar agua') se mapeaban a rg_record_inventory_entry
  (acción de staff, permiso intake:receive) -> 403. Se añaden tools nuevas:
  rg_preregister_donation (POST /emergencies/{id}/donation-intakes, pública) y
  rg_submit_offer (POST /emergencies/{id}/offers, donante autenticado), y se
  instruye al agente a usarlas. Copy honesto ante 403 de permiso (no 'temporal').
…ntar por keyword)

En una conversación real 'comida para bebés' devolvía 0 y el agente concluía
que no existía, cuando el catálogo sí tiene 'Fórmula para bebé', 'Compotas /
purés infantiles', 'Cereal ... bebé', etc. El parámetro q de /supplies es de
autocompletado (por palabra/prefijo): buscar la frase entera no casa. Se
instruye al agente a buscar con una sola palabra clave (el sustantivo), a
reintentar con sinónimos/singular y a filtrar por categorySlug (los productos
de bebé están en hygiene_infantile) antes de rendirse.
@vgpastor
vgpastor merged commit b908c03 into main Jul 7, 2026
2 checks passed
@vgpastor
vgpastor deleted the fix/nearby-location-and-donations branch July 7, 2026 19:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant