1.8 KiB
1.8 KiB
Vía de publicación de bitcoinhotels (diseño mínimo)
Objetivo: las guías del sitio entran como PRs, y si pasan publish-guard + build, se mergean y despliegan solas (directiva 2026-11-01, punto 4). El código del sitio NO entra aquí: sigue siendo PR con merge humano.
Piezas
- Repo
cayce/bitcoinhotels-content(privado): SOLOcontent/guides/*.mdmanifest.json(orden, títulos). Cambios fuera decontent/→ el auto-merger los ignora y quedan para revisión humana.
- Auto-merger (
cayce-ops/cayceops/plugins/bitcoinhotels_prague.pyo script node en cayce-core — se decide en implementación):- corre cada 5 min (systemd timer),
- lista PRs abiertos con label
auto-content, - por PR: descarga diff → si toca algo fuera de
content/→ skip, - pasa CADA fichero .md nuevo/modificado por el mismo
guard.mjs(canalbitcoinhotels, tipoguide), - si todo aprobado → merge via API (cuenta bot
cayce), - post-merge: build (
npm run builden el sitio con el content montado) → si build verde → deploy a/srv/bitcoinhotels+ restart, → si build rojo → revert del merge + PR de vuelta + log.
- Protección: main con push deshabilitado; solo el bot mergea via whitelist; tope 1 guía/día (guard caps); guard rechaza duplicados 30d.
- Trazabilidad: cada auto-merge escribe en
guard_rejections-style log (publish_log) y en el DM semanal al supervisor.
Lo que NO hace la V1
- No publica sin PR (no hay escritura directa al sitio).
- No toca código/diseño del sitio (eso es PR humano).
- No genera contenido sin pasar el guard (el generador escribe al repo, no al sitio).
Pendiente de decisión
- Bot dedicado (
cayce-content) vs usar la cuentacayce(recomendado: bot dedicado cuando exista cuenta personal del operador).