Skip to content

El guard de paridad no ve el idioma: nueve documentos «en inglés» están en castellano - #102

Merged
beyondnetPeru merged 1 commit into
developfrom
feat/translation-language-ratchet-v2
Aug 2, 2026
Merged

El guard de paridad no ve el idioma: nueve documentos «en inglés» están en castellano#102
beyondnetPeru merged 1 commit into
developfrom
feat/translation-language-ratchet-v2

Conversation

@beyondnetPeru

Copy link
Copy Markdown
Contributor

GAP-011 y GAP-017 dicen que el C4 y el Discovery Canvas no tienen versión inglesa. El fichero .md existe en ambos casos y se autodescribe «English (this document)». Su contenido está en castellano.

Por eso las dos filas seguían siendo ciertas con check-bilingual-parity en verde: ese guard compara que el par exista y que las cabeceras cuadren, y ninguna de las dos cosas ve el idioma.

Medido, no supuesto

9 de 143 documentos emparejados están así — las filas nombraban dos.

Documento ES / EN
docs/adrs/T-044-single-tenant-isolation-model.md 221 / 0
DECISIONS.md 128 / 1
docs/diagrams/evolith-tracker-master-flow.md 100 / 38
MASTER_INDEX.md 72 / 8

Los dos canónicos de raíz están entre ellos.

Cómo se detecta, y su coste

Frecuencia de stopwords, con margen de 2× y nunca por mayoría simple. El margen se eligió midiendo: los nueve reales están en 10× o más y el documento legítimo más cercano ronda la paridad; una mayoría simple habría marcado glosarios bilingües. Se retira el código antes de contar, porque un fichero lleno de identificadores en castellano no es un documento en castellano.

Va como trinquete

Traducir nueve ahora no es realista y dejarlos invisibles es cómo llegamos aquí. Los nueve se declaran con motivo en untranslated-allowlist.json: CI pasa hoy, el décimo falla. La regla, en el propio fichero: «una entrada es una promesa de traducir, no un indulto; "no es prioritario" no es un motivo».

Comprobado que muerde: copiando un documento en castellano como .md se pone rojo nombrándolo, y vuelve a verde al retirarlo.

Limitación que conviene saber

Va en docs.yml, que solo se dispara en PRs a main — como todos los guardianes de doc de este repositorio. Así que muerde al promover, no en el PR que introduce el fichero. Es coherente con el resto y se deja dicho en vez de descubrirse dentro de un mes.


Reemplaza al #99, que quedó con mergeStateStatus: UNKNOWN y nunca disparó checks. La causa no era Actions: conflictuaba con develop en el registro de gaps, y los checks de pull_request corren sobre el commit de merge que GitHub no podía calcular. Esta versión sale de develop y solo lleva los tres ficheros del guard.

🤖 Generated with Claude Code

…en ingles» estan en castellano

GAP-011 y GAP-017 dicen que el C4 y el Discovery Canvas no tienen version inglesa. El
fichero `.md` EXISTE en ambos casos y se autodescribe «English (this document)». Su
contenido esta en castellano.

Por eso las dos filas seguian siendo ciertas con `check-bilingual-parity` en verde: ese
guard compara que el par EXISTA y que las cabeceras cuadren, y ninguna de las dos cosas
ve el idioma.

MEDIDO: 9 de 143 documentos emparejados estan asi, y las filas solo nombraban dos.
Entre los otros siete estan `DECISIONS.md` (128 marcadores de castellano contra 1 de
ingles) y `MASTER_INDEX.md`, canonicos de raiz.

COMO SE DETECTA: frecuencia de stopwords, con MARGEN de 2x y nunca por mayoria simple.
El margen se eligio midiendo — los nueve casos reales estan en 10x o mas y el documento
legitimo mas cercano ronda la paridad; una mayoria simple habria marcado glosarios
bilingues. Se retira el codigo antes de contar, porque un fichero lleno de
identificadores en castellano no es un documento en castellano.

VA COMO TRINQUETE: los nueve se declaran con su motivo, asi que CI pasa hoy y el DECIMO
falla. La regla escrita en el propio fichero dice que «no es prioritario» no es un
motivo. Comprobado que muerde: copiando un documento en castellano como `.md` se pone
rojo nombrandolo, y vuelve a verde al retirarlo.

LIMITACION QUE CONVIENE SABER: va en `docs.yml`, que solo se dispara en PRs a `main`
—como todos los guardianes de doc de este repositorio—, asi que muerde al PROMOVER y no
en el PR que introduce el fichero. Es coherente con el resto y se deja dicho en vez de
descubrirse dentro de un mes.

Verificado: `validate-docs` y `check-gap-registry` en verde; YAML del workflow validado.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@beyondnetPeru
beyondnetPeru merged commit 499e970 into develop Aug 2, 2026
6 checks passed
@beyondnetPeru
beyondnetPeru deleted the feat/translation-language-ratchet-v2 branch August 2, 2026 03:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant