chore(metodo)!: reparto — la evidencia sale a cicatrices.md (197k -> 141k)

Las 146 cicatrices salen de metodo.md a cicatrices.md con id plano
(C-001..C-146) y las reglas se quedan enteras. cicatrices.md viaja tambien
pero NO se lee por defecto. Atado con C40, las tres ramas ejercitadas.

Solo .metodo/ — byte a byte desde la matriz.

Sesion: superadmin

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
sirxavor 2026-09-02 23:15:41 +02:00
parent ef49f193e8
commit dc66279749
3 changed files with 183 additions and 690 deletions

View File

@ -1,5 +1,5 @@
f226449c1039cca20dd14575fd26f6e5336e2d97e112e28a41a237ad1d1d84e2 metodo.md 12ac115f5f7becf0f2490c6e5ad22b9588983319d953fb56a7172863169b4027 metodo.md
36796ff4e2adf641dac48b4436a86ba75f99a919886b73e0b5266642a4b55634 bin/metodo 11bf48ad900c3a8748f229f4938a600ddd2a34897f36ee2284b10b5d44e3a0bf bin/metodo
f89b71bdf31028b05075636c1763c964e379bc37a00e0357d1c23a4dd19c09aa workflows/README.md f89b71bdf31028b05075636c1763c964e379bc37a00e0357d1c23a4dd19c09aa workflows/README.md
cc241bbecf9647c747b8525b3a6b527455cd50ca0312caa44bc3544342c8ac41 workflows/comunicacion-entre-sesiones.md cc241bbecf9647c747b8525b3a6b527455cd50ca0312caa44bc3544342c8ac41 workflows/comunicacion-entre-sesiones.md
2b9037f6dd57b5598c70a676cb728556654f05d1c5b024e7b716864659f7b884 workflows/sesion-ejecucion.md 2b9037f6dd57b5598c70a676cb728556654f05d1c5b024e7b716864659f7b884 workflows/sesion-ejecucion.md

View File

