Compare commits
8
Commits
demo-rojo-r20
...
r22-doc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
db8a621cda | ||
|
|
509db558bd | ||
|
|
42c62491fb | ||
|
|
30d76fa565 | ||
|
|
3b8e1296e2 | ||
|
|
8c5f085e3f | ||
|
|
661ca844d0 | ||
|
|
cc22feea23 |
@@ -8,8 +8,13 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
lint-test:
|
lint-test:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
# r20: pipefail a nivel job — un - run: set -o pipefail en paso aparte NO
|
||||||
|
# persiste (cada paso es un shell nuevo) y el test roto de la demo #43
|
||||||
|
# siguio dando verde hasta ser auto-mergeado a main.
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: bash --noprofile --norc -eo pipefail {0}
|
||||||
steps:
|
steps:
|
||||||
- run: set -o pipefail # r19: sin esto, | tail se come los exit codes y un test roto da verde
|
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 1
|
fetch-depth: 1
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
def test_rojo_demo():
|
|
||||||
assert False, "rompe a proposito — verifica pipefail del CI (r20)"
|
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
# Ronda 20 — Perf bitcoinhotels, reporte diario, SEO (OpenCode/GLM, operador patternn)
|
||||||
|
|
||||||
|
## 1. Rendimiento (PR #5 bitcoinhotels, gate como prueba)
|
||||||
|
- Diagnostico: 1.35 MB de terceros en la ventana de carga (gtag 530K + AdSense 666K + Blink 159K) → TBT 1128 ms, score 0.74-0.85.
|
||||||
|
- Cambios: gtag+AdSense diferidos al primer gesto o 15 s (DeferredThirdParty); Blink por IntersectionObserver de su sección; SatlantisEvents/SupportSection en chunks aparte (next/dynamic).
|
||||||
|
- Local: 0.98 / 0.92 / 0.97. CI varianza (0.79 en una pasada) → gate con MEDIANA de 3 pasadas ≥0.90.
|
||||||
|
- Fonts ya iban bien (next/font + swap). Fuentes de verdad: auditoría completa en el reporte.
|
||||||
|
|
||||||
|
## 2. Post-merges
|
||||||
|
- #41 (pipefail) → demo #43... INCIDENTE: el set -o pipefail estaba en un PASO aparte (cada run: es un shell nuevo, no persiste) → el test roto siguio VERDE y el auto-merge lo fusiono a main. Fix real: defaults.run.shell bash -eo pipefail a nivel job (PR #44) + retiro del test de main; demo v2 (#45): CI ROJO ✓ bloqueado por checks.
|
||||||
|
- bitcoinhotels #3+#4 mergeados → checks ACTIVADOS (ci / build-e2e-lighthouse) y #3 ya cerrado por tu merge; autodeploy desplego main solo (48aa40d). Bug propio corregido: el exit 0 del no-op de entity mataba el script antes de la sección bitcoinhotels.
|
||||||
|
- entity #2 y #23 SIGUEN open → checks de entity y voz v3 pendientes de tu merge.
|
||||||
|
|
||||||
|
## 3. Reporte diario por DM (nuevo, activo)
|
||||||
|
- /usr/local/bin/cayce-daily-report + timer 23:50 UTC: publicado por canal con enlaces, rechazos del guard agrupados, PRs mergeados 24h + deploys del autodeploy, Umami (SQL directo a la DB local de /opt/umami — ambos sitios) y Gemini del dia.
|
||||||
|
- llm.mjs registra uso por llamada (.llm-usage.jsonl; entity PR #3 + aplicado). Costo estimado con rates configurables (GEMINI_USD_PER_MTOK_IN/OUT).
|
||||||
|
- 2 DMs de prueba enviados al supervisor durante la validacion (12:57 y 12:58 UTC).
|
||||||
|
|
||||||
|
## 4. SEO
|
||||||
|
- robots.txt + sitemap.xml ya 200 en ambos sitios.
|
||||||
|
- Verificacion GSC/Bing por ARCHIVO en public/ (servido en runtime, sin rebuild, .gitignore para no ensuciar el checkout): bitcoinhotels PR #6 (Gitea), hardcap PR #5 (GitHub, via gh).
|
||||||
|
- Pasos operator: GSC → descargar googleXXX.html → scp a /srv/bitcoinhotels/public/ (y /srv/hardcap-news/frontend/public/); Bing → BingSiteAuth.xml igual.
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
# Ronda 21 — Política de DMs, gtag/AdSense fuera, fixes (OpenCode/GLM, operador patternn)
|
||||||
|
|
||||||
|
## 0. DMs: solo urgencia
|
||||||
|
- Emisores ANTES: cycle-monitor (ciclos), autodeploy (exito+rollback), daily-report, relay-watcher (fuga+monitor), gemini-spend (estimador sin timer).
|
||||||
|
- AHORA: cycle-monitor SIN DM (logger, lo toma el reporte diario); autodeploy DM SOLO en 3 ROLLBACKs; relay-watcher con dedup 6h (fuga, monitor-stalled); NUEVO cayce-urgent-watch (5 min): kill switch MANUAL (respeta la ventana firmada del autodeploy <10 min), criticos caidos >15 min (nostr, hardcap back/front, bitcoinhotels, postgres, caddy; estado persistente .critical-down.json), backup fallido, gasto Gemini REAL >1 USD/dia (tokens de .llm-usage.jsonl). Dedup compartido 6h (.dm-dedup.json). gemini-spend eliminado.
|
||||||
|
- daemon /dm auditado (log [dm]) — verificacion real de envios.
|
||||||
|
- PRUEBA NEGATIVA: deploy exitoso (remote falso, PUBLISH_OFF firmado): 0 DMs. Falso positivo inicial (17:30, carrera con la ventana del deploy) corregido con la firma. El ROLLBACK legitimo (tests 22/5 por caps reales) SI DM.
|
||||||
|
- Reporte diario: nueva seccion "Persistencias" (caidos al momento del reporte).
|
||||||
|
|
||||||
|
## Fixes encadenados
|
||||||
|
- editorials CAIDAS desde r17 (exigian ZAI_API_KEY): chequeo fuera + rama. Arreglado y corriendo.
|
||||||
|
- guard tests contaminados por el tope REAL (dia 3/3 rompia 5 tests): aislamiento con GUARD_CAPS_JSON + restauracion en R5. 27/27.
|
||||||
|
- autodeploy: systemctl restart como ubuntu fallaba EN SILENCIO (sitio sin reiniciar desde 07:39): 4 llamadas ahora con sudo -n; build nuevo ya sirve.
|
||||||
|
- un reset --hard accidental barrio parches calientes: recuperados via rama r20-llm-usage (checkout sobre esa rama).
|
||||||
|
|
||||||
|
## 1. bitcoinhotels sin gtag/AdSense
|
||||||
|
- PR #7: gtag FUERA (Umami reemplaza), script AdSense FUERA; quedan ads.txt + meta google-adsense-account. CI VERDE (gate mediana) → auto-mergeado → desplegado → produccion con 0 referencias gtag/adsbygoogle, umami 1, meta 1, ads.txt OK, live 200.
|
||||||
|
|
||||||
|
## 2. Post-merges
|
||||||
|
- #44: demo #47 (test roto) → CI ROJO, bloqueado por checks, cerrada. El pipefail real funciona.
|
||||||
|
- #23 y entity #2 siguen OPEN (voz v3 y checks de entity pendientes de tu merge).
|
||||||
|
|
||||||
|
## 3. SEO
|
||||||
|
- Verificacion por DNS elegida: bh#6 cerrado (con comentario); hardcap GH#5 ya estaba MERGEADO por el operador (gitignore+doc inofensivos quedan).
|
||||||
|
|
||||||
|
## Extra
|
||||||
|
- Token cayce ampliado a write:issue (r21-full); viejo r17 revocado.
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
# Ronda 22 — Identidad de deploy, ciclos por pieza (OpenCode/GLM, operador patternn)
|
||||||
|
|
||||||
|
## 1. Verificación REAL del deploy
|
||||||
|
- PR #8 (bitcoinhotels, auto-mergeado con gate verde): BUILD_ID = commit (generateBuildId) servido en <meta name="build-id">.
|
||||||
|
- Autodeploy ahora exige IDENTIDAD tras cada deploy: build-id servido == commit desplegado; mismatch → rollback + DM urgente. Solo se exige cuando el deploy tiene la función (git grep NEXT_PUBLIC_BUILD_ID).
|
||||||
|
- Producción: [autodeploy] identidad OK: servido=a0977082 desplegado=a0977082; meta en vivo = a0977082. El camino de mismatch comparte el rollback ya probado en r21.
|
||||||
|
|
||||||
|
## 2. Ciclos mudos
|
||||||
|
- Reporte diario: nueva sección "Ciclos: piezas producidas (24h)" por ciclo (posts/editoriales/notas hardcap/curación/promo/iniciativa) con datos reales.
|
||||||
|
- cayce-urgent-watch sección 5: por ciclo, piezas y corridas en 48h. Mudo = ni corrió ni produjo (correr con "sin señal"/rechazos NO es urgente → solo reporte). Excepción promo: campaña incompleta → 0 publicaciones en 48h ES urgente. DM con dedup 6h.
|
||||||
|
- PRUEBA REAL: entrada "prueba-mudo" (0 piezas por construcción) → pasada 1: DM enviado; pasada 2: DM dedup. Retirada tras la prueba.
|
||||||
|
- INCIDENTE propio: un doble backslash en el patch rompía los queries (Q recibía "\") → 5 DMs espurios a las 18:1x UTC; corregido en el minuto, dedup cubrió las repeticiones, claves purgadas para el re-test limpio.
|
||||||
|
|
||||||
|
## 3. Pendientes de merge del operador
|
||||||
|
- #23 (voz v3), entity #2 y #3 siguen OPEN al cierre de la ronda: hash v3, checks de entity y 3 piezas v3 quedan para tras-merge.
|
||||||
Reference in New Issue
Block a user