Cruce del buzón contra la bitácora: 9 comunicaciones incorporadas, 2 correcciones y la sesión del 21-ago

Lectura del correo de Outlook vía MCP ms365 (94 mensajes del dominio Balam
desde enero) cruzada contra REGISTRO.md.

Entradas nuevas:
- #0  prehistoria comercial de abril (hilo "Propuesta de servicios por hora"),
      inventario; cuerpos aún sin leer
- #31a respuesta formal de las salvaguardas del token — SÍ se envió el 6-jul 4:46 pm
- #40a reacción de Balam al prototipo: acuse de Erika y Noé fuera de oficina
- #46a procedimientos de carga de facturas (5 portales; ATC Consolidados y
      Victec nunca aparecieron en el Discovery)
- #57a diagrama del flujo de facturación de Jira
- #59a seguimiento a la API de Jira por correo, no solo por WhatsApp
- #65  sesión del 12-ago SIN MINUTA (hueco abierto a propósito)
- #66  Excel de campos y catálogos de la cotización BIND enviado a Pedro
- #67  WhatsApp 18-20 ago: Pedro reduce el catálogo a 17 categorías, Balam
      modifica el formulario de Jira y se agenda el viernes 21-ago con FAC-106
- #68  correo "Seguimiento - PAF" con la convocatoria

Correcciones:
- #3a  el correo "en verde" de Araceli apareció íntegro: IBC Bank y tax estándar
      dejan de ser inferencia de la llamada del 19-may
- #33  el pendiente de responder a Noé llevaba mes y medio abierto por error
- #62  hora del reenvío del 7-ago: 11:34 am, no 5:34 pm (UTC leída como local)

