Repository navigation
ADR-D58: cada entidad citada lleva un descriptor breve y otro largo - #1174
Merged
Merged
Conversation
El autor lo pide el 2026-11-10, despues de corregirme dos veces por
nombrarle las cosas con prefijos hexadecimales. No es estilo: es que para
una ventana la plataforma no tiene otra cosa que ofrecer.
Medido sobre el esquema entero: de las 20 entidades que se citan en una
frase, solo 5 llevan los dos descriptores. Diez no llevan ninguno, y son
justo las que mas aparecen: evaluation_set con 87 filas, annotation_set
con 75, ontology_snapshot con 66, prediction_set con 26. Cuatro llevan
el breve y no el largo, y job es la unica al contrario.
El registro fija cinco decisiones: el alcance es lo que se cita y no lo
que se cuenta (protein_go_annotation son 663 millones de filas); el
breve es un nombre, o sea unico y estable, derivado por la operacion que
crea la fila; el largo nombra todos los campos que varian entre
hermanas, con las tres ventanas largas de ejemplo porque son el caso que
lo provoco; ambos se escriben en el mismo flush que crea la fila y el
relleno de lo ya existente DERIVA o se niega; y un guardia, con la forma
de check_sets.py, porque una regla que depende de acordarse produce el
hueco siguiente.
Deja sin decidir tres cosas que son del autor: si go_term lleva la
definicion del OBO como descriptor largo (3.118.456 filas de dato real),
en que idioma van los nombres que se leen en los dos sitios, y si el
frontend pasa a mostrar el breve en lugar del uuid.
Y arregla un defecto que encontre al registrar D58: las filas D54, D55 y
D56 del indice tenian 2 celdas en una tabla de 4 columnas, asi que
docutils no renderizaba la tabla ENTERA del registro de decisiones
("row 53 does not contain the same number of items as row 1"). CI no lo
veia porque el gate de docs corre make html sin -W. Cada fila recupera
su Estado y su Fase leidos de su propio ADR.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #1174 +/- ##
===========================================
+ Coverage 87.85% 87.93% +0.07%
===========================================
Files 306 406 +100
Lines 23414 31667 +8253
===========================================
+ Hits 20570 27845 +7275
- Misses 2844 3822 +978 🚀 New features to boost your workflow:
|
github-actions Bot
pushed a commit
that referenced
this pull request
Nov 10, 2026
…1175) ## Lo que pidio el autor Que cuando alguien quiera usar la plataforma se le avise, **se le sugiera conectar un nodo de computo** y **se le lleve a una guia**, sin tener que cambiar el html. ## La guia es documentacion, no una pagina nueva El Sphinx de esta instancia **ya se sirve en `/sphinx/`** (comprobado: `https://protea.ngrok.app/sphinx/` responde 200), asi que la guia viaja con el despliegue y no hay marcado que escribir ni que mantener despues. `docs/source/operate/join-a-compute-node.rst` dice, para alguien de fuera: - para que sirve un nodo y **cuales son las dos etapas**, con la diferencia que importa: la del modelo de lenguaje quiere tarjeta, y la del vecino mas cercano **se queda en CPU por decision**, porque el `auto` elegia la tarjeta en silencio y es el unico camino que fallaba ahi; - que necesita la maquina, incluido que los pesos bajan del hub en el primer uso; - **por que la revision declarada es el contrato y no una rama**, con las dos negativas del guardia y la razon: un consumidor equivocado en silencio es peor que ningun consumidor, y eso ya costo un barrido de doce brazos; - las cuatro cosas que un nodo no debe hacer nunca: ejecutar una operacion directamente, declarar un conjunto a mano, llevarse el vecino mas cercano a la tarjeta, y guardar estado. **No publica endpoints ni credenciales.** Dice como pedirlos, y que la credencial no llega por esta pagina ni por un chat. ## El aviso es una sugerencia, no una advertencia El que quitamos esta tarde en #1173 solo decia que una secuencia nueva seria mas lenta, que es informacion con la que el visitante no puede hacer nada. Este dice **que hacer** y enlaza la guia. La condicion es la misma, `gpu_present === false`, y conviene ser claro sobre lo que mide: es `torch.cuda.is_available()` **en la maquina que sirve la API**, que aqui no tiene tarjeta. Es verdad siempre en esta instalacion y lo seguira siendo hasta que alguien conecte un nodo, asi que el aviso esta permanentemente encendido **y eso es correcto ahora**: describe el estado real de la instancia y propone el remedio. El texto entero vive en `messages/*.json`, en los cinco idiomas, con una etiqueta `<guia>` que el componente convierte en enlace por el patron `t.rich` que ya usa `UsagePolicyModal`. **Cambiar lo que dice no toca el componente.** ## Comprobado - `npm test`: 41 ficheros, 419 tests, incluidos `messagesParity` y `messagesAskedForExist`, que son los que caerian si la clave faltara en un idioma o la llamada no tuviera clave. - `tsc --noEmit`: el mismo unico error que ya traia `develop` (`tests/useUrlParam.test.tsx`, `beforeEach`), ajeno a este cambio. - **Sphinx construido entero** en un entorno aparte, sin tocar el venv de la plataforma: `build succeeded`, la pagina nueva sale con 36 KB y sus dos referencias (`/runbooks/deployment` y `/reference/workers`) resueltas, y ni un aviso sobre ella ni sobre el indice de ADRs que arreglamos en #1174. ## Un dato que sale de aqui y conviene no perder El Sphinx que la instancia **sirve hoy** es del **7 de octubre**. La guia no sera visible hasta que se reconstruya, y con ella entraria un mes de documentacion que el sitio publico no muestra. Eso va en el despliegue, no en este PR.
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.
Por que
Lo pide el autor el 2026-11-10, despues de corregirme dos veces por nombrarle las cosas con prefijos hexadecimales. No es una cuestion de estilo: para una ventana de evaluacion la plataforma no tiene otra cosa que ofrecer.
evaluation_setlleva los dos conjuntos de anotaciones, el job, las estadisticas, el uri y la huella de la verdad, el papel de la ventana, tres snapshots, el perfil de verdad, la regla de terminos y la revision. Todo eso son propiedades; ninguna es un nombre. Y ADR-D56 ya cerro que el par de versiones no sirve, porque 62 de 69 pares cargan mas de una ventana.El hueco, medido sobre el esquema entero
De las 20 entidades que se citan en una frase, solo 5 llevan los dos descriptores (
embedding_config,query_set,model_weights,scoring_config,experiment_run).evaluation_set(87 filas),annotation_set(75),ontology_snapshot(66),prediction_set(26),evaluation_result(21),information_accretion_set(18),evaluation_frame(8),swissprot_release(3),reference_reproduction(1),interpro_go_mapping(0)dataset,reranker_model,exploration,external_referencejob, con 778 filasLas cinco decisiones
protein_go_annotationson 663.408.837 filas ygo_prediction33.423.682: un descriptor por fila ahi es texto que nadie leera, y peor, invita a una etiqueta por fila que contradiga la del conjunto.check_sets.py, que ya camina los metadatos del ORM con cuatro criterios por conjunto. Este anade el quinto sobre una lista mas ancha, en modo informe, y--strictbloquea cuando entre la ultima migracion. La lista vive en el guardia, asi que una entidad citada nueva es un fallo hasta que se declare ahi.Lo que NO decide, y es del autor
go_termlleva la definicion del OBO como descriptor largo: son 3.118.456 filas de dato real, no de texto inventado, y el coste es suyo.El defecto que encontre al registrarlo
Las filas D54, D55 y D56 del indice tenian 2 celdas en una tabla de 4 columnas, asi que docutils no renderizaba la tabla entera del registro de decisiones:
row 53 does not contain the same number of items as row 1 (2 vs 4). CI no lo veia porque.github/workflows/docs.ymlcorremake htmlsin-W. Cada fila recupera su Estado y su Fase leidos de su propio ADR. Comprobado con docutils antes y despues: de un error de tabla a ninguno.Comprobado
check_no_em_dashes(143 ficheros),check_doc_refs,check_autodoc_coverage(59 patrones),check_sets, el lint de tokensvNsobredocsyREADME.md, y el parseo del indice y del ADR nuevo con docutils. Solo documentacion: ni esquema ni codigo en este PR.