Commit Graph
83 Commits
Author SHA1 Message Date
sergio ecf05e1b9d base-system-3: promover cadena crypto + libusb/usbutils + gnupg (índice 743)
6 recetas → canónicas + índice firmado: libusb, npth, libassuan, libksba (libs), usbutils (lsusb),
gnupg (gpg 2.4.9). Cierra las 2 mini-chains que quedaban bloqueadas. + zlib re-packeado limpio en el
repo (hash b3:2623a403 sin ubsan). Sólo foot queda staged (Wayland). Frente (b) COMPLETO.
2026-07-11 00:36:55 -04:00
sergio 8d37d4576f base-system-2: promover 7 tier-2 a canónicas + repo firmado
shadow (useradd/passwd), kbd (loadkeys/setfont), procps-ng (ps/top/free), pciutils (lspci),
lsof, strace, mandoc (man) → recipes/ canónicas + índice firmado. usbutils (falta libusb) y
gnupg (falta libassuan/libksba/npth) quedan staged/bloqueados; foot diferido (Wayland).
Segunda tanda del userland foundational: usuarios + teclado + proceso + hardware + docs + debug.
2026-07-10 23:51:48 -04:00
sergioandClaude Opus 4.8 494d3fd615 granja: cargar cola base-system — 18 esenciales del userland foundational
Los huecos reales para una distro completa (el sistema ya está: bootstrap/
self-host/kernel/init/EFI/paquetería). Cola aislada en incoming-clib:
git rsync bash ca-certificates sudo doas util-linux sed tzdata e2fsprogs
dosfstools parted iproute2 iputils dhcpcd vim dbus foot. Import 18/18
(17 alpine + 1 nix), deps ya-canónicas podadas. Patches musl viajan.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-10 21:53:47 -04:00
sergioandClaude Opus 4.8 4aaefa53e4 granja: mise 2026.7.0 al catálogo firmado (713) — cierra el bug vendor-clobber
El fix cargo_vendor_dir (b580c5b) destrabó mise: selló (ELF estático funcional,
mise 2026.7.0) y se promovió. Sale del diferido; queda en recipes/mise.toml con
[source] cargo_vendor_dir=.hammer-cargo-vendor. README del diferido actualizado.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-10 12:18:32 -04:00
sergioandClaude Opus 4.8 b580c5bfc5 fetch: cargo_vendor_dir per-receta — no pisar el vendor/ propio del proyecto
`cargo vendor vendor` borra lo que no reconoce del dir destino; proyectos que
commitean su PROPIO vendor/ (mise → vendor/aqua-registry, 3.1MB que build.rs lee)
lo perdían → build.rs falla 'No such file'. Nuevo campo opcional [source]
cargo_vendor_dir (default 'vendor', sin cambios para las ~200 recetas selladas)
manda el vendoreo cargo a otro dir; el .cargo/config.toml que emite cargo vendor
ya apunta ahí. mise.toml usa '.hammer-cargo-vendor'. Validado en vivo: aqua-registry
sobrevive + compila 591 crates pasando los muros previos (openssl vía rustls + AR).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-10 03:18:16 -04:00
sergio cee652717e granja: diagnóstico mise — bug de fetch (cargo vendor clobbea vendor/aqua-registry), no openssl
mise compila las 828 crates con rustls (openssl resuelto); el muro real es que
`cargo vendor vendor` de hammer borra el vendor/aqua-registry que mise commitea
(3.1MB que build.rs:357 lee). Documentado en el README del diferido. Fix pendiente:
override per-receta del destino de vendoreo cargo.
2026-07-09 23:50:41 -04:00
sergioandClaude Opus 4.8 5e8ff2348f granja: feroxbuster al catálogo firmado (712) — fix wrapper AR para Rust+sys-crate C
El default zig-cc exporta AR="zig ar" (con espacio); el crate `cc` lo ejecuta
como binario único y falla. Wrapper `.hammer-zig-ar` per-receta destraba el
sys-crate C. feroxbuster construye+sella; mise pasa openssl vía feature rustls
pero su bin final falla (giant aws-sdk/rattler, a diagnosticar). mdcat (openssl
transitivo) y jless (clipboard X11) diferidos a tandas/deferred-openssl-xcb/.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 22:42:32 -04:00
sergioandClaude Opus 4.8 a917149116 Etapa G (go): re-alimento incoming-go — 13 recetas frescas al VPS idle (hugo/delve/glow/opa/scaleway-cli/kubeseal/dolt/dbmate/migrate/sops/gotools/dnsx/jsonnet-bundler)
El worker VPS estaba idle (load 0.01): las 3 colas eran 100% cache-hit (tanda go-2026-07-05b
sellada, incoming/ del otro agente, incoming-clib 21/21). Cosecho 13 attrs Go nuevos verificados
por nix eval (los alias de las listas de refeed daban 'ninguna fuente' por no ser attrs reales).
Import 13/13 nix + pin tag→SHA + rsync dirigido a la cola aislada incoming-go/.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 07:54:09 -04:00
sergioandClaude Fable 5 6e602707fd Etapa G (go): puredns diferido (go.mod 1.16 vs unsafe.Slice, clase gotop) — tanda 2026-07-05b queda 9/10 sellada
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 06:21:34 -04:00
sergioandClaude Fable 5 6c655642b6 Etapa G (go): re-cola kluctl (go build -o: main en ./cmd sellaba binario 'cmd') + tanda 2026-07-05b a mano (fortio/nancy/chartmuseum/sake/timetrace/anew/puredns/pint/goldilocks, tags por ls-remote) + werf diferido (gpgme como skopeo)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 05:57:09 -04:00
sergio b615adeaae Etapa G: cosecha-go finde (auto) — promovidos: bom crossplane-cli fabric-ai kn kubectl-neat oh-my-posh prometheus-blackbox-exporter prometheus-node-exporter timoni | review: kluctl(bin=cmd) 2026-07-05 05:55:34 -04:00
sergioandClaude Fable 5 f922450c62 Etapa G (go): bom flags=./cmd/bom (raíz = magefiles con build-tags que excluyen todo) + aws-vault/minikube diferidos (CGO: onepassword-sdk / libvirt)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 05:39:57 -04:00
sergioandClaude Fable 5 e4ef80b76e Etapa G (go): cosecha 20 + syft/traefik promovidos a mano (pack fallaba: patches no viajaban a recipes/ — fix en harvest-go) + pre-check por name interno del TOML (exporters) + re-cola crossplane-cli/fabric-ai/oh-my-posh con fixes (alias crossplane, ./cmd/fabric, -o oh-my-posh) + logs por-cola en build-farm
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 05:31:58 -04:00
sergio ec8bb17fd8 Etapa G: cosecha-go finde (auto) — promovidos: apko atlas crane flyctl go-migrate gomi grype jsonnet-bundler krew kubescape melange rekor-cli revive scorecard seaweedfs staticcheck step-ca tea trivy xq | review: crossplane-cli(bin=crossplane) fabric-ai(bin=code2context) oh-my-posh(bin=src) syft(pack) traefik(pack) 2026-07-05 05:27:49 -04:00
sergioandClaude Fable 5 5c4c2cd153 Etapa G (go): grype/traefik a vía Go auto (les faltaba deps.build=go, fases abuild llamaban go a ciegas) + dolt diferido (cgo→ICU externa, necesita receta icu4c)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 00:51:58 -04:00
sergioandClaude Fable 5 46a2d777d3 Etapa G (go): re-alimenta la granja — tanda 2026-07-05 (15 recetas: flyctl/kubescape/seaweedfs/melange/step-ca/scorecard/krew/…, 11 a mano por fetchgit-NAR + 4 import nix), aliases de gate (weed/migrate/jb/fabric/crank) y descarte flux=misimport DirectFB
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 00:47:09 -04:00
sergioandClaude Fable 5 3171dd59f9 Etapa G (go): triage cola envenenada del VPS — purga 25 (misimports/CGO/embed) + 10 fixes (subdir dolt-atlas-omp, crane ./cmd/crane, trivy GOEXPERIMENT=jsonv2, xq/tea/staticcheck/syft/apko a vía Go auto)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 00:35:40 -04:00
sergio 83e41a2174 Etapa G: cosecha-go finde (auto) — promovidos: kubie skaffold | review: terrascan(smoke) 2026-07-04 08:05:32 -04:00
sergio 460a4bb7e3 Etapa G: cosecha-go finde (auto) — promovidos: gocron lego | review: flux(bin=fluxcomp) kics(bin=builder) 2026-07-04 07:35:16 -04:00
sergioandClaude Opus 4.8 d94544b34d Etapa G (go): re-alimenta la granja — tanda go-refeed (51 recetas) a incoming-go
Prioridad: el worker VPS nunca idle. Import de 108 candidatos Go nuevos (listas
fuel-go menos el corpus); 2 olas → 51 recetas importadas (yield ~47%), pusheadas
a la cola incoming-go del VPS. El worker las está moliendo (load ~17). Incluye
proyectos Go grandes (dolt/etcd/dagger/crane/gitlab-runner/forgejo) que vendorean
cientos de deps ⇒ builds largos. Crudas de nixpkgs (tag sin pin, algún misimport
Python que falla inocuo); la cosecha promueve sólo las que sellan + pasan smoke.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 07:33:19 -04:00
sergioandClaude Opus 4.8 0b04c90d5b Etapa G (go): re-encola temporal-cli con el main correcto + alias de cosecha
El repo temporalio/cli tiene 3 mains bajo cmd/ (gen-commands, gen-docs,
temporal); detect_go_main elegía gen-commands ⇒ binario equivocado, quedó
en needs-review. Fix: flags=["./cmd/temporal"] apunta al CLI real (verificado
vía API de GitHub en el commit fijado). El binario se llama `temporal`, así
que agrego el alias temporal-cli→temporal al gate de harvest-go.sh (mismo
patrón que opentofu→tofu). Vuelve a recipes/incoming-go para que el worker
lo selle y la cosecha lo promueva.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 06:53:25 -04:00
sergioandClaude Opus 4.8 556a9cc7c3 Etapa G (clib): rescata patches huérfanos de json-c y libuv
Sus recetas canónicas referenciaban cmake-version.patch / fix-test-musl.patch pero los
ficheros habían quedado en tandas/staged-2026-06-26/ (patch-huérfano de una promoción
vieja) ⇒ pack fallaba. Movidos junto a su receta; ambos publican+firman ahora.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 14:27:16 -04:00
sergioandClaude Opus 4.8 c1a7370e6d Etapa G (GUI): gdk-pixbuf ✓ — esquiva shared-mime-info/glycin (gio_sniffing=false + builtin_loaders=png); último eslabón de deps GTK4
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 09:46:08 -04:00
sergio 61e1b7fe5c Etapa G: libepoxy recuperado — dep mesa (provee headers EGL/GL); mesa SÍ está en el repo 2026-06-30 07:54:45 -04:00
sergio 60c813cf06 Etapa G: zstd ✓ (Makefile no-asm); difiere gdk-pixbuf/libepoxy/gettext (bloqueados: shared-mime-info/mesa-EGL/gettext-roto) 2026-06-30 05:02:40 -04:00
sergio de3ab6e427 Etapa G: cosecha-go finde (auto) — promovidos: gh-ost git-chglog gopass hostctl lefthook svu | review: temporal-cli(bin=gen-commands) 2026-06-29 22:52:37 -04:00
sergio 199ce9b9dd Etapa G: harvest lock STALE-AWARE (PID; roba si el dueño murió) — un lock huérfano bloqueó el cron 16h
+ dolt: corregido, necesita ICU4C (go-icu-regex), no oniguruma. oniguruma queda en el corpus (útil p/ otros regex).
2026-06-29 22:52:24 -04:00
sergio 15690d72c6 Etapa G: dolt full (subdir=go + cgo=true + oniguruma) — destrabado el regex cgo-externa 2026-06-29 15:58:07 -04:00
sergio dfaca62f03 Etapa G: csvtk PROMOVIDO (v0.33.0; nota 'subdir' era vieja, go.mod en raíz) + dolt subdir=go validado (queda por cgo+oniguruma externa) 2026-06-29 15:14:10 -04:00
sergio d47be16a8b Etapa G: frontera CGO — knob 'cgo=true' (CC=zig cc + static) destraba sqlite bundled-C
vendor_go_deps/BuildSys::Go por defecto compila CGO_ENABLED=0 (Go puro estático). Nuevo campo
[build] cgo=true ⇒ CGO_ENABLED=1 CC="zig cc" (musl nativo del sandbox) + -linkmode=external
-extldflags=-static. Validado: usql + sq (driver sqlite3 mattn, bundled-C) → estáticos y CORREN
(usql 0.0.0-dev, sq v0.0.0-dev). Tests go_cgo_knob_switches_compile_env. cgo contra libs C EXTERNAS
(gpgme/libvirt en werf/minikube/skopeo) aún requiere esas recetas; esto cubre la clase bundled-C.
2026-06-29 11:04:27 -04:00
sergio b9a3e55dd7 Etapa G: promueve envconsul/levant/pgweb/steampipe (reseed lunes); glooctl diferido (monorepo gloo) 2026-06-29 10:34:26 -04:00
sergio efd670a666 Etapa G: git-town PROMOVIDO (go.work, Git Town 23.0.3) + kustomize flags=./kustomize + gate alias go-mockery→mockery 2026-06-29 10:13:16 -04:00
sergio c2ebf15b6b Etapa G: frontera go.work — go-mockery(mockery)+k3d CONSTRUYEN con 'go work vendor'
Validados estáticos (k3d v5-dev, mockery corre). Primeros frutos del soporte go.work multimódulo.
2026-06-29 10:07:27 -04:00
sergio 237f9796e7 Etapa G: gate alias soft-serve→soft (charmbracelet) + re-encola soft-serve (falso-rechazo) 2026-06-29 09:12:45 -04:00
sergio bcf70dcd32 Etapa G: cosecha-go finde (auto) — promovidos: charm gdu gobgp gotty k6 kube-linter melt mods nerdctl pop scc skate velero wishlist yj | review: soft-serve(bin=soft) 2026-06-29 09:10:41 -04:00
sergio a853fe6be8 Etapa G: lunes — revisión finde + reseed.
Review resuelto: richgo PROMOVIDO (falso-rechazo: envuelve 'go', el gate lo probó sin go en PATH);
tfsec flags=./cmd/tfsec (era tfsec-docs); diferidos kics (cmd/console≠name), terrascan (panic proto
dup gnostic), sq (CGO sqlite), gotop (go.mod lang 1.16<1.17). Reseed: +16 Go (charm suite pop/
wishlist/soft-serve/skate/melt/mods/charm + scc/kube-linter/velero/gobgp/yj/k6/gotty/gdu/nerdctl).
Misimports dropeados: freeze=optiv/Freeze (ofensiva, no charmbracelet), rekor (tarball alpine).
2026-06-29 09:02:01 -04:00
sergio d63c20e0ee Etapa G: cosecha-go finde (auto) — promovidos: argo-rollouts curlie dnscrypt-proxy dockle duplicacy go-junit-report gowitness ktunnel kubefwd kubeshark shuffledns step-cli tflint tparse vendir | review: richgo(smoke) terrascan(smoke) tfsec(bin=tfsec-docs) 2026-06-27 08:05:32 -04:00
sergio 254c5a9cc7 Etapa G: ronda 2 pre-siembra finde (+18 Go) + alias gate argo-rollouts/step-cli
terrascan/tfsec/tflint/tparse/richgo/curlie/dockle/vendir/kubefwd/kubeshark/ktunnel/duplicacy/
go-junit-report/argo-rollouts/gowitness/shuffledns/dnscrypt-proxy/step-cli. Dropeados ssh-vault
(sin marca Go) y skopeo (CGO gpgme). Gate: argo-rollouts→kubectl-argo-rollouts, step-cli→step.
2026-06-27 07:04:38 -04:00
sergio 0f4f13b318 Etapa G: cosecha-go finde (auto) — promovidos: act bazelisk gitbatch git-lfs hub kube-capacity kubent osv-scanner qsreplace umoci unfurl | review: kics(bin=builder) 2026-06-27 06:59:01 -04:00
sergio 0e8d436812 Etapa G: pre-siembra cola finde (41 Go vetadas) en incoming-go/ para el worker 24/7
k8s (stern/kail/popeye/kube-score/kubeconform/kubent/polaris-no/kube-capacity/vals/helmsman),
recon projectdiscovery+tomnomnom (subfinder/naabu/katana/nuclei/gau/waybackurls/gobuster/ffuf/anew/
qsreplace/unfurl), dev (golangci-lint/gofumpt/gci/gotests/mockgen/golines/buf/bazelisk/act/gojq/sq),
security (gosec/nancy/osv-scanner/scorecard/kics/gitsign), git (git-lfs/hub/gitbatch/gotop/gh-dash),
OCI (umoci), inlets, dyff. Misimports dropeados: gf(C)/polaris(rust)/gitlab-runner+traefik(tarball).
2026-06-27 06:45:03 -04:00
sergio 4fb275e233 Etapa G: cosecha go-16 (11) — k8s-ecosystem/carvel/load-testing/TUI Go
cassowary/chart-testing/devspace/eksctl/helm-docs/kapp/kbld/kubectl-tree/kubeseal/peco/plow.
Queue aislado. Diferidos: k3d (go.work), minikube (CGO libvirt), werf (CGO gpgme), fluxcd (go:embed
manifests generados). kubetail dropeado (bash). sealed-secrets→kubeseal.
2026-06-27 06:18:07 -04:00
sergio e2f038e88d Etapa G: manda go-16 al VPS (k8s-ecosystem/carvel/load-testing/TUI Go) — queue AISLADO
15 Go: peco/cassowary/chart-testing/devspace/eksctl/helm-docs/k3d/kapp/kbld/kubectl-tree/plow/
kubeseal/fluxcd(flux)/werf/minikube. kubetail dropeado (script bash, no Go); sealed-secrets→kubeseal.
2026-06-27 06:05:15 -04:00
sergio 53bc5b3734 Etapa G: cosecha go-15 (12) — messaging/storage/web-services/infra Go
natscli(nats)/centrifugo/consul/nomad/vault/telegraf/harbor-cli/pocketbase/miniflux/filebrowser/
websocketd/minio-client(mc). Queue aislado. telegraf/vault sellaron tras los fixes (GOCACHE→/src +
watchdog robusto). Diferido wuzz (go.sum incompleto). mc=MidnightCommander/etcd misimports dropeados.
2026-06-27 03:42:26 -04:00
sergio 55b47709d4 Etapa G: manda go-15 al VPS (messaging/storage/web-services/infra Go) — queue AISLADO
13 Go: natscli/centrifugo/harbor-cli/consul/nomad/vault/telegraf/pocketbase/miniflux/filebrowser/
websocketd/wuzz/minio-client(bin mc). Misimports descartados: mc=Midnight Commander (C), etcd
(tarball multimódulo). chartmuseum/jb no en nixpkgs.
2026-06-27 02:46:44 -04:00
sergio c84804754e Etapa G: cosecha go-14 (12) — cloud-native/observability/sigstore/data Go
minio/cloudflared/node_exporter/blackbox_exporter/gops/datree/cmctl/tbls/trdsql/dsq/gobetween/
woodpecker-cli. Queue aislado incoming-go/. Diferidos kustomize (multimódulo make→red) y trivy
(encoding/json/v2 tras GOEXPERIMENT). krew/pint/rekor-cli/golang-migrate no en nixpkgs.
2026-06-27 02:30:53 -04:00
sergio c3a4323bdc Etapa G: manda go-14 al VPS (cloud-native/observability/sigstore/data Go) — queue AISLADO
14 Go: kustomize/cloudflared/gobetween/trdsql/dsq/trivy/woodpecker-cli/node_exporter/
blackbox_exporter/gops/tbls/minio/datree/cmctl. krew/pint/rekor-cli/golang-migrate no en nixpkgs.
2026-06-27 02:19:30 -04:00
sergio 03a9d92ea6 Etapa G: cosecha go-13 (14) — dev-tools/linters/OCI/git Go (delve/oras/regctl/glab/wire/...)
Queue aislado recipes/incoming-go/ (sin tocar incoming/ del otro agente). 14/16: 2 reintentados
tras el fix del watchdog (dnscontrol/lazysql). Diferidos go-mockery (go.work) y usql (CGO sqlite).
2026-06-27 01:11:03 -04:00
sergio 1ad71de885 Etapa G: manda go-13 al VPS (dev-tools/linters/OCI/git Go) — queue AISLADO incoming-go/
16 recetas Go (glab/usql/slides/lazysql/git-sizer/oras/regctl/govulncheck/dnscontrol/gocyclo/
yamlfmt/actionlint/protoc-gen-go/wire/delve/go-mockery) en recipes/incoming-go/, separado de
recipes/incoming/ que ahora comparte el otro agente (stack gráfico tawasuyu). glab/yamlfmt
reescritas de import Alpine→formato Go limpio. mockery/stringer/dlv/revive no importaron (dlv→delve,
mockery→go-mockery sí).
2026-06-27 00:59:33 -04:00
sergio 5126a8b679 Etapa G: devuelve el stack gráfico Mesa a recipes/incoming/ (es de otro agente, tawasuyu)
Revierte el parqueo de 370e7b7: mesa/wayland/wayland-protocols/libdrm/seatd/samurai/meson +
patches son trabajo en curso de otro agente para el escritorio tawasuyu (commit 00339b6), no
cruft. samurai queda en su versión desarrollada (clon C de ninja, zig 0.13.0). syncthing sigue
diferido (es de go-12, build especial).
2026-06-27 00:33:22 -04:00
sergio 370e7b7a20 Etapa G: limpia cola go-12 — parquea batch gráfico C a hold-nongo + difiere syncthing
- mesa/wayland/wayland-protocols/libdrm/seatd/samurai/meson + patches: batch C de gráficos previo
  que jamás se mandó al worker, arrastrado en incoming/. Parqueado en tandas/hold-nongo/.
- syncthing: build especial (genera la GUI embebida 'auto.Assets' vía go generate/build.go) ⇒
  diferida a staged-fallidos con el motivo. Quedan 18 go-12 limpias en la cola.
2026-06-26 23:51:05 -04:00