R-899: a daytime press never cancels the night's whole-guest backup (operator ruling 2026-10-08, option A); press sends trigger=manual
gates / gates (push) Successful in 1m3s
gates / gates (push) Successful in 1m3s
Unreleased; ships with tomorrow's release. 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:
@@ -47,6 +47,8 @@ type tierBackend struct {
|
||||
// statusRestarts[target] samples the restart count at EACH status poll of that tier, so a test can
|
||||
// say "the apps were already started when the Nth poll answered" (R-518, decision 156).
|
||||
statusRestarts map[string][]int
|
||||
// manualStarts records, per start, whether the context carried the R-899 press mark.
|
||||
manualStarts []bool
|
||||
}
|
||||
|
||||
func newTierBackend() *tierBackend {
|
||||
@@ -70,13 +72,14 @@ func (b *tierBackend) DueFor(_ context.Context, target string) (bool, *int64, st
|
||||
defer b.mu.Unlock()
|
||||
return b.dueSet[target], nil, "", nil
|
||||
}
|
||||
func (b *tierBackend) StartBackupFor(_ context.Context, target string) (string, error) {
|
||||
func (b *tierBackend) StartBackupFor(ctx context.Context, target string) (string, error) {
|
||||
b.mu.Lock()
|
||||
defer b.mu.Unlock()
|
||||
if b.startErrOn == target {
|
||||
return "", fmt.Errorf("simulated start failure on %s", target)
|
||||
}
|
||||
b.started = append(b.started, target)
|
||||
b.manualStarts = append(b.manualStarts, IsManualTrigger(ctx))
|
||||
if b.stacks != nil {
|
||||
b.startsAtStart = append(b.startsAtStart, len(b.stacks.startedNames()))
|
||||
b.stopsAtStart = append(b.stopsAtStart, len(b.stacks.stoppedNames()))
|
||||
|
||||
Reference in New Issue
Block a user