R-263 writer invariant pinned by an AST test; R-368 IsDefault comment exact (no binary change; burn-down)
gates / gates (push) Successful in 32s

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
2026-10-05 17:05:24 +02:00
parent e563733282
commit 114ff2761a
4 changed files with 96 additions and 35 deletions
+4 -3
View File
@@ -569,7 +569,7 @@ const NetworkMountRoot = "/mnt/felhom-drives"
type StoragePath struct {
Path string `json:"path"` // e.g., "/mnt/hdd_1" (drive) or "/mnt/felhom-drives/<name>" (network)
Label string `json:"label,omitempty"` // e.g., "Külső HDD 1TB"
IsDefault bool `json:"is_default,omitempty"` // new apps use this by default
IsDefault bool `json:"is_default,omitempty"` // the deploy FORM pre-selects it (templates/deploy.html); the deploy API applies no default (R-368)
Schedulable bool `json:"schedulable"` // whether new apps can be deployed here
AddedAt string `json:"added_at"` // RFC3339
Disconnected bool `json:"disconnected,omitempty"` // true when drive detected as disconnected
@@ -1652,8 +1652,9 @@ func (s *Settings) SetSchedulable(path string, schedulable bool) error {
}
// SetBackupTarget assigns the whole-guest backup-target role to exactly one storage path, clearing it
// from every other. This is the ONLY writer of StoragePath.BackupTarget — registration must never set
// it (E-2 §3: a drive never acquires a role by appearing).
// from every other. This is the ONLY writer that GRANTS StoragePath.BackupTarget (ClearBackupTarget also writes
// the field, only ever false) — registration must never set it (E-2 §3: a drive never acquires a role by
// appearing). Pinned by TestR263_OnlySetBackupTargetGrantsTheRole (a scan of every non-test file).
//
// Refusals, both structural rather than advisory:
// - a NETWORK share can never be the target. vzdump writes a multi-GB archive through the host, and