- hammer-core::swm: verify_schema (invariantes por mutación) + verify_base con BaseRef/BaseCompat/PinDiff (distro_version + pins). FileDrop.content_b64 para .swm autocontenidos. - hammer-core::apply: primitivas puras apply_config_edit (hunks -/+ con búsqueda exacta de bloque, ambiguo => error), apply_file_drop (base64 + verify BLAKE3), rebase_path para tests con prefix. - hammer-build::swm_bridge: Mutation::SourcePatch -> Recipe sintética + patch inline materializado + build, con comparación opcional contra expected_hash. - hammer-cli: nuevos subcomandos apply [--prefix --base-ref --skip-source-patch --state-root], swm-verify, export --journal --base-ref --since. - Tests: 18 unit nuevos en hammer-core (apply + verify), 5 en swm_bridge, 4 e2e en hammer-cli (roundtrip yaml -> apply bajo prefix reproduce los archivos). - Roadmap y SDD 06 actualizados con lo cerrado y lo pendiente (URLs remotos, provenance en export vía mapa artefacto->receta, firma ed25519).
29 lines
666 B
TOML
29 lines
666 B
TOML
[package]
|
|
name = "hammer-cli"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
authors.workspace = true
|
|
repository.workspace = true
|
|
description = "El binario `hammer`: orquesta build, hydrate, try/commit, apply/export y ctl."
|
|
|
|
[[bin]]
|
|
name = "hammer"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
hammer-core.workspace = true
|
|
hammer-build.workspace = true
|
|
hammer-overlay.workspace = true
|
|
hammer-journal.workspace = true
|
|
serde_json.workspace = true
|
|
base64.workspace = true
|
|
anyhow.workspace = true
|
|
clap.workspace = true
|
|
tracing.workspace = true
|
|
tracing-subscriber.workspace = true
|
|
|
|
[dev-dependencies]
|
|
tempfile.workspace = true
|
|
base64.workspace = true
|