PDF-008I-B - SOURCE-002 Official Load Scripts Hotfix¶
Fecha: 2026-06-21
Estado: HOTFIX DOCUMENTAL-TECNICO / SCRIPTS OFICIALES CORREGIDOS / SIN EJECUCION
portal_visible = yes
Scope: tenant
tenant_id: alpuntodeventa
Owner: Gabi / Carlos Canu
1. Contexto¶
PDF-008I ejecuto un rehearsal controlado de recarga SOURCE-002 Productos
contra el paquete oficial PDF-008H. El resultado quedo
AMARILLO CONTROLADO / NO-GO PARA RELOAD.
El preflight oficial paso, el backup pre-rehearsal fue creado correctamente y
SOURCE-002 y SOURCE-003 quedaron intactos:
| Control | Resultado |
|---|---|
| backup pre-rehearsal | /opt/backups/openclaw/business-observer-prod/postgres/pre-source-002-reload-rehearsal/20260621T113504Z/openclaw-bo-prod-postgres-pre-source-002-reload-rehearsal-20260621T113504Z.dump |
| backup SHA256 | 05df70e1b25614e4b2048f7efc4edbbf3332d3a29b1da875ff11e9c65a2bd6a4 |
| SOURCE-002 RAW/CORE/catalog/inventory/economic | 314/314/314/314/314/314 |
| SOURCE-002 mart alerts | 100 |
| SOURCE-003 RAW/CORE/MART | 1886/1886/1/25/173/180 |
No hubo writes de carga ni rollback porque el script RAW aborto antes de ejecutar la ruta de escritura.
2. Causa Del NO-GO Controlado¶
La causa directa fue una guarda RAISE EXCEPTION incondicional en el script
RAW oficial PDF-008H:
PDF-008H RAW load candidate intentionally blocked...
La misma condicion existia en los scripts de write posteriores y en rollback. Como proteccion inicial era correcta, pero para un rehearsal aprobado bloqueaba la ejecucion aun cuando el operador hubiese confirmado target, batch, hash y backup.
3. Scripts Analizados¶
Se reviso el paquete oficial completo:
001-source-002-products-official-load-preflight.candidate.sql002-source-002-products-official-load-raw.candidate.sql003-source-002-products-official-load-core.candidate.sql004-source-002-products-official-load-catalog-inventory-economic.candidate.sql005-source-002-products-official-load-marts.candidate.sql006-source-002-products-official-load-post-checks.candidate.sqlrollback-source-002-products-official-load.candidate.sql
4. Hotfix Aplicado¶
Se reemplazaron guardas incondicionales por guardas condicionales en los scripts de write y rollback. Los scripts siguen bloqueados por defecto, pero un gate futuro puede desbloquearlos solo pasando variables explicitas de confirmacion.
Confirmaciones requeridas:
| Variable | Valor requerido |
|---|---|
pdf008h_confirm_raw_load |
PDF008H_LOAD_RAW_APPROVED |
pdf008h_confirm_core_load |
PDF008H_LOAD_CORE_APPROVED |
pdf008h_confirm_derived_load |
PDF008H_LOAD_DERIVED_APPROVED |
pdf008h_confirm_mart_load |
PDF008H_LOAD_MART_APPROVED |
pdf008h_confirm_rollback |
PDF008H_ROLLBACK_SOURCE002_BATCH_APPROVED |
pdf008h_confirm_target_productive_dedicated |
PDF008H_TARGET_PROD_DEDICATED_CONFIRMED |
pdf008h_confirm_rehearsal_authorized |
PDF008H_SOURCE002_REHEARSAL_AUTHORIZED |
pdf008h_confirm_snapshot_sha256 |
c961ffc2b352b6bb3dd0d59bf3d8b7c0f7facff58a9201f7cf45e290141b704f |
pdf008h_confirm_batch_id |
7dddfc3b-2026-48f0-8002-000000000008 |
pdf008h_confirm_pre_rehearsal_backup |
05df70e1b25614e4b2048f7efc4edbbf3332d3a29b1da875ff11e9c65a2bd6a4 |
pdf008h_actual_jsonl_sha256 |
30fb804deba1d6492622f1f64c78f6e2ecbd207fd9a9c3d75bef36b516919531 |
El preflight read-only tambien publica el SHA256 esperado del backup pre-rehearsal para que el gate lo pueda conciliar.
5. Regla Precio/Costo¶
La evidencia documental vigente espera:
- con precio/costo:
312 - sin precio/costo:
2
El rehearsal mostro que los 2 casos sin precio/costo estan representados en
DB como 0, no como NULL. Por eso la regla oficial de calidad y post-checks
queda:
con precio/costo:precio_lista_final IS NOT NULL AND precio_lista_final <> 0 AND costo IS NOT NULL AND costo <> 0sin precio/costo:precio_lista_final IS NULL OR precio_lista_final = 0 OR costo IS NULL OR costo = 0
Esta regla se aplico en CORE, economic y post-checks.
6. Guardas Preservadas¶
Se preserva:
- target obligatorio
openclaw_business_observer_prod; - abort si el target contiene
stagingosandbox; - batch esperado
7dddfc3b-2026-48f0-8002-000000000008; - snapshot SHA256 esperado;
- JSONL SHA256 esperado para RAW;
- backup pre-rehearsal SHA256 esperado;
- conteos
314/314/314/314/314/314/100; - stock
212/100; - precio/costo
312/2bajo reglaNULL OR 0; SOURCE-003intacto1886/1886/1/25/173/180;- rollback batch-scoped, sin drop de tablas.
7. GO / NO-GO Futuro¶
GO futuro solo si existe un gate separado con:
- safe point nuevo;
- autorizacion explicita de rehearsal;
- target productivo dedicado confirmado;
- backup pre-rehearsal existente y SHA256 confirmado;
- batch confirmado;
- snapshot y JSONL con SHA256 confirmado;
- RAW, CORE, derivadas, MART y post-checks ejecutados en orden;
- rollback disponible y aceptado;
- WooCommerce, sync, scheduler, cron y pipelines en
NO-GO.
NO-GO si:
- falta cualquier confirmacion;
- el target no es produccion dedicada;
- aparece staging o sandbox;
- el SHA256 de snapshot, JSONL o backup no coincide;
- el batch no coincide;
- los conteos esperados no cierran;
SOURCE-003cambia;- se pretende activar WooCommerce, sync, scheduler, cron o pipelines.
8. Restricciones De Este Hotfix¶
Durante este hotfix:
- no se ejecuto SQL;
- no se ejecuto carga;
- no se ejecuto
COPY; - no se ejecuto
INSERT/UPDATE/DELETE/TRUNCATE; - no se ejecuto DML;
- no se toco PostgreSQL produccion con writes;
- no se toco PostgreSQL staging;
- no se uso sandbox;
- no se toco WooCommerce;
- no se llamo API WooCommerce;
- no se ejecuto sync;
- no se ejecuto scheduler;
- no se ejecuto cron;
- no se ejecutaron pipelines;
- no se creo snapshot nuevo;
- no se creo backup nuevo;
- no se creo dump nuevo;
- no se versionaron JSONL, CSV ni snapshots temporales;
- no se leyeron secretos;
- no se imprimieron passwords ni connection strings reales;
- no se modifico OpenClaw, NPM, Portainer ni Docker.
9. Proximo Gate Recomendado¶
PDF-008I-C SOURCE-002 products controlled reload rehearsal retry
Alcance recomendado:
- ejecutar safe point nuevo;
- confirmar que
PDF-008I-Besta publicado; - repetir preflight read-only;
- confirmar backup pre-rehearsal vigente o crear uno nuevo solo si el gate lo autoriza explicitamente;
- ejecutar los scripts oficiales
PDF-008Hhotfixados solo con confirmaciones completas; - documentar evidencia de post-checks;
- mantener WooCommerce, sync, scheduler, cron y pipelines en
NO-GO.
10. Estado Final¶
Estado final: VERDE DOCUMENTAL-TECNICO / HOTFIX PUBLICABLE / RECARGA NO EJECUTADA.
La recarga sigue NO-GO hasta un gate separado.