Commit Graph

44 Commits

Author SHA1 Message Date
Johann 987454767f Registro #89: el timbrado entra a la plataforma (prefactura → CFDI por el puente, EmitCFDI sobre el mismo documento) con dry-run, palabra TIMBRAR, verificación por lectura y bloqueo de reenvío; la cadena completa queda revisada (estado incierto de los POST de escritura cerrado, consecutivo sin la serie B, uso CFDI solo del mismo cliente), probada (212 + 10 pruebas, recorrido completo en navegador) y publicada (f5b3743) para la prueba del 1-oct con Balam; guion de la prueba y capturas del recorrido 2026-09-30 22:45:22 -06:00
Johann 604cb8da8e Registro #88, adenda: credenciales del usuario CTO en producción (autorización explícita de Johann), push de los dos repos y publicación de 597c8a2 en paputec (respaldo, imagen pre-prefactura-20260930, migración QuoteSubtotal aplicada, bundles nuevos); primer ciclo del sync con 50 subtotales y totales USD en su moneda; folios de cotización repetidos en BIND 2026-09-30 21:49:12 -06:00
Johann 63af3d634d Registro #88: el puente de prefactura queda encendido en producción (sin credenciales CTO: bloqueo del control de permisos), «Servicio de Enlace» → 106 y 11 cotizaciones con estado atrasado corregidas; lo que Pedro vio a las 7:26 (totales en cero, botones sin destino, "servicios", Arturo) tenía detrás cuatro bugs reales, corregidos y probados en 597c8a2 del repo del cliente (197 + 10 pruebas, sin push ni publicación); capturas del recorrido local
Pendientes nuevos: credenciales del usuario CTO en /opt/balam/.env (decisión de Johann), push + publicación de 597c8a2, primera prefactura real desde producción con Johann, código de BIND de las 7 categorías restantes, confirmar 2467/1084/1085 con Balam, una sola sesión operando el servidor.
2026-09-30 21:29:22 -06:00
Johann 87993489cd Registro #87, adenda: push y publicación del modal en vivo; el servidor permite el modo automático por decisión de Johann, con el tenant aún en confirmación 2026-09-30 06:55:01 -06:00
Johann bdafb06a03 Registro #87: la API key de cto entra a producción (el sync vuelve), la vista previa se valida contra el BIND real con FAC-171 y se construye en local el modal en vivo con "Aceptar", la campana y el modo automático configurable; capturas y video del recorrido 2026-09-30 01:42:32 -06:00
Johann 085e9037e8 Registro #86, adenda: push y publicación de la vista previa automática; la causa del 500 de BIND es la key de arturo (la de cto responde 200) y falta cambiarla en paputec — Claude Code no pudo escribir ese secreto 2026-09-30 00:55:16 -06:00
Johann daa6a62e86 Registro #86: vista previa automática de la cotización por cada ticket detectado ("Lista para revisar" en la bandeja), construida y probada en local (147 pruebas) y sin publicar; el #85 anota que el sync de producción falla con BIND 500 2026-09-30 00:47:36 -06:00
Johann 7e50c71791 Registro #85: el webhook de Jira FAC queda en producción (paputec) — publicación de 5145801, secreto nuevo, PUT del webhook id 1 y prueba e2e con FAC-170 detectada en 1.05 s (HMAC, verificada) y borrada; producción sigue en Bind__Mode=Write por decisión de Johann 2026-09-30 00:31:55 -06:00
Johann e88b5e1eb8 Fusión de las dos sesiones del 29-sep: el registro del webhook Jira FAC pasa de #71 a #84 (los #71–#83 son las sesiones del 21-ago al 29-sep) y PENDIENTES conserva los dos bloques 2026-09-30 00:19:37 -06:00
JohannVelazquez e5912bfc7e Registro #71, adenda: piloto del webhook Jira FAC validado (webhook id 1, FAC-169 detectado en 14.4 s con HMAC y borrado) y script de operación; pendiente mover el webhook a paputec 2026-09-30 00:01:37 -06:00
JohannVelazquez 6ff8603b48 Registro #71: Fase 1 del plan del webhook — el token de Pedro es admin de Jira (ADMINISTER), 0 webhooks de sitio y API de Automation accesible; solo GET 2026-09-29 18:14:01 -06:00
JohannVelazquez 6601e20ca3 Registro #71: hallazgos del 29-sep de la sesión paralela (primera prefactura real 2467, API público de BIND en 500, cotización 1079 surtida por error) y push de la plataforma (4d6b3d8, candado 409 conservado) 2026-09-29 18:06:12 -06:00
JohannVelazquez d76496f9a3 Registro #71 y plan del webhook Jira FAC → vista previa de cotización BIND: app en modo escritura, token de Jira, ADR-001 intacto (confirmación humana) y 5 fases con una sola escritura auditada en Jira 2026-09-29 18:02:03 -06:00
Johann 3de2739e75 Registros #71–#83: se cierran los huecos del 21-ago al 29-sep — login web a BIND entregado, endpoint interno de la UI (Generar Venta → Prefactura, InvoiceDetails) y modelo de dos endpoints confirmado con el SDK oficial
Reconstruido desde el buzón (informes de Read AI, correos de Noé) y los commits
del repo del cliente: homologación de estados (21-ago), false = remisión (24-ago),
Generar Venta y requisitos de Azure (24/25-ago), la sesión del incidente (26-ago),
tenant de Azure + ítem por código (3-sep), publicación en paputec.mx (3-sep),
cotización en lote (7-sep), primera prefactura observada por DevTools (9-sep),
captura con Pedro (10-sep), corte de horas (15/16-sep) y la sesión de hoy.

- REGISTRO.md: encabezado Periodo, entradas #71–#83, bloque "Estado actual (al 29-sep)".
- PENDIENTES.md: sección 29-sep (credenciales fuera del repo, especificar InvoiceDetails,
  BindUiClient bajo ADR-001, CreatedByName, soporte BIND, error al crear cotización);
  cerrados los huecos de registro, el correo de causa del 21-ago, el experimento de
  folio compartido, el servicio por combo; movimientos de Azure y de la 2386.
- fuentes/: extractos de Read AI (9 informes), correo "Generar Venta" de Noé y el
  hilo de acceso a Azure.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-29 08:06:25 -06:00
Johann db16f62b28 Adenda 2 al #70: API público agotado por eliminación total (Number ignorado, 12 sondas ignoradas, 98 ops) — la vía que queda es el endpoint interno de la UI 2026-08-27 00:10:32 -06:00
Johann 2ae6880565 Adenda al #70: el folio 2384 ES prefactura (confirmado en UI) — prefacturas visibles por API, status 2 = facturada, y el discriminador es la secuencia de folios 2026-08-26 21:28:21 -06:00
Johann a48fba0ba6 Registro #70: el incidente del timbrado y el cierre de la investigación — el API de BIND ni crea ni ve prefacturas; candado triple y experimento decisivo pendiente 2026-08-26 08:01:03 -06:00
Johann d31747df93 Registro #69: primera cotización real en BIND desde FAC-106 (folio 1026) tras 5 intentos; Type=2 y VAT como tasa, indocumentados
Sesión del 21-ago: tres intentos en vivo fallaron (uno con error explícito
que se corrigió al momento, dos con 500 genérico); se aplicó el protocolo,
se verificó por lectura que nada quedó en BIND, y con autorización de Balam
se siguió sobre el ticket de prueba. La causa fue Items[].Type (2 =
servicio, el catálogo donde BIND busca el ID) y, ya emitida, la escala de
Items[].VAT (tasa, no monto) que dejó el folio 1026 con IVA absurdo y debe
cancelarse. La segunda emisión corregida queda pendiente de confirmar.

Incluye el borrador del correo a Balam con la causa y el Excel de campos y
catálogos de BIND que fue el insumo del formulario nuevo de Jira.

Co-Authored-By: Claude Fable 5 (1M context) <noreply@anthropic.com>
2026-08-21 10:16:53 -06:00
Johann a03f81f461 Registro #65 completo: la sesión del 12-ago aparece — Pedro releva a Erika como PM y el primer POST a BIND falla con 500
Transcript de la sesión del 12-ago localizado y archivado en fuentes/.
Reemplaza el stub que quedó abierto en el commit anterior.

Lo que resuelve:
- Noé anuncia que Erika deja de ser la PM y el seguimiento pasa a Pedro.
  El anuncio fue solo verbal; nunca se comunicó por escrito.
