# La estructura

La carpeta que un agente puede operar, el mapa que la explica y el contrato de
metadatos que la hace consultable. Esta es la capa de datos: qué existe y dónde
está.

## Los ejes

```
mi-operacion/
├── MAPA.md              # el índice que se lee antes que nada
├── 00-empresa/          # lo tuyo: fiscal, marca, decisiones, personas
├── 01-lineas/           # qué vendes, una carpeta por línea de negocio
├── 02-cuentas/          # con quién: ficha, reuniones, propuestas, contratos
├── 03-propuestas/       # solo índice y numeración global
├── 04-casos/            # trabajo entregado convertido en activo de venta
├── 05-operacion/        # cómo: agenda, plantillas, procedimientos, decisiones
├── 06-discovery/        # problemas de cliente antes de que exista propuesta
├── 07-ideas/            # negocios propios que todavía no son línea
├── 08-publicar/         # material destinado a salir en público
└── 99-archivo/          # lo descontinuado, que no se borra ni estorba
```

Cada eje responde una pregunta distinta y por eso un dato pertenece a uno solo.
Cuando dudas dónde va algo, casi siempre es porque estás mezclando dos.

El número delante no es decoración. Fija el orden en que se lee la carpeta,
que es el orden del trabajo, y hace que el nombre no se pueda cambiar sin que
se note. `02-cuentas` renombrado a `clientes` rompe todas las referencias de
golpe y con el prefijo alguien lo ve antes de guardar.

No todos los ejes valen para todos. Si vendes un solo producto, `01-lineas`
sobra hasta que aparezca el segundo. Si no publicas nada, `08-publicar` no
existe. Lo que no conviene mover es la separación entre quién eres, qué vendes,
a quién y cómo lo haces.

## Cómo se ve un eje por dentro

Una cuenta:

```
02-cuentas/cadena-de-restaurantes/
├── cuenta.md                     # quién es, fiscal, contrapartes, decisor, estado
├── reuniones/2026-08-14-kickoff.md
├── propuestas/
│   └── 187-2026-08-14/
│       └── propuesta.md
├── contratos/
└── intel/                        # research específico de esta cuenta
```

Una línea de negocio, con la misma forma en todas para que el agente pueda
generalizar de una a otra:

```
01-lineas/linea-a/
├── overview.md                   # qué es, por qué existe, estado
├── comercial/                    # precios, tiers, verticales, a quién le sirve
├── material/                     # one pager, deck, demo, respuestas frecuentes
├── prospeccion/                  # secuencias y ángulos de entrada
├── research/                     # mercado y competencia
└── aprendizajes.md               # lo que cada negocio devuelve a la línea
```

Ese último archivo es el que evita que la línea envejezca. Sin él, `01-lineas`
se queda con los precios y los argumentos del año pasado y nadie se entera
hasta que una propuesta sale con un número viejo.

## El mapa raíz

Un archivo en la raíz, corto, que un humano nuevo y un agente leen antes de
tocar nada. Tres secciones y ninguna más:

**Qué hay en cada carpeta.** Una tabla, una línea por eje, sin adjetivos.

**Las reglas duras.** Las que no se negocian, numeradas para poder citarlas.

**Dónde pongo X.** La tabla que resuelve la duda antes de que alguien invente
una carpeta:

| Situación | Acción |
|---|---|
| Cliente nuevo | Copiar la plantilla de cuenta a `02-cuentas/<slug>/` |
| Propuesta nueva | `02-cuentas/<cuenta>/propuestas/<numero>-<fecha>/` |
| Reunión | `02-cuentas/<cuenta>/reuniones/<fecha>-<tema>.md` |
| Precio o argumento nuevo | El archivo comercial de la línea |
| Problema de cliente sin propuesta todavía | `06-discovery/<slug>/` |
| Decisión de proceso | `05-operacion/decisiones/<fecha>-<tema>.md` |
| Algo que no encaja | Preguntar antes de crear una carpeta |

La última fila es la importante. Sin ella, un agente crea la carpeta que le
parece razonable y en dos semanas tienes dos lugares donde buscar lo mismo.

Cierra con punteros a los archivos que mandan: el contrato de metadatos, el
índice de procedimientos, el mapa de fuentes. El mapa no explica esas cosas,
las ubica.

## Las reglas duras

**Un dato vive en una sola carpeta.** El resto lo referencia por su ruta.

