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:
sergio
2026-05-22 18:18:16 +00:00
parent 121aa130af
commit 43e6b32e15
9 changed files with 852 additions and 20 deletions
+38
View File
@@ -0,0 +1,38 @@
# =============================================================================
# renaser :: formato — el formato del grafo de objetos en disco
# -----------------------------------------------------------------------------
# Nucleo `#![no_std]` COMPARTIDO: lo enlaza el kernel bare-metal (target
# `x86_64-unknown-none`) y, por ser no_std, tambien lo compila sin friccion el
# anfitrion `boot`. Es la unica verdad del formato del grafo —tipos,
# (de)serializacion postcard, hash BLAKE3, trazado de registros—, de modo que
# kernel y constructor de imagen hablen exactamente el mismo idioma de disco.
#
# Queda EXCLUIDO del espacio de trabajo (ver el Cargo.toml raiz), como el
# kernel: lo consume un paquete bare-metal, asi que fija sus versiones de
# forma explicita, sin herencia del workspace.
# =============================================================================
[package]
name = "formato"
version = "0.1.0"
edition = "2021"
license = "MPL-2.0"
authors = ["JL Soltech <gerencia@jlsoltech.com>"]
description = "renaser :: formato del grafo de objetos en disco — compartido kernel ↔ boot"
[lib]
bench = false
doctest = false
[dependencies]
# `serde` da el rasgo de (de)serializacion; `postcard` lo materializa en un
# formato binario compacto — el que viaja al disco. Ambos `no_std`, sobre `alloc`.
serde = { version = "1", default-features = false, features = ["alloc", "derive"] }
postcard = { version = "1", default-features = false, features = ["alloc"] }
# `blake3`: la funcion hash que da identidad a cada objeto. Se fuerza la
# implementacion ESCALAR pura (`pure` + los cuatro `no_*`): el target del kernel
# corre sin SSE, y un camino SIMD por deteccion en tiempo de ejecucion
# ejecutaria instrucciones que la CPU, sin `CR4.OSFXSR`, rechazaria con un #UD.
blake3 = { version = "1", default-features = false, features = [
"pure", "no_sse2", "no_sse41", "no_avx2", "no_avx512",
] }