Fase 4 — formato .swm: verify, apply (config_edit/file_drop/source_patch) y export
- 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).
This commit is contained in:
Generated
+9
@@ -79,6 +79,12 @@ version = "0.7.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"
|
||||
|
||||
[[package]]
|
||||
name = "base64"
|
||||
version = "0.22.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
version = "2.13.0"
|
||||
@@ -296,12 +302,14 @@ name = "hammer-cli"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"base64",
|
||||
"clap",
|
||||
"hammer-build",
|
||||
"hammer-core",
|
||||
"hammer-journal",
|
||||
"hammer-overlay",
|
||||
"serde_json",
|
||||
"tempfile",
|
||||
"tracing",
|
||||
"tracing-subscriber",
|
||||
]
|
||||
@@ -311,6 +319,7 @@ name = "hammer-core"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"base64",
|
||||
"blake3",
|
||||
"serde",
|
||||
"serde_json",
|
||||
|
||||
Reference in New Issue
Block a user