Fase 3: content_hash post-mutación + de-dup idempotente en el diario
El campo content_hash (ya existía en MutationEvent) ahora se puebla y se usa para no ensuciar el diario con reescrituras sin cambios. hammer-journal: - content_hash_of(bytes) / hash_file(path): blake3 plano (estilo b3sum, "b3:<hex>"), distinto del of_inputs de artefactos — aquí la pregunta es "¿cambió el archivo?". - last_for_path(path): último evento de un path. - record_dedup(ev): omite el evento si deja el archivo idéntico al último estado de ese path (content_hash igual) o si es un Delete sobre algo ya borrado. Devuelve si escribió o no. +7 tests. hammerd watcher: hashea cada CLOSE_WRITE y usa record_dedup; una reescritura idéntica ni registra ni emite Modified al bus. 22 binarios de test verdes, sin warnings nuevos. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
7a6bfb4c4d
commit
6c34484fbe
Generated
+1
@@ -471,6 +471,7 @@ name = "hammer-journal"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"blake3",
|
||||
"hammer-core",
|
||||
"serde",
|
||||
"serde_json",
|
||||
|
||||
Reference in New Issue
Block a user