docs(metodo): re-estampa el Metodo 2026-08-15 (promocion de la primera cosecha)

7 adiciones promovidas del buzon de la matriz (0 railes nuevos): R3 diff-del-artefacto,
R6 ruta-exacta, R7 consumidor-salta-merge, R8 preferencia-vs-identidad, rail 12 lineas
ejecutables, Entrega/Git representacion en disco, Entrega/Deploy testigo-en-el-registro.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
sirxavor 2026-08-15 03:04:20 +02:00
parent 2b62b8d6e9
commit 4c4df9a529
3 changed files with 39 additions and 5 deletions

View File

@ -1,2 +1,2 @@
03db9775718f9529c2c59ea87ff6e109e77a6408e599755c9c5ee0c555466c54 metodo.md 4e1afa3b3338bc9ffa97da89559ed56fab05f799281a202cdc286cd527dca8f8 metodo.md
3046e8f13185e4c6a97aaccedeb2f81a958bdc7ceb6b395d411b743c86950f50 bin/metodo 3046e8f13185e4c6a97aaccedeb2f81a958bdc7ceb6b395d411b743c86950f50 bin/metodo

View File

@ -1,5 +1,5 @@
# Copia vendorizada del Método (raíl C11). Gestionada por 'metodo init/update'. # Copia vendorizada del Método (raíl C11). Gestionada por 'metodo init/update'.
master: metodo master: metodo
version: 2026-08-08 version: 2026-08-15
estado: vendored estado: vendored
adopted_commit: 6a10eab342a477846ab5f3e67f8ab17169f12807 adopted_commit: 6a10eab342a477846ab5f3e67f8ab17169f12807

View File

