# PROTOCOLO ANDAMIO

Andamio es un sistema de memoria de proyectos. Guarda lo que sabes de cada proyecto en celdas fijas,
para que puedas cambiar de modelo de IA sin volver a explicar todo desde cero.

Funciona con cualquier IA que pueda hacer HTTP. No necesita MCP, ni plugin, ni un proveedor específico.

---

## 1. LA MATRIZ

Cada proyecto guarda su conocimiento en 10 celdas fijas, agrupadas en 4 bloques.
Todo hecho que aprendas va en UNA de estas celdas:

### QUÉ ES
| celda | qué va aquí |
|---|---|
| `definicion` | Qué es esto en una línea, para alguien que nunca lo escuchó |
| `objetivo` | Cómo se ve el éxito, con número o fecha si se puede |

### DÓNDE ESTÁ
| celda | qué va aquí |
|---|---|
| `estado` | Dónde está parado hoy, qué ya existe y funciona |
| `activos` | URLs, archivos, cuentas, accesos, datos que ya existen |
| `personas` | Quién es quién, su rol y cómo se le contacta |

### QUÉ SE APRENDIÓ
| celda | qué va aquí |
|---|---|
| `decisiones` | Qué se decidió y POR QUÉ, para no rediscutirlo |
| `aprendizajes` | Qué se intentó y NO funcionó, y por qué falló |

### QUÉ FALTA
| celda | qué va aquí |
|---|---|
| `bloqueos` | Qué está frenando esto ahora mismo |
| `proximos` | La siguiente acción concreta, no una intención vaga |
| `preguntas` | Lo que todavía no sabemos y hay que averiguar |

**Regla de oro:** un hecho = una línea corta y autocontenida. Nada de párrafos.
Si no cabe en una línea, son dos hechos.

**Por qué celdas fijas y no texto libre:** porque lo que falta se puede *ver*. Una celda vacía es un
hueco, y un hueco es una pregunta que la IA te tiene que hacer. Con texto libre nunca sabes qué falta.

---

## 2. LEER EL CONTEXTO

```
GET https://dnvrvdwnwfngopvnipzc.supabase.co/functions/v1/andamio-api?token=TU_TOKEN
```

| parámetro | qué hace |
|---|---|
| `&huecos=1` | agrega la lista de celdas vacías de cada proyecto |
| `&proyecto=<nombre o id>` | trae uno solo en vez de todos |
| `&formato=json` | devuelve JSON crudo en vez de markdown |
| `&vista=protocolo` | devuelve este protocolo, ya con tu token puesto |

Devuelve markdown plano. Cualquier modelo lo entiende sin parsear nada.

---

## 3. ESCRIBIR LO APRENDIDO

```
POST https://dnvrvdwnwfngopvnipzc.supabase.co/functions/v1/andamio-api
Content-Type: application/json

{"token":"TU_TOKEN","accion":"importar_md","autor":"<tu modelo>","markdown":"<el bloque de abajo>"}
```

El bloque va en este formato exacto. **Borra las secciones donde no tengas nada real que decir.**

```
proyecto: Nombre exacto si ya existe, o uno nuevo
categoria: personal|laboral|investigacion|salud|mejora-continua|negocio|otro
estado: activo|pausado|completado

## definicion
- Una línea de qué es esto

## objetivo
- Cómo se ve el éxito

## estado
- Dónde está parado hoy

## activos
- URLs, cuentas, accesos que ya existen

## personas
- Quién es quién y cómo se le contacta

## decisiones
- Qué se decidió y por qué

## aprendizajes
- Qué se intentó y no funcionó

## bloqueos
- Qué está frenando esto

## proximos
- La siguiente acción concreta

## preguntas
- Lo que todavía no sabemos

## tareas
- [x] tarea ya terminada
- [ ] tarea pendiente

## bitacora
- Qué se avanzó en esta sesión
```

**Cómo se comporta al guardar:**

- Si el proyecto no existe, se crea. Si existe (match por nombre), se actualiza.
- Los hechos **se suman, no se pisan**. Repetir un hecho idéntico no lo duplica.
- Las tareas se identifican **por su texto**: repetir el mismo texto la actualiza en vez de duplicarla.
- La bitácora es append-only y queda firmada con el nombre del modelo que la escribió.