@ -162,6 +162,32 @@ EOF
# como el principio de otro párrafo. Ningún check miraba la integridad de la prosa. # como el principio de otro párrafo. Ningún check miraba la integridad de la prosa.
# ⇒ Testigo: una línea que acaba a mitad de frase (minúscula o coma) seguida de una que # ⇒ Testigo: una línea que acaba a mitad de frase (minúscula o coma) seguida de una que
# ARRANCA un bloque nuevo (⛔ ⭐ ⚠️ ⇒ ⚙️ ⚰️ ✅, una cicatriz `*(`, o una cabecera `#`). # ARRANCA un bloque nuevo (⛔ ⭐ ⚠️ ⇒ ⚙️ ⚰️ ✅, una cicatriz `*(`, o una cabecera `#`).
# ── C40: toda cicatriz referenciada existe, y ninguna sobra ────────────────────
# ⛔ El corte regla/cicatriz (2026-09-02) mete una INDIRECCIÓN, y una indirección se
# pudre en silencio: un `C-047` citado que ya no existe se lee como una referencia
# normal, y una cicatriz huérfana no la echa de menos nadie. Los ids son PLANOS y no
# se renumeran nunca — decidido por Xavier: es mucho más resiliente que codificar la
# sección, que caduca al primer movimiento.
check_cicatrices() {
hdr "toda cicatriz referenciada existe (C40)"
local md cic
if [ -f "$ROOT/metodo.md" ] && [ -f "$ROOT/cicatrices.md" ]; then md="$ROOT/metodo.md"; cic="$ROOT/cicatrices.md"
elif [ -f "$ROOT/.metodo/metodo.md" ] && [ -f "$ROOT/.metodo/cicatrices.md" ]; then md="$ROOT/.metodo/metodo.md"; cic="$ROOT/.metodo/cicatrices.md"
else skip "no hay metodo.md + cicatrices.md que carear"; return 0; fi
local refs defs falta sobra dup
refs=$(grep -o 'C-[0-9]\{3\}' "$md" | sort -u)
defs=$(grep -o '^### C-[0-9]\{3\}' "$cic" | sed 's/^### //' | sort -u)
falta=$(comm -23 <(echo "$refs") <(echo "$defs") | tr '\n' ' ')
sobra=$(comm -13 <(echo "$refs") <(echo "$defs") | tr '\n' ' ')
dup=$(grep -o '^### C-[0-9]\{3\}' "$cic" | sort | uniq -d | tr '\n' ' ')
local mal=0
[ -n "${falta// /}" ] && { bad "cicatriz(es) CITADAS y no definidas: $falta (C40) — la referencia se lee como normal y no lleva a ningún sitio"; mal=1; }
[ -n "${sobra// /}" ] && { bad "cicatriz(es) DEFINIDAS y no citadas: $sobra (C40) — huérfanas: nadie las echa de menos"; mal=1; }
[ -n "${dup// /}" ] && { bad "id(s) DUPLICADOS en cicatrices.md: $dup (C40) — un id se asigna una vez"; mal=1; }
[ "$mal" -eq 0 ] && ok "$(echo "$refs" | grep -c .) cicatriz(es), todas citadas y todas definidas"
return 0
}
check_prosa_partida() { check_prosa_partida() {
hdr "prosa cortada a mitad de frase (C39)" hdr "prosa cortada a mitad de frase (C39)"
local f n local f n
@ -976,6 +1002,10 @@ cmd_init() {
mkdir -p "$md/bin" mkdir -p "$md/bin"
cp "$SELF_ROOT/metodo.md" "$md/metodo.md" cp "$SELF_ROOT/metodo.md" "$md/metodo.md"
cp "$SELF_ROOT/bin/metodo" "$md/bin/metodo"; chmod +x "$md/bin/metodo" 2>/dev/null || true cp "$SELF_ROOT/bin/metodo" "$md/bin/metodo"; chmod +x "$md/bin/metodo" 2>/dev/null || true
# Las CICATRICES viajan igual que la constitución (decidido por Xavier, 2026-09-02): el disco
# es gratis y el contexto no, así una sesión puede abrir la evidencia sin tener la matriz al
# lado. NO se lee por defecto — sólo cuando alguien discute una regla o quiere el dato crudo.
[ -f "$SELF_ROOT/cicatrices.md" ] && cp "$SELF_ROOT/cicatrices.md" "$md/cicatrices.md"
# los workflows transversales viajan también (2026-08-29): un repo que se clona solo no # los workflows transversales viajan también (2026-08-29): un repo que se clona solo no
# tiene la matriz al lado, así que un puntero a su ruta no le resuelve. El semáforo NO. # tiene la matriz al lado, así que un puntero a su ruta no le resuelve. El semáforo NO.
mkdir -p "$md/workflows" mkdir -p "$md/workflows"
@ -1044,6 +1074,10 @@ cmd_update() {
[ -d "$md" ] || { echo "metodo update: $tgt no tiene .metodo/ — usa 'metodo init $tgt'."; exit 2; } [ -d "$md" ] || { echo "metodo update: $tgt no tiene .metodo/ — usa 'metodo init $tgt'."; exit 2; }
cp "$SELF_ROOT/metodo.md" "$md/metodo.md" cp "$SELF_ROOT/metodo.md" "$md/metodo.md"
cp "$SELF_ROOT/bin/metodo" "$md/bin/metodo"; chmod +x "$md/bin/metodo" 2>/dev/null || true cp "$SELF_ROOT/bin/metodo" "$md/bin/metodo"; chmod +x "$md/bin/metodo" 2>/dev/null || true
# Las CICATRICES viajan igual que la constitución (decidido por Xavier, 2026-09-02): el disco
# es gratis y el contexto no, así una sesión puede abrir la evidencia sin tener la matriz al
# lado. NO se lee por defecto — sólo cuando alguien discute una regla o quiere el dato crudo.
[ -f "$SELF_ROOT/cicatrices.md" ] && cp "$SELF_ROOT/cicatrices.md" "$md/cicatrices.md"
# los workflows transversales viajan también (2026-08-29): un repo que se clona solo no # los workflows transversales viajan también (2026-08-29): un repo que se clona solo no
# tiene la matriz al lado, así que un puntero a su ruta no le resuelve. El semáforo NO. # tiene la matriz al lado, así que un puntero a su ruta no le resuelve. El semáforo NO.
mkdir -p "$md/workflows" mkdir -p "$md/workflows"
@ -1104,6 +1138,7 @@ cmd_check() {
check_sesion_trailer check_sesion_trailer
check_incremento check_incremento
check_prosa_partida check_prosa_partida
check_cicatrices
check_reparto_al_dia check_reparto_al_dia
check_semaforo_forma check_semaforo_forma
check_semaforo_en_vuelo check_semaforo_en_vuelo

File diff suppressed because it is too large Load Diff