gioser

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1534Shell 199Rust 109Markdown 993713 Sutichaykuna

⎇ 98edf488bbffd2dae507a6317a78bb61d5a9c07a scripts/pin-recipes.sh Shell · 22 siq'ikuna · 1.0 KB Ñawpa willay ch'uya

takana: las variables de entorno leen las dos formas, gana la nueva 1c3e18516 · Sergio ·

1#!/bin/sh
2# pin-recipes.sh <recipe.toml...> — Etapa G Fase 2 (sello inmutable): ancla en LOTE el `commit`
3# de cada receta git, resolviendo tags flotantes → SHA vía `git ls-remote` (ADR 0006). Los tarball
4# (ya anclados por sha256) y las que ya tienen SHA se saltean. El laboratorio se vuelve determinista
5# al estilo Nix: cada origen queda fijado a un punto inmutable de la historia.
6#
7# Ej:  scripts/pin-recipes.sh recipes/*.toml      |     find recipes -name '*.toml' | xargs scripts/pin-recipes.sh
8set -eu
9HAMMER="${TAKANA:-${HAMMER:-cargo run -q -p takana-cli --}}"
10[ "$#" -gt 0 ] || { echo "uso: pin-recipes.sh <recipe.toml...>" >&2; exit 1; }
11
12pinned=0; skipped=0; failed=""
13for r in "$@"; do
14  if $HAMMER pin "$r" 2>&1 | grep -q '→'; then
15    pinned=$((pinned + 1))
16  elif $HAMMER pin "$r" >/dev/null 2>&1; then
17    skipped=$((skipped + 1))   # ya anclado / tarball
18  else
19    failed="$failed $(basename "$r")"
20  fi
21done
22echo "pin: $pinned anclados, $skipped salteados (ya-SHA/tarball).${failed:+ FALLARON:$failed}"