test(build): prove stale artifact refresh

Drive AppBuilder through a changed template and prove generated Rust and symbols replace stale handles. Tighten the internal write helper to return only the result its callers use and classify the filesystem-equivalent read-guard mutant.

req: build/009

req: test/021
This commit is contained in:
slhx agent
2026-07-17 03:20:53 +02:00
parent 8a21cad98e
commit db5e4bf56c
3 changed files with 47 additions and 5 deletions
+4
View File
@@ -10,6 +10,9 @@
# are behaviorally equivalent at these validated boundaries.
# - hemx-build source inspection delegates to hemplate's currently infallible
# Surface parser; file I/O and invalid Rust-context errors remain explicitly proven.
# - write_if_changed propagates non-NotFound read errors; for ordinary filesystem
# paths, attempting the same write returns the same OS error, so the guard mutant
# is externally equivalent while create/update/no-op behavior is mutation-proven.
exclude_re = [
"test_process_try_wait",
"test_process_poll_delay",
@@ -25,4 +28,5 @@ exclude_re = [
"replace surface_for_heml_source.* with surface_for_heml_source.*unwrap\\(\\) in diagnostics_for_heml_source",
"replace surface_for_heml_source.* with surface_for_heml_source.*unwrap\\(\\) in generated_targets_for_heml_source",
"replace surface_for_heml_source.* with surface_for_heml_source.*unwrap\\(\\) in template_context_facts_for_heml_source",
"replace match guard error.kind\\(\\) == io::ErrorKind::NotFound with true in write_if_changed",
]