design: sender check on Server > Health, Health re-laid, a refusal's reason in the log

Accepted by the owner on 2026-10-12 from screenshots, one change at a time.

- health: a card "Sender check" (today / 30 days / 12 months: panel not
  answering, messages deferred) and a row for its socket.
- health: the boxes are numbered by importance and laid out as `cards` -
  two stacks, odd numbers on the left and even on the right, each closed
  up. His words on the row layout: too many holes; and on stacked columns
  numbered down each side: the third box was below the fold while the
  fourth was not. On a phone the boxes come in the order of their numbers.
- theme.css, components: the `cards` layout; the first pair of stacks of
  the components page is laid out so.
- out-log: a row refused for its From: line, tagged "wrong From".
- help: topic "Sender check"; "rejected" in the Outbound log topic names
  the three reasons.

outlines.json rewritten (check.py --write): the structure of health changed,
and help has one more topic under Outbound. check.py: 0 violations.

The pages of internal/web follow in their own commit; until then the
outline guard fails.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
mix
2026-10-12 18:46:11 +03:00
co-authored by Claude Opus 5.5
parent 972516d1c4
commit cbff3e7e33
10 changed files with 125 additions and 132 deletions
+7 -34
View File
@@ -79,44 +79,17 @@
"columns": [
{
"is-6": [
"box[Processes]:table",
"box[Sender check]:table+body",
"box[Hostname and reverse DNS]:body",
"box[Machine]:table"
]
},
{
"is-6": [
"box[Processes]:table"
]
}
]
},
{
"columns": [
{
"is-4": [
"box[TLS certificate]:body"
]
},
{
"is-4": [
"box[Milter sockets]:table"
]
},
{
"is-4": [
"box[Hostname and reverse DNS]:body"
]
}
]
},
{
"columns": [
{
"is-6": [
"box[Notification mail]:table+body"
]
},
{
"is-6": [
"box[Milter sockets]:table",
"box[TLS certificate]:body",
"box[Notification mail]:table+body",
"box[Configuration]:body"
]
}
@@ -135,7 +108,7 @@
{
"is-9": [
"box[Overview]:help×3",
"box[Outbound]:help×6",
"box[Outbound]:help×7",
"box[Inbound]:help×6",
"box[Server]:help×4",
"box[Account]:help"