-- ============================================================
-- LIMPIEZA DE FILAS FOSILES DE LA SYNC DBF - stock (2026-07-22)
-- ============================================================
-- Fosiles: filas insertadas por un camino viejo del publicador que no pasaba
-- por gr_oCursor_db2sql_web_SERVICES => BORRADO vacio + auditoria NULL.
-- La sync actual NUNCA las toca (busca WHERE BORRADO='N'), asi que conservan
-- precios/stock de otra epoca y la web puede mostrarlos (BORRADO='' cuenta
-- como "vivo" para sinBorrados). Ver TRABAJO_CLAUDE.md Seccion 69.
--
-- Huella exacta (las tres condiciones juntas): BORRADO fuera de dominio
-- + PUBLICADO NULL + ULTIMA_ACT NULL. Idempotente.
--
-- El publicador ya tiene la garantia (gr_oCursor_db2sql_stock.prg sella
-- BORRADO 'N'/'S' siempre): si un fosil REAPARECE tras esta limpieza,
-- es la prueba de que quedo un camino viejo activo en el desktop.

DELETE FROM stock
WHERE (BORRADO IS NULL OR BORRADO NOT IN ('N', 'S'))
  AND PUBLICADO IS NULL
  AND ULTIMA_ACT IS NULL;

-- Verificacion post-limpieza (debe dar 0):
-- SELECT COUNT(*) FROM stock WHERE BORRADO IS NULL OR BORRADO NOT IN ('N','S');
