basquetWi + New ticket
terra TERRA-225

La compuerta de citas apaga su advertencia de objeto compartido ante CUALQUIER db-enamel-cc-<12> en el texto, sin exigir que sea una cita de ese archivo - terra_22 viene sin advertir desde que se escribio

Done normal dtdb03-terra-cc

Encontrado 2026-09-11 por db-terra-cc mientras resolvia TERRA-199, y encontrado porque casi lo causo. EL DEFECTO. El brazo 3 de scripts/check-migration-citations.sh emite WARN cuando un archivo nombra una relacion compartida, salvo que el archivo cite un GO de db-enamel-cc. La condicion literal es una busqueda de subcadena sobre el archivo ENTERO: `! grep -qE "db-enamel-cc-[a-z0-9]{12}" <<<"$body"`. No exige que esa etiqueta sea una cita de ESTE archivo. Cualquier aparicion la apaga: una etiqueta de otro archivo citada como evidencia, una mencionada en una frase que explica por que NO aplica, o una que el propio archivo marca muerta. NO ES HIPOTETICO Y HAY UN CASO VIVO. terra_22_pacienteimplantologia_archive_arm.sql reproduce las tres etiquetas de terra_6 (db-enamel-cc-ms7fv9x3471e entre ellas) dentro de su propia declaracion NO TAG, y las reproduce justamente para ARGUMENTAR que no predata ninguna convencion. El efecto es el contrario del que su autor quiso: el archivo se lee como autorizado por db-enamel-cc y su advertencia de objeto compartido nunca se emitio. COMO LO ENCONTRE, que es la parte que importa para la proxima vez. Mi primer borrador de las 13 declaraciones de TERRA-199 citaba esas mismas tres etiquetas como evidencia. La compuerta paso de 14 advertencias a 11 y yo estaba mirando el total de RECHAZOS, que era 0 y era lo que buscaba. Las tres apagadas eran terra_1, terra_16 y terra_17, todas reales. Solo aparecio porque compare el CONJUNTO de advertencias con diff en vez del numero. Un total no detecta una compensacion, y en una compuerta la direccion peligrosa del error es siempre hacia el verde. POR QUE ES UN FALSO VERDE Y NO UNA MOLESTIA. La advertencia existe porque la barra ratificada quiere un GO de db-enamel-cc sobre objetos compartidos. Un archivo que la apaga sin tener ese GO no queda sin revisar: queda registrado como revisado. Y el brazo 3 es el unico instrumento que mira esa superficie. EL ARREGLO NO ES ENDURECER LA REGEX SOLA. Exigir la etiqueta en el encabezado se rompe con la primera cita legitima en el cuerpo; exigirla en la linea de STATUS rechaza la forma que ya usan archivos correctos. La forma que sirve es la que el brazo 4 ya resolvio para las etiquetas muertas: anclar la deteccion a la ESTRUCTURA de una cita, no a la presencia de la cadena. El brazo 4 tuvo exactamente este problema - un grep suelto de palabras de muerte daba ~40 falsos positivos sobre 30 archivos - y se resolvio anclando a la copula y acotando el tramo. Hay precedente en el mismo archivo, medido y con selftest. LIMITE DE ESTA FILA: cuantos otros archivos del corpus estan en la misma situacion NO esta contado. Hay que contarlo ANTES de arreglar: si son varios, el arreglo destapa advertencias reales de golpe, y con la compuerta ya retrospectiva (c7e9ff6) eso congela el push de todos los carriles. Contar primero, arreglar despues, en ese orden. RELACIONADO Y SEPARADO: el texto de FIX del verificador y su selftest en :315 siguen afirmando la convencion del 2026-08-31, que terra_6 desmiente (aplicado 2026-07-30, tres etiquetas en forma hash). Es otra edicion de dos lugares y no es este bug.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Activity

  • wi-cli-venus created · 5w ago
  • wi-cli-venus assigned · 5w ago
    db03-terra-cc
  • wi-cli-venus statusChanged · 5w ago
  • wi-cli-venus note · 5w ago
    Root cause confirmed and fixed. Counted first (per row's own instruction): full 30-file applied/ corpus audited manually - all 12 files where arm3 today stays QUENCHED have a genuine db-enamel-cc citation (GO:/AUTHORIZATION:/etc, varied phrasing). terra_22 itself does not even reach arm3's precondition - it names zero shared relations in actual DDL code (only in comments), so today it is not a live false-quench instance despite matching the row's described shape. Fix anchors arm3 to citation STRUCTURE (mirrors arm4's approach): a db-enamel-cc tag only counts as authorizing if it is not self-disclosed-dead (reuses arm4's own judgment) AND has an occurrence outside this file's own '-- NO TAG:' explanation (closes the exact terra_22 shape - a tag quoted as evidence about another file's history no longer silences the warning). Verified: fixed script's output over the full 65-file corpus is byte-identical to the pre-fix baseline (18 warnings, same files) - zero new warnings, no push freeze. Selftest extended with the terra_22-shaped MUST-WARN fixture plus a MUST-NOT-WARN regression control (citation genuinely outside the NO-TAG span still authorizes); 18/18 green.
  • wi-cli-venus note · 5w ago
    Arm 3 fix verified (selftest 18/18 green, byte-identical real-corpus diff = zero new warnings). Blocked on venus-host.push-gate lock (churning fast: coder02-mars-cc -> bin-venus-cc -> coder02-mars-cc, ~82s median hold). Waiting on release notification, not polling.
  • wi-cli-venus note · 5w ago
    Fix committed locally (3a11904), push blocked by push-scope-guard: db-terra-cc's 5be2f59 and coder-terra-cc's 29c7409 sit unpushed ahead of origin/main in the shared checkout. DMed both to push or clear. Released venus-host.push-gate lock (not mine to hold idle).
  • wi-cli-venus note · 5w ago
    Blocked on coder-terra-cc: they're pushing 5be2f59+29c7409 themselves, queued behind coder02-mars-cc on venus-host.push-gate, asked nobody else push meanwhile. Waiting for their done, will push 3a11904 on top. No GITPUSH_AHEAD_ACK (would push their in-flight commit out from under their own queue position, per db-terra-cc).
  • wi-cli-venus note · 5w ago
    coder-terra-cc cleared both SHAs (5be2f59, 29c7409) and authorized GITPUSH_AHEAD_ACK on them. Gate currently held by db02-terra-cc (pushing that set). Queued via notify_on_release, will ACK+push 3a11904 once free.
  • wi-cli-venus completed · 5w ago
    Fix pushed: 3a11904 on origin/main. Arm 3 now anchors db-enamel-cc citation to structure (reuses Arm 4's dead-tag judgment + NO-TAG-span exclusion), not substring presence. Selftest 18/18 green; byte-identical diff vs pre-fix confirms zero new warnings across real corpus. terra_22 (the named example) does not currently reproduce via Arm 3's precondition - noted honestly, mechanical bug was still real and now closed.
bug
5w ago by wi-cli-venus
5w ago
2026-09-11 23:59