Saltar a contenido

SOURCE-003 Build Mart Persistence GO/NO-GO 001

Fecha: 2026-06-18

Estado: GO LOCAL-DEV CONDICIONAL / SIN EJECUTAR PERSISTENCIA EN ESTA TAREA

Objetivo

Emitir auditoria final GO/NO-GO antes de una posible primera persistencia real local-dev de:

python scripts/source_003_importer.py build-mart --execute --confirm-local-dev-write SOURCE003_MART_LOCAL_DEV_1886 --commit-local-dev-write SOURCE003_MART_LOCAL_DEV_COMMIT_1886

sin ejecutar ese comando, sin escribir en DB y sin repetir el rehearsal.

Safe point

  • main limpio
  • HEAD/origin: a274bc02e62d82175a13c55915718dff8d4cbaff
  • ultimo commit: docs: validate source 003 post commit gate rehearsal

Alcance y prohibiciones respetadas

  • solo auditoria local repo + DB read-only
  • sin INSERT, COPY, UPDATE, DELETE
  • sin ejecutar doble gate correcto
  • sin ejecutar --rollback-rehearsal
  • sin modificar DB
  • sin tocar La Directa
  • sin tocar runtime O4
  • sin VPS, Docker, NPM, Portainer
  • sin push ni deploy

Validaciones ejecutadas

  • git status -sb: ## main...origin/main
  • git rev-parse HEAD: a274bc02e62d82175a13c55915718dff8d4cbaff
  • python -m py_compile scripts/source_003_importer.py: PASS
  • python scripts/source_003_importer.py build-mart: DRY_RUN
  • python scripts/source_003_importer.py build-mart --execute: BLOCKED
  • python scripts/source_003_importer.py build-mart --execute --confirm-local-dev-write WRONG_TOKEN: BLOCKED
  • python scripts/source_003_importer.py build-mart --execute --confirm-local-dev-write SOURCE003_MART_LOCAL_DEV_1886: BLOCKED
  • python scripts/source_003_importer.py build-mart --execute --confirm-local-dev-write SOURCE003_MART_LOCAL_DEV_1886 --commit-local-dev-write WRONG_TOKEN: BLOCKED

Estado DB read-only

  • fingerprint aprobado: ::1/128:5432|openclaw_business_observer_dev|postgres|PostgreSQL 15.15, compiled by Visual C++ build 1944, 64-bit
  • postgres-sandbox: no observado
  • DB autorizada confirmada: openclaw_business_observer_dev
  • RAW total rows = 1886
  • CORE batch rows = 1886
  • MART daily/seller/customer/sku = 0/0/0/0
  • estimates actuales: 1/25/173/180
  • missing keys seller/customer/sku: 0/0/0
  • filas preexistentes del batch en MART: 0/0/0/0
  • duplicados de salida por grain: 0/0/0/0
  • constraints MART requeridos presentes: 43/43
  • indices MART requeridos presentes: 12/12

Gate status

  • rollback rehearsal post-commit-gate ya publicado: docs/tenants/alpuntodeventa/business-observer/design/SOURCE-003-BUILD-MART-POST-COMMIT-GATE-REHEARSAL-001.md
  • build-mart --execute sin gate completo sigue BLOCKED
  • token principal correcto sin --commit-local-dev-write sigue BLOCKED
  • --commit-local-dev-write WRONG_TOKEN sigue BLOCKED
  • produccion sigue bloqueada
  • sync diaria sigue bloqueada

Decision

GO para una futura tarea separada de primera persistencia real local-dev solo si se mantiene este mismo estado base y se ejecuta exclusivamente el doble gate correcto con evidencia propia.

NO-GO para cualquier cosa fuera de ese alcance: produccion, sync diaria, rehearsal repetido, bypass de gates, DB distinta o cambio de counts base.

Riesgos restantes

  • el COMMIT real todavia no fue ejecutado ni observado en esta auditoria
  • cualquier drift posterior en RAW, CORE, MART o fingerprint invalida este dictamen
  • el significado comercial de vendedor / territory_key, CMV, costos y contribution_amount mantiene las advertencias previas del dominio

Conclusion

La primera persistencia real MART en local-dev queda GO desde el punto de vista de precondiciones y gates, pero no fue ejecutada en esta tarea. El estado auditado al cierre sigue en RAW = 1886, CORE = 1886, MART = 0/0/0/0, con produccion y sync diaria bloqueados.