@ -1,14 +1,14 @@
# El Método — constitución # El Método — constitución
> **Versión 2026-08-08.** Documento **autocontenido**: es lo que se vendoriza, byte a byte, a cada > **Versión 2026-08-15.** Documento **autocontenido**: es lo que se vendoriza, byte a byte, a cada
> repo (no lleva enlaces a rutas de un árbol concreto, para que funcione clonado en solitario). > repo (no lleva enlaces a rutas de un árbol concreto, para que funcione clonado en solitario).
> Cada regla lleva su **cicatriz** (meta-principio: un raíl se escribe con el incidente que lo > Cada regla lleva su **cicatriz** (meta-principio: un raíl se escribe con el incidente que lo
> enseñó, no a priori). Procedencia, fuerza (nº de repos) y partición linter/juicio: fichero > enseñó, no a priori). Procedencia, fuerza (nº de repos) y partición linter/juicio: fichero
> `constitucion-de-facto.md` de la matriz. > `constitucion-de-facto.md` de la matriz.
> >
> Los 10 raíles base van hoy **en una línea** (su texto completo con cicatrices está pendiente de > Los 10 raíles base van hoy **en una línea** (su texto completo con cicatrices está pendiente de
> inlinar); lo promovido de la cosecha 2026-08-08 va **completo**. El árbol `redes` conserva su copia > inlinar); lo promovido de las cosechas (2026-08-08 y 2026-08-15) va **completo**. El árbol `redes`
> `redes/workflows/metodo.md` hasta que se desmantele. > conserva su copia `redes/workflows/metodo.md` hasta que se desmantele.
## Raíles base (110) ## Raíles base (110)
@ -46,6 +46,10 @@ Explorar es **medir sin tocar, y sin creerte tu propia medida**.
- **"Aquí no hay nada" es un RESULTADO**, no un fracaso — se anota igual que un hallazgo. - **"Aquí no hay nada" es un RESULTADO**, no un fracaso — se anota igual que un hallazgo.
- Los **falsos positivos de `grep` son el riesgo nº1**: una lista larga de "roto" delata TU método - Los **falsos positivos de `grep` son el riesgo nº1**: una lista larga de "roto" delata TU método
(un patrón demasiado amplio), no el sistema. Verifica cada hit contra la fuente antes de declararlo. (un patrón demasiado amplio), no el sistema. Verifica cada hit contra la fuente antes de declararlo.
- Sobre **texto generado**, el testigo se define sobre las líneas **EJECUTABLES**, no sobre el
fichero: si el generador emite comentarios que documentan las ramas NO tomadas, el grep ingenuo
mide el comentario — verde indistinguible de rojo. *(Cicatriz: banco de render de infraserver,
2026-08-12.)*
- Medir, no opinar. Sondear una escritura **ES** escribir (no es exploración). - Medir, no opinar. Sondear una escritura **ES** escribir (no es exploración).
--- ---
@ -76,12 +80,21 @@ fuera, repetida en varios repos. Aquí se consolida.
- **Commits Conventional** (`feat/fix/docs/ci` + scope); el `doc:` registra el **porqué**. - **Commits Conventional** (`feat/fix/docs/ci` + scope); el `doc:` registra el **porqué**.
- **Working-tree compartido**: `git add` con ruta explícita (**nunca `-A`**), `git pull` antes de - **Working-tree compartido**: `git add` con ruta explícita (**nunca `-A`**), `git pull` antes de
deploy y antes de commitear docs, una tarea = una sesión/worktree. deploy y antes de commitear docs, una tarea = una sesión/worktree.
- La **representación en disco es parte del artefacto**: cuando un hash o un runtime consume el
checkout, se fija con el repo — **eol** por `.gitattributes` y **bit de ejecución** — o el testigo
mide el checkout, no el contenido (una DERIVA falsa en un clone sin tocar entrena a ignorar el
check). *(Cicatrices: copia vendorizada en CRLF, 2026-08-11; `git archive` sale en CRLF.)*
### Deploy · *C12, C13* ### Deploy · *C12, C13*
- **Un solo flujo de build**, disparado **deliberadamente**, no por `git push`; el legacy es - **Un solo flujo de build**, disparado **deliberadamente**, no por `git push`; el legacy es
**lápida** (código muerto conservado hasta MEDIR qué lo ejecuta, no borrado a ciegas). **lápida** (código muerto conservado hasta MEDIR qué lo ejecuta, no borrado a ciegas).
- Todo cambio **por git → deploy declarativo**; imagen pineada por **DIGEST inmutable commiteado**; - Todo cambio **por git → deploy declarativo**; imagen pineada por **DIGEST inmutable commiteado**;
el historial de commits ES el registro de auditoría. el historial de commits ES el registro de auditoría.
- El testigo de «**puedo entregar**» no es el push a git: es el **artefacto en el registro del que
tira el destino**. Una cadena de entrega tiene tantas credenciales como saltos, y la que no se
ejercita se pudre en silencio — un componente que lleva semanas sin reconstruirse no se sabe si
puede entregar. *(Cicatriz: robot de registro con 401 en tres repos, mudo durante semanas porque
nadie construía, 2026-08-12.)*
- El **orden de lo irreversible** aplica aquí → **raíl 11**. - El **orden de lo irreversible** aplica aquí → **raíl 11**.
--- ---
@ -91,12 +104,33 @@ fuera, repetida en varios repos. Aquí se consolida.
- **R6 (verifica la premisa) += C34**: las premisas del encargo se **numeran** (`P1`,`P2`…) con - **R6 (verifica la premisa) += C34**: las premisas del encargo se **numeran** (`P1`,`P2`…) con
veredicto explícito (verdadera / falsa / matizada + `fichero:línea`); el **ratio de premisas veredicto explícito (verdadera / falsa / matizada + `fichero:línea`); el **ratio de premisas
falsas** es el termómetro de "escribo de memoria"; **"el doc lo dice" = premisa a verificar**. falsas** es el termómetro de "escribo de memoria"; **"el doc lo dice" = premisa a verificar**.
Y **hacia atrás** *(cosecha 2026-08-15)*: al **escribir** un hallazgo se nombra la **ruta EXACTA
que se midió**, nunca la categoría — una categoría con una sola medición detrás se lee después
como universal y se hereda como premisa falsa. *(Cicatriz: «el camino Rocky» eran dos caminos y
solo se había medido uno; la frase viajó por tres documentos.)*
- **Diseño de herramientas (R1/R8) += C39**: la **ausencia de una capacidad es un guardarraíl**. El - **Diseño de herramientas (R1/R8) += C39**: la **ausencia de una capacidad es un guardarraíl**. El
poder peligroso se **retiene estructuralmente** (no se expone porque no se construye): vocabulario poder peligroso se **retiene estructuralmente** (no se expone porque no se construye): vocabulario
cerrado, sin `exec`/SQL/comando libre. cerrado, sin `exec`/SQL/comando libre.
- **Docs / R7 += C30**: el **docstring/manual ES la interfaz**. Cambia el comportamiento → cambia el - **Docs / R7 += C30**: el **docstring/manual ES la interfaz**. Cambia el comportamiento → cambia el
docstring en el **mismo commit**; un doc que miente **ES el bug**. docstring en el **mismo commit**; un doc que miente **ES el bug**.
*(Cosecha 2026-08-15 — cicatrices de infraserver:)*
- **R3 (ataca el cableado) += el diff del artefacto**: cuando un cambio de configuración pretende
cambiar un comportamiento, el testigo es el **artefacto generado, guardado ANTES y comparado
DESPUÉS**; el veredicto es su `diff` por caso. **Un caso cuyo diff sale vacío no está construido,
aunque no dé error: es un campo-señuelo.** *(Cicatriz: `day1.mode` — dos modos producían el mismo
artefacto; y así llegó `day0.luks` a existir declarado y sin consumir.)*
- **R7 (fuente única) += el consumidor que se salta el merge**: un defecto declarado como **dato en
la capa base** solo es fuente única si **TODOS** los consumidores pasan por el merge; el que se lo
salta es una **segunda fuente**, y hay que buscarlo explícitamente al introducir el defecto.
*(Cicatriz: un endpoint construía su vista sin mergear la capa base y devolvía otro valor.)*
- **R8 (fallo explícito) += preferencia vs identidad**: distingue el default de **PREFERENCIA** (qué
valor usar entre varios válidos) del default de **IDENTIDAD** (qué es esto). **El segundo no
existe**: si el dato que identifica al artefacto no está declarado, el artefacto no se puede
construir, y la respuesta es un fallo explícito con motivo — nunca el valor más común. *(Cicatriz:
un hueco de identidad rellenado sirvió un kickstart destructivo con HTTP 200.)*
--- ---
## La estructura de sesión no vive aquí ## La estructura de sesión no vive aquí