**Frontmatter obligatorio** en todo archivo que represente una entidad: cuenta,
propuesta, reunión, línea, contrato, caso.

**Nombres en minúscula con guiones.** `cadena-de-restaurantes`, no
`Cadena De Restaurantes`. Sin espacios, sin acentos en los nombres de archivo.
El contenido va con la ortografía que corresponda.

**Fechas siempre como `2026-08-14`.** Ordenan solas y no se confunden entre
formatos.

**Montos siempre con su moneda al lado.** Un número suelto es una discusión
futura.

**Nunca se copia, se referencia.** Si el dato ya existe en otro archivo, se
apunta a él.

## El contrato de metadatos

Un archivo declara qué campos lleva cada tipo de entidad. Vive en la capa de
operación y es la referencia que se cita cuando alguien duda.

Los campos comunes a todo:

| Campo | Obligatorio | Notas |
|---|---|---|
| `type` | Sí | Qué es el archivo. Permite filtrar sin leer |
| `slug` | Sí | Identificador en minúscula con guiones, único en su tipo |
| `status` | Sí | Valores cerrados, definidos por cada tipo |
| `created` | Sí | Fecha ISO |
| `updated` | Sí | Cambia al editar. Permite saber qué está podrido |
| `owner` | Sí | Quién responde por ese archivo |

La cuenta, que es la entidad más cara de tener incompleta:

```yaml
---
type: cuenta
slug: cadena-de-restaurantes
name: Nombre comercial
status: prospecto              # prospecto | activo | inactivo
fiscal:
  identificador: ""            # RUT, NIT, CUIT, EIN, según el país
  razon_social: ""
  giro: ""
  direccion: ""
contacto_comercial:
  nombre: ""
  cargo: ""
  email: ""
contacto_facturacion:
  nombre: ""
  email: ""
decisor:
  nombre: ""
  cargo: ""
  confirmado: false            # true solo si consta que esta persona firma
presupuesto:
  monto: null                  # declarado por el cliente, nunca estimado por ti
  moneda: ""
  confirmado: false
lineas: [linea-a]
owner: quien-atiende
created: 2026-08-14
updated: 2026-08-14
---
```

La propuesta:

```yaml
---
type: propuesta
numero: 187                    # correlativo global, no por cliente
cuenta: cadena-de-restaurantes
lineas: [linea-a]
status: borrador               # borrador | enviada | ganada | perdida
fecha: 2026-08-14
vigencia: 2026-09-13
monto: 120
moneda: UF
periodo: mensual               # unico | mensual | anual
duracion_meses: 12
---
```

La reunión:

```yaml
---
type: reunion
cuenta: cadena-de-restaurantes
fecha: 2026-08-14
asistentes: []
proximo_paso: ""
proxima_fecha: null
---
```

Los dos bloques `confirmado` de la cuenta y el campo `vigencia` de la propuesta
son los que separan un sistema que informa de uno que se engaña. Un decisor sin
confirmar es un supuesto, y una propuesta vencida es un hecho aunque el negocio
siga en la planilla.

## Las plantillas

Cada tipo de entidad tiene una carpeta plantilla que se copia entera. No es un
lujo: es lo que hace que la cuenta número cuarenta tenga los mismos campos que
la primera, y que un agente pueda crear una sin preguntarte qué lleva.

```
02-cuentas/_plantilla/
├── cuenta.md          # frontmatter completo, valores vacíos
├── reuniones/
├── propuestas/
├── contratos/
└── intel/
```

Un campo que no aplica se deja vacío, no se borra. Un campo borrado se olvida;
uno vacío se ve.

## Qué gana el agente con esto

Con `type` y `status` responde qué hay abierto sin abrir nada. Con `fecha` y
`proximo_paso` detecta lo que lleva dos semanas detenido. Con `monto` y
`moneda` suma sin interpretar texto. Con `confirmado` sabe qué parte de la
ficha es un hecho y qué parte es tu optimismo. Con la ruta de la cuenta lee
solo lo que hace falta en vez de tragarse la carpeta completa.

Ninguna de esas preguntas necesita una herramienta especial. Necesitan que los
datos estén donde se prometió que estarían.

## Qué no poner acá

Contraseñas, llaves de acceso, tokens. Van en un gestor de secretos o en un
archivo de entorno que queda fuera del control de versiones, y nunca dentro de
un documento que un agente va a leer y podría llegar a citar.
