Saltar a contenido

SOURCE-003 Build Mart Post Commit Gate Rehearsal 001

Fecha: 2026-06-18

Estado: PASS / ROLLED_BACK / SIN DATOS PERSISTIDOS

Objetivo

Validar que el write path de:

python scripts/source_003_importer.py build-mart --execute --confirm-local-dev-write SOURCE003_MART_LOCAL_DEV_1886 --rollback-rehearsal

sigue funcionando despues de agregar el segundo gate --commit-local-dev-write, sin habilitar ni ejecutar persistencia real.

Safe point

  • main limpio
  • HEAD/origin: 4032fb837cd75e7602b9ce5bf9b70b459d34964e
  • ultimo commit: tools: add source 003 build mart commit gate

Alcance autorizado

  • local-dev unicamente
  • base autorizada: openclaw_business_observer_dev
  • batch autorizado: 1827f887-9499-4579-b4f3-234d54f41f7f
  • sin produccion
  • sin sync diaria
  • sin runner ni scheduler
  • sin CSV
  • sin tocar La Directa
  • sin runtime O4
  • sin VPS, Docker, NPM ni Portainer
  • sin push ni deploy
  • sin persistencia final en MART

Validaciones previas

  • git status -sb: ## main...origin/main
  • git rev-parse HEAD: 4032fb837cd75e7602b9ce5bf9b70b459d34964e
  • 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 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
  • python scripts/source_003_importer.py build-mart --execute --confirm-local-dev-write SOURCE003_MART_LOCAL_DEV_1886 --rollback-rehearsal --commit-local-dev-write SOURCE003_MART_LOCAL_DEV_COMMIT_1886: BLOCKED

Rehearsal autorizado

Comando ejecutado:

python scripts/source_003_importer.py build-mart --execute --confirm-local-dev-write SOURCE003_MART_LOCAL_DEV_1886 --rollback-rehearsal

Evidencia estructurada

  • BEFORE
  • RAW = 1886
  • CORE = 1886
  • MART = 0/0/0/0
  • INSIDE_TX
  • inserts: daily = 1, seller = 25, customer = 173, sku = 180
  • MART dentro de transaccion = 1/25/173/180
  • AFTER_ROLLBACK
  • RAW = 1886
  • CORE = 1886
  • MART = 0/0/0/0

Resultado final

  • ROLLBACK obligatorio ejecutado
  • db_write_attempted = true
  • data_persisted = false
  • rollback_rehearsal = true
  • transaction_committed = false
  • rollback_executed = true
  • execution_status = ROLLED_BACK

Conclusion

La compuerta agregada con --commit-local-dev-write no rompio el write path del rehearsal. La ruta transaccional sigue operativa, pero el estado final de MART queda preservado en 0/0/0/0 y no se habilita persistencia real en esta tarea.