# FASE 0: LIMPIEZA Y CONSOLIDACIÓN **Complejidad:** Simple **Duración estimada:** 1 día --- ## OBJETIVO Eliminar confusión, actualizar documentación obsoleta, sincronizar estado real con documentación. --- ## PREREQUISITOS - Acceso SSH a ARCHITECT - Token de escritura Gitea: `ac5a604b9aac5cee81192a656fc918f9efa3834b` --- ## PASO 0.1: Limpiar repo architect ### Acción Eliminar carpetas obsoletas que causan confusión. ### Script ```bash #!/bin/bash # 0.1-limpiar-architect.sh set -e WORK_DIR="/tmp/cleanup-architect" SSH_KEY="/home/orchestrator/.ssh/tzzr" echo "=== Limpiando repo architect ===" # Clonar rm -rf $WORK_DIR mkdir -p $WORK_DIR cd $WORK_DIR GIT_SSH_COMMAND="ssh -i $SSH_KEY -p 2222 -o StrictHostKeyChecking=no" \ git clone ssh://git@localhost:2222/tzzr/architect.git cd architect # Eliminar carpetas obsoletas rm -rf app-v2 orchestrator-setup orchestrator-v3 local # Commit git add -A git commit -m "Limpieza: eliminar carpetas obsoletas (app-v2, orchestrator-*, local)" # Push GIT_SSH_COMMAND="ssh -i $SSH_KEY -p 2222" git push origin main echo "=== Completado ===" ``` ### Verificación ```bash curl -s "http://localhost:3000/api/v1/repos/tzzr/architect/contents" \ -H "Authorization: token 5ca10e5b71d41f9b22f12d0f96bfc2e6de5c2c7f" | jq -r '.[].name' # No debe aparecer: app-v2, orchestrator-setup, orchestrator-v3, local ``` ### Rollback ```bash # Git revert del último commit cd $WORK_DIR/architect git revert HEAD --no-edit GIT_SSH_COMMAND="ssh -i $SSH_KEY -p 2222" git push origin main ``` --- ## PASO 0.2: Actualizar referencias NocoDB ### Acción Buscar y reemplazar referencias a NocoDB por Directus en todos los repos. ### Script ```bash #!/bin/bash # 0.2-actualizar-nocodb.sh set -e WORK_DIR="/tmp/cleanup-nocodb" SSH_KEY="/home/orchestrator/.ssh/tzzr" TOKEN="5ca10e5b71d41f9b22f12d0f96bfc2e6de5c2c7f" # Repos a revisar REPOS="deck corp hst system contratos-comunes" rm -rf $WORK_DIR mkdir -p $WORK_DIR cd $WORK_DIR for repo in $REPOS; do echo "=== Procesando $repo ===" GIT_SSH_COMMAND="ssh -i $SSH_KEY -p 2222 -o StrictHostKeyChecking=no" \ git clone ssh://git@localhost:2222/tzzr/$repo.git cd $repo # Buscar y reemplazar find . -name "*.md" -type f -exec grep -l "NocoDB" {} \; | while read file; do echo " Actualizando: $file" sed -i 's/NocoDB/Directus/g' "$file" sed -i 's/nocodb/directus/g' "$file" done # Si hay cambios, commit if [[ -n $(git status --porcelain) ]]; then git add -A git commit -m "Actualizar referencias: NocoDB -> Directus (migración completada)" GIT_SSH_COMMAND="ssh -i $SSH_KEY -p 2222" git push origin main echo " Cambios pusheados" else echo " Sin cambios" fi cd .. done echo "=== Completado ===" ``` ### Verificación ```bash # No debe encontrar NocoDB en ningún README actual for repo in deck corp hst system contratos-comunes; do result=$(curl -s "http://localhost:3000/api/v1/repos/tzzr/$repo/raw/README.md" \ -H "Authorization: token 5ca10e5b71d41f9b22f12d0f96bfc2e6de5c2c7f" | grep -i nocodb || echo "") if [[ -n "$result" ]]; then echo "WARN: NocoDB encontrado en $repo" else echo "OK: $repo limpio" fi done ``` --- ## PASO 0.3: Sincronizar READMEs con realidad ### Acción Añadir badges de estado a cada repo indicando si está IMPLEMENTADO, PARCIAL, o PLANIFICADO. ### Ejemplo de Badge ```markdown ![Estado](https://img.shields.io/badge/Estado-PLANIFICADO-yellow) ``` ### Script ```bash #!/bin/bash # 0.3-sincronizar-estados.sh # Definición de estados declare -A ESTADOS ESTADOS[clara]="IMPLEMENTADO" ESTADOS[hst]="IMPLEMENTADO" ESTADOS[packet]="IMPLEMENTADO" ESTADOS[orchestrator]="IMPLEMENTADO" ESTADOS[context]="IMPLEMENTADO" ESTADOS[grace]="PARCIAL" ESTADOS[penny]="PARCIAL" ESTADOS[the-factory]="PARCIAL" ESTADOS[deck]="PARCIAL" ESTADOS[alfred]="PLANIFICADO" ESTADOS[jared]="PLANIFICADO" ESTADOS[margaret]="PLANIFICADO" ESTADOS[mason]="PLANIFICADO" ESTADOS[feldman]="PLANIFICADO" ESTADOS[sentinel]="PLANIFICADO" ESTADOS[vision-builder]="PLANIFICADO" ESTADOS[locker]="PLANIFICADO" ESTADOS[mind-link]="PLANIFICADO" # Colores de badge declare -A COLORES COLORES[IMPLEMENTADO]="green" COLORES[PARCIAL]="orange" COLORES[PLANIFICADO]="yellow" SSH_KEY="/home/orchestrator/.ssh/tzzr" WORK_DIR="/tmp/sync-estados" rm -rf $WORK_DIR mkdir -p $WORK_DIR cd $WORK_DIR for repo in "${!ESTADOS[@]}"; do estado="${ESTADOS[$repo]}" color="${COLORES[$estado]}" badge="![Estado](https://img.shields.io/badge/Estado-${estado}-${color})" echo "=== $repo: $estado ===" GIT_SSH_COMMAND="ssh -i $SSH_KEY -p 2222 -o StrictHostKeyChecking=no" \ git clone ssh://git@localhost:2222/tzzr/$repo.git 2>/dev/null cd $repo # Verificar si README tiene badge if grep -q "img.shields.io/badge/Estado" README.md 2>/dev/null; then # Actualizar badge existente sed -i "s|!\[Estado\](https://img.shields.io/badge/Estado-[^)]*)|${badge}|g" README.md else # Añadir badge al inicio if [[ -f README.md ]]; then echo -e "${badge}\n\n$(cat README.md)" > README.md fi fi if [[ -n $(git status --porcelain) ]]; then git add README.md git commit -m "Añadir badge de estado: $estado" GIT_SSH_COMMAND="ssh -i $SSH_KEY -p 2222" git push origin main fi cd .. done ``` --- ## PASO 0.4: Decidir sobre mind-link ### Opciones 1. **Eliminar repo** - Si no se va a implementar 2. **Marcar como ABANDONADO** - Si puede implementarse en el futuro 3. **Implementar básico** - Si es prioritario ### Recomendación Marcar como ABANDONADO por ahora, implementar después de FASE 4. ### Script (opción 2) ```bash #!/bin/bash # 0.4-archivar-mind-link.sh SSH_KEY="/home/orchestrator/.ssh/tzzr" WORK_DIR="/tmp/mind-link-archive" rm -rf $WORK_DIR mkdir -p $WORK_DIR cd $WORK_DIR GIT_SSH_COMMAND="ssh -i $SSH_KEY -p 2222 -o StrictHostKeyChecking=no" \ git clone ssh://git@localhost:2222/tzzr/mind-link.git cd mind-link # Actualizar README cat > README.md << 'EOF' ![Estado](https://img.shields.io/badge/Estado-ABANDONADO-red) # MIND LINK > **NOTA:** Este repo está temporalmente archivado. Se implementará después de completar el pipeline principal (FASE 4). ## Concepto Original Interfaz para conectar ideas y conceptos. Visualización de relaciones entre elementos. ## Funciones Planificadas - Conexión de conceptos - Grafos de conocimiento - Navegación visual - Búsqueda semántica --- *Archivado: 2025-12-24* EOF # Eliminar carpetas vacías rm -rf src docs git add -A git commit -m "Archivar temporalmente: implementar post-FASE 4" GIT_SSH_COMMAND="ssh -i $SSH_KEY -p 2222" git push origin main ``` --- ## CHECKLIST FINAL FASE 0 - [ ] 0.1 - Carpetas obsoletas eliminadas de architect - [ ] 0.2 - Referencias a NocoDB actualizadas - [ ] 0.3 - Badges de estado en todos los READMEs - [ ] 0.4 - mind-link archivado - [ ] Todos los cambios pusheados a Gitea - [ ] Sin errores en los repos --- ## SIGUIENTE FASE Continuar con [FASE_1_PIPELINE_MINIMO.md](FASE_1_PIPELINE_MINIMO.md)