v0.314.0: a restore puts the setup gate back as it was (R-1057); a test build moves with the floor (R-1053); Prowlarr links itself (R-1058); the box claims Plex by address (R-1060)
gates / gates (push) Successful in 47s

MinAgent 0.155.0 (unchanged). Tests red-proved by mutation (A: 10, B: 7, C: 1, C2: 2).

Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
2026-10-15 14:34:33 +02:00
parent e209a8d724
commit 17863fe8bc
22 changed files with 762 additions and 21 deletions
+11
View File
@@ -87,6 +87,17 @@ type RecoveryInfo struct {
// `installed_images`, as `ref@digest` (the plain ref when no digest was recorded). Stamped beside each
// data file the backup writes, so the data says which versions wrote it. Nil = unknown, never current.
InstalledImages map[string]string
// SetupGate (v0.314.0, R-1057) is the app's setup gate AT THIS BACKUP: „closed" (its first setup was not done) or
// „open" (and by whom). Nil for an app whose template has no gate. The restore applies it, so a backup made before
// the household's first setup never comes back open (`09` §3 decision 253).
SetupGate *GateState
}
// GateState is the setup gate as a backup records it (the unit's app.yaml `setup_gate:`). The same two keys as the
// live app.yaml's record, so a restore reads either file the same way (stacks.ReadGateAtBackup).
type GateState struct {
State string `yaml:"state"`
OpenedBy string `yaml:"opened_by,omitempty"`
}
// ParseComposeImages extracts the pinned image references (`image: repo:tag`) from a