fix(granja): el guardián de la siembra no vigila generados
`docs/state/targets.toml` estaba en el alcance y no debía: lo regenera el mismo ciclo, así que un ciclo que no llegara a publicar dejaría al siguiente avisando de una deriva que no es deriva. Un aviso que sale siempre se deja de leer, y es el mismo bloqueo circular que `publicar-estado.sh` ya documentó con `cierres.json`. El alcance queda en lo escrito a mano: `recipes`, `crates`, `scripts`, `Cargo.toml`, `Cargo.lock`. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Delta semántico
Ninguna definición cambió: el cambio es de texto, documentación o datos.
1 archivos · +5 −1
diff --git a/scripts/farm/cosecha-cron.sh b/scripts/farm/cosecha-cron.sh
index c1605d39..32b2ea51 100755
--- a/scripts/farm/cosecha-cron.sh
+++ b/scripts/farm/cosecha-cron.sh
@@ -108,7 +108,11 @@ echo "── $(ts) cosecha-cron arranca"
# —y acá hay recetas sin commitear a propósito, de otro agente— sale en `git diff` como borrado y
# daría un falso positivo eterno, que es como se mata a un guardián.
deriva_de_la_siembra() {
- local rutas="recipes crates scripts Cargo.toml Cargo.lock docs/state/targets.toml"
+ # El alcance son las rutas ESCRITAS A MANO. `docs/state/` queda deliberadamente afuera aunque se
+ # siembre: lo regenera este mismo ciclo, así que un ciclo que no llegue a publicar dejaría al
+ # siguiente avisando de una deriva que no es deriva — y un aviso que sale siempre se deja de leer.
+ # Es el mismo bloqueo circular que `publicar-estado.sh` ya documentó con `cierres.json`.
+ local rutas="recipes crates scripts Cargo.toml Cargo.lock"
git fetch -q origin "+main:refs/siembra-chequeo" 2>/dev/null \
|| { echo " ⚠ no pude traer origin/main — no sé si lo que siembro es un commit"; return 0; }
local base=refs/siembra-chequeo