From 41e14174b6fc541848f5f9db8bbd507f104a1b99 Mon Sep 17 00:00:00 2001 From: patternn Date: Mon, 2 Nov 2026 07:47:26 +0000 Subject: [PATCH] r19 doc: auto-merge demo completo, bitcoinhotels en el sistema, sfeed --- .../2026-11-02-r19-automerge-bh-sistema.md | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 docs/sessions/2026-11-02-r19-automerge-bh-sistema.md diff --git a/docs/sessions/2026-11-02-r19-automerge-bh-sistema.md b/docs/sessions/2026-11-02-r19-automerge-bh-sistema.md new file mode 100644 index 0000000..0033a2c --- /dev/null +++ b/docs/sessions/2026-11-02-r19-automerge-bh-sistema.md @@ -0,0 +1,36 @@ +# Ronda 19 — Auto-merge, bitcoinhotels en el sistema, sfeed (OpenCode/GLM, operador patternn) + +## 1. Auto-merge +- required_status_checks ACTIVO en cayce-ops main (contexto "ci / lint-test (pull_request)"). entity y bitcoinhotels: pendiente de que sus workflows lleguen a main (PRs #2 y #4) — activar checks antes dejaría los PRs bloqueados sin CI que correr. +- Bug del CI hallado por la demo: | tail sin pipefail hacia que un test roto diera VERDE (PR #41 lo corrige — toca workflows, merge del operador). +- Bug historico del auto-merge hallado y corregido: regenerar token "auto-merge" con nombre usado da ERROR → BOT vacio → el script llevaba rondas sin hacer nada. Ahora el token persiste en /etc/cayce/ci-bot.token (600). INCIDENTE: un token de ci-bot se imprimio en mi salida por un heredoc sin citar → fue revocado al instante y reemplazado. +- Otro fix: usar /status (combinado) en vez de /statuses (los pending historicos bloqueaban PRs verdes). +- ci-bot tenia MustChangePassword → su API daba 403: unset. +- DEMA COMPLETA: #35 trivial verde → AUTO-MERGEADO (merge: 200); #40 rojo → merge rechazado "405 Not all required status checks successful"; #39 verde+SPEC.md → "TOCA PATH PROTEGIDO — no se auto-mergea". #38 (doc r18 recuperada) tambien auto-mergeado. +- Timer cayce-auto-merge (cada 5 min) ACTIVO. Ciclo completo verificado: merge → autodeploy tiro "[autodeploy] cayce-ops → de73dd2" solo. + +## 2. bitcoinhotels en el sistema +- PR #4 (bh-repo-completo): TODO para construir (package+lock sincronizado, configs, public/) + CI: npm ci + build + Playwright (375/768/1280, smoke home+guia sin marcas) + Lighthouse movil >=0.90. +- Infra del runner arreglada: playwright install --with-deps necesita sudo → deps de sistema instaladas como root (persistentes), browser en cache del runner; dos versiones de @playwright/test → binarios locales del repo; lighthouse requiere CHROME_PATH + --no-sandbox; firewall del runner (uid 1002) bloqueaba loopback → regla OUTPUT -o lo ACCEPT (persistida en /etc/cayce/iptables.v4, antes inexistente pese a la unit enabled). +- RESULTADO REAL: Playwright VERDE; Lighthouse performance(movil) = 0.85 → el umbral >=0.90 fallara hasta optimizar el sitio (detalles en /tmp/lh.json del runner). El workflow ya mide bien. +- /srv/bitcoinhotels = checkout de bh-repo-completo (unit cayce-bitcoinhotels.service, PORT=3002); rollback pre-r19 en forensics (r19-bitcoinhotels-pre-*.tar.gz). Autodeploy extendido: pull main → build → restart → verifica 200+umami+0 marcas → rollback si falla. check-clean-trees lo cubre. +- BitBox02 (PR #3) incluido en la rama; nada en caliente a partir de ahora. + +## 3. sfeed (solo lectura) +- billing status: "○ No subscription" (el scheduling hospedado la requiere; el posting directo NO). Sin cobro. +- Destinos activos: facebook "Bitcoin Travelers" (1013900045145494) e instagram @nodalntt (17841476274179708), con credencial activa. +- Actividad desde 2026-10-19 04:50 (owner 8396006670…); config.json (telemetry/anonymousId) modificado 2026-10-31 18:50; tokens.json se refresca solo al postear. +- Al rotar el api_token en el panel: actualizar /home/ubuntu/.sfeed/tokens.json (clave .api_token) — fichero 600. + +## 4. Voz v3 +- PR #23 sigue open → NO VERIFICADO. Despliegue sigue en ff2cd822 (v2). Al mergear, el autodeploy actualiza ~/cayce-ops y los ciclos publican con v3. + +## 5. posts_log +- Completado a mano el post_url del FB (id 20). Los siguientes ya lo guardan solos: instagram|seed-strategy|ok|https://www.instagram.com/p/DfOtHrGER3P/ (spawnSync stderr fix verificado en produccion). + +## 6. Primer post IG +- PUBLICADO: d1-ig-seed → https://www.instagram.com/p/DfOtHrGER3P/ (voz v3, sin hashtags). + +## Extras +- Merge del operador (#34) detectado; mi doc r18 estaba perdido en el main local (push no-op de r18) → recuperado como PR #38 y auto-mergeado. Regen: nunca commitear en el main local de cayce-ops (es checkout de deploy). +- Recheck kind5 06:44→07:13 ejecutado: target 99cc75f4 visible en 0/5 relays (borrado consolidado), kind5 1/5. -- 2.53.0