Saltar a contenido

PDF-009G - WooCommerce Categories Images Attributes Mapping Candidate

Fecha: 2026-06-22

Estado: MAPPING DOCUMENTAL / READ-ONLY DISCOVERY / SIN WRITES / CANDIDATE

portal_visible = yes

Scope: tenant

tenant_id: alpuntodeventa

Destino funcional: La Directa WooCommerce

Owner: Gabi / Carlos Canu

A. SAFE POINT inicial

Control Resultado
git status -sb ## main...origin/main
git rev-parse HEAD b86a05e91fd07776bf88568661d8c4b1ce2fa3f7
git rev-parse origin/main b86a05e91fd07776bf88568661d8c4b1ce2fa3f7
git log -3 --oneline b86a05e docs: align pdf-009f post-deploy state; c756b3c docs: add pdf-009f woocommerce final payload dry-run; a2ad77a docs: align pdf-009e post-deploy state
git diff --check inicial PASS

Safe point esperado confirmado: HEAD local y origin/main iniciaron alineados en b86a05e91fd07776bf88568661d8c4b1ce2fa3f7, con repo limpio.

B. Estado documental leido

Documentos leidos obligatorios:

  • docs/governance/PROJECT-CONSTITUTION.md
  • CODEX.md
  • docs/governance/ACTIVE-CONTEXT.md
  • docs/PROJECT-STATE.md
  • docs/ROADMAP.md
  • docs/tenants/alpuntodeventa/business-observer/blueprints/PRODUCT-BLUEPRINT.md
  • docs/tenants/alpuntodeventa/business-observer/BUSINESS-OBSERVER-DATA-CONTRACT-001.md
  • docs/tenants/alpuntodeventa/business-observer/source-authority/SOURCE-002-PRODUCTOS-PRODUCTS-AUTHORITY.sql
  • docs/tenants/alpuntodeventa/business-observer/SOURCE-002-FUTURE-LAYER-MAPPING.md
  • docs/tenants/alpuntodeventa/business-observer/production/PDF-009E-WOOCOMMERCE-PRODUCT-RULES-PRE-WRITE-CANDIDATE.md
  • docs/tenants/alpuntodeventa/business-observer/production/PDF-009F-WOOCOMMERCE-FINAL-PAYLOAD-DRY-RUN.md

Confirmacion documental:

  • PDF-009F esta publicado/deployado y deja como proximo gate el mapping real de categorias WooCommerce e imagenes.
  • PDF-009G es el gate documental siguiente para convertir categorias, atributos e imagenes en matriz candidate, sin autorizar create/update/delete.
  • SOURCE-002 vigente filtra Estado = 'ACTIVO'; por eso no hay DE BAJA observable en el snapshot usado para este gate.

C. WooCommerce GET read-only ejecutado

Se ejecutaron solo lecturas GET contra WooCommerce usando credenciales locales sin imprimir valores ni .env.

GET read-only Resultado no sensible
products/categories?per_page=100&hide_empty=false HTTP 200, count=1
products/attributes?per_page=100 HTTP 200, count=0
products?per_page=100 HTTP 200, count=0

No se ejecuto create, update, delete, batch, sync, scheduler, cron ni pipeline.

D. Categorias Woo existentes

id name slug parent count Uso candidate
15 Uncategorized uncategorized 0 0 No aprobado para mapping SOURCE-002

Decision:

  • Uncategorized no se usa como fallback automatico.
  • No existe categoria Woo real aprobada para ningun par Category/SubCategoria de SOURCE-002.

E. Atributos Woo existentes

Atributos globales WooCommerce existentes: 0.

Decision:

  • Marca queda como atributo visible candidate en payload de producto.
  • Crear atributo global Marca requiere gate separado de creacion de atributo.
  • No se crearon atributos en este gate.

F. Categorias/subcategorias SOURCE-002 candidatas

Fuente local segura:

  • snapshots/source-002/SOURCE-002-PRODUCTS-RUNTIME-PREFLIGHT-20260620-173614.csv
  • SHA256 observado: c961ffc2b352b6bb3dd0d59bf3d8b7c0f7facff58a9201f7cf45e290141b704f

Inventario:

Metrica Resultado
filas SOURCE-002 snapshot 314
columnas snapshot 81
SKUs vacios 0
estados observados ACTIVO=314
categorias fuente 13
pares Category/SubCategoria 21
marcas fuente 49
stock positivo 212
stock cero 100
precio faltante o cero 2
columnas de imagen detectadas 0

G. Matriz de mapping categorias

