takana etapa 4: los 10 crates de librería y el CLI pasan a takana-*

hammer-{core,build,bootstrap,overlay,journal,mirror,upgrade,agent,recover,cli}
→ takana-*, con sus deps de workspace, sus identificadores en el fuente y las
referencias -p de los scripts.

VERIFICADO que no mueve nada del corpus: `takana hash recipes/zlib.toml`
devuelve b3:dc363f26… , idéntico a antes del renombre. Los nombres de crate no
entran en hash_inputs, pero eso se comprueba, no se supone. 600 tests en verde.

DOS BINARIOS SE CONGELAN, y no por prolijidad:

- `hammerd` — paquete Y binario. Es componente de Stage 1 de la distro (musl,
  busybox, hammerd, arje-zero), lo supervisa arje-zero en el sistema arrancado,
  `PRESEED=hammerd` lo nombra en selfhost-verify y sus bytes anclan el baseline
  of_tree. El nombre del crate va en los símbolos ⇒ renombrarlo mueve los bytes.

- `hammer-recover` — el PAQUETE se renombra a takana-recover, el BINARIO no.
  hammer-live-install.sh lo copia a /usr/sbin/hammer-recover en sistemas ya
  instalados y hornea un hook de arranque que lo invoca por ese nombre:
  renombrarlo rompe máquinas instaladas, no el repo.

Consecuencia que hay que anotar igual: al renombrar hammer-core, los bytes de
hammerd cambian de todos modos porque linkea contra un crate con otro nombre.
El baseline of_tree del selfhost hay que rehacerlo — es efecto de la etapa 4,
no de un cambio de hammerd.

