Files
system-plan/PHASES/FASE_0_LIMPIEZA.md
ARCHITECT 73ae91d337 Auditoria completa y plan de implementacion TZZR
- ARCHITECTURE.md: Estado real de 23 repos
- IMPLEMENTATION_PLAN.md: 7 fases de implementacion
- PHASES/: Scripts detallados para cada fase

Resultado de auditoria:
- 5 repos implementados
- 4 repos parciales
- 14 repos solo documentacion
2025-12-24 08:59:14 +00:00

6.9 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: Actualizar referencias NocoDB

Acción

Buscar y reemplazar referencias a NocoDB por Directus en todos los repos.

Script

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

# 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

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