Category fuente SubCategoria fuente Productos Woo parent category candidate Woo child category candidate Woo category id existente Woo slug existente Estado Motivo
1-SNACKS SNACKS TRADICIONALES 137 1-SNACKS SNACKS TRADICIONALES UNKNOWN UNKNOWN NEEDS_CREATE_CATEGORY_GATE No existe categoria Woo aprobada; no usar Uncategorized.
2-ALFAJORES ALFAJORES 33 2-ALFAJORES ALFAJORES UNKNOWN UNKNOWN NEEDS_CREATE_CATEGORY_GATE No existe categoria Woo aprobada.
3- SOPAS INSTANTANEAS SOPAS INSTANTANEAS 18 3- SOPAS INSTANTANEAS SOPAS INSTANTANEAS UNKNOWN UNKNOWN NEEDS_CREATE_CATEGORY_GATE Requiere aprobacion de nombre/slug; contiene espacio despues de guion.
4-GALLETAS DULCES Y BUDINES BUDINES 5 4-GALLETAS DULCES Y BUDINES BUDINES UNKNOWN UNKNOWN NEEDS_CREATE_CATEGORY_GATE No existe categoria Woo aprobada.
4-GALLETAS DULCES Y BUDINES GALLETAS DULCES 22 4-GALLETAS DULCES Y BUDINES GALLETAS DULCES UNKNOWN UNKNOWN NEEDS_CREATE_CATEGORY_GATE No existe categoria Woo aprobada.
5-GALLETAS SALADAS Y DE ARROZ GALLETAS SALADAS Y DE ARROZ 30 5-GALLETAS SALADAS Y DE ARROZ GALLETAS SALADAS Y DE ARROZ UNKNOWN UNKNOWN NEEDS_CREATE_CATEGORY_GATE No existe categoria Woo aprobada.
6-INFUSIONES CAFE 11 6-INFUSIONES CAFE UNKNOWN UNKNOWN NEEDS_CREATE_CATEGORY_GATE No existe categoria Woo aprobada.
6-INFUSIONES YERBA MATE PREMIUM 14 6-INFUSIONES YERBA MATE PREMIUM UNKNOWN UNKNOWN NEEDS_CREATE_CATEGORY_GATE No existe categoria Woo aprobada.
7-BEBIDAS VINOS - GIN 7 7-BEBIDAS VINOS - GIN UNKNOWN UNKNOWN NEEDS_CREATE_CATEGORY_GATE No existe categoria Woo aprobada.
8-ARROZ Y ACEITE ARROZ 6 8-ARROZ Y ACEITE ARROZ UNKNOWN UNKNOWN NEEDS_CREATE_CATEGORY_GATE No existe categoria Woo aprobada.
8-ARROZ Y ACEITE AZUCAR 1 8-ARROZ Y ACEITE AZUCAR UNKNOWN UNKNOWN NEEDS_CREATE_CATEGORY_GATE No existe categoria Woo aprobada.
9-PASTA Y MANTECA DE MANI PASTA Y MANTECA DE MANI 5 9-PASTA Y MANTECA DE MANI PASTA Y MANTECA DE MANI UNKNOWN UNKNOWN NEEDS_CREATE_CATEGORY_GATE No existe categoria Woo aprobada.
BARRITAS Y FRUTOS SECOS FRUTAS SECAS 3 BARRITAS Y FRUTOS SECOS FRUTAS SECAS UNKNOWN UNKNOWN NEEDS_CREATE_CATEGORY_GATE No existe categoria Woo aprobada.
CEREALES CEREALES 7 CEREALES CEREALES UNKNOWN UNKNOWN NEEDS_CREATE_CATEGORY_GATE No existe categoria Woo aprobada.
CONSERVAS Y LEGUMBRES CONSERVAS Y LEGUMBRES-RUBRO 1 CONSERVAS Y LEGUMBRES CONSERVAS Y LEGUMBRES-RUBRO UNKNOWN UNKNOWN NEEDS_CREATE_CATEGORY_GATE Requiere aprobacion de nombre/slug.
VARIOS ADHESIVO 1 VARIOS ADHESIVO UNKNOWN UNKNOWN BLOCKED Requiere decision comercial: podria no ser categoria ecommerce vendible.
VARIOS BAZAR 7 VARIOS BAZAR UNKNOWN UNKNOWN NEEDS_CREATE_CATEGORY_GATE Requiere aprobacion de taxonomia.
VARIOS DEVOLUCION 2 VARIOS DEVOLUCION UNKNOWN UNKNOWN BLOCKED Incluye SKUs sin precio; probable uso operativo/no vendible.
VARIOS EXHIBIDORES 1 VARIOS EXHIBIDORES UNKNOWN UNKNOWN BLOCKED Requiere decision comercial: exhibidores pueden no ser producto vendible.
VARIOS LAMPARA 2 VARIOS LAMPARA UNKNOWN UNKNOWN BLOCKED Requiere decision comercial.
VARIOS LOGISTICA Y ALMACENAMIENTO 1 VARIOS LOGISTICA Y ALMACENAMIENTO UNKNOWN UNKNOWN BLOCKED Requiere decision comercial; suena a servicio/logistica, no catalogo principal.

