El guard de paridad no ve el idioma: nueve documentos «en inglés» están en castellano - #99
Closed
beyondnetPeru wants to merge 2 commits into
Closed
El guard de paridad no ve el idioma: nueve documentos «en inglés» están en castellano#99beyondnetPeru wants to merge 2 commits into
beyondnetPeru wants to merge 2 commits into
Conversation
…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. Un fichero copiado, reetiquetado y no traducido lo pasa siempre. MEDIDO, no supuesto: **9 de 151** documentos emparejados estan asi, y las dos filas solo nombraban dos. Entre los otros siete estan `DECISIONS.md` (128 marcadores de castellano contra 1 de ingles) y `MASTER_INDEX.md`, que son canonicos de raiz. COMO SE DETECTA, y lo que cuesta: frecuencia de stopwords —las palabras funcion que dominan cualquier prosa y apenas se solapan entre los dos idiomas—. Es heuristica, asi que se aplica con MARGEN y nunca por mayoria simple: se reporta solo si el castellano supera al ingles por 2×. Se eligio midiendo — los nueve casos reales estan en 10× 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, no como bloqueo: los nueve se declaran con su motivo en `untranslated-allowlist.json`, asi que CI pasa hoy; el DECIMO falla. Traducir nueve documentos ahora no es realista y dejarlos invisibles es como llegamos aqui. Cada motivo nombra la fila que lo rastrea o un bloqueo concreto — 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` el guard se pone rojo nombrandolo, y vuelve a verde al retirarlo. Verificado: `validate-docs`, `check-bilingual-parity` y `check-gap-registry` en verde; YAML del workflow validado. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Contributor
Author
|
Reemplazado por un PR rebasado sobre |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
GAP-011yGAP-017dicen que el C4 y el Discovery Canvas no tienen versión inglesa. El fichero.mdexiste 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-parityen verde: ese guard compara que el par exista y que las cabeceras cuadren, y ninguna de las dos cosas ve el idioma. Un fichero copiado, reetiquetado y no traducido lo pasa siempre.Medido, no supuesto
9 de 151 documentos emparejados están así — las filas solo nombraban dos. Entre los otros siete:
DECISIONS.mdMASTER_INDEX.mddocs/adrs/T-044-single-tenant-isolation-model.mddocs/diagrams/evolith-tracker-master-flow.mdLos dos primeros son canónicos de raíz.
Cómo se detecta, y lo que cuesta
Frecuencia de stopwords — las palabras función que dominan cualquier prosa y apenas se solapan entre idiomas. Es heurística, así que se aplica con margen y nunca por mayoría simple: se reporta solo si el castellano supera al inglés por 2×.
El margen se eligió midiendo: los nueve casos 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, no como bloqueo
Traducir nueve documentos ahora no es realista, y dejarlos invisibles es cómo llegamos aquí. Los nueve se declaran con su motivo en
untranslated-allowlist.json, así que CI pasa hoy y el décimo falla.Cada motivo nombra la fila que lo rastrea o un bloqueo concreto. La regla, escrita 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, el guard se pone rojo nombrándolo, y vuelve a verde al retirarlo.Verificación
validate-docs,check-bilingual-parityycheck-gap-registryen verde; YAML del workflow validado.🤖 Generated with Claude Code