Mejoras de sesion: estabilizacion, IA, Nexus Yonke y marketplace B2B
- F0 blindaje: Redis/Celery, pg_hba sin trust LAN, secretos a env 600, backups, webhook auth, jobs muertos - F1 caja: bugs POS, reembolsos al corte, apartados, CFDI, topes de descuento en cotizacion/apartado - F2/F7 IA de catalogo: autocategorizacion, dedup de SKUs con embeddings, OCR de facturas, descripciones, claves SAT, limpieza de fitment - F3 IA en el flujo: vision Yonke, preguntas MeLi, venta cruzada, anomalias, sinonimos, busqueda semantica (rerank/embeddings) - F4/F8 escala y cartera: /metrics+Prometheus+Grafana, pool, score de credito, churn, metricas multi-tenant - Nexus Yonke (M1-M6): modelo de datos 1-de-1, alta por donador, vitrina publica, MeLi usado, consignacion, garantia por dias, reportes, etiquetas - Marketplace B2B entre yonkes (catalogo + pedidos cross-tenant) - Seguridad: auth en /api/admin/* (35 endpoints), alertas por tenant - Migraciones v4.27/v4.28; timers expire-demos y rollup-metrics
This commit is contained in:
@@ -56,6 +56,10 @@
|
||||
<span>Tenants</span>
|
||||
<span class="badge" id="tenant-count">0</span>
|
||||
</a>
|
||||
<a href="#/portfolio" class="nav-item" data-page="portfolio">
|
||||
<i class="fas fa-briefcase"></i>
|
||||
<span>Cartera</span>
|
||||
</a>
|
||||
<a href="#/health" class="nav-item" data-page="health">
|
||||
<i class="fas fa-heartbeat"></i>
|
||||
<span>Salud</span>
|
||||
@@ -240,6 +244,63 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Portfolio Page -->
|
||||
<section id="page-portfolio" class="page" style="display:none;">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h3><i class="fas fa-briefcase"></i> Salud de Cartera</h3>
|
||||
<div class="card-actions">
|
||||
<span id="portfolio-meta" class="text-muted" style="font-size:12px;"></span>
|
||||
<button class="btn btn-sm btn-secondary" onclick="loadPortfolio()">
|
||||
<i class="fas fa-sync"></i> Refrescar
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Tenant</th>
|
||||
<th>Salud</th>
|
||||
<th>Ventas (día)</th>
|
||||
<th>Ticket prom.</th>
|
||||
<th>Items</th>
|
||||
<th>Clientes</th>
|
||||
<th>Fitment</th>
|
||||
<th>Señales</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="portfolio-table">
|
||||
<tr><td colspan="8" class="text-muted">Cargando...</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h3><i class="fas fa-exclamation-triangle"></i> Anomalías entre Tenants</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div id="anomalies-note" class="text-muted" style="font-size:12px;margin-bottom:8px;"></div>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Tenant</th>
|
||||
<th>Métrica</th>
|
||||
<th>Valor</th>
|
||||
<th>Mediana cohorte</th>
|
||||
<th>z</th>
|
||||
<th>Dirección</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="anomalies-table">
|
||||
<tr><td colspan="6" class="text-muted">Cargando...</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Health Page -->
|
||||
<section id="page-health" class="page" style="display:none;">
|
||||
<div class="grid-3">
|
||||
|
||||
Reference in New Issue
Block a user