From 4c4df9a52961750bbff0575841465f945c4e289c Mon Sep 17 00:00:00 2001 From: sirxavor Date: Sat, 15 Aug 2026 03:04:20 +0200 Subject: [PATCH] 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 --- .metodo/CHECKSUMS | 2 +- .metodo/VERSION | 2 +- .metodo/metodo.md | 40 +++++++++++++++++++++++++++++++++++++--- 3 files changed, 39 insertions(+), 5 deletions(-) diff --git a/.metodo/CHECKSUMS b/.metodo/CHECKSUMS index f75bca3..e7158c5 100644 --- a/.metodo/CHECKSUMS +++ b/.metodo/CHECKSUMS @@ -1,2 +1,2 @@ -03db9775718f9529c2c59ea87ff6e109e77a6408e599755c9c5ee0c555466c54 metodo.md +4e1afa3b3338bc9ffa97da89559ed56fab05f799281a202cdc286cd527dca8f8 metodo.md 3046e8f13185e4c6a97aaccedeb2f81a958bdc7ceb6b395d411b743c86950f50 bin/metodo diff --git a/.metodo/VERSION b/.metodo/VERSION index 261cd98..ff90776 100644 --- a/.metodo/VERSION +++ b/.metodo/VERSION @@ -1,5 +1,5 @@ # Copia vendorizada del Método (raíl C11). Gestionada por 'metodo init/update'. master: metodo -version: 2026-08-08 +version: 2026-08-15 estado: vendored adopted_commit: 6a10eab342a477846ab5f3e67f8ab17169f12807 diff --git a/.metodo/metodo.md b/.metodo/metodo.md index 1efafbf..423be9c 100644 --- a/.metodo/metodo.md +++ b/.metodo/metodo.md @@ -1,14 +1,14 @@ # 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). > 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 > `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 -> inlinar); lo promovido de la cosecha 2026-08-08 va **completo**. El árbol `redes` conserva su copia -> `redes/workflows/metodo.md` hasta que se desmantele. +> inlinar); lo promovido de las cosechas (2026-08-08 y 2026-08-15) va **completo**. El árbol `redes` +> conserva su copia `redes/workflows/metodo.md` hasta que se desmantele. ## Raíles base (1–10) @@ -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. - 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. +- 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). --- @@ -76,12 +80,21 @@ fuera, repetida en varios repos. Aquí se consolida. - **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 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* - **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). - Todo cambio **por git → deploy declarativo**; imagen pineada por **DIGEST inmutable commiteado**; 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**. --- @@ -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 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**. + 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 poder peligroso se **retiene estructuralmente** (no se expone porque no se construye): vocabulario cerrado, sin `exec`/SQL/comando libre. - **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**. +*(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í