- Se decide que la cotización la genera la PLATAFORMA, no el comercial
  (venta nueva). Cierra la contradicción abierta desde el 6-jul.
- El molde que Noé encargó a Araceli nunca existió: Pedro construyó un
  formulario nuevo en vivo, apoyado en el Excel enviado esa mañana.
- El catálogo de BIND está sucio (servicios duplicados, nombres de personas,
  periodos en el nombre). Se acuerda depurarlo y homologar los combos de
  Jira con los de BIND: de ahí salen las 17 categorías de Pedro.
- La primera escritura real a BIND devolvió ERROR 500: faltan campos que el
  portal manda en ceros y la lista de precios. No se creó cotización.
  Corrige la lectura del #64, que quedaba en 73/73 de dry-run.

Reglas abiertas que dejó la sesión: edición vs historial de cotizaciones,
récord de cancelaciones sin ejecutarlas, quitar SLA a los tickets de
cotización, grabaciones de BIND que Pedro no envió, y la herramienta de
seguimiento del proyecto (Jira de paga vs SharePoint vs Drive).

Azure no se tocó pese a estar en la agenda; queda con Pedro.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-20 23:30:05 -06:00
Johann 5d846ecfe5 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>
2026-08-20 23:02:26 -06:00
Johann 83ee332a90 Guion del #64 afinado a la coreografía de pantalla compartida (Actualizar sin caché, Cotizar por fila, vista previa automática)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-12 00:35:01 -06:00
Johann 2fb230ef11 Registro #64: capa ticket→cotización BIND construida la noche previa a la sesión (contrato Quotes_NewQuote del portal público, dry-run + candados, 73/73); script de la prueba listo para enviar a Balam
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-11 21:30:20 -06:00
Johann a2f338fe8f Registro #63: Noé confirma la sesión del mié 12-ago 7:00 am, rutea el molde a Araceli y suma Azure a la agenda; sondeo nocturno del 11-ago: el molde aún no existe y FAC-98 lleva 17 días en el estatus disparador
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-11 20:53:20 -06:00
Johann f28fcc58c9 Merge de la otra máquina: definiciones Jira→BIND del correo 7-ago y verificación por API del 10-ago
La entrada remota '#59' colisionaba con las #59–#61 locales; se renumeró a #62
(con nota de merge) y sus referencias en PENDIENTES se ajustaron. El briefing
de Investigacion-API-Jira toma los párrafos del 10-ago y conserva el sondeo
del 6-ago; PENDIENTES queda con la sección nueva del flujo Jira→BIND.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-11 20:46:21 -06:00
JohannVelazquez cbb29086cc Documenta las definiciones Jira→BIND y su validación por API
Consolida el disparador, los huecos de datos y el protocolo de prueba para continuar el desarrollo con decisiones trazables.
2026-08-11 20:23:55 -06:00
Johann 8d320edfa7 Registra la recuperación técnica del 1-ago (#61), refresca pendientes, borrador de status para Erika y script de pruebas Jira de lectura
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-01 20:21:02 -06:00
Johann 2b862ee769 Registra WhatsApp 28-29 jul (#59) y la aprobación de Noé a la v1.3 (#60); actualiza pendientes
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-01 13:58:38 -06:00
JohannVelazquez 820b8d41c8 Valida y consolida las horas al 27-jul: 41.58 h trazables desde el CSV
Las horas quedan validadas una por una contra evidencia fechada y el Excel
deja de tener cifras escritas a mano: se generan desde Seguimiento-horas.csv
y el script aborta si el detalle no cuadra con el total.

Correcciones de fondo:
- El Excel reportaba 17 h de Etapa 1 contra 16 h en el CSV (override manual).
- Comas sin escapar en el CSV ocultaban 1.00 h del 19-jul al parseo.
- El 10-jul estaba mal etiquetado: la mayor parte fue pulido del prototipo
  (E0-05), no el entregable de cierre (E0-06). Mismo total, etiquetas reales.
- Se incorporan 3.50 h no cobradas con evidencia: diseño del plan de Etapa 1
  (2.00 h) y preparación de las sesiones del 22 y 24-jul (1.50 h).
- Ajustes a la baja de Johann en horas reconstruidas: análisis del Discovery
  1.92→1.00 h, documentación de cobranza 1.50→0.75 h, guion 0.75→0.45 h.
  Las duraciones con transcript no se tocaron. Etapa 0 vuelve al rango 18–22 h.

Presentación del avance:
- Se reporta 75 % de Etapa 1 = 6 de 8 entregables cerrados, en lugar del 82 %
  ponderado anterior, que no distinguía trabajo hecho de trabajo bloqueado.
- Capa de escritura al 40 % (diseño, ADR-001 y modelo listos; falta el
  BindWriteClient y los shapes de los POST) y Jira al 90 % (conectividad
  resuelta el 27-jul; falta qué estatus dispara qué, sujeto a la definición
  de Balam). Modelo de facturas al 85 % con horas propias: ya no aparece
  avanzado con cero horas.
- Las 7 h que acumulaba "Demostración semanal" se reparten a las filas
  técnicas que les corresponden; esa fila se queda con gestión (1.75 h).

Nuevo: Avance-Balam-2026-07-27.xlsx, versión simple para Erika, derivada del
Excel interno para que ambos no puedan contradecirse.

Bitácora #58: Erika confirma que el Excel de horas es el insumo de
FACTURACIÓN, corrige su lectura de la capa de escritura al 100 %, y vuelve a
pedir la propuesta ajustada por Jira (pendiente desde el 22-jul). La sesión
del flujo de facturación no queda agendada: Balam la revisa internamente.
2026-07-28 22:21:04 -06:00
Johann bee2d02f50 Documenta semana 24-27 jul: validación de prototipo (aprobada), API de Jira y avance de Etapa 1
- REGISTRO #55: validación del prototipo Etapa 0 (24-jul) APROBADA; único bloqueo = definir el flujo de facturación en Jira (sesión propuesta por Araceli para el martes 28)
- REGISTRO #56: sesión de API de Jira con Pedro (27-jul) — token PAF a 1 año, bandeja FAC; + seguimiento por correo del mismo día con los límites de velocidad (65k puntos/h, burst/s, por-issue) y entrega del token por Google Drive
- REGISTRO #57: hilo de WhatsApp con Erika (21-27 jul) — coordinación, envío del flujo por correo y reagenda 23→24 jul; 3 imágenes inferidas
- Transcripciones y correo en fuentes/; guion de validación en planeacion/
- Avance-Etapa1-2026-07-27 (nota + mensaje para Erika) y Excel del corte del 27-jul (núcleo verificado; capa de escritura en pausa por definición de Balam)
- Seguimiento-horas: sesiones del 24-jul (validación) y 27-jul (API Jira)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-27 08:18:08 -06:00
Johann bebca73bfe Registra la sesión del 22-jul: alta de clientes en BIND, fee bancario (despacho) y flujo Jira confirmado
Transcript renombrado con fecha, entrada #54 en el REGISTRO, minuta de la
sesión llenada, PENDIENTES al día (PUE/PPD y particularidades de envío no
se tocaron; nuevos compromisos: diagrama Jira y sesión API con Pedro) y
0.80 h confirmadas en el control de horas.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 06:52:33 -06:00
Johann c3e984944e Cierre 21-jul: B4 con sync histórico verificado y B6 aplicado; horas, bitácora y Excel de avance al día 2026-07-22 00:06:54 -06:00
JohannVelazquez 388e772c40 Registra entrega del avance de Etapa 1 a Erika (16-jul, 8:40 pm)
Excel de avance enviado por WhatsApp con acuse de recibo; cierra ese
pendiente y el de permisos de escritura al repo (comprobado con el
push del scaffold). Actualiza fuente #46, REGISTRO y PENDIENTES.
2026-07-19 20:12:25 -06:00
JohannVelazquez e057fb9127 Etapa 1: plan de ejecución, corte de avance del 16-jul y fuentes
- Plan-Etapa1.md: plan detallado por fases/bloques (B0-B9) con horas,
  decisiones de arquitectura y lo bloqueado hasta el 22-jul
- Avance-Etapa1-2026-07-16.md + Excel de avance ordenado por fechas
  (con script generador y de ordenamiento)
- WhatsApp 16-jul: invitación al Git recibida, procedimientos de
  clientes enviados por correo, Erika pide avance de Etapa 1
- Actualiza PENDIENTES y REGISTRO
2026-07-19 20:05:01 -06:00
JohannVelazquez 3a66e5aee1 Actualiza cierre de Etapa 0 y control de horas 2026-07-16 09:44:21 -06:00
JohannVelazquez 8967fa2fed Bitácora #32: validación API BIND completada (adelantada); pendientes de escalación a Pedro 2026-07-06 17:17:27 -06:00
JohannVelazquez 12006b5fa4 Bitácora: correo de Noé pide salvaguardas sobre el token (posible reemplazo por usuario solo-lectura) 2026-07-06 16:38:50 -06:00
JohannVelazquez 231a121327 Bitácora: acuse de recibo del token enviado por Johann (correo 6-jul 3:28 pm) 2026-07-06 15:32:28 -06:00
JohannVelazquez 082a89eb05 Bitácora: correo de Pedro entrega token BIND (usuario Arturo Rosas confirmado); renumera #29-30 2026-07-06 15:07:16 -06:00
JohannVelazquez f69d6104bd Bitácora 6-jul (tarde): token de BIND entregado por correo; sesión de cobranza propuesta para el 7-jul 2026-07-06 15:05:18 -06:00
JohannVelazquez 5f500d9a78 Bitácora: precisa que el Discovery 6-jul cubrió solo facturación; cobranza pendiente (candidata para sesión del 7-jul) 2026-07-06 14:34:37 -06:00
JohannVelazquez b3e4673238 Bitácora 6-jul (mediodía): token de BIND generado, entrega por correo en curso 2026-07-06 12:22:19 -06:00
JohannVelazquez 5004269664 Bitácora 1–6 jul: kickoff, manual de marca y Discovery de facturación
- REGISTRO #22–28: kickoff (1-jul), manual de marca recibido, coordinación
  y sesión de Discovery del proceso de facturación (6-jul), envío de la
  propuesta v1.2 y seguimiento del token de BIND (solicitado por Erika).
- Cambios de reglas del 6-jul: lista blanca eliminada (recordatorios a
  todos) y cotización BIND obligatoria como inicio del flujo.
- marca/: tokens oficiales destilados del manual de imagen corporativa.
- Plan de actividades actualizado con responsables reales post-kickoff.
- Fuentes: transcripts de kickoff y Discovery, WhatsApps de Erika, manual
  de imagen corporativa (PDF).
2026-07-06 10:57:41 -06:00
JohannVelazquez 72b7602e8e Bitácora 8–30 jun: contrato firmado, plan de actividades y skill proposal-pdf
- Comunicaciones (REGISTRO #15–#21): respuesta v1.1 (10-jun), luz verde (16-jun),
  contrato (envío 25-jun, ajustes + firma 26-jun), arranque con Erika y kickoff 1-jul
- Evidencia en fuentes/ (correos 8/10/16-jun, WhatsApp Paola y Erika)
- Contratos (sin firmar y firmado) en propuesta/
- Plan de actividades Etapa 0–3 + guion del kickoff (planeacion/)
- Skill proposal-pdf instalado (.claude/skills) + Propuesta-Balam.pdf regenerada
- README/PENDIENTES al día; limpieza de archivos sueltos; .gitignore (locks de Office)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 12:42:45 -06:00
JohannVelazquez 633d05e330 Reorganiza repo como fuente de la verdad + propuesta v1.0 con emisión de facturas
- Estructura nueva: README maestro, bitacora/ (REGISTRO, PENDIENTES, plantillas),
  propuesta/, fuentes/; material superado a _archivado/
- Propuesta v1.0: MVP BIND-first con emisión asistida MXN/USD (dry-run +
  confirmación, timbra PAC de BIND), 112-136 h / $67,200-$81,600 + IVA,
  stack .NET 10 + EF Core + Angular 21 + PostgreSQL 17 sobre Azure
- Bitácora: historial de correos + 2 llamadas (incl. revisión 4-jun) y pendientes
- Prototipo y diagrama actualizados a v1.0; precios de Azure verificados
- Archivo ajeno (proyecto EOS) retirado del repo

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 10:57:27 -06:00