Las referencias en comentarios de recetas y docs (rutas hammer-core/src/…)
quedan para la etapa 5: son texto, no mueven hash.
This commit is contained in:
Sergio
2026-09-09 18:46:41 +00:00
parent d47cafa05d
commit 24bcf1783c
105 changed files with 943 additions and 940 deletions
Generated
+162 -162
View File
@@ -483,179 +483,21 @@ dependencies = [
"wasip3",
]
[[package]]
name = "hammer-agent"
version = "0.0.1"
dependencies = [
"anyhow",
"base64",
"hammer-core",
"hammer-journal",
"hammer-overlay",
"serde",
"serde_json",
"serde_yaml",
"tempfile",
"thiserror",
"tracing",
"ureq",
]
[[package]]
name = "hammer-bootstrap"
version = "0.0.1"
dependencies = [
"anyhow",
"hammer-build",
"hammer-core",
"hex",
"serde",
"serde_json",
"sha2",
"tempfile",
"thiserror",
"tracing",
]
[[package]]
name = "hammer-build"
version = "0.0.1"
dependencies = [
"anyhow",
"hammer-core",
"hex",
"libc",
"serde_json",
"sha2",
"tempfile",
"thiserror",
"tracing",
"tracing-subscriber",
]
[[package]]
name = "hammer-cli"
version = "0.0.1"
dependencies = [
"anyhow",
"base64",
"clap",
"hammer-agent",
"hammer-bootstrap",
"hammer-build",
"hammer-core",
"hammer-journal",
"hammer-mirror",
"hammer-overlay",
"hammer-upgrade",
"hex",
"nix",
"serde",
"serde_json",
"sha2",
"tempfile",
"toml",
"tracing",
"tracing-subscriber",
]
[[package]]
name = "hammer-core"
version = "0.0.1"
dependencies = [
"anyhow",
"base64",
"blake3",
"ed25519-dalek",
"getrandom 0.2.17",
"serde",
"serde_json",
"serde_yaml",
"tempfile",
"thiserror",
"toml",
]
[[package]]
name = "hammer-journal"
version = "0.0.1"
dependencies = [
"anyhow",
"blake3",
"hammer-core",
"serde",
"serde_json",
"tempfile",
"thiserror",
"tracing",
]
[[package]]
name = "hammer-mirror"
version = "0.0.1"
dependencies = [
"anyhow",
"hammer-core",
"serde",
"serde_json",
"tempfile",
"thiserror",
"tracing",
]
[[package]]
name = "hammer-overlay"
version = "0.0.1"
dependencies = [
"anyhow",
"hammer-core",
"hammer-journal",
"libc",
"serde",
"serde_json",
"tempfile",
"thiserror",
"tracing",
"tracing-subscriber",
]
[[package]]
name = "hammer-recover"
version = "0.0.1"
dependencies = [
"hammer-journal",
"hammer-upgrade",
]
[[package]]
name = "hammer-upgrade"
version = "0.0.1"
dependencies = [
"anyhow",
"hammer-core",
"hammer-journal",
"serde",
"serde_json",
"tempfile",
"thiserror",
"tracing",
]
[[package]]
name = "hammerd"
version = "0.0.1"
dependencies = [
"anyhow",
"clap",
"hammer-build",
"hammer-core",
"hammer-journal",
"hammer-overlay",
"libc",
"nix",
"postcard",
"serde",
"serde_json",
"takana-build",
"takana-core",
"takana-journal",
"takana-overlay",
"tempfile",
"thiserror",
"tracing",
@@ -1381,6 +1223,164 @@ dependencies = [
"syn",
]
[[package]]
name = "takana-agent"
version = "0.0.1"
dependencies = [
"anyhow",
"base64",
"serde",
"serde_json",
"serde_yaml",
"takana-core",
"takana-journal",
"takana-overlay",
"tempfile",
"thiserror",
"tracing",
"ureq",
]
[[package]]
name = "takana-bootstrap"
version = "0.0.1"
dependencies = [
"anyhow",
"hex",
"serde",
"serde_json",
"sha2",
"takana-build",
"takana-core",
"tempfile",
"thiserror",
"tracing",
]
[[package]]
name = "takana-build"
version = "0.0.1"
dependencies = [
"anyhow",
"hex",
"libc",
"serde_json",
"sha2",
"takana-core",
"tempfile",
"thiserror",
"tracing",
"tracing-subscriber",
]
[[package]]
name = "takana-cli"
version = "0.0.1"
dependencies = [
"anyhow",
"base64",
"clap",
"hex",
"nix",
"serde",
"serde_json",
"sha2",
"takana-agent",
"takana-bootstrap",
"takana-build",
"takana-core",
"takana-journal",
"takana-mirror",
"takana-overlay",
"takana-upgrade",
"tempfile",
"toml",
"tracing",
"tracing-subscriber",
]
[[package]]
name = "takana-core"
version = "0.0.1"
dependencies = [
"anyhow",
"base64",
"blake3",
"ed25519-dalek",
"getrandom 0.2.17",
"serde",
"serde_json",
"serde_yaml",
"tempfile",
"thiserror",
"toml",
]
[[package]]
name = "takana-journal"
version = "0.0.1"
dependencies = [
"anyhow",
"blake3",
"serde",
"serde_json",
"takana-core",
"tempfile",
"thiserror",
"tracing",
]
[[package]]
name = "takana-mirror"
version = "0.0.1"
dependencies = [
"anyhow",
"serde",
"serde_json",
"takana-core",
"tempfile",
"thiserror",
"tracing",
]
[[package]]
name = "takana-overlay"
version = "0.0.1"
dependencies = [
"anyhow",
"libc",
"serde",
"serde_json",
"takana-core",
"takana-journal",
"tempfile",
"thiserror",
"tracing",
"tracing-subscriber",
]
[[package]]
name = "takana-recover"
version = "0.0.1"
dependencies = [
"takana-journal",
"takana-upgrade",
]
[[package]]
name = "takana-upgrade"
version = "0.0.1"
dependencies = [
"anyhow",
"serde",
"serde_json",
"takana-core",
"takana-journal",
"tempfile",
"thiserror",
"tracing",
]
[[package]]
name = "tempfile"
version = "3.27.0"