Evidencia recuperada a fuentes/, incluidos los dos adjuntos que la bitácora
pedía conservar.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Johann
2026-08-20 23:02:26 -06:00
parent 83ee332a90
commit 5d846ecfe5
10 changed files with 398 additions and 11 deletions
+23 -4
View File
@@ -2,14 +2,33 @@
Acciones vivas del proyecto. Formato: `[ ]` abierta · `[x]` cerrada (no se borran, dejan rastro). Cada una con responsable y, si aplica, fecha. Ver contexto en [REGISTRO.md](REGISTRO.md).
_Última actualización: 2026-08-11, noche (sesión confirmada **mié 12-ago 7:00 am** [#63]; molde ruteado a Araceli, aún inexistente — plan B: captura en vivo. **La capa ticket→cotización BIND quedó CONSTRUIDA y probada** con dry-run + candados; el ejercicio ya no es simulación. Ver [REGISTRO #64](REGISTRO.md))._
_Última actualización: **2026-08-20, noche.** Cruce completo del buzón contra la bitácora (MCP ms365): se incorporaron 9 comunicaciones faltantes y se corrigieron 2 errores de registro. **Hay sesión mañana viernes 21-ago, 7:00 am** con Noé, Ara y Pedro sobre el formulario modificado y `FAC-106`. Ver [REGISTRO #65](REGISTRO.md)–[#68](REGISTRO.md)._
## 🔥🔥 SESIÓN VIERNES 21-AGO, 7:00 AM — Noé, Araceli y Pedro
- [ ] 🔥 **Johann — inspeccionar `FAC-106` por API esta noche.** Pedro avisó que **la licencia bloquea la UI** y ofreció pantallazo; no hace falta: el **token PAF corre sobre la cuenta de Pedro**, que sí tiene licencia, y así se sondeó el sitio el 6-ago y el 11-ago. Lo que hay que sacar: **qué campos nuevos trae el formulario modificado**, si aparece algo que sirva de **conceptos/partidas**, y si `Monto sin IVA` sigue siendo `customfield_11556`. **Sin esto se llega a ciegas.** Ver [REGISTRO #67](REGISTRO.md).
- [ ] 🔥 **Johann — preparar el caso de escritura sobre `FAC-106`** (comprometido con Pedro el 19-ago). La capa ya existe y corre contra cualquier ticket FAC ([#64](REGISTRO.md)); ajustar el mapeo a los campos nuevos que revele el sondeo.
- [ ] 🔥 **Johann — en la sesión: encender `Bind:Mode=Write` solo para emitir y regresarlo a ReadOnly antes de cerrar.**
- [ ] ⚠️🔥 **Johann — anunciar al abrir la sesión el destino de la cotización real** (cancelarla al terminar vs. cliente de prueba) y que la prefactura pertenece a una sesión posterior. **Pendiente arrastrado del 12-ago; sigue sin resolverse.**
- [ ] 🔴 **Validar las 17 categorías con Noé y Ara.** Pedro redujo el catálogo de servicios de **67 → 17** pero lo condicionó: *"tengo que verlas con Noé y Ara antes"*. **Es el momento de cerrar el hueco de conceptos/partidas** que bloquea B7 desde el [#62](REGISTRO.md).
- [ ] ☁️ **Azure — reabrir el tema.** Noé ofreció el 11-ago explorarlo *"con una cuenta que estamos creando para este uso"*; no consta qué pasó el 12-ago. Llevar los requisitos del 28-jul: grupo de recursos + **Contributor** (app + BD + Key Vault), sin Global Admin.
- [ ] 👤 **Confirmar en la sesión quién es el responsable del proyecto.** Desde el 18-ago todo se coordina con **Pedro**; Erika no aparece desde el 29-jul. Johann recuerda una junta donde se anunció el relevo — sin registrar. Ver [REGISTRO #65](REGISTRO.md).
## 🚨 Huecos de registro abiertos (detectados en el cruce del 20-ago)
- [ ] 🚨 **Capturar la minuta de la sesión del 12-ago** ([REGISTRO #65](REGISTRO.md)). No hay notas ni transcripción. Cuatro preguntas por responder: ¿se emitió cotización real en BIND (folio, se canceló)?, ¿qué pasó con Azure?, ¿fue ahí donde se nombró a Pedro responsable?, ¿se capturó el molde de Araceli?
- [ ] 📌 **Versionar `Cotizacion-BIND-campos-y-catalogos.xlsx`** — está en la raíz del repo sin trackear y ya es el insumo que Balam usó para rehacer el formulario de Jira ([#66](REGISTRO.md)).
- [ ] 📄 **Leer los procedimientos de carga de facturas** ya descargados en `../fuentes/` ([#46a](REGISTRO.md)): 5 portales — Cemex, Acuntia, **ATC Consolidados**, DYLO y **Victec**. ⚠️ **Dos clientes que el Discovery nunca mencionó** y Axie no aparece: el universo de destinos de envío **no está cerrado**.
- [ ] 🗺️ **Contrastar el diagrama del flujo de facturación de Jira** (`../fuentes/2026-07-22 - Correo - Flujo facturacion JIRA BALAM.png`, [#57a](REGISTRO.md)) contra el disparador acordado y lo observado por API.
- [ ] 🔎 **Identificar qué se firmó en Buk el 30-abr y el 5-may** — dos documentos anteriores al contrato de junio que la bitácora nunca registró ([REGISTRO #0](REGISTRO.md)).
- [ ] 📖 **Leer el hilo comercial de abril** ("Propuesta de servicios por hora - Balam", 23–28 abr) y completar [REGISTRO #0](REGISTRO.md): es donde se fijó la tarifa por hora.
## 🔥 Flujo Jira→BIND — abierto tras la definición del 7-ago
- [x] ~~🔥 **Johann — responder el correo del hilo de Jira**~~ → **Enviado el 10-ago.** Pide ticket de ejemplo, propone mié 12 / jue 13 a las 7:00 am, fija el alcance en la cotización y recuerda Azure. Texto en [REGISTRO #62](REGISTRO.md).
- [ ] 🔥 **Araceli — levantar el TICKET DE EJEMPLO capturado "como debería ser"** — Noé lo ruteó a **Araceli** en su respuesta del 11-ago (la apuesta era Arturo; lo captura quien aprueba). ⚠️ **La noche del 11 el molde aún no existe** (verificado por API: el sitio sigue en 69 tickets). **Plan B si no está a las 7:00: que Araceli lo capture EN VIVO al abrir la sesión** (captura → detección → wizard con sus datos); **plan C: `FAC-100`** (único con `Monto sin IVA` poblado — de paso abre ACUNTIA). Sigue siendo el mecanismo para resolver por evidencia los huecos de abajo.
- [x] ~~🔥 **Araceli — levantar el TICKET DE EJEMPLO capturado "como debería ser"** (ruteado por Noé el 11-ago; la noche del 11 no existía)~~ → **Lo resolvió PEDRO el 20-ago con `FAC-106`**, tras rehacer el formulario de Jira contra el Excel de campos de BIND ([#66](REGISTRO.md), [#67](REGISTRO.md)). ⚠️ **No consta que Araceli haya capturado el molde** que Noé le pidió: el camino fue otro — Balam modificó el formulario y Pedro levantó el ticket. Los planes B y C (captura en vivo / `FAC-100`) quedan sin usar.
- [x] ~~🔥 **Balam/Noé — confirmar la sesión** (mié 12 o jue 13, 7:00 am)~~ → **CONFIRMADA por Noé (11-ago, 10:41 am): miércoles 12-ago, 7:00 am.** Además, **Azure se explora en la misma sesión** con una cuenta nueva creada para este uso. Ver [REGISTRO #63](REGISTRO.md).
- [ ] 🔴 **Conceptos/partidas — se resuelve con el ticket de ejemplo.** El acuerdo del 4-ago resolvió el monto (`customfield_11556`) pero **no existe campo de conceptos en todo el sitio de Jira**. Si en el molde el desglose no cabe en ningún campo, hay que agregar uno; si no, la cotización va de una sola línea. **Sigue siendo el único bloqueo real para cerrar B7.**
- [ ] 🔴 **Conceptos/partidas — se resuelve MAÑANA, con `FAC-106` y las 17 categorías.** El acuerdo del 4-ago resolvió el monto (`customfield_11556`) pero **no existe campo de conceptos en todo el sitio de Jira**. Si en el molde el desglose no cabe en ningún campo, hay que agregar uno; si no, la cotización va de una sola línea. **Sigue siendo el único bloqueo real para cerrar B7.**
- [ ] 🔴 **ACUNTIA — se resuelve con el segundo ticket de ejemplo.** `FAC-100` trae **un solo** `Monto sin IVA` (7,594.00 USD) para el ticket que históricamente representa 40–48 facturas. ¿Un ticket → una cotización? Ver [REGISTRO #55](REGISTRO.md) punto 6.
- [ ] ⚠️ **Tickets de `Automation for Jira` — convertido en SUPUESTO, ya no bloquea.** 10 de 69 no tienen request type ni un solo campo (incluido `FAC-91`, vivo en validación nacional). En el correo del 10-ago se asienta que **siguen tramitándose a mano** y que la automatización cubre solo los que entran por el portal. Si Balam objeta, la regla de Automation tendría que propagar los campos (trabajo de ellos). El molde capturado a mano no puede resolver esto.
- [ ] ⚠️🔥 **Johann — decidir el destino de la cotización de la prueba en BIND.** El ejercicio escribe una **cotización real en BIND producción**. Dos salidas: cancelarla al terminar o apuntarla a un cliente de prueba. **Decidir esta noche y anunciarlo al abrir la sesión del 12, antes de ejecutar.**
@@ -58,7 +77,7 @@ _Última actualización: 2026-08-11, noche (sesión confirmada **mié 12-ago 7:0
- [ ] 🔑 **Dar seguimiento a si Pedro crea el usuario de solo lectura de BIND** que pidió Noé (mientras tanto Erika opera con el usuario de Arturo, sin bloqueo) — sigue sin resolverse una semana después (7-jul). Ver [REGISTRO #37](REGISTRO.md).
- [x] ~~🔧 **Decidir si probar endpoints de escritura (POST/PUT) de BIND**~~ → **Decidido (7-jul): NO todavía.** Contradice la instrucción de Noé de mantener solo-lectura mientras Pedro confirma el alcance del token; sin sandbox, el riesgo fiscal es real. Alternativa segura: catalogar operaciones de escritura desde el **portal de desarrolladores de BIND** (documentación), no probarlas en vivo. Ver [REGISTRO #36](REGISTRO.md).
- [x] ~~📧 **Responder el correo de Pedro**~~ → **Enviado (6-jul, ~3:28 pm):** acuse de recibo + usuario de Arturo documentado + arranque de trabajo con la API, sin comprometer entregas adicionales. Ver [REGISTRO #29](REGISTRO.md).
- [ ] 📧⚠️ **Responder el correo de Noé (importancia alta, 4:33 pm)** describiendo las **salvaguardas** ya operando: solo-lectura bloqueado en código, consultas acotadas, token en gestor de secretos fuera del repo, sin datos reales en documentos, escritura solo con autorización + candados de la propuesta. Borrador listo. **Confirmación informal ya dada por WhatsApp (6-jul, 5:01 pm) — falta la respuesta formal por correo para dejar constancia en el canal correcto.** Ver [REGISTRO #31](REGISTRO.md), [#33](REGISTRO.md).
- [x] ~~📧⚠️ **Responder el correo de Noé (importancia alta, 4:33 pm)** describiendo las salvaguardas ya operando~~ → **ESTABA HECHO DESDE EL 6-JUL, 4:46 PM** (13 minutos después del correo de Noé), a Noé y Pedro con Erika en copia. Cubre las cinco salvaguardas: solo-lectura bloqueado en código, consumo acotado, token en gestor de secretos fuera del repo, sin datos reales en la documentación, y escritura diferida. *(Corrección del 20-ago: este pendiente llevaba mes y medio abierto por error — el correo apareció al cruzar el buzón.)* Ver [REGISTRO #31a](REGISTRO.md).
- [ ] ⚠️ **No atar nada al token actual:** Pedro está revisando permisos y puede **reemplazarlo** por uno de un usuario nuevo de solo lectura — mantener el token como variable de entorno intercambiable (ya es así en el sandbox). Ver [REGISTRO #31](REGISTRO.md).
- [x] ~~🔑 **Validar la API de BIND con el token real**~~ → ✅ **Hecha (6-jul, adelantada un día):** 117 peticiones GET-only, Plan A del saldo CONFIRMADO, flujo MVP 100% sostenible en lectura, PDF por API. Hallazgo duro: **sin recurso de pagos/REP**. Documento: [`../bind-api-sandbox/VALIDACION-API.md`](../bind-api-sandbox/VALIDACION-API.md). Ver [REGISTRO #32](REGISTRO.md).
- [ ] 📨 **Escalar a Pedro las preguntas técnicas de la API** (juntas, esta semana): (1) ¿existe endpoint de **pagos individuales / complementos de pago (REP)** no documentado? — es el hueco más relevante para el flujo PPD, _y ganó caso de negocio el 7-jul: el despacho registra los pagos en BIND uno por uno a mano_; (2) **tabla de mapeo `CFDIUse`** interno → clave SAT; (3) shape del endpoint `/{id}/xml`; (4) ¿webhooks/eventos o solo polling?; (5) ⚠️ **qué token alimenta el Power BI** — el 7-jul Arturo mostró su Power BI conectado con **su** token, pero el kickoff acordó Ara=Power BI / Arturo=desarrollo; BIND emite 1 token por usuario, así que si ambos usos comparten el de Arturo, reemplazarlo por el usuario solo-lectura que planteó Noé rompería uno de los dos. Ver [REGISTRO #32](REGISTRO.md) §10, [#35](REGISTRO.md).