H. Matriz de marca/atributos

Destino recomendado: atributo visible inicial Marca, no atributo global hasta gate separado.

Marca fuente Productos Destino recomendado Atributo Woo existente Atributo id/slug Estado
100 DUCADOS 5 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
ALWA 4 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
ARROCITAS 2 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
BALDO 2 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
CACHAFAZ 12 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
CAFE 5 HISPANOS 11 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
CANARIAS 4 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
CANDELA 10 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
CASTILLO DULCE 3 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
CELOSAS 2 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
DEC 6 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
DON SATUR 1 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
DOS HERMANOS ARROZ 8 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
DOS HERMANOS GALLETAS 1 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
DOS HERMANOS SNACKS 8 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
DOS HERMANOS TOSTADITAS 2 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
GLINS 2 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
GOOD SHOW 30 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
GORDINFLON 1 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
GUAYMALLEN 4 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
HEREDERO 4 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
JORGELIN 2 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
JORGITO 5 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
KRACHITOS 47 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
LA BUSTINCERA 3 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
LA FRANCISCANA 1 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
LA HOGARENA 1 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
LA PROVIDENCIA 2 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
MACRITAS 10 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
MACROBIOTICAS 3 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
MANI KING 27 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
MANITOON 2 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
MANOLITO 5 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
MARUCHAN 10 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
MINIARROCITAS 3 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
MOLINOS DEL BOSQUE 5 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
MUFASO 3 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
NISSIN 8 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
NO APLICA 3 atributo visible Marca NO UNKNOWN BLOCKED
NUESTROS SABORES 9 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
OKKI 2 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
PRO DE MAN 1 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
RASTA 4 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
RECOLETA 3 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
REI VERDE 8 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
TAKIS 1 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
TOSTEX 17 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
TUNKIPOP 4 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE
WAMPA 3 atributo visible Marca NO UNKNOWN NEEDS_CREATE_ATTRIBUTE_GATE

Nota: LA HOGARENA representa el valor fuente con caracter especial normalizado a ASCII en este documento. El valor fuente exacto debe preservarse en payload/runtime futuro.

I. Matriz de imagenes/placeholder

El snapshot SOURCE-002 no trae columna de imagen, foto, URL, thumbnail ni fuente equivalente. No existe placeholder aprobado.

SKU Imagen fuente disponible Placeholder aprobado Accion candidata Impacto sobre publish/write
0135 NO NO DRAFT_BLOCKED No publish; write de catalogo bloqueado hasta imagen o placeholder aprobado.
0128 NO NO DRAFT_BLOCKED No publish; write de catalogo bloqueado hasta imagen o placeholder aprobado.
2442 NO NO DRAFT_BLOCKED No publish; ademas stock cero.
2443 NO NO DRAFT_BLOCKED No publish; ademas stock cero.
2444 NO NO DRAFT_BLOCKED No publish; ademas stock cero.
2847 NO NO DRAFT_BLOCKED No publish; ademas stock cero.
2446 NO NO DRAFT_BLOCKED No publish; ademas stock cero.
2814 NO NO DRAFT_BLOCKED No publish; write de catalogo bloqueado hasta imagen o placeholder aprobado.
2815 NO NO DRAFT_BLOCKED No publish; write de catalogo bloqueado hasta imagen o placeholder aprobado.
2816 NO NO DRAFT_BLOCKED No publish; categoria e imagen pendientes.
universo 314 SKUs NO NO DRAFT_BLOCKED Ningun producto queda publicable por imagen.

J. Casos READY

No hay casos READY para write/publish real porque todos dependen de crear o aprobar categorias y resolver imagenes.

Reglas conceptuales READY:

  • SKU como identidad.
  • Articulo como name.
  • PrecioListaFinal > 0 como regular_price candidate.
  • Stock como manage_stock, stock_quantity y stock_status.
  • Marca como atributo visible candidate, sin atributo global.

K. Casos NEEDS_CREATE_CATEGORY_GATE