**Si la IA no tiene acceso a internet:** que entregue ese mismo bloque como texto en su respuesta,
y péganlo en Andamio con el botón "Pegar resumen de otra IA".

---

## 3-BIS. LOS ENCARGOS (despachar trabajo concreto)

Un **encargo** es una unidad de trabajo autocontenida. Sirve para tirarle una tarea a cualquier IA
—incluida una con créditos gratis que nunca vio tus proyectos— sin explicarle nada.

Cada encargo tiene su propia URL:

```
GET .../andamio-api?token=TU_TOKEN&encargo=<codigo>
```

Esa URL sola trae **todo**: qué hay que hacer, cuándo está terminado, el contexto completo del proyecto,
y las instrucciones de cómo devolver el resultado. Eso es lo único que pegas en el chat.

**Ciclo de vida:**

```
abierto → tomado → entregado → aceptado
                        ↓
                    devuelto (con el motivo) → vuelve a estar disponible
```

| paso | quién | qué pasa |
|---|---|---|
| crear | tú | defines título, instrucciones y **qué esperas recibir** |
| tomar | la IA | marca que está trabajando, para que otra no lo duplique |
| entregar | la IA | manda el resultado; queda registrado en la bitácora |
| aceptar / devolver | tú | cierras, o lo devuelves con el motivo para que otra IA lo corrija |

**La protección anti-duplicado:** si una IA intenta tomar un encargo que ya tomó otra, el sistema la
rechaza y le dice quién lo tiene. Así puedes repartir trabajo entre varios modelos sin que se pisen.

**Lo más importante al crear un encargo:** define bien *cuándo está terminado*. Sin eso la IA no sabe
dónde parar y te devuelve cualquier cosa.

Ver todo el trabajo pendiente:
```
GET .../andamio-api?token=TU_TOKEN&vista=encargos
```

---

## 4. LA SECUENCIA DE ITERACIONES

Cada chat con cualquier IA es una pasada sobre la matriz. Siempre en este orden:

### Iteración 1 — VOLCADO
> Barata. Hazla siempre, al final de cualquier sesión de trabajo.

Lee el GET con `&huecos=1`. Después revisa TODO lo que se habló en el chat y extrae cada hecho nuevo,
clasificado en la faceta que corresponda. Mándalo por POST.

### Iteración 2 — HUECOS
> Cuesta tiempo del humano. Hazla cuando haya espacio.

Mira las celdas vacías que devolvió el GET. Haz preguntas concretas, **de a una**, para llenarlas.
Empieza por el bloque QUÉ FALTA. No preguntes lo que ya está guardado.

### Iteración 3 — CONTRADICCIONES
> Al final, cuando la matriz ya tiene volumen.

Compara lo guardado con lo que se habló hoy. Di qué quedó obsoleto o se contradice.
**No lo borres tú** — dilo y que el humano decida.

El orden importa: volcado primero porque es barato, huecos después porque consume tiempo humano,
contradicciones al final porque solo tiene sentido cuando ya hay masa crítica guardada.

---

## 5. OTRAS ACCIONES

Todas por POST al mismo endpoint, cambiando `accion`:

| acción | campos | para qué |
|---|---|---|
| `importar_md` | `markdown`, `autor` | la principal — todo de una vez |
| `crear_encargo` | `proyecto_id`, `titulo`, `instrucciones`, `entregable` | despachar trabajo nuevo |
| `tomar_encargo` | `codigo`, `autor` | la IA marca que está trabajando |
| `entregar_encargo` | `codigo`, `resultado` | la IA entrega el resultado |
| `agregar_hecho` | `proyecto_id`, `faceta`, `contenido` | un solo hecho en una celda |
| `agregar_nota` | `proyecto_id`, `nota`, `autor` | una línea de bitácora |
| `agregar_paso` | `proyecto_id`, `texto` | una tarea nueva |
| `marcar_paso` | `paso_id`, `hecho` | marcar tarea hecha/pendiente |
| `crear_proyecto` | `nombre`, `categoria`, `descripcion` | proyecto vacío |
| `actualizar_estado` | `proyecto_id`, `estado` | activo/pausado/completado |

Todas requieren `token`. El token identifica al dueño: cada uno solo ve y escribe lo suyo.
