Files
system-plan/PHASES/FASE_0_LIMPIEZA.md

5.6 KiB

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

#!/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

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

# 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: Migracion de base de datos (COMPLETADO)

COMPLETADO: 2025-12-29 - Se migro de NocoDB a Directus. Todas las referencias fueron actualizadas.

Estado

  • Sistema ahora usa Directus en lugar de NocoDB
  • Configuraciones actualizadas en todos los servidores
  • Backups antiguos de NocoDB eliminados de R2

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

<!-- Al inicio de cada README -->
![Estado](https://img.shields.io/badge/Estado-PLANIFICADO-yellow)

Script

#!/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

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)

#!/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 - Migracion NocoDB -> Directus completada (2025-12-29)
  • 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