feat(cosmobiologia-corpus): tomografía por dominio + plantilla y guía
El corpus ya rebana la carta en tajadas vivenciales: una sola configuración mirada plano a plano, sin promediar la contradicción. - Colocacion / AspectoEnCarta: la posición real de un planeta en una carta — el puente entre el motor astronómico y las claves del JOIN. - combinaciones_de_carta: deriva todas las CombinacionId de una carta. - rebanar_por_dominio: la tomografía — cada planeta@cN cae en el dominio de su casa, cada planeta·signo hereda el de su casa, y un aspecto puentea apareciendo en las dos tajadas que conecta. - Corpus::interpretar_por_dominio: el JOIN agrupado por dominio, entrada directa del gráfico «por tajadas». - CombinacionId acepta el alias ASCII '/' del punto medio '·'. - ejemplo.ron: plantilla cargable y comentada del corpus. - GUIA.md: los pasos exactos para generar el corpus a mano. 12 tests verdes. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,158 @@
|
||||
# Cómo generar el corpus de interpretación
|
||||
|
||||
Esta guía dice **exactamente** qué hacer, a mano, para construir el
|
||||
corpus que `cosmobiologia` usará para interpretar cartas sin que ninguna
|
||||
IA invente una palabra.
|
||||
|
||||
## Qué es (y qué NO es) el corpus
|
||||
|
||||
El corpus **no es un set de reglas matemáticas**. No "calcula" la
|
||||
interpretación. Las reglas —qué planeta en qué signo, qué aspecto con
|
||||
qué orbe— las computa el motor astronómico. El corpus es la **biblioteca
|
||||
de evidencia**: fragmentos de texto —de los libros y de tu propia
|
||||
escritura— recortados y **etiquetados** con la combinación exacta que
|
||||
describen.
|
||||
|
||||
En runtime, las combinaciones de una carta hacen un **JOIN** contra el
|
||||
corpus y traen los textos, citados y con fuente. La síntesis (tejerlos
|
||||
en un párrafo continuo) es una capa posterior; el corpus solo
|
||||
**almacena** y **recupera**.
|
||||
|
||||
La contradicción no se promedia. Un Marte hiperdisciplinado en el
|
||||
trabajo y disperso en la soledad **no** se colapsa a "medio
|
||||
disciplinado": cada fuerza vive intacta en su **dominio** vivencial. Por
|
||||
eso el corpus rebana la carta en tajadas (`Vital`, `Social`, `Psiquico`)
|
||||
— como ver un cuerpo en cortes tomográficos.
|
||||
|
||||
## El formato
|
||||
|
||||
Un archivo `.ron`. Mira `ejemplo.ron` en esta misma carpeta: es una
|
||||
plantilla cargable y comentada. Tiene dos secciones, `arquetipos` y
|
||||
`pasajes`.
|
||||
|
||||
### El "código de barras" de una combinación
|
||||
|
||||
Cada pasaje se etiqueta con una clave-cadena:
|
||||
|
||||
| Tipo | Sintaxis | Ejemplo |
|
||||
|---|---|---|
|
||||
| Planeta en signo | `planeta·signo` o `planeta/signo` | `mars·virgo`, `mars/virgo` |
|
||||
| Planeta en casa | `planeta@cN` | `mars@c6` |
|
||||
| Aspecto entre dos planetas | `a kind b` (tres palabras) | `mars square saturn` |
|
||||
|
||||
Reglas de los identificadores:
|
||||
|
||||
- minúscula, ASCII, **una sola palabra** (usa `_`: `north_node`);
|
||||
- usa siempre el **mismo** nombre — `mars`, no `Marte` aquí y `mars`
|
||||
allá, o el JOIN no engancha;
|
||||
- en un aspecto el orden da igual: `mars square saturn` y
|
||||
`saturn square mars` quedan como la misma clave.
|
||||
|
||||
## Los pasos
|
||||
|
||||
### Paso 1 — Crea tu archivo
|
||||
|
||||
```sh
|
||||
cd crates/modules/cosmobiologia/cosmobiologia-corpus
|
||||
cp ejemplo.ron corpus.ron
|
||||
```
|
||||
|
||||
Trabaja sobre `corpus.ron`. Borra los tres pasajes-plantilla cuando
|
||||
tengas los tuyos.
|
||||
|
||||
### Paso 2 — (Opcional, recomendado) Escribe la ontología
|
||||
|
||||
En la sección `arquetipos`, una entrada por cada planeta, signo, casa y
|
||||
aspecto que uses. Cada una lleva un `perfil`: un mapa de **dimensiones
|
||||
psicológicas** —las nombras tú— con un peso en `[-1.0, 1.0]`.
|
||||
|
||||
```ron
|
||||
(
|
||||
nombre: "mars",
|
||||
tipo: planeta, // planeta | signo | casa | aspecto
|
||||
perfil: {
|
||||
"accion": 0.9,
|
||||
"deseo": 0.7,
|
||||
},
|
||||
),
|
||||
```
|
||||
|
||||
Esto **no es obligatorio para el JOIN** (el JOIN solo usa `pasajes`),
|
||||
pero es la base para, más adelante, deducir el perfil de una combinación
|
||||
que no llegaste a escribir. Si recién empiezas, puedes dejar
|
||||
`arquetipos: []` y volver luego.
|
||||
|
||||
### Paso 3 — Cosecha los pasajes
|
||||
|
||||
Esta es la carne. Una entrada en `pasajes` por cada fragmento de
|
||||
interpretación:
|
||||
|
||||
```ron
|
||||
(
|
||||
combinacion: "mars·virgo",
|
||||
texto: "Cita literal, corta, del libro — o tu propia redacción.",
|
||||
fuente: "Autor, Título de la obra, p. 123",
|
||||
),
|
||||
```
|
||||
|
||||
Dos formas de avanzar; elige una:
|
||||
|
||||
- **Por fuente** — tomas un libro y lo vacías combinación por
|
||||
combinación. Bueno para cubrir un autor entero de forma pareja.
|
||||
- **Por carta** — tomas la carta que estás leyendo *ahora*, listas sus
|
||||
combinaciones y solo escribes esas. Bueno para tener algo útil ya, sin
|
||||
esperar a "terminar" el corpus (que nunca termina).
|
||||
|
||||
Recomendado: empieza **por carta**. El corpus crece con cada consulta
|
||||
real.
|
||||
|
||||
### Paso 4 — Cuida la fuente y el derecho de autor
|
||||
|
||||
- Cita **corto** y **textual**, y **atribuye siempre** (autor, obra,
|
||||
página). Fragmentos breves con cita son uso legítimo.
|
||||
- No copies capítulos enteros. Si quieres volcar una idea larga,
|
||||
**reescríbela con tus palabras** y pon `fuente: "propio"`.
|
||||
- Convención reservada: `fuente: "deducido"` queda para perfiles
|
||||
compuestos por código a futuro, no para texto de libro.
|
||||
|
||||
### Paso 5 — Acota el dominio cuando el texto lo pida
|
||||
|
||||
Si un pasaje describe la combinación **solo en un plano** de la vida,
|
||||
márcalo:
|
||||
|
||||
```ron
|
||||
(
|
||||
combinacion: "mars square saturn",
|
||||
texto: "...",
|
||||
fuente: "...",
|
||||
dominio: Some(psiquico), // vital | social | psiquico
|
||||
),
|
||||
```
|
||||
|
||||
Sin `dominio`, el pasaje aplica al dominio que le toque por la posición
|
||||
del planeta en la carta. Con `dominio`, lo fuerzas. Úsalo poco: solo
|
||||
cuando el autor habla de un plano concreto.
|
||||
|
||||
### Paso 6 — Valida el archivo
|
||||
|
||||
```sh
|
||||
cargo test -p cosmobiologia-corpus
|
||||
```
|
||||
|
||||
Si tu RON tiene un error de sintaxis, el test `ejemplo_ron_carga`
|
||||
te marca el formato correcto; para validar `corpus.ron` directamente,
|
||||
cárgalo desde un binario o un test propio con `Corpus::desde_ron`.
|
||||
|
||||
### Paso 7 — Busca los huecos
|
||||
|
||||
Con la carta cargada, `Corpus::huecos(&combinaciones)` devuelve las
|
||||
combinaciones de esa carta que **no tienen ni un pasaje**. Esa lista es,
|
||||
literalmente, tu cola de trabajo: lo que falta escribir.
|
||||
|
||||
## Cuánto es "suficiente"
|
||||
|
||||
El universo completo es grande (≈10 planetas × 12 signos = 120, otras
|
||||
120 planeta-en-casa, y los aspectos). No lo persigas. El 80 % del valor
|
||||
sale del 20 %: las combinaciones que de verdad aparecen en las cartas
|
||||
que lees. Empieza con una carta, deja que `huecos` te guíe, y el corpus
|
||||
se llena solo, consulta a consulta.
|
||||
Reference in New Issue
Block a user