Quedan en NEEDS_CREATE_CATEGORY_GATE todos los pares Category/SubCategoria que representan categorias de catalogo vendible pero no existen en WooCommerce.

Resumen:

  • 15 pares parecen taxonomia comercial vendible y requieren gate de categoria.
  • 6 pares bajo VARIOS o similares requieren decision comercial adicional; varios quedan BLOCKED antes de crear taxonomia.

L. Casos NEEDS_CREATE_ATTRIBUTE_GATE

WooCommerce tiene 0 atributos globales. Si negocio quiere Marca como atributo global reutilizable, el gate posterior debe crear/aprobar ese atributo.

Mientras tanto, el payload candidate puede usar atributo visible por producto, pero eso no deja un atributo global ya existente ni validado.

M. Casos BLOCKED / UNKNOWN

Bloqueo Evidencia Estado
Categorias inexistentes Woo solo tiene Uncategorized, no aprobado NEEDS_CREATE_CATEGORY_GATE o BLOCKED segun categoria
Atributos inexistentes Woo attributes count=0 NEEDS_CREATE_ATTRIBUTE_GATE
Imagen faltante sin placeholder snapshot con 0 columnas de imagen y placeholder no aprobado BLOCKED_FOR_PUBLISH
Precio faltante SKUs 3995, 4010 con PrecioListaFinal = 0.000 BLOCKED
SKU invalido 0 SKUs vacios en snapshot no observado
Producto DE BAJA no observable porque SOURCE-002 vigente filtra ACTIVO UNKNOWN / PENDING_SOURCE
Producto Woo solo Woo products count=0 no observado
Cualquier write requerido crear categoria, atributo, imagen o producto BLOCKED_UNTIL_WRITE_GATE

Productos con precio bloqueado:

SKU Articulo Marca Stock PrecioListaFinal Category SubCategoria
3995 Saldos Clientes NO APLICA 0 0.000 VARIOS DEVOLUCION
4010 Asesoramiento de servicios de marketing NO APLICA 1 0.000 VARIOS DEVOLUCION

N. Archivos creados/modificados

Creado:

  • docs/tenants/alpuntodeventa/business-observer/production/PDF-009G-WOOCOMMERCE-CATEGORIES-IMAGES-ATTRIBUTES-MAPPING-CANDIDATE.md

Actualizados:

  • docs/tenants/alpuntodeventa/business-observer/production/README.md
  • docs/PROJECT-STATE.md
  • docs/ROADMAP.md
  • docs/governance/ACTIVE-CONTEXT.md
  • mkdocs.yml

O. Validaciones ejecutadas

  • git diff --check -> PASS sin errores; solo warnings CRLF esperados en Windows.
  • .\.venv-portal\Scripts\mkdocs.exe build --strict -> PASS.

P. Estado final Git

Estado observado antes de commit:

  • rama main...origin/main
  • archivos modificados:
  • docs/PROJECT-STATE.md
  • docs/ROADMAP.md
  • docs/governance/ACTIVE-CONTEXT.md
  • docs/tenants/alpuntodeventa/business-observer/production/README.md
  • mkdocs.yml
  • archivo nuevo:
  • docs/tenants/alpuntodeventa/business-observer/production/PDF-009G-WOOCOMMERCE-CATEGORIES-IMAGES-ATTRIBUTES-MAPPING-CANDIDATE.md

Q. Recomendacion de commit

Si las validaciones pasan, commit recomendado:

docs: add pdf-009g woocommerce mapping candidate

No hacer commit sin autorizacion posterior.

R. Proximo paso recomendado

Abrir gate separado de categorias/atributos/imagenes con aprobacion humana para:

  • aprobar nombres y slugs finales de product_cat;
  • decidir que pares bajo VARIOS son vendibles y cuales quedan bloqueados;
  • crear categorias WooCommerce solo si hay write gate explicito;
  • decidir si Marca se crea como atributo global pa_marca o queda como atributo visible por producto;
  • aprobar fuente de imagenes por SKU o placeholder oficial;
  • mantener productos sin precio y NO APLICA bloqueados hasta decision comercial.

S. Cierre de restricciones

Durante este gate no se hicieron writes, no se modifico WooCommerce, no se modifico La Directa, no se crearon categorias, no se crearon atributos, no se subieron imagenes, no se toco PostgreSQL con writes, no se imprimieron secretos, no se mostro .env, no se hizo push, no se hizo deploy, no se ejecuto sync, no se ejecuto scheduler, no se ejecuto cron y no se ejecutaron pipelines.