refactor: convertir este repositorio en instancia de clusterlog
CI / validate-and-build (push) Failing after 7s
CI / runme (push) Failing after 5s

Retira el código del motor (cmd/, internal/, go.mod, templates/,
examples/, scripts de desarrollo Go) — vive ahora en
https://github.com/fenandosr/clusterlog (release v0.1.0). Este
repositorio conserva únicamente content/, data/, config/ y zola.toml:
los datos reales de esta instancia (MCPS).

Se agrega .clusterlog-version (fija v0.1.0) y scripts/fetch-engine.sh,
que descarga el binario y las plantillas del motor por versión fijada
verificando su checksum contra el release. Makefile y
.gitea/workflows/ci.yml se adaptan para descargar en vez de compilar.
RUNBOOK.md y runbooks/ se recortan a las celdas que sí operan sobre
datos reales de esta instancia (sync-check, validate-local, site-build,
review-mine, verify-head); el ciclo de desarrollo del motor mismo
(build/test/vet) vive en su propio repositorio.

Se preserva toda la historia existente: éste es un commit nuevo, no una
reescritura. Ver docs/adr/0005-motor-instancia.md en el repositorio del
motor para el contexto completo de la separación.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-27 00:40:26 -06:00
co-authored by Claude Sonnet 5
parent 5240cfd8c2
commit eac5e22ed1
81 changed files with 186 additions and 8411 deletions
+17 -7
View File
@@ -22,9 +22,10 @@ arriesgar el front matter TOML ni el resaltado de sintaxis que sí usa
## Convención de nombres
`kebab-case`, prefijo de proyecto, único en **todo** el repositorio (no sólo
dentro de un archivo): `clusterlog-build`, `clusterlog-validate-local`,
`clusterlog-review-mine`. `clusterlog validate` (ver
`internal/clusterlog/runbooks.go`) falla si dos celdas repiten un nombre.
dentro de un archivo): `clusterlog-sync-check`, `clusterlog-validate-local`,
`weekly-review-mine`. `clusterlog validate` (código en
[`internal/clusterlog/runbooks.go`](https://github.com/fenandosr/clusterlog/blob/main/internal/clusterlog/runbooks.go)
del motor) falla si dos celdas repiten un nombre.
## Taxonomía de etiquetas
@@ -44,7 +45,16 @@ cumplir esto — no es sólo una convención de estilo.
## Qué no va en una celda
Ver la sección "Runme no contiene lógica de negocio" del ADR
[`docs/adr/0004-runme-sidecar.md`](../docs/adr/0004-runme-sidecar.md). En
resumen: una celda invoca `make`, `./bin/clusterlog` o un script existente; no
reimplementa validación, autorización, rollback ni gestión de secretos.
Ver ADR-0004 y ADR-0005 en el
[repositorio del motor](https://github.com/fenandosr/clusterlog/tree/main/docs/adr).
En resumen: una celda invoca `make`, `./bin/clusterlog` o un script existente;
no reimplementa validación, autorización, rollback ni gestión de secretos.
## Esta es una instancia, no el motor
Esta carpeta y `RUNBOOK.md` en la raíz operan sobre **datos reales de este
deployment** (`content/`, `data/`, `config/`). El desarrollo del propio
`clusterlog` (compilar, probar, `bootstrap-instance`) vive en
[fenandosr/clusterlog](https://github.com/fenandosr/clusterlog); su
`.clusterlog-version` en la raíz de este repositorio fija qué versión del
motor usa esta instancia.
-89
View File
@@ -1,89 +0,0 @@
# Ciclo de desarrollo de clusterlog
Propósito: correr el mismo ciclo que `AGENTS.md` pide "antes de entregar",
como notebook en vez de copiar/pegar bloques sueltos. Todas las celdas de
este documento envuelven targets existentes de `Makefile`; ninguna reimplementa
lo que ya hace `go test`, `go vet` o `clusterlog`.
## Prerrequisitos
- Go 1.23+, Git con firmas SSH.
- Para las celdas con Zola: binario `zola` en `PATH` (opcional; las celdas de
`validate`/`sync` no lo requieren).
## Formato
```sh {"name":"clusterlog-gofmt-check","tag":"role-developer,env-local,risk-read-only,ci-safe","interactive":"false"}
test -z "$(gofmt -l cmd internal)"
```
## Pruebas y análisis estático
```sh {"name":"clusterlog-vet","tag":"role-developer,env-local,risk-read-only,ci-safe","interactive":"false"}
go vet ./...
```
```sh {"name":"clusterlog-test-race","tag":"role-developer,env-local,risk-read-only,ci-safe","interactive":"false"}
go test -race ./...
```
## Compilar y proyectar
```sh {"name":"clusterlog-dev-build","tag":"role-developer,env-local,risk-read-only,ci-safe","interactive":"false"}
make build
```
```sh {"name":"clusterlog-dev-sync","tag":"role-developer,env-local,risk-mutating,manual-only","interactive":"true","excludeFromRunAll":true}
# Escribe data/generated/site_state.json. Revise el diff antes de confirmar
# cualquier commit que incluya ese archivo regenerado.
make sync
git diff --stat -- data/generated/site_state.json
```
### Prerrequisitos de `clusterlog-dev-sync`
- Haber corrido `clusterlog-dev-build` en esta sesión (o tener `bin/clusterlog`
ya compilado).
### Validación posterior
```sh {"name":"clusterlog-dev-sync-check","tag":"role-developer,env-local,risk-read-only,ci-safe","interactive":"false"}
make sync-check
```
### Rollback
`data/generated/site_state.json` es 100% regenerable desde el contenido
fuente (`content/`, `data/admins.json`, `data/*-events/`). Si `make sync`
produjo un diff no deseado, descarte el archivo con
`git checkout -- data/generated/site_state.json` y no lo incluya en el commit.
## Validar
```sh {"name":"clusterlog-dev-validate-local","tag":"role-developer,env-local,risk-read-only,ci-safe","interactive":"false"}
make validate-local
```
## Flujo completo local (equivalente a CI, sin Zola)
```sh {"name":"clusterlog-dev-smoke","tag":"role-developer,env-local,risk-read-only,ci-safe","interactive":"false"}
make build
./bin/clusterlog --root . sync --check
./bin/clusterlog --root . validate --skip-zola
./scripts/smoke.sh
```
## Registro en Clusterlog
Ninguna celda de este runbook crea memorias, tareas ni commits. Si el
trabajo de la sesión amerita una memoria, hágalo con el flujo normal descrito
en `AGENTS.md` (`clusterlog memory create --from-json`, con `--dry-run` antes
de `--commit`) — fuera de Runme, con su propia llave.
## Limitaciones
- `clusterlog-dev-sync` está marcado `manual-only` a propósito: regenera un
archivo versionado y su diff debe revisarse antes de confirmarlo.
- Este runbook no incluye `make site`/`zola build`: ver
[`RUNBOOK.md`](../RUNBOOK.md#comprobaciones-rápidas) para por qué esa celda
vive ahí y no se duplica aquí.