# Ronda 24 — PRs trancados + FASE A adsense (OpenCode/GLM, operador patternn) ## 0. PRs trancados (causa raíz + resolución) - CAUSA: los PRs #23/#25 se abrieron ANTES de que existiera el workflow con evento pull_request → el contexto obligatorio "ci / lint-test (pull_request)" nunca corria → merge bloqueado para todos. Le reporté "mergeable esperando merge" mirando solo conflictos, sin el estado del CI. Corregido el criterio: "esperando tu merge" SOLO con CI en verde. - #23 y #25: rebase sobre main + push → CI corrio y quedo VERDE. Listos para merge. - #45 cerrada (demo, evidencia capturada en r20 — el cierre anterior no persistió). #1 y #2: 0 commits propios sobre main (contenido absorbido hace semanas) → cerrados como cubiertos con comentario. - entity #3: ahora lleva workflow de CI en la propia rama → pull_request en verde. ORDEN para entity: merge #2 → merge #3 → activo checks obligatorios. - btcpay-events #1 (WIP SPEC): sin checks ni protección; mergeable manual. ## FASE A — bitcoinhotels (EN PRODUCCIÓN, PR #9 auto-mergeado) - Sitemap dinámico 29 URLs (antes 4). Contact (contact@ + npub + Cayce Co LOL LLC). How we work. Privacy con AdSense/cookies explícitos + correcciones + operador. Fichas: sección BTC Map (ODbL, snapshot datado, verificación por venue) y noindex para <300 palabras propias (canonical). Deploy verificado con identidad (b9627ee). ## FASE A — hardcap (PR GitHub #6, esperando merge del operador) - Sitemap dinámico + news-sitemap paginado (762 notas; antes 1 URL). Notas <150 palabras: noindex + canonical al hub (visibles). Contact/Privacy(AdSense)/Terms/How we work. Script AdSense retirado (meta+ads.txt quedan). BUILD_ID=commit. GitHub Actions con gate Lighthouse ≥90 (nota: en CI mide el shell sin API). Autodeploy extendido con sección hardcap (build+restart+identidad+rollback). ## Extras - Reporte diario: línea de checklist por sitio (sitemap/urls, confianza n/4, how-we-work, ads.txt, privacy-AdSense) — bh 5/5 verificables verde, hc pendiente del deploy. - Email de contacto: ver informe (Cloudflare Email Routing; pasos para el operador). - npub publicado en ambos sitios: npub1t8hnkh0jdwfvkuucdhyx4a3ffjje5zns7eyw6z5jendst8759p2sm6u5sg ## FASE B - NO arranca: #23 sigue sin merge (ahora VERDE y mergeable). Tras merge: verificar hash c0f0ec05, activar checks de entity (tras #2+#3) y comenzar cadencia.