Merge pull request 'Issue 162 resolved: an archive can be undeclared (mesh-host#90)' (#355) from issues/162-resolved into main
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
---
|
||||
status: located
|
||||
status: resolved
|
||||
opened: 2026-09-30
|
||||
located-in: [mesh-host internal/apply (no removal for an archive)]
|
||||
fixed-by:
|
||||
- mesh-host#90
|
||||
amended-design:
|
||||
---
|
||||
|
||||
@@ -54,3 +55,15 @@ argue for elsewhere: the mesh gives back what it found.
|
||||
A module with an archive is assigned, pushed, unassigned and pushed again; what the archive put on the
|
||||
machine is gone, anything that was in the directory beforehand is still there, and the apply that
|
||||
removed it applied everything else in the same declaration.
|
||||
|
||||
## Resolved
|
||||
|
||||
*2026-10-04.* Hit again live the same day: a race between two pushes delivered a declaration without
|
||||
a just-assigned module, and removing its tools bundle stopped a workstation's apply until the next push.
|
||||
mesh-host#90 records what an archive unpacked: its files, the directories it made, whether the host
|
||||
made the target and its parents. Undeclaring removes exactly those, never a file it did not place and
|
||||
never a directory that was there before, and a failed removal is reported, never fatal.
|
||||
|
||||
An archive recorded before the change learns its list from its own bytes on the next apply while it is
|
||||
still declared. One already orphaned is left in place, said and forgotten. Applying an archive no longer
|
||||
deletes files the mesh did not place in its target directory (ADR 0030).
|
||||
|
||||
Reference in New Issue
Block a user