v0.256.1: the push log says whether a household sentence was attached (R-558)
gates / gates (push) Successful in 25s

Found while trying to PROVE v0.256.0 on a live box: there was nothing to look
at. The box logs the Hungarian message only, the hub logs the Hungarian message
only, and the payload is inside TLS - so "did the box attach a second
sentence?" was unanswerable from either end. That is the fork in the diagnosis
when an English household reports a Hungarian mail.

  [INFO] Event pushed: app_deployed (info) [+household(en)] — Alkalmazás ...
  [INFO] Event pushed: app_deployed (info) [hu-only] — Alkalmazás ...

The sentence itself is not logged: it is the same sentence twice and one copy
is already on the line. Pinned in both languages.

A feature whose only failure mode is "the wrong language arrived" needs an
observable that says which branch was taken. Without one, every diagnosis is a
guess.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
2026-09-18 17:06:20 +02:00
parent bef39598d0
commit e81ad613ae
3 changed files with 75 additions and 1 deletions
+11 -1
View File
@@ -326,7 +326,17 @@ func (n *Notifier) pushEventBoth(eventType, severity, message, messageCustomer s
if n.debug {
n.logger.Printf("[DEBUG] PushEvent: %s pushed OK (HTTP %d)", eventType, resp.StatusCode)
}
n.logger.Printf("[INFO] Event pushed: %s (%s) — %s", eventType, severity, message)
// The household half is named, not printed. An operator asking "why did my English
// customer get a Hungarian mail?" needs to know whether the BOX attached a second
// sentence at all — that is the fork in the diagnosis, and without it the answer is
// invisible on both sides of the wire (the hub logs only the Hungarian, and the
// payload is inside TLS). The sentence itself is not logged: it is the same sentence
// twice, and one copy is already on the line.
household := "hu-only"
if messageCustomer != "" {
household = "+household(" + n.boxLang() + ")"
}
n.logger.Printf("[INFO] Event pushed: %s (%s) [%s] — %s", eventType, severity, household, message)
n.recordHistory(eventType, severity, message, resp.StatusCode, "")
return
}