Skip to content

Docs: ADR-D54 pasa a Accepted, con la excepcion del job escrita - #1159

Merged
github-actions[bot] merged 1 commit into
developfrom
docs/adr-d54-aceptado
Nov 8, 2026
Merged

github-actions[bot] merged 1 commit into
developfrom
docs/adr-d54-aceptado

Conversation

@frapercan

Copy link
Copy Markdown
Owner

Por que

Francisco lo ha aprobado hoy, preguntado directamente en esta sesion, y el sobremesa lo traslada tambien como parte de los cinco puntos del dia (su sesion, 12:19 CET, en el laboratorio como D34). El ADR llevaba en Proposed (draft for the author's review) desde el 3 de noviembre.

Pero no era solo mover una linea. Lo que tenia ese ADR sin responder es que sus dos escrituras no pasan por un job: la subida por partes y el registro por referencia son endpoints con credencial de operador, y la regla del proyecto es que toda operacion sale por POST /v1/jobs y nunca por una llamada directa. Aceptarlo sin nombrar eso dejaba la excepcion como un descuido.

Que queda escrito

Una seccion nueva, la 4, con las tres cosas que convierten un hueco en una decision:

  • la razon mecanica: el mensaje de una operacion esta acotado en dos veces 600 s y nada bombea el latido, asi que un fichero de cientos de megas no viaja por el broker; y registrar bytes no es una operacion sobre los datos, es el paso que hace atribuible a la siguiente;
  • que sustituye a las garantias del job: la clave es por contenido, asi que los mismos bytes dan la misma fila y la segunda subida contesta 409 con el id existente; el registro por referencia lee el objeto y rechaza la fila si el hash no cuadra, asi que la identidad la comprueba el servidor y no la afirma quien envia; y la fila guarda quien lo registro y cuando, al lado del sha256 y el tamano;
  • su limite: cubre escribir el registro y nada mas. Toda operacion que LEE un peso sigue saliendo por POST /v1/jobs con la clave en su payload, que es lo que ya describia la seccion 3.

Y la lista de kinds mentia

Decia seis y el codigo tiene siete desde #1157. term_text_vectors queda descrito en el ADR, con lo que es (un vector por termino GO de un eje, de un embedding de texto de su nombre y su definicion), por que va por referencia en la tabla terms de ADR-D56 (vector_uri y vector_sha256: un vector por termino sobre un eje entero es un fichero y no una columna) y por que no es ninguno de los seis anteriores.

Tambien queda dicho el estado real: sus bytes estan en el almacen del laboratorio y no en el de la plataforma, que es por lo que terms se niega a escribirse, y que un digest citado en un mensaje es un localizador de bytes que nadie de este lado puede comprobar.

Comprobado

Las cuatro puertas de documentacion en verde localmente: check_no_em_dashes, check_doc_refs, check_autodoc_coverage y check_sets, las cuatro a exit 0. /v1/ en una ruta no es un sufijo de version: ya aparece en 13 ficheros de docs/source/.

El registro de pesos llevaba en Proposed desde el 3 de noviembre, y lo que lo
tenia ahi era una pregunta sin responder: sus dos escrituras, la subida por
partes y el registro por referencia, no pasan por POST /v1/jobs, y la regla
del proyecto es que toda operacion pasa por ahi. Un ADR aceptado con ese hueco
sin nombrar deja la excepcion como un descuido en vez de como una decision.

Asi que el estado se mueve y la excepcion queda escrita en el propio ADR: su
razon mecanica (el mensaje de una operacion esta acotado en dos veces 600 s y
nada bombea el latido, asi que un fichero de cientos de megas no viaja por el
broker), lo que sustituye a las garantias del job (la clave es por contenido,
el servidor lee el objeto y rechaza la fila si el hash no cuadra, y la fila
guarda quien lo registro y cuando) y su limite, que es lo que la hace una
excepcion y no una grieta: cubre escribir el registro y nada mas, porque toda
operacion que LEE un peso sigue saliendo por POST /v1/jobs.

Y la lista de kinds decia seis cuando el codigo tiene siete. term_text_vectors
entro en #1157 y el ADR no lo nombraba; queda descrito, y con el dato de que
sus bytes estan en el almacen del laboratorio y no en el de la plataforma, que
es por lo que la tabla terms de ADR-D56 se niega a escribirse todavia.
@github-actions
github-actions Bot enabled auto-merge (squash) November 8, 2026 11:34
@codecov

codecov Bot commented Nov 8, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.09%. Comparing base (d8bc801) to head (45b25c2).
⚠️ Report is 257 commits behind head on develop.

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop    #1159      +/-   ##
===========================================
+ Coverage    87.85%   88.09%   +0.24%     
===========================================
  Files          306      402      +96     
  Lines        23414    31179    +7765     
===========================================
+ Hits         20570    27467    +6897     
- Misses        2844     3712     +868     

see 165 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions
github-actions Bot merged commit 60a67e3 into develop Nov 8, 2026
19 checks passed
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