SOURCE-003 Credentials Preflight¶
Fecha: 2026-06-11
Estado: VERDE HISTORICO / DB DEDICADA LOCAL CREADA
portal_visible = no
Scope: tenant
tenant_id: alpuntodeventa
Owner: Gabi / Carlos Canu
Fuente de verdad:
docs/tenants/alpuntodeventa/business-observer/design/SOURCE-003-CREDENTIALS-PREFLIGHT.md
1. Objetivo¶
Validar el gate minimo de credenciales locales no versionadas para el destino
PostgreSQL y para el origen SGC MSSQL de SOURCE-003 / Tabla 2 V2, sin
cargar datos, sin ejecutar sync, sin migraciones y sin consultar datos de
negocio.
2. Safe point¶
| Control | Resultado |
|---|---|
git status -sb |
PASS |
git rev-parse HEAD |
2a2d36b16ac316b5b64e5b0fce24bc789920a74a |
3. Destino detectado¶
| Control | Resultado |
|---|---|
| destino esperado vigente | PASS |
| clase de destino | local |
| alias | postgres:postgres-alpuntodeventa-dev-env |
| host | localhost |
| puerto | 5432 |
| database | gestion_de_negocios_core |
| user | openclaw_writer |
| password expuesto | NO |
| sslmode | prefer |
Evidencia segura:
- el alias canonico existe en
system_connectionslocal y apunta agestion_de_negocios_core - el
VPSno contiene un.envoperativo conAPV_DESTINATION_POSTGRES_* - el
PostgreSQLobservado enVPScorresponde al sandbox internoopenclaw_sandbox, sin puerto5432publicado hacia la PC
4. .env local¶
| Control | Resultado |
|---|---|
.env local existe |
PASS |
.env ignorado por Git |
PASS |
variables APV_DESTINATION_POSTGRES_* completas |
PASS |
| secretos versionados | NO |
| connection string documentada | NO |
5. Writer minimo¶
| Control | Resultado |
|---|---|
rol openclaw_writer existia antes |
FAIL |
rol openclaw_writer creado |
PASS |
| password generado sin imprimir | PASS |
CONNECT sobre DB destino |
PASS |
USAGE sobre schema business_observer |
PASS |
SELECT sobre source_003_sales_items |
PASS |
INSERT sobre source_003_sales_items |
PASS |
UPDATE sobre source_003_sales_items |
PASS |
DELETE sobre source_003_sales_items |
FAIL |
6. Validacion PostgreSQL¶
| Control | Resultado |
|---|---|
| cliente de validacion Python/Postgres disponible | PASS |
SELECT 1 |
PASS |
base gestion_de_negocios_core |
PASS |
schema business_observer |
PASS |
tabla business_observer.source_003_sales_items |
PASS |
| conteo actual tabla destino | 1886 |
No se consultaron filas ni datos de negocio.
7. Estado final¶
Decision final historica PostgreSQL: VERDE.
El gate de credenciales destino queda cerrado para conectividad minima y metadatos. No se ejecuto sync, no se cargaron datos, no se hicieron migraciones y no se documento ningun secreto.
8. Revalidacion SGC MSSQL¶
Fecha/hora: 2026-06-11 06:51:31 -0300
Modo: VALIDATE + SECURITY
Alcance: reejecucion minima solo para SGC MSSQL.
Alias validado: mssql:mssql-sgc-ecommerce
Safe point de la corrida:
| Control | Resultado |
|---|---|
git status -sb |
## main...origin/main |
git rev-parse HEAD |
50450aa7ea3f7a77e5acecd2f2b567a7bf20e46c |
Controles de seguridad:
| Control | Resultado |
|---|---|
.env local existe |
PASS |
.env ignorado por Git |
PASS |
.env versionado por Git |
NO |
variables APV_SOURCE_002_MSSQL_* requeridas completas |
PASS |
| secretos expuestos | NO |
| connection string expuesta | NO |
Validacion SGC:
| Control | Resultado |
|---|---|
| cliente de validacion Python/ODBC disponible | PASS |
| driver ODBC declarado disponible | PASS |
| sentencia ejecutada | SELECT 1 AS ok |
SGC SELECT 1 |
PASS |
| tipo de error | none |
| tablas consultadas | NO |
| vistas consultadas | NO |
| datos de negocio consultados | NO |
SOURCE-003 ejecutado |
NO |
| sync ejecutada | NO |
| migraciones ejecutadas | NO |
| carga de datos ejecutada | NO |
PostgreSQL consultado en esta revalidacion |
NO |
VPS, Docker, OpenClaw, NPM tocados |
NO |
Decision final SGC: VERDE.
9. Revalidacion backup PostgreSQL acotado¶
Fecha/hora: 2026-06-11 08:49:53 -0300
Modo: VALIDATE + SECURITY
Safe point de la corrida:
| Control | Resultado |
|---|---|
git status -sb |
## main...origin/main |
git rev-parse HEAD |
6fb96b1216da70a656fa98f907a3d0e0c5b69937 |
Estrategia elegida: Opcion C, backup logico acotado al schema
business_observer.
Justificacion:
- el piloto de ventana movil/backfill corto declarado solo modifica
business_observer.source_003_sales_items - el schema
business_observercontiene1objeto visible para el rol local del destino - el backup completo de
gestion_de_negocios_corefalla por schemas ajenos al piloto, empezando porcobranzas - ampliar
openclaw_writerpara leer todos los schemas de la base seria un aumento innecesario de superficie - crear
openclaw_backupno fue necesario para este gate porque el backup verificable requerido por el piloto queda cubierto con el schema afectado
Credenciales y permisos:
| Control | Resultado |
|---|---|
| usuario usado | openclaw_writer |
usuario openclaw_backup creado |
NO |
credential maintenance local postgres validada |
NO, no habia password disponible en la sesion |
| password expuesto | NO |
| connection string expuesta | NO |
| permisos concedidos en esta corrida | NINGUNO |
openclaw_writer ampliado |
NO |
CONNECT base destino |
PASS |
USAGE schema business_observer |
PASS |
SELECT tabla source_003_sales_items |
PASS |
INSERT tabla source_003_sales_items |
permiso existente |
UPDATE tabla source_003_sales_items |
permiso existente |
DELETE tabla source_003_sales_items |
NO CONCEDIDO |
Backup generado:
| Control | Resultado |
|---|---|
| herramienta | pg_dump 15.15 |
| formato | custom |
| scope | --schema=business_observer |
| base | gestion_de_negocios_core |
| archivo dump | C:\APV\backups_postgres\openclawai\source_003_sales_items_window_pilot_001_schema_gate\20260611-084953-gestion_de_negocios_core-business_observer-pre-window-pilot-001.dump |
| archivo hash | C:\APV\backups_postgres\openclawai\source_003_sales_items_window_pilot_001_schema_gate\20260611-084953-gestion_de_negocios_core-business_observer-pre-window-pilot-001.dump.sha256 |
| archivo TOC | C:\APV\backups_postgres\openclawai\source_003_sales_items_window_pilot_001_schema_gate\20260611-084953-gestion_de_negocios_core-business_observer-pre-window-pilot-001.dump.toc.txt |
| bytes | 382481 |
| sha256 | 90eb1d45c93911b01a85b5545f7ac5529b297750693631fe4b243463cab047cb |
pg_restore --list |
PASS |
| TOC lines | 35 |
Controles de alcance:
| Control | Resultado |
|---|---|
| datos de negocio modificados | NO |
| sync ejecutada | NO |
| carga de datos ejecutada | NO |
| migraciones ejecutadas | NO |
VPS, Docker, OpenClaw, NPM tocados |
NO |
| secretos documentados | NO |
| secretos versionados | NO |
Decision final backup: VERDE.
Proximo paso recomendado: reintentar solo el gate/piloto controlado de ventana
movil con backup acotado business_observer como evidencia previa; no avanzar
a sync diaria, carga masiva, migracion adicional ni produccion final sin
aprobacion explicita.
10. Tarea 4 - Alineacion segura¶
Fecha/hora: 2026-06-11 11:29:51 -03:00
Modo: VALIDATE + SECURITY
Safe point de la corrida:
| Control | Resultado |
|---|---|
git status -sb |
## main...origin/main |
git rev-parse HEAD |
e2e2e8a907200ff277b9e84c6cd147f70b832c6f |
Alcance:
- comparar presencia de variables APV entre
.envlocal no versionado y.envoperativo del VPS - proponer sincronizacion segura sin copiar secretos
- validar solo
PASS/FAILcon secretos existentes - no imprimir valores, connection strings, respuestas HTTP ni errores de drivers
Controles de seguridad:
| Control | Resultado |
|---|---|
.env local existe |
PASS |
/opt/stacks/openclaw/.env en VPS existe |
PASS |
/srv/openclaw/.env en VPS existe |
FAIL |
variables APV esperadas presentes en .env local |
PASS |
variables APV esperadas presentes en /opt/stacks/openclaw/.env |
FAIL |
| secretos impresos | NO |
| connection strings impresas | NO |
contenido de .env local impreso |
NO |
contenido de .env VPS impreso |
NO |
| copia automatica de secretos ejecutada | NO |
.env VPS modificado |
NO |
.env local modificado |
NO |
Validacion minima con secretos existentes:
| Servicio | Validacion | Resultado |
|---|---|---|
PostgreSQL destino local |
SELECT 1 |
PASS |
WooCommerce API |
lectura autenticada minima | PASS |
SGC MSSQL |
SELECT 1 AS ok |
FAIL |
VPS OpenClaw APV env |
presencia de variables APV | FAIL |
Interpretacion:
PostgreSQL destino localyWooCommerce APIfuncionan en el entorno local con secretos ya existentes, pero sus variables APV no estan cargadas en el.envoperativo del VPS.SGC MSSQLconserva variables locales completas, pero en esta corrida no paso la validacion minima; no queda recomendado copiar ni activar esas variables hasta revalidarPASS.- el
.envoperativo observado del VPS es/opt/stacks/openclaw/.env; el path historico sugerido/srv/openclaw/.envno existe.
Propuesta de sincronizacion segura:
| Variable faltante en destino | Entorno origen | Entorno destino | Servicio afectado | Riesgo | Accion recomendada |
|---|---|---|---|---|---|
APV_DESTINATION_POSTGRES_TAG |
local .env |
VPS /opt/stacks/openclaw/.env |
PostgreSQL destino APV |
bajo: alias no secreto puede quedar desalineado | normalizar manualmente solo despues de aprobar el destino VPS |
APV_DESTINATION_POSTGRES_HOST |
local .env |
VPS /opt/stacks/openclaw/.env |
PostgreSQL destino APV |
medio: host equivocado puede apuntar a entorno incorrecto | definir destino remoto antes de cargar; no copiar automaticamente |
APV_DESTINATION_POSTGRES_PORT |
local .env |
VPS /opt/stacks/openclaw/.env |
PostgreSQL destino APV |
bajo: puerto incorrecto bloquea conectividad | normalizar manualmente si se aprueba el mismo destino |
APV_DESTINATION_POSTGRES_DATABASE |
local .env |
VPS /opt/stacks/openclaw/.env |
PostgreSQL destino APV |
alto: base incorrecta puede mezclar datos | aprobar base destino antes de cualquier carga |
APV_DESTINATION_POSTGRES_USER |
local .env |
VPS /opt/stacks/openclaw/.env |
PostgreSQL destino APV |
medio: usuario incorrecto rompe minimo privilegio | crear o confirmar rol remoto antes de copiar |
APV_DESTINATION_POSTGRES_PASSWORD |
local .env |
VPS /opt/stacks/openclaw/.env |
PostgreSQL destino APV |
alto: secreto real | pedir aprobacion explicita y cargar manualmente sin imprimir |
APV_DESTINATION_POSTGRES_SSLMODE |
local .env |
VPS /opt/stacks/openclaw/.env |
PostgreSQL destino APV |
medio: modo TLS incorrecto puede fallar o debilitar transporte | definir politica TLS remota antes de normalizar |
APV_SOURCE_002B_WOO_TAG |
local .env |
VPS /opt/stacks/openclaw/.env |
WooCommerce imagenes |
bajo: alias no secreto puede quedar inconsistente | normalizar manualmente si se aprueba integrar SOURCE-002B en VPS |
APV_SOURCE_002B_WOO_BASE_URL |
local .env |
VPS /opt/stacks/openclaw/.env |
WooCommerce imagenes |
medio: URL equivocada puede consultar otro sitio | validar destino funcional antes de cargar |
APV_SOURCE_002B_WOO_CONSUMER_KEY |
local .env |
VPS /opt/stacks/openclaw/.env |
WooCommerce imagenes |
alto: credencial API | pedir aprobacion explicita y cargar manualmente sin imprimir |
APV_SOURCE_002B_WOO_CONSUMER_SECRET |
local .env |
VPS /opt/stacks/openclaw/.env |
WooCommerce imagenes |
alto: secreto API | pedir aprobacion explicita y cargar manualmente sin imprimir |
APV_SOURCE_002B_WOO_VERSION |
local .env |
VPS /opt/stacks/openclaw/.env |
WooCommerce imagenes |
bajo: version incorrecta rompe endpoint | normalizar manualmente si se aprueba SOURCE-002B |
APV_SOURCE_002B_WOO_TIMEOUT_SECONDS |
local .env |
VPS /opt/stacks/openclaw/.env |
WooCommerce imagenes |
bajo: timeout incorrecto degrada validaciones | normalizar manualmente sin credenciales si se aprueba |
APV_SOURCE_002_MSSQL_TAG |
local .env |
VPS /opt/stacks/openclaw/.env |
SGC MSSQL |
medio: alias equivocado puede mezclar fuentes | no copiar hasta revalidar SGC SELECT 1 en PASS |
APV_SOURCE_002_MSSQL_HOST |
local .env |
VPS /opt/stacks/openclaw/.env |
SGC MSSQL |
alto: host productivo mal cargado puede exponer acceso equivocado | no copiar hasta revalidar conectividad y alcance |
APV_SOURCE_002_MSSQL_PORT |
local .env |
VPS /opt/stacks/openclaw/.env |
SGC MSSQL |
medio: puerto equivocado bloquea o redirige conexion | no copiar hasta revalidar PASS |
APV_SOURCE_002_MSSQL_DATABASE |
local .env |
VPS /opt/stacks/openclaw/.env |
SGC MSSQL |
alto: base equivocada afecta fuente de verdad | no copiar hasta confirmar base y PASS |
APV_SOURCE_002_MSSQL_USER |
local .env |
VPS /opt/stacks/openclaw/.env |
SGC MSSQL |
medio: usuario equivocado rompe permisos esperados | no copiar hasta confirmar minimo privilegio |
APV_SOURCE_002_MSSQL_PASSWORD |
local .env |
VPS /opt/stacks/openclaw/.env |
SGC MSSQL |
alto: secreto real | pedir aprobacion explicita; revalidar PASS antes de carga |
APV_SOURCE_002_MSSQL_DRIVER |
local .env |
VPS /opt/stacks/openclaw/.env |
SGC MSSQL |
medio: driver no disponible en VPS rompe runtime | verificar driver remoto antes de normalizar |
APV_SOURCE_002_MSSQL_TRUST_SERVER_CERTIFICATE |
local .env |
VPS /opt/stacks/openclaw/.env |
SGC MSSQL |
medio: parametro TLS puede debilitar transporte | revisar politica TLS antes de cargar |
APV_SOURCE_002_MSSQL_TIMEOUT_SECONDS |
local .env |
VPS /opt/stacks/openclaw/.env |
SGC MSSQL |
bajo: timeout incorrecto genera falsos fallos | no copiar hasta revalidar conectividad |
Decision de cierre de la tarea 4:
- sincronizacion real:
NO EJECUTADA - secretos copiados:
NO - normalizacion no secreta aplicada:
NO, porque el destino VPS no debe modificarse todavia y.env.exampleya contiene placeholders versionables - aprobacion pendiente: carga manual segura de secretos en VPS, si y solo si Gabi aprueba explicitamente el entorno destino y el set de variables
- estado:
AMARILLO, conPostgreSQLyWooCommercelistos para propuesta de carga segura, ySGC MSSQLpendiente de revalidacionPASS
11. Revalidacion MSSQL SGC Server 2012¶
Fecha/hora: 2026-06-11 12:16:48 -03:00
Modo: VALIDATE + SECURITY
Safe point de la corrida:
| Control | Resultado |
|---|---|
git status -sb |
## main...origin/main; docs de preflight y active context ya modificados |
git rev-parse HEAD |
e2e2e8a907200ff277b9e84c6cd147f70b832c6f |
Alcance ejecutado:
- validar
.envlocal no versionado sin imprimir secretos - diagnosticar DNS, TCP y drivers ODBC SQL Server instalados
- ejecutar exclusivamente
SELECT 1 AS ok - no consultar tablas, vistas ni datos de negocio
- no ejecutar
SOURCE-003 - no tocar
PostgreSQL - no cargar datos ni ejecutar sync
Verificacion segura de .env:
| Control | Resultado |
|---|---|
.env local existe |
PASS |
.env ignorado por Git |
PASS |
.env versionado por Git |
NO |
variables APV_SOURCE_002_MSSQL_* requeridas presentes |
PASS |
| host coincide con valor esperado no secreto | PASS |
| puerto coincide con valor esperado no secreto | PASS |
| database coincide con valor esperado no secreto | PASS |
| user coincide con valor esperado no secreto | PASS |
| password existe | PASS |
| password impreso | NO |
| connection string impresa | NO |
Diagnostico de red:
| Control | Resultado |
|---|---|
DNS hdd0856f4wd.sn.mynetname.net |
PASS |
TCP puerto 45456 |
PASS |
| clasificacion | network_ok |
Diagnostico de driver:
| Driver | Instalado | Probado |
|---|---|---|
ODBC Driver 18 for SQL Server |
SI |
NO, no requerido tras primer PASS |
ODBC Driver 17 for SQL Server |
SI |
SI |
SQL Server |
SI |
NO, no requerido tras primer PASS |
Prueba de conexion MSSQL:
| Control | Resultado |
|---|---|
| alias | mssql:mssql-sgc-ecommerce |
| sentencia ejecutada | SELECT 1 AS ok |
| resultado | PASS |
| driver usado | ODBC Driver 17 for SQL Server |
TrustServerCertificate usado |
yes |
| timeout usado | 15 segundos |
| datos de negocio consultados | NO |
| secretos expuestos | NO |
Configuracion local:
| Control | Resultado |
|---|---|
.env actualizado |
NO, ya estaba alineado con la combinacion operativa |
.env.example actualizado |
NO, ya conserva placeholders y driver recomendado |
| driver efectivo | ODBC Driver 17 for SQL Server |
| trust certificate efectivo | true / yes |
| timeout efectivo | 15 segundos |
Causa raiz operativa:
- el fallo previo de
SGC MSSQLno fue reproducible con el.envlocal actual y la red disponible en esta sesion - DNS y TCP estan sanos
- la combinacion operativa confirmada para SQL Server 2012 es
ODBC Driver 17 for SQL ServerconTrustServerCertificateactivado - no se requirio consultar objetos de negocio ni modificar secretos para dejar
mssql:mssql-sgc-ecommerceenVERDE
Decision de cierre:
- estado:
VERDE - proximo paso: mantener este preflight como gate minimo antes de cualquier piloto futuro; cualquier extraccion, carga, sync o consulta de negocio sigue requiriendo aprobacion explicita separada
12. Preflight admin PostgreSQL local dedicado¶
Fecha: 2026-06-11
Modo: BUILD + SECURITY + VALIDATE
Objetivo: validar una credencial admin local para crear una base dedicada de
Business Observer, separada de gestion_de_negocios_core.
Safe point:
| Control | Resultado |
|---|---|
git status -sb |
## main...origin/main |
git rev-parse HEAD |
e698599ed4f09b07990ab1cdcfd196dddbeb7314 |
Variables requeridas:
APV_LOCAL_POSTGRES_ADMIN_HOSTAPV_LOCAL_POSTGRES_ADMIN_PORTAPV_LOCAL_POSTGRES_ADMIN_DATABASEAPV_LOCAL_POSTGRES_ADMIN_USERAPV_LOCAL_POSTGRES_ADMIN_PASSWORDAPV_LOCAL_POSTGRES_ADMIN_SSLMODE
Resultado:
| Control | Resultado |
|---|---|
.env local existe |
PASS |
.env ignorado por Git |
PASS |
.env versionado por Git |
NO |
| variables admin presentes | PASS |
psql disponible |
PASS |
admin SELECT 1 |
FAIL |
| clasificacion segura del fallo | authentication |
| admin puede crear DB/roles | NO VALIDADO |
| secretos expuestos | NO |
| connection string expuesta | NO |
| decision | STOP |
Controles de alcance:
| Control | Resultado |
|---|---|
database openclaw_business_observer_dev creada |
NO |
schema business_observer creado en DB dedicada |
NO |
roles openclaw_bo_admin/writer/reader creados |
NO |
| grants o default privileges aplicados | NO |
.env local actualizado con APV_BO_LOCAL_POSTGRES_* |
NO |
.env.example actualizado con placeholders |
SI |
gestion_de_negocios_core modificada |
NO |
| datos migrados | NO |
SOURCE-003 ejecutado |
NO |
VPS, Docker, OpenClaw, NPM tocados |
NO |
Decision de cierre:
- estado:
BLOQUEADO - causa: autenticacion fallida de la credencial admin local declarada en
.env - proximo paso: corregir o rotar
APV_LOCAL_POSTGRES_ADMIN_*localmente sin imprimir secretos y reejecutar solo el gate admin antes de crear base o roles
13. Reejecucion preflight admin PostgreSQL local dedicado¶
Fecha: 2026-06-11
Modo: VALIDATE + SECURITY
Objetivo: reejecutar exclusivamente el gate admin local PostgreSQL para validar
la credencial APV_LOCAL_POSTGRES_ADMIN_* sin imprimir secretos y sin crear
objetos.
Safe point:
| Control | Resultado |
|---|---|
git status -sb |
## main...origin/main |
git rev-parse HEAD |
6607cc69f33d558cb2e5e7fab37eeea69a9f246f |
Resultado:
| Control | Resultado |
|---|---|
.env local existe |
PASS |
variables APV_LOCAL_POSTGRES_ADMIN_* requeridas presentes |
PASS |
cliente psql local disponible |
PASS |
admin SELECT 1 |
PASS |
admin CREATEDB |
PASS |
admin CREATEROLE |
PASS |
| secretos expuestos | NO |
| connection string expuesta | NO |
| bases creadas | NO |
| roles creados | NO |
| grants o default privileges aplicados | NO |
gestion_de_negocios_core modificada |
NO |
SOURCE-003 ejecutado |
NO |
VPS, Docker, OpenClaw, NPM tocados |
NO |
Decision de cierre:
- estado:
GATE PASS - alcance habilitado: preparar la creacion de
openclaw_business_observer_deven una tarea posterior separada - alcance no habilitado: crear la base, crear roles, ejecutar cargas, sync diaria, carga masiva, migraciones productivas o produccion final
14. Creacion de DB dedicada Business Observer¶
Fecha: 2026-06-11
Modo: BUILD + SECURITY + VALIDATE
Objetivo: crear el entorno local dedicado minimo de Business Observer APV
despues del gate admin local en PASS.
Safe point inicial:
| Control | Resultado |
|---|---|
git status -sb |
## main...origin/main [ahead 1] |
git rev-parse HEAD |
5490ac4d8f61fd62420c2f3facb06e6454a89bca |
Decision de seguridad:
- los roles objetivo se crearon como
NOLOGIN - no se generaron passwords nuevos
- no se imprimieron secretos
- no se imprimieron connection strings
.envlocal no fue modificado
Estado previo:
| Control | Resultado |
|---|---|
database openclaw_business_observer_dev |
NO EXISTIA |
rol openclaw_bo_admin |
NO EXISTIA |
rol openclaw_bo_writer |
NO EXISTIA |
rol openclaw_bo_reader |
NO EXISTIA |
Resultado:
| Control | Resultado |
|---|---|
database openclaw_business_observer_dev |
CREADA |
schema business_observer |
CREADO |
| owner database/schema | openclaw_bo_admin |
rol openclaw_bo_admin |
CREADO / NOLOGIN |
rol openclaw_bo_writer |
CREADO / NOLOGIN |
rol openclaw_bo_reader |
CREADO / NOLOGIN |
| writer permisos | CONNECT, USAGE, SELECT, INSERT, UPDATE; sin DELETE |
| reader permisos | CONNECT, USAGE, SELECT; sin escritura |
| default privileges futuros | CONFIGURADOS |
| tablas en schema dedicado | 0 |
SOURCE-003 cargado |
NO |
gestion_de_negocios_core modificada |
NO DDL/DML EJECUTADO |
VPS, Docker, OpenClaw, NPM tocados |
NO |
Decision de cierre:
- estado:
VERDE - evidencia completa:
docs/tenants/alpuntodeventa/business-observer/design/POSTGRES-LOCAL-DEV-ENVIRONMENT.md - alcance no habilitado:
SOURCE-003, sync diaria, carga masiva, migraciones productivas, produccion final,VPS,Docker,OpenClaw,NPM