v0.258.0: the last four Hungarian things an English household met
gates / gates (push) Successful in 24s
gates / gates (push) Successful in 24s
R-589 the update badge, R-590 the data-folder backup sentence, R-573 the two channel banners, R-572 two dead helpers. All four were built in Go, which is why neither the template parity fixtures nor TestI18nEnglishPages could see them; slice 5's LIVE proof is what found them. R-590 is the one that matters most: it is a promise about the customer's files. It said, in Hungarian and under an already-English folder label, that a drop-zone is temporary and unbacked. The test now asserts the CONSEQUENCE in both languages — and that the two languages do not produce the same string, which would mean the English fell back. R-572 is not what its row said. The row claimed a template renders "vasárnap" on an English page; measured, NO template and no Go file called pruneLabel or nextPruneLabel. They were dead func-map entries returning Hungarian, so they are deleted rather than translated — translating dead code would add machinery with no reader and a test pinning a fiction. Deletion is fail-loud and that was proven: a template naming the removed function panics loadTemplates at startup. Five red-proofs. One of them says something about the gate rather than the code: the Go-parity gate does not measure localeFuncs keys against the base capture, so the citation to TestLocaleFuncsHungarianBundleMatchesFuncMap is what carries them — the test was extended to make that citation true. MinAgent: 0.131.0 (unchanged). Hungarian byte-identical. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
@@ -102,9 +102,15 @@ func (am *AlertManager) SetHubPushStatus(fn func() HubPushStatusData) {
|
||||
}
|
||||
|
||||
// SetAgentChannelAlert sets (down=true) or clears (down=false) the controller→agent channel-down
|
||||
// dashboard banner. Called by the channel-health checker each probe (idempotent). msg is the short
|
||||
// Hungarian display line.
|
||||
func (am *AlertManager) SetAgentChannelAlert(down bool, msg string) {
|
||||
// dashboard banner. Called by the channel-health checker each probe (idempotent).
|
||||
//
|
||||
// R-573 (v0.258.0): it takes the checker's CLASSIFIED REASON as a bundle key, not just the composed
|
||||
// sentence, so the banner follows the household's language like every other alert. `msg` stays as
|
||||
// the FAIL-OPEN fallback: `Alert.render` uses it verbatim when MessageKey is empty, so a reason
|
||||
// nobody mapped still shows the checker's Hungarian sentence rather than a blank banner or a raw
|
||||
// key. These two are the most operationally important banners there are — the 2026-07-25 outage
|
||||
// (R-77) was 17.5 hours long and this banner was the only signal.
|
||||
func (am *AlertManager) SetAgentChannelAlert(down bool, msgKey, msg string) {
|
||||
am.mu.Lock()
|
||||
defer am.mu.Unlock()
|
||||
if !down {
|
||||
@@ -114,7 +120,8 @@ func (am *AlertManager) SetAgentChannelAlert(down bool, msg string) {
|
||||
am.agentChannelAlert = &Alert{
|
||||
ID: "agent-channel-down",
|
||||
Level: "error",
|
||||
Message: msg, // composed by the channel-health checker -- R-573
|
||||
Message: msg, // fail-open fallback when msgKey is empty -- R-573
|
||||
MessageKey: msgKey,
|
||||
Link: "/settings",
|
||||
LinkTextKey: "alert.link.settings",
|
||||
}
|
||||
@@ -126,7 +133,7 @@ func (am *AlertManager) SetAgentChannelAlert(down bool, msg string) {
|
||||
// generic "agent unreachable" banner was the ONLY signal, and it looked like a dead agent. The two
|
||||
// can also be true at once — a drifted endpoint usually CAUSES the channel to be down — so folding
|
||||
// them together would hide the actionable one behind the symptom.
|
||||
func (am *AlertManager) SetEndpointDriftAlert(drift bool, msg string) {
|
||||
func (am *AlertManager) SetEndpointDriftAlert(drift bool, msgKey, msg string) {
|
||||
am.mu.Lock()
|
||||
defer am.mu.Unlock()
|
||||
if !drift {
|
||||
@@ -136,7 +143,8 @@ func (am *AlertManager) SetEndpointDriftAlert(drift bool, msg string) {
|
||||
am.endpointDriftAlert = &Alert{
|
||||
ID: "local-api-endpoint-drift",
|
||||
Level: "error",
|
||||
Message: msg, // composed by the endpoint-drift checker -- R-573
|
||||
Message: msg, // fail-open fallback when msgKey is empty -- R-573
|
||||
MessageKey: msgKey,
|
||||
Link: "/settings",
|
||||
LinkTextKey: "alert.link.settings",
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user