#51 docs(opencode): skill tryton-rpc-probe y agente de proyecto

Documenta como hacer requests RPC de prueba contra Tryton con
sabatron-tryton-rpc-client:
- .opencode/skills/tryton-rpc-probe/SKILL.md: comando base con docker compose
  dev (--no-deps), credenciales desde .env, como revelar estados HTTP
  (401/403/429) que la libreria enmascara, convencion de agrupacion de campos
  con punto ('template.' -> 'categories.') y sondas de ejemplo
- .opencode/agents/tryton-rpc-probe.md: subagente que obliga a cargar el skill
- AGENTS.md: referencia al skill para todos los agents del proyecto
This commit is contained in:
2026-10-12 16:20:05 -05:00
parent 6e14dd9f36
commit 86a67834d1
3 changed files with 195 additions and 0 deletions

View File

@@ -468,3 +468,21 @@ Antes de ir a producción, verificar:
## Integraciones
- **Tryton ERP**: Integración mediante sabatron-tryton-rpc-client para sincronización de clientes, productos y ventas
## Probes RPC a Tryton
Cuando se necesiten requests RPC de prueba contra Tryton (verificación empírica
de campos/modelos/credenciales, planeación de integraciones, etc.) **cargar el
skill `tryton-rpc-probe`** (`.opencode/skills/tryton-rpc-probe/SKILL.md`) y
seguir sus instrucciones:
- Usar `sabatron-tryton-rpc-client` en el contenedor dev (`run --rm --no-deps`),
nunca curl.
- Credenciales desde `.env` (TRYTON_HOST/DATABASE/USERNAME/PASSWORD), sin
hardcodear ni imprimir secretos.
- Los errores HTTP (401/403/429) llegan enmascarados como `UnboundLocalError`:
revelar el código real monkeypatcheando `xmlrpc.client.Transport.request`.
- Los campos con punto de Tryton se agrupan en `field.` (ej. `template.` →
`categories.`); pedir `template.categories.name` ya trae id+nombre.
- Para trabajo de integración/código se usan mocks de `Client.call` (no Tryton
real) en `don_confiao/tests/test_*_from_tryton.py`.