# Contrato de dominio .mini

Devuelve solamente un documento .mini conforme a este contrato, sin Markdown ni explicaciones.

Profile: mini-domain/1
Header: `cmd|v=1|n=<record count>|h=fadd2cd0cfa2`
La cabecera requiere m=<JSON posicional del documento completo con la colección de registros sustituida por []>. record_path=["comments"]. Escape m using the same field rules.

1. Una cabecera seguida de una línea por registro. Conserva el orden de columnas indicado.
2. Usa ? sólo para un campo opcional ausente y ~ para null; no son equivalentes. No inventes valores ausentes.
3. Las cadenas se escriben sin comillas; cadena vacía, ? literal, ~ literal o cadena que empieza con comillas usa una cadena JSON.
4. Escapa barra inversa como \\, separador como \|, salto de línea como \n y retorno como \r. No recortes espacios.
5. Los objetos obligatorios no-nullables se aplanan en columnas según las rutas indicadas. Otros objetos anidados son arrays posicionales según schema; {} representa un miembro opcional ausente.
6. Números y booleanos usan sintaxis JSON.
7. Las listas contienen valores transformados recursivamente. Un nodo de tipo json envuelve su valor en [valor]; null sigue siendo null.
8. No agregues claves ni cambies tipos. Si faltan muestras para un tipo, pide reconstruir el contrato con más ejemplos.
9. No uses d salvo que agrupes columnas constantes: d es un array JSON de [índice de columna, celda codificada] y esas columnas se omiten de todas las filas.
10. Opcionalmente e=[ [índice de columna,[celda0,celda1,...]],...] declara un diccionario de cadenas del documento; la columna usa índices enteros desde 0. Una columna no puede estar en d y e.
11. Si no queda ninguna columna en una fila, escribe -. n cuenta todas las filas, incluso esas filas vacías.

Columns (zero-based; paths use JSON Pointer escaping):
0: postId (integer)
1: id (integer)
2: name (string)
3: email (string)
4: body (string)

Schema:
```json
{"type":"object","fields":[{"name":"comments","optional":false,"schema":{"type":"array","items":{"type":"object","fields":[{"name":"postId","optional":false,"schema":{"type":"integer"}},{"name":"id","optional":false,"schema":{"type":"integer"}},{"name":"name","optional":false,"schema":{"type":"string"}},{"name":"email","optional":false,"schema":{"type":"string"}},{"name":"body","optional":false,"schema":{"type":"string"}}]}}}]}
```

Example / Ejemplo:
```mini
cmd|v=1|n=2|h=fadd2cd0cfa2|m=[[]]
1|1|id labore ex et quam laborum|Eliseo@gardner.biz|laudantium enim quasi est quidem magnam voluptate ipsam eos\ntempora quo necessitatibus\ndolor quam autem quasi\nreiciendis et nam sapiente accusantium
1|2|quo vero reiciendis velit similique earum|Jayne_Kuhic@sydney.com|est natus enim nihil est dolore omnis voluptatem numquam\net omnis occaecati quod ullam at\nvoluptatem error expedita pariatur\nnihil sint nostrum voluptatem reiciendis et
```
