R-585: the last customer-facing producers follow the household's language
backup_integrity_ok / backup_integrity_failed now take facts and push bundle keys (Hungarian bytes unchanged - go-parity, pinned verbatim by TestR585_IntegrityHungarianIsUnchanged). The interrupted-operation alert (backup_failed, customer-enabled by default) used to send the operator's ENGLISH sentence to every household; NotifyInterruptedOperation composes it per language, the English byte-identical to the operator's log line. The now-callerless NotifyBackupFailed is removed. local_api_endpoint_drift is operator-only (no customer toggle) and already English by design - not changed. 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:
@@ -62,6 +62,23 @@ func (r AppStopReason) humanReason() string {
|
||||
}
|
||||
}
|
||||
|
||||
// MessageKey is the bundle key that names this reason in the household's language (R-585), or "" for a
|
||||
// reason this build has no sentence for — the caller then shows the raw reason, as humanReason does.
|
||||
// Pinned against humanReason by TestR585_InterruptedOperationFollowsTheHousehold (internal/notify): the
|
||||
// English bundle text must equal what the operator's log line says.
|
||||
func (r AppStopReason) MessageKey() string {
|
||||
switch r {
|
||||
case ReasonVolumeDump:
|
||||
return "appstop.reason.volume_dump"
|
||||
case ReasonOffboxReconstitute:
|
||||
return "appstop.reason.offbox_reconstitute"
|
||||
case ReasonAppExport:
|
||||
return "appstop.reason.app_export"
|
||||
default:
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
// AppStopMarker is the persisted "these apps were stopped by an operation that has not reported
|
||||
// finishing — they are owed a restart" note.
|
||||
type AppStopMarker struct {
|
||||
|
||||
Reference in New Issue
Block a user