Asunto: Handoff vacaciones Bruno — Batch Release AI (3–6 ago 2026) — qué revisar

Hola equipo,

Me voy de vacaciones. Resumen de lo hecho estos últimos días en batch-release (Timbal / Kymos) y una lista concreta de qué podéis revisar mientras no estoy.

UI local (con `timbal start --profile kymos`): http://localhost:3738
Org Timbal: Kymos Group (331) · proyecto batch-release (1022)

---

## 1. Mensaje clave (calidad / QP)

La checklist firmada NUNCA debe usarse como fuente de evidencia del fill.
Es el formulario que rellenamos, no un documento primario (CoC, CoA, BR, BPR, etc.).

Habíamos llegado a “pinchar” la checklist en retrieval cuando fallaba el OCR del BPR — eso es circular y no válido para QP.

Regla en repo: `.cursor/rules/checklist-never-source.mdc`
Código: eliminado `checklist_pin`; checklist = ruido en `doc_subset`; el upload smart no sube la checklist al KB de fill.

En los runs nuevos (603008, 601004, 601005, Cef 6006, Mero 6002) las citas a Checklist*.pdf son 0.

---

## 2. Código (Git)

Rama: `clean/checklist-detail-view` (tracking origin).

Commit consolidado en remoto (5–6 ago):
- f93bcbb “all” — ~43 files, +7856/−73
  Incluye: parse_policy, bpr_digest, upload_kps_dossier, benchmark, pipeline Ranibizumab, VPN KPS, mejoras checklist-fill, comparación tablas UI/API.

WIP local aún sin commitear / sin push (importante):
- Hardening “checklist never source” + digests BPR más inteligentes
- Benchmarks Cefuroxime / Meropenem / Ranibizumab no-checklist
- Scripts clone TEST (Cef/Mero), run_rani_full_fill, reports en scripts/br3/output/
- Ajustes table comparison / PdfViewer

Si alguien del lado Timbal/IT puede: commitear y pushear ese WIP antes de que alguien suba lotes grandes con parse-all.

### Ideas técnicas a conocer

1) Smart parse (presupuesto Reducto, sin entrar en precios)
   - Hot: CoC / CoA / BR / deviations / OOS
   - Digest BPR (~28 págs: portada + keywords + stride + cola)
   - Skip: swarm shipping, anexos env monitoring, checklist
   - Warm: packing list / temp eval / artwork (acotado)

2) Benchmark: scripts/br3/benchmark.py + JSON en scripts/br3/benchmarks/{ranibizumab,cefuroxime,meropenem}/

3) Clones TEST mock-validated para E2E sin bloquear por review humana.

---

## 3. Base de datos (estado útil — consultado 6 ago)

### Plantillas TEST (status = validated)

| Producto     | Nombre                                         | ID                                       |
|--------------|------------------------------------------------|------------------------------------------|
| Ranibizumab  | [TEST] C003-IG0004-m23e01 Ranibizumab E2E      | 4e97f7c6-d53a-4895-a066-660e0162c88b    |
| Cefuroxime   | [TEST] C003-IG0004-m11e03 Cefuroxime metrics   | 9f50905b-80ef-41e0-b662-1c250512ec7b    |
| Meropenem    | [TEST] C003-IG0004-m25e01 Meropenem metrics    | 09a670a1-2a39-4389-a643-4f767622cabe    |

### Reviews creados/rellenados (3–6 ago) — prioridad de revisión

| Review ID                | Producto     | Lote            | PASS aprox. | Notas                                      | UI path |
|--------------------------|--------------|-----------------|-------------|--------------------------------------------|---------|
| br-rani-602007-bench     | Ranibizumab  | 602007KJE5 UK   | 66.7%       | Baseline fuerte; scope parcial; podía citar checklist | /reviews/br-rani-602007-bench |
| br-rani-601004-v2        | Ranibizumab  | 601004KJE5 UK   | 62.8%       | Sin checklist · digest v2 · mejor no-CL    | /reviews/br-rani-601004-v2 |
| br-rani-603008-no-cl     | Ranibizumab  | 603008KJE5 UK   | 61.9%       | Sin checklist en KB · 0 citas checklist    | /reviews/br-rani-603008-no-cl |
| br-rani-602006-smart     | Ranibizumab  | 602006KJE5 UK   | 60.2%       | Smart parse                                | /reviews/br-rani-602006-smart |
| br-rani-601005-v2        | Ranibizumab  | 601005KJE5 UK   | 60.2%       | Sin checklist                              | /reviews/br-rani-601005-v2 |
| br-cef-6006-metrics      | Cefuroxime   | 6006KFNQL1      | 58.0%       | TEST template · sin checklist · 0 citas    | /reviews/br-cef-6006-metrics |
| br-mero-6002-metrics     | Meropenem    | 6002KFMKP2 UK 1g| 54.8%       | PRIMER BR Meropenem en plataforma (0 prior)| /reviews/br-mero-6002-metrics |
| br-rani-605016-test      | Ranibizumab  | 605016KJE6 IT   | 27.4%       | No Released / dossier incompleto           | /reviews/br-rani-605016-test |
| br-cef-6009-v2           | Cefuroxime   | 6009KFNQL1      | (legacy DB) | Creado 5 ago; no es el run de métricas nuevo | /reviews/br-cef-6009-v2 |

Conteo reviews por producto en KB: Ranibizumab 6 · Cefuroxime 5 · Meropenem 1.

Meropenem 6002: 54 docs subidos (CoA×13, shipping×5, etc.), checklist_in_kb=false, 69 PASS / 37 NF / 18 RR / 2 FAIL sobre 126 fillable.

---

## 4. Qué os pedimos revisar en vacaciones

### A. Calidad / QP (prioridad alta)

1. Abrir br-rani-603008-no-cl o br-rani-601004-v2 y comprobar que las evidencias citadas NO son Checklist*.pdf.
2. Comparar un fill “histórico” (br-rani-602007-bench) vs uno “sin checklist” (603008 / 601004): ¿qué campos se degradan? ¿recuperables con BPR/CoC/BR?
3. Revisar campos NF recurrentes sin checklist:
   - Material balance / page cites mid-BPR
   - Shipping / dataloggers / incoming inspection
   - Artwork / variable data
   - PQR / stabilities / Activity (a menudo no están en el dossier del lote)

### B. Meropenem (producto nuevo — prioridad alta)

4. Revisar checklist TEST Meropenem + review br-mero-6002-metrics: marking de tablas fillable, gaps, si el formulario m25e01 encaja con la práctica Qilu.

### C. Operativa / ingeniería (si alguien Timbal/IT)

5. Commitear/pushear el WIP “no-checklist + smart parse”.
6. No reactivar parse-all de BPRs enormes en uploads de prueba.

### D. No hace falta

- Entrar en detalle de precios/créditos Timbal.
- Reprocesar todos los lotes; con 2–3 reviews de la tabla basta para feedback.

---

## 5. Cómo arrancar la UI en local

```bash
cd <repo-batch-release>
timbal start --profile kymos
# UI http://localhost:3738
```

Reviews:    http://localhost:3738/reviews/<id>
Checklists: http://localhost:3738/checklists/<id>

VPN KPS (si hace falta dossier): scripts/kps-vpn.sh

---

## 6. Contacto

Cualquier duda sobre estos runs o el criterio “checklist ≠ evidencia”, dejar comentario en el review o en el hilo y lo vemos a la vuelta.

Gracias y buen trabajo,
Bruno Perez (Timbal) — bperez